2013/3/19 10:28
系統環境:
Centos6.2_x86_64
puppet-3.0.2
一、安裝puppet-dashboard
yum install rubygem-rake ruby-mysql mysql-server puppet-dashboard
二、修改mysql配置
1. 修改單行最大容量
vim /etc/my.cnfmax_allowed_packet = 32M #[mysqld]內加入
2. 配置默認字符集爲utf8
defalut-character-set = utf8 #[mysqld]和[client]內加入
3. 創建mysql數據庫和用戶
create database dashboard;grant all on dashboard.* to puppet@'localhost' identified by 'centos';flush privileges;
三、配置puppet-dashboard
1. 修改database.yml
vim /usr/share/puppet-dashboard/config/database.yml
production:database: dashboardusername: puppetpassword: centosencoding: utf8adapter: mysql
2. 導入表結構,依次執行如下命令
cd /usr/share/puppet-dashboardrake gems:refresh_specsrake RAILS_ENV=production db:migrate
3. 測試puppet-dashboard能否工作
/usr/share/puppet-dashboard/script/server -e production
4. 啓動完成後訪問http://ip:3000測試
四、配置puppet服務端和客戶端
- 服務器端配置
vim /etc/puppet/puppet.conf #在[main]內添加
reports = http,storereporturl = http://IP:3000/reports/upload
修改完畢後重啓puppetmaster服務 - 在客戶端配置
vim /etc/puppet/puppet.conf #在[agent]內添加
report = true
修改完畢後重啓puppet服務
五、dashboard相關命令
- 導入已有的報告
cd /usr/share/puppet-dashboardrake RAILS_ENV=production reports:import
- 運行分析報告進程
- 後臺運行dashboard
/usr/share/puppet-dashboard/script/server -e production -d
env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m start #-n 指定啓動多少個進程,-m stop 停止分析進程,-m start 啓動分析進程
- 解決依賴關係
yum install httpd mod_passenger
- 配置apache
vim /etc/httpd/conf.d/passenger.confLoadModule passenger_module modules/mod_passenger.so<IfModule mod_passenger.c>PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17PassengerRuby /usr/bin/rubyPassengerHighPerformance onPassengerMaxPoolSize 12PassengerPoolIdleTime 1500PassengerStatThrottleRate 120RailsAutoDetect On</IfModule><VirtualHost *:8001>DocumentRoot "/usr/share/puppet-dashboard/public/"<Directory "/usr/share/puppet-dashboard/public/">Options NoneAllowOverride AuthConfigOrder allow,denyallow from all</Directory>ErrorLog /var/log/httpd/dashboard.error.logLogLevel warnCustomLog /var/log/httpd/dashboard.access.log combinedServerSignature On</VirtualHost>
七、整合puppetmaster到apache
- 解決依賴關係
yum install mod_ssl
- 創建apache配置
cp /usr/share/puppet/ext/rack/files/apache2.conf /etc/httpd/conf.d/rack.confmkdir -p /etc/puppet/rack/publiccp /usr/share/puppet/ext/rack/files/config.ru /etc/puppet/rack/
- 修改apache配置
vim /etc/httpd/conf.d/rack.conf# you probably want to tune these settings #註釋這些配置,因爲已經在passenger.conf中定義#PassengerHighPerformance on#PassengerMaxPoolSize 12#PassengerPoolIdleTime 1500# PassengerMaxRequests 1000#PassengerStatThrottleRate 120#RackAutoDetect Off#RailsAutoDetect OffListen 8140<VirtualHost *:8140>SSLEngine onSSLProtocol -ALL +SSLv3 +TLSv1SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXPSSLCertificateFile /var/lib/puppet/ssl/certs/puppet.server.cihi.cn.pem #修改這裏對應的路徑SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/puppet.server.cihi.cn.pemSSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pemSSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pemSSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pemSSLVerifyClient optionalSSLVerifyDepth 1. . .
- 驗證測試
八、puppet dashboard常用操作命令如下:
當puppet dashboard數據量過多的時候,需要優化數據庫,可使用命令:
rake RAILS_ENV=production db:raw:optimize
清量dashborad一個月之前的數據。可以使用
rake RAILS_ENV=production reports:prune upto=1 unit=mon
備份puppet dashborad數據庫,可以使用如下命令:
rake RAILS_ENV=production db:raw:dump
備份sql並輸出到文件:
rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump
恢復puppet dashboard數據庫,可以使用如下命令:
rake RAILS_ENV=production FILE=production.sql db:raw:restore