forked from fernandobrunelli/Zabbix-Templates
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTemplate Module Windows CPU by Zabbix agent.xml
286 lines (286 loc) · 15.2 KB
/
Template Module Windows CPU by Zabbix agent.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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>5.0</version>
<groups>
<group>
<name>Templates/Modules</name>
</group>
</groups>
<templates>
<template>
<template>Template Module Windows CPU by Zabbix agent</template>
<name>Template Module Windows CPU by Zabbix agent</name>
<description>Template tooling version used: 0.37</description>
<groups>
<group>
<name>Templates/Modules</name>
</group>
</groups>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
<items>
<item>
<name>CPU DPC time</name>
<key>perf_counter_en["\Processor Information(_total)\% DPC Time"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<units>%</units>
<description>Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure
calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a
component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is
sustained, there may be a processor bottleneck or an application or hardware related issue that can
significantly diminish overall system performance.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
</item>
<item>
<name>CPU interrupt time</name>
<key>perf_counter_en["\Processor Information(_total)\% Interrupt Time"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<units>%</units>
<description>The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential
hardware failure. This should never be higher than 20%.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
<triggers>
<trigger>
<expression>{min(5m)}>{$CPU.INTERRUPT.CRIT.MAX}</expression>
<name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
<priority>WARNING</priority>
<description>"The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%."
The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential
hardware failure. This should never be higher than 20%.</description>
<dependencies>
<dependency>
<name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
<expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT}</expression>
</dependency>
</dependencies>
</trigger>
</triggers>
</item>
<item>
<name>CPU privileged time</name>
<key>perf_counter_en["\Processor Information(_total)\% Privileged Time"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<units>%</units>
<description>The Processor Information\% Privileged Time counter shows the percent of time that the processor is spent
executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt
Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode
functions of the Windows® Operating System.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
<triggers>
<trigger>
<expression>{min(5m)}>{$CPU.PRIV.CRIT.MAX}</expression>
<name>CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m)</name>
<priority>WARNING</priority>
<description>The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.</description>
<dependencies>
<dependency>
<name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
<expression>{Template Module Windows CPU by Zabbix agent:perf_counter_en["\Processor Information(_total)\% Interrupt Time"].min(5m)}>{$CPU.INTERRUPT.CRIT.MAX}</expression>
</dependency>
<dependency>
<name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
<expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT}</expression>
</dependency>
</dependencies>
</trigger>
</triggers>
</item>
<item>
<name>CPU user time</name>
<key>perf_counter_en["\Processor Information(_total)\% User Time"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<units>%</units>
<description>The Processor Information\% User Time counter shows the percent of time that the processor(s) is spent executing
in User mode.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
</item>
<item>
<name>Context switches per second</name>
<key>perf_counter_en["\System\Context Switches/sec"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<description>Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.
Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.
It is the sum of Thread\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.
There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
</item>
<item>
<name>CPU queue length</name>
<key>perf_counter_en["\System\Processor Queue Length"]</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<description>The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue
and are waiting to be executed.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
</item>
<item>
<name>CPU utilization</name>
<key>system.cpu.util</key>
<history>7d</history>
<value_type>FLOAT</value_type>
<units>%</units>
<description>CPU utilization in %</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
<triggers>
<trigger>
<expression>{min(5m)}>{$CPU.UTIL.CRIT}</expression>
<name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
<opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
<priority>WARNING</priority>
<description>CPU utilization is too high. The system might be slow to respond.</description>
</trigger>
</triggers>
</item>
<item>
<name>Number of cores</name>
<key>wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]</key>
<history>7d</history>
<description>The number of logical processors available on the computer.</description>
<applications>
<application>
<name>CPU</name>
</application>
</applications>
</item>
</items>
<macros>
<macro>
<macro>{$CPU.INTERRUPT.CRIT.MAX}</macro>
<value>50</value>
<description>The critical threshold of the % Interrupt Time counter.</description>
</macro>
<macro>
<macro>{$CPU.PRIV.CRIT.MAX}</macro>
<value>30</value>
<description>The threshold of the % Privileged Time counter.</description>
</macro>
<macro>
<macro>{$CPU.QUEUE.CRIT.MAX}</macro>
<value>3</value>
<description>The threshold of the Processor Queue Length counter.</description>
</macro>
<macro>
<macro>{$CPU.UTIL.CRIT}</macro>
<value>90</value>
<description>The critical threshold of the CPU utilization in %.</description>
</macro>
</macros>
</template>
</templates>
<triggers>
<trigger>
<expression>{Template Module Windows CPU by Zabbix agent:perf_counter_en["\System\Processor Queue Length"].min(5m)} - {Template Module Windows CPU by Zabbix agent:wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"].last()} * 2 > {$CPU.QUEUE.CRIT.MAX}</expression>
<name>CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX} for 5m)</name>
<priority>WARNING</priority>
<description>The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro {$CPU.QUEUE.CRIT.MAX }.</description>
<dependencies>
<dependency>
<name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
<expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT}</expression>
</dependency>
</dependencies>
</trigger>
</triggers>
<graphs>
<graph>
<name>CPU jumps</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<item>
<host>Template Module Windows CPU by Zabbix agent</host>
<key>perf_counter_en["\System\Context Switches/sec"]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>2774A4</color>
<item>
<host>Template Module Windows CPU by Zabbix agent</host>
<key>perf_counter_en["\Processor Information(_total)\% Interrupt Time"]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>CPU usage</name>
<type>STACKED</type>
<ymin_type_1>FIXED</ymin_type_1>
<ymax_type_1>FIXED</ymax_type_1>
<graph_items>
<graph_item>
<color>1A7C11</color>
<item>
<host>Template Module Windows CPU by Zabbix agent</host>
<key>perf_counter_en["\Processor Information(_total)\% User Time"]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>2774A4</color>
<item>
<host>Template Module Windows CPU by Zabbix agent</host>
<key>perf_counter_en["\Processor Information(_total)\% Privileged Time"]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph>
<name>CPU utilization</name>
<ymin_type_1>FIXED</ymin_type_1>
<ymax_type_1>FIXED</ymax_type_1>
<graph_items>
<graph_item>
<drawtype>GRADIENT_LINE</drawtype>
<color>1A7C11</color>
<item>
<host>Template Module Windows CPU by Zabbix agent</host>
<key>system.cpu.util</key>
</item>
</graph_item>
</graph_items>
</graph>
</graphs>
</zabbix_export>