IBM Cloud Docs
Einrichten und Konfigurieren eines Überwachungshosts

Einrichten und Konfigurieren eines Überwachungshosts

Ein Überwachungsagent sammelt die Messdaten aus einem SAP-System und leitet sie an das Dashboard der Überwachungsinstanz weiter.

Bereitstellung eines VPC-Hosts für eine virtuelle Serverinstanz für einen Überwachungsagenten

Verwenden Sie Prometheus-Exporter, um die Metriken zu sammeln. Der Abschnitt "Metriken sammeln " enthält Einzelheiten zu Metriken, Labels und Überwachungsagenten.

Der Prometheus-Exporter basiert auf dem GitHub-Open-Source-Projekt SAP HANA DB-Exporter.

Bevor Sie beginnen, lesen Sie die Dokumentation unter IBM Cloud® über das Erstellen virtueller Serverinstanzen, um einen Überwachungshost mithilfe der Benutzeroberfläche von IBM Cloud® zu erstellen.

Überwachung der Berücksichtigung des Gastgebers

Berücksichtigen Sie die folgenden Einstellungen für den Überwachungshost.

  • Der Überwachungshost muss in derselben Region und Zone wie das überwachte SAP-System eingesetzt werden.
  • Achten Sie darauf, dass Sie die richtige Ressourcengruppe auswählen, die Ihrer einsetzbaren Architektur (DA) entspricht.
  • Sie müssen das ibm-sles-15-5-amd64-sap-applications-<version>-Image – SUSE Linux Enterprise Server 15 SP5 für SAP-Anwendungen ( AMD64 ) – mit der kleinsten verfügbaren Größe von 2 Kernen bereitstellen.
  • Fügen Sie Ihre entsprechenden SSH-Schlüssel hinzu, wie unter "SSH-Schlüssel verwalten" beschrieben.

Überprüfung von ACLs und Sicherheitsgruppen

Nachdem Sie Ihren Überwachungsagenten-Host erstellt haben, überprüfen Sie in Ihren ACLs und Sicherheitsgruppen, ob die Einstellungen korrekt sind.

Wenn Sie andere Endpunkte für die Aufnahme verwenden als den Standort des Überwachungshosts, müssen Sie die Netzwerk-Zugriffssteuerungseinstellungen von IBM Cloud® für einen entsprechenden privaten REST-API-Endpunkt anpassen. Weitere Informationen finden Sie unter Metriken mithilfe von Prometheus Remote Write erfassen.

Exportieren von SAP-Variablen als Bash-Variablen

Verwenden Sie den folgenden Befehl, um SAP-Variablen als Bash-Variablen zu exportieren.

export sap_monitoring_nr=<sap_monitoring_nr>
export sap_hana_ip=<sap_hana_ip>
export sap_ascs_ip=<sap_ascs_ip>
export sap_app_server_ip_01=<sap_app_server_ip_01>
export sap_app_server_port_01=<sap_app_server_port_01>
export sap_ascs_http_port=<sap_ascs_http_port>
export sap_hana_http_port=<sap_hana_http_port>
export sap_hana_sql_systemdb_port=<sap_hana_sql_systemdb_port>
export sap_hana_sql_systemdb_user=<sap_hana_sql_systemdb_user>
export sap_hana_sql_systemdb_password=<sap_hana_sql_systemdb_password>
export ibmcloud_monitoring_instance_url=<ibmcloud_monitoring_instance_url>
export ibmcloud_monitoring_authorization_credentials=<ibmcloud_monitoring_authorization_credentials>

Überprüfung der Konnektivität für den Datenbankport und die Ports der SAP-Instanz

Installieren Sie das Tool netcat mit dem folgenden Befehl.

sudo zypper install netcat

Verwenden Sie netcat, um die Konnektivität zum Datenbankport und zu den SAP-Instanzports auf dem Überwachungshost zu überprüfen.

nc –vz ${sap_hana_ip} ${sap_hana_sql_systemdb_port}

Überprüfen Sie die Konnektivität vom SAP HANA-Datenbankserver zum HTTP-Port des sapstartsrv-Webservice auf dem SAP HANA-Server.

nc –vz ${sap_hana_ip} ${sap_hana_http_port}

Überprüfen Sie die Konnektivität vom ASCS-Server SAP zum Port HTTP des sapstartsrv-Webservice des ASCS auf dem ASCS-Server SAP.

nc –vz ${sap_ascs_ip} ${sap_ascs_http_port}

Überprüfen Sie die Konnektivität von der IP-Adresse des ersten SAP (primären) Anwendungsservers zum HTTP-Port des sapstartsrv-Webservice auf dem ersten Anwendungsserver.

nc –vz ${sap_app_server_ip_01} ${sap_app_server_port_01}

Überprüfung des Status der SLES-Betriebssystem-Repositorys

