IBM Cloud Docs
監視ホストの設定と構成

監視ホストの設定と構成

監視エージェントは、 SAP システムからメトリクスを収集し、それを監視インスタンスのダッシュボードに転送します。

監視エージェント用にVPC仮想サーバーインスタンスホストをデプロイする

Prometheus のエクスポーターを使用して、メトリクスを収集します。 収集メトリクスに関するセクションでは、メトリクス、ラベル、および監視エージェントの詳細について説明しています。

Prometheus エクスポーターは、 GitHub オープンソースプロジェクト である SAP HANA DBエクスポーター をベースとしています。

作業を始める前に、 IBM Cloud® のドキュメントで、 IBM Cloud® のUIを使用して監視ホストを作成するための 仮想サーバーインスタンスの作成について確認してください。

ホスト監視の考慮事項

モニタリングホストの設定は以下の通りです。

  • 監視ホストは、監視対象の SAP システムと同じ地域およびゾーンに配置する必要があります。
  • デプロイ可能なアーキテクチャ(DA)に対応する正しいリソースグループを選択していることを確認してください。
  • ibm-sles-15-5-amd64-sap-applications-<version> のイメージを展開する必要があります。 SUSE Linux Enterprise Server 15 SP5 for SAP Applications ( AMD64 )- 2コアの最小サイズで展開してください。
  • SSH 鍵の管理に記載されているように、適切な SSH 鍵を追加します。

ACLとセキュリティグループの検証

監視エージェントホストを作成したら 、ACLとセキュリティグループの設定が正しいことを確認します。

監視ホストの国ロケーション以外の取り込みエンドポイントを使用している場合は、対応するプライベートREST APIエンドポイントの IBM Cloud® ネットワークACL設定を調整する必要があります。 詳しくは、 Prometheus リモート書き込みを使用したメトリックの収集を参照してください。

SAP 変数をbash変数としてエクスポートする

SAP の変数をBashの変数としてエクスポートするには、次のコマンドを使用します。

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>

データベースポートと SAP インスタンスポートの接続性を確認する

次のコマンドを使用して、netcatツールをインストールします。

sudo zypper install netcat

netcat を使用して、監視対象ホスト上のデータベースポートと SAP インスタンスポートへの接続性を確認します。

nc –vz ${sap_hana_ip} ${sap_hana_sql_systemdb_port}

SAP HANA データベースサーバーから SAP HANA サーバー上のsapstartsrvウェブサービスの HTTP ポートへの接続を確認します。

nc –vz ${sap_hana_ip} ${sap_hana_http_port}

SAP のASCSサーバーから、 SAP のASCSサーバー上のsapstartsrvウェブサービスの HTTP ポートへの接続を確認します。

nc –vz ${sap_ascs_ip} ${sap_ascs_http_port}

最初のアプリケーションサーバーの HTTP ポートへの最初の SAP (プライマリ)アプリケーションサーバーのIPアドレスからの接続を確認します。

nc –vz ${sap_app_server_ip_01} ${sap_app_server_port_01}

SLESオペレーティングシステムのレポジトリのステータスを確認する

次のコマンドを使用して、適切な SLES OS リポジトリが有効になっていることを確認してください。

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

リポジトリが有効になっていない場合は、次のコマンドを使用して有効にしてください。

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

これらのリポジトリをアクティブ化できない場合は、誤ったバージョンの SLES オペレーティングシステムイメージをインストールしています。

SLES Prometheus パッケージのインストール

SLES Prometheus パッケージをインストールするには、以下の手順に従います。

  1. すべてのオペレーティングシステムのパッケージを最新バージョンに更新します。 必要に応じてホストを再起動します。

    sudo zypper update
    
  2. 以下の Prometheus パッケージをインストールします。

    sudo zypper install prometheus-sap_host_exporter
    
    sudo zypper install prometheus-hanadb_exporter
    
    sudo zypper install golang-github-prometheus-prometheus
    
  3. Prometheus データ保存ディレクトリを作成します。

    sudo mkdir /opt/prometheus
    
  4. Prometheus データ保存ディレクトリのユーザーおよびグループIDを、 Prometheus ユーザーに変更します。

    sudo chown -R prometheus:prometheus /opt/prometheus
    
    sudo chmod u+rwx /opt/prometheus
    
  5. metrics.json というメトリックファイルを構成ディレクトリ /etc/hanadb_exporter にコピーします。

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

