尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

check_postgres 输出模式全解析:Nagios、MRTG 与 Cacti 三种格式完整对照表

check_postgres 输出模式全解析:Nagios、MRTG 与 Cacti 三种格式完整对照表 check_postgres 输出模式全解析Nagios、MRTG 与 Cacti 三种格式完整对照表【免费下载链接】check_postgresNagios check_postgres plugin for checking status of PostgreSQL databases项目地址: https://gitcode.com/gh_mirrors/ch/check_postgrescheck_postgres 是一款专为 PostgreSQL 数据库打造的 Nagios 监控插件通过--output参数支持nagios、mrtg、simple、cacti四种输出模式一份脚本即可同时服务告警系统与绘图系统。本文将带你用 5 分钟彻底搞懂这四种格式的差别、适用场景和切换技巧。check_postgres 是什么为什么输出模式如此重要check_postgres 是一个用 Perl 编写的命令行监控工具内置了 40 多个检测动作连接检查、事务时间、锁、膨胀、WAL 文件、复制状态等。不同监控系统对脚本的输出格式要求完全不同Nagios / Icinga需要状态词 退出码MRTG需要固定的多行数字用于绘制流量曲线Cacti需要名称:数值数据对Shell 脚本往往只想要一个纯数字check_postgres 用同一个参数--outputVAL就能切换这四种格式避免了为每个监控系统维护一份脚本。四种输出模式逐一拆解1️⃣ Nagios 输出默认模式perl check_postgres.pl --actionconnection --dbpluto输出为单行信息格式是状态词 冒号 简短描述并配合 4 个标准退出码退出码状态含义0OK正常1WARNING警告2CRITICAL严重3UNKNOWN未知Nagios 模式下还可以附加性能数据perfdata和耗时统计相关参数是--showperf、--perflimit和--showtime详见 check_postgres.pl 内置文档。2️⃣ MRTG 输出四行结构MRTG 模式下输出固定为四行行号内容说明第 1 行核心数值通常是一个有意义的数字如字节数布尔型动作则输出 1 或 0第 2 行辅助统计仅部分动作使用第 3 行占位行传统上是 uptime基本不使用第 4 行描述行通常标明数据来自哪个数据库部分动作还支持--mrtgVAL参数来进一步控制输出内容例如指定输出最大/最小的哪一个库。3️⃣ simple 输出只要一个数字simple 是 MRTG 的极简版——只输出第一行的那个数字其余全部丢弃。适合你只关心数值本身、不需要任何阈值判断的场景比如写在自己的 shell 脚本里。它还支持单位换算在输出参数后追加 KB、MB、GB、TB、EB 即可check_postgres_txn_idle --port6543 --outputsimple,MB另外可以直接用--simple作为快捷方式等效于--outputsimple。4️⃣ Cacti 输出name:value 数据对Cacti 输出把一个或多个数据项放在同一行格式为名称:数值。目前内置显式 Cacti 输出的动作是dbstats读取pg_stat_database视图该动作只接受 Cacti 模式、不接收 warning/critical 阈值参数对于其他多数动作直接用--simple也能满足 Cacti 的取数需求。三种四种格式完整对照表 ⭐对比维度nagios默认mrtgsimplecacti输出行数1 行4 行1 行1 行多数据项输出内容状态词 描述 可选性能数据数值 辅助统计 占位 描述仅核心数值多个名称:数值对退出码0/1/2/3 四态成功 0失败 3成功 0失败 3成功 0支持 warning/critical 阈值✅不依赖阈值不依赖阈值❌ 专属数据输出单位换算❌❌✅ KB/MB/GB/TB/EB❌典型用途Nagios 告警监控MRTG 绘图脚本取数、Cacti 通用取数Cacti 绘图对应参数--outputnagios--outputmrtg--outputsimple或--simple--outputcacti 小技巧如果传入了非法值脚本会报 Invalid output: must be nagios or mrtg or simple or cacti可据此快速自查拼写。快速切换输出模式的 3 个实用技巧技巧一目录命名自动识别。如果你不写--output参数而当前工作目录名里包含nagios、mrtg、simple或cacti脚本会自动采用对应模式。配合--symlinks生成的软链接使用非常顺手cd mrtg perl ../check_postgres.pl --symlinks此后在该目录执行的检测动作默认就是 MRTG 输出。技巧二--simple快捷方式。它等价于--outputsimple还能覆盖目录命名识别规则是临时取数时最省事的写法。技巧三软链接即动作名。用--symlinks后每个动作都有独立可执行文件例如check_postgres_connection、check_postgres_txn_idle直接把它配置进 Nagios 命令即可。安装 check_postgres 的最快方法克隆仓库后走标准 Perl 安装流程即可git clone https://gitcode.com/gh_mirrors/ch/check_postgres cd check_postgres perl Makefile.PL make make test make install更偷懒的 Nagios 用法直接把check_postgres.pl拷进 Nagios 的脚本目录然后运行--symlinks生成全套软链接。安装完成后可以执行man check_postgres查看完整文档源文档同样在 check_postgres.pl 的 POD 文档段中测试用例分布在t/目录如 t/00_basic.t文件清单见 MANIFEST。总结一张图记住选哪个模式要告警Nagios/Icinga→ 默认 nagios 模式配好 warning/critical 阈值要画趋势图MRTG→--outputmrtg关注第 1 行数字要取纯数字进自己的脚本或 Cacti →--outputsimple可加单位要Cacti 专属数据→ 用dbstats动作的 cacti 输出四种模式共用同一套检测逻辑切换只是换个外壳这也是 check_postgres 在 PostgreSQL 监控领域长期流行的原因之一。【免费下载链接】check_postgresNagios check_postgres plugin for checking status of PostgreSQL databases项目地址: https://gitcode.com/gh_mirrors/ch/check_postgres创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表