使用Fluentd(td-agent)向InfluxDBv2存储syslog无数据该如何解决
可能的故障原因及排查方案
- 缺少必填的时间精度配置
InfluxDB v2写入时必须明确指定时间精度,syslog生成的时间默认是秒级,你需要在influxdb2的match配置块中添加time_precision s参数,否则写入请求会直接被InfluxDB拒绝。 - tag匹配规则不生效
你的syslog source配置的tag是system,而当前match匹配的是system.**(匹配system后带至少一个分隔符的tag),如果syslog插件生成的tag没有二级后缀,就不会被该match规则捕获。可以先将match规则修改为<match system*>验证是否是匹配规则问题。 - token权限不足
你配置的token可能没有目标bucket的写入权限,可进入InfluxDB UI的token管理页,确认该token是否分配了对应bucket的WRITE权限。 - 缺少字段映射配置
influxdb2插件需要明确指定哪些字段作为索引tag,哪些作为存储field,未配置的情况下插件会无法识别有效字段,直接丢弃数据。可参考如下配置补全字段映射:
<match system.**> @type influxdb2 url http://influxdb:8086 token my_token bucket bucket_name org org_ID use_ssl false time_precision s # 配置作为索引的tag字段 tag_keys ["host", "facility", "severity"] # 配置作为存储的field字段 field_keys ["message", "ident", "pid"] </match>
- 网络连通性故障
td-agent节点可能无法正常访问InfluxDB服务,可在td-agent所在节点执行curl http://influxdb:8086/api/v2/health测试连通性,如果域名解析失败可替换为InfluxDB的实际IP测试。 - 直接查看td-agent日志定位问题
td-agent的默认日志路径为/var/log/td-agent/td-agent.log,直接搜索日志中influxdb相关的报错即可快速定位问题:返回401代表token无效,403代表权限不足,404代表bucket或org ID填写错误。
内容的提问来源于stack exchange,提问作者C1ngh10
相关产品推荐
相关产品推荐