SAP Python ドライバ hdbcli のインストール

SAP Python ドライバー hdbcli をインストールするには、以下の手順に従ってください。

  1. SAP のSユーザー認証を使用して、 SAP のダウンロードセンターにアクセスしてください。

  2. SAP HANA Python ドライバーをダウンロードするには、公式の SAP HANA クライアントをダウンロードしてください。 より詳しい情報については 、「 SAP HANA クライアントのインストール」 を参照してください。

  3. SAP Python ドライバ hdbcli を「 Python ドライバのインストール」 の手順に従ってインストールします。

  4. 次のものを選んでください。 SAP HANA 現在の <version><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. SAP のダウンロードセンターから SAPCAR_*.EXE パッケージをダウンロードしてください。

  6. SAPCAR_*.EXEIMDB_CLIENTXXX.SAR の2つのファイルを監視対象ホスト上の任意のディレクトリにコピーします。

  7. ルートユーザーとして、以下のコマンドを実行してください。

    chmod 755 SAPCAR_*.EXE
    
  8. SAP HANA クライアントをSAPCARでSARファイルから抽出します。

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

    SAPCAR_*.EXE というファイル名は、 Linux バイナリファイルです。

  9. hdbinst を使用して、 SAP HANA クライアントをインストールします。

    cd SAP_HANA_CLIENT
    
    ./hdbinst
    
  10. インストールパスを入力してください: [/usr/sap/hdbclient]: /usr/sap/hdbclient

  11. Python 3.x 用に必要な pip パッケージをインストールします。

    sudo zypper install python3-pip
    
  12. SAP HANA Python ドライバーをインストールします。

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

hdbuserstoreキーの作成

hdbuserstore キーを作成するには、以下の手順に従ってください。

  1. hanadb_exporterを実行するのと同じ Python ユーザーで、保存されたユーザーキーを作成します。 ReadOnly のSQLユーザーを <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}
    

    詳細は、 SAP HANA User Store(hdbuserstore ) および hdbuserstore コマンドを参照してください。

    次のステップでは、 userkey をhanadb_exporterの設定ファイルに "userkey": "MONITORING-<sap_monitoring_nr>-KEY" として追加します。

  2. すべてのキーをリストアップして、キーが正しく作成されたことを確認します。

    /usr/sap/hdbclient/hdbuserstore list
    
  3. キーのみをリストアップするには、次のコマンドを使用します。

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

hanadb_exporterの設定とデーモンの起動

hanadb_exporterを設定し、デーモンを起動するには、以下の手順に従います。

hanadb_exporter は、 SAP HANA データベースからメトリクスを収集します。 データベーステナントSYSTEMDBのすべてのメトリクスは、 Prometheus を通じて監視取り込みエンドポイントに転送されます。

GitHub リポジトリおよびオリジナルのドキュメントは、以下のウェブサイトでご覧いただけます。

構成は2つの構成ファイルで構成されています

  • metrics.json- SAP HANA データベースへの問い合わせに必要なすべてのSQLステートメントを含んでいます
  • config.json sap_hana_ip、、および sap_hana_sql_systemdb_port hdbuserkey

