-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnap_config.xml
99 lines (99 loc) · 5.74 KB
/
nap_config.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<form>
<label>Node Alert Editor</label>
<description>This interface allows you to configure no-alert periods for nodes.</description>
<fieldset submitButton="false">
<input type="dropdown" token="tsmserver" searchWhenChanged="true">
<label>TSM Server</label>
<search>
<query>| inputlookup nodeinfo | where isnull(DEL_TIME) | search NODE_NAME=$node$ CONTACT=$contact$ | dedup tsmserver | sort tsmserver</query>
</search>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>tsmserver</fieldForLabel>
<fieldForValue>tsmserver</fieldForValue>
</input>
<input type="dropdown" token="node" searchWhenChanged="true">
<label>Node Name</label>
<search>
<query>| inputlookup nodeinfo | where isnull(DEL_TIME) | search tsmserver=$tsmserver$ CONTACT=$contact$ | dedup NODE_NAME | sort NODE_NAME</query>
</search>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>NODE_NAME</fieldForLabel>
<fieldForValue>NODE_NAME</fieldForValue>
</input>
<input type="dropdown" token="contact" searchWhenChanged="true">
<label>Contact</label>
<search>
<query>| inputlookup nodeinfo | where isnull(DEL_TIME) | search tsmserver=$tsmserver$ NODE_NAME=$node$ | dedup CONTACT | sort CONTACT</query>
</search>
<choice value="*">All</choice>
<default>*</default>
<fieldForLabel>CONTACT</fieldForLabel>
<fieldForValue>CONTACT</fieldForValue>
</input>
</fieldset>
<row>
<panel>
<html>
<button class="nap-add" data-tsmserver="$form.tsmserver$" data-node="$form.node$" data-alert="NO">Add NAP period</button>
<i>Please select a TSM Server and Node Name above in order to add a new no-alert period.</i>
</html>
<viz type="edittable.edittable">
<search>
<query>| inputlookup nodealerts
| lookup nodeinfo tsmserver NODE_NAME AS node OUTPUTNEW CONTACT DEL_TIME
| where isnull(DEL_TIME)
| fillnull value="" CONTACT
| search tsmserver="$tsmserver$" node="$node$" CONTACT="$contact$"
| stats first(CONTACT) AS CONTACT first(eval(if(type="start", round(starttime,0), NULL))) AS start_time first(eval(if(type="start", alert, NULL))) AS alert first(eval(if(type="end", round(starttime,0), NULL))) AS end_time first(eval(if(type="start", comment, NULL))) AS comment by napid,tsmserver,node
| sort tsmserver node napid
| rename tsmserver AS "TSM Server" node AS Node CONTACT AS Contact napid AS "NAP ID" start_time AS "Start Date" end_time AS "End Date" alert AS "Alert State" comment AS Comment
| table "TSM Server" Node Contact "NAP ID" "Start Date" "End Date" "Alert State" Comment</query>
</search>
<option name="edittable.edittable.rowNumbers">true</option>
<option name="edittable.edittable.lookup">nodealerts</option>
<option name="edittable.edittable.allowAdd">true</option>
<option name="edittable.edittable.addButtonClass">nap-add</option>
<option name="edittable.edittable.allowDelete">true</option>
<option name="edittable.edittable.presearch">
<![CDATA[lookup nodeinfo tsmserver NODE_NAME AS node OUTPUTNEW CONTACT
| stats first(CONTACT) AS contact first(eval(if(type="start", round(starttime,0), NULL))) AS start_time first(eval(if(type="start", alert, NULL))) AS alert first(eval(if(type="end", round(starttime,0), NULL))) AS end_time first(eval(if(type="start", comment, NULL))) AS comment by napid,tsmserver,node
]]>
</option>
<option name="edittable.edittable.postsearch">
<![CDATA[eval end_alert=if(alert="YES","NO","YES")
| strcat start_time ":" alert ":start," end_time ":" end_alert ":end" fields
| makemv delim="," fields
| mvexpand fields
| rex field=fields "(?<starttime>.+):(?<alert>.+):(?<type>.+)"
| eval comment=if(type="end", "", comment)
| table starttime tsmserver node napid type alert comment
]]>
</option>
<option name="edittable.edittable.postaddsearch">
<![CDATA[appendcols override=t [|inputlookup nodealerts | appendcols [|stats count] | stats max(eval(coalesce(napid,0))) AS max | eval napid = max+1 | fields napid]
| foreach alert start_time end_time [eval <<FIELD>>=if(<<FIELD>>=="", null, <<FIELD>>)]
| appendcols [| inputlookup nodeinfo | search tsmserver="#tsmserver#" NODE_NAME="#node#" | eval alert=if(ALERTS_DEFAULT=="YES", "NO", "YES") | fields alert]
| appendcols [| stats count | setfields tsmserver="", node="", alert="NO" | eval start_time=round(strptime(strftime(now(), "%F")+" 00:00:00 UTC", "%F %T %Z")) | eval end_time=round(strptime(strftime(relative_time(now(),"+30d@d"), "%F")+" 00:00:00 UTC", "%F %T %Z")) | fields - count]
| foreach tsmserver node alert [eval <<FIELD>>=upper(<<FIELD>>)]
| fields - contact
]]>
</option>
<option name="edittable.edittable.cellConfig">[
{ "fieldname": "tsmserver", "readonly": true, "required": true},
{ "fieldname": "node", "readonly": true, "required": true},
{ "fieldname": "contact", "readonly": true },
{ "fieldname": "napid", "readonly": true, "numeric": { "min": 0 } },
{ "fieldname": "start_time", "required": true, "datepicker": { "max": "end_time" } },
{ "fieldname": "end_time", "required": true, "datepicker": { "min": "start_time" } },
{ "fieldname": "alert", "required": true, "dropdown": [
{ "label": "No", "value": "NO" },
{ "label": "Yes", "value": "YES" }
]},
{ "fieldname": "comment", "css": { "width": "300px" } }
]</option>
</viz>
</panel>
</row>
</form>