0

我的 Linux bash 技能还很初级,所以我正在寻求帮助。我正在尝试将一些 CPU 温度数据插入到流入数据库中,以便它可以显示在 Grafana 仪表板上。

到目前为止,我已经能够通过 Linux 中的 ipmitool 检索 CPU 温度,请参见下面的示例……它显示了我运行的命令以及生成的温度数据。

ipmitool sdr elist full | grep CPU | grep Temp | cut -d "|" -f 5 | cut -d " " -f 2
40
47

我想将这些数字输入到变量中,这样我就可以使用类似下面的命令将它们插入到 influx 数据库中。

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'server_temps,sensor=CPU1, value=23' 

上面的命令手动运行,并将值 23 插入到流入数据库中。我想做的是自动化数据收集和插入流入数据库......但对于 CPU1 和 CPU2。

最初我想我可能需要几个 curl 部分,以便每 30 秒左右将 CPU1 和 CPU2 的温度添加到数据库中。如果我能让这个工作,我可能会想从 ipmitool 添加额外的数据。

我怀疑我可能不是最好的方法?所以所有的想法,帮助,非常感谢。

4

1 回答 1

0

使用简单的 bash 循环就足够了吗?

for temperature in $(ipmitool sdr elist full | grep CPU | grep Temp | cut -d "|" -f 5 | cut -d " " -f 2)
do 
  curl -i -XPOST "http://localhost:8086/write?db=mydb' --data-binary 'server_temps,sensor=inlet, value=$temperature"
done
于 2020-07-28T12:14:05.543 回答