我用nagios--用脚本添加配置文件

简介:
当我们配置好nagios以后,还需要不断的往配置文件中加入监控对象.记得第一次追加监控对象时,有700多个服务及400多个主机,我用vi编辑,花了大量的时间--上万行都是一个一个字符输进去的,很没效率.这次又做了一个nagios监控平台,为了提高效率,我写了一个脚本来处理这些重复输入.
 
在这些配置文件中,hosts.conf与services.conf关联特别大,大量的输入工作就在这里,所以就从这个地方着手吧.
 
先建两个模版文件,其内容分别如下:
host.tempt:
define host {
       host_name                  
       alias                      
       address                    
       contact_groups             sagroup
       check_command             check-host-alive
       max_check_attempts         5
       notification_interval      10
       notification_period        24x7
       notification_options        d,u,r
       }
 
services.tempt:
define service {
        host_name             
        service_description   check_tcp 80
        check_period          24x7
        max_check_attempts    4
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        sagroup
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command      check_tcp!80
        }
define service {
        host_name             
        service_description   check_disk
        check_period          24x7
        max_check_attempts    4
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        sagroup
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check_nrpe!check_disk
        }
define service {
        host_name             
        service_description   check_load
        check_period          24x7
        max_check_attempts    4
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        sagroup
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check_nrpe!check_load
        }
define service {
        host_name             
        service_description   check_procs
        check_period          24x7
        max_check_attempts    4
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        sagroup
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check_nrpe!check_total_procs
        }
 
然后我们再建立添加脚本add_nagios.sh,其内容如下
#!/bin/bash
#writed by sery in Apr 28,2008. [email]sery@163.com[/email]
cd /root/nagios_cfg_script
echo "please  input  host_name: "
read  host_name
echo "please input alias: "
read  alias
echo "please input address: "
read  address
sed -e /host_name/{s/$/$host_name/} -e /alias/{s/$/$alias/} -e /address/{s/$/$address/}\  hosts.tempt>>hosts
sed -e /host_name/{s/$/$host_name/}  services.tempt>>services
 
给脚本执行权限,然后执行add_nagios.sh,交互输入ip地址,别名,主机名3项,就可生成hosts及services文件,然后再备份nagios下的配置文件,把这两个文件追加进去,然后nagios -v nagios.cfg检查一下.
 
如果不想手工交互输入,可以建一个ip地址列表,自动完成这个工作.
 















本文转自sery51CTO博客,原文链接: http://blog.51cto.com/sery/74706 ,如需转载请自行联系原作者

相关文章
|
监控 NoSQL Java
RedisManager使用手册(二) -- 配置文件详解
RedisManager基于SpringBoot开发,目前主要的配置都写在了application.yml文件中,通过@Value注解在代码中直接注入使用。同时还有部分定时job的配置记录在了schedule.properties文件中。
3386 0
|
关系型数据库 MySQL 应用服务中间件
|
Apache 数据安全/隐私保护