自動化運維–puppet dashboard安裝配置教程

【導讀】

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