nagios分布式配置(1)(4)
查看源代码
打印帮助0chmod +x /usr/local/nagios/libexec/submit_host_check_result
1chown nagios.nagios submit_host_check_result
3.在command.cfg文件中定义submit_service_check_result,submit_host_check_result命令
查看源代码
打印帮助0vi /usr/local/nagios/etc/objects/command.cfg #加入以下内容
1define command{
2command_name submit_service_check_result
3command_line /usr/local/nagios/libexec/submit_service_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$SERVICEOUTPUT$'
4}
5define command{
6command_name submit_host_check_result
7command_line /usr/local/nagios/libexec/submit_host_check_result $HOSTNAME$ $HOSTSTATE$ '$HOSTOUTPUT$'
8}
4.配置示例
查看源代码
打印帮助00define host{
01name test
02use generic-host
03address 192.168.0.8 #分布式服务端内监控的主机地址
04}
05define service{
06use generic-service #根据实际情况修改
07host_name test
08service_description CPU Load
09check_command check_nrpe!check_load
10}
BTW:请注意分布式服务端与主服务端定义主机与服务配置的区别,当分布式服务端定义了主机与服务时,同样需要在主服务端定义一次。以下几个参数无需在分布式服务端特殊定义。
check_freshness,freshness_threshold,passive_checks_enabled,active_checks_enabled
freshness_threshold 强制刷新时间,主要的作用是当分布式服务端未提交新的数据时,服务端可以强制进行状态刷新,进行及时的预警。
如何在不安装分布式nagios的情况下,监控另一防火墙后的内网主机呢?其实方法很多,比如check_ssh,这里共享一个方法,该方法是同事nonamexz想到的。
通过nagios的自定义变量,在nrpe的命令行增加一个端口的参数,自定义端口,通过防火墙进行映射至内网不同的服务器
查看源代码
打印帮助00define command{
01command_name check_NRPE #定义一个新的命令
02command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p $_HOSTPORT$ -t 60
03}
04define host{
05name test
06use generic-host
07address 2.2.2.2 #需要监控的服务器的外网地址,比如防火墙地址
08_PORT 5668 #自定义的外网端口,改端口是通过防火墙进行内的需要监控的服务器的nrpe的端口映射
09}
10define service{
11use generic-service
12host_name test
13service_description CPU Load
14check_command check_NRPE!check_load #这里定义的时候,使用自定义的nrpe
通过文章的介绍,我们清楚的知道了nagios分布式配置全过程!
- RHEL安装nagios
- Nagios :扩展提示信息发送方式(smtp, msn, fetion)
- nagios 安装过程
- 启动nagios服务
- 如何编写 Nagios 插件
- 配置 新的Nagios
评论暂时关闭