diff --git a/cloud/azure/compute/aks/mode/health.pm b/cloud/azure/compute/aks/mode/health.pm new file mode 100644 index 000000000..7c1a1d26b --- /dev/null +++ b/cloud/azure/compute/aks/mode/health.pm @@ -0,0 +1,81 @@ +# +# Copyright 2021 Centreon (http://www.centreon.com/) +# +# Centreon is a full-fledged industry-strength solution that meets +# the needs in IT infrastructure and application monitoring for +# service performance. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +package cloud::azure::compute::aks::mode::health; + +use base qw(cloud::azure::management::monitor::mode::health); + +use strict; +use warnings; + +sub check_options { + my ($self, %options) = @_; + $self->SUPER::check_options(%options); + + $self->{az_resource_namespace} = 'Microsoft.ContainerService'; + $self->{az_resource_type} = 'managedClusters'; +} + +1; + +__END__ + +=head1 MODE + +Check Azure Kubernetes Cluster health status. +(Usefull to determine host status) + +=over 8 + +=item B<--resource> + +Set resource name or id (Required). + +=item B<--resource-group> + +Set resource group (Required if resource's name is used). + +=item B<--warning-status> + +Set warning threshold for status (Default: ''). + +Can used special variables like: %{status}, %{summary} + +=item B<--critical-status> + +Set critical threshold for status (Default: '%{status} =~ /^Unavailable$/'). + +Can used special variables like: %{status}, %{summary} + +=item B<--unknown-status> + +Set unknown threshold for status (Default: '%{status} =~ /^Unknown$/'). + +Can used special variables like: %{status}, %{summary} + +=item B<--ok-status> + +Set ok threshold for status (Default: '%{status} =~ /^Available$/'). + +Can used special variables like: %{status}, %{summary} + +=back + +=cut diff --git a/cloud/azure/compute/aks/plugin.pm b/cloud/azure/compute/aks/plugin.pm index c11417c2a..e4d6a8cc4 100644 --- a/cloud/azure/compute/aks/plugin.pm +++ b/cloud/azure/compute/aks/plugin.pm @@ -34,6 +34,7 @@ sub new { 'allocatable-resources' => 'cloud::azure::compute::aks::mode::allocatableresources', 'cpu' => 'cloud::azure::compute::aks::mode::cpu', 'discovery' => 'cloud::azure::compute::aks::mode::discovery', + 'health' => 'cloud::azure::compute::aks::mode::health', 'storage' => 'cloud::azure::compute::aks::mode::storage', 'traffic' => 'cloud::azure::compute::aks::mode::traffic', 'unneeded-nodes' => 'cloud::azure::compute::aks::mode::unneedednodes'