ICINGA2 - 编辑 Windows 插件输出

ICINGA2 - 编辑 Windows 插件输出

我在 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在管理控制台中进行测试

相关内容