Telegraf代理似乎没有向MongoDB 发送数据
我正在尝试使用Telegraf收集日志文件数据,如Apache Tomcat的access_log、app_log等,并将其发送到MongoDB 6.x版本以存储数据。
所以,我就是这么做的。
- 从Git下载Telegraf最新版本的源文件
- 使用";GO";在Linux盒子上,并在Windows盒子上安装了MongoDB 6.x版本,如下所示:
- Telegraf Agent,Apache Tomcat:Linux盒子
- MongoDB 6.x版本:Windows框
- 生成示例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"
- 并使用电报命令启动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代理会创建时间序列集合并通过这样做发送数据。最终,我希望我能从特定的收集中找到数据。
但是,我找不到任何数据。
所以,我想知道这些:
- 如何检查此问题的根本原因
- 如何在不创建的情况下在telegraph.conf上配置目标集合
您需要告诉telegrapf如何解析这些日志文件。默认情况下,尾部输入将期望行协议中的数据,我怀疑您的apache日志是否在其中:(例如,您将希望查看grok解析器,以读取日志并构建要发送到mongodb的度量。