有关 Nagios check_postgres.pl 自定义查询的帮助

发布于 2024-10-19 08:35:26 字数 454 浏览 2 评论 0原文

我有一个 postgres 函数,它返回两列

结果、数据 (int), (text)

如果我从 postgres 运行此命令,它将返回正确的值,如果我从 linux 命令行运行它,如下所示:

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

它还返回正确的值 - 至少看起来是这样,而且我没有收到任何错误。

但是当我将其插入commands.cfg 并通过Nagios 前端观看时 它返回(空)。

日志文件不包含任何用于调试的详细信息。那么,我该怎么做才能弄清这个问题的真相 - 任何帮助都非常感谢

结果

I have a postgres function that returns two columns

result, data
(int), (text)

If I run this command from postgres it returns the proper values and if I run it from the linux command line like this:

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

It also return the proper values - at least it seems to and I don't get any errors.

But when I insert it in the commands.cfg and watch this through the Nagios frontend
it return (null).

The log file doesn't contain any detailed information for debugging this. So, what can I do to get to the bottom of this issue - any help greatly appreciated

result

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

乖乖哒 2024-10-26 08:35:26

我刚刚遇到了同样的问题。从查询末尾删除分号使其正常工作。

邮件档案参考此处:

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

I just had this same problem. Removing the semi-colon from the end of the query got it working.

Mail archives reference here:

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

朮生 2024-10-26 08:35:26

有点晚了,但我在自定义查询中也遇到了类似的错误,但事实证明您需要返回一个名为“结果”的列,并且它必须是整数。

例如:

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"

A bit late, but I also got a similar error with a custom query, but it turns out you need to return a column called 'result' and it must be an integer.

For example:

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"
熊抱啵儿 2024-10-26 08:35:26

在黑暗中拍摄,但尝试将查询括在单引号中。 * 可能会以某种方式得到扩展。

Shot in the dark, but try enclosing the query in single quotes. The * might be somehow getting expanded.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文