首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >check_postgres_checkpoint插件错误

check_postgres_checkpoint插件错误
EN

Server Fault用户
提问于 2011-12-09 18:23:56
回答 4查看 545关注 0票数 0

我正在为Nagios使用check_postgres.pl插件。我正试图使用check_postgres_checkpoint选项监视上一个检查点运行的时间。当我以root身份从CLI运行命令时,我将获得输出,但无法在Nagios web接口中获得输出。它所显示的错误是,

代码语言:javascript
复制
ERROR: pg_controldata could not read the given data directory: "/opt/PostgreSQL/9.1/data"

它试图访问位于数据目录下的“全局”目录中的pg_control文件,该目录只对postgres用户进行读取访问。

有人能建议我如何解决这个问题吗?

谢谢。

EN

回答 4

Server Fault用户

发布于 2011-12-28 22:36:58

在我看来,最好的方法就是通过sudo,就像Khaled建议的那样。

运行'visudo‘并添加如下一行:

nagios ALL=NOPASSWD:/path/to/check_postgres.pl

然后,更改命令def以通过sudo运行插件。哦,一定要确保‘申购’没有设置(也是通过visudo),否则就会失败。

或者,您可以创建一个包含nagios + postgres的新组,并使postgres拥有的/opt/PostgreSQL/9.1/data :postnag(或其他什么),但您需要确保所有新文件也是'postnag‘(例如通过chmod g+s )。这是一个更复杂的解决方案,但不涉及sudo (有些人似乎不喜欢这样使用sudo .?)。

票数 1
EN

Server Fault用户

发布于 2011-12-09 18:47:07

  • postgres用户的身份运行检查脚本。

  • 以root用户身份运行检查脚本。

  • 以上述用户之一的身份通过cron运行您的检查,并让它将数据写入check_postgres可以读取的地方。

  • ……我相信你可以自己提出更多这样的选择:-)
票数 0
EN

Server Fault用户

发布于 2011-12-09 18:48:16

这可以通过授予nagios用户在不需要密码的情况下执行这个插件的sudo权限来解决。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/339508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档