如何使用Telegraf拖尾远程日志文件

时间:2017-04-03 10:14:23

标签: tail influxdb telegraf telegraf-inputs-plugin telegraf-output-plugins

您好我是Telegraf和Influxdb的新手。我知道我们可以使用Telegraf拖尾(监视)本地文件(在安装Telegraf的同一台机器上),并使用[[inputs.tail]]和[[outputs.influxdb]]插件将输出发送到Influxdb。电讯报。

但是我想要在一个不同于安装Telegraf的服务器上的日志文件。

一种方法是在日志文件所在的服务器上安装Telegraf:但我不能这样做,因为该服务器无法向Influxdb发送数据。它无权访问Influxdb所在的服务器。

所以我必须使用中间服务器才能将数据发送到InfluxDb。

有没有办法拖尾远程文件或任何其他方式。 欢迎任何类型的建议。

1 个答案:

答案 0 :(得分:4)

我环顾四周,找到了解决方法:

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