puppet dashboard是GUI(图形用户界面)方式管理puppet,可以分析puppet运行日志。
一、安装:
   1、添加第三方包仓库EPEL:
       rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
   2、安装ruby环境:
        yum -y install  ruby ruby-devel ruby-irb ruby-rdoc ruby-ri  ruby-libs ruby-rdoc openssl-devel
   3、安装dashboard依赖包:
       yum install -y mysql mysql-devel mysql-server ruby-mysql
   6、安装dashboard
       wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.23.tar.gz
       tar xf puppet-dashboard-1.2.23.tar.gz
       mv puppet-dashboard-1.2.23 /usr/local/dashboard
   7、启动mysql
       service mysqld start
二、配置dashboard:
   1、编辑database.yml来指定数据库:
       cd /usr/local/dashboard
       vim config/database.yml
production:
 database: dashboard
 username: dashboard
 password: dashboard
 encoding: utf8
 adapter: mysql

   2、使用rake命令基于database.yml来创建数据库dashboard:
       rake RAILS_ENV=production db:create

(如果报错,就手动创建数据库)

注:如果使用rake报错:
rake aborted!
undefined method `source_index' for Gem:Module
可能是gem版本过高或者过低导致,解决办法:gem update --system 1.8.25
mysql -uroot -p
mysql> create database dashboard default charset utf8;
mysql>use dashboard;
mysql>grant all on dashboard.* to dashboard@localhost identified by 'dashboard' ;
mysql>flush privileges;
mysql>exit
   3、填充数据库:
       rake RAILS_ENV=production db:migrate

   4、修改dashboard的显示时区,默认为UTC,改为北京:
vim config/environment.rb
config.time_zone = "Beijing"
三、启动dashboard:
   1、启动dashboard日志分析进程
       env RAILS_ENV=production /usr/local/dashboard/script/delayed_job -p dashboard -n 4 -m start  
   2、检查分析进程是否启动
       ps -ef|grep delayed_job|grep -v grep
   3、启动dashboard的GUI界面webrick(注:此方法不被推荐,建议使用apache+passenger或nginx+passenger来运行)
        /usr/local/dashboard/script/server -e production
       通过http://ip:3000访问测试。
四、使用apache+Passenger运行puppet-dashboard:
   passenger比webrick复杂很多,也比webrick具有更好的性能,还能和apache或nginx组合在一起。
   1、安装apache:
       yum install -y httpd httpd-devel
   2、安装rubygems
       wget http://rubyforge.org/frs/download.php/76729/rubygems-1.8.25.tgz
       tar xf rubygems-1.8.25.tgz
       cd rubygems-1.8.25
       ruby setup.rb

   3、修改gem的源仓库
       gem sources -l  查看gem源
       gem sources -a http://ruby.taobao.org/  添加国内镜像源
       gem sources --remove http://rubygems.org/   删除国外源

   4、安装passenger:
       gem install passenger
   5、创建apache passenger模块:
       passenger-install-apache2-module
  6、配置apache主配置文件httpd.conf,添加如下内容:
       LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10/buildout/apache2/mod_passenger.so
       PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10
       PassengerRuby /usr/bin/ruby
       PassengerHighPerformance on
       #PassengerUseGlobalQueue on    #该选项在已被废弃
       PassengerMaxPoolSize 6               #passenger启动的线程数,通常为cpu核心个数的1.5倍
       PassengerMaxRequests 4000        #passenger接受的最大请求数
       PassengerPoolIdleTime 1800        #关闭空闲超过1800秒的passenger实例
<VirtualHost *:80>
     ServerName dashboard.cmmobi-wh.com
     DocumentRoot  /usr/local/dashboard/public/
     <Directory /usr/local/dashboard/public/>
        # This relaxes Apache security settings.
        AllowOverride all
        # MultiViews must be turned off.
        Options -MultiViews
     </Directory>
</VirtualHost>
   7、启动apache:
       service httpd restart
五、使用Nginx+Passenger运行puppet-dashboard:
   1、编译安装nginx,加上passenger模块:
   ./configure --add-module=/usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10/ext/nginx
   2、修改nginx配置文件如下:
 http {
     ...
     passenger_root /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10;
     passenger_ruby /usr/bin/ruby;
     ...
 }
  server {
     listen 80;
     server_name www.dashboard.com;
     root /usr/local/dashboard/public;
     passenger_enabled on;
  }

六、汇总显示报告:
   1、导入现有report:
       cd /usr/local/dashboard
       rake RAILS_ENV=production reports:import
   2、实时导入report:
       puppet client端编辑/etc/puppet/puppet.conf
           [agent]

report = true

   puppet master端编辑/etc/puppet/puppet.conf
           reports = http,store

           reporturl = http://172.16.5.156:80/reports

       service puppetmaster restart

service puppet restart

七、数据库维护:
   1、当puppet dashboard数据量过多的时候,需要优化数据库,可使用命令:
        rake RAILS_ENV=production db:raw:optimize
   2、清理dashborad一个月之前的数据:
       rake RAILS_ENV=production reports:prune upto=1 unit=mon
   3、备份puppet dashborad数据库:
       rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump
   4、恢复数据:
rake RAILS_ENV=production FILE=production.sql db:raw:restore

linux交流群:22346652。欢迎Linux爱好者加入,一起学习,一起进步。

转载于:https://blog.51cto.com/breezey/1339502

puppet-dashboard安装及用apache和nginx进行管理相关推荐

  1. Puppet dashboard安装

    1 安装所需支持的rpm包(在Puppet Service端操作) sudo  yum -y install openssl-devel  gcc-c++ zlib-devel readline-de ...

  2. IT运维面试问题总结-运维工具、开源应用(Ansible、Ceph、Docker、Apache、Nginx等)

    1.简述Ansible及其优势? Ansible是一款极其简单的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet, cfengine, chef, func, fabric ...

  3. xampp php搭建失败,ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败),thinkphpxampp...

    ThinkPHP框架搭建及常见问题(XAMPP安装失败.Apache/MySQL启动失败),thinkphpxampp 本文为大家详细分享了搭建ThinkPHP框架时遇到的问题,为大家提供了解决方法, ...

  4. 在Puppet中用ERB模板来自动配置Nginx虚拟主机

    模板文件是在puppet模块下面templates目录中以".erb"结尾的文件,puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件 ...

  5. Apache、Nginx、Tomcat、PHP的区别

    Apache.Nginx.Tomcat.PHP的区别 Apache和Nginx算是市面上两款比较强大的WEB服务软件. Apache的优点: 支持模块多,功能多 运行稳定性强 支持PHP模块,无需安装 ...

  6. ccentos 7下安装php5.6并使用nginx + php-fpm部署多个不同端口网站

    作为一个的勤杂工,近期因公司内部信息化的需求,给新进员工提供基础的知识培训和介绍,也为了给公司内部建立一个沟通交流的平台,百度找了开源的百科系统HDwiki和开源的问答系统Tipask问答系统,蛋痛的 ...

  7. 开发人员学Linux(8):CentOS7编译安装Subversion及Apache并集成

    1.前言 本篇将介绍如何编译安装SVN服务器端管理软件subverion和Web服务器Apache.本来在前面的系列文章已经讲过使用Nginx作为Web服务器的,所以我一直在找有关subverion集 ...

  8. Apache与Nginx的优缺点比较

    Apache与Nginx的优缺点比较  1.nginx相对于apache的优点:  轻量级,同样起web 服务,比apache 占用更少的内存及资源  抗并发,nginx 处理请求是异步非阻塞的,而a ...

  9. Apache与Nginx比较(Nginx 高并发情况常用,必须学习)

    Apache与Nginx的优缺点比较 1.nginx 轻量级,同样起web 服务,比apache 占用更少的内存及资源. 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高 ...

最新文章

  1. Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界
  2. Tensorflow利用函数修饰符@tf.custom_gradients自定义函数梯度
  3. 牛客 - 阔力梯的树(树上启发式合并)
  4. ArrayList使用内存映射文件
  5. MySql 自动更新时间为当前时间
  6. 莫烦Pytorch神经网络第二章代码修改
  7. oracle10g数据库复制,oracle -10g 中Duplicate 复制数据库
  8. Android Sdk 安装配置
  9. VMware关闭虚拟机系统后不见了
  10. DPDK lcore学习笔记
  11. java 动态规划求最短路径_使用分支界定和动态规划解决最短路径问题(原)
  12. win10配置内外网同时使用
  13. 牛客网华为机试题java,华为机试题
  14. Mysql学习之三. NLJ和BLN介绍
  15. concat,ucase/lcase,left/right,length,replace
  16. UV系和相机坐标系相互转换
  17. 后台管理系统——权限管理
  18. 锂离子电池--SEI膜
  19. 计算机英语的文章,计算机英语 文章
  20. 2009年三季度基金持股增仓表

热门文章

  1. 创意十足!25个服饰行业的网站设计作品
  2. 流媒体技术的应用与发展前景
  3. dedecms采集功能扩展
  4. 关于软件系统维护的一点想法
  5. 可作为GC Roots的对象
  6. 今天写了一个含配置文件的 文件分割 及 合并 的java程序。
  7. mysql语言的特点不包括_SQL语言具有两种使用方式,分别称为交互式SQL和__________...
  8. Mysql数据库设计规范之三数据库SQL开发规范
  9. 最近两天遇到的问题 原因 和处理方式 小结
  10. linux搭建redis