我想创建一个显示服务器状态的 Splunk 表。
我有一个查询,当前返回服务器及其类型。
但是,我不知道如何显示它的状态,即是否正常或是否有错误。
我需要将任何类似于“200”http 状态的内容与“OK”相匹配,并将任何带有错误消息的内容与“ERROR”相匹配
| eval status=case(
match(_raw, "HTTP/1.1\" 200"), "OK",
match(_raw, "ERROR"), "ERROR",
true(), "Unknown")
但是,我不确定如何在我的表格中显示它。
我只对在查询中硬编码的少数服务器感兴趣。
这是我到目前为止所拥有的,它显示了服务器名称和节点类型。
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")
| table server, type, primary
这就是我希望我的桌子最终的样子:
服务器 | 类型 | 初级 |
---|---|---|
dgp4ds2345 | 处理器 | 好的 |
dgp4ds2487 | 处理器 | 好的 |
dgp4ds2289 | 存储 | 好的 |
您有代码。 如果你把这些碎片拼凑起来,它会起作用吗? 如果没有,你会得到什么?
index=app host IN ("dgp4ds2345", "dgp4ds2346", "dgp4ds2347", "dgp4ds2348", "dgp4ds2349")
| eval 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
| table server, type, primary