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

Как мне упростить чтение информации о статусе служб Nagios?

Я запускаю Nagios в среде с несколькими серверами, на каждом из которых есть несколько служб. Есть несколько пользовательских проверок, но по возможности полезно использовать существующие проверки. Я использую проверку плагина NRPE check_disk для проверки использования каждой смонтированной файловой системы:

command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p / -p /var -C -u GB -w 200 -c 100 -r '^/mounts[^/]+$'

Удобно проверять все это как одну службу («Диски»), но когда одна из них переходит в режим предупреждения, трудно прочитать вывод в строке информации о состоянии:

DISK WARNING - free space: / 6 GB (9% inode=92%): /var 125 GB (67% inode=99%): /mounts/vol0 1152 GB (16% inode=99%): /mounts/vol1 1096 GB (15% inode=99%): /mounts/vol2 126 GB (1% inode=99%): /mounts/vol3 228 GB (3% inode=99%): /mounts/vol4 3245 GB (44% inode=99%): /mounts/vol5 108 GB (1% inode=99%): 

В приведенном выше случае проверка является предупреждением, потому что /, / mounts / vol2 и / mounts / vol5 ниже порогового значения. Оператор должен пройти через каждое значение, чтобы найти значение, превышающее установленный уровень. Кроме того, если один критичен, а другие предупреждают, было бы неплохо показать их по-другому, либо пометив их, либо разместив на разных строках.

Есть ли простой способ сделать это без создания новой команды для каждой точки монтирования? Или мне не хватает другого фундаментального метода магии Нагиос, чтобы сделать это дружественным?

Попробуйте - флаг только ошибок что должно значительно уменьшить количество текста, выводимого этим плагином.

 -e, --errors-only
 Display only devices/mountpoints with errors

Кажется, это помогает мне. Обратите внимание на резкую разницу в выводе:

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% 
DISK WARNING - free space: / 37167 MB (96% inode=98%); /dev/shm 244 MB (100% inode=99%); /boot 84 MB (18% inode=99%); /home 21253 MB (99% inode=99%);

Но с --errors-only флаг, теперь ясно, что моя проблема с /boot:

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% --errors-only
DISK WARNING - free space: /boot 94 MB (20% inode=99%);

Если в системе нет проблем, вывод будет очень коротким:

# /usr/lib64/nagios/plugins/check_disk -w 20% -c 10% --errors-only
DISK OK

(Примечание: я удалил все после первого | для ясности. Веб-интерфейс Nagios также обрезает этот вывод перед отображением на экране.)

Также см. Это обсуждение программы устранения ошибок Debian: nagios2: непонятным образом жалуется на место на диске.

Стандартный способ - разместить все в одной строке. У вас есть только два варианта:

  • определить проверку для каждого диска (я знаю, что это не то, что вам нужно, но я все же считаю это лучшим решением)

  • напишите свой собственный плагин или оболочку вокруг check_disks, которая анализирует вывод: затем вы можете, например, поместить диски ниже порогового значения в строки состояния или сократить вывод, чтобы включить только соответствующие диски.

Вы можете написать оболочку на любом языке, но с учетом задачи я бы предложил язык сценариев (например, Perl). Вот рекомендации по разработке плагинов: http://nagiosplug.sourceforge.net/developer-guidelines.html

Как упоминал @Matteo, я также думаю, что вы должны определить проверку для каждого раздела. Но вот пример оболочки для сортировки использования диска в порядке убывания:

check_disk -w 20% -c 10% -p /dev/sda1 -p /dev/sdb2 -p /dev/sdb4 | 
    awk -F"|" '{ print $1 }' | awk -F": " '{ print $2 }' | \
        tr ";" "\n" | sed 's/^ //' | sort -k4,4n

PS: Мой check_disk плагин возвращает список, разделенный ; вместо того : как вы показали.

Вы можете рассмотреть check_multi, он сочетает в себе возможность отображать одну строку состояния с возможностью просмотра более подробной информации, фактически проверяя каждый диск независимо. Вы можете видеть из некоторых скриншоты как это сработает для вас. В примере проверки диска у вас будет одна проверка check_multi, которая отображает «1 предупреждение, 2 ОК», когда вы нажимаете на эту службу, вы увидите 3 отдельные проверки, показывающие, какой диск находится в предупреждении, с подробной информацией об этом диске. в частности, при этом все еще четко показывая другие 2.