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