データベース上で管理者権限を必要としないようにするには、hdbuserstoreから ReadOnly SQLユーザーを使用してください。 特定のパラメータは、プレースホルダを置き換えることで構成ファイルに追加されます。 <…>

  1. 次のコマンドを使用して、ファイル名を /etc/hanadb_exporter/config-<sap_monitoring_nr>-SQL.json として、ユーザーrootで構成ファイルを作成します

    {
       "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. userkey パラメータの値には、先に作成した hdbuserkey 名を使用します。

次のコマンドでキーをリストアップできます。

/usr/sap/hdbclient/hdbuserstore list
  1. A設定ファイルの権限を変更し、rootユーザーのみが読み取れるようにする。

    chmod 600 /etc/hanadb_exporter/config*
    
  2. systemd servicesap_host_exporters の構成を定義する前に、以下のコマンドを使用してエクスポーターを手動でテストしてください。

    hanadb_exporter -c /etc/hanadb_exporter/config-${sap_monitoring_nr}-SQL.json -m /etc/hanadb_exporter/metrics.json
    
  3. このプロセスでは1つの端末がブロックされているため、2つ目の端末を開き、輸出業者がメトリックを正しく収集していることを確認します。 以下の cURL コマンドを実行します。

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

メトリクスが表示されている場合は、ステータスメッセージも表示されているはずです。 メトリクスが正しく表示されている場合は、エクスポートプロセスを停止します。

hanadb_exporter 用にsystemdアプリケーションを設定します。

hanadb_exporter 用の構成ファイル systemd は、インストールパッケージに含まれています。 この構成ファイルの変更は必要ありません。 systemd サービスは、構成名(ファイル名としての JSON 拡張子なし)を持つ任意のプロセスを開始することができます。

  1. hanadb_exportersystemd サービスを有効にするには、以下のコマンドを使用します。

    sudo systemctl start prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
    sudo systemctl enable prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
  2. hanadb_exporter の実行状況を表示するには、以下のコマンドを実行します。

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

sap_host_exporterの設定とデーモンの起動

以下の情報を使用して、sap_host_exporterを設定し、デーモンを起動します。

Prometheus sap_host_exporter HTTP プロトコルを使用して、 SAP システムインスタンスからメトリクスを収集します。 詳細については 、 GitHub リポジトリの公式ページをご覧ください。

SAP エクスポーター構成には、接続と HTTP ポートのすべてのパラメータが含まれています。 接続ごとに個別の構成ファイルを作成する必要があることに注意してください。

/etc/sap_host_exporter/ ディレクトリに構成ファイルを作成します。 SAP のインスタンス名に従って、以下のコマンドを使用して構成ファイルに名前を付けます。

設定ファイルには以下のテンプレートを使用してください。

  1. rootユーザーとして、 SAP HANA という設定ファイルを /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. rootユーザーとして、 SAP というファイル名のASCS構成ファイルを作成します。ファイル名は /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. rootユーザーとして、 SAP アプリケーションサーバー(PAS)の最初の構成ファイルを作成します。ファイル名は /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. rootユーザーとして、2つ目の SAP アプリケーションサーバー(AAS)構成ファイルを作成します。ファイル名は /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>"
    

    複数のアプリケーションサーバーがある場合は、 SAP アプリケーションサーバーごとに、さらに構成ファイルを作成します。 各設定ファイルの番号を必ず増やしてください。

  5. sap_host_exporter の各設定をテストします。

    sap_host_exporter -c /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-HANA.yaml
    
  6. プロセスが端末をブロックしているので、2つ目の端末を開き、以下のコマンドを実行します。

    curl http://localhost:5<sap_monitoring_nr>03/metrics
    
  7. メートル法のデータが表示されていることを確認してください。 メトリクスが表示されない場合は、何らかのエラーメッセージが表示されるはずです。

  8. 他のエクスポーター構成で同じテストを繰り返します

    /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
    

すべてのエクスポーターが正常に動作している場合は、 systemd の設定を続行します。

sap_host_exporter 用に systemdサーバー を設定します。

すべての sap_host_exporters に必要となる追加の systemd 構成ファイルは1つだけです。 systemd サービスでは、構成名(ファイル名としてJSON拡張子なし)で任意のプロセスを開始できます。

  1. システムディレクトリに、rootユーザーとして sap_host_exporter@.service というファイルを作成します。

    /etc/systemd/system/sap_host_exporter@.service
    
  2. 以下の内容を変更せずに追加してください。

    [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. システムd構成を再読み込みするには、rootユーザーとして次のコマンドを実行します。

    systemctl daemon-reload
    
  4. ユーザーrootとして、すべての構成済みの 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. ユーザーrootとして、 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. 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
    

次のステップ

監視ホストの設定と構成が成功した場合は 、「 Prometheus サーバーのメトリック転送の設定」 に進みます。