sql - 设置 Nagios 来监控自定义 SQL 查询

标签 sql monitoring nagios

我已经安装了 Nagios(并安装了 nagiosql 来帮助我),但我是一个初学者,不知道该怎么做,所以这是我的问题:

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

示例:

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

RUN_STAT | LAST_EXEC_TIMESTAMP

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

我该怎么做?

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

最佳答案

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

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

Consol Labs 还维护着一系列非常优秀的“check_(db)_health”插件,它们有 an Oracle-specific one您可以使用“--mode sql”来运行您自己的查询。

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

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

关于sql - 设置 Nagios 来监控自定义 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688426/

相关文章:

sql - MySQL - 将行分组为 4

sql - Postgresql 中的基本 SQL 选择失败

Python 异步监控

linux - Nagios NSCA 第 4 个变量总是 $OUTPUT$

linux - 根据其他检查的值创建聚合 Nagios 检查

SQL - 根据开始和结束事件将记录组合​​在一起

java - 简单应用程序的并发嵌入式Java数据库

linux - zabbix多个条件 "Incorrect trigger expression"错误

monitoring - MSMQ 监控

centos - 监控 yum/rpm 包冲突