-
Notifications
You must be signed in to change notification settings - Fork 1
/
Panoramix.xml
221 lines (221 loc) · 8.6 KB
/
Panoramix.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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<dashboard refresh="120">
<label>Panoramix</label>
<description>Service Status Overview</description>
<search id="global">
<query>| inputlookup serverinfo
| where SERVER_STATUS="production"
| rename TSMSERVER as tsmserver
| join type=left tsmserver
[search index=tsmdb earliest=-15m
| table tsmserver
| stats count by tsmserver]
| eval count=if(isnull(count),0,count)
| eval up=if(count>0,"yes","no")
| join type=left tsmserver
[ search `lastdb("db")`
| eval Days = round((_time - strptime(LAST_BACKUP_DATE, "%Y-%m-%d %H:%M:%S"))/(3600*24),1)]
| join type=left tsmserver
[ search `lastdb("stgpools")`
| search STGPOOL_NAME="BACKUPPOOL"]
| join type=left tsmserver
[ search index=tsmlogs tsmcode=ANR8337I earliest=-24h | stats count by tsmserver]
| eval Summary=if(tonumber(count)>0, if(tonumber(Days)<1, if(up="yes", if(SERVER_TYPE="library_manager", if(tonumber(PCT_UTILIZED)<99, 0, 1), if(tonumber(PCT_UTILIZED)<60, 0, 1)), 1), 1), 1)
| rangemap field="Summary" low=0-0 default=severe
| fields *
</query>
<earliest>-24h</earliest>
</search>
<row grouping="4,6">
<single>
<title>TSM Library Managers</title>
<search base="global">
<query>where up="yes" AND SERVER_TYPE="library_manager"
| stats count as total sum(eval(up=="yes")) as count_up
| table count_up
</query>
</search>
<option name="colorBy">value</option>
<option name="colorMode">none</option>
<option name="rangeValues">[0,1,2]</option>
<option name="rangeColors">["#D93F3C","#F7BC38","#65A637"]</option>
<option name="underLabel">out of 2 are up and running</option>
<option name="useColors">1</option>
<option name="drilldown">none</option>
</single>
<table id="table_tsm_lm">
<search base="global">
<query>where SERVER_TYPE="library_manager"
| rename range as Status, count as "# Mounts/24h", PCT_UTILIZED as "BackupPool %", Days as "Days since last Backup"
| table tsmserver, up, "Days since last Backup", "BackupPool %", "# Mounts/24h", Status
</query>
</search>
<option name="drilldown">row</option>
<option name="count">50</option>
<drilldown>
<link>Obelix?form.tsmserver=$row.tsmserver$</link>
</drilldown>
</table>
<single>
<title>TSM Servers</title>
<search base="global">
<query>where SERVER_TYPE!="library_manager"
| stats count as total sum(eval(up=="yes")) as count_up
| eval range=case(count_up == total, "low", count_up >= total * 0.9, "elevated", count_up >= 0, "severe")
| table count_up, range
</query>
</search>
<option name="colorBy">value</option>
<option name="colorMode">none</option>
<option name="rangeValues">[0,15,16]</option>
<option name="rangeColors">["#D93F3C","#F7BC38","#65A637"]</option>
<option name="underLabel">out of 16 are up and running</option>
<option name="useColors">1</option>
<option name="drilldown">none</option>
</single>
<table id="table_tsm_ser">
<search base="global">
<query>where SERVER_TYPE!="library_manager"
| rename range as Status, count as "# Mounts/24h", PCT_UTILIZED as "BackupPool %", Days as "Days since last Backup"
| table tsmserver, up, "Days since last Backup", "BackupPool %", "# Mounts/24h", Status
</query>
</search>
<option name="drilldown">row</option>
<option name="count">50</option>
<drilldown>
<link>Obelix?form.tsmserver=$row.tsmserver$</link>
</drilldown>
</table>
<single>
<title>Online Drives</title>
<search>
<query>`lastdb("drives")`
| stats count as total sum(eval(ONLINE=="YES" and DEVICE_TYPE=="3592")) as count_up
| eval range=case(count_up == total, "low", count_up >= total * 0.9, "elevated", count_up >= 0, "severe")
| table count_up, range
</query>
<earliest>-24h</earliest>
</search>
<option name="colorBy">value</option>
<option name="colorMode">none</option>
<option name="rangeValues">[0,54,55]</option>
<option name="rangeColors">["#D93F3C","#F7BC38","#65A637"]</option>
<option name="underLabel">out of 55 are online</option>
<option name="useColors">1</option>
<option name="drilldown">all</option>
<drilldown>
<link>Asuranceturix</link>
</drilldown>
</single>
<table id="table_drives_lib0">
<title>TSMLIB0 Offline Drives</title>
<search>
<query>LIBRARY_NAME="TSMLIB0" (ONLINE!="YES" OR DEVICE_TYPE!="3592") `lastdb("drives")`
| appendpipe
[ stats count
| eval DRIVE_NAME="All TSMLIB0 drives are ONLINE"
| where count==0 ]
| sort by DRIVE_NAME
| table DRIVE_NAME, ONLINE, DEVICE_TYPE, DRIVE_STATE
</query>
<earliest>-24h</earliest>
</search>
<option name="drilldown">row</option>
<option name="count">90</option>
<drilldown>
<link>drive_debug?form.drive=$row.DRIVE_NAME$</link>
</drilldown>
</table>
<table id="table_drives_lib2">
<title>TSMLIB2 Offline Drives</title>
<search>
<query>LIBRARY_NAME="*LIB2" AND (ONLINE!="YES" OR DEVICE_TYPE!="3592") `lastdb("drives")`
| appendpipe
[ stats count
| eval DRIVE_NAME="All TSMLIB2 drives are ONLINE"
| where count==0 ]
| sort by DRIVE_NAME
| table DRIVE_NAME, ONLINE, DEVICE_TYPE, DRIVE_STATE
</query>
<earliest>-24h</earliest>
</search>
<option name="drilldown">row</option>
<option name="count">90</option>
<drilldown>
<link>drive_debug?form.drive=$row.DRIVE_NAME$</link>
</drilldown>
</table>
<single>
<title>TSMLIB0 Scratch Tapes</title>
<search>
<query>STATUS=Scratch LIBRARY_NAME="TSMLIB0" `lastdb("libvolumes")`
| stats count
| rangemap field=count low=100-9999999 elevated=10-99 default=severe
</query>
<earliest>-24h</earliest>
</search>
<option name="colorBy">value</option>
<option name="colorMode">none</option>
<option name="rangeValues">[0,99,9999999]</option>
<option name="rangeColors">["#D93F3C","#F7BC38","#65A637"]</option>
<option name="useColors">1</option>
<option name="drilldown">all</option>
<drilldown>
<link>tape_supply</link>
</drilldown>
</single>
<single>
<title>TSMLIB2 Scratch Tapes</title>
<search>
<query>STATUS=Scratch LIBRARY_NAME="*LIB2" `lastdb("libvolumes")`
| stats count
| rangemap field=count low=100-9999999 elevated=10-99 default=severe
</query>
<earliest>-24h</earliest>
</search>
<option name="colorBy">value</option>
<option name="colorMode">none</option>
<option name="rangeValues">[0,99,9999999]</option>
<option name="rangeColors">["#D93F3C","#F7BC38","#65A637"]</option>
<option name="useColors">1</option>
<option name="drilldown">all</option>
<drilldown>
<link>tape_supply</link>
</drilldown>
</single>
<chart>
<title>Errors</title>
<search>
<query>index=tsmlogs (tsmcode=ANR*E OR tsmcode=ANR*W)
| lookup tsmcode-alerts tsmcode as tsmcode OUTPUT alert as alert
| eval alert=if(isnull(alert), "other", alert)
| search alert!=ignore
| timechart count by alert
</query>
<earliest>-24h</earliest>
</search>
<option name="charting.chart.stackMode">stacked</option>
<option name="charting.legend.placement">bottom</option>
<option name="charting.axisTitleX.text">Time</option>
</chart>
</row>
<row>
<chart>
<title>Backup pool fill percentage</title>
<search>
<query>`tsmdb("stgpools")`
| lookup serverinfo TSMSERVER AS tsmserver
| search SERVER_TYPE=user STGPOOL_NAME="BACKUPPOOL"
| timechart limit=20 span=1h avg(PCT_UTILIZED) AS PCT_UTILIZED by tsmserver
| sort tsmserver
</query>
<earliest>-7d@d</earliest>
<latest>now</latest>
</search>
<option name="charting.chart">line</option>
<option name="charting.chart.nullValueMode">connect</option>
<option name="charting.legend.placement">bottom</option>
<option name="charting.axisY.maximumNumber">100</option>
<option name="charting.axisTitleX.text">Time</option>
</chart>
</row>
</dashboard>