如何使用 Telegraf 跟踪远程日志文件
How to tail Remote Log File's Using Telegraf
大家好,我是 Telegraf 和 Influxdb 的新手。我知道我们可以使用 Telegraf 跟踪(监视)本地文件(在安装 Telegraf 的同一台机器上)并使用 [[inputs.tail]] 和 [[outputs.influxdb]] 将输出发送到 Influxdb Telegraf 的插件。
但我想跟踪一个日志文件,该文件位于与安装 Telegraf 的服务器不同的服务器上。
一种方法是在日志文件所在的服务器上安装 Telegraf:但我不能这样做,因为该服务器无法将数据发送到 Influxdb。它无权访问存在 Influxdb 的服务器。
所以我必须使用中间服务器才能将数据发送到 InfluxDb。
那么有没有办法尾随远程文件或任何其他方式。
欢迎任何类型的建议。
我环顾四周,找到了解决方法:
Telegraf 的 inputs.tail 插件有选项来跟踪我们可以用来监视远程文件的管道。
假设服务器 A 有日志文件,服务器 B 是 Telegraf 运行ning.
所以我会写下通过 Telegraf 监控远程文件的步骤。
1.First 在服务器 B 上创建管道。
mkfifo pipeName
2.Now 运行 serverB 上的一个命令,它将执行 ssh 以跟踪您要监视的 serverA 上的日志文件,并将输出发送到 serverB 上的管道。
ssh -q username@serverA tail -f "pathToFile"/out.log > pipeName
3.Now 添加 inputs.tail 插件到 telegraf 配置文件。
[[inputs.tail]]
files = ["pipeName"]
from_beginning = false
pipe = true
data_format = "json"
name_suffix = "_myMetrics"
这些是您可以根据需要更改的配置。
4.Now 运行 电报,它将开始将数据写入您在配置文件中指定的输出插件。
./usr/bin/telegraf -config demoTelegraf.conf
大家好,我是 Telegraf 和 Influxdb 的新手。我知道我们可以使用 Telegraf 跟踪(监视)本地文件(在安装 Telegraf 的同一台机器上)并使用 [[inputs.tail]] 和 [[outputs.influxdb]] 将输出发送到 Influxdb Telegraf 的插件。
但我想跟踪一个日志文件,该文件位于与安装 Telegraf 的服务器不同的服务器上。
一种方法是在日志文件所在的服务器上安装 Telegraf:但我不能这样做,因为该服务器无法将数据发送到 Influxdb。它无权访问存在 Influxdb 的服务器。
所以我必须使用中间服务器才能将数据发送到 InfluxDb。
那么有没有办法尾随远程文件或任何其他方式。 欢迎任何类型的建议。
我环顾四周,找到了解决方法:
Telegraf 的 inputs.tail 插件有选项来跟踪我们可以用来监视远程文件的管道。 假设服务器 A 有日志文件,服务器 B 是 Telegraf 运行ning.
所以我会写下通过 Telegraf 监控远程文件的步骤。
1.First 在服务器 B 上创建管道。
mkfifo pipeName
2.Now 运行 serverB 上的一个命令,它将执行 ssh 以跟踪您要监视的 serverA 上的日志文件,并将输出发送到 serverB 上的管道。
ssh -q username@serverA tail -f "pathToFile"/out.log > pipeName
3.Now 添加 inputs.tail 插件到 telegraf 配置文件。
[[inputs.tail]]
files = ["pipeName"]
from_beginning = false
pipe = true
data_format = "json"
name_suffix = "_myMetrics"
这些是您可以根据需要更改的配置。
4.Now 运行 电报,它将开始将数据写入您在配置文件中指定的输出插件。
./usr/bin/telegraf -config demoTelegraf.conf