Назад | Перейти на главную страницу

Настройка параметров уведомлений nagios, чтобы они были очень частыми

Я установил кластер Proxmox VE с тремя узлами. На каждом узле работает несколько виртуальных машин. Я использую Плагин PVE Monitor для настройки хостов и служб, которая работает нормально.

Моя проблема в том, что поведение Nagios при отправке электронной почты является каким-то странным. В идеале я хотел бы проводить проверку раз в минуту как для узлов, так и для всех служб, работающих на каждом узле.

Мой файл конфигурации выглядит так:

# Define the cluster itself as a host
# the command check_pve_cluster_nodes give us info
# on the member's cluster state
define host {
        host_name pve-cluster
        max_check_attempts 10
        check_command check_pve_cluster_nodes
    contact_groups admins
    check_interval 1
    contact_groups admins
    notifications_enabled 1
}

# define openvz, qemu and storages as services of the cluster
define service{
        use generic-service
        host_name pve-cluster
        service_description OpenVZ VMs
        check_command check_pve_cluster_openvz
    check_interval 1
    contact_groups admins
    notifications_enabled 1
}


define service{
        use generic-service
        host_name pve-cluster
        service_description Qemu VMs
        check_command check_pve_cluster_qemu
    check_interval 1
    contact_groups admins
    notifications_enabled 1
}


define service{
        use generic-service
        host_name pve-cluster
        service_description Storages
        check_command check_pve_cluster_storage
    check_interval 1
    contact_groups admins
    notifications_enabled 1
}

Я не менял настройки единиц времени, поэтому проверки должны выполняться раз в минуту. Пользовательский интерфейс Nagios Web показывает, что хост отключен, но уведомления по электронной почте отправляются только через пару минут. Кроме того, в содержимом электронной почты отсутствует самая важная информация - какой именно узел / служба находится в критическом состоянии:

Узел вниз

***** Nagios *****

Notification Type: PROBLEM
Host: pve-cluster
State: DOWN
Address: pve-cluster
Info: NODES CRITICAL  2 / 3 working nodes

Date/Time: Fri Mar 6 10:48:25 CET 2015

ВМ не работает

***** Nagios *****

Notification Type: PROBLEM

Service: Qemu VMs
Host: pve-cluster
Address: pve-cluster
State: CRITICAL

Date/Time: Fri Mar 6 10:40:44 CET 2015

Additional Info:

QEMU CRITICAL 2 / 3 working VMs

Как я могу настроить конфигурацию, чтобы хосты и службы (например, виртуальные машины) проверялись с интервалом в одну минуту? В идеале повторные проверки этого статуса следует отправлять через 15-минутные интервалы после этого.

Это вообще лучший рабочий процесс? Или есть другой, лучший способ запланировать уведомления с их подтверждением?

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

Информация о мягких / жестких состояниях: http://nagios.sourceforge.net/docs/3_0/statetypes.html Информация о max_check_attempts: http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html

Похоже, что плагин определенно ПРЕДНАЗНАЧЕН для предоставления информации о возврате, но по какой-то причине это не так. К сожалению, у меня нет среды, чтобы проверить это, поэтому мне, возможно, придется оставить вас в подвешенном состоянии с этой частью вопроса.

Соответствующие разделы perl:

print "NODES $rstatus{$statusScore}  $workingNodes / " .
          scalar(@monitoredNodes) . " working nodes" . $br . $reportSummary;

print "STORAGE $rstatus{$statusScore} $workingStorages / " .
          scalar(@monitoredStorages) . " working storages" . $br . $reportSummary;

print "OPENVZ $rstatus{$statusScore} $workingVms / " .
          scalar(@monitoredOpenvz) . " working VMs" . $br . $reportSummary;

print "QEMU $rstatus{$statusScore} $workingVms / " .
          scalar(@monitoredQemus) . " working VMs" . $br .
          $reportSummary;

$ reportSummary содержит подробные сведения о проблемных разделах выше в коде, но, похоже, вам не возвращается.