2015-12-16 3 views
1

Здравствуйте, как это possbile выполнить проверку следующим образом:Icinga2 котировки в аргументы команды

/usr/lib/nagios/plugins/check_nt -H 192.168.110.130 -p 12489 -s ****** -v COUNTER -l "\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%" -w 60 -c 90 

Моя текущая команда проверки выглядит следующим образом:

object CheckCommand "check_windows_pagefile" { 
    import "plugin-check-command" 
    import "ipv4-or-ipv6" 

    command = [ PluginDir + "/check_nt" ] 

    arguments = { 
     "-H" = "$component_ip$" 
     "-p" = "12489" 
     "-s" = "$nsclient_password$" 
     "-v" = "COUNTER" 
     "-l" = "\"\\\\Paging File(_Total)\\\\% Usage\",\"Paging File usage is %.2f %%\"" 
     "-w" = "60" 
     "-c" = "90" 
    } 
} 

Но это заставляет меня только «NSClient - ОШИБКА: Недействительный возврат из команды: check_pdh «

Но если я выполняю первую команду bash, она работает.

Это журнал, что icinga2:

'/usr/lib/nagios/plugins/check_nt' '-H' '192.168.110.130' '-c' '90' '-l' '"\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%"' '-p' '12489' '-s' '******' '-v' 'COUNTER' '-w' '60' 

Это тоже не работает:

'/usr/lib/nagios/plugins/check_nt' '-H' '192.168.110.130' '-c' '90' '-l' '\\Paging File(_Total)\\% Usage','Paging File usage is %.2f %%' '-p' '12489' '-s' '******' '-v' 'COUNTER' '-w' '60' 

Только это работает:

'/usr/lib/nagios/plugins/check_nt' '-H' '192.168.110.130' '-c' '90' '-l' "\\Paging File(_Total)\\% Usage","Paging File usage is %.2f %%" '-p' '12489' '-s' '******' '-v' 'COUNTER' '-w' '60' 

Имеет кто-то опыт работы с icinga2 и прилавком плагин check_nt?

Как решить проблему с одиночной/двойной цитатой?

+0

Проверьте свои журналы, чтобы узнать, какая команда действительно запускается. Возможно, вам понадобится более или менее обратная косая черта. – chicks

+0

Я тестирую от 1 до 12 обратных косых черт. – GreenRover

+0

Вы проверили журналы? – chicks

ответ

1

Во-первых, я не нашел решения, позволяющего легко отключить котировку по умолчанию icinga.

Но есть 2 решения.

1.) Уродливый.

Не используйте «аргументы» и создайте команду как строку своим собственным.

object CheckCommand "check_windows_pagefile" { 
    import "plugin-check-command" 
    import "ipv4-or-ipv6" 

    command = PluginDir + "/check_nt -l \"\\Paging File(_Total)\\% Usage\",\"Paging File usage is %.2f %%\" -H $component_ip$ -p 12489 -s $component_eav_nsclient_password$ -v COUNTER -w 60 -c 90" 

} 

2.) Используйте специальный обработчик аргументов.

template CheckCommand "command-without-quotes-from-vars" { 
    command = {{ 
     var command = macro("$command$"); 
     for (key => value in macro("$arguments$")) { 
      command += " " + key + " " + macro(value) 
     } 

     return command 
    }} 
} 

object CheckCommand "check_windows_pagefile" { 
    import "plugin-check-command" 
    import "ipv4-or-ipv6" 
    import "command-without-quotes-from-vars" 

    vars.command = PluginDir + "/check_nt" 

    vars.arguments = { 
     "-H" = "$component_ip$" 
     "-p" = "12489" 
     "-s" = "$component_eav_nsclient_password$" 
     "-v" = "COUNTER" 
     "-l" = "\"\\Paging File(_Total)\\% Usage\",\"Paging File usage is %.2f %%\"" 
     "-w" = "60" 
     "-c" = "90" 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^