IBM Cloud Docs
Configuration du transfert de métriques du serveur Prometheus

Configuration du transfert de métriques du serveur Prometheus

Les exportateurs de métriques Prometheus, sap_host_exporter et hanadb_exporter, sont configurés pour collecter des métriques à partir de SAP HANA et des instances du système SAP. Chaque exportateur Prometheus collecte des données métriques du système SAP et les expose à un port local HTTP. Utilisez un port HTTP différent pour chaque processus et utilisez un numéro de port supérieur à 9600.

Un serveur Prometheus, disponible dans le paquetage golang-github-prometheus-prometheus, est configuré pour transmettre les mesures collectées à partir du port local HTTP aux points finaux d'ingestion de la surveillance.

Tous ces services sont installés en tant que services systemd afin qu'ils fonctionnent en permanence.

Le serveur Prometheus est utilisé pour transmettre les données métriques au système de surveillance IBM Cloud®. Vous pouvez configurer tous les processus d'exportation de hanadb_exporter et sap_host_exporter dans un seul fichier prometheus.yml.

Le serveur Prometheus en mode agent remplit les fonctions suivantes.

  • Collecte des données métriques à partir des points d'extrémité HTTPS.
  • Transmet les mesures à un point d'extrémité distant.

Procédez comme suit pour configurer le transfert de métriques pour le serveur Prometheus.

  1. Créez un fichier de configuration Prometheus comme décrit dans la section Configuration de l'écriture à distance Prometheus.

    Tous les paramètres de tous les processus d'exportation sont collectés en définissant targets.

    Le modèle de cette configuration comprend les espaces réservés suivants :

    • <ibmcloud_monitoring_instance_url> détermine la destination de réécriture de l'instance IBM Cloud®.
    • <ibmcloud_monitoring_authorization_credentials> est le jeton d'authentification pour l'instance de surveillance IBM Cloud®.
    • <sap_monitoring_nr> est le numéro du système SAP où les mesures exposées sont collectées.
  2. En tant qu'utilisateur de Prometheus, exécutez la commande suivante pour créer le fichier de configuration portant le nom de fichier /etc/prometheus/<sap_monitoring_nr>.yml

    global:
      scrape_interval: 15s
      evaluation_interval: 20s
    remote_write:
      - url: "<ibmcloud_monitoring_instance_url>"
        authorization:
          credentials: "<ibmcloud_monitoring_authorization_credentials>"
        write_relabel_configs:
          - target_label: instance
            replacement: 'SAP-<sap_monitoring_nr>-<sap_monitoring_solution_name>'
    scrape_configs:
      - job_name: "hanadb_exporter"
        static_configs:
          - targets: ['localhost:5<sap_monitoring_nr>02']
        relabel_configs:
          - target_label: domain
            replacement: 'SAP'
      - job_name: "sap_host_exporter"
        static_configs:
          - targets: ['localhost:5<sap_monitoring_nr>03','localhost:5<sap_monitoring_nr>04','localhost:5<sap_monitoring_nr>05']
          # 05 – n: as many as existing SAP Application server
        relabel_configs:
          - target_label: domain
            replacement: 'SAP'
    

    Ne modifiez pas la syntaxe du nom du fichier de configuration Prometheus: /etc/prometheus/<sap_monitoring_nr>.yml.

  3. Utilisez les commandes suivantes pour appliquer les autorisations de l'utilisateur Prometheus dans tous les fichiers de configuration Prometheus.

    sudo chown -R prometheus:prometheus /etc/prometheus
    
    sudo chmod 0740 /etc/prometheus
    
    sudo chmod 0640 /etc/prometheus/*
    

    Testez manuellement le démon Prometheus.

    sudo -H -u prometheus /usr/bin/prometheus \
    --config.file=/etc/prometheus/${sap_monitoring_nr}.yml \
    --storage.agent.path=/opt/prometheus/${sap_monitoring_nr} \
    --enable-feature=agent --web.listen-address=localhost:5${sap_monitoring_nr}01
    

En tant qu'utilisateur root, définissez les paramètres du service systemd pour exécuter le serveur Prometheus en mode agent en suivant les étapes suivantes.

  1. Créez et copiez le contenu suivant dans le fichier /etc/systemd/system/prometheus@.service.

    [Unit]
    Description=Prometheus
    After=network.target
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    Restart=always
    ExecStart=/usr/bin/prometheus --config.file=/etc/prometheus/%i.yml \
    --storage.agent.path=/opt/prometheus/%i --enable-feature=agent \
    --web.listen-address=localhost:5%i01
    ExecReload=/bin/kill -HUP $MAINPID
    TimeoutStopSec=20s
    SendSIGKILL=no
    [Install]
    WantedBy=multi-user.target
    
  2. Les commandes suivantes permettent d'activer la configuration, de démarrer et d'activer l'agent Prometheus.

    systemctl daemon-reload
    
    sudo systemctl start prometheus@${sap_monitoring_nr}
    
    sudo systemctl enable prometheus@${sap_monitoring_nr}
    

    Vérifier l'état du service :

    systemctl status prometheus@${sap_monitoring_nr}
    
  3. Redémarrer le démon après chaque mise à jour de la configuration dans le fichier /etc/prometheus/<sap_monitoring_nr>.yml.

    chown a+r /etc/prometheus/*
    
    systemctl reload prometheus@${sap_monitoring_nr}
    

Il faut un certain temps pour que les mesures apparaissent dans votre tableau de bord.

Etapes suivantes

Pour visualiser les mesures collectées par le serveur Prometheus, voir Lancer l'interface web de surveillance et travailler avec les tableaux de bord.