Graylog2自定义消息推送Telegram遇空消息问题求助
我之前在配置Graylog推送Telegram告警的时候,也碰到过这种空消息的问题,基本上都是变量解析或者格式不对导致的,给你几个排查和解决的方向:
解决Graylog推送Telegram空消息的问题
1. 先搞对变量语法(核心问题)
你示例里混了%xxx%和${xxx}两种变量格式,但Graylog不同功能模块的变量规则不一样:
- 如果是**警报通知(Alert Notifications)**里的自定义消息,必须用
${变量名}的格式,比如${message.id}、${source}、${name} %xxx%一般是管道(Pipelines)或提取器里的引用语法,Telegram推送大多走警报通知,所以别用错格式
2. 验证变量是否真的有值
空消息也可能是变量本身没有内容:
- 去Graylog搜索界面找到对应消息,查看字段列表里是否存在
message.id、source、name这些字段,确认它们不是空值 - 先写个极简测试模板,比如
测试推送:${source},如果能收到带source内容的消息,说明基础配置没问题,再逐步添加其他变量
3. 检查Telegram通知的基础配置
虽然你能收到空消息说明连接正常,但还是要确认:
- Bot Token和聊天ID填写正确,没有多余的空格或字符
- 消息模板里有没有未转义的特殊符号,比如
&、#这类,可能会干扰变量解析
4. 正确的示例模板(警报通知场景)
把你的模板改成下面这样试试:
Graylog2: ${message.id} Source: ${source} Name: ${name}
先测试这个简化版,确认能收到完整内容后,再根据需求调整格式。
内容的提问来源于stack exchange,提问作者John Henrry
相关产品推荐
相关产品推荐

