Graylog 中如何按日志级别(syslog severity)查找消息?
Graylog 按级别检索:搜索栏写 level:3(数值 severity)或 level:ERROR(视字段映射);数值越小越严重(0=emerg 到 7=debug)。本文给出查询语法与级别对照表。
在 Graylog 搜索栏直接写 level:3——当输入遵循 syslog/GELF 的数值级别约定时,level 字段存的是 syslog severity 数值;组合查询如 level:<4 筛出 error 及以上级别。
级别数值对照
| 数值 | 级别 | 含义 |
|---|---|---|
| 0 | emerg | 系统不可用 |
| 1 | alert | 必须立即处理 |
| 2 | crit | 严重 |
| 3 | error | 错误 |
| 4 | warning | 警告 |
| 5 | notice | 注意 |
| 6 | info | 信息 |
| 7 | debug | 调试 |
查询示例
每行 # 后为说明,输入搜索栏时只复制前面的查询表达式。
level:3 # 只看 error
level:[0 TO 3] # error 及以上
source:app01 AND level:<=4 # 某主机的警告及以上
注意事项
- 有些采集链路把级别存为文本字段(如
severity:ERROR)——先点开一条日志看字段实际类型与取值; - 找不到 level 字段:检查输入的解析规则(syslog 输入可解析,GELF 协议本身定义数值 level;任意 JSON 则需核对映射)。
常见问题(FAQ)
Q:能把级别字段映射成文字吗? 可用 decorator 仅改变展示;需要持久化、可检索的文本字段时用 Pipeline 创建并写入字段。