多个设备 telegraf nagios 插件的问题
Problem with multiple devices telegraf nagios plugin
我正在尝试添加一些主机 (UPS) 来监控电池充电、逆变器状态、输入电压等。我已经尝试让它工作几个小时了。因此,Nagios 脚本似乎工作正常并且至少有一些数据记录在 influxdb 中。但是,当尝试从 Influx 网页上的数据资源管理器查看数据时,它似乎没有保留各个主机的详细信息。我也有与下面相同的单独配置,但每个配置文件中只有一个主机,但它似乎没有什么区别。所有配置文件都将数据存储在同一个存储桶中。截取了查询和返回数据的屏幕截图,因为我无法 copy/paste 但仍然清晰可见。
Query selections
Displayed data
这是我的配置:
[[inputs.exec]]
timeout = "5s"
commands = [
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31"
]
name_suffix = "_ups_temp"
data_format = "nagios"
[[outputs.influxdb_v2]]
urls = ["http://192.168.x.x:8086"]
token = "--token--"
organization = "--org--"
bucket = "UPS"
任何指点将不胜感激。
我会尝试使用不同的 name_suffix = "_ups_tempXX" 进行多个 [[inputs.exec]] 配置,其中 XX 可以识别源设备。它会将数据放在不同的度量中。
另一种方法是在 telegraf exec 配置中添加标签键。
从 JSON 服务器响应的顶级提取的标签名称列表:
tag_keys = [
"my_tag_1",
“my_tag_2”
]
但在这种情况下,您还需要通过发送标签键的值来更新您的 exec 响应。作为标签键,您可以使用设备 IP 或其他可以让您轻松过滤来自所有来源的数据的东西。我找到了一些旧文档,可能对你有帮助:https://archive.docs.influxdata.com/telegraf/v1.3/concepts/data_formats_input/
我正在尝试添加一些主机 (UPS) 来监控电池充电、逆变器状态、输入电压等。我已经尝试让它工作几个小时了。因此,Nagios 脚本似乎工作正常并且至少有一些数据记录在 influxdb 中。但是,当尝试从 Influx 网页上的数据资源管理器查看数据时,它似乎没有保留各个主机的详细信息。我也有与下面相同的单独配置,但每个配置文件中只有一个主机,但它似乎没有什么区别。所有配置文件都将数据存储在同一个存储桶中。截取了查询和返回数据的屏幕截图,因为我无法 copy/paste 但仍然清晰可见。
Query selections
Displayed data
这是我的配置:
[[inputs.exec]]
timeout = "5s"
commands = [
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31",
"/usr/local/nagios/libexec/custom-plugins/check_ups_temperature -H 192.168.x.x -o 1.3.6.1.2.1.33.1.2.7.0 -v1 -C public -w 28 -c 31"
]
name_suffix = "_ups_temp"
data_format = "nagios"
[[outputs.influxdb_v2]]
urls = ["http://192.168.x.x:8086"]
token = "--token--"
organization = "--org--"
bucket = "UPS"
任何指点将不胜感激。
我会尝试使用不同的 name_suffix = "_ups_tempXX" 进行多个 [[inputs.exec]] 配置,其中 XX 可以识别源设备。它会将数据放在不同的度量中。 另一种方法是在 telegraf exec 配置中添加标签键。 从 JSON 服务器响应的顶级提取的标签名称列表: tag_keys = [ "my_tag_1", “my_tag_2” ]
但在这种情况下,您还需要通过发送标签键的值来更新您的 exec 响应。作为标签键,您可以使用设备 IP 或其他可以让您轻松过滤来自所有来源的数据的东西。我找到了一些旧文档,可能对你有帮助:https://archive.docs.influxdata.com/telegraf/v1.3/concepts/data_formats_input/