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

[经验分享] puppet报告系统dashboard以及puppet+nginx-bantiaomichong

[复制链接]

尚未签到

发表于 2018-8-2 07:21:39 | 显示全部楼层 |阅读模式
  Puppet Dashboard是由支持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的配置:
  在master端
  安装所需的软件包
yum install puppet-dashboard-1.2.23-1.el6.noarch.rpm mysql-server rubygem-rake-0.8.7-2.1.el6.noarch.rpm ruby-mysql-2.8.2-1.el6.x86_64.rpm -y  配置mysql数据库:
/etc/init.d/mysqld start  
mysql> CREATE DATABASE dashboard_production CHARACTER SET utf8;
  
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'westos';
  
mysql> GRANT ALL PRIVILEGES ON dashboard_production.* TO 'dashboard'@'localhost';
  
vim /usr/share/puppet-dashboard/config/database.yml #这里只使用了生产环境配置
  
    production:
  
      database: dashboard_production
  
      username: dashboard
  
      password: westos
  
      encoding: utf8
  
      adapter: mysql
  
cd /usr/share/puppet-dashboard/config
  
rake RAILS_ENV=production db:migrate  #建立 dashboard 所需的数据库和表
DSC0000.png

  修改puppet-dashboard的时区
vim /usr/share/puppet-dashboard/config/settings.yml  
    time_zone: 'Beijing'
  使用下面这个指令可以查看可用的时区
rake time:zones:local
DSC0001.png

/etc/init.d/puppet-dashboard start
DSC0002.png

chmod 666 /usr/share/puppet-dashboard/log/production.log  
/etc/init.d/puppet-dashboard-workers start
  设置报告汇总
vim /etc/puppet/puppet.conf  
    [main]
  
       reports = http
  
       reporturl=http://172.25.254.1:3000/reports
  
/etc/puppetmaster reload
  登录http://172.25.9.1:3000进入到检测页面
DSC0003.png

  此时还没有报告生成我们需要在client端打开报告同步以此数据就可以看到信息了
vim /etc/puppet/puppet.conf  
    [agent]
  
        report =true
  
puppet agent --server=server1.example.com --no-daemonize -vt   #进行手动同步puppet未在后台运行的情况下
DSC0004.png

  之后再次刷新网站就能看到报告了
DSC0005.png

  点击节点就能看到具体的日志信息了
DSC0006.png

  client端自动同步的情况下要在client端进行以下操作:
vim /etc/sysconfig/puppet  
PUPPET_SERVER=puppet.example.com #puppet master 的地址
  
PUPPET_PORT=8140         #puppet 监听端口
  
PUPPET_LOG=/var/log/puppet/puppet.log #puppet 本地日志#PUPPET_EXTRA_OPTS=--waitforcert=500 #默认同步的时间这里没有打开而是在下面的文件配置的
  修改默认同步的时间
vim /etc/puppet/puppet.conf  
    [agent]
  
        runinterval =300 #单位为秒
  
/etc/init.d/puppet start
  nginx+passenger:
  puppet 默认使用基于 Ruby 的 WEBRickHTTP 来处理 HTTPS 请求,但是这些语言的内置webserver目的仅是为了方便调试代码,本身的性能十分的差,而使用常见的Web Server软件就可以显著的提高单台的puppetmaster的性能。这里就是使用的是Nginx去提高puppetmaster的性能
  安装所需的依赖性:
yum install -y gcc gcc-c++ curl-devel zlib-devel openssl-devel ruby-devel pcre-devel  
gem install passenger-5.0.15.gem rack-1.6.4.gem #没有联网的情况下需要gem包,联网的情况下直接 gem install rack passenger
  

  
passenger-install-nginx-module #脚本会自动安装 nginx 支持,按提示操作
  安装好后更改nginx的配置
vim /opt/nginx/conf/nginx.conf  
    server {
  
    listen 8140;
  
    server_name server1.example.com;
  
    root /etc/puppet/rack/public;
  
    passenger_enabled on;
  

  
    passenger_set_header X_CLIENT_DN $ssl_client_s_dn;
  
    passenger_set_header X_CLIENT_VERIFY $ssl_client_verify;
  

  
    ssl  on;
  
    ssl_session_timeout 5m;
  
    ssl_certificate /var/lib/puppet/ssl/certs/server1.example.com.pem;
  
    ssl_certificate_key /var/lib/puppet/ssl/private_keys/server1.example.com.pem;
  
    ssl_client_certificate /var/lib/puppet/ssl/ca/ca_crt.pem;
  
    ssl_crl  /var/lib/puppet/ssl/ca/ca_crl.pem;
  
    ssl_verify_client optional;
  
    ssl_ciphers  SSLv2:-LOW:-EXPORT:RC4+RSA;
  
    ssl_prefer_server_ciphers on;
  
    ssl_verify_depth 1;
  
    ssl_session_cache  shared:SSL:128m;
  
    }
  
mkdir /etc/puppet/rack/{public,tmp} -p
  
cp /usr/share/puppet/ext/rack/config.ru /etc/puppet/rack/
  
chown puppet.puppet -R /etc/puppet/rack/
  
/etc/init.d/puppetmaster stop #puppetmaster不需要再启动了,nginx启动后会自动调用puppetmaster
  
/opt/nginx/sbin/nginx -t #检测 nginx
  
/opt/nginx/sbin/nginx
  监测:在client端可以进行同步就证明成功了。
DSC0007.png

运维网声明 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-544997-1-1.html 上篇帖子: puppet学习之puppet的安装与配置 下篇帖子: Puppet详细部署指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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