Помогите с пользовательским запросом Nagios check_postgres.pl - PullRequest
1 голос
/ 24 февраля 2011

У меня есть функция postgres, которая возвращает два столбца

result, data (int), (text)

Если я запускаю эту команду из postgres, она возвращает правильные значения, и если я запускаюэто из командной строки Linux следующим образом:

/ usr / local / nagios / libexec / check_postgres.pl -H $ HOSTADDRESS $ -u postgres -db monitordb --action = custom_query --critical = 1 -query = "SELECT * from ops_get_status ();"

Он также возвращает правильные значения - по крайней мере, кажется, и я не получаю никаких ошибок.

Но когда я вставляю его вcommand.cfg и посмотреть это через интерфейс Nagios, чтобы он возвратил (null).

Файл журнала не содержит никакой подробной информации для отладки.Итак, что я могу сделать, чтобы добраться до сути этой проблемы - любая помощь очень ценится

результат

Ответы [ 3 ]

2 голосов
/ 14 ноября 2011

У меня была такая же проблема. После удаления точки с запятой в конце запроса все заработало.

Ссылка на почтовые архивы здесь:

https://mail.endcrypt.com/pipermail/check_postgres/2011-February/000726.html

0 голосов
/ 26 ноября 2016

Немного поздно, но я также получил похожую ошибку с пользовательским запросом, но оказывается, что вам нужно вернуть столбец с именем «result», и он должен быть целым числом.

Например:

check_postgres.pl --action=connection --db=db-name --host=x.x.x.x --dbuser=db-user --action=custom_query --critical=10 --warning=5 --query="SELECT count(id) as result from your-table"
0 голосов
/ 22 марта 2011

Выстрел в темноте, но попробуйте заключить запрос в одинарные кавычки.* Может быть как-то расширяется.

...