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