如何使用Telagraf将日志文件中的数据发送到MongoDB



Telegraf代理似乎没有向MongoDB 发送数据

我正在尝试使用Telegraf收集日志文件数据,如Apache Tomcat的access_log、app_log等,并将其发送到MongoDB 6.x版本以存储数据。

所以,我就是这么做的。

  1. 从Git下载Telegraf最新版本的源文件
  2. 使用";GO";在Linux盒子上,并在Windows盒子上安装了MongoDB 6.x版本,如下所示:
  • Telegraf Agent,Apache Tomcat:Linux盒子
  • MongoDB 6.x版本:Windows框

  1. 生成示例access_log文件并配置电报conf文件,如下所示:

access_log文件

0:0:0:0:0:0:0:1 - - [24/Oct/2022:15:57:02 +0530] "GET /manager/html HTTP/1.1" 401 2538
0:0:0:0:0:0:0:1 - admin [24/Oct/2022:15:57:10 +0530] "GET /manager/html HTTP/1.1" 200 15829
0:0:0:0:0:0:0:1 - admin [24/Oct/2022:15:57:10 +0530] "GET /manager/images/tomcat.gif HTTP/1.1" 200 2066
0:0:0:0:0:0:0:1 - admin [24/Oct/2022:15:57:10 +0530] "GET /manager/images/asf-logo.gif HTTP/1.1" 200 7279

电报conf

[agent]
debug = true
quiet = false
logtarget = "file"
logfile = "/app/telegraf/telegraf-master/logs/telegraf.log"
[[inputs.tail]]
files = ["/logs/weblog/apache-tomcat/access_log/access_log"]
[[outputs.mongodb]]
dsn = "mongodb://192.168.0.1:27017"
database = "test"
granularity = "seconds"
authentication = "SCRAM"
username = "admin"
password = "password"

  1. 并使用电报命令启动Telegraf代理,如下所示:

启动命令

./telegraf --config ./telegraf.conf 

@参考https://github.com/influxdata/telegraf@参考https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tail@参考https://github.com/influxdata/telegraf/tree/master/plugins/outputs/mongodb


我以为Telegraf代理会创建时间序列集合并通过这样做发送数据。最终,我希望我能从特定的收集中找到数据。

但是,我找不到任何数据。

所以,我想知道这些:

  1. 如何检查此问题的根本原因
  2. 如何在不创建的情况下在telegraph.conf上配置目标集合

您需要告诉telegrapf如何解析这些日志文件。默认情况下,尾部输入将期望行协议中的数据,我怀疑您的apache日志是否在其中:(例如,您将希望查看grok解析器,以读取日志并构建要发送到mongodb的度量。

相关内容

  • 没有找到相关文章

最新更新