LINUX.ORG.RU
решено ФорумAdmin

Nagios

 


0

3

Привет лор!

Есть такой конфиг:

# Define a host for the local machine

define host{
        use                     linux-server            ; Name of host template to use
                                                        ; This host definition will inherit all variables that are defined
                                                        ; in (or inherited by) the linux-server host template definition.
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
}



###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         localhost     ; Comma separated list of hosts that belong to this group
}

Хочется чтобы в уведомлениях на почту, падал не localhost, а что-то более осмысленное. Я так понимаю нужно отредактировать

host_name               localhost
и потом поменять в группах members localhost на свой хост. Правильно все понимаю? И самый главный вопрос, как отправить тестовое сообщение?


Смотри /etc/nagios3/commands.cfg и правь команду которая уведомления шлёт.

svm ()

и не забудь указать свой email в /etc/nagios3/conf.d/contacts_nagios2.cfg

service_notification_commands   notify-service-by-email,notify-by-jabber
host_notification_commands      notify-host-by-email,host-notify-by-jabber
				email                           	makka-sim@ya.ru
        
				address1			makka-sim@r0.ru
				address2			makka-sim@gmail.com

если еще захочешь получать уведомления в джаббер, то копай в сторону python-xmpp

makka ()

Вот пример

define command{
         command_name    notify-host-by-email
         command_line    /usr/bin/printf "%b" "***** Icinga *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDa    te/Time: $LONGDATETIME$\n" | /usr/bin/mutt -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" email@email.com
         }

dada ★★★★★ ()

Киньте ссылку на плагин для чека оперативки.

что-то в nagios-plugins плохо ищется.
Нашёл один на баш, редактирую редактирую да не выдерактирую.
санкс ин адванс.

dada ★★★★★ ()
Ответ на: комментарий от dada

Вот как у меня

# 'notify-host-by-email' command definition
define command{
        command_name    notify-host-by-email
        #command_line   /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

        command_line    /usr/bin/printf "From:nagiosadmin@localhost\nTo:$CONTACTEMAIL$\nSubject: ** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ ** %b ***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/msmtp --file=/etc/nagios_msmtprc -t -i $CONTACTEMAIL$

        }

# 'notify-service-by-email' command definition
define command{
        command_name    notify-service-by-email
        #command_line   /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

        command_line    /usr/bin/printf "From:nagiosadmin@localhost\nTo:$CONTACTEMAIL$\nSubject: ** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ** %b ***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/msmtp --file=/etc/nagios_msmtprc -t -i $CONTACTEMAIL$

        }

Конечно можно поменять «Host: $HOSTNAME$» на «Host: НУЖНЫЙ_ХОСТ» , но разве $HOSTNAME$ это не host_name из define host?

Woklex ()
Ответ на: комментарий от makka

Да у меня уведомления идут. Мне бы понять есть ли какая тестовая команда для отсылки уведомлений. Конечно можно скажем отключить ssh, и тогда о этом придет уведомление(Я только такой способ в гуле нашел), но это как-то костыльно.

Woklex ()
Ответ на: комментарий от Woklex

но разве $HOSTNAME$ это не host_name из define host?

Так оно и есть.
и в define service тоже надо указывать host_name.

dada ★★★★★ ()
Ответ на: комментарий от Woklex

Мне бы понять есть ли какая тестовая команда для отсылки уведомлений

не а.
ты хочешь спам отправлять при помощи см ? =)

dada ★★★★★ ()
Ответ на: комментарий от dada

Нет. Мне просто надо проверить будет ли место localhost, то что я прописал. А то мало ли я где протупил. До этого приходило примерно так:

Notification Type: PROBLEM

Service: HTTP
Host: localhost
Address: 127.0.0.1
State: CRITICAL

Date/Time: Sat Nov 9 23:17:20 MSK 2013

Additional Info:

CRITICAL - Socket timeout after 10 seconds

Но уведомления редко приходят, а в гугле советуют «что-нибудь уронить что-бы пришло уведомление».

Woklex ()
Ответ на: комментарий от Woklex

то-нибудь уронить что-бы пришло уведомление

ну укажи критикал для диска 1мб. глянь придёт или нет.
не вижу проблемы.

dada ★★★★★ ()
Ответ на: комментарий от dada

Ну так сделаю, спасибо. Просто мне один админ сказал, что там должна быть тестовая отправка, но он не помнит как её делать. Значит он ошибся.

Woklex ()
Ответ на: комментарий от dada

Подскажите, почему каждый час nagios присылает мне 5 уведомлений? Service: System: AVG Load Service: System: Swap Usage Service: System: Total Processes Service: System: Current Users Service: System: Partitions Size Все вроде работает, но уведомления идут.

Вот полное сообщение: Notification Type: PROBLEM

Service: System: Partitions Size Host: ***.ru Address: 109.120.***.*** State: CRITICAL

Date/Time: Mon Aug 17 17:52:25 MSK 2015

Additional Info:

(Return code of 255 is out of bounds)

iqw ()
Ответ на: комментарий от dada

показать contacts.cfg?

define contact{
        contact_name                    nagiosadmin		; Short name of user
	use				generic-contact		; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin		; Full name of user

        email                           ***@*****.ru	; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        service_notification_options	n;
        }

service_notification_options n; - это я добавил и сообщения перестали приходить. Но о чем они говорят?

iqw ()
Ответ на: комментарий от iqw

там, как раз и надо указывать статусы сервисов, на которые будет формироваться нотификейшын.
из доку:

service_notification_options: This directive is used to define the service states for which notifications can be sent out to this contact. Valid options are a combination of one or more of the following: w = notify on WARNING service states, u = notify on UNKNOWN service states, c = notify on CRITICAL service states, r = notify on service recoveries (OK states), and f = notify when the service starts and stops flapping. If you specify n (none) as an option, the contact will not receive any type of service notifications.

именно поэтому и не приходят сообщения с n =)

dada ★★★★★ ()
Ответ на: комментарий от dada

эту строчку я и добавил, чтобы сообщения больше не приходили. Но может что-то не так на сервере, если они постоянно приходят?

iqw ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.