Stellen Sie sicher, dass die entsprechenden SLES OS-Repositorys mit dem folgenden Befehl aktiviert sind.

SLE-Module-SAP-Applications15-SP5-Updates
SLE-Module-Packagehub-Subpackages15-SP5-Pool

Wenn die Repositorys nicht aktiviert sind, verwenden Sie die folgenden Befehle, um sie zu aktivieren.

sudo SUSEConnect -p sle-module-sap-applications/15.5/x86_64
sudo SUSEConnect -p PackageHub/15.5/x86_64

Wenn Sie diese Repositorys nicht aktivieren können, haben Sie die falsche Version des SLES-Betriebssystem-Images installiert.

Installation von SLES- Prometheus-Paketen

Führen Sie die folgenden Schritte aus, um SLES Prometheus-Pakete zu installieren.

  1. Aktualisieren Sie alle Betriebssystempakete auf die neueste Version. Starten Sie den Host bei Bedarf neu.

    sudo zypper update
    
  2. Installieren Sie die folgenden Prometheus-Pakete.

    sudo zypper install prometheus-sap_host_exporter
    
    sudo zypper install prometheus-hanadb_exporter
    
    sudo zypper install golang-github-prometheus-prometheus
    
  3. Erstellen Sie das Prometheus-Datenspeicherverzeichnis.

    sudo mkdir /opt/prometheus
    
  4. Ändern Sie die Benutzer- und Gruppen-IDs des Datenspeicherverzeichnisses Prometheus in den Benutzer Prometheus.

    sudo chown -R prometheus:prometheus /opt/prometheus
    
    sudo chmod u+rwx /opt/prometheus
    
  5. Kopieren Sie die Metrikdatei metrics.json in das Konfigurationsverzeichnis /etc/hanadb_exporter.

    sudo cp /usr/share/doc/packages/prometheus-hanadb_exporter/metrics.json  /etc/hanadb_exporter/metrics.json
    

Installation des Treibers SAP Python hdbcli

Führen Sie die folgenden Schritte aus, um den SAP Python-Treiber hdbcli zu installieren.

  1. Greifen Sie über die SAP S-Benutzerauthentifizierung auf das Download-Center von SAP zu.

  2. Rufen Sie den SAP HANA Python-Treiber ab, indem Sie den offiziellen SAP HANA-Client herunterladen. Weitere Informationen finden Sie unter "Installieren des SAP HANA-Clients ".

  3. Installieren Sie den SAP Python-Treiber hdbcli wie unter "Installation des Python-Treibers" beschrieben.

  4. Wählen Sie das folgende SAP HANA-Kundenpaket mit den aktuellen <version> und <patch>.

    SUPPORT PACKAGES & PATCHES - SAP HANA PLATFORM EDITION/ - SAP HANA PLATFORM EDITION 2.0/ - SAP HANA CLIENT 2.0 - LINUX ON X86_64 64BIT - IMDB_CLIENT20_<version>_<patch>-80002082.SAR
    
  5. Laden Sie das SAPCAR_*.EXE-Paket aus dem SAP-Download-Center herunter.

  6. Kopieren Sie die beiden Dateien SAPCAR_*.EXE und IMDB_CLIENTXXX.SAR in ein beliebiges Verzeichnis auf dem Überwachungshost.

  7. Führen Sie als Root-Benutzer den folgenden Befehl aus.

    chmod 755 SAPCAR_*.EXE
    
  8. Extrahieren Sie den SAP HANA-Client aus der SAR-Datei mit SAPCAR.

    ./SAPCAR_*.EXE -xvf IMDB_CLIENT20*.SAR
    

    Der Dateiname SAPCAR_*.EXE ist eine binäre Linux-Datei.

  9. Verwenden Sie hdbinst, um den SAP HANA-Client zu installieren.

    cd SAP_HANA_CLIENT
    
    ./hdbinst
    
  10. Geben Sie den Installationspfad ein: [/usr/sap/hdbclient]: /usr/sap/hdbclient.

  11. Installieren Sie das erforderliche Rohrpaket für Python 3.x.

    sudo zypper install python3-pip
    
  12. Installieren Sie den Treiber SAP HANA Python.

    pip install /usr/sap/hdbclient/hdbcli-*.tar.gz
    

Erstellen des Schlüssels hdbuserstore

Verwenden Sie die folgenden Schritte, um den Schlüssel hdbuserstore zu erstellen.

  1. Erstellen Sie den gespeicherten Benutzerschlüssel mit demselben Python-Benutzer, der den hanadb_exporter ausführt. Verwenden Sie den SQL-Benutzer ReadOnly als <sap_hana_sql_systemdb_user>.

    /usr/sap/hdbclient/hdbuserstore SET MONITORING-${sap_monitoring_nr}-KEY \
    "${sap_hana_ip}:${sap_hana_sql_systemdb_port}@SYSTEMDB" \
    ${sap_hana_sql_systemdb_user} ${sap_hana_sql_systemdb_password}
    

    Weitere Informationen finden Sie unter SAP HANA User Store(hdbuserstore ) und hdbuserstore Commands.

    Für die nächsten Schritte wird die userkey zur Konfigurationsdatei für den hanadb_exporter als "userkey": "MONITORING-<sap_monitoring_nr>-KEY" hinzugefügt.

  2. Überprüfen Sie, ob Ihr Schlüssel erfolgreich erstellt wurde, indem Sie alle Schlüssel auflisten.

    /usr/sap/hdbclient/hdbuserstore list
    
  3. Um nur Ihren Schlüssel aufzulisten, verwenden Sie den folgenden Befehl.

    /usr/sap/hdbclient/hdbuserstore list MONITORING-${sap_monitoring_nr}-KEY
    

Hanadb_exporter konfigurieren und den Daemon aktivieren

Führen Sie die folgenden Schritte aus, um den hanadb_exporter zu konfigurieren und den Daemon zu aktivieren.

Die hanadb_exporter sammelt Metriken aus der SAP HANA-Datenbank. Alle Metriken des Datenbank-Mandanten SYSTEMDB werden über Prometheus an den Überwachungs-Aufnahme-Endpunkt weitergeleitet.

Das GitHub-Repository und die Originaldokumentation finden Sie auf den folgenden Websites.

Die Konfiguration besteht aus zwei Konfigurationsdateien:

  • metrics.json- enthält alle SQL-Anweisungen für die Abfrage der SAP HANA-Datenbank
  • config.json enthält sap_hana_ip, sap_hana_sql_systemdb_port und hdbuserkey

Um zu vermeiden, dass Administratorrechte für die Datenbank erforderlich sind, verwenden Sie den SQL-Benutzer ReadOnly aus dem hdbuserstore. Die spezifischen Parameter werden zur Konfigurationsdatei hinzugefügt, indem die Platzhalter <…> ersetzt werden.

  1. Erstellen Sie die Konfigurationsdatei als Benutzer root mit dem Dateinamen /etc/hanadb_exporter/config-<sap_monitoring_nr>-SQL.json, indem Sie den folgenden Befehl verwenden:

    {
       "listen_address": "0.0.0.0",
       "exposition_port": 5<sap_monitoring_nr>02,
       "multi_tenant": false,
       "_comment_multi_tenant": "true, if you want another 1000 metrics",
       "timeout": 30,
       "hana": {
         "host": "<sap_hana_ip>",
         "port": <sap_hana_sql_systemdb_port>,
         "userkey": "MONITORING-<sap_monitoring_nr>-KEY",
         "ssl": true,
         "ssl_validate_cert": false
         }
    }
    
  2. Verwenden Sie für den Wert des Parameters userkey den Namen hdbuserkey, den Sie zuvor erstellt haben.

Sie können die Schlüssel mit dem folgenden Befehl auflisten.

/usr/sap/hdbclient/hdbuserstore list
  1. Ändern Sie die Berechtigungen der Konfigurationsdateien so, dass nur der Root-Benutzer sie lesen kann.

    chmod 600 /etc/hanadb_exporter/config*
    
  2. Bevor Sie die Konfiguration von sap_host_exporters für systemd service definieren, testen Sie die Exporter manuell, indem Sie den folgenden Befehl verwenden.

    hanadb_exporter -c /etc/hanadb_exporter/config-${sap_monitoring_nr}-SQL.json -m /etc/hanadb_exporter/metrics.json
    
  3. Der Prozess blockiert ein Terminal. Öffnen Sie daher ein zweites Terminal und überprüfen Sie, ob ein Exporteur die Metrik korrekt erfasst hat. Führen Sie den folgenden cURL-Befehl aus:

    curl http://localhost:5${sap_monitoring_nr}02/metrics
    

Wenn Sie die Metriken sehen, sollten Sie auch eine Statusmeldung sehen. Wenn die Metriken korrekt aufgeführt sind, beenden Sie den Exportvorgang.

Konfigurieren Sie die systemd-Anwendung für hanadb_exporter.

Die Konfigurationsdatei systemd für hanadb_exporter ist im Installationspaket enthalten. Es sind keine Änderungen an dieser Konfigurationsdatei erforderlich. Der systemd-Dienst kann jeden Prozess mit dem Konfigurationsnamen (ohne die JSON-Erweiterung als Dateiname) starten.

  1. Verwenden Sie die folgenden Befehle, um den Systemdienst für hanadb_exporter zu aktivieren.

    sudo systemctl start prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
    sudo systemctl enable prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
  2. Führen Sie den folgenden Befehl aus, um den Status von hanadb_exporter anzuzeigen.

    sudo systemctl status prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    

Konfigurieren des sap_host_exporter und Aktivieren des Daemons

Verwenden Sie die folgenden Informationen, um den sap_host_exporter zu konfigurieren und den Daemon zu aktivieren.

Prometheus sap_host_exporter verwendet das zustandslose HTTP-Protokoll, um Metriken aus den SAP-Systeminstanzen zu sammeln. Weitere Informationen finden Sie im offiziellen GitHub-Repository.

Die Exporteurkonfiguration von SAP enthält alle Parameter für die Verbindung und den Port HTTP. Beachten Sie, dass Sie für jede Verbindung eine separate Konfigurationsdatei erstellen müssen.

Erstellen Sie die Konfigurationsdateien im Verzeichnis /etc/sap_host_exporter/. Benennen Sie die Konfigurationsdateien entsprechend der SAP-Instanz mit dem folgenden Befehl.

Verwenden Sie die folgenden Vorlagen für die Konfigurationsdateien.

  1. Erstellen Sie als Root-Benutzer die Konfigurationsdatei SAP HANA mit dem Dateinamen /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-HANA.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>03"
    log-level: "info"
    sap-control-url: "http://<sap_hana_ip>:<sap_hana_http_port>"
    
  2. Erstellen Sie als Root-Benutzer die ASCS-Konfigurationsdatei SAP mit dem Dateinamen /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-ASCS.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5${sap_monitoring_nr}04"
    log-level: "info"
    # ASCS instance
    sap-control-url: "http://<sap_ascs_ip>:<sap_ascs_http_port>"
    
  3. Erstellen Sie als Root-Benutzer die erste SAP-Anwendungsserver-Konfigurationsdatei (PAS) mit dem Namen /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-DI-01.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>05"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_01>:<sap_app_server_port_01>"
    
  4. Erstellen Sie als Root-Benutzer die zweite SAP-Anwendungsserver-Konfigurationsdatei (AAS) mit dem Namen /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-02.yaml.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>06"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_02>:<sap_app_server_port_02>"
    

    Wenn mehrere Anwendungsserver vorhanden sind, erstellen Sie weitere Konfigurationsdateien für jeden SAP-Anwendungsserver. Achten Sie darauf, die Nummer jeder Konfigurationsdatei zu erhöhen.

  5. Testen Sie jede sap_host_exporter-Konfiguration.

    sap_host_exporter -c /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-HANA.yaml
    
  6. Der Prozess blockiert das Terminal. Öffnen Sie daher ein zweites Terminal und führen Sie den folgenden Befehl aus.

    curl http://localhost:5<sap_monitoring_nr>03/metrics
    
  7. Überprüfen Sie, ob die metrischen Daten angezeigt werden. Wenn keine Messwerte angezeigt werden, sollten einige Fehlermeldungen angezeigt werden.

  8. Wiederholen Sie den gleichen Test mit anderen Exporteurkonfigurationen:

    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-ASCS.yaml
    
    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-01.yaml
    

Wenn alle Exporteure ordnungsgemäß funktionieren, fahren Sie mit der Konfiguration von systemd fort.

Konfigurieren Sie den systemd-Server für sap_host_exporter.

Es ist nur eine zusätzliche systemd-Konfigurationsdatei für alle sap_host_exporters erforderlich. Der systemd-Dienst kann jeden Prozess mit dem Konfigurationsnamen (ohne die JSON-Erweiterung als Dateiname) starten.

  1. Erstellen Sie eine Datei sap_host_exporter@.service als Benutzer root im Systemverzeichnis.

    /etc/systemd/system/sap_host_exporter@.service
    
  2. Fügen Sie den folgenden Inhalt ohne Änderungen hinzu.

    [Unit]
    Description=Prometheus sap_host_exporter for Netweaver clusters metrics
    After=network.target
    Documentation=https://github.com/SUSE/sap_host_exporter
    [Service]
    Type=simple
    Restart=always
    ExecStart=/usr/bin/sap_host_exporter --config /etc/sap_host_exporter/%i.yaml
    ExecReload=/bin/kill -HUP $MAINPID
    [Install]
    WantedBy=multi-user.target
    DefaultInstance=default
    
  3. Führen Sie den folgenden Befehl als Benutzer root aus, um die systemd-Konfiguration neu zu laden.

    systemctl daemon-reload
    
  4. Starten und aktivieren Sie als Benutzer root den Dienst für alle konfigurierten sap_host_exporters.

    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  5. Überprüfen Sie als Benutzer root den Status von systemd processes.

    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  6. Aktivieren Sie systemd autostart.

    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    

Nächste Schritte

Wenn die Einrichtung und Konfiguration des Überwachungshosts erfolgreich war, fahren Sie mit der Konfiguration der Weiterleitung der Metrik des Prometheus-Servers fort.