puppet项目计划之(puppetdashboard图形管理篇)在服务端安装puppet的dashboard
1、安装mysql
2、yuminstall-y mysql mysql-devel mysql-server
3、优化mysql设置
编辑 /etc/my.cnf, 在[mysqld]字段,增加最后一行
cat/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommendedto prevent assorted security risks
symbolic-links=0
max_allowed_packet = 32M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
4、启动服务
/etc/init.d/mysqldstart
chkconfig mysqld on
5、设置mysql密码,我这里使用是密码是password
Mysqladmin –u root password `password`
创建一个dashboard数据库
6、mysql -uroot -p123456 <
CREATE DATABASE dashboardCHARACTER SET utf8;
CREATE USER'dashboard'@'localhost'IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ONdashboard.* TO 'dashboard'@'localhost';
FLUSH PRIVILEGES;
EOFPassenger+Apache+Dashboard这是让Apache支持ruby,由于Passenger不在centos官方源里,因此要添加epel的源
1、wgethttps://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-3.noarch.rpm
2、rpm -ivhepel-release-5-3.noarch.rpm
3、编写yum源以便找到mod_passenger puppet-dashboard
[geek-puppet]
name=Geek-puppet Repo
baseurl=http://download.longgeek.com/Puppet_for_rhel6.2/
gpgcheck=0
4、yuminstall mod_passenger puppet-dashboard
5、配置Dashboard
vi/usr/share/puppet-dashboard/config/database.yml
production:
database: dashboard
username: dashboard
password: password
encoding: utf8
adapter: mysql
6、修改时区
vi/usr/share/puppet-dashboard/config/environment.rb
#config.time_zone= 'UTC'
config.time_zone= 'Beijing'
7、配置Apache我们需要整合Passenger和apache
vim/etc/httpd/conf.d/passenger.conf
LoadModule passenger_modulemodules/mod_passenger.so
PassengerRoot/usr/share/rubygems/gems/passenger-3.0.17
PassengerRuby /usr/bin/ruby
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
PassengerStatThrottleRate 120
RailsAutoDetect On
ServerName master.kylinyunwei.com
DocumentRoot "/usr/share/puppet-dashboard/public/"
Options None
AllowOverride AuthConfig
Order allow,deny
allow from all
ErrorLog /var/log/httpd/master.kylinyunwei.com_error.log
LogLevel warn
CustomLog/var/log/httpd/master.kylinyunwei.com_access.log combined
ServerSignature On
8、重启服务
[root@master ~]# servicehttpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]配置puppet让Dashboard使用Reports,现在默认agent是已经启用Report的功能,所以你就不需要设置agent,你只需要设置Server端就可以
1、vi/etc/puppet/puppet.conf
[master]
reports = store, http
reporturl = http://master.canghai.com:80/reports/upload
2、重启puppetmaster 服务
/etc/init.d/puppetmasterrestart
3、这时候就可以直接用 http://ip 访问puppet Dashboard
4、导入报告
cd/usr/share/puppet-dashboard
[root@masterpuppet-dashboard]# rake RAILS_ENV=production reports:import
(in/usr/share/puppet-dashboard)
Unable to read the packagingrepo info from ext/build_defaults.yaml
Importing 176 reports from/var/lib/puppet/reports/ in the background
Importing: 100%|#######################################################################################################################|Time: 00:00:04
176 of 176 reports queued
5、执行导入的reports
cd/usr/share/puppet-dashboard
rake jobs:workRAILS_ENV="production"
[root@masterpuppet-dashboard]# rake jobs:work RAILS_ENV="production"
(in /usr/share/puppet-dashboard)
Unable to readthe packaging repo info from ext/build_defaults.yaml
[Worker(host:master.kylinyunwei.compid:19114)] Starting job worker
[Worker(host:master.kylinyunwei.compid:19114)] Report.create_from_yaml_file completed after 0.3231
[Worker(host:master.kylinyunwei.compid:19114)] 1 jobs processed at 2.8080 j/s, 0 failed ...
6、查看结果
7、成功报告