Puppet整合Dashboard(一):Puppet整合Dashboard

一、安装配置Dshboard

1、功能说明

Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序;

可以作为一个ENC(外部节点分类器)以及一个报告工具,包含许多Puppet新功能的集成界面,例如审计和资源管理功能;

能显示Puppet master和agent的相关信息;

它能作为一个ENC来配置Puppet节点,并指定这些节点上的类和参数;

Puppet Dashboard(1.2.3)程序目前版本只支持Ruby 1.8.x,以及只支持MySQL作为数据库后端。

官方配置指南:https://docs.puppetlabs.com/dashboard/manual/1.2/

2、安装软件包

安装rubygem-rake

1 2 [root@puppet ~]# rpm -ivh ftp://rpmfind.net/linux/centos/6.5/os/x86_64/Packages/rubygem-rake-0.8.7-2.1.el6.noarch.rpm [root@puppet ~]# yum install -y ruby-mysql mysql-server puppet-dashboard

3、配置mysql

1 2 3 4 5 6 7 8 9 10 11 12 [root@puppet ~]# service mysqld start [root@puppet ~]# chkconfig mysqld on [root@puppet ~]# mysqladmin -uroot password 123456 [root@puppet ~]# mysql -p123456 mysql> create database dashboard character set utf8; mysql> grant all on dashboard.* to ‘dashboard’@’localhost’ identified by “123456”; mysql> flush privileges; mysql> quit [root@puppet ~]# vi /etc/my.cnf [mysqld] max_allowed_packet=32M [root@puppet ~]# service mysqld restart

4、配置dashboard

1 2 3 4 5 6 7 8 9 10 11 12 [root@puppet ~]# cd /usr/share/puppet-dashboard/ [root@puppet puppet-dashboard]# vi config/database.yml production:   database: dashboard   username: dashboard   password: 123456   encoding: utf8   adapter: mysql [root@puppet puppet-dashboard]# vi config/settings.yml time_zone: ‘Asia/Shanghai’ [root@puppet puppet-dashboard]# rake gems:refresh_specs [root@puppet puppet-dashboard]# rake RAILS_ENV=production db:migrate

使用合适的表填充数据库,环境变量RAILS_ENV=production告诉Ruby on Rails我们工作在生产环境。

1 [root@puppet puppet-dashboard]# service puppet-dashboard start

5、检查数据

查看导入数据:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [root@puppet ~]# mysql -udashboard -p123456 mysql> use dashboard; mysql> show tables; +——————————+ | Tables_in_dashboard          | +——————————+ | delayed_job_failures         | | delayed_jobs                 | | metrics                      | | node_class_memberships       | | node_classes                 | | node_group_class_memberships | | node_group_edges             | | node_group_memberships       | | node_groups                  | | nodes                        | | old_reports                  | | parameters                   | | report_logs                  | | reports                      | | resource_events              | | resource_statuses            | | schema_migrations            | | timeline_events              | +——————————+ 18 rows in set (0.00 sec) mysql> quit

查看工作状态:

1 2 3 4 5 6 7 8 9 10 11 12 [root@puppet ~]# cd /usr/share/puppet-dashboard/ [root@puppet 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 [2014-11-14 15:36:28] INFO  WEBrick 1.3.1 [2014-11-14 15:36:28] INFO  ruby 1.8.7 (2011-06-30) [x86_64-linux] [2014-11-14 15:36:28] INFO  WEBrick::HTTPServer#start: pid=36461 port=3000 ^C[2014-11-14 15:37:36] INFO  going to shutdown … [2014-11-14 15:37:36] INFO  WEBrick::HTTPServer#start done. Exiting

可以看到dashboard默认运行在WEBrick的3000端口,按Ctrl+C关闭服务,下面改成apache运行。

二、dashboard整合apache

1、配置

参考示例:/usr/share/puppet-dashboard/ext/passenger/dashboard-vhost.conf

1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@puppet ~]# vi /etc/httpd/conf.d/dashboard.conf Listen 8141 <VirtualHost *:8141>         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 </VirtualHost>

不是在配置passenger.conf上面修改,而是新建的专门给dashboard的配置,端口也不一样。

2、服务

关闭WEBRick使用apache代替

1 2 3 4 5 [root@puppet ~]# service puppet-dashboard stop [root@puppet ~]# service puppetmaster stop [root@puppet ~]# service httpd restart [root@puppet ~]# iptables -I INPUT -p tcp –dport 8141 -j ACCEPT [root@puppet ~]# service iptables save

3、检查

不能显示页面:http://10.188.1.73:3000/

可以正常显示页面:http://10.188.1.73:8141/

Puppet整合Dashboard(一):Puppet整合Dashboard

1 [root@puppet ~]# tailf /var/log/httpd/dashboard.access.log

Puppet整合Dashboard(一):Puppet整合Dashboard

1 [root@puppet ~]# puppet agent –server puppet.ewin.com –test

Puppet整合Dashboard(一):Puppet整合Dashboard

三、Puppet整合Dashboard

1、手动导入

1 2 3 4 5 [root@puppet ~]# cd /usr/share/puppet-dashboard/ [root@puppet puppet-dashboard]# rake RAILS_ENV=production reports:import Importing 13456 reports from /var/lib/puppet/reports in the background Importing:     100% |#########################################| Time: 00:06:27 13456 of 13456 reports queued

puppet报告保存目录/var/lib/puppet/reports/

页面左上角“Backgroud Tasks”表示正在等待的任务(将puppet传给http的reports导入dashboard),但没有生效,使用如下命令启动修改:

1 [root@puppet puppet-dashboard]# env RAILS_ENV=production script/delayed_job -p dashboard -n 1 -m start

2、自动导入(整合)

(1)Linux客户端配置:

1 2 3 [root@zabbix ~]# vi /etc/puppet/puppet.conf [agent] report = true  #从2.7.0版本开始默认开启

(2)Windows客户端配置:

1 2 D:\Program Files\Puppet Labs\Puppet\puppet\ext\redhat\puppet.conf C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf

两个配置文件都没有设置report=true但报告正常,待解~~

(3)Puppet服务端配置(关键):

1 2 3 4 [root@puppet ~]# vi /etc/puppet/puppet.conf [main] reports = http,store          #如果不加上store,将不再在/var/lib/puppet/reports/存储报告 reporturl = http://localhost:8141/reports

如果要取消puppet集成dashboard,注消上面两行即可。

如果是在puppet服务端直接修改,别忘了提交到SVN,因此建议养成在管理机器上修改的习惯:

1 [root@puppet ~]# svn ci /etc/puppet/ -m “update reports url”

(4)启动服务:

1 2 3 4 5 6 7 8 [root@puppet ~]# service httpd restart [root@puppet ~]# cd /usr/share/puppet-dashboard/ [root@puppet puppet-dashboard]# rake RAILS_ENV=production jobs:work [Worker(host:puppet.ewin.com pid:61845)] Starting job worker [Worker(host:puppet.ewin.com pid:61845)] Report.create_from_yaml_file completed after 2.2778 [Worker(host:puppet.ewin.com pid:61845)] Report.create_from_yaml_file completed after 1.0872 [Worker(host:puppet.ewin.com pid:61845)] Report.create_from_yaml_file completed after 1.0863 [Worker(host:puppet.ewin.com pid:61845)] Report.create_from_yaml_file completed after 2.2699 …

Rake命令使导入报告任务开始运行,运行后可以按Ctrl+C退出,它会在后台自动运行;

1 [root@puppet puppet-dashboard]# echo “rake RAILS_ENV=production jobs:work” >> /etc/rc.local

Rake命令需要加入到开机启动,否则你会发现重启服务器后Dashboard的WEB页面的最新reports不更新了,而且左上角的“Backgroud Tasks”等待任务在不断增加,就是因为这个开机后没运行导致的。

3、其他命令

优化数据库:

1 [root@puppet puppet-dashboard]# rake RAILS_ENV=production db:raw:optimize

删除报告:

1 2 3 [root@puppet puppet-dashboard]# rake RAILS_ENV=production reports:prune upto=1 unit=mon Deleting reports before 2014-10-15 08:38 UTC… Deleted 0 reports.

upto=1 unit=mon表示1个月前的报告,可用day表示天。

1    查看报告:

Puppet整合Dashboard(一):Puppet整合Dashboard

红色表示运行失败

橙色表示等待运行

蓝色表示运行成功及改变的信息

绿色表示运行成功但什么都没做

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!10210454@qq.com
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!

磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持

磊宇堂 » Puppet整合Dashboard(一):Puppet整合Dashboard

提供最优质的资源集合

立即查看 了解详情