设为首页 收藏本站
查看: 1692|回复: 0

[经验分享] Puppet整合Dashboard(一):Puppet整合Dashboard

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-17 08:49:19 | 显示全部楼层 |阅读模式
一、安装配置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
[iyunv@puppet ~]# rpm -ivh ftp://rpmfind.net/linux/centos/6 ... -2.1.el6.noarch.rpm
[iyunv@puppet ~]# yum install -y ruby-mysql mysql-server puppet-dashboard



3、配置mysql
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@puppet ~]# service mysqld start
[iyunv@puppet ~]# chkconfig mysqld on
[iyunv@puppet ~]# mysqladmin -uroot password 123456
[iyunv@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
[iyunv@puppet ~]# vi /etc/my.cnf
[mysqld]
max_allowed_packet=32M
[iyunv@puppet ~]# service mysqld restart



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



   使用合适的表填充数据库,环境变量RAILS_ENV=production告诉Ruby on Rails我们工作在生产环境。
1
[iyunv@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
[iyunv@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
[iyunv@puppet ~]# cd /usr/share/puppet-dashboard/
[iyunv@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
[iyunv@puppet ~]# vi /etc/httpd/conf.d/dashboard.conf
Listen 8141

        DocumentRoot /usr/share/puppet-dashboard/public
        
                Options None
                AllowOverride AuthConfig
                Order allow,deny
                allow from all
        
        ErrorLog /var/log/httpd/dashboard.error.log
        LogLevel warn
        CustomLog /var/log/httpd/dashboard.access.log combined




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

2、服务
    关闭WEBRick使用apache代替
1
2
3
4
5
[iyunv@puppet ~]# service puppet-dashboard stop
[iyunv@puppet ~]# service puppetmaster stop
[iyunv@puppet ~]# service httpd restart
[iyunv@puppet ~]# iptables -I INPUT -p tcp --dport 8141 -j ACCEPT
[iyunv@puppet ~]# service iptables save



3、检查
    不能显示页面:http://10.188.1.73:3000/
    可以正常显示页面:http://10.188.1.73:8141/
wKiom1RltcLTY4hrAAR_P8Rjl7I759.jpg


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



wKioL1RltZWzlEs2AAFxW2VXMN0123.jpg
1
[iyunv@puppet ~]# puppet agent --server puppet.ewin.com --test



wKioL1RltXjyuhp4AABz1qsjK-0914.jpg

三、Puppet整合Dashboard
1、手动导入
1
2
3
4
5
[iyunv@puppet ~]# cd /usr/share/puppet-dashboard/
[iyunv@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”表示正在等待的任务,但没有生效,使用如下命令启动修改
1
[iyunv@puppet puppet-dashboard]# env RAILS_ENV=production script/delayed_job -p dashboard -n 1 -m start



2、自动导入(整合)
    Linux客户端配置:
1
2
3
[iyunv@zabbix ~]# vi /etc/puppet/puppet.conf
[agent]
report = true  #从2.7.0版本开始默认开启



    Windows客户端配置:
1
2
D:Program FilesPuppet LabsPuppetpuppetextedhatpuppet.conf
C:ProgramDataPuppetLabspuppetetcpuppet.conf



    两个配置文件都没有设置report=true但报告正常,待解~~
    Puppet服务端配置(关键):
1
2
3
4
[iyunv@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
[iyunv@puppet ~]# svn ci /etc/puppet/ -m "update reports url"



    启动服务:
1
2
3
[iyunv@puppet ~]# service httpd restart
[iyunv@puppet ~]# cd /usr/share/puppet-dashboard/
[iyunv@puppet puppet-dashboard]# rake RAILS_ENV=production jobs:work  #使任务生效,只需要运行一次



3、其他命令
    优化数据库:
1
[iyunv@puppet puppet-dashboard]# rake RAILS_ENV=production db:raw:optimize



    删除报告:
1
2
3
[iyunv@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
   查看报告:



wKiom1RlunKQ8aPRAABps-40kAw634.jpg
      红色表示运行失败
      橙色表示等待运行
      蓝色表示运行成功及改变的信息
      绿色表示运行成功但什么都没做


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-30270-1-1.html 上篇帖子: Puppet扩展(一):纵向扩展Apache+Passenger 下篇帖子: Puppet模块(一):NTP模块及Cron资源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表