- Работа
- Linux
- Monitoring
- Icinga2 и локальная проверка памяти
Icinga2 и локальная проверка памяти
Данный пример сделан на базе сборки docker icinga/icinga2
.
Не понятно по каким причинам но в базовой сборке есть проверка swap, а вот проверки оперативки нету. Попробуем исправить эту ситуацию.
Согласно документации качаем файл с плагином.
Копируем его в каталог /usr/lib/nagios/plugins
иногди /usr/lib64/nagios/plugins/
Даем права на исполнение.
В самой icinga описание этой команды уже есть и можно смело создавать сервис и использовать.
services.conf
apply Service "mem" {
import "generic-service"
check_command = "mem"
vars.mem_warning = "10"
vars.mem_critical = "5"
vars.mem_available = "true"
assign where host.name == NodeName
}
Если вы настраиваете связку icinga + agent
, то вам нужно будет скопировать этот плагин на агента тоже. И вот тут в каком то из центосов я поймал проблемму, что там и плагин был, но было какое то уж совсем старое описание команды причем с ошибкой в имени файла и не хватало например опции mem_available
. Поэтому далее я выложу исправленное описание команды для таких случаем.
Ошибка в файле /usr/share/icinga2/include/plugins-contrib.d/operating-system.conf
object CheckCommand "mem" {
command = [ PluginContribDir + "/check_mem.pl" ]
arguments = {
"-u" = {
set_if = "$mem_used$"
description = "Check USED memory"
}
"-a" = {
set_if = "$mem_available$"
description = "Check AVAILABLE memory"
}
"-f" = {
set_if = "$mem_free$"
description = "Check FREE memory"
}
"-C" = {
set_if = "$mem_cache$"
description = "Count OS caches as FREE memory"
}
"-w" = {
value = "$mem_warning$"
description = "Percent free/used when to warn"
}
"-c" = {
value = "$mem_critical$"
description = "Percent free/used when critical"
}
}
vars.mem_used = false
vars.mem_free = false
vars.mem_available = false
vars.mem_cache = false
}
[ Править ]