Apache CouchDB

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

In diesem Dokument wird gezeigt, wie Sie Ihr Google Kubernetes Engine-Deployment so konfigurieren, dass Sie mit Google Cloud Managed Service for Prometheus Messwerte von Apache CouchDB erfassen können. Dieses Dokument enthält Anleitungen für folgende Aufgaben:

  • Exporter für CouchDB einrichten, um Messwerte zu erfassen.
  • Eine PodMonitoring-Ressource für Managed Service for Prometheus konfigurieren, um die exportierten Messwerte zu erfassen.
  • Auf ein Dashboard in Cloud Monitoring zugreifen, um die Messwerte zu prüfen.

Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden. Wenn Sie stattdessen die selbst bereitgestellte Erfassung verwenden, finden Sie im Quell-Repository Installationsinformationen für den CouchDB-Exporter.

Informationen zu CouchDB finden Sie unter CuchDB.

Vorbereitung

Zum Erfassen von Messwerten aus CouchDB mithilfe von Managed Service for Prometheus und einer verwalteten Erfassung muss Ihre Bereitstellung die folgenden Anforderungen erfüllen:

  • Ihr Cluster muss Google Kubernetes Engine Version 1.21.4-gke.300 oder höher ausführen.
  • Sie müssen Managed Service for Prometheus mit aktivierter verwalteter Sammlung ausführen. Weitere Informationen finden Sie unter Erste Schritte mit verwalteter Sammlung.

  • Um die in Cloud Monitoring verfügbaren Dashboards für die CouchDB-Integration zu nutzen, müssen Sie couchdb-prometheus-exporter Version 30.4.3 oder höher verwenden.

    Weitere Informationen zu verfügbaren Dashboards finden Sie unter Dashboards ansehen.

CouchDB-Exporter installieren

Wir empfehlen, den CouchDB-Exporter couchdb-prometheus-exporter als Sidecar-Datei in Ihrer CouchDB-Arbeitslast zu installieren. Informationen zur Verwendung von Sidecars finden Sie unter Erweiterte Anwendung in Kubernetes mit Pods mit mehreren Containern.

Wenn Sie couchdb-prometheus-exporter als Sidecar-Datei in CouchDB installieren möchten, ändern Sie die CouchDB-Konfiguration wie im folgenden Beispiel:

# 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

Sie müssen Ihrer Konfiguration alle Zeilen hinzufügen, denen das Symbol + vorangestellt ist.

Aktualisieren Sie die Umgebungsvariablen COUCHDB_USERNAME und COUCHDB_PASSWORD des Exporters auf die Ihres Monitoring-Nutzers.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

PodMonitoring-Ressource definieren

Für die Zielerkennung benötigt der Managed Service for Prometheus Operator eine PodMonitoring-Ressource, die dem CouchDB-Exporter im selben Namespace entspricht.

Sie können die folgende PodMonitoring-Konfiguration verwenden:

# 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

Achten Sie darauf, dass die Labelselektoren und der Port mit den Selektoren und dem Port übereinstimmen, die unter CouchDB-Exporter installieren verwendet werden.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

Konfiguration prüfen

Mit dem Metrics Explorer können Sie prüfen, ob der CouchDB-Exporter richtig konfiguriert ist. Es kann ein oder zwei Minuten dauern, bis Cloud Monitoring Ihre Messwerte aufgenommen hat.

So prüfen Sie, ob die Messwerte aufgenommen wurden:

  1. Wählen Sie in der Google Cloud Console Monitoring aus oder klicken Sie auf die folgende Schaltfläche:
    Zu Monitoring.
  2. Wählen Sie im Navigationsbereich Metrics Explorer aus.
  3. Wählen Sie den Tab PromQL aus und führen Sie die folgende Abfrage aus:
    up{job="couchdb", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Dashboards ansehen

Die Cloud Monitoring-Integration beinhaltet das Dashboard CouchDB Prometheus – Übersicht. Dashboards werden automatisch mitkonfiguriert, wenn Sie die Integration konfigurieren. Sie können auch eine statische Vorschau von Dashboards aufrufen, ohne die Integration zu installieren.

So rufen Sie ein installiertes Dashboard auf:

  1. Wählen Sie in der Google Cloud Console Monitoring aus oder klicken Sie auf die folgende Schaltfläche:
    Zu Monitoring.
  2. Wählen Sie im Navigationsbereich die Option   Dashboards aus.
  3. Wählen Sie den Tab Dashboard-Liste aus.
  4. Wählen Sie die Kategorie Integrationen aus.
  5. Klicken Sie auf den Namen des Dashboards, z. B. CouchDB Prometheus – Übersicht.

So rufen Sie eine statische Vorschau des Dashboards auf:

  1. Wählen Sie in der Google Cloud Console Monitoring aus oder klicken Sie auf die folgende Schaltfläche:
    Zu Monitoring.
  2. Wählen Sie im Navigationsbereich die Option  Integrationen aus.
  3. Klicken Sie auf den Filter für die Deployment-Plattform Kubernetes Engine.
  4. Suchen Sie die Apache CouchDB-Integration und klicken Sie auf Details ansehen.
  5. Wählen Sie den Tab Dashboards aus.

Fehlerbehebung

Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme finden Sie unter Probleme mit der Erfassung über Exporter unter Fehlerbehebung bei Problemen mit der Aufnahme.