Nagios 不会为插件创建性能数据

问题描述

我为 Nagios 制作了一个 bash 脚本,用 Nagiosgraph 进行测试。但是,不会为此脚本创建 Rrd 文件。 Nagios 附带的插件与 Nagiosgraph 配合良好,这些插件的 rrd 文件也存在。

脚本如下:

#!/bin/bash

checkgpu=$( nvidia-smi --format=csv --query-gpu=utilization.gpu | awk '/[[:digit:]]+[[:space:]]%/ { tot+=$1;cnt++ } END { print tot/cnt }' | cut -d$

output="Load Average: $checkgpu"

if [ $checkgpu -ge 0 ]
then
    echo "OK- $output"
    exit 0
elif [ $checkgpu -eq 101 ]
then
    echo "WARNING- $output"
    exit 1
elif [ $checkgpu -eq 102 ]
then
    echo "CRITICAL- $output"
    exit 2
else
echo "UNKNowN- $output"
exit 3
fi

我应该怎么做才能使这个脚本与 Nagiosgraph/Performance 数据一起工作?

解决方法

查看开发指南:https://nagios-plugins.org/doc/guidelines.html#AEN200

perfdata 的预期格式是 'label'=value[UOM];[warn];[crit];[min];[max],它看起来像这样:

PING ok - Packet loss = 0%,RTA = 0.80 ms | percent_packet_loss=0,rta=0.80

管道 (|) 字符告诉 Nagios 插件输出已经结束,性能数据开始。

请注意,上面的示例没有指定 UOM(度量单位,如百分比),也没有指定任何数据的警告/暴击阈值,或图表的最小值/最大值。这些都是可选的。