@cryptotaxi247 / netdata-1 / commits / 381553a63

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 };