Apache CouchDB

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Neste documento, descrevemos como configurar a implantação do Google Kubernetes Engine para usar o Google Cloud Managed Service para Prometheus a fim de coletar métricas do Apache CouchDB. Esta página mostra como fazer o seguinte:

  • Configurar o exportador para o CouchDB para relatar as métricas.
  • Configurar um recurso PodMonitoring para o serviço gerenciado para Prometheus a fim de coletar as métricas exportadas.
  • Instalar um painel no Cloud Monitoring para ver as métricas.

Essas instruções aplicam-se somente se você estiver usando usando a coleção gerenciada com o Managed Service para Prometheus. Se você estiver usando a coleção autoimplantada, consulte o repositório de origem do exportador de CouchDB para ver informações da instalação.

Para informações sobre o CouchDB, consulte CouchDB.

Pré-requisitos

Para coletar métricas do CouchDB usando o Serviço gerenciado para o Prometheus e a coleta gerenciada, sua implantação precisa atender aos seguintes requisitos:

  • Seu cluster precisa executar a versão 1.21.4-gke.300 ou posterior do Google Kubernetes Engine.
  • É necessário executar o Managed Service para Prometheus com a coleta gerenciada ativada. Para mais informações, consulte Começar a usar a coleta gerenciada.

  • Para usar os painéis disponíveis no Cloud Monitoring para a integração do CouchDB, é necessário usar a versão couchdb-prometheus-exporter v30.4.3 ou posterior.

    Para mais informações sobre os painéis disponíveis, consulte Visualizar painéis.

Instalar o exportador do CouchDB

Recomendamos que você instale o exportador do CouchDB, couchdb-prometheus-exporter, como um arquivo secundário para sua carga de trabalho do CouchDB. Para informações sobre o uso de arquivos secundários, consulte Aplicativos estendidos no Kubernetes com pods de múltiplos contêineres.

Para instalar couchdb-prometheus-exporter como um arquivo secundário para o CouchDB, modifique sua configuração do CouchDB como mostrado no exemplo a seguir:

# 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

Adicione à sua configuração todas as linhas precedidas pelo símbolo +.

Atualize as variáveis de ambiente COUCHDB_USERNAME e COUCHDB_PASSWORD do exportador para as variáveis do usuário de monitoramento.

Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Também é possível usar o Terraform para gerenciar as configurações.

Definir um recurso do PodMonitoring

Para descobrir o destino, o operador do Managed Service para Prometheus, é necessário um recurso PodMonitoring que corresponde ao exportador do CouchDB no mesmo namespace.

É possível usar a seguinte configuração do PodMonitoring:

# 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

Verifique se os seletores do identificador e a porta correspondem aos seletores e à porta usados em Instalar o exportador do CouchDB.

Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Também é possível usar o Terraform para gerenciar as configurações.

Verificar a configuração

Use o Metrics Explorer para verificar se você configurou corretamente o exportador do CouchDB. Pode levar um ou dois minutos para que o Cloud Monitoring ingira as métricas.

Para verificar se as métricas foram transferidas, faça o seguinte:

  1. No console do Google Cloud, selecione Monitoring ou clique no botão a seguir:
    Acessar o Monitoring
  2. No painel de navegação, selecione o   Metrics Explorer.
  3. Selecione a guia PromQL e execute a seguinte consulta:
    up{job="couchdb", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Ver painéis

A integração do Cloud Monitoring inclui o painel Visão geral do CouchDB Prometheus. Os painéis são instalados automaticamente ao configurar a integração. Também é possível acessar as visualizações estáticas dos painéis sem instalar a integração.

Para visualizar um painel instalado, faça o seguinte:

  1. No console do Google Cloud, selecione Monitoring ou clique no botão a seguir:
    Acessar o Monitoring
  2. No painel de navegação, selecione  Painéis.
  3. Selecione a guia Lista de painéis.
  4. Escolha a categoria Integrações.
  5. Clique no nome do painel, por exemplo, Visão geral do CouchDB Prometheus.

Para acessar uma visualização estática do painel, faça o seguinte:

  1. No console do Google Cloud, selecione Monitoring ou clique no botão a seguir:
    Acessar o Monitoring
  2. No painel de navegação, selecione  Integrações.
  3. Clique no filtro de plataforma de implantação do Kubernetes Engine.
  4. Localize a integração do Apache CouchDB e clique em Visualizar detalhes.
  5. Selecione a guia Painéis.

Solução de problemas

Para resolver problemas de transferências de métricas, consulte Problemas com a coleta de exportadores em Resolver problemas no processamento.