【導讀】
puppet dashboard是GUI(圖形用戶界面)方式管理puppet,可以查看puppet運行日志,之前puppet dashboard也安裝,配置過,相對過程比較簡單,以供參考。
【配置前準備】:
1 確認ruby版本(官方要求的版本1.8.4到1.8.7):
#ruby -v
ruby 1.8.5 (2006-08-25) [x86_64-linux]
注:后面會安裝rake,它會提示我們的ruby版本要>1.8.6。(本文主要針對編譯安裝,對于yum安裝直接yum install rubygems即可)
先升級ruby,步驟如下:
- wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.gz
- cd ruby-1.9.1-p376
- ./configure –prefix=/usr/local/ruby/
- make -j5 && make install
- export PATH=/usr/local/ruby/bin/:$PATH ##設(shè)置環(huán)境變量
- export PATH=/usr/local/ruby/bin/:$PATH 添加到/etc/profile ##修改系統(tǒng)變量
現(xiàn)在查看:#which ruby
/usr/local/ruby/bin/ruby
# ruby -v
ruby 1.9.1p376 (2009-12-07 revision 26041) [x86_64-linux]
2 . 安裝相關(guān)依賴包
yum install -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql ruby-rdoc ruby-ri
3 . 啟動數(shù)據(jù)庫服務
chkconfig mysqld on && service mysqld start
4 .安裝GEM軟件包安裝器
查看本機的gem 版本
gem -v
1.3.1
需要更新到rubygems到1.3.5版本,
更新步驟如下:
#wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.5.tgz
注:1.3.5版本以上和centos5.5不兼容。
# tar zxvf rubygems-1.3.5.tgz
# cd rubygems-1.3.5
# ruby setup.rb
# update-alternatives –install /usr/bin/gem gem /usr/local/ruby/bin/gem ##替換系統(tǒng)原有g(shù)em
再查看gem 版本:
#gem -v1.3.5
注:也可以使用gem install update system或者update_rubygems 進行更新。
升級到最新可使用:gem install –system
5 .安裝rake
#gem install rake
6 下載安裝Dashboard:
#wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.2.tar.gz
#tar zxvf puppet-dashboard-1.2.2.tgz –C /usr/local/puppet-dashboard
也可以使用puppetlabs實驗室的源,使用yum安裝,簡單步驟如下:
[puppetlabs]name=Puppet Labs Packagesbaseurl=http://yum.puppetlabs.com/base/enabled=1gpgcheck=1gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
把以上保存在/etc/yum.repos.d/puppetlabs.repo
再執(zhí)行#yum update
#yum install puppet-dashboard
至此puppet-dashboard安裝完成。
7. 給mysql創(chuàng)建一個mysql數(shù)據(jù)庫,并且指定用戶給puppet
創(chuàng)建一個軟連接(根據(jù)個人配置):
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
#mysql -uroot -p(密碼)
mysql> create database dashboard default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> use dashboard
Database changed
mysql> grant all on dashboard.* to dashboard@localhost identified by ‘dashboard’ ;
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
8 下面的重點:先進入面板的安裝目錄,在進行下面的操作:
#cd /usr/local/puppet-dashboard
9 給面板建立一個數(shù)據(jù)庫的Yml文件,因為有默認的database.yml.example 復制一下。
# cp config/database.yml.example config/database.yml
10 修改database.yml,我們使用生產(chǎn)環(huán)境,所以在以下位置修改:
production:
database: dashboard
username: dashboard
password: dashboard
encoding: utf8
adapter: mysql
host: 填寫mysql的ip,如是本機,可直接寫localhost
使用rake任務創(chuàng)建剛從在config / database.yml文件設(shè)置的數(shù)據(jù)庫
# rake RAILS_ENV=production db:create
出現(xiàn)如下:
(in /usr/local/puppet-dashboard)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load – mysql(沒有安裝mysql的問題,下面執(zhí)行前確保先安裝mysql-devel)
# gem install mysql
# rake RAILS_ENV=production db:migrate(為典型的生產(chǎn)環(huán)境配置)
11 .這個面板是使用內(nèi)置的Webrick的作為web服務器,不需要再安裝apache或者nginx.
現(xiàn)在可以啟動了,
#cd /usr/local/puppet-dashboard
# script/server -p 3000 -d (“-d”表示后臺運行)
假設(shè)我們使用3000端口(默認3000)
可以使用script/server –help查看更詳細的用法
12.可以使用http://ip:3000進行查看,ip為安裝dashboard的機器更多操作的圖就不顯示出來了。
可以自己體驗勞動成果。
13.為方便puppet dashboad的啟動與停止,我寫好了相應的shell腳本,在本文后面提供下載。
【puppet dashboard配置】:
Server端配置:
注:yum安裝puppet的版本號是0.25.X,編譯安裝的版本號是2.6.X,配置略有不同請注意,
以下是2.7版本的配置。
# puppetmasterd –configprint libdir
# vi /etc/puppet/puppet.conf
在【main】添加以下內(nèi)容:
reports = http, store
啟動puppetmaster
/etc/init.d/puppetmaster restart
client端配置:
# vi /etc/puppet/puppet.conf
在【agent】添加以下內(nèi)容:
report = true
啟動puppet:
/etc/init.d/puppet restart
————————————————————————
2.6版本的配置
Server端配置:
# vi /etc/puppet/puppet.conf
在[main]段添加如下內(nèi)容
reports=http
client端配置:
在[puppetd] 段添加如下內(nèi)容
report = true
——————————————————-
在dashboard主機上再執(zhí)行
cp /usr/local/puppet-dashboard/ext/puppet/puppet_dashboard.rb /usr/lib/ruby/site_ruby/1.8/puppet/reports/
rake RAILS_ENV=production reports:import 導入日志rake RAILS_ENV=production reports:import EPORT_DIR=/path/to/your/reports
puppet dashboard常用操作命令如下:
當puppet dashboard數(shù)據(jù)量過多的時候,需要優(yōu)化數(shù)據(jù)庫,可使用命令:
rake RAILS_ENV=production db:raw:optimize
清量dashborad一個月之前的數(shù)據(jù)??梢允褂?/strong>
rake RAILS_ENV=production reports:prune upto=1 unit=mon
備份puppet dashborad數(shù)據(jù)庫,可以使用如下命令:
rake RAILS_ENV=production db:raw:dump
備份sql并輸出到文件:
rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump
恢復puppet dashboard數(shù)據(jù)庫,可以使用如下命令:
rake RAILS_ENV=production FILE=production.sql db:raw:restore