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

CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统

2015-02-13 15:19 549 查看
测试框架

?
Puppet 要求所有机器有完整的域名(FQDN),如果没有 DNS 服务器提供域名的话,可以在两台机器上设置主机名(注意要先设置主机名再安装 Puppet,因为安装 Puppet 时会把主机名写入证书,客户端和服务端通信需要这个证书),因为我配置了DNS,所以就不用改hosts了,如果没有就需要改hosts文件指定。

1.关闭selinux,iptables,并设置ntp 采用CentOS-6.6-x86_64.iso进行minimal最小化安装

关闭selinux

?
停止iptables

?
设置ntp

?
2.安装puppet服务 puppet不在CentOS的基本源中,需要加入 PuppetLabs 提供的官方源:

?
在 master上安装和启用 puppet 服务:

?
在clients上安装puppet客户端

?
3.配置puppet

对于puppet 客户端,修改/etc/puppet/puppet.conf,指定master服务器





并重启puppet服务

?
4.Client申请证书 服务端自动签发证书设置 设置master自动签发所有的证书,我们只需要在/etc/puppet目录下创建 autosign.conf文件。(不需要修改 /etc/puppet/puppet.conf文件,因为我默认的autosign.conf 文件的位置没有修改)

?
这样就会对所有来自fisteam2.com的机器的请求,都自动签名。 client需要向服务器端发出请求, 让服务器对客户端进行管理. 这其实是一个证书签发的过程. 第一次运行 puppet 客户端的时候会生成一个 SSL 证书并指定发给 Puppet 服务端, 服务器端如果同意管理客户端,就会对这个证书进行签发,可以用这个命令来签发证书,由于我们已经在客户端设置了server地址,因此不需要跟服务端地址

?




就可以申请证书了,由于我配置的自动签发证书,所以直接就签发了,在服务端执行

?




Nagios服务器安装

1.安装Nagios相关依赖包

?
2.创建Nagios用户与组

?
创建nagcmd用户组以执行来自Web接口命令,并添加nagios和apache用户到此用户组

?
3.下载Nagios和Plugins软件包
http://www.nagios.org/download/下载Nagios Core和Nagios Plugins





4.编译安装Nagios

?
#运行Nagios配置脚本,并把nagcmd更改为之前所创建的组


?
#编译Nagios源码


?
#安装二进制文件、init脚本文件、sample配置文件,设置外部命令目录权限


?
5.修改配置文件

样式配置文件位于/usr/local/nagios/etc目录,可以更改email地址

?
6.配置Web界面

在Apache的conf.d目录中安装Nagios Web配置文件

?
创建nagiosadmin帐号登录Nagios Web接口

?
开启httpd服务使配置生效并设置开机自启





7.编译安装Nagios Plugins

?
8.编译安装Nrpe

?




9.启动Nagios

本机监控HTTP SSH的Notifications显示警告错误,解决方法

?
启动Nagios之前测试配置文件

?




启动Nagios、nrpe并设置开机自启

?
执行/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1检查连接是否正常





使用之前定义的nagiosadmin帐号与密码登录Nagios,地址:http://192.168.188.20/nagios/









创建Nagios客户端监控

1.Puppet Master安装相应模块

Nagios没有目前没有提供官方软件源,在批量部署时可以使用第三方epel源,采用Example42所提供的puppet-nrpe来实现Linux服务器批量部署。部署客户端使用官方3个模块:epel、nrpe、puppi。

epel模块用于安装nrpe软件,nrpe模块用于收集主机信息,puppi属于Example42模块组件,使用Example42模块时都需要加载此模块。

Puppi是一个Puppet模块和CLI命令,他可以标准化和自动化快速部署应用程序,并提供快速和标准查询命令,检查系统资源。

?




2.创建agent节点组配置文件

?
3.配置Nagios添加agent.redking.com主机监控

修改/usr/local/nagios/etc/objects/commands.cfg

command_name check_nrpe ——定义命令名称为check_nrpe,services.cfg必须使用

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ ——用$USER1$代替/usr/local/nagios/libexec

这是定义实际运行的插件程序.这个命令行的书写要完全按照check_nrpe这个命令的用法.不知道用法的就用check_nrpe –h查看; -c后面带的$ARG1$参数是传给nrpe daemon执行的检测命令,它必须是nrpe.cfg中所定义的5条命令中的其中一条。

?
修改/usr/local/nagios/etc/nagios.cfg

?
增加agent1~3.redking.com.cfg配置文件

?
检测Nagios服务并重启使配置生效

?




客户端测试

?
客户端自动部署nrpe





下面我们来看下客户端自动化部署nrpe后采集信息的nagios监控界面

























NRPE模块中定义的nrpe.cfg包含大量脚本,我们可以直接拿来使用当然也可以自己修改nrpe.cfg.erb模板内容。在批量部署时可以分别采用自己编写的模块或者现有模块来实现,利用现有模块几乎能实现系统管理日常工作中90%任务,剩余的10%我们可以根据生产业务来自己定制。





========================END=================================
http://redking.blog.51cto.com/27212/1612136
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: