【发布时间】:2015-12-05 22:03:49
【问题描述】:
是否有“如何”向 Nagios 添加和配置插件? (特别适用于 Ubuntu 14.04,但任何 Linux 操作系统都会有所帮助。)
到目前为止,我已经能够拼凑出这么多:
- 将脚本放在 /usr/local/nagios/libexec/ 中。 (就我而言,已经有一个我想使用的脚本:“check_file_age”。)
- 编辑 /usr/local/nagios/etc/objects/commands.cfg 以添加插件。
定义命令{
command_name check_file_age
命令行 $USER1$/check_file_age -w $ARG1$ -c $ARG2$ -W $ARG3$ -C $ARG4$ -f $ARG5$
}
- 在 /usr/local/nagios/etc/objects/localhost.cfg 中定义插件。
定义服务{
使用通用服务;要使用的服务模板的名称
主机名本地主机
service_description 文件年龄
check_command check_file_age
通知_启用 1
}
现在我可以在“配置 -> 对象类型:命令”下看到该插件,并且可以在“配置 -> 对象类型:服务”中看到它。
插件从命令行成功运行:
user@host:/usr/local/nagios/libexec$ perl ./check_file_age -w 3600 -c 5400 -W -1 -C -1 -f somefile.txt FILE_AGE OK: somefile.txt 是 2932 秒和 59 个字节 |年龄=2932s;3600;5400 大小=59B;-1;-1;0
然后在这一点上我难住了。我可以在服务中看到这个错误:
文件时代 危急 09-09-2015 14:24:21 0d 0h 32m 1s 3/3 (stdout 上没有输出) stderr: Can't locate utils.pm in @INC(您可能需要安装 utils 模块)(@INC 包含:. /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl) 在/usr/local/nagios/libexec/check_file_age 第 30 行。 HTTP 此服务的通知已被禁用 OK 09-09-2015 14:30:53 0d 4h 3m 30s 1/4
如何指定要传递的参数?如何纠正错误?下一步是什么? (是否有一个位置描述了如何添加一个逃脱我的 Google-fu 的插件?)
【问题讨论】: