记录一次日志采集工具fluentd踩坑

先展示下配置信息,通过http协议将数据传入fluentd,然后match根据后面的tag: debug.** 进行匹配,最后将数据存入path中。

<source>
  @type http
  @id input_http
  port 8888
</source>
<match debug.**>
  @type file
  path /var/log/fluent/test
</match>

在运行td-agent时,遇到了一个异常
在这里插入图片描述
按报错提示输入命令systemctl status td-agent.service查看一下服务状态
在这里插入图片描述
并没有发现什么有用的提示信息,再执行一下journalctl -xe
在这里插入图片描述
发现也找不出什么有价值的信息,那只能看看td-agent.log有没有打印什么信息,执行一下cat /var/log/td-agent/td-agent.log
在这里插入图片描述
日志的第一行显示解析配置文件成功,说明配置项是没有问题的。再看看最后一行,嗯?什么情况?

2022-02-22 03:54:31 -0500 [error]: config error file="/etc/td-agent/td-agent.conf" error_class=Fluent::ConfigError error="out_file: `/var/log/fluent/test.20220222_**.log` is not writable"

它竟然说这个日志文件不可写?
在这里插入图片描述
并且可以看到这个文件夹都还未创建出来,这不会是用户权限的问题?可我在虚拟机用的是root权限啊?难道td-agent在安装时会自动创建一个用户?我们去看看,执行cat /etc/passwd
在这里插入图片描述
/etc/passwd 文件存放的是用户信息.由六个分号组成的7个信息,分别是:
用户名 (magesh): 已创建用户的用户名,字符长度 1 个到 12 个字符。
密码(x):代表加密密码保存在 `/etc/shadow 文件中。
用户 ID(506):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
群组 ID (507):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。
用户信息(2g Admin - Magesh M):代表描述字段,可以用来描述用户的信息。
家目录(/home/mageshm):代表用户的家目录。
Shell(/bin/bash):代表用户使用的 shell 类型。

果然是这样,td-agent在运行时会使用td-agent这个用户去创建文件,但我们并未给td-agent去开放权限,所以执行以下命令

cd /var/log
mkdir fluent
chown td-agent:td-agent /var/log/fluent

再次运行

systemctl start td-agent.service
systemctl status td-agent.service

在这里插入图片描述
发现已经正常运行起来了,并且文件夹也创建好了
在这里插入图片描述
接着执行下curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test,然后执行下图的命令
在这里插入图片描述
发现数据已经被fluentd解析并且输出在配置的目标路径下了。

说说最近研究fluentd的感慨吧,国内用户并不多,一般的报错在csdn上也是搜不到的,必须看报错提示,如果没有的话,就只能去stackoverflow或者github上fluentd仓库的issues中看看有没有解决方案,使用的话,官网已经描述的非常详细了,非常推荐参照官网编写。最后附上官网链接:https://docs.fluentd.org/

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值