puppet-dashboard 安装(草稿)
接着上面的puppet安装一文,虽然puppet会很努力的工作,但还有个问题,我们想了解puppet节点的运行情况,也就是回馈,因为编写puppet语法规则难免出错。但是report目录下的yaml 文件又不具有可读性,客户端很多则邮件又会被淹没,于是这就有了dashboard。dashboard 跟cacti 有点类似,都使用mysql作为后端数据库。沿袭前面文章的环境centos 6 服务端 puppet .test.org客户端 apache01.test.org已经配置好了http + passenger 安装dashboard
yum install puppetlabs-release
yum install puppet-dashboard mysql-server ruby-mysql
配置mysql数据库# service mysqld start
# mysql -u root -p
mysql> CREATE DATABASE dashboard_production CHARACTER SET utf8;
>CREATE USER 'dashboard'@'localhost'>
>GRANT ALL PRIVILEGES ON dashboard_production.* TO 'dashboard'@'localhost';
> flush privileges;
编辑/usr/share/puppet-dashboard/config/database.yml,修改如下
production:
database: dashboard_production
username: dashboard
password: dashboard
encoding: utf8
adapter: mysql
导入数据# cd /usr/share/puppet-dashboard/
# rake gems:refresh_specs
# rake RAILS_ENV=production db:create
# rake RAILS_ENV=production db:migrate
启动puppet-dashboard
chmod 666 /usr/share/puppet-dashboard/log/production.log
servicepuppet-dashboard start
这样,puppet-dashboard 就会监听在本地3000端口,使用的是ruby自带的http服务器webrick,可以通过web浏览了。
apache作为前端
配置httpd虚拟主机
cp /usr/share/puppet-dashboard/ext/passenger/dashboard-vhost.conf /etc/httpd/conf.d/dashboard.conf 配置文件同样是给debian/ubuntu 用的,需要做一些修改
1、将日志选项路径 /var/log/apache2 改为/var/log/httpd2、取个puppet主机的子域名 dashboard.puppet.test.org3、模块路径由
[*] /var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
修改为
[*] /usr/lib64/httpd/modules/mod_passenger.so
4、passenger路径替换,将
[*] /var/lib/gems/1.8/gems/passenger-2.2.11
修改为
[*] /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
(版本号可能有差异,请事先查看是否存在类似的目录)(其实之前已经配置了passenger,所以这行导入模块可以注释掉) 修改后大概就是这个样子(前3行可以注释掉)
[*] # LoadModule passenger_module /usr/lib64/httpd/modules/mod_passenger.so
[*] # PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
[*] # PassengerRuby /usr/bin/ruby
[*] # you may want to tune these settings
[*] PassengerHighPerformance on
[*] PassengerMaxPoolSize 12
[*] PassengerPoolIdleTime 1500
[*] # PassengerMaxRequests 1000
[*] PassengerStatThrottleRate 120
[*] RailsAutoDetect On
[*] <VirtualHost *:80>
[*] ServerName dashboard.puppet.test.org
[*] DocumentRoot /usr/share/puppet-dashboard/public/
[*] <Directory /usr/share/puppet-dashboard/public/>
[*] Options None
[*] Order allow,deny
[*] allow from all
[*] </Directory>
[*] ErrorLog /var/log/httpd/dashboard.puppet.test.org_error.log
[*] LogLevel warn
[*] CustomLog /var/log/httpd/dashboard.puppet.test.org_access.log combined
[*] ServerSignature On
重启httpd
[*] service httpd restart
实时报告设置puppet客户端每次执行完任务后立即报告给dashboard在apache01.test.org上设置puppet客户端
[*]
[*] report = true
在puppet.test.org 上设置puppet服务端
[*]
[*] reports = store,http
[*] reporturl = http://dashboard.puppet.test.org:80/reports
导入现有yml文件报告
[*] #rake RAILS_ENV=production reports:import REPORT_DIR=/var/lib/puppet/
最后一步
[*] cp /usr/share/puppet-dashboard/ext/puppet/puppet_dashboard.rb /var/lib/puppet/reports/
启动服务
[*] # /etc/init.d/puppet-dashboard start
[*] # /etc/init.d/puppet-dashboard-workers start
页:
[1]