Telegraf exec插件意外的数据类型接收到Influx

问题描述

telefgraf和influxdb的新增功能,我在一个telegraf配置中使用了输出格式=“ influx”和2个输入插件

  1. 输入cpu,系统,磁盘...
  2. input exec:下面主题链接中用于磁盘使用的bash脚本,输入格式=“ json”

How to monitor the size of a directory via Telegraf:所以我将类似的bash脚本用于exec命令:

#!/usr/bin/env bash
du -sm "${1}" | awk '{print "[ { \"FreeSpacePerc\": "(10240 - $1)/10240",\"SizeDirMb\": "$1",\"mydir\": \""$2"\" } ]";}'

使用正确的类型,浮点数和整数(如wel)将第一个插件存储中的cpu,diskio指向Influx。 但是问题出在exec插件上。

  • 所需的输出,我看到正在运行测试,正确
root $  telegraf --debug --config /etc/telegraf/telegraf.conf --input-filter exec --test
# output:
# du,mydir=/var/lib/influxdb/data FreeSpacePerc=0.996191,SizeDirMb=39 1604334765000000000
  • Influx像整数一样存储数据,不正确
influx >> select * from du
# output:
# time = 1604…000,FreeSpacePerc = 1,SizeDirMb = 0,mydir = /var/lib/influxdb/data

有人知道如何解决吗? 也许不建议在配置文件中使用多个插件? 还是为每个输入插件使用两个单独的telegraf实例更好? 还是我应该安装gjson lib以便正确地将json从exec插件传递到influx,就像它写的那样? 任何建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)