DashBoard啓動默認使用WEBRcik服務器,WEBRcik服務器有助於快速運行DashBoard服務器,但性能無法進行擴展,當有大量的報告時,性能會急劇下降。這時可以使用Passenger服務器運行DashBoard。DashBoard 安裝在master.test.com。並且在客戶端配置文件做如下配置
#vim /etc/puppet/puppet.conf
[agent]
report = true
一、安裝依賴軟件包
#rpm -ivh http://yum.puppetlabs.com/el/6Server/products/x86_64/puppetlabs-release-6-6.noarch.rpm
#yum -y install mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri rubygems
#gem install rake
二、安裝DashBoard軟件包
#yum install -y puppet-dashboard
三、配置DashBoard
1創建數據庫
#vim /etc/my.cnf
max_allowed_packet = 32M
#service mysqld start
#chkconfig mysqld on
#mysql
mysql>create database dashboard CHARACTER SET utf8;
mysql>create user 'dashboard'@'localhost' IDENTIFIED BY 'dashboard';
mysql>grant all privileges on dashboard.* TO 'dashboard'@'localhost';
mysql>flush privileges;
2修改配置文件
#vim /usr/share/puppet-dashboard/config/database.yml
production:
database: dashboard
username: dashboard
password: dashboard
encoding: utf8
adapter: mysql
#vim /usr/share/puppet-dashboard/config/settings.yml
time_zone: 'Asia/Shanghai'
3導入數據庫
#cd /usr/share/puppet-dashboard/config
#rake RAILS_ENV=production db:migrate
四、配置httpd passenger
#yum install httpd mod_passenger
#vim /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module modules/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby
PassengerMaxPoolSize 6 #passenger啓動的線程數,通常爲cpu核心個數的1.5倍
PassengerPoolIdleTime 40000 #passenger接受的最大請求數
PassengerStatThrottleRate 120 #關閉空閒超過1800秒的passenger實例
RailsAutoDetect On
</IfModule>
<VirtualHost *:80>
ServerName master.test.com
DocumentRoot "/usr/share/puppet-dashboard/public/"
<Directory "/usr/share/puppet-dashboard/public/">
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/dashboard_error.log
LogLevel warn
CustomLog /var/log/httpd/dashboard_access.log combined
ServerSignature On
</VirtualHost>
#service httpd start
#chkconfig httpd on
五、導入現有報告
#cd /usr/share/puppet-dashboard
#rake RAILS_ENV=production reports:import
六、配置實時發送報告
#vim /etc/puppet/puppet.conf
reports = store,tagmail,log,puppet_dashboard,http
reporturl = http://172.16.30.220/reports
七、開啓報告
#rake RAILS_ENV=production jobs:work 2 &>1 &
八、訪問dashboard
http://172.16.30.220/reports