您的位置:首页 > 运维架构 > Nginx

puppet-dashboard安装及用apache和nginx进行管理

2013-12-11 18:25 417 查看
puppet dashboard是GUI(图形用户界面)方式管理puppet,可以分析puppet运行日志。一、安装:
1、添加第三方包仓库EPEL:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 2、安装ruby环境:
yum -y install ruby ruby-devel ruby-irb ruby-rdoc ruby-ri ruby-libs ruby-rdoc openssl-devel 3、安装dashboard依赖包:
yum install -y mysql mysql-devel mysql-server ruby-mysql 6、安装dashboard
wget http://downloads.puppetlabs.com/dashboard/puppet-dashboard-1.2.23.tar.gz tar xf puppet-dashboard-1.2.23.tar.gz mv puppet-dashboard-1.2.23 /usr/local/dashboard 7、启动mysql
service mysqld start二、配置dashboard: 1、编辑database.yml来指定数据库:
cd /usr/local/dashboard vim config/database.yml
production: database: dashboard username: dashboard password: dashboard encoding: utf8 adapter: mysql
2、使用rake命令基于database.yml来创建数据库dashboard: rake RAILS_ENV=production db:create(如果报错,就手动创建数据库)注:如果使用rake报错:rake aborted!undefined method `source_index' for Gem:Module可能是gem版本过高或者过低导致,解决办法:gem update --system 1.8.25
mysql -uroot -pmysql> create database dashboard default charset utf8;mysql>use dashboard;mysql>grant all on dashboard.* to dashboard@localhost identified by 'dashboard' ;mysql>flush privileges; mysql>exit
3、填充数据库:
rake RAILS_ENV=production db:migrate
4、修改dashboard的显示时区,默认为UTC,改为北京:vim config/environment.rb
config.time_zone = "Beijing"
三、启动dashboard: 1、启动dashboard日志分析进程 env RAILS_ENV=production /usr/local/dashboard/script/delayed_job -p dashboard -n 4 -m start 2、检查分析进程是否启动 ps -ef|grep delayed_job|grep -v grep 3、启动dashboard的GUI界面webrick(注:此方法不被推荐,建议使用apache+passenger或nginx+passenger来运行)
/usr/local/dashboard/script/server -e production 通过http://ip:3000访问测试。四、使用apache+Passenger运行puppet-dashboard: passenger比webrick复杂很多,也比webrick具有更好的性能,还能和apache或nginx组合在一起。
1、安装apache:
yum install -y httpd httpd-devel 2、安装rubygems
wget http://rubyforge.org/frs/download.php/76729/rubygems-1.8.25.tgz tar xf rubygems-1.8.25.tgz cd rubygems-1.8.25 ruby setup.rb 3、修改gem的源仓库 gem sources -l 查看gem源 gem sources -a http://ruby.taobao.org/ 添加国内镜像源
gem sources --remove http://rubygems.org/ 删除国外源 4、安装passenger: gem install passenger 5、创建apache passenger模块:
passenger-install-apache2-module 6、配置apache主配置文件httpd.conf,添加如下内容:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10/buildout/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.10 PassengerRuby /usr/bin/ruby PassengerHighPerformance on
#PassengerUseGlobalQueue on #该选项在已被废弃 PassengerMaxPoolSize 6 #passenger启动的线程数,通常为cpu核心个数的1.5倍 PassengerMaxRequests 4000 #passenger接受的最大请求数
PassengerPoolIdleTime 1800 #关闭空闲超过1800秒的passenger实例<VirtualHost *:80> ServerName dashboard.cmmobi-wh.com DocumentRoot /usr/local/dashboard/public/ <Directory /usr/local/dashboard/public/> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory></VirtualHost>
7、启动apache: service httpd restart
五、使用Nginx+Passenger运行puppet-dashboard: 1、编译安装nginx,加上passenger模块: ./configure --add-module=/usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10/ext/nginx 2、修改nginx配置文件如下:
http { ... passenger_root /usr/lib64/ruby/gems/1.8/gems/passenger-4.0.10; passenger_ruby /usr/bin/ruby; ... } server { listen 80; server_name www.dashboard.com; root /usr/local/dashboard/public; passenger_enabled on; }
六、汇总显示报告: 1、导入现有report:
cd /usr/local/dashboard rake RAILS_ENV=production reports:import 2、实时导入report:
puppet client端编辑/etc/puppet/puppet.conf
[agent] report = true
puppet master端编辑/etc/puppet/puppet.conf
reports = http,store reporturl = http://172.16.5.156:80/reports
service puppetmaster restart service puppet restart七、数据库维护: 1、当puppet dashboard数据量过多的时候,需要优化数据库,可使用命令: rake RAILS_ENV=production db:raw:optimize 2、清理dashborad一个月之前的数据: rake RAILS_ENV=production reports:prune upto=1 unit=mon 3、备份puppet dashborad数据库: rake RAILS_ENV=production FILE=/my/backup/file.sql db:raw:dump 4、恢复数据:
rake RAILS_ENV=production FILE=production.sql db:raw:restore

linux交流群:22346652。欢迎Linux爱好者加入,一起学习,一起进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息