2012-04-05 40 views

回答

3

根据维基百科InterMapper支持SNMP。 pgsnmpd是一款适用于PostgreSQL的SNMP代理。您可以同时连接两个盒子(es)。

否则:InterMapper说是用Java编写的。它还将自己的数据存储在PostgreSQL中。这个CALLS从一开始就为通用JDBC探测器或至少一个用于PostgreSQL。所以最好的解决办法是打电话给他们,说服他们默认提供这样的探测 - 如果他们不这样做已经在某个地方。

关于计划B:support page有一个文档描述了创建自定义探针的过程。快速浏览一下它留下三个选项:

  • 定义自己的探头类型 - 通过一些黑客XML
  • use“命令行探测器”,它基本上调用外部程序。在Linux/Unix上使用psql编写脚本来连接数据库并发出一些愚蠢的命令似乎也不复杂。
  • 他们有Nagios支持命令行探针,并有大量Nagios-PostgreSQL插件可用。

当然,你可以使用contributed probes页面获得足够的例子 - 在“应用程序监控探头的” MS-SQL探针部分可能是一个良好的开端。

1

今天我无法帮助您使用Intermapper,但程序设计部分取决于“alive和kick'n”对您意味着什么。

编程它的一个相当不错的方法是让一个cron作业在一个事务中将一行写入一个表中,并在另一个事务中将其读回。您可能不需要超过时间戳。这应该从客户端计算机上运行,​​而不是在服务器上运行。

失败的写入应该提出了一个错误,但我想可能会有一些可能不会发生的深奥故障情况。然而,回读同一行应该是生命的坚实证据。

这样的程序会告诉您dbms正在运行和处理,并且一个特定的数据库处于联机状态。你可能也可能不需要更多。有些人可能需要知道处理这些SQL语句需要多长时间,但过长的时间意味着在用户开始调用之前需要您的注意。

对数据库权限的更改可能会引发虚假警告。例如,如果骨头升级撤销写入心跳表的权限,则写入该表的程序将失败,并显示权限错误。

如果你的要求不那么严格,你可以检查正在运行的服务器守护进程。

所有这些事情都可以通过cron作业来完成,通过电子邮件或短信发送失败。