Aller au contenu principal

Google Compute Engine

Contenu du connecteur de supervision​

Objets supervisés​

Le connecteur de supervision Google Compute Engine collecte les données pour:

  • Cpu
  • Diskio
  • Network

Règles de découverte​

Le connecteur de supervision Centreon Google Compute Engine inclut un provider de découverte d'Hôtes. Celui-ci permet de découvrir l'ensemble des instances de calculs rattachées à un projet GCP donné:

image

Le fichier key doit être déployé sur les Collecteurs utilisés pour la découverte en amont de son execution (voir chapitre Prérequis)

Vous trouverez plus d'informations sur la découverte d'Hôtes et son fonctionnement sur la documentation du module: Découverte des hôtes

Métriques collectées​

Pour l'ensemble des métriques collectées, il est possible de choisir aggregation: average, minimum, maximum et total.

Metric nameDescriptionUnit
instance_name~aggregation#computeengine.cpu.utilization.percentageUtilization of allocated CPU%
instance_name~aggregation#computeengine.cpu.reserved_cores.countNumber of vCPUs reserved on the host of the instance

Prérequis​

Privilèges Google Cloud​

Créer une clé de compte de service (télécharger sa clé privée sous la forme d'un fichier JSON) avec les privilèges suivants:

Google ScopeDescription
https://www.googleapis.com/auth/cloud-platformView and manage your data across Google Cloud Platform services

Comment créer une clé de compte de service: https://developers.google.com/identity/protocols/oauth2/service-account

Installation​

  1. Installer le Plugin sur tous les Collecteurs Centreon :
yum install centreon-plugin-Cloud-Gcp-Compute-ComputeEngine-Api
  1. Sur l'interface Web de Centreon, installer le connecteur de supervision Google Compute Engine depuis la page Configuration > Gestionnaire de connecteurs de supervision

Configuration​

Ce connecteur de supervision est conçu de manière à avoir dans Centreon un hôte par instance Google Compute Engine. Lorsque vous ajoutez un hôte à Centreon, appliquez-lui le modèle Cloud-Gcp-Compute-ComputeEngine-custom. Une fois celui-ci configuré, certaines macros doivent être renseignées:

MandatoryNameDescription
XGCPKEYFILEPATHService account key json file
XGCPSCOPEENDPOINTGoogle Scope. Default: https://www.googleapis.com/auth/cloud-platform
XGCPDIMENSIONNAMEThe name of the dimension to filter on. Default: resource.labels.instance_id
XGCPDIMENSIONOPERATORDefine the type of filter match to use. Default: equals
XGCPDIMENSIONVALUEID of the instance you want to monitor.
PROXYURLConfigure proxy URL
GCPEXTRAOPTIONSAny extra option you may want to add to every command_line (eg. a --verbose flag)
DUMMYSTATUSHost state. Default is OK, do not modify it until you know what you are doing
DUMMYOUTPUTHost check output. Default is 'This is a dummy check'. Customize it with your own if needed

WARNING: La clé de service (format json) doit être hébergée sur le collecteur Centreon. L'utilisateur centreon-engine doit avoir les droits en lecture sur ce fichier.

FAQ​

Comment puis-je tester le Plugin et que signifient les options des commandes ?​

Une fois le Plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis un collecteur Centreon en vous connectant avec l'utilisateur centreon-engine:

/usr/lib/centreon/plugins/centreon_gcp_compute_computeengine_api.pl \
--plugin=cloud::google::gcp::compute::computeengine::plugin \
--mode=cpu \
--key-file=/var/lib/centreon-engine/centreon-dev-6e5531fc9e82.json \
--dimension-name='metric.labels.instance_name' \
--dimension-operator='equals' \
--dimension-value='instance-centreon1-drb5' \
--aggregation='average' \
--warning-utilization='90' \
--critical-utilization='95' \
--verbose

La commande devrait retourner un message de sortie de la forme ci-dessous:

OK: Instance 'instance-centreon1-drb5' aggregation 'average' metrics cpu utilization: 1.04 %, cpu reserved cores: 0.20 | 'instance-centreon1-drb5~average#computeengine.cpu.utilization.percentage'=1.04%;0:90;0:95;0;100 'instance-centreon1-drb5~average#computeengine.cpu.reserved_cores.count'=0.20;;;;
Checking 'instance-centreon1-drb5'
aggregation 'average' metrics cpu utilization: 1.04 %, cpu reserved cores: 0.20

Cette commande contrôle l'utilisation processeur (--mode=cpu) d'une instance Google Compute Engine ayant pour nom instance-centreon1-drb5 (--dimension-name='metric.labels.instance_name' --dimension-operator='equals' --dimension-value='instance-centreon1-drb5').

Cette commande déclenchera une alarme WARNING si l'utilisation processeur est supérieur à 90% (--warning-utilization='90') et une alarme CRITICAL si supérieur à 95% (--critical-utilization='95').

Pour chaque mode, la liste de toutes les métriques, seuils associés et options complémentaires peut être affichée en ajoutant le paramètre --help à la commande:

/usr/lib/centreon/plugins/centreon_gcp_compute_computeengine_api.pl \
--plugin=cloud::google::gcp::compute::computeengine::plugin \
--mode=cpu \
--help

J'obtiens le message d'erreur suivant: UNKNOWN: No metrics. Check your options or use --zeroed option to set 0 on undefined values​

Lors du déploiement de mes contrôles, j'obtiens le message suivant 'UNKNOWN: No metrics. Check your options or use --zeroed option to set 0 on undefined values'.

Cela signifie qu'il n'y a pas de données sur la période.

Vous pouvez ajouter --zeroed à la macro EXTRAOPTIONS du service en question afin de forcer le stockage d'un 0 et ainsi éviter un statut UNKNOWN.