]> granicus.if.org Git - icinga2/blob - itl/plugins-contrib.d/vmware.conf
Indentation: space to tab
[icinga2] / itl / plugins-contrib.d / vmware.conf
1 /******************************************************************************
2  * Icinga 2                                                                   *
3  * Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/)      *
4  *                                                                            *
5  * This program is free software; you can redistribute it and/or              *
6  * modify it under the terms of the GNU General Public License                *
7  * as published by the Free Software Foundation; either version 2             *
8  * of the License, or (at your option) any later version.                     *
9  *                                                                            *
10  * This program is distributed in the hope that it will be useful,            *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
13  * GNU General Public License for more details.                               *
14  *                                                                            *
15  * You should have received a copy of the GNU General Public License          *
16  * along with this program; if not, write to the Free Software Foundation     *
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.             *
18  ******************************************************************************/
19
20 /**
21  * main vmware-esx template
22  */
23
24 template CheckCommand "vmware-esx-command" {
25         command = [ PluginContribDir + "/check_vmware_esx" ]
26
27         arguments = {
28                 "--ignore_unknown" = {
29                         set_if = "$vmware_ignoreunknown$"
30                         description = "Sometimes 3 (unknown) is returned from a component. But the check itself is ok. With this option the plugin will return OK (0) instead of UNKNOWN (3)."
31                 }
32                 "--ignore_warning" = {
33                         set_if = "$vmware_ignorewarning$"
34                         description = "Sometimes 2 (warning) is returned from a component. But the check itself is ok (from an operator view)."
35                 }
36                 "--timeout" = {
37                         value = "$vmware_timeout$"
38                         description = "Seconds before plugin times out (default: 90)."
39                 }
40                 "--trace" = {
41                         set_if = "$vmware_trace$"
42                         description = "Set verbosity level of vSphere API request/respond trace."
43                 }
44                 "--sessionfile" = {
45                         value = "$vmware_sessionfile$"
46                         description = "Vmware auth session file - no efect if $vmware_nosession$ var is true."
47                 }
48                 "--sessionfiledir" = {
49                         value = "$vmware_sessionfiledir$"
50                         description = "Vmware auth session file directory - no efect if $vmware_nosession$ var is true."
51                 }
52                 "--nosession" = {
53                         set_if = "$vmware_nosession$"
54                         description = "No auth session - IT SHOULD BE USED FOR TESTING PURPOSES ONLY!."
55                 }
56                 "--username" = {
57                         value = "$vmware_username$"
58                         description = "Username to connect with."
59                 }
60                 "--password" = {
61                         value = "$vmware_password$"
62                         description = "Password to use with the username."
63                 }
64                 "--authfile" = {
65                         value = "$vmware_authfile$"
66                         description = "Autentication file content: \
67                                                                 username=<username>  \
68                                                                 password=<password>"
69                 }
70         }
71
72         vars.vmware_timeout = "90"
73         vars.vmware_ignorewarning = false
74         vars.vmware_auth_nosession = false
75         vars.vmware_sessionfiledir = "/var/spool/icinga2/tmp"
76 }
77
78
79 /**
80  * VMware DC
81  */
82
83 template CheckCommand "vmware-esx-dc" {
84         import "vmware-esx-command"
85
86         arguments += {
87                 "--datacenter" = {
88                         value = "$vmware_datacenter$"
89                         required = true
90                         description = "Datacenter/Vcenter hostname."
91                 }
92                 "--cluster" = {
93                         value = "$vmware_cluster$"
94                         required = false
95                         description = "ESX or ESXi clustername."
96                 }
97                 "--sslport" = {
98                         value = "$vmware_sslport$"
99                         description = "If a SSL port different from 443 is used."
100                 }
101         }
102
103         vars.vmware_sslport = "443"
104 }
105
106 object CheckCommand "vmware-esx-dc-volumes" {
107         import "vmware-esx-dc"
108
109         arguments += {
110                 "--select" = "volumes"
111                 "--subselect" = "$vmware_subselect$"
112                 "--gigabyte" = {
113                         set_if = "$vmware_gigabyte$"
114                         description = "Output in GB instead of MB."
115                 }
116                 "--usedspace" = {
117                         set_if = "$vmware_usedspace$"
118                         description = "Output used space instead of free."
119                 }
120                 "--alertonly" = {
121                         set_if = "$vmware_alertonly$"
122                         description = "List only alerting volumes."
123                 }
124                 "--exclude" = "$vmware_exclude$"
125                 "--include" = "$vmware_include$"
126                 "--isregexp" = {
127                         set_if = "$vmware_isregexp$"
128                 }
129                 "--warning" = "$vmware_warn$"
130                 "--critical" = "$vmware_crit$"
131         }
132
133         vars.vmware_usedspace = true
134         vars.vmware_alertonly = false
135         vars.vmware_warn = "80%"
136         vars.vmware_crit = "90%"
137 }
138
139 object CheckCommand "vmware-esx-dc-runtime-info" {
140         import "vmware-esx-dc"
141
142         arguments += {
143                 "--select" = {
144                         value = "runtime"
145                         description = "Shows all runtime info for the datacenter/Vcenter."
146                 }
147         }
148 }
149
150 object CheckCommand "vmware-esx-dc-runtime-listvms" {
151         import "vmware-esx-dc"
152
153         arguments += {
154                 "--select" = "runtime"
155                 "--subselect" = "listvms"
156                 "--exclude" = "$vmware_exclude$"
157                 "--include" = "$vmware_include$"
158                 "--isregexp" = {
159                         set_if = "$vmware_isregexp$"
160                 }
161                 "--multiline" = {
162                         set_if = "$vmware_multiline$"
163                 }
164                 "--alertonly" = {
165                         set_if = "$vmware_alertonly$"
166
167                 }
168         }
169 }
170
171 object CheckCommand "vmware-esx-dc-runtime-listhost" {
172         import "vmware-esx-dc"
173
174         arguments += {
175                 "--select" = "runtime"
176                 "--subselect" = "listhost"
177                 "--exclude" = "$vmware_exclude$"
178                 "--include" = "$vmware_include$"
179                 "--isregexp" = {
180                         set_if = "$vmware_isregexp$"
181                 }
182                 "--multiline" = {
183                         set_if = "$vmware_multiline$"
184                 }
185                 "--alertonly" = {
186                         set_if = "$vmware_alertonly$"
187                 }
188         }
189 }
190
191 object CheckCommand "vmware-esx-dc-runtime-listcluster" {
192         import "vmware-esx-dc"
193
194         arguments += {
195                 "--select" = "runtime"
196                 "--subselect" = "listcluster"
197                 "--exclude" = "$vmware_exclude$"
198                 "--include" = "$vmware_include$"
199                 "--isregexp" = {
200                         set_if = "$vmware_isregexp$"
201                 }
202                 "--multiline" = {
203                         set_if = "$vmware_multiline$"
204                 }
205                 "--alertonly" = {
206                         set_if = "$vmware_alertonly$"
207                 }
208         }
209 }
210
211 object CheckCommand "vmware-esx-dc-runtime-issues" {
212         import "vmware-esx-dc"
213
214         arguments += {
215                 "--select" = "runtime"
216                 "--subselect" = "issues"
217                 "--exclude" = "$vmware_exclude$"
218                 "--include" = "$vmware_include$"
219                 "--isregexp" = {
220                         set_if = "$vmware_isregexp$"
221                 }
222                 "--multiline" = {
223                         set_if = "$vmware_multiline$"
224                 }
225         }
226 }
227
228 object CheckCommand "vmware-esx-dc-runtime-status" {
229         import "vmware-esx-dc"
230
231         arguments += {
232                 "--select" = "runtime"
233                 "--subselect" = "status"
234         }
235 }
236
237 object CheckCommand "vmware-esx-dc-runtime-tools" {
238         import "vmware-esx-dc"
239
240         arguments += {
241                 "--select" = "runtime"
242                 "--subselect" = "tools"
243                 "--poweredonly" = {
244                         set_if = "$vmware_poweredonly$"
245                 }
246                 "--exclude" = "$vmware_exclude$"
247                 "--include" = "$vmware_include$"
248                 "--isregexp" = {
249                         set_if = "$vmware_isregexp$"
250                 }
251                 "--multiline" = {
252                         set_if = "$vmware_multiline$"
253                 }
254                 "--alertonly" = {
255                         set_if = "$vmware_alertonly$"
256                 }
257                 "--open-vm-tools" = {
258                         set_if = "$vmware_openvmtools$"
259                 }
260         }
261 }
262
263
264 /**
265  * VMware HOST
266  */
267
268 template CheckCommand "vmware-esx-soap-host" {
269         import "vmware-esx-command"
270
271         arguments += {
272                 "--host" = {
273                         value = "$vmware_host$"
274                         required = true
275                         description = "ESX or ESXi hostname."
276                 }
277                 "--datacenter" = {
278                         value = "$vmware_datacenter$"
279                         required = false
280                         description = "Datacenter/Vcenter hostname."
281                 }
282                 "--sslport" = {
283                         value = "$vmware_sslport$"
284                         description = "If a SSL port different from 443 is used."
285                 }
286         }
287
288         vars.vmware_host = "$address$"
289         vars.vmware_sslport = "443"
290 }
291
292 object CheckCommand "vmware-esx-soap-host-check" {
293         import "vmware-esx-soap-host"
294
295         arguments += {
296                 "--select" = {
297                         value = "soap"
298                         description = "Simple check to verify a successfull connection to VMWare SOAP API."
299                 }
300         }
301 }
302
303 object CheckCommand "vmware-esx-soap-host-uptime" {
304         import "vmware-esx-soap-host"
305
306         arguments += {
307                 "--select" = "uptime"
308         }
309 }
310
311 object CheckCommand "vmware-esx-soap-host-cpu" {
312         import "vmware-esx-soap-host"
313
314         arguments += {
315                 "--select" = "cpu"
316                 "--warning" = "$vmware_warn$"
317                 "--critical" = "$vmware_crit$"
318         }
319
320         vars.vmware_warn = "80%"
321         vars.vmware_crit = "90%"
322 }
323
324
325 object CheckCommand "vmware-esx-soap-host-cpu-ready" {
326         import "vmware-esx-soap-host"
327
328         arguments += {
329                 "--select" = "cpu"
330                 "--subselect" = "ready"
331         }
332 }
333
334 object CheckCommand "vmware-esx-soap-host-cpu-wait" {
335         import "vmware-esx-soap-host"
336
337         arguments += {
338                 "--select" = "cpu"
339                 "--subselect" = "wait"
340         }
341 }
342
343 object CheckCommand "vmware-esx-soap-host-cpu-usage" {
344         import "vmware-esx-soap-host"
345
346         arguments += {
347                 "--select" = "cpu"
348                 "--subselect" = "usage"
349                 "--warning" = "$vmware_warn$"
350                 "--critical" = "$vmware_crit$"
351         }
352
353         vars.vmware_warn = "80%"
354         vars.vmware_crit = "90%"
355 }
356
357 object CheckCommand "vmware-esx-soap-host-mem" {
358         import "vmware-esx-soap-host"
359
360         arguments += {
361                 "--select" = "mem"
362         }
363 }
364
365 object CheckCommand "vmware-esx-soap-host-mem-usage" {
366         import "vmware-esx-soap-host"
367
368         arguments += {
369                 "--select" = "mem"
370                 "--subselect" = "usage"
371                 "--warning" = "$vmware_warn$"
372                 "--critical" = "$vmware_crit$"
373         }
374
375         vars.vmware_warn = "80%"
376         vars.vmware_crit = "90%"
377 }
378
379 object CheckCommand "vmware-esx-soap-host-mem-consumed" {
380         import "vmware-esx-soap-host"
381
382         arguments += {
383                 "--select" = "mem"
384                 "--subselect" = "consumed"
385                 "--warning" = "$vmware_warn$"
386                 "--critical" = "$vmware_crit$"
387         }
388 }
389
390 object CheckCommand "vmware-esx-soap-host-mem-swapused" {
391         import "vmware-esx-soap-host"
392
393         arguments += {
394                 "--select" = "mem"
395                 "--subselect" = "swapused"
396                 "--multiline" = {
397                         set_if = "$vmware_multiline$"
398                 }
399                 "--warning" = "$vmware_warn$"
400                 "--critical" = "$vmware_crit$"
401         }
402 }
403
404 object CheckCommand "vmware-esx-soap-host-mem-overhead" {
405         import "vmware-esx-soap-host"
406
407         arguments += {
408                 "--select" = "mem"
409                 "--subselect" = "overhead"
410                 "--warning" = "$vmware_warn$"
411                 "--critical" = "$vmware_crit$"
412         }
413 }
414
415 object CheckCommand "vmware-esx-soap-host-mem-memctl" {
416         import "vmware-esx-soap-host"
417
418         arguments += {
419                 "--select" = "mem"
420                 "--subselect" = "memctl"
421                 "--multiline" = {
422                         set_if = "$vmware_multiline$"
423                 }
424                 "--warning" = "$vmware_warn$"
425                 "--critical" = "$vmware_crit$"
426         }
427 }
428
429 object CheckCommand "vmware-esx-soap-host-net" {
430         import "vmware-esx-soap-host"
431
432         arguments += {
433                 "--select" = "net"
434                 "--exclude" = "$vmware_exclude$"
435                 "--isregexp" = {
436                         set_if = "$vmware_isregexp$"
437                 }
438         }
439 }
440
441 object CheckCommand "vmware-esx-soap-host-net-usage" {
442         import "vmware-esx-soap-host"
443
444         arguments += {
445                 "--select" = "net"
446                 "--subselect" = "usage"
447                 "--warning" = "$vmware_warn$"
448                 "--critical" = "$vmware_crit$"
449         }
450 }
451
452 object CheckCommand "vmware-esx-soap-host-net-receive" {
453         import "vmware-esx-soap-host"
454
455         arguments += {
456                 "--select" = "net"
457                 "--subselect" = "receive"
458                 "--warning" = "$vmware_warn$"
459                 "--critical" = "$vmware_crit$"
460         }
461 }
462
463 object CheckCommand "vmware-esx-soap-host-net-send" {
464         import "vmware-esx-soap-host"
465
466         arguments += {
467                 "--select" = "net"
468                 "--subselect" = "send"
469                 "--warning" = "$vmware_warn$"
470                 "--critical" = "$vmware_crit$"
471         }
472 }
473
474 object CheckCommand "vmware-esx-soap-host-net-nic" {
475         import "vmware-esx-soap-host"
476
477         arguments += {
478                 "--select" = "net"
479                 "--subselect" = "nic"
480                 "--exclude" = "$vmware_exclude$"
481                 "--isregexp" = {
482                         set_if = "$vmware_isregexp$"
483                 }
484         }
485 }
486
487 object CheckCommand "vmware-esx-soap-host-volumes" {
488         import "vmware-esx-soap-host"
489
490         arguments += {
491                 "--select" = "volumes"
492                 "--subselect" = "$vmware_subselect$"
493                 "--gigabyte" = {
494                         set_if = "$vmware_gigabyte$"
495                         description = "Output in GB instead of MB."
496                 }
497                 "--usedspace" = {
498                         set_if = "$vmware_usedspace$"
499                         description = "Output used space instead of free."
500                 }
501                 "--alertonly" = {
502                         set_if = "$vmware_alertonly$"
503                         description = "List only alerting volumes."
504                 }
505                 "--exclude" = "$vmware_exclude$"
506                 "--include" = "$vmware_include$"
507                 "--isregexp" = {
508                         set_if = "$vmware_isregexp$"
509                 }
510                 "--warning" = "$vmware_warn$"
511                 "--critical" = "$vmware_crit$"
512                 "--spaceleft" = {
513                         set_if = "$vmware_spaceleft$"
514                 }
515         }
516
517         vars.vmware_usedspace = true
518         vars.vmware_alertonly = false
519         vars.vmware_warn = "80%"
520         vars.vmware_crit = "90%"
521 }
522
523 object CheckCommand "vmware-esx-soap-host-io" {
524         import "vmware-esx-soap-host"
525
526         arguments += {
527                 "--select" = "io"
528         }
529 }
530
531 object CheckCommand "vmware-esx-soap-host-io-aborted" {
532         import "vmware-esx-soap-host"
533
534         arguments += {
535                 "--select" = "io"
536                 "--subselect" = "aborted"
537                 "--warning" = "$vmware_warn$"
538                 "--critical" = "$vmware_crit$"
539         }
540 }
541
542 object CheckCommand "vmware-esx-soap-host-io-resets" {
543         import "vmware-esx-soap-host"
544
545         arguments += {
546                 "--select" = "io"
547                 "--subselect" = "resets"
548                 "--warning" = "$vmware_warn$"
549                 "--critical" = "$vmware_crit$"
550         }
551 }
552
553 object CheckCommand "vmware-esx-soap-host-io-read" {
554         import "vmware-esx-soap-host"
555
556         arguments += {
557                 "--select" = "io"
558                 "--subselect" = "read"
559                 "--warning" = "$vmware_warn$"
560                 "--critical" = "$vmware_crit$"
561         }
562 }
563
564 object CheckCommand "vmware-esx-soap-host-io-read-latency" {
565         import "vmware-esx-soap-host"
566
567         arguments += {
568                 "--select" = "io"
569                 "--subselect" = "read_latency"
570                 "--warning" = "$vmware_warn$"
571                 "--critical" = "$vmware_crit$"
572         }
573 }
574
575 object CheckCommand "vmware-esx-soap-host-io-write" {
576         import "vmware-esx-soap-host"
577
578         arguments += {
579                 "--select" = "io"
580                 "--subselect" = "write"
581                 "--warning" = "$vmware_warn$"
582                 "--critical" = "$vmware_crit$"
583         }
584 }
585
586 object CheckCommand "vmware-esx-soap-host-io-write-latency" {
587         import "vmware-esx-soap-host"
588
589         arguments += {
590                 "--select" = "io"
591                 "--subselect" = "write_latency"
592                 "--warning" = "$vmware_warn$"
593                 "--critical" = "$vmware_crit$"
594         }
595 }
596
597 object CheckCommand "vmware-esx-soap-host-io-usage" {
598         import "vmware-esx-soap-host"
599
600         arguments += {
601                 "--select" = "io"
602                 "--subselect" = "usage"
603                 "--warning" = "$vmware_warn$"
604                 "--critical" = "$vmware_crit$"
605         }
606 }
607
608 object CheckCommand "vmware-esx-soap-host-io-kernel-latency" {
609         import "vmware-esx-soap-host"
610
611         arguments += {
612                 "--select" = "io"
613                 "--subselect" = "kernel_latency"
614                 "--warning" = "$vmware_warn$"
615                 "--critical" = "$vmware_crit$"
616         }
617 }
618
619 object CheckCommand "vmware-esx-soap-host-io-device-latency" {
620         import "vmware-esx-soap-host"
621
622         arguments += {
623                 "--select" = "io"
624                 "--subselect" = "device_latency"
625                 "--warning" = "$vmware_warn$"
626                 "--critical" = "$vmware_crit$"
627         }
628 }
629
630 object CheckCommand "vmware-esx-soap-host-io-queue-latency" {
631         import "vmware-esx-soap-host"
632
633         arguments += {
634                 "--select" = "io"
635                 "--subselect" = "queue_latency"
636                 "--warning" = "$vmware_warn$"
637                 "--critical" = "$vmware_crit$"
638         }
639 }
640
641 object CheckCommand "vmware-esx-soap-host-io-total-latency" {
642         import "vmware-esx-soap-host"
643
644         arguments += {
645                 "--select" = "io"
646                 "--subselect" = "total_latency"
647                 "--warning" = "$vmware_warn$"
648                 "--critical" = "$vmware_crit$"
649         }
650 }
651
652 object CheckCommand "vmware-esx-soap-host-media" {
653         import "vmware-esx-soap-host"
654
655         arguments += {
656                 "--select" = "hostmedia"
657                 "--exclude" = "$vmware_exclude$"
658                 "--include" = "$vmware_include$"
659                 "--isregexp" = {
660                         set_if = "$vmware_isregexp$"
661                 }
662                 "--multiline" = {
663                         set_if = "$vmware_multiline$"
664                 }
665         }
666 }
667
668 object CheckCommand "vmware-esx-soap-host-service" {
669         import "vmware-esx-soap-host"
670
671         arguments += {
672                 "--select" = "service"
673                 "--exclude" = "$vmware_exclude$"
674                 "--include" = "$vmware_include$"
675                 "--isregexp" = {
676                         set_if = "$vmware_isregexp$"
677                 }
678                 "--multiline" = {
679                         set_if = "$vmware_multiline$"
680                 }
681         }
682 }
683
684 object CheckCommand "vmware-esx-soap-host-runtime" {
685         import "vmware-esx-soap-host"
686
687         arguments += {
688                 "--select" = "runtime"
689                 "--exclude" = "$vmware_exclude$"
690                 "--include" = "$vmware_include$"
691                 "--isregexp" = {
692                         set_if = "$vmware_isregexp$"
693                 }
694         }
695 }
696
697 object CheckCommand "vmware-esx-soap-host-runtime-con" {
698         import "vmware-esx-soap-host"
699
700         arguments += {
701                 "--select" = "runtime"
702                 "--subselect" = "con"
703         }
704 }
705
706 object CheckCommand "vmware-esx-soap-host-runtime-listvms" {
707         import "vmware-esx-soap-host"
708
709         arguments += {
710                 "--select" = "runtime"
711                 "--subselect" = "listvms"
712                 "--exclude" = "$vmware_exclude$"
713                 "--include" = "$vmware_include$"
714                 "--isregexp" = {
715                         set_if = "$vmware_isregexp$"
716                 }
717                 "--multiline" = {
718                         set_if = "$vmware_multiline$"
719                 }
720         }
721 }
722
723 object CheckCommand "vmware-esx-soap-host-runtime-status" {
724         import "vmware-esx-soap-host"
725
726         arguments += {
727                 "--select" = "runtime"
728                 "--subselect" = "status"
729         }
730 }
731
732 object CheckCommand "vmware-esx-soap-host-runtime-health" {
733         import "vmware-esx-soap-host"
734
735         arguments += {
736                 "--select" = "runtime"
737                 "--subselect" = "health"
738                 "--exclude" = "$vmware_exclude$"
739                 "--include" = "$vmware_include$"
740                 "--isregexp" = {
741                         set_if = "$vmware_isregexp$"
742                 }
743         }
744 }
745
746 object CheckCommand "vmware-esx-soap-host-runtime-health-listsensors" {
747         import "vmware-esx-soap-host"
748
749         arguments += {
750                 "--select" = "runtime"
751                 "--subselect" = "health"
752                 "--exclude" = "$vmware_exclude$"
753                 "--include" = "$vmware_include$"
754                 "--isregexp" = {
755                         set_if = "$vmware_isregexp$"
756                 }
757                 "--listsensors" = {}
758         }
759 }
760
761 object CheckCommand "vmware-esx-soap-host-runtime-health-nostoragestatus" {
762         import "vmware-esx-soap-host"
763
764         arguments += {
765                 "--select" = "runtime"
766                 "--subselect" = "health"
767                 "--exclude" = "$vmware_exclude$"
768                 "--include" = "$vmware_include$"
769                 "--isregexp" = {
770                         set_if = "$vmware_isregexp$"
771                 }
772                 "--nostoragestatus" = {}
773         }
774 }
775
776 object CheckCommand "vmware-esx-soap-host-runtime-storagehealth" {
777         import "vmware-esx-soap-host"
778
779         arguments += {
780                 "--select" = "runtime"
781                 "--subselect" = "storagehealth"
782                 "--exclude" = "$vmware_exclude$"
783                 "--include" = "$vmware_include$"
784                 "--isregexp" = {
785                         set_if = "$vmware_isregexp$"
786                 }
787                 "--multiline" = {
788                         set_if = "$vmware_multiline$"
789                 }
790         }
791 }
792
793 object CheckCommand "vmware-esx-soap-host-runtime-temp" {
794         import "vmware-esx-soap-host"
795
796         arguments += {
797                 "--select" = "runtime"
798                 "--subselect" = "temp"
799                 "--exclude" = "$vmware_exclude$"
800                 "--include" = "$vmware_include$"
801                 "--isregexp" = {
802                         set_if = "$vmware_isregexp$"
803                 }
804                 "--multiline" = {
805                         set_if = "$vmware_multiline$"
806                 }
807         }
808 }
809
810 object CheckCommand "vmware-esx-soap-host-runtime-issues" {
811         import "vmware-esx-soap-host"
812
813         arguments += {
814                 "--select" = "runtime"
815                 "--subselect" = "issues"
816                 "--exclude" = "$vmware_exclude$"
817                 "--include" = "$vmware_include$"
818                 "--isregexp" = {
819                         set_if = "$vmware_isregexp$"
820                 }
821                 "--multiline" = {
822                         set_if = "$vmware_multiline$"
823                 }
824         }
825 }
826
827 object CheckCommand "vmware-esx-soap-host-storage" {
828         import "vmware-esx-soap-host"
829
830         arguments += {
831                 "--select" = "storage"
832                 "--exclude" = "$vmware_exclude$"
833                 "--include" = "$vmware_include$"
834                 "--isregexp" = {
835                         set_if = "$vmware_isregexp$"
836                 }
837         }
838 }
839
840 object CheckCommand "vmware-esx-soap-host-storage-adapter" {
841         import "vmware-esx-soap-host"
842
843         arguments += {
844                 "--select" = "storage"
845                 "--subselect" = "adapter"
846                 "--exclude" = "$vmware_exclude$"
847                 "--include" = "$vmware_include$"
848                 "--isregexp" = {
849                         set_if = "$vmware_isregexp$"
850                 }
851                 "--multiline" = {
852                         set_if = "$vmware_multiline$"
853                 }
854         }
855 }
856
857 object CheckCommand "vmware-esx-soap-host-storage-lun" {
858         import "vmware-esx-soap-host"
859
860         arguments += {
861                 "--select" = "storage"
862                 "--subselect" = "lun"
863                 "--exclude" = "$vmware_exclude$"
864                 "--include" = "$vmware_include$"
865                 "--isregexp" = {
866                         set_if = "$vmware_isregexp$"
867                 }
868                 "--alertonly" = {
869                         set_if = "$vmware_alertonly$"
870                 }
871                 "--multiline" = {
872                         set_if = "$vmware_multiline$"
873                 }
874         }
875 }
876
877
878 object CheckCommand "vmware-esx-soap-host-storage-path" {
879         import "vmware-esx-soap-host"
880
881         arguments += {
882                 "--select" = "storage"
883                 "--subselect" = "path"
884                 "--exclude" = "$vmware_exclude$"
885                 "--include" = "$vmware_include$"
886                 "--isregexp" = {
887                         set_if = "$vmware_isregexp$"
888                 }
889                 "--alertonly" = {
890                         set_if = "$vmware_alertonly$"
891                 }
892                 "--multiline" = {
893                         set_if = "$vmware_multiline$"
894                 }
895                 "--standbyok" = {
896                         set_if = "$vmware_standbyok$"
897                 }
898         }
899 }
900
901 /**
902  * VMware VM
903  */
904 template CheckCommand "vmware-esx-soap-vm" {
905         import "vmware-esx-command"
906
907         arguments += {
908                 "--datacenter" = {
909                         value = "$vmware_datacenter$"
910                         description = "Datacenter/Vcenter hostname."
911                 }
912                 "--host" = {
913                         value = "$vmware_host$"
914                         description = "ESX or ESXi hostname."
915                 }
916                 "--name" = {
917                         value = "$vmware_vmname$"
918                         required = true
919                         description = "Virtual machine name."
920                 }
921                 "--sslport" = {
922                         value = "$vmware_sslport$"
923                         description = "If a SSL port different from 443 is used."
924                 }
925         }
926
927         vars.vmware_host = "$address$"
928         vars.vmware_sslport = "443"
929 }
930
931 object CheckCommand "vmware-esx-soap-vm-cpu" {
932         import "vmware-esx-soap-vm"
933
934         arguments += {
935                 "--select" = "cpu"
936         }
937 }
938
939 object CheckCommand "vmware-esx-soap-vm-cpu-ready" {
940         import "vmware-esx-soap-vm"
941
942         arguments += {
943                 "--select" = "cpu"
944                 "--subselect" = "ready"
945                 "--warning" = "$vmware_warn$"
946                 "--critical" = "$vmware_crit$"
947         }
948 }
949
950 object CheckCommand "vmware-esx-soap-vm-cpu-wait" {
951         import "vmware-esx-soap-vm"
952
953         arguments += {
954                 "--select" = "cpu"
955                 "--subselect" = "wait"
956                 "--warning" = "$vmware_warn$"
957                 "--critical" = "$vmware_crit$"
958         }
959 }
960
961 object CheckCommand "vmware-esx-soap-vm-cpu-usage" {
962         import "vmware-esx-soap-vm"
963
964         arguments += {
965                 "--select" = "cpu"
966                 "--subselect" = "usage"
967                 "--warning" = "$vmware_warn$"
968                 "--critical" = "$vmware_crit$"
969         }
970
971         vars.vmware_warn = "80%"
972         vars.vmware_crit = "90%"
973 }
974
975 object CheckCommand "vmware-esx-soap-vm-mem" {
976         import "vmware-esx-soap-vm"
977
978         arguments += {
979                 "--select" = "mem"
980         }
981 }
982
983 object CheckCommand "vmware-esx-soap-vm-mem-usage" {
984         import "vmware-esx-soap-vm"
985
986         arguments += {
987                 "--select" = "mem"
988                 "--subselect" = "usage"
989                 "--warning" = "$vmware_warn$"
990                 "--critical" = "$vmware_crit$"
991         }
992
993         vars.vmware_warn = "80%"
994         vars.vmware_crit = "90%"
995 }
996
997 object CheckCommand "vmware-esx-soap-vm-mem-consumed" {
998         import "vmware-esx-soap-vm"
999
1000         arguments += {
1001                 "--select" = "mem"
1002                 "--subselect" = "consumed"
1003                 "--warning" = "$vmware_warn$"
1004                 "--critical" = "$vmware_crit$"
1005         }
1006 }
1007
1008 object CheckCommand "vmware-esx-soap-vm-mem-memctl" {
1009         import "vmware-esx-soap-vm"
1010
1011         arguments += {
1012                 "--select" = "mem"
1013                 "--subselect" = "memctl"
1014                 "--warning" = "$vmware_warn$"
1015                 "--critical" = "$vmware_crit$"
1016         }
1017 }
1018
1019 object CheckCommand "vmware-esx-soap-vm-net" {
1020         import "vmware-esx-soap-vm"
1021
1022         arguments += {
1023                 "--select" = "net"
1024         }
1025 }
1026
1027 object CheckCommand "vmware-esx-soap-vm-net-usage" {
1028         import "vmware-esx-soap-vm"
1029
1030         arguments += {
1031                 "--select" = "net"
1032                 "--subselect" = "usage"
1033                 "--warning" = "$vmware_warn$"
1034                 "--critical" = "$vmware_crit$"
1035         }
1036 }
1037
1038 object CheckCommand "vmware-esx-soap-vm-net-receive" {
1039         import "vmware-esx-soap-vm"
1040
1041         arguments += {
1042                 "--select" = "net"
1043                 "--subselect" = "receive"
1044                 "--warning" = "$vmware_warn$"
1045                 "--critical" = "$vmware_crit$"
1046         }
1047 }
1048
1049 object CheckCommand "vmware-esx-soap-vm-net-send" {
1050         import "vmware-esx-soap-vm"
1051
1052         arguments += {
1053                 "--select" = "net"
1054                 "--subselect" = "send"
1055                 "--warning" = "$vmware_warn$"
1056                 "--critical" = "$vmware_crit$"
1057         }
1058 }
1059
1060 object CheckCommand "vmware-esx-soap-vm-io" {
1061         import "vmware-esx-soap-vm"
1062
1063         arguments += {
1064                 "--select" = "io"
1065         }
1066 }
1067
1068 object CheckCommand "vmware-esx-soap-vm-io-read" {
1069         import "vmware-esx-soap-vm"
1070
1071         arguments += {
1072                 "--select" = "io"
1073                 "--subselect" = "read"
1074                 "--warning" = "$vmware_warn$"
1075                 "--critical" = "$vmware_crit$"
1076         }
1077 }
1078
1079 object CheckCommand "vmware-esx-soap-vm-io-write" {
1080         import "vmware-esx-soap-vm"
1081
1082         arguments += {
1083                 "--select" = "io"
1084                 "--subselect" = "write"
1085                 "--warning" = "$vmware_warn$"
1086                 "--critical" = "$vmware_crit$"
1087         }
1088 }
1089
1090 object CheckCommand "vmware-esx-soap-vm-io-usage" {
1091         import "vmware-esx-soap-vm"
1092
1093         arguments += {
1094                 "--select" = "io"
1095                 "--subselect" = "usage"
1096                 "--warning" = "$vmware_warn$"
1097                 "--critical" = "$vmware_crit$"
1098         }
1099 }
1100
1101 object CheckCommand "vmware-esx-soap-vm-runtime" {
1102         import "vmware-esx-soap-vm"
1103
1104         arguments += {
1105                 "--select" = "runtime"
1106         }
1107 }
1108
1109 object CheckCommand "vmware-esx-soap-vm-runtime-con" {
1110         import "vmware-esx-soap-vm"
1111
1112         arguments += {
1113                 "--select" = "runtime"
1114                 "--subselect" = "con"
1115         }
1116 }
1117
1118 object CheckCommand "vmware-esx-soap-vm-runtime-powerstate" {
1119         import "vmware-esx-soap-vm"
1120
1121         arguments += {
1122                 "--select" = "runtime"
1123                 "--subselect" = "powerstate"
1124         }
1125 }
1126
1127 object CheckCommand "vmware-esx-soap-vm-runtime-status" {
1128         import "vmware-esx-soap-vm"
1129
1130         arguments += {
1131                 "--select" = "runtime"
1132                 "--subselect" = "status"
1133         }
1134 }
1135
1136 object CheckCommand "vmware-esx-soap-vm-runtime-consoleconnections" {
1137         import "vmware-esx-soap-vm"
1138
1139         arguments += {
1140                 "--select" = "runtime"
1141                 "--subselect" = "consoleconnections"
1142                 "--warning" = "$vmware_warn$"
1143                 "--critical" = "$vmware_crit$"
1144         }
1145 }
1146
1147 object CheckCommand "vmware-esx-soap-vm-runtime-gueststate" {
1148         import "vmware-esx-soap-vm"
1149
1150         arguments += {
1151                 "--select" = "runtime"
1152                 "--subselect" = "gueststate"
1153         }
1154 }
1155
1156 object CheckCommand "vmware-esx-soap-vm-runtime-tools" {
1157         import "vmware-esx-soap-vm"
1158
1159         arguments += {
1160                 "--select" = "runtime"
1161                 "--subselect" = "tools"
1162                 "--open-vm-tools" = {
1163                         set_if = "$vmware_openvmtools$"
1164                 }
1165         }
1166 }
1167
1168 object CheckCommand "vmware-esx-soap-vm-runtime-issues" {
1169         import "vmware-esx-soap-vm"
1170
1171         arguments += {
1172                 "--select" = "runtime"
1173                 "--subselect" = "issues"
1174                 "--multiline" = {
1175                         set_if = "$vmware_multiline$"
1176                 }
1177         }
1178 }