You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法将Lambda日志发送至Zabbix:发送成功但未注册值求助

解决Lambda日志无法被Zabbix正确处理的问题

看到你的问题了——虽然Zabbix返回了成功响应,但数据没被实际处理(processed:0/1),这种情况我之前也碰到过,大概率是数据匹配或者配置细节的问题,咱们一步步排查:

1. 确认主机名完全匹配

Zabbix对主机名的匹配是严格大小写、完全一致的,你发送的主机名是ip-10-5-1-56_ip-10-5-1-56,务必去Zabbix前端检查:

  • 主机是否存在(在「配置」→「主机」里搜索)
  • 主机名的拼写、下划线、大小写和发送的完全一致,哪怕差一个字符都会导致数据被直接忽略

2. 检查监控项的Key和类型是否正确

你发送的Key是httpd_access_log2,需要确认:

  • 对应主机下已经创建了这个Key的监控项
  • 监控项的类型要选字符型(Character)——因为你发送的是完整的Apache访问日志文本,如果设置成数值型,Zabbix无法解析文本值,会直接跳过这条数据
  • 监控项的「类型」要选「Zabbix trapper」,这样才能接收来自sender的数据

3. 排查时间戳问题

从日志里看到:

log_client_timediff(): timestamp from json 1592557276 seconds, delta time from json 1 seconds

Zabbix对接收的历史数据时间戳有范围限制,如果发送的时间和服务器时间差过大(比如超过默认1天的HistoryCacheTimeout设置),数据会被丢弃:

  • 检查Lambda环境和Zabbix服务器的时间是否同步(尽量统一用UTC时间或同一时区)
  • 尝试把发送的clock字段改成整数时间戳(比如去掉.064,用1592557275),有些旧版本的Zabbix不支持带小数的时间戳

4. 验证发送的数据格式

再仔细核对你发送的JSON结构,确保没有格式错误:

{"request":"sender data","data":[{"host":"ip-10-5-1-56_ip-10-5-1-56","key":"httpd_access_log2","value":"150.31.74.47 - - [18/Jun/2020:17:24:02 +0900] \"GET / HTTP/1.1\" 403 3839 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36\"","clock":1592557275}],"clock":1592557276}

注意value里的双引号已经转义了,这部分是对的,但可以尝试用一段短文本测试,排除长文本导致的解析问题

5. 检查Zabbix服务器的相关配置

  • 确认zabbix_server.conf里的StartTrappers参数值大于0(默认是5),确保有足够的进程处理trapper请求
  • 检查AllowUnsupportedTime参数,如果设置为0(默认),Zabbix会拒绝时间戳不在合理范围内的数据,可以临时改成1测试是否是时间问题

我之前碰到过类似的情况,就是主机名多打了一个下划线,导致数据一直不被处理,改完就正常了。按这几步排查应该能找到问题根源。

内容的提问来源于stack exchange,提问作者Snow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 09:12:33