Moh*_*eem 2 tail influxdb telegraf telegraf-inputs-plugin telegraf-output-plugins
嗨,我是Telegraf和Influxdb的新手。我知道我们可以使用Telegraf尾随(监视)本地文件(在安装Telegraf的同一台机器上),并使用Telegraf的[[inputs.tail]]和[[outputs.influxdb]]插件将输出发送到Influxdb。
但是我想拖尾一个日志文件,该文件位于安装Telegraf之外的其他服务器上。
一种方法是将Telegraf安装在日志文件所在的服务器上:但是我不能这样做,因为该服务器无法将数据发送到Influxdb。它无权访问存在Influxdb的服务器。
因此,我必须使用中间服务器才能将数据发送到InfluxDb。
因此,有一种方法可以拖尾远程文件或其他任何方法。欢迎任何类型的建议。
我环顾四周,找到了解决方法:
Telegraf的inputs.tail插件具有用于尾随管道的选项,我们可以使用该管道监视远程文件。假设serverA具有日志文件,而serverB是Telegraf运行的地方。
因此,我将写下通过Telegraf监视远程文件的步骤。
1.首先在serverB上创建管道。
command for creating pipe : mkfifo pipeName
Run Code Online (Sandbox Code Playgroud)
2.现在在serverB上运行一个命令,它将执行ssh命令将要监视的serverA上的日志文件拖尾,并将输出发送到serverB上的管道。
command is : ssh -q username@serverA tail -f "pathToFile"/out.log > pipeName
Run Code Online (Sandbox Code Playgroud)
3.现在将inputs.tail插件添加到telegraf配置文件中。
[[inputs.tail]]
files = ["pipeName"]
from_beginning = false
pipe = true
data_format = "json"
name_suffix = "_myMetrics"
Run Code Online (Sandbox Code Playgroud)
这些配置可以根据您的要求进行更改。
4.现在运行telegraf,它将开始将数据写入您在配置文件中指定的输出插件。
command to run Telegraf : ./usr/bin/telegraf -config demoTelegraf.conf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2492 次 |
| 最近记录: |