vsphere collector: charts descritpion and alarms (#6572)
* add vsphere to the dashboard_info.js * swap charts desc fix * add some useful links to the mem charts desc * add vsphere alarms * only specific charts are memory charts * fix alarms * minor * minor
Ilya Mashchenko committed
Aug 12, 2019 at 10:01 UTC
381553a63c5572d3dc5cbea55ffe55dd2c73efd8
3 files changed
+258
-1
health/Makefile.am
+1
@@ -84,6 +84,7 @@ dist_healthconfig_DATA = \
84
health.d/tcp_resets.conf \
85
health.d/udp_errors.conf \
86
health.d/varnish.conf \
87
+ health.d/vsphere.conf \
88
health.d/web_log.conf \
89
health.d/wmi.conf \
90
health.d/x509check.conf \
health/health.d/vsphere.conf
new
+157
@@ -0,0 +1,157 @@
1
+
2
+# you can disable an alarm notification by setting the 'to' line to: silent
3
+
4
+# -----------------------------------------------VM Specific------------------------------------------------------------
5
+# Memory
6
+
7
+template: vsphere_vm_mem_usage
8
+ on: vsphere.vm_mem_usage_percentage
9
+ hosts: *
10
+ calc: $used
11
+ units: %
12
+ every: 20s
13
+ warn: $this > (($status >= $WARNING) ? (80) : (90))
14
+ crit: $this > (($status == $CRITICAL) ? (90) : (98))
15
+ delay: down 15m multiplier 1.5 max 1h
16
+ info: used RAM
17
+
18
+# -----------------------------------------------HOST Specific----------------------------------------------------------
19
+# Memory
20
+
21
+template: vsphere_host_mem_usage
22
+ on: vsphere.host_mem_usage_percentage
23
+ hosts: *
24
+ calc: $used
25
+ units: %
26
+ every: 20s
27
+ warn: $this > (($status >= $WARNING) ? (80) : (90))
28
+ crit: $this > (($status == $CRITICAL) ? (90) : (98))
29
+ delay: down 15m multiplier 1.5 max 1h
30
+ info: used RAM
31
+
32
+# Network errors
33
+
34
+template: vsphere_inbound_packets_errors
35
+ on: vsphere.net_errors_total
36
+ hosts: *
37
+families: *
38
+ lookup: sum -10m unaligned absolute match-names of rx
39
+ units: packets
40
+ every: 1m
41
+ warn: $this >= 5
42
+ delay: down 1h multiplier 1.5 max 2h
43
+ info: interface inbound dropped packets in the last 10 minutes
44
+ to: sysadmin
45
+
46
+template: vsphere_outbound_packets_errors
47
+ on: vsphere.net_errors_total
48
+ hosts: *
49
+families: *
50
+ lookup: sum -10m unaligned absolute match-names of tx
51
+ units: packets
52
+ every: 1m
53
+ warn: $this >= 5
54
+ delay: down 1h multiplier 1.5 max 2h
55
+ info: interface outbound dropped packets in the last 10 minutes
56
+ to: sysadmin
57
+
58
+# Network errors ratio
59
+
60
+template: vsphere_inbound_packets_errors_ratio
61
+ on: vsphere.net_packets_total
62
+ hosts: *
63
+families: *
64
+ lookup: sum -10m unaligned absolute match-names of rx
65
+ calc: (($vsphere_inbound_packets_errors != nan AND $this > 0) ? ($vsphere_inbound_packets_errors * 100 / $this) : (0))
66
+ units: %
67
+ every: 1m
68
+ warn: $this >= 0.1
69
+ crit: $this >= 2
70
+ delay: down 1h multiplier 1.5 max 2h
71
+ info: the ratio of inbound errors vs the total number of received packets of the network interface, during the last 10 minutes
72
+ to: sysadmin
73
+
74
+template: vsphere_outbound_packets_errors_ratio
75
+ on: vsphere.net_packets_total
76
+ hosts: *
77
+families: *
78
+ lookup: sum -10m unaligned absolute match-names of tx
79
+ calc: (($vsphere_outbound_packets_errors != nan AND $this > 0) ? ($vsphere_outbound_packets_errors * 100 / $this) : (0))
80
+ units: %
81
+ every: 1m
82
+ warn: $this >= 0.1
83
+ crit: $this >= 2
84
+ delay: down 1h multiplier 1.5 max 2h
85
+ info: the ratio of outbound errors vs the total number of sent packets of the network interface, during the last 10 minutes
86
+ to: sysadmin
87
+
88
+# -----------------------------------------------Common-------------------------------------------------------------------
89
+# CPU
90
+
91
+template: vsphere_cpu_usage
92
+ on: vsphere.cpu_usage_total
93
+ hosts: *
94
+ lookup: average -10m unaligned match-names of used
95
+ units: %
96
+ every: 20s
97
+ warn: $this > (($status >= $WARNING) ? (75) : (85))
98
+ crit: $this > (($status == $CRITICAL) ? (85) : (95))
99
+ delay: down 15m multiplier 1.5 max 1h
100
+ info: cpu utilization for the last 10 minutes
101
+ to: sysadmin
102
+
103
+# Network drops
104
+
105
+template: vsphere_inbound_packets_dropped
106
+ on: vsphere.net_drops_total
107
+ hosts: *
108
+families: *
109
+ lookup: sum -10m unaligned absolute match-names of rx
110
+ units: packets
111
+ every: 1m
112
+ warn: $this >= 5
113
+ delay: down 1h multiplier 1.5 max 2h
114
+ info: interface inbound dropped packets in the last 10 minutes
115
+ to: sysadmin
116
+
117
+template: vsphere_outbound_packets_dropped
118
+ on: vsphere.net_drops_total
119
+ hosts: *
120
+families: *
121
+ lookup: sum -10m unaligned absolute match-names of tx
122
+ units: packets
123
+ every: 1m
124
+ warn: $this >= 5
125
+ delay: down 1h multiplier 1.5 max 2h
126
+ info: interface outbound dropped packets in the last 10 minutes
127
+ to: sysadmin
128
+
129
+# Network drops ratio
130
+
131
+template: vsphere_inbound_packets_dropped_ratio
132
+ on: vsphere.net_packets_total
133
+ hosts: *
134
+families: *
135
+ lookup: sum -10m unaligned absolute match-names of rx
136
+ calc: (($vsphere_inbound_packets_dropped != nan AND $this > 0) ? ($vsphere_inbound_packets_dropped * 100 / $this) : (0))
137
+ units: %
138
+ every: 1m
139
+ warn: $this >= 0.1
140
+ crit: $this >= 2
141
+ delay: down 1h multiplier 1.5 max 2h
142
+ info: the ratio of inbound dropped packets vs the total number of received packets of the network interface, during the last 10 minutes
143
+ to: sysadmin
144
+
145
+template: vsphere_outbound_packets_dropped_ratio
146
+ on: vsphere.net_packets_total
147
+ hosts: *
148
+families: *
149
+ lookup: sum -10m unaligned absolute match-names of tx
150
+ calc: (($vsphere_outbound_packets_dropped != nan AND $this > 0) ? ($vsphere_outbound_packets_dropped * 100 / $this) : (0))
151
+ units: %
152
+ every: 1m
153
+ warn: $this >= 0.1
154
+ crit: $this >= 2
155
+ delay: down 1h multiplier 1.5 max 2h
156
+ info: the ratio of outbound dropped packets vs the total number of sent packets of the network interface, during the last 10 minutes
157
+ to: sysadmin
web/gui/dashboard_info.js
+100
-1
@@ -486,6 +486,12 @@ netdataDashboard.menu = {
486
title: 'Perf Counters',
487
icon: '<i class="fas fa-tachometer-alt"></i>',
488
info: 'Performance Monitoring Counters (PMC). Data collected using <b>perf_event_open()</b> system call which utilises Hardware Performance Monitoring Units (PMU).'
489
+ },
490
+
491
+ 'vsphere': {
492
+ title: 'vSphere',
493
+ icon: '<i class="fas fa-server"></i>',
494
+ info: 'Performance statistics for ESXI hosts and virtual machines. Data collected from <a href="https://www.vmware.com/products/vcenter-server.html">VMware vCenter Server</a> using <code><a href="https://github.com/vmware/govmomi"> govmomi</a></code> library.'
495
}
496
};
497
@@ -2442,7 +2448,100 @@ netdataDashboard.context = {
2448
2449
'powersupply.voltage': {
2450
info: undefined
2445
- }
2451
+ },
2452
2453
// ------------------------------------------------------------------------
2454
+ // VMware vSphere
2455
+
2456
+ // Host specific
2457
+ 'vsphere.host_mem_usage_percentage': {
2458
+ info: 'Percentage of used machine memory: <code>consumed</code> / <code>machine-memory-size</code>.'
2459
+ },
2460
+
2461
+ 'vsphere.host_mem_usage': {
2462
+ info:
2463
+ '<code>granted</code> is amount of machine memory that is mapped for a host, '+
2464
+ 'it equals sum of all granted metrics for all powered-on virtual machines, plus machine memory for vSphere services on the host. ' +
2465
+ '<code>consumed</code> is amount of machine memory used on the host, it includes memory used by the Service Console, the VMkernel, vSphere services, plus the total consumed metrics for all running virtual machines. ' +
2466
+ '<code>consumed</code> = <code>total host memory</code> - <code>free host memory</code>.' +
2467
+ '<code>active</code> is sum of all active metrics for all powered-on virtual machines plus vSphere services (such as COS, vpxa) on the host.' +
2468
+ '<code>shared</code> is sum of all shared metrics for all powered-on virtual machines, plus amount for vSphere services on the host. ' +
2469
+ '<code>sharedcommon</code> is amount of machine memory that is shared by all powered-on virtual machines and vSphere services on the host. ' +
2470
+ '<code>shared</code> - <code>sharedcommon</code> = machine memory (host memory) savings (KB). ' +
2471
+ 'For details see <a href="https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.resmgmt.doc/GUID-BFDC988B-F53D-4E97-9793-A002445AFAE1.html">Measuring and Differentiating Types of Memory Usage</a> and ' +
2472
+ '<a href="https://www.vmware.com/support/developer/converter-sdk/conv51_apireference/memory_counters.html">Memory Counters</a> articles.'
2473
+ },
2474
+
2475
+ 'vsphere.host_mem_swap_rate': {
2476
+ info:
2477
+ 'This statistic refers to VMkernel swapping and not to guest OS swapping. ' +
2478
+ '<code>in</code> is sum of <code>swapinRate</code> values for all powered-on virtual machines on the host.' +
2479
+ '<code>swapinRate</code> is rate at which VMKernel reads data into machine memory from the swap file. ' +
2480
+ '<code>out</code> is sum of <code>swapoutRate</code> values for all powered-on virtual machines on the host.' +
2481
+ '<code>swapoutRate</code> is rate at which VMkernel writes to the virtual machine’s swap file from machine memory.'
2482
+ },
2483
+
2484
+ // VM specific
2485
+ 'vsphere.vm_mem_usage_percentage': {
2486
+ info: 'Percentage of used virtual machine “physical” memory: <code>actvive</code> / <code>virtual machine configured size</code>.'
2487
+ },
2488
+
2489
+ 'vsphere.vm_mem_usage': {
2490
+ info:
2491
+ '<code>granted</code> is amount of guest “physical” memory that is mapped to machine memory, it includes <code>shared</code> memory amount. ' +
2492
+ '<code>consumed</code> is amount of guest “physical” memory consumed by the virtual machine for guest memory, ' +
2493
+ '<code>consumed</code> = <code>granted</code> - <code>memory saved due to memory sharing</code>. ' +
2494
+ '<code>active</code> is amount of memory that is actively used, as estimated by VMkernel based on recently touched memory pages. ' +
2495
+ '<code>shared</code> is amount of guest “physical” memory shared with other virtual machines (through the VMkernel’s transparent page-sharing mechanism, a RAM de-duplication technique). ' +
2496
+ 'For details see <a href="https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.resmgmt.doc/GUID-BFDC988B-F53D-4E97-9793-A002445AFAE1.html">Measuring and Differentiating Types of Memory Usage</a> and ' +
2497
+ '<a href="https://www.vmware.com/support/developer/converter-sdk/conv51_apireference/memory_counters.html">Memory Counters</a> articles.'
2498
+
2499
+ },
2500
+
2501
+ 'vsphere.vm_mem_swap_rate': {
2502
+ info:
2503
+ 'This statistic refers to VMkernel swapping and not to guest OS swapping. ' +
2504
+ '<code>in</code> is rate at which VMKernel reads data into machine memory from the swap file. ' +
2505
+ '<code>out</code> is rate at which VMkernel writes to the virtual machine’s swap file from machine memory.'
2506
+ },
2507
+
2508
+ 'vsphere.vm_mem_swap': {
2509
+ info:
2510
+ 'This statistic refers to VMkernel swapping and not to guest OS swapping. ' +
2511
+ '<code>swapped</code> is amount of guest physical memory swapped out to the virtual machine\'s swap file by the VMkernel. ' +
2512
+ 'Swapped memory stays on disk until the virtual machine needs it.'
2513
+ },
2514
+
2515
+ // Common
2516
+ 'vsphere.cpu_usage_total': {
2517
+ info: 'Summary CPU usage statistics across all CPUs/cores.'
2518
+ },
2519
+
2520
+ 'vsphere.net_bandwidth_total': {
2521
+ info: 'Summary receive/transmit statistics across all network interfaces.'
2522
+ },
2523
+
2524
+ 'vsphere.net_packets_total': {
2525
+ info: 'Summary receive/transmit statistics across all network interfaces.'
2526
+ },
2527
+
2528
+ 'vsphere.net_errors_total': {
2529
+ info: 'Summary receive/transmit statistics across all network interfaces.'
2530
+ },
2531
+
2532
+ 'vsphere.net_drops_total': {
2533
+ info: 'Summary receive/transmit statistics across all network interfaces.'
2534
+ },
2535
+
2536
+ 'vsphere.disk_usage_total': {
2537
+ info: 'Summary read/write statistics across all disks.'
2538
+ },
2539
+
2540
+ 'vsphere.disk_max_latency': {
2541
+ info: '<code>latency</code> is highest latency value across all disks.'
2542
+ },
2543
+
2544
+ 'vsphere.overall_status': {
2545
+ info: '<code>0</code> is unknown, <code>1</code> is OK, <code>2</code> is might have a problem, <code>3</code> is definitely has a problem.'
2546
+ }
2547
};