2

我有 Nagios(并安装了 nagiosql 来帮助我),但我有点初学者,不知道该怎么做,这是我的问题:

如何使用 Nagios 设置对 Oracle 数据库中特定 SQL 查询的监控?

例子:

Oracle 中的表仅包含 1 行 2 列:

运行状态 | LAST_EXEC_TIMESTAMP

我希望设置 Nagios 在该表上执行 SQL 查询,并以秒为单位返回当前时间和 LAST_EXEC_TIMESTAMP 之间的差异。如果执行时的结果超过 n 秒返回关键,否则返回 OK。

我怎么做?

我已经完成了 SQL 部分,但我不确定如何将它传递给 Nagios - 要使用哪个插件以及如何处理输出值:/

4

1 回答 1

2

有一个名为“check_oracle”的标准插件可能会对您有所帮助,而且Nagios Exchange上还有一些特定于 Oracle 的插件。

乍一看,stock check_oracle 插件似乎不允许您运行特定的查询,但我不能 100% 确定,因为我从未使用过它。

Consol Labs 还维护着一系列非常出色的“check_(db)_health”插件,并且它们有一个 Oracle 特定的. 您可以使用“--mode sql”来运行您自己的查询。

要使用其中任何一个,您必须已经设置了 Oracle 客户端,并设置了正确的 ENV vars,才能连接到 Oracle DB。

如果您无法从 Nagios 机器直接连接到 Oracle DB,您的另一个选择是使用 NRPE/check_by_ssh 在 Oracle DB 服务器本身上本地运行插件。

于 2012-10-09T21:24:58.517 回答