Splunk-在维护窗口期间禁用警报

时间:2018-08-11 13:05:21

标签: splunk

我在splunk中加载了一个简单的cvs文件,名为StandardMaintenance.csv,看起来像这样...

UnderMaintenance
NO

我们当前在维护窗口中受到警报的轰炸。在维护开始时,我希望能够将其更改为“是”以停止警报(我有一种简单的方法)。我正在寻找某种标准内容添加到所有检查此csv的状态的警报查询(据我了解的查找),并且如果UnderMaintenance = YES则查询不返回任何内容,因此不会生成与查询的匹配项。

它基本上是二进制的,ON或OFF。非常感谢您能提供的帮助。

2 个答案:

答案 0 :(得分:1)

注意:

  

您无法通过执行splunk查询来禁用警报,因为   Rest API需要执行POST操作。

第1步:使用以下查询,与所有者保存所有已保存搜索的csv文件。您可以根据需要安排查询时间。例如,下面的搜索创建 maintenance.csv 并在执行时替换所有内容。

 | rest /servicesNS/-/search/saved/searches | table title eai:acl.owner | outputlookup maintenance.csv

该文件将在$ SPLUNK_HOME / etc / apps / << em>应用名称> / lookups

中创建

步骤2:编写脚本以读取 maintenance.csv 文件中的数据,并执行以下命令禁用搜索。 (在维护窗口之前运行)

 curl -X POST -k -u admin:pass https://<splunk server>:8089/servicesNS/<owner>/search/saved/searches/<search title>/disable

步骤3:执行相同的操作启用所有搜索,只需将命令更改为(在维护窗口后运行)

curl -X POST -k -u admin:pass https://<splunk server>:8089/servicesNS/<owner>/search/saved/searches/<search title>/enable

编辑1:

在$ SPLUNK_HOME / etc / apps / search / lookups下创建StandardMaintenance.csv文件。 StandardMaintenance.csv文件包含:

UnderMaintenance
"No"

仅当 UnderMaintenance =否时,才使用下面的搜索查询来获取现有已保存搜索的结果:

| rest /servicesNS/-/search/saved/searches 
| eval UnderMaintenance = "No" 
| table title eai:acl.owner UnderMaintenance
| join UnderMaintenance 
[| inputlookup StandardMaintenance.csv ]
| table title eai:acl.owner

希望这会有所帮助!

答案 1 :(得分:0)

在每个查询之前创建一个变量(例如,称为foo),如果maintain为NO,则将其设置为true,否则不进行设置,如下所示:

... | eval foo=case(maintenance=="NO","true") 

然后将以下内容放在查询的末尾:

| eval foo=$foo$

这将使您的查询仅在维护为否的情况下执行