当前位置: 首页 > 科技观察

【博文推荐】CentOS6.6+Puppet3.7.3分布式部署Zabbix2.4监控系统

时间:2023-03-12 20:49:57 科技观察

此博文来自博主redking。有问题欢迎进入博主专页进行互动讨论!博客地址:http://redking.blog.51cto.com/27212/1604984OS:CentOS-6.6-x86_64(Minimal)Puppet3.7.3Zabbix2.4Puppet/Zabbixmaster:master/zabbix.redking.comPuppet/Zabbixagent:agent1~5.redking.comPuppet安装1.在服务器端安装puppet-server。Puppet不包含在CentOS的基本源代码中。您需要添加PuppetLabs提供的官方来源。在PuppetMaster服务器端安装puppet-server,自动匹配安装Facter等相关依赖包[root@master~]#rpm-ivhhttp://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm[root@master~]#yuminstall-ypuppet-server[root@master~]#chkconfigpuppetmasteron[root@master~]#servicepuppetmasterstart2。客户端安装puppet[root@agent~]#rpm-ivhhttp://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm[root@agent~]#yuminstall-ypuppet[root@agent~]#chkconfigpuppeton[root@agent~]#servicepuppetstartPuppetMaster服务器配置1、配置自动认证,让redking.com域内的所有主机自动颁发证书。创建autosign.conf文件[root@master~]#cat>/etc/puppet/autosign.conf<*.redking.com>EOF[root@master~]#PuppetAgent客户端配置1.修改客户端主配置文件puppet.conf增加监控并指定服务器域名[root@agent~]#vim/etc/puppet/puppet.conf[agent]listen=trueserver=master.redking.comPuppet测试以便我们可以使用Puppet来管理Puppet,通过配置puppet模块来管理所有的puppet客户端,并将配置文件应用到所有需要的server客户端发送请求到服务器让服务器管理客户端。这其实就是一个颁发证书的过程。当Puppet客户端第一次运行时,会生成一个SSL证书并发送到Puppet服务器。如果服务器同意管理客户端将颁发此证书。您可以使用此命令来颁发证书。由于我们已经在客户端设置了服务器地址,所以不需要按照服务器地址[root@agent~]#puppetagent--test查看详情,了解注册流程,以后排查问题,可以加上参数-no-daemonize前台输出日志--verbose输入更详细的日志--debug更详细的日志,故障排除时用--test表示测试,带一个--test参数即可[root@agent~]#puppetagent--no-daemonize--onetime--verbose--debugserver查看证书颁发信息[root@master~]#puppetcertlist--allZabbixServer安装1.配置软件仓库,安装Zabbix[root@master~]#rpm-ivhhttp://repo。zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm[root@master~]#yuminstall-yzabbix-server-mysqlzabbix-web-mysqlmysql-server创建Zabbix运行默认情况下用户和组,并创建一个Web服务器Apache虚拟主机配置文件。2.创建数据库,导入数据表[root@master~]#rpm-ivhhttp://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm[root@master~]#yuminstall-yzabbix-server-mysqlzabbix-web-mysqlmysql-server[root@master~]#servicemysqldstart[root@master~]#chkconfigmysqldon[root@master~]#mysqladmin-urootpassword'123456'[root@master~]#mysql-uroot-p123456mysql>createdatabasezabbixcharactersetutf8;mysql>grantallprivilegesonzabbix.*tozabbix@localhostidentifiedby'zabbix';mysql>flushprivileges;进入Zabbix数据库文件目录导入数据库信息[root@master~]#cd/usr/share/doc/zabbix-server-mysql-2.4.3/create/[root@mastercreate]#mysql-uroot-p123456zabbix”指定资源之间的依赖顺序关系。[root@master~]#vim/etc/puppet/modules/zabbix/manifests/init.ppclasszabbix{package{'zabbix-agent':ensure=>installed,require=>Yumrepo["zabbix"],}yumrepo{'zabbix':baseurl=>"http://repo.zabbix.com/zabbix/2.4/rhel/\$releasever/\$basearch/",descr=>"ZabbixOfficialRepository",enabled=>1,gpgcheck=>0,}file{'/etc/zabbix/zabbix_agentd.conf':content=>template("zabbix/zabbix_agentd_conf.erb"),ensure=>file,}service{'zabbix-agent':ensure=>"running",hasstatus=>true,enable=>true,subscribe=>[文件["/etc/zabbix/zabbix_agentd.conf"]],}包["zabbix-agent"]->文件["/etc/zabbix/zabbix_agentd.conf"]->service["zabbix-agent"]}3.创建模块文件[root@master~]#vim/etc/puppet/modules/zabbix/templates/zabbix_agentd_conf.erbPidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logEnableRemoteCommands=1LogRemoteCommands=1Server=<%=zabbix_server%>Hostname=<%=fqdn%>ListenIP=<%=ipaddress%>Include=/etc/zabbix/zabbix_agentd.d/4。创建节点文件[root@master~]#mkdir/etc/puppet/manifests/nodes[root@master~]#vim/etc/puppet/manifests/nodes/agentgroup.ppnode/^agent\d+\.redking\.com$/{$zabbix_server="zabbix.redking.com"includezabbix}5。修改site.pp,将测试节点加载到Puppet[root@master~]#vim/etc/puppet/manifests/site.ppPackage{allow_virtual=>true,}import"nodes/agentgroup.pp"nodeagent.redking.comtest[root@agent~]#puppetagent--testclient已经自动安装zabbix-agent并启动服务#p#ZabbixWeb界面测试设置Discovery规则设置ActionsMonitoring界面=====================================结束================================