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
}

[ Править ]

@kiranananda