是否有人知道Intermapper探测器是否测试SQL数据库是否存活并且没有?
B计划:有人知道编程此类探测所需的基本步骤吗?
答案 0 :(得分:3)
根据维基百科InterMapper支持SNMP。 pgsnmpd是PostgreSQL随时可用的SNMP代理。您可以直接连接两者。
否则:InterMapper说是用Java编写的。它还将自己的数据存储在PostgreSQL中。这个 CALLS 用于通用JDBC探测器,或者至少从一开始就用于PostgreSQL。因此,最好的解决方案是调用它们并说服它们默认提供这样的探测 - 如果它们在某处已经没有这样做的话。
关于计划B:support page有一个文档描述了创建自定义探针的过程。快速浏览它有三个选择:
psql
编写脚本来连接数据库并发出一些愚蠢的命令似乎也不复杂。 当然,您可以使用contributed probes页面获取足够的示例 - “应用程序监控探针”部分中的MS-SQL探针可能是一个良好的开端。
答案 1 :(得分:1)
我今天无法帮助你使用Intermapper,但编程部分取决于“alive and kick'n”对你意味着什么。
一种相当安全的编程方法是让一个cron作业在一个事务中将一行写入一个表,然后在另一个事务中将其读回。您可能不需要任何时间戳。这应该从客户端计算机运行,而不是在服务器本身。
失败的写应该引发错误,但我想可能会有一些深奥的失败场景可能不会发生。但是,读回同一行应该是生命的确凿证据。
这样的程序告诉您dbms正在运行和处理,并且一个特定的数据库在线。您可能需要或不需要更多。有些人可能需要知道处理这些SQL语句需要多长时间,这意味着在用户开始调用之前需要注意你的注意力。
对数据库权限的更改可能会引发错误警告。例如,如果骨头升级撤消了写入心跳表的权限,则写入该表的程序将失败并显示权限错误。
如果您的要求不那么严格,您可以检查正在运行的服务器守护程序。
所有这些都可以通过cron作业完成,电子邮件或短信发送失败。
答案 2 :(得分:0)
Intermapper 可以使用 Nagios 探针(参见 Set Probe->Miscellaneous->Nagios Plugin)。您可以购买对您更有意义的探针,并将其安装为 Nagios 插件。