Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序。可以作为一个ENC(外部节点分类器)以及一个报告工具,并且正在逐渐成为一个包含许多Puppet新功能的集成界面,例如审计和资源管理功能。
Puppet Dashboard是一个Ruby on Rails程序,用于显示Puppet master和agent的相关信息。它允许你查看从一个或多个Puppet master汇总的图形和报告数据。它同时从一个或者多个Puppet master上收集来自于Puppet agent的资产数据(主机的Fact和其他信息)。最后,它能作为一个ENC来配置Puppet节点,并指定这些节点上的类和参数。
安装puppet-dashboard 依赖ruby
wget https://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.0-2.el6.noarch.rpm
yum localinstall puppet-dashboard-1.2.0-2.el6.noarch.rpm #我这里用的阿里云的epel源 会自动解决依赖关系
gem install rake #会自动安装rake gem是ruby的模块管理工具
连接mysql数据库完成创建授权
mysql> create database dashdb character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on dashdb.* to 'dbuser'@'%' identified by 'redhat';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改配置文件
[root@puppet config]# pwd
/usr/share/puppet-dashboard/config
[root@puppet config]# vim database.yml
修改链接数据库信息
production:
host: 192.168.1.8
database: dashdb
username: dbuser
password: redhat
encoding: utf8
adapter: mysql
导入数据库
[root@puppet config]# pwd
/usr/share/puppet-dashboard/config
[root@puppet config]# rake gems:refresh_specs
[root@puppet config]# rake RAILS_ENV=production db:migrate # 为dashboard依赖的数据库倒入所需要的表
测试服务器是否能正常工作
[root@puppet config]# /usr/share/puppet-dashboard/script/server -e production
=> Booting WEBrick
=> Rails 2.3.12 application starting on #基于WEBrick工作 监听3000端口
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2015-06-22 02:17:23] INFO WEBrick 1.3.1
[2015-06-22 02:17:23] INFO ruby 1.8.7 (2013-06-27) [x86_64-linux]
[2015-06-22 02:17:25] INFO WEBrick::HTTPServer#start: pid=10371 port=3000
此时访问puppet-dashboard服务器的3000 端口
此时还无法接受报告
配置服务器端和agent端
服务器端配置
[master]
reports = store,http
reporurl=http://puppet.cc.com:3000/reports/upload
#重启服务器端
agent端配置
[agent]
report = true
#完了重启agent
WEBrick 有助于快速部署dashboard 但是性能差 换成http 或者nginx 性能更好
更多参考http://dreamfire.blog.51cto.com/418026/1322552/