Aller au contenu

Labels & Monitoring

Ajoutez des labels sur toutes les ressources Kubernetes et GCP de votre application :

labels:
team: team-services
bu: my-bu
project: custom-project
  • Les labels sont propages sur toutes les ressources K8s : Deployment, Service, Worker, CronJob, Migration, ConfigMap, PDB, PodMonitoring.
  • Les labels sont aussi ajoutes dans les default_labels du provider GCP, donc appliques automatiquement sur les Buckets, Cloud Functions, Pub/Sub, etc.
  • Le label project est auto-injecte avec la valeur de APPSLUG si vous ne le definissez pas.
  • Les labels systeme (app, appSlug, deployedBy, bu, env) ne peuvent pas etre ecrases par des labels custom.
# Identifier l'equipe proprietaire
labels:
team: team-services
# Ajouter un centre de cout
labels:
team: team-services
cost-center: CC-1234
# Tout laisser par defaut (project = APPSLUG)
labels: {}

Activez le scraping Prometheus via un PodMonitoring (Google Managed Prometheus) :

prometheusScrape:
enabled: true
path: /metrics
port: 80
interval: 30s
ProprieteTypeDefautDescription
enabledbooleanfalseActiver le PodMonitoring
pathstring/metricsChemin de l’endpoint metriques
portinteger80Port a scraper
intervalstring30sIntervalle de scraping

Quand prometheusScrape.enabled est true, le deployer cree une ressource PodMonitoring dans le namespace de l’application. Cette ressource est detectee par Google Managed Prometheus (GMP) qui scrape automatiquement les metriques.

Les metriques sont ensuite disponibles dans :

  • Cloud Monitoring (console GCP)
  • Grafana (si connecte a Cloud Monitoring comme datasource)
  • Google Managed Prometheus doit etre active sur le cluster GKE (actif par defaut sur les clusters standards et Autopilot).
  • L’application doit exposer un endpoint de metriques compatible Prometheus (format texte OpenMetrics).
name: my-api
codeType: Web
labels:
team: team-backend
prometheusScrape:
enabled: true
path: /metrics
port: 8080
interval: 15s
network:
- name: default
services:
- name: http
port: 8080
path: /

Provisionnez des dashboards GCP Cloud Monitoring directement depuis le deployer. Les dashboards sont geres par Terraform (google_monitoring_dashboard) : supprimer une entree du deployer.yaml supprime le dashboard au prochain deploy.

dashboards:
- name: my-dashboard
jsonPath: ./monitoring/my-dashboard.json
ProprieteTypeRequisDescription
namestringouiIdentifiant unique du dashboard (utilise pour le nommage Terraform)
jsonPathstringouiChemin relatif vers le fichier JSON du dashboard
  1. Creez ou modifiez un dashboard dans la console GCP Monitoring.
  2. Cliquez sur les trois points () > Telecharger le JSON.
  3. Placez le fichier dans votre depot (ex: monitoring/my-dashboard.json).
  4. Referencez-le dans deployer.yaml.
name: my-api
codeType: Web
dashboards:
- name: overview
jsonPath: ./monitoring/overview.json
- name: performance
jsonPath: ./monitoring/performance.json

Voir aussi : Toutes les proprietes | deployer.yaml