puppet-dashboard安裝配置

 2013/3/19 10:28


系統環境:
        Centos6.2_x86_64
        puppet-3.0.2

一、安裝puppet-dashboard



yum install rubygem-rake ruby-mysql mysql-server puppet-dashboard



二、修改mysql配置
    
    1.  修改單行最大容量

vim /etc/my.cnf
           
max_allowed_packet = 32M        #[mysqld]內加入

 

    2.  配置默認字符集爲utf8

defalut-character-set = utf8    #[mysqld]和[client]內加入


    3.  創建mysql數據庫和用戶

create database dashboard;
grant all on dashboard.* to puppet@'localhost' identified by 'centos';
flush privileges;


三、配置puppet-dashboard

    1.  修改database.yml

vim /usr/share/puppet-dashboard/config/database.yml

production:
  database: dashboard
  username: puppet
  password: centos
  encoding: utf8
  adapter: mysql


    2.  導入表結構,依次執行如下命令

cd /usr/share/puppet-dashboard
rake gems:refresh_specs
rake RAILS_ENV=production db:migrate


    3.  測試puppet-dashboard能否工作

/usr/share/puppet-dashboard/script/server -e production  



     4.  啓動完成後訪問http://ip:3000測試

四、配置puppet服務端和客戶端
  1. 服務器端配置    
    vim /etc/puppet/puppet.conf        #在[main]內添加

    reports = http,store
    reporturl = http://IP:3000/reports/upload

    修改完畢後重啓puppetmaster服務
     
     
     
  2. 在客戶端配置

    vim /etc/puppet/puppet.conf           #在[agent]內添加

    report = true

    修改完畢後重啓puppet服務
五、dashboard相關命令
  1. 導入已有的報告

    cd /usr/share/puppet-dashboard
    rake RAILS_ENV=production reports:import               

  2. 運行分析報告進程
  3. env RAILS_ENV=production /usr/share/puppet-dashboard/script/delayed_job -p dashboard -n 4 -m start          #-n 指定啓動多少個進程,-m stop 停止分析進程,-m start 啓動分析進程


  4. 後臺運行dashboard
    /usr/share/puppet-dashboard/script/server -e production -d    

六、puppet-dashboard+apache配置
  1. 解決依賴關係
    yum install httpd mod_passenger
  2. 配置apache

vim /etc/httpd/conf.d/passenger.conf
 
LoadModule passenger_module modules/mod_passenger.so
<IfModule mod_passenger.c>
   PassengerRoot /usr/share/rubygems/gems/passenger-3.0.17
   PassengerRuby /usr/bin/ruby
 
   PassengerHighPerformance on
   PassengerMaxPoolSize 12
   PassengerPoolIdleTime 1500
   PassengerStatThrottleRate 120
   RailsAutoDetect On
</IfModule>
<VirtualHost *:8001>
       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
        ServerSignature On
</VirtualHost>

 
七、整合puppetmaster到apache
  1. 解決依賴關係
    yum install mod_ssl
  2. 創建apache配置
    cp /usr/share/puppet/ext/rack/files/apache2.conf /etc/httpd/conf.d/rack.conf
    mkdir -p /etc/puppet/rack/public
    cp /usr/share/puppet/ext/rack/files/config.ru /etc/puppet/rack/

  3. 修改apache配置
    vim /etc/httpd/conf.d/rack.conf
     
    # you probably want to tune these settings             #註釋這些配置,因爲已經在passenger.conf中定義
    #PassengerHighPerformance on
    #PassengerMaxPoolSize 12
    #PassengerPoolIdleTime 1500
    # PassengerMaxRequests 1000
    #PassengerStatThrottleRate 120
    #RackAutoDetect Off
    #RailsAutoDetect Off
     
    Listen 8140
     
    <VirtualHost *:8140>
            SSLEngine on
            SSLProtocol -ALL +SSLv3 +TLSv1
            SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP
     
            SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet.server.cihi.cn.pem       #修改這裏對應的路徑
            SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.server.cihi.cn.pem
            SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
            SSLCACertificateFile    /var/lib/puppet/ssl/ca/ca_crt.pem
            SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem
            SSLVerifyClient optional
            SSLVerifyDepth  1
        . . .  

  4. 驗證測試

八、puppet dashboard常用操作命令如下:

當puppet dashboard數據量過多的時候,需要優化數據庫,可使用命令:

    rake RAILS_ENV=production db:raw:optimize

清量dashborad一個月之前的數據。可以使用

    rake RAILS_ENV=production reports:prune upto=1 unit=mon

備份puppet dashborad數據庫,可以使用如下命令:

rake RAILS_ENV=production db:raw:dump

備份sql並輸出到文件:

rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump 

恢復puppet dashboard數據庫,可以使用如下命令:

rake RAILS_ENV=production FILE=production.sql db:raw:restore

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章