开发者社区> sktj> 正文

puppet 整合dashboard

简介: 转载:http://blog.51cto.com/ywzhou/1576583一、安装配置Dshboard 1、功能说明 Puppet Dasshboard是由支持Puppet开发的公司Puppetlabs创建的,是Ruby on Rails程序; 可...
+关注继续查看

转载:http://blog.51cto.com/ywzhou/1576583
一、安装配置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

[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

[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

[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我们工作在生产环境。

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

5、检查数据

查看导入数据:

[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

查看工作状态:

[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
[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代替
[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/
img_1f0dfac3c4e2cf73bd31c15b6cc76055.jpe
wKiom1RltcLTY4hrAAR_P8Rjl7I759.jpg
[root@puppet ~]# tailf /var/log/httpd/dashboard.access.log

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

三、Puppet整合Dashboard

1、手动导入

[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),但没有生效,使用如下命令启动修改:
[root@puppet puppet-dashboard]# env RAILS_ENV=production script/delayed_job -p dashboard -n 1 -m start

2、自动导入(整合)

(1)Linux客户端配置:

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

(2)Windows客户端配置:

D:\Program Files\Puppet Labs\Puppet\puppet\ext\redhat\puppet.conf
C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf
两个配置文件都没有设置report=true但报告正常,待解~~

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

[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,因此建议养成在管理机器上修改的习惯:
[root@puppet ~]# svn ci /etc/puppet/ -m "update reports url"

(4)****启动服务:

[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退出,它会在后台自动运行;

[root@puppet puppet-dashboard]# echo "rake RAILS_ENV=production jobs:work" >> /etc/rc.local
Rake命令需要加入到开机启动,否则你会发现重启服务器后Dashboard的WEB页面的最新reports不更新了,而且左上角的“**Backgroud Tasks”**等待任务在不断增加,就是因为这个开机后没运行导致的。

3****、****其他命令

优化数据库:
[root@puppet puppet-dashboard]# rake RAILS_ENV=production db:raw:optimize
删除报告:
[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表示天。
   查看报告:

  红色表示运行失败

  橙色表示等待运行

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23615 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
22429 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
20317 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
14821 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22788 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
36520 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
16870 0
+关注
sktj
国企运维
794
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载