Я установил кластер 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 содержит подробные сведения о проблемных разделах выше в коде, но, похоже, вам не возвращается.