Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Surveiller ApsaraDB for OceanBase à l'aide de Prometheus

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment déployer OBCloud Exporter et Prometheus pour surveiller ApsaraDB for OceanBase.

Contexte

OBCloud Exporter est un outil fourni par ApsaraDB for OceanBase pour le traitement des données de base de données. Il permet de s'authentifier auprès d'ApsaraDB for OceanBase, de récupérer les données, puis d'utiliser Prometheus pour surveiller la base de données.

Vous pouvez exécuter Prometheus directement sur le système ou le déployer via Docker.

Prérequis

  1. Java 8 ou une version ultérieure est installé.

  2. Docker est installé.

Exécuter Prometheus sur le système pour surveiller ApsaraDB for OceanBase

  1. Téléchargez OBCloud Exporter.

    Remarque

    Il n'est pas possible de télécharger OBCloud Exporter directement. Pour obtenir cet outil, contactez le support technique OceanBase.

  2. Déployez OBCloud Exporter.

    1. Décompressez le package d'installation d'OBCloud Exporter dans le répertoire /opt/obcloud-exporter.

      mkdir /opt/obcloud-exporter
      tar -zxvf Obcloud_Exporter.tar.gz -C /opt/obcloud-exporter --strip-components=1

      Les fichiers suivants sont extraits du package d'installation :

      • Dockerfile : fichier de construction du conteneur Docker.

      • muticloud_metric_config.yaml : fichier de configuration des métriques. Par défaut, il n'est pas nécessaire de modifier ce fichier.

      • application.yaml : fichier de configuration de la collecte.

      • obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar : programme OBCloud Exporter.

      • readme.md : description du projet.

    2. Modifiez le fichier de configuration application.yaml.

      # Monitor name.
      aliyun_monitor:
        # Identity credentials.
        credential:
          access_key_id: xxx
          access_key_secret: xx
          region_id: ap-southeast-1
          # Endpoint.
          end_point: xxx
          # Whether to periodically refresh metrics. The default value is false. 
          metric_meta_auto_refresh: false
        instances:
        		# Instance ID.
          - instance_id: xxx
            # To query data of a specified tenant in the cluster, you must configure tenant_id.
            tenant_id: xxx
            # Instance type, which can be cluster (cluster instance) or tenant (tenant instance or serverless instance). 
            instance_type: tenant
            metrics: 

      Les paramètres sont décrits ci-dessous :

      • access_key_id et access_key_secret : paire AccessKey pour l'authentification. Demandez une paire AccessKey sur la plateforme correspondante. Pour plus d'informations, consultez Créer une AccessKey.

      • region_id et end_point : pour plus d'informations, consultez Régions (ApsaraDB for OceanBase).

      • metric_meta_auto_refresh : indique si les métriques doivent être actualisées périodiquement. La valeur par défaut est false.

      • instances : instances à surveiller. Séparez les instances de cluster ou de locataire par des tirets (-).

      • instance_id : ID de l'instance de cluster, de l'instance Serverless ou de l'instance de locataire.

        Remarque

        La valeur ne peut pas être un ID de locataire au sein d'un cluster.

      • instance_type : les valeurs valides sont cluster et tenant. Si la valeur de instance_id correspond à un ID d'instance de cluster, définissez ce paramètre sur cluster. Si la valeur de instance_id correspond à un ID d'instance de locataire ou à un ID d'instance Serverless, définissez ce paramètre sur tenant.

      • tenant_id : ce paramètre est requis pour interroger les données d'un locataire spécifique dans un cluster.

      • metrics : métriques à collecter. Si ce paramètre n'est pas spécifié, toutes les métriques sont collectées. Spécifiez les métriques au format suivant :

        instances:
          -instance_id: xxx
            tenant_id: xxx
            instance_type: cluster
            metrics: 
              - sql_all_rt
              - sql_delete_rt
        Remarque

        Si un grand nombre de métriques sont collectées, la vitesse de collecte peut être affectée. Dans ce cas, utilisez plusieurs exportateurs pour collecter les métriques.

  3. Exécutez le fichier JAR d'OBCloud Exporter.

    java -jar /opt/obcloud-exporter/obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar

    Vérifiez le déploiement dans un navigateur. Accédez au port 9400 à l'adresse IP correspondante pour vérifier la réception des données de surveillance.

    Remarque

    En pratique, utilisez l'adresse IP et le numéro de port configurés pour l'accès.

  4. Téléchargez Prometheus de la version requise depuis le site officiel. Voici un exemple de téléchargement de Prometheus 2.50.1 pour Linux :

    wget https://github.com/prometheus/prometheus/releases/download/v2.50.1/prometheus-2.50.1.linux-amd64.tar.gz
  5. Déployez Prometheus.

    1. Décompressez le package d'installation de Prometheus dans le répertoire /opt/prometheus.

      mkdir -p /opt/prometheus
      tar -zxvf prometheus-2.50.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components=1
    2. Déplacez le fichier de configuration prometheus.yml vers le répertoire de travail et modifiez-le selon vos besoins.

      mv /opt/prometheus/prometheus.yml /usr/local/bin/
      vi /usr/local/bin/prometheus.yml

      Modifiez les paramètres suivants :

      global:
        scrape_interval: 30s
        scrape_timeout: 20s
      
      scrape_configs:
        - job_name: "nodes"
          static_configs:
          - targets: ['localhost:9400']
    3. Créez le fichier de service et le répertoire de stockage des données de Prometheus.

      mkdir /var/lib/prometheus/
      sudo vim /etc/systemd/system/Prometheus.service

      Saisissez et enregistrez le contenu suivant.

      Remarque

      Les paramètres User et Group sont facultatifs. Pour savoir comment configurer un nom d'utilisateur et un groupe d'utilisateurs, consultez l'étape suivante.

      [Unit]
      Description=Prometheus
      Wants=network-online.target
      After=network-online.target
      
      [Service]
      User=prometheus
      Group=prometheus
      Restart=on-failure
      ExecStart=/opt/prometheus/prometheus \
            --config.file /usr/local/bin/prometheus.yml \
            --storage.tsdb.path /var/lib/prometheus/
      
      [Install]
      WantedBy=multi-user.target
    4. (Facultatif) Configurez un nom d'utilisateur et un groupe d'utilisateurs. Si le nom d'utilisateur et le groupe d'utilisateurs spécifiés à l'étape précédente existent déjà, ou si aucun nom d'utilisateur et groupe d'utilisateurs ne sont spécifiés, ignorez cette étape.

      sudo groupadd prometheus
      sudo useradd -r -g prometheus prometheus
      sudo chown -R prometheus:prometheus /opt/prometheus /var/lib/prometheus
      sudo chmod -R 755 /opt/prometheus /var/lib/prometheus
  6. Démarrez le service Prometheus.

    # Reload systemd configurations.
    sudo systemctl daemon-reload
    
    # Start the Prometheus service.
    sudo systemctl start prometheus
    
    # Enable the Prometheus service to start at boot.
    sudo systemctl enable prometheus
    
    # Check the service status.
    sudo systemctl status prometheus
  7. Vérifiez que Prometheus a démarré.

     sudo netstat -ntlp | grep 9090

Déployer Prometheus à l'aide de Docker pour surveiller ApsaraDB for OceanBase

  1. Téléchargez OBCloud Exporter.

    Remarque

    Il n'est pas possible de télécharger OBCloud Exporter directement. Pour obtenir cet outil, contactez le support technique OceanBase.

  2. Déployez OBCloud Exporter.

    1. Décompressez le package d'installation d'OBCloud Exporter dans le répertoire /opt/obcloud-exporter.

      mkdir /opt/obcloud-exporter
      tar -zxvf Obcloud_Exporter.tar.gz -C /opt/obcloud-exporter --strip-components=1

      Les fichiers suivants sont extraits du package d'installation :

      • Dockerfile : fichier de construction du conteneur Docker.

      • muticloud_metric_config.yaml : fichier de configuration des métriques. Par défaut, il n'est pas nécessaire de modifier ce fichier.

      • application.yaml : fichier de configuration de la collecte.

      • obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar : programme OBCloud Exporter.

      • readme.md : description du projet.

    2. Modifiez le fichier de configuration application.yaml.

      # Monitor name.
      aliyun_monitor:
        # Identity credentials.
        credential:
          access_key_id: xxx
          access_key_secret: xx
          region_id: ap-southeast-1
          # Endpoint.
          end_point: xxx
          # Whether to periodically refresh metrics. The default value is false. 
          metric_meta_auto_refresh: false
        instances:
        		# Instance ID.
          - instance_id: xxx
            # To query data of a specified tenant in the cluster, you must configure tenant_id.
            tenant_id: xxx
            # Instance type, which can be cluster (cluster instance) or tenant (tenant instance or serverless instance). 
            instance_type: tenant
            metrics: 

      Les paramètres sont décrits ci-dessous :

      • access_key_id et access_key_secret : paire AccessKey pour l'authentification. Demandez une paire AccessKey sur la plateforme correspondante. Pour plus d'informations, consultez Créer une AccessKey.

      • region_id et end_point : pour plus d'informations, consultez Régions (ApsaraDB for OceanBase).

      • metric_meta_auto_refresh : indique si les métriques doivent être actualisées périodiquement. La valeur par défaut est false.

      • instances : instances à surveiller. Séparez les instances de cluster ou de locataire par des tirets (-).

      • instance_id : ID de l'instance de cluster, de l'instance Serverless ou de l'instance de locataire.

        Remarque

        La valeur ne peut pas être un ID de locataire au sein d'un cluster.

      • instance_type : les valeurs valides sont cluster et tenant. Si la valeur de instance_id correspond à un ID d'instance de cluster, définissez ce paramètre sur cluster. Si la valeur de instance_id correspond à un ID d'instance de locataire ou à un ID d'instance Serverless, définissez ce paramètre sur tenant.

      • tenant_id : ce paramètre est requis pour interroger les données d'un locataire spécifique dans un cluster.

      • metrics : métriques à collecter. Si ce paramètre n'est pas spécifié, toutes les métriques sont collectées. Spécifiez les métriques au format suivant :

        instances:
          -instance_id: xxx
            tenant_id: xxx
            instance_type: cluster
            metrics: 
              - sql_all_rt
              - sql_delete_rt
        Remarque
        • Pour plus d'informations, consultez Métriques de surveillance.

        • Si un grand nombre de métriques sont collectées, la vitesse de collecte peut être affectée. Dans ce cas, utilisez plusieurs exportateurs pour collecter les métriques.

  3. Démarrez OBCloud Exporter à l'aide de Docker.

    1. Dans le répertoire /opt/obcloud-exporter, construisez le conteneur Docker obcloud-exporter.

      cd /opt/obcloud-exporter
      docker build -t obcloud-exporter:1.0 .
    2. Démarrez le conteneur Docker directement ou à l'aide d'un fichier de configuration externe.

      1. Démarrez le conteneur Docker directement.

        docker run -itd -p9400:9400 --name obcloud-exporter obcloud-exporter:1.0
      2. Démarrez le conteneur Docker à l'aide d'un fichier de configuration externe.

        docker run -itd -p9400:9400 -v /opt/obcloud-exporter/application.yaml:/app/application.yaml --name obcloud-exporter obcloud-exporter:1.0
  4. Vérifiez le déploiement dans un navigateur. Accédez au port 9400 à l'adresse IP correspondante pour vérifier la réception des données de surveillance.

    Remarque

    En pratique, utilisez l'adresse IP et le numéro de port configurés pour l'accès.

  5. Créez le fichier de configuration prometheus.yml de Prometheus.

    vi /usr/local/bin/prometheus.yml

    Modifiez le fichier de configuration.

    global:
      scrape_interval: 30s
      evaluation_interval: 30s
    
    scrape_configs:
      - job_name: obcloud-exporter-test
        static_configs:
            # Local server and port number.
          - targets: ['obcloud-exporter:9400']
            labels:
              instance: obcloud-exporter
  6. Démarrez le service Prometheus.

     docker run  -d \
       -p 9090:9090 \
       -v /usr/local/bin/prometheus.yml:/etc/prometheus/prometheus.yml  \
       --link obcloud-exporter  \
       --name prometheus \
       prom/prometheus
  7. Vérifiez que Prometheus a démarré.

    sudo netstat -ntlp | grep 9090

Consulter les données de surveillance de la base de données via Prometheus

Accédez à l'URL du service Prometheus http://localhost:9090/targets dans un navigateur pour consulter les données de surveillance correspondantes.

Métriques de surveillance

Lorsque vous configurez OBCloud Exporter, spécifiez les métriques de surveillance prises en charge par ApsaraDB for OceanBase afin qu'elles soient collectées par OBCloud Exporter. Lorsque OBCloud Exporter est en cours d'exécution, le système synchronise ces métriques de surveillance, y compris les métriques de surveillance des hôtes du cluster et les métriques de surveillance au niveau du locataire, vers OBCloud Exporter. Pour plus d'informations, consultez métriques de surveillance du cluster et métriques de surveillance du locataire.

Lorsque le paramètre metric_meta_auto_refresh dans le fichier de configuration application.yaml est défini sur false, les métriques de surveillance prises en charge sont celles renvoyées lors de l'accès initial. Lorsque le paramètre metric_meta_auto_refresh est défini sur true, la liste des métriques de surveillance prises en charge est actualisée toutes les 10 minutes.