puppet dashboard是GUI(图形用户界面)方式管理puppet,可以分析puppet运行日志。
一、安装:
1、添加第三方包仓库EPEL:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2、安装ruby环境:
yum -y install ruby ruby-devel ruby-irb ruby-rdoc ruby-ri ruby-libs ruby-rdoc openssl-devel
3、安装dashboard依赖包:
yum install -y mysql mysql-devel mysql-server ruby-mysql
6、安装dashboard
wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.23.tar.gz
tar xf puppet-dashboard-1.2.23.tar.gz
mv puppet-dashboard-1.2.23 /usr/local/dashboard
7、启动mysql
service mysqld start
二、配置dashboard:
1、编辑database.yml来指定数据库:
cd /usr/local/dashboard
vim config/database.yml
production:
database: dashboard
username: dashboard
password: dashboard
encoding: utf8
adapter: mysql
|
2、使用rake命令基于database.yml来创建数据库dashboard:
rake RAILS_ENV=production db:create
(如果报错,就手动创建数据库)
注:如果使用rake报错:rake aborted!undefined method `source_index' for Gem:Module可能是gem版本过高或者过低导致,解决办法:gem update --system 1.8.25
mysql -uroot -p
mysql> create database dashboard default charset utf8;
mysql>use dashboard;
mysql>grant all on dashboard.* to dashboard@localhost identified by 'dashboard' ;
mysql>flush privileges;
mysql>exit
|
3、填充数据库:
rake RAILS_ENV=production db:migrate
4、修改dashboard的显示时区,默认为UTC,改为北京:
vim config/environment.rb
config.time_zone = "Beijing"
三、启动dashboard:
1、启动dashboard日志分析进程
env RAILS_ENV=production /usr/local/dashboard/script/delayed_job -p dashboard -n 4 -m start
2、检查分析进程是否启动
ps -ef|grep delayed_job|grep -v grep
3、启动dashboard的GUI界面webrick
(注:此方法不被推荐,建议使用apache+passenger或nginx+passenger来运行)
/usr/local/dashboard/script/server -e production
通过http://ip:3000访问测试。
四、使用apache+Passenger运行puppet-dashboard:
passenger比webrick复杂很多,也比webrick具有更好的性能,还能和apache或nginx组合在一起。
1、安装apache:
yum install -y httpd httpd-devel
2、安装rubygems
tar xf rubygems-1.8.25.tgz
cd rubygems-1.8.25
ruby setup.rb
3、修改gem的源仓库
gem sources -l 查看gem源
4、安装passenger:
gem install passenger
5、创建apache passenger模块:
passenger-install-apache2-module
6、配置apache主配置文件httpd.conf,添加如下内容:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10/buildout/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10
PassengerRuby /usr/bin/ruby
PassengerHighPerformance on
#PassengerUseGlobalQueue on #该选项在已被废弃
PassengerMaxPoolSize 6 #passenger启动的线程数,通常为cpu核心个数的1.5倍
PassengerMaxRequests 4000 #passenger接受的最大请求数
PassengerPoolIdleTime 1800 #关闭空闲超过1800秒的passenger实例
|
7、启动apache:
service httpd restart
五、使用Nginx+Passenger运行puppet-dashboard:
1、编译安装nginx,加上passenger模块:
./configure --add-module=/usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10/ext/nginx
2、修改nginx配置文件如下:
http {
...
passenger_root /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10;
passenger_ruby /usr/bin/ruby;
...
}
server {
listen 80;
server_name www.dashboard.com;
root /usr/local/dashboard/public;
passenger_enabled on;
}
|
六、汇总显示报告:
1、导入现有report:
cd /usr/local/dashboard
rake RAILS_ENV=production reports:import
2、实时导入report:
puppet client端编辑/etc/puppet/puppet.conf
[agent]
report = true
|
puppet master端编辑/etc/puppet/puppet.conf
reports = http,store
reporturl = http://172.16.5.156:80/reports
|
service puppetmaster restart
service puppet restart
七、数据库维护:
1、当puppet dashboard数据量过多的时候,需要优化数据库,可使用命令:
rake RAILS_ENV=production db:raw:optimize
2、清理dashborad一个月之前的数据:
rake RAILS_ENV=production reports:prune upto=1 unit=mon
3、备份puppet dashborad数据库:
rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump
4、恢复数据:
rake RAILS_ENV=production FILE=production.sql db:raw:restore
linux交流群:22346652。欢迎Linux爱好者加入,一起学习,一起进步。
转载于:https://blog.51cto.com/breezey/1339502