SAP Cloud Logging Service 入門
2023-12-23 17:13:43 Author: blogs.sap.com(查看原文) 阅读量:10 收藏

はじめに

本ブログはSAP Cloud Logging Service(CLS)に触れたことがないがBTPにはある程度慣れているエンジニア向けにCLSを紹介します。特に本ブログでは、CLSの機能のうちでもCloud Foundryに関する機能を中心に紹介します。

本ブログで紹介されている内容は2023/12/23時点の内容です。CLSは2023/12にリリースされたばかりの製品であるために、ブログで紹介される内容以外の機能などもブログリリース後に順次追加されている可能性があります。詳しくはWhat’s New for SAP Business Technology Platformなどをご確認ください。

SAP Cloud Logging Serviceとは

CLSはOpenSearchをベースに用意されたBTPのCloud FoundryやKyma向けのオブザーバビリティサービスです。OpeanSearchはElasticsearchからforkしたソフトウェアであるために、どちらもKibanaダッシュボードでログやメトリクスを監視できます。これはOpenSearchを利用するCLSもElasticsearchを利用するSAP Application Logging Service(ALS)と同様の見た目のダッシュボードを提供することを意味します。これにより、既存のALSユーザも特別なトレーニングなどなしにCLSのダッシュボードを操作可能です。

CLSはALSに比べ、多くの機能が追加されています。例えば、閾値を設定してトリガーさせる通知ランダムカットフォレスト(RCF)を利用した異常検知、ダッシュボードのカスタムやログの保管期間設定などの機能がCLSには追加されています。通知機能はSAP Alert Notifiation Serviceなどの他サービスとの連携も可能です。ログの保管期間は最大で90日間です。

Cloud Logging Serviceのはじめかた

CLSのサービスインスタンスを作成し、作成したインスタンスに対して各アプリケーションからログやメトリクスを転送できるように設定します。CLS操作のためのユーザ管理の観点から、サービスインスタンス作成時にはSAP Identity Authentication(IAS)を連携することが推奨されます。しかしIASを連携せずに(IdPなどを使ってCLSに対して外部ユーザを連携なしに)CLSを使用開始することも可能です。

作成したCLSのインスタンスにログを転送するには、ログをCLSのインスタンスのAPIに投げ込む必要があります。ログをCLSのAPIに転送するにはsyslog drainの仕組みを利用するか、CLSのAPIに対応するログライブラリ(Java / NodeJS)を使用します。

CLSのインスタンスにメトリクスを転送するには、Telegrafもしくは Spring Boot Actuatorを利用します。

Cloud Logging Serviceの導入手順の紹介

本ブログでは以下のパターンのCLS導入手順を紹介します。このパターンはALSからCLSに移行する際に最もシンプルに(少ない労力で)完結できるパターンです。

紹介パターン
  • IASを使用しないCLSのインスタンス

  • syslog drainを利用したアプリケーションログの転送

前提条件
  • CLSのEntitlementが作業対象のサブアカウントに割り当てられていること

  • Cloud Foundryが有効化され、ログを監視するアプリケーションが既にあること

  • cf cliを使用可能な環境があること

手順1. CLSインスタンスの作成

cf create-service cloud-logging <service-plan> <instance_name>を実行し、CLSのインスタンスを作成します。このときservice-planにはdevstandardおよびlargeの3つの選択肢があります。それぞれの詳細はdiscovery centerをご参照ください。一度インスタンス作成した後のプラン変更はできません。このコマンド実行時にログの保管期間(retention period)なども設定可能です。例えば、以下のように設定します。

cf create-service cls-trial standard cloud-logging -c '{
  "retention_period": 14,
  "backend": {
    "max_data_nodes": 10,
    "api_enabled": false
  },
  "ingest": {
    "max_instances": 10
  },
  "saml": {
    "enabled": false
  }
}'
手順2. サービスキーの作成

cf create-service-key <service-instance> <service-key>を実行し、サービスキーを生成します。作成したキーの内容はcf service-key <service-instance> <service-key>で確認します。例えば、以下のように実行します。

cf create-service-key cls-trial cls-key

cf service-key cls-trial cls-key
Getting key cls-key for service instance cls-trial as <logged-in user>...
{
   "backend-endpoint": "backend-sf-xxxxxxxx-416c-4524-b361-xxxxxxxxxxxx.cls-02....ondemand.com",
   "backend-password": "XXXXXXXXXXXXXX",
   "backend-username": "openDistro_a2d4be37-1f7f-4568-896b-xxxxxxxxxxxx",
   "ingest-endpoint": "ingest-sf-xxxxxxxx-416c-4524-b361-xxxxxxxxxxxx.cls-02....ondemand.com",
   "ingest-password": "XXXXXXXXXXXXXX",
   "ingest-username": "XXXXXXXXXXXXXX",
   "dashboards-endpoint": "dashboards-sf-xxxxxxxx-416c-4524-b361-xxxxxxxxxxxx.cls-02....ondemand.com",
   "dashboards-password": "XXXXXXXXXXXXXX",
   "dashboards-username": "openDistro_a2d4be37-1f7f-4568-896b-xxxxxxxxxxxx",
   "ingest-mtls-endpoint": "ingest-mtls-sf-xxxxxxxx-416c-4524-b361-xxxxxxxxxxxx.cls-02....ondemand.com",
   "ingest-mtls-cert": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----",
   "ingest-mtls-key": "-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----",
   "ingest-mtls-client-ca": "-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----",
}
手順3. syslog drainの設定

cf create-user-provided-service <user-provided-service-name> -l https://<ingest-username>:<ingest-password>@<ingest-endpoint>/cfsyslogを実行し、syslog drainよりログ転送できるように設定します。

手順4. syslog drainとアプリケーションの結び付け

cf bind-service <app-name> <service-instance>を実行し、作成したsyslog drainの設定を用いてアプリケーションよりログ転送できるようにします。

補足

syslog drainではなくライブラリからのログ転送を利用する場合、手順2でサービスキーを作成した代わりにアプリケーションに直接CLSのインスタンスをバインドします。これにより、アプリケーションの環境変数にendpointやuser name、passwordの情報が格納されるため、ログ転送ライブラリが作成したCLSインスタンスにログ転送可能です。

おわりに

本ブログではCLSの概要とCLSを利用する手順の一例を紹介しました。より詳細な情報は公式Helpページなどをご参照ください。本ブログでは大きく割愛しましたが、CLSはOpenTelemetoryを使って監視にオブザーバビリティを導入することも可能です。また、何かご質問があればSAPの日本語コミュニティページなどに投稿してください。

CLSとよいSAP開発ライフを!


文章来源: https://blogs.sap.com/2023/12/23/btp-cloud-logging-getting-start-ja/
如有侵权请联系:admin#unsafe.sh