nagios添加監控配置

jopen 9年前發布 | 9K 次閱讀 Nagios

nagios添加一個主機的一些經典定義,拿出來分享下。自己把這些配置寫成shell,并用servlet+jsp自動生成shell,方便添加監控。目前監控項目已經有兩千多個。

1: nagios添加主機監控配置如下:

    define host{

     use linux-server

     host_name 192.168.1.1

     address 192.168.1.1

    }

    可以定義成一個文件,然后把配置文件加入到nagios.cfg里面,腳本如下:

    cat <<EOF >/usr/local/nagios/etc/objects/192.168.1.1.cfg

    define host{

     use linux-server

     host_name 192.168.1.1

     address 192.168.1.1

    }

    EOF

    echo "cfg_file=/usr/local/nagios/etc/objects/192.168.1.1.cfg" >> /usr/local/nagios/etc/nagios.cfg


2: nagios添加簡單的監控,比如ping,監控端口等等無需nrpe的配置:

    define service{

     use generic-service

     host_name 192.168.1.1

     service_description Check Port 80

     check_command check_tcp!80

    }

    也可以寫成腳本自動添加到主機的配置中,個人習慣一個主機中的所有監控項目在一個配置文件里面,好check。

    cat <<EOF >>/usr/local/nagios/etc/objects/192.168.1.1.cfg

    define service{

     use generic-service

     host_name 192.168.1.1

     service_description Check Port 80

     check_command check_tcp!80

    }

    EOF


3: nagios添加調用遠程nrpe的配置,這個需要使用check_nrpe去調用,監控遠程主機負載、磁盤情況等等。可以直接上腳本了,上面兩個是舉例,例子在腳本里面都有:

    cat <<EOF >>/usr/local/nagios/etc/objects/192.168.1.1.cfg

    define service{

     use generic-service

     host_name 192.168.1.1

     service_description Load Average

     check_command check_nrpe!check_load

    }

    EOF


4: 另外,nagios添加主機組的配置也是比較常見的,因為這個讓人看監控情況看起來比較直觀,也是直接上腳本了。比如你想定義一個web組,web組有兩臺主機分別是192.168.1.1和192.168.1.2,個人比較習慣一個組定義一個配置文件:

    cat <<EOF >/usr/local/nagios/etc/objects/web.cfg

    define hostgroup{

     hostgroup_name web

     alias web

     members  192.168.1.1,192.168.1.2

    }

    EOF

    echo "cfg_file=/usr/local/nagios/etc/objects/web.cfg" >>/usr/local/nagios/etc/nagios.cfg


5: nagios添加聯系人也是非常常見的,配置如下,這個一般需求沒那么多,都是直接修改contact.cfg配置文件。先定義聯系人組,再定義聯系人,定義聯系人的時候得寫一下郵箱:

    define contactgroup{

            contactgroup_name       web

            alias                   web

            members                 web

            }

    define contact{

            contact_name                    web

            use                             generic-contact

            alias                           web

            email                           web@163.com,web@126.com

            }


6: nagios定義時間順便也說一下,這個我定義的不是很多,timeperiods.cfg,底下復制一個,想定義什么時間,可以自己定義一下:

    define timeperiod{

            timeperiod_name 24x7

            alias           24 Hours A Day, 7 Days A Week

            sunday          00:00-24:00

            monday          00:00-24:00

            tuesday         00:00-24:00

            wednesday       00:00-24:00

            thursday        00:00-24:00

            friday          00:00-24:00

            saturday        00:00-24:00

            }


7: 當然nagios定義發送郵件的命令也是比較重要的,看一下command的定義(如果是自己寫的腳本,第一參數是標題,第二個參數是內容,第三個參數是給誰發送郵件。當然,想傳再多的參數都可以,隨意傳,自定義):

define command{

        command_name    notify-host-by-email

        command_line    $USER1$/email.sh "Host Alert: $HOSTNAME$ is $HOSTSTATE$" "[nagios]<br>Notification Type: $NOTIFICATIONTYPE$<br>Host: $HOSTNAME$<br>State: $HOSTSTATE$<br>Address: $HOSTADDRESS$<br>Info: $HOSTOUTPUT$<br><br>Date/Time: $LONGDATETIME$<br>" "$CONTACTEMAIL$" "$HOSTALIAS$" "Host Alert: $HOSTNAME$ is $HOSTSTATE$"

        }


8: nrpe的配置肯定也是要的,不然nagios運行起來不夠漂亮,定義nrpe要兩個地方,一個是安裝nrpe(被監控端),需要配置兩個:1: xxx.xxx.xxx.xxx改成nagios監控端的地址,當然,一直變的話,就比較難辦了。2: check_load是以后nagios監控端要用check_nrpe去調用的,后面的程序要怎么調用由自己定義(自定義腳本監控就在這)。

    allowed_hosts=xxx.xxx.xxx.xxx

    command[check_load]=/usr/local/nagios/libexec/check_load -w 15,15,15 -c 30,30,30

    定義完nrpe被監控端只是個開始,后續還得增加nagios監控的配置。主要也是兩個配置:1: check_nrpe命令的配置,只需要傳一個參數,就是類似上面的check_load傳給它就好了。2: 定義監控項目,只需要傳個參數給check_nrpe就可以了。

        define command{

                command_name    check_nrpe

                command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$

                }


        define service{

             use generic-service

             host_name 192.168.1.1

             service_description Load Average

             check_command check_nrpe!check_load

            }


9: 最后,送兩個配置nagios經常用的命令,nagioscheck和nagiosreload,一個是檢查nagios的配置(這個也可以:/etc/init.d/nagios configtest),一個是重載nagios配置:

    alias nagioscheck='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'

    alias nagiosreload='/etc/init.d/nagios reload'

    nagioscheck一定要以下結果才標準

        Total Warnings: 0

        Total Errors:   0


還要什么配置,還要什么命令,留言找我要吧,可以匯總成一個總的nagios要配置的博客,呵呵,開玩笑的。。。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!