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.
-
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.
-
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
. -
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.
-
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
-
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}
-
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.