blueice 发表于 2018-8-3 09:04:30

puppet-dashboard 安装(草稿)

  接着上面的puppet安装一文,虽然puppet会很努力的工作,但还有个问题,我们想了解puppet节点的运行情况,也就是回馈,因为编写puppet语法规则难免出错。但是report目录下的yaml 文件又不具有可读性,客户端很多则邮件又会被淹没,于是这就有了dashboard。
dashboard 跟cacti 有点类似,都使用mysql作为后端数据库。沿袭前面文章的环境centos 6 服务端 puppet .test.org客户端 apache01.test.org已经配置好了http + passenger  安装dashboard
yum install puppetlabs-release  
yum install puppet-dashboard mysql-server ruby-mysql
配置mysql数据库# service mysqld start  
# mysql -u root -p
  
mysql> CREATE DATABASE dashboard_production CHARACTER SET utf8;

  
>CREATE USER 'dashboard'@'localhost'>  
>GRANT ALL PRIVILEGES ON dashboard_production.* TO 'dashboard'@'localhost';
  
> flush privileges;
  编辑/usr/share/puppet-dashboard/config/database.yml,修改如下
production:  
database: dashboard_production
  
username: dashboard
  
password: dashboard
  
encoding: utf8
  
adapter: mysql
导入数据# cd /usr/share/puppet-dashboard/  
# rake gems:refresh_specs
  
# rake RAILS_ENV=production db:create
  
# rake RAILS_ENV=production db:migrate
  启动puppet-dashboard
chmod 666 /usr/share/puppet-dashboard/log/production.log  
servicepuppet-dashboard start
  这样,puppet-dashboard 就会监听在本地3000端口,使用的是ruby自带的http服务器webrick,可以通过web浏览了。
  apache作为前端
  配置httpd虚拟主机
cp /usr/share/puppet-dashboard/ext/passenger/dashboard-vhost.conf /etc/httpd/conf.d/dashboard.conf  配置文件同样是给debian/ubuntu 用的,需要做一些修改
1、将日志选项路径 /var/log/apache2 改为/var/log/httpd2、取个puppet主机的子域名 dashboard.puppet.test.org3、模块路径由
[*]  /var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
修改为
[*]  /usr/lib64/httpd/modules/mod_passenger.so
4、passenger路径替换,将
[*]  /var/lib/gems/1.8/gems/passenger-2.2.11
修改为
[*]  /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
(版本号可能有差异,请事先查看是否存在类似的目录)(其实之前已经配置了passenger,所以这行导入模块可以注释掉) 修改后大概就是这个样子(前3行可以注释掉)
[*]  # LoadModule passenger_module /usr/lib64/httpd/modules/mod_passenger.so
[*]  # PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.12
[*]  # PassengerRuby /usr/bin/ruby
[*]  # you may want to tune these settings
[*]  PassengerHighPerformance on
[*]  PassengerMaxPoolSize 12
[*]  PassengerPoolIdleTime 1500
[*]  # PassengerMaxRequests 1000
[*]  PassengerStatThrottleRate 120
[*]  RailsAutoDetect On
[*]  <VirtualHost *:80>
[*]  ServerName dashboard.puppet.test.org
[*]  DocumentRoot /usr/share/puppet-dashboard/public/
[*]  <Directory /usr/share/puppet-dashboard/public/>
[*]  Options None
[*]  Order allow,deny
[*]  allow from all
[*]  </Directory>
[*]  ErrorLog /var/log/httpd/dashboard.puppet.test.org_error.log
[*]  LogLevel warn
[*]  CustomLog /var/log/httpd/dashboard.puppet.test.org_access.log combined
[*]  ServerSignature On
重启httpd
[*]  service httpd restart
实时报告设置puppet客户端每次执行完任务后立即报告给dashboard在apache01.test.org上设置puppet客户端
[*]  
[*]  report = true
在puppet.test.org 上设置puppet服务端
[*]  
[*]  reports = store,http
[*]  reporturl = http://dashboard.puppet.test.org:80/reports
导入现有yml文件报告
[*]  #rake RAILS_ENV=production reports:import REPORT_DIR=/var/lib/puppet/
最后一步
[*]  cp /usr/share/puppet-dashboard/ext/puppet/puppet_dashboard.rb /var/lib/puppet/reports/
启动服务
[*]  # /etc/init.d/puppet-dashboard start
[*]  # /etc/init.d/puppet-dashboard-workers start
页: [1]
查看完整版本: puppet-dashboard 安装(草稿)