温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nagios下批量添加hosts.cfg脚本

发布时间:2020-06-21 23:59:48 来源:网络 阅读:1190 作者:chbo_yang 栏目:移动开发

前言



  随着业务的增加,我们所要监控的remote_linux数越来越多。这样我们可以一次性所要添加监控的主机数可能为10台,20台,甚至是百台上千台主机。

  如果通过我们手动添加显然效率低下,甚至还会出错。这里就给出一个简单脚本,通过给定的hosts.list文件,来自动生成hosts.cfg.


文件



  1. hosts_list

    [root@nagios_scripts nagios_scripts]# for i in `seq 2 9`;do echo "lnmp_$i    10.0.0.$i">>hosts_list;done 

    [root@nagios_scripts nagios_scripts]# cat hosts.list                      

    lnmp_2    10.0.0.2

    lnmp_3    10.0.0.3

    lnmp_4    10.0.0.4

    lnmp_5    10.0.0.5

    lnmp_6    10.0.0.6

    lnmp_7    10.0.0.7

    lnmp_8    10.0.0.8

    lnmp_9    10.0.0.9

  2. nagios_create_hosts.sh

    [root@nagios_scripts nagios_scripts]# cat nagios_create_hosts.sh 

    #!/bin/sh

    HOSTFILE="/usr/local/nagios/etc/services"

    exec <hosts.list

    while read line

    do

    cat >>$HOSTFILE/hosts.cfg<<EOF

    #host:`echo $line|awk '{print $1}'` ip:`echo $line|awk '{print $2}'`

    define host{

            use                           linux-server

            host_name               `echo $line|awk '{print $1}'`

            alias                         `echo $line|awk '{print $1}'`

            address                     `echo $line|awk '{print $2}'`

    }

    EOF

    done


执行结果



[root@nagios_scripts nagios_scripts]# sh nagios_create_hosts.sh

[root@nagios_scripts nagios_scripts]# cat /usr/local/nagios/etc/services/hosts.cfg 

#host:lnmp_2 ip:10.0.0.2

define host{

        use                   linux-server

        host_name             lnmp_2

        alias                 lnmp_2

        address               10.0.0.2

}

#host:lnmp_3 ip:10.0.0.3

define host{

        use                   linux-server

        host_name             lnmp_3

        alias                 lnmp_3

        address               10.0.0.3

}

#host:lnmp_4 ip:10.0.0.4

define host{

        use                   linux-server

        host_name             lnmp_4

        alias                 lnmp_4

        address               10.0.0.4

}

#host:lnmp_5 ip:10.0.0.5

define host{

        use                   linux-server

        host_name             lnmp_5

        alias                 lnmp_5

        address               10.0.0.5

}

#host:lnmp_6 ip:10.0.0.6

define host{

        use                   linux-server

        host_name             lnmp_6

        alias                 lnmp_6

        address               10.0.0.6

}

#host:lnmp_7 ip:10.0.0.7

define host{

        use                   linux-server

        host_name             lnmp_7

        alias                 lnmp_7

        address               10.0.0.7

}

#host:lnmp_8 ip:10.0.0.8

define host{

        use                   linux-server

        host_name             lnmp_8

        alias                 lnmp_8

        address               10.0.0.8

}

#host:lnmp_9 ip:10.0.0.9

define host{

        use                   linux-server

        host_name             lnmp_9

        alias                 lnmp_9

        address               10.0.0.9

}







向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI