如何在Splunk中为指定服务器生成含状态信息的展示表格?
Splunk服务器状态表格查询方案
直接使用以下整合后的查询语句,就能生成你需要的服务器状态表格:
index=app | WHERE host IN ("dgp4ds2345", "dgp4ds2346", "dgp4ds2347", "dgp4ds2348", "dgp4ds2349") | eval node_type=case( host IN ("dgp4ds2345", "dgp4ds2346", "dgp4ds2347"), "processor", host IN ("dgp4ds2348", "dgp4ds2349"), "storage") | eval primary=case( match(_raw, "HTTP/1.1\" 200"), "OK", match(_raw, "ERROR"), "ERROR", true(), "Unknown") | rename host AS server, node_type AS type | table server type primary
关键调整说明:
- 在原有查询逻辑后插入状态计算的
eval语句,直接将状态值赋值给你表格需要的primary列 - 通过
rename命令把Splunk原生字段名映射成表格要求的列名:host→server,node_type→type - 最后用
table指定列的输出顺序,完全匹配你期望的表格结构
最终输出表格示例:
| server | type | primary |
|---|---|---|
| dgp4ds2345 | processor | OK |
| dgp4ds2346 | processor | OK |
| dgp4ds2347 | processor | Unknown |
| dgp4ds2348 | storage | ERROR |
| dgp4ds2349 | storage | OK |
额外提示:
如果单台服务器有多条日志,需要只保留最新的状态记录,可以在eval primary之后添加以下语句:
| stats latest(primary) AS primary BY host node_type
内容的提问来源于stack exchange,提问作者Kerbol
相关产品推荐
相关产品推荐

