Puppet-dashboard安装 小结
【导读】
puppet dashboard是GUI(图形用户界面)方式管理puppet,可以查看puppet运行日志,之前puppetdashboard也安装,配置过,相对过程比较简单,QQ群里有还是有人反应安装了好几次puppet dashboard,都没有成功,本文是sky在虚拟机中安装的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,步骤如下:
■ wgetftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p376.tar.gz
■ cdruby-1.9.1-p376
■./configure –prefix=/usr/local/ruby/
■make -j5&& make install
■exportPATH=/usr/local/ruby/bin/:$PATH ##设置环境变量
■ exportPATH=/usr/local/ruby/bin/:$PATH 添加到/etc/profile ##修改系统变量
现在查看:#which ruby
/usr/local/ruby/bin/ruby
# ruby -v
ruby 1.9.1p376 (2009-12-07 revision 26041)[x86_64-linux]
2 . 安装相关依赖包
yuminstall -y mysql mysql-devel mysql-server ruby ruby-devel ruby-irb ruby-mysql \
ruby-rdoc ruby-ri 备注:如果是自己编译好的mysql,可以指定geminstall mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
3 . 启动数据库服务
chkconfig mysqld on && servicemysqld start
4 .安装GEM软件包安装器
查看本机的gem 版本
gem -v
1.3.1
需要更新到rubygems到1.3.5版本, 更新步骤如下:
#wgethttp://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/gemgem /usr/local/ruby/bin/gem ##替换系统原有gem
再查看gem 版本:
#gem-v
1.3.5 注:也可以使用gem install update system或者update_rubygems 进行更新。
升级到最新可使用:gem install –system
5 .安装rake
#gem install rake
6 下载安装Dashboard:
#wgethttp://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 Packages
baseurl=http://yum.puppetlabs.com/base/
enabled=1
gpgcheck=1
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs把以上保存在/etc/yum.repos.d/puppetlabs.repo 再执行#yum update #yum install puppet-dashboard 至此puppet-dashboard安装完成。 7. 给mysql创建一个mysql数据库,并且指定用户给puppet
创建一个软连接(根据个人配置):
#ln -s /tmp/mysql.sock/var/lib/mysql/mysql.sock
#mysql -uroot -p(密码)
mysql> create database dashboard defaultcharset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> use dashboard
Database changed
mysql> grant all on dashboard.* todashboard@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 给面板建立一个数据库的Yml文件,因为有默认的database.yml.example复制一下。
# cp config/database.yml.exampleconfig/database.yml
10 修改database.yml,我们使用生产环境,所以在以下位置修改:
production:
database: dashboard
username: dashboard
password: dashboard
encoding: utf8
adapter: mysql
host: 填写mysql的ip,如是本机,可直接写localhost
使用rake任务创建刚从在config / database.yml文件设置的数据库
# rake RAILS_ENV=production db:create
出现如下:
(in /usr/local/puppet-dashboard)
!!! The bundled mysql.rb driver has beenremoved from Rails 2.2. Please install the mysql gem and try again: gem installmysql.
rake aborted!
no such file to load – mysql(没有安装mysql的问题,下面执行前确保先安装mysql-devel)
# gem install mysql
# rake RAILS_ENV=production db:migrate(为典型的生产环境配置)
11 .这个面板是使用内置的Webrick的作为web服务器,不需要再安装apache或者nginx.
现在可以启动了,
#cd /usr/local/puppet-dashboard
# script/server -p 3000 -d (“-d”表示后台运行)
假设我们使用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】添加以下内容:
reports = http, store
启动puppetmaster
/etc/init.d/puppetmaster restart
client端配置:
# vi /etc/puppet/puppet.conf
在【agent】添加以下内容:
report = true
启动puppet:
/etc/init.d/puppet restart
————————————————————————
2.6版本的配置
Server端配置:
# vi /etc/puppet/puppet.conf
在[main]段添加如下内容
reports=http
client端配置:
在[puppetd] 段添加如下内容
report = true
——————————————————-
在dashboard主机上再执行
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:importEPORT_DIR=/path/to/your/reports 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=productionFILE=production.sql db:raw:restore