]> granicus.if.org Git - icinga2/blob - itl/plugins-contrib.d/vmware.conf
Merge pull request #5914 from Icinga/fix/itl-check-mongodb-5817
[icinga2] / itl / plugins-contrib.d / vmware.conf
1 /******************************************************************************
2  * Icinga 2                                                                   *
3  * Copyright (C) 2012-2018 Icinga Development Team (https://www.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         }
690 }
691
692 object CheckCommand "vmware-esx-soap-host-runtime-con" {
693         import "vmware-esx-soap-host"
694
695         arguments += {
696                 "--select" = "runtime"
697                 "--subselect" = "con"
698         }
699 }
700
701 object CheckCommand "vmware-esx-soap-host-runtime-listvms" {
702         import "vmware-esx-soap-host"
703
704         arguments += {
705                 "--select" = "runtime"
706                 "--subselect" = "listvms"
707                 "--exclude" = "$vmware_exclude$"
708                 "--include" = "$vmware_include$"
709                 "--isregexp" = {
710                         set_if = "$vmware_isregexp$"
711                 }
712                 "--multiline" = {
713                         set_if = "$vmware_multiline$"
714                 }
715         }
716 }
717
718 object CheckCommand "vmware-esx-soap-host-runtime-status" {
719         import "vmware-esx-soap-host"
720
721         arguments += {
722                 "--select" = "runtime"
723                 "--subselect" = "status"
724         }
725 }
726
727 object CheckCommand "vmware-esx-soap-host-runtime-health" {
728         import "vmware-esx-soap-host"
729
730         arguments += {
731                 "--select" = "runtime"
732                 "--subselect" = "health"
733                 "--exclude" = "$vmware_exclude$"
734                 "--include" = "$vmware_include$"
735                 "--isregexp" = {
736                         set_if = "$vmware_isregexp$"
737                 }
738         }
739 }
740
741 object CheckCommand "vmware-esx-soap-host-runtime-health-listsensors" {
742         import "vmware-esx-soap-host"
743
744         arguments += {
745                 "--select" = "runtime"
746                 "--subselect" = "health"
747                 "--exclude" = "$vmware_exclude$"
748                 "--include" = "$vmware_include$"
749                 "--isregexp" = {
750                         set_if = "$vmware_isregexp$"
751                 }
752                 "--listsensors" = {}
753         }
754 }
755
756 object CheckCommand "vmware-esx-soap-host-runtime-health-nostoragestatus" {
757         import "vmware-esx-soap-host"
758
759         arguments += {
760                 "--select" = "runtime"
761                 "--subselect" = "health"
762                 "--exclude" = "$vmware_exclude$"
763                 "--include" = "$vmware_include$"
764                 "--isregexp" = {
765                         set_if = "$vmware_isregexp$"
766                 }
767                 "--nostoragestatus" = {}
768         }
769 }
770
771 object CheckCommand "vmware-esx-soap-host-runtime-storagehealth" {
772         import "vmware-esx-soap-host"
773
774         arguments += {
775                 "--select" = "runtime"
776                 "--subselect" = "storagehealth"
777                 "--exclude" = "$vmware_exclude$"
778                 "--include" = "$vmware_include$"
779                 "--isregexp" = {
780                         set_if = "$vmware_isregexp$"
781                 }
782                 "--multiline" = {
783                         set_if = "$vmware_multiline$"
784                 }
785         }
786 }
787
788 object CheckCommand "vmware-esx-soap-host-runtime-temp" {
789         import "vmware-esx-soap-host"
790
791         arguments += {
792                 "--select" = "runtime"
793                 "--subselect" = "temp"
794                 "--exclude" = "$vmware_exclude$"
795                 "--include" = "$vmware_include$"
796                 "--isregexp" = {
797                         set_if = "$vmware_isregexp$"
798                 }
799                 "--multiline" = {
800                         set_if = "$vmware_multiline$"
801                 }
802         }
803 }
804
805 object CheckCommand "vmware-esx-soap-host-runtime-issues" {
806         import "vmware-esx-soap-host"
807
808         arguments += {
809                 "--select" = "runtime"
810                 "--subselect" = "issues"
811                 "--exclude" = "$vmware_exclude$"
812                 "--include" = "$vmware_include$"
813                 "--isregexp" = {
814                         set_if = "$vmware_isregexp$"
815                 }
816                 "--multiline" = {
817                         set_if = "$vmware_multiline$"
818                 }
819         }
820 }
821
822 object CheckCommand "vmware-esx-soap-host-storage" {
823         import "vmware-esx-soap-host"
824
825         arguments += {
826                 "--select" = "storage"
827                 "--exclude" = "$vmware_exclude$"
828                 "--include" = "$vmware_include$"
829                 "--isregexp" = {
830                         set_if = "$vmware_isregexp$"
831                 }
832         }
833 }
834
835 object CheckCommand "vmware-esx-soap-host-storage-adapter" {
836         import "vmware-esx-soap-host"
837
838         arguments += {
839                 "--select" = "storage"
840                 "--subselect" = "adapter"
841                 "--exclude" = "$vmware_exclude$"
842                 "--include" = "$vmware_include$"
843                 "--isregexp" = {
844                         set_if = "$vmware_isregexp$"
845                 }
846                 "--multiline" = {
847                         set_if = "$vmware_multiline$"
848                 }
849         }
850 }
851
852 object CheckCommand "vmware-esx-soap-host-storage-lun" {
853         import "vmware-esx-soap-host"
854
855         arguments += {
856                 "--select" = "storage"
857                 "--subselect" = "lun"
858                 "--exclude" = "$vmware_exclude$"
859                 "--include" = "$vmware_include$"
860                 "--isregexp" = {
861                         set_if = "$vmware_isregexp$"
862                 }
863                 "--alertonly" = {
864                         set_if = "$vmware_alertonly$"
865                 }
866                 "--multiline" = {
867                         set_if = "$vmware_multiline$"
868                 }
869         }
870 }
871
872
873 object CheckCommand "vmware-esx-soap-host-storage-path" {
874         import "vmware-esx-soap-host"
875
876         arguments += {
877                 "--select" = "storage"
878                 "--subselect" = "path"
879                 "--exclude" = "$vmware_exclude$"
880                 "--include" = "$vmware_include$"
881                 "--isregexp" = {
882                         set_if = "$vmware_isregexp$"
883                 }
884                 "--alertonly" = {
885                         set_if = "$vmware_alertonly$"
886                 }
887                 "--multiline" = {
888                         set_if = "$vmware_multiline$"
889                 }
890                 "--standbyok" = {
891                         set_if = "$vmware_standbyok$"
892                 }
893         }
894 }
895
896 /**
897  * VMware VM
898  */
899 template CheckCommand "vmware-esx-soap-vm" {
900         import "vmware-esx-command"
901
902         arguments += {
903                 "--datacenter" = {
904                         value = "$vmware_datacenter$"
905                         description = "Datacenter/Vcenter hostname."
906                 }
907                 "--host" = {
908                         value = "$vmware_host$"
909                         description = "ESX or ESXi hostname."
910                 }
911                 "--name" = {
912                         value = "$vmware_vmname$"
913                         required = true
914                         description = "Virtual machine name."
915                 }
916                 "--sslport" = {
917                         value = "$vmware_sslport$"
918                         description = "If a SSL port different from 443 is used."
919                 }
920         }
921
922         vars.vmware_host = "$address$"
923         vars.vmware_sslport = "443"
924 }
925
926 object CheckCommand "vmware-esx-soap-vm-cpu" {
927         import "vmware-esx-soap-vm"
928
929         arguments += {
930                 "--select" = "cpu"
931         }
932 }
933
934 object CheckCommand "vmware-esx-soap-vm-cpu-ready" {
935         import "vmware-esx-soap-vm"
936
937         arguments += {
938                 "--select" = "cpu"
939                 "--subselect" = "ready"
940                 "--warning" = "$vmware_warn$"
941                 "--critical" = "$vmware_crit$"
942         }
943 }
944
945 object CheckCommand "vmware-esx-soap-vm-cpu-wait" {
946         import "vmware-esx-soap-vm"
947
948         arguments += {
949                 "--select" = "cpu"
950                 "--subselect" = "wait"
951                 "--warning" = "$vmware_warn$"
952                 "--critical" = "$vmware_crit$"
953         }
954 }
955
956 object CheckCommand "vmware-esx-soap-vm-cpu-usage" {
957         import "vmware-esx-soap-vm"
958
959         arguments += {
960                 "--select" = "cpu"
961                 "--subselect" = "usage"
962                 "--warning" = "$vmware_warn$"
963                 "--critical" = "$vmware_crit$"
964         }
965
966         vars.vmware_warn = "80%"
967         vars.vmware_crit = "90%"
968 }
969
970 object CheckCommand "vmware-esx-soap-vm-mem" {
971         import "vmware-esx-soap-vm"
972
973         arguments += {
974                 "--select" = "mem"
975         }
976 }
977
978 object CheckCommand "vmware-esx-soap-vm-mem-usage" {
979         import "vmware-esx-soap-vm"
980
981         arguments += {
982                 "--select" = "mem"
983                 "--subselect" = "usage"
984                 "--warning" = "$vmware_warn$"
985                 "--critical" = "$vmware_crit$"
986         }
987
988         vars.vmware_warn = "80%"
989         vars.vmware_crit = "90%"
990 }
991
992 object CheckCommand "vmware-esx-soap-vm-mem-consumed" {
993         import "vmware-esx-soap-vm"
994
995         arguments += {
996                 "--select" = "mem"
997                 "--subselect" = "consumed"
998                 "--warning" = "$vmware_warn$"
999                 "--critical" = "$vmware_crit$"
1000         }
1001 }
1002
1003 object CheckCommand "vmware-esx-soap-vm-mem-memctl" {
1004         import "vmware-esx-soap-vm"
1005
1006         arguments += {
1007                 "--select" = "mem"
1008                 "--subselect" = "memctl"
1009                 "--warning" = "$vmware_warn$"
1010                 "--critical" = "$vmware_crit$"
1011         }
1012 }
1013
1014 object CheckCommand "vmware-esx-soap-vm-net" {
1015         import "vmware-esx-soap-vm"
1016
1017         arguments += {
1018                 "--select" = "net"
1019         }
1020 }
1021
1022 object CheckCommand "vmware-esx-soap-vm-net-usage" {
1023         import "vmware-esx-soap-vm"
1024
1025         arguments += {
1026                 "--select" = "net"
1027                 "--subselect" = "usage"
1028                 "--warning" = "$vmware_warn$"
1029                 "--critical" = "$vmware_crit$"
1030         }
1031 }
1032
1033 object CheckCommand "vmware-esx-soap-vm-net-receive" {
1034         import "vmware-esx-soap-vm"
1035
1036         arguments += {
1037                 "--select" = "net"
1038                 "--subselect" = "receive"
1039                 "--warning" = "$vmware_warn$"
1040                 "--critical" = "$vmware_crit$"
1041         }
1042 }
1043
1044 object CheckCommand "vmware-esx-soap-vm-net-send" {
1045         import "vmware-esx-soap-vm"
1046
1047         arguments += {
1048                 "--select" = "net"
1049                 "--subselect" = "send"
1050                 "--warning" = "$vmware_warn$"
1051                 "--critical" = "$vmware_crit$"
1052         }
1053 }
1054
1055 object CheckCommand "vmware-esx-soap-vm-io" {
1056         import "vmware-esx-soap-vm"
1057
1058         arguments += {
1059                 "--select" = "io"
1060         }
1061 }
1062
1063 object CheckCommand "vmware-esx-soap-vm-io-read" {
1064         import "vmware-esx-soap-vm"
1065
1066         arguments += {
1067                 "--select" = "io"
1068                 "--subselect" = "read"
1069                 "--warning" = "$vmware_warn$"
1070                 "--critical" = "$vmware_crit$"
1071         }
1072 }
1073
1074 object CheckCommand "vmware-esx-soap-vm-io-write" {
1075         import "vmware-esx-soap-vm"
1076
1077         arguments += {
1078                 "--select" = "io"
1079                 "--subselect" = "write"
1080                 "--warning" = "$vmware_warn$"
1081                 "--critical" = "$vmware_crit$"
1082         }
1083 }
1084
1085 object CheckCommand "vmware-esx-soap-vm-io-usage" {
1086         import "vmware-esx-soap-vm"
1087
1088         arguments += {
1089                 "--select" = "io"
1090                 "--subselect" = "usage"
1091                 "--warning" = "$vmware_warn$"
1092                 "--critical" = "$vmware_crit$"
1093         }
1094 }
1095
1096 object CheckCommand "vmware-esx-soap-vm-runtime" {
1097         import "vmware-esx-soap-vm"
1098
1099         arguments += {
1100                 "--select" = "runtime"
1101         }
1102 }
1103
1104 object CheckCommand "vmware-esx-soap-vm-runtime-con" {
1105         import "vmware-esx-soap-vm"
1106
1107         arguments += {
1108                 "--select" = "runtime"
1109                 "--subselect" = "con"
1110         }
1111 }
1112
1113 object CheckCommand "vmware-esx-soap-vm-runtime-powerstate" {
1114         import "vmware-esx-soap-vm"
1115
1116         arguments += {
1117                 "--select" = "runtime"
1118                 "--subselect" = "powerstate"
1119         }
1120 }
1121
1122 object CheckCommand "vmware-esx-soap-vm-runtime-status" {
1123         import "vmware-esx-soap-vm"
1124
1125         arguments += {
1126                 "--select" = "runtime"
1127                 "--subselect" = "status"
1128         }
1129 }
1130
1131 object CheckCommand "vmware-esx-soap-vm-runtime-consoleconnections" {
1132         import "vmware-esx-soap-vm"
1133
1134         arguments += {
1135                 "--select" = "runtime"
1136                 "--subselect" = "consoleconnections"
1137                 "--warning" = "$vmware_warn$"
1138                 "--critical" = "$vmware_crit$"
1139         }
1140 }
1141
1142 object CheckCommand "vmware-esx-soap-vm-runtime-gueststate" {
1143         import "vmware-esx-soap-vm"
1144
1145         arguments += {
1146                 "--select" = "runtime"
1147                 "--subselect" = "gueststate"
1148         }
1149 }
1150
1151 object CheckCommand "vmware-esx-soap-vm-runtime-tools" {
1152         import "vmware-esx-soap-vm"
1153
1154         arguments += {
1155                 "--select" = "runtime"
1156                 "--subselect" = "tools"
1157                 "--open-vm-tools" = {
1158                         set_if = "$vmware_openvmtools$"
1159                 }
1160         }
1161 }
1162
1163 object CheckCommand "vmware-esx-soap-vm-runtime-issues" {
1164         import "vmware-esx-soap-vm"
1165
1166         arguments += {
1167                 "--select" = "runtime"
1168                 "--subselect" = "issues"
1169                 "--multiline" = {
1170                         set_if = "$vmware_multiline$"
1171                 }
1172         }
1173 }