我环顾四周,找到了解决方法:
Telegraf的inputs.tail插件有拖尾管道的选项,我们可以使用它来监控远程文件。
假设serverA有日志文件,而serverB是Telegraf正在运行的地方。
所以我将记下通过Telegraf监控远程文件的步骤。
1.首先在serverB上创建一个管道。
command for creating pipe : mkfifo pipeName
2.现在在serverB上运行一个命令,它将执行ssh来拖尾要监视的serverA上的日志文件,并将输出发送到serverB上的管道。
command is : ssh -q username@serverA tail -f "pathToFile"/out.log > pipeName
3.现在将inputs.tail插件添加到telegraf配置文件中。
[[inputs.tail]]
files = ["pipeName"]
from_beginning = false
pipe = true
data_format = "json"
name_suffix = "_myMetrics"
这些配置可以根据您的要求进行更改。
4.现在运行telegraf,它将开始将数据写入您在配置文件中指定的输出插件。
command to run Telegraf : ./usr/bin/telegraf -config demoTelegraf.conf