一、Puppet DashBoard

1、简介

   Puppet DashBoard是个Ruby on Rails程序, 简称DashBoard, 于显Puppet Master和Puppet  Agent的相关信息。 它允许查看个或多个Puppet Master汇总的图和报告数据, 可以同时从个或多个Puppet Master上收集来Puppet Agent的所有数据信息, 并作为个ENC来管理Puppet节点, 主动触发Puppet Agent主动更新等。 

2、安装DashBoard

[root@www.example.com ~]# yum install -y puppet-dashboard-1.2.23-1.el6.noarch.rpm 
[root@www.example.com ~]# gem install rake

3、数据库创建及授权

MariaDB [(none)]> create database dashboard character set utf8;
Query OK, 1 row affected (0.30 sec)

MariaDB [(none)]> grant all privileges on dashboard.* to 'dashboard'@'localhost' identified by 'redhat';
Query OK, 0 rows affected (0.12 sec)

MariaDB [(none)]> grant all privileges on dashboard.* to 'dashboard'@'192.168.%.%' identified by 'redhat';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.09 sec)

4、修改配置文件:

[root@www.example.com ~]# vim /usr/share/puppet-dashboard/config/database.yml
production:
  host: 192.168.1.8
  database: dashboard
  username: dashboard
  password: redhat
  encoding: utf8
  adapter: mysql

5、导入数据库

[root@www.example.com ~]# cd /usr/share/puppet-dashboard/config/
[root@www.example.com config]# rake gems:refresh_specs
[root@www.example.com config]# rake RAILS_ENV=production db:migrate

6、启动dashboard

[root@www.example.com ~]# /usr/share/puppet-dashboard/script/server -e production
=> Booting WEBrick
=> Rails 2.3.17 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2015-09-23 15:19:04] INFO  WEBrick 1.3.1
[2015-09-23 15:19:04] INFO  ruby 1.8.7 (2013-06-27) [x86_64-linux]
[2015-09-23 15:19:04] INFO  WEBrick::HTTPServer#start: pid=4396 port=3000
Processing PagesController#home (for 192.168.1.103 at 2015-09-23 15:19:26) [GET]
  Parameters: {"controller"=>"pages", "action"=>"home"}
Rendering template within layouts/application
Rendering pages/home
Completed in 451ms (View: 363, DB: 98) | 200 OK [http://192.168.1.8/]

wKioL1YVJ7vCj68DAAI5rxYCGhc743.jpg

7、配置puppet服务端和客户端

服务器端配置    

  # puppet.conf (on puppet master)
  [master]
    reports = store, http
    reporturl = http://dashboard.example.com:3000/reports/upload

 

 完成后重启puppetmaster服务。

 

在客户端配置

  # puppet.conf (on each agent)
  [agent]
    report = true

完成后重启puppet服务。

   而后打开dashboard,如果看到“# pending task”类的信息,且数字大于0,则表示已经正常接收报告了,一旦有用户任务延迟就会记录在dashboard中。 可以配置dashboard通过passanger和apache提供服务。