我在 Ubuntu 16.04 LTS 上安装了 ICINGA2 服务器。现在我添加了 3 个 Windows 主机进行监控,一切正常,但我还为我的新 Windows 主机配置了 UPTIME 和 MEMORY 服务。我工作正常,但插件检查正常运行时间返回如下输出:正常运行时间正常 2500 小时。我如何将单位从小时改为天?同样检查内存windows 插件 - 我收到了:MEMORY OK - XX % free
,但我想显示这样的输出:
MEMORY OK - XX % (X MB) free
有可能做到吗?
编辑:参考索尔查回应我已经检查了 check_uptime 的帮助,但收到了不同的输出。
check_uptime.exe Help
Version: 1
check_uptime.exe is a simple program to check a machines uptime.
You can use the following options to define its behaviour:
-h [ --help ] Print help message and exit
-V [ --version ] Print version and exit
-d [ --debug ] Verbose/Debug output
-w [ --warning ] arg Warning threshold (Uses -unit)
-c [ --critical ] arg Critical threshold (Uses -unit)
-u [ --unit ] arg Unit to use:
h- hours
m- minutes
s- seconds (default)
ms- milliseconds
It will then output a string looking something like this:
UPTIME WARNING 712h | uptime=712h;700;1800;0
答案1
您可能需要自己编写检查。幸运的是,这非常简单。您可以使用任何语言(C#、C、powershell 等)来完成。
状态 (OK/WARNING/CRITICAL/UNKNOWN) 由退出代码决定。退出代码 0 表示 OK,1 表示 WARNING,依此类推。
检查输出只是打印到控制台。因此在 Powershell 中,您可以使用Write-Host
。就是这样!
答案2
当你看到 check_uptime 的帮助时你就得到了所需的单位:
Usage:
check_uptime [-u uom] [-w threshold] [-c threshold] [-t] [-h] [-vvv] [-V]
Options:
-h, --help
Print detailed help screen
-V, --version
Print version information
--extra-opts=[section][@file]
Read options from an ini file. See
https://www.nagios-plugins.org/doc/extra-opts.html
for usage and examples.
-t, Plugin timeout, default 10 seconds
-c, Critcal threshold
-w, Warning threshold
-u, Time unit of measurement (seconds|minutes|hours|days) (default: minutes)
-vvv, Enable verbose output
对于 check_memory,您可以在主机上使用不同的输出样式进行测试,您可以查看 nsclient.ini.sample 中的一些示例。并nscp test
在管理控制台中进行测试