cat/etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0max_allowed_packet = 32M[mysqld_safe]log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
启动mysql服务
[root@master ~]# service mysqld start[root@master ~]# mysqlmysql> create database dashboard character setutf8;mysql> grant all privileges on dashboard.* to 'dashboard'@'172.16.%.%'identified by'password';mysql> flush privileges;------------------------------------------------------------------------注释:执行授权用户命令上面或下面其中一条即可mysql> grant all privileges on dashboard.* to 'dashboard'@'master.allen.com'identified by'password'; 2、安装其它的工具
1[root@master ~]# gem install rake 3、在Master主机上安装puppet-dashboard
1[root@master ~]# yum -y --nogpgcheck localinstall puppet-dashboard-1.2.23-1.el6.noarch.rpm 4、导入Dashboard所依赖的数据库
12345678[root@master ~]# cd /usr/share/puppet-dashboard #切换到dashboard安装目录[root@master ~]# rake RAILS_ENV=production db:migrate #导入数据库rake aborted!No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)(See full trace by running task with --trace)[root@master puppet-dashboard]# rake gems:refresh_specs #如果出现如上错误;执行此命令然后重新导入数据库即可[root@master puppet-dashboard]# rake RAILS_ENV=production db:migrate------------------------------------------------------------------------ 5、修改"database.yml"文件中的"production"段如下:
12345678[root@master ~]# vim /usr/share/puppet-dashboard/config/database.ymlproduction:host : 172.16.14.1database: dashboardusername: dashboardpassword: passwordencoding: utf8adapter: mysql 5.5 修改时区
vi/usr/share/puppet-dashboard/config/environment.rb#config.time_zone = 'UTC'config.time_zone = 'shanghai' 6、测试"Dashboard"服务是否工作正常
1234######测试dashboard服务是否能正常启动;出现如下信息说明已经成功,然后按"Crtl+C"组合键结束进程[root@master ~]# /usr/share/puppet-dashboard/script/server -e production=> Booting WEBrick=> Rails 2.3.17 application starting on http://0.0.0.0:3000 7、修改Master主机的"puppet.conf"文件如下:
1234[root@master ~]# vim /etc/puppet/puppet.conf[master] #在"master"段修改或添加如下内容reports = store, httpreporturl = http://172.16.14.1:3000/reports/upload 8、修改Client主机的"puppet.conf"文件如下:
123[root@client ~]# vim /etc/puppet/puppet.conf[agent] #在"agent"段添加如下内容report = true 9、启动服务器端"puppet-dashboard"服务并重启"puppetmaster"服务;然后重启客户端"puppet"服务使配置生效
12345678######在服务端执行[root@master ~]# /usr/share/puppet-dashboard/script/server -e production -d[root@master ~]# ss -tanlp | grep 3000LISTEN 0 5 *:3000 *:* users:(("ruby",30611,5))[root@master ~]# service puppetmaster restart------------------------------------------------------------------------######在客户端执行[root@client ~]# service puppet restart 10、访问dashboard服务,验证是否正常
11.导入报告
?
12cd/usr/share/puppet-dashboardrake RAILS_ENV=production reports:import
执行导入的reports
?
12cd/usr/share/puppet-dashboardrake jobs:work RAILS_ENV="production" 五、配置Puppet Kick
简介:
Puppet客户端默认每30分钟跟服务器通讯一次,但是有时,我们希望服务端能给客户端紧急推送一些任务,于是就有了Puppet kick(Puppet 2.6以前叫 puppetrun)
1、编辑客户端主配置文件
123[root@client ~]# vim /etc/puppet/puppet.conflisten = true注释:在"[agent]"段添加如上内容 2、编辑或新建文件"/etc/puppet/namespaceauth.conf"
1234[root@client ~]# vim /etc/puppet/namespaceauth.conf[puppetrunner]allow *.allen.com注释:添加如上内容 3、编辑文件"/etc/puppet/auth.conf"
123456789[root@client ~]# vim /etc/puppet/auth.confpath /runmethod saveauth anyallow master.allen.com# this one is not stricly necessary, but it has the merit# to show the default policy which is deny everything else注释:如上在这段注释上面添加如上内容[root@client ~]# service puppet restart #重启服务使配置生效 4、在服务端修改前面创建的"site.pp"文件
1234[root@master ~]# vim /etc/puppet/manifests/site.ppfile{"/tmp/allen.txt":content => "ALLEN TEST\n",} 5、在服务端执行推送命令测试是否能成功推送
123# puppet kick -p 10 --host client.allen.com# puppetrun -p 10 --host client.allen.com 注释:在服务端执行如上两条命令任意一个即可;这里使用第一条命令。