Apache CouchDB

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce document explique comment configurer votre déploiement Google Kubernetes Engine afin de pouvoir collecter des métriques depuis Apache CouchDB en utilisant Google Cloud Managed Service pour Prometheus. Sur cette page, vous allez :

  • configurer l'exportateur pour CouchDB pour générer des rapports sur les métriques.
  • configurer une ressource PodMonitoring pour Managed Service pour Prometheus afin de collecter les métriques exportées ;
  • accéder à un tableau de bord dans Cloud Monitoring pour consulter les métriques ;

Ces instructions ne s'appliquent que si vous utilisez les collectes gérées avec Managed Service pour Prometheus. Si vous utilisez plutôt une collection autodéployée, consultez le dépôt source de l'exportateur CouchDB pour obtenir des informations sur l'installation.

Pour plus d'informations sur CouchDB, consultez la page CouchDB.

Prerequisites

Pour collecter des métriques à partir de CouchDB à l'aide de Managed Service pour Prometheus et de la collecte gérée, votre déploiement doit répondre aux exigences suivantes :

  • Votre cluster doit exécuter Google Kubernetes Engine version 1.21.4-gke.300 ou ultérieure.
  • Vous devez exécuter Managed Service pour Prometheus en ayant activé la collecte gérée. Pour en savoir plus, consultez la page Premiers pas avec la collecte gérée.

  • Pour utiliser les tableaux de bord disponibles dans Cloud Monitoring pour l'intégration de CouchDB, vous devez utiliser couchdb-prometheus-exporter version 30.4.3 ou ultérieure.

    Pour en savoir plus sur les tableaux de bord disponibles, consultez Afficher les tableaux de bord.

Installer l'exportateur CouchDB

Nous vous recommandons d'installer l'exportateur CouchDB, couchdb-prometheus-exporter, en tant que side-car de votre charge de travail CouchDB. Pour en savoir plus sur l'utilisation des side-cars, consultez Applications étendues sur Kubernetes avec des pods multiconteneurs.

Pour installer couchdb-prometheus-exporter en tant que side-car sur CouchDB, modifiez la configuration CouchDB comme indiqué dans l'exemple suivant :

# Copyright 2022 Google LLC
#
# 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
#
#     https://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.

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: couchdb
spec:
  serviceName: couchdb
  selector:
    matchLabels:
+     app.kubernetes.io/name: couchdb
  template:
    metadata:
      labels:
+       app.kubernetes.io/name: couchdb
    spec:
      containers:
      - name: couchdb
        image: couchdb:3.2.2
        env:
          - name: COUCHDB_USER
            value: "otelu"
          - name: COUCHDB_PASSWORD
            value: "otelp"
          - name: NODENAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: ERL_FLAGS
            value: "-setcookie otel"
        ports:
        - containerPort: 5984
+     - name: couchdb-exporter
+       image: gesellix/couchdb-prometheus-exporter:v30.4.3
+       args:
+       - --couchdb.uri=http://localhost:5984
+       - --logtostderr
+       env:
+         - name: COUCHDB_USERNAME
+           value: "otelu"
+         - name: COUCHDB_PASSWORD
+           value: "otelp"
+       ports:
+       - containerPort: 9984
  +         name: prometheus

Vous devez ajouter toutes les lignes précédées du symbole + à votre configuration.

Mettez à jour les variables d'environnement COUCHDB_USERNAME et COUCHDB_PASSWORD de l'exportateur vers celles de votre utilisateur de surveillance.

Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Vous pouvez également utiliser Terraform pour gérer vos configurations.

Définir une ressource PodMonitoring

Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource PodMonitoring correspondant à l'exportateur CouchDB dans le même espace de noms.

Vous pouvez utiliser la configuration PodMonitoring suivante :

# Copyright 2022 Google LLC
#
# 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
#
#     https://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.

apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
  name: couchdb
  labels:
    app.kubernetes.io/name: couchdb
    app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
  endpoints:
  - port: prometheus
    scheme: http
    interval: 30s
    path: /metrics
    params:
      format:
      - prometheus
  selector:
    matchLabels:
      app.kubernetes.io/name: couchdb

Assurez-vous que les sélecteurs de libellés et le port correspondent aux sélecteurs et au port utilisés dans Installer l'exportateur CouchDB.

Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Vous pouvez également utiliser Terraform pour gérer vos configurations.

Vérifier la configuration

Vous pouvez utiliser l'Explorateur de métriques pour vérifier que vous avez correctement configuré l'exportateur CouchDB. L'ingestion de vos métriques par Cloud Monitoring peut prendre une ou deux minutes.

Procédez comme suit pour vérifier que les métriques ont bien été ingérées :

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez  Explorateur de métriques.
  3. Sélectionnez l'onglet PromQL et exécutez la requête suivante :
    up{job="couchdb", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Afficher les tableaux de bord

L'intégration à Cloud Monitoring comprend le tableau de bord Présentation de CouchDB-Prometheus. Les tableaux de bord sont installés automatiquement lorsque vous configurez l'intégration. Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.

Pour afficher un tableau de bord installé, procédez comme suit :

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez  Tableaux de bord.
  3. Sélectionnez l'onglet Liste des tableaux de bord.
  4. Choisissez la catégorie Intégrations.
  5. Cliquez sur le nom du tableau de bord, par exemple Présentation de CouchDB-Prometheus.

Pour afficher un aperçu statique du tableau de bord, procédez comme suit :

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez  Intégrations.
  3. Cliquez sur le filtre de plate-forme de déploiement Kubernetes Engine.
  4. Recherchez l'intégration Apache CouchDB et cliquez sur Afficher les détails.
  5. Sélectionnez l'onglet Tableaux de bord.

Dépannage

Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques, consultez la section Problèmes liés à la collecte depuis des exportateurs dans la section Résoudre les problèmes côté ingestion.