SAP Cloud Loggingについて調べてみた

## はじめに
この記事は [SAP Advent Calendar 2023](https://adventar.org/calendars/8870) の 12月15日分の記事として執筆しています。

今回は、SAP Business Technology Platform (BTP) で最近リリースされた新サービスである「SAP Cloud Logging」について、SAP Help Portalに記載されている内容をザックリとまとめてみました。

正確な情報について知りたい場合は下記SAP Help Portalをご確認ください。

[SAP Help Portal - SAP Cloud Logging](https://help.sap.com/docs/cloud-logging?locale=en-US&version=Cloud "SAP Help Portal - SAP Cloud Logging")

BTPのロギングサービスとしては今まで「SAP Application Logging Service」がありましたが、それと何が違うのかについても簡単にまとめています。
## SAP Cloud Logging概要
「SAP Cloud Logging」はアプリケーションログ、メトリクス、トレースをSAP BTP Cloud Foundry、Kyma、Kubernetes、その他のランタイム環境から取得して、保存、ビジュアル化、分析してくれるインスタンスベースのサービスです。
「SAP Application Logging Service」もほぼ同様のサービスですが、SAP BTP Cloud FoundryとNeoで動作するので、動作環境は両サービスの違いの1つと言えます。
## 主な機能
SAP Help Portalでは、「SAP Cloud Logging」の主な機能として以下の6つが挙げられています。
>**Store observability data**
>Store observability data from SAP BTP workloads. Ingest logs, metrics, and traces via OpenTelemetry format API. Ingest observability data via JSON format API. Ingest application logs and request logs emitted by Cloud Foundry.
>
>**Configure retention**
>Persist the ingested observability data for a configurable retention period. Note: This is overruled by size-based curation when the disk runs full.
>
>**View, search, and analyze data**
>View, search, filter, and analyze observability data in a web-based user interface using predefined dashboards.
>
>**Create custom dashboards**
>Build and persist custom dashboards to analyze your observability data tailored to your specific requirements.
>
>**Configure notifications**
>Configure customized notifications derived from the observability data of your applications.
>
>**Manage access**
>Enable management of users and group-based access using SAP Identity Authentication Service.
[SAP Help Portal - SAP Cloud Logging](https://help.sap.com/docs/cloud-logging/cloud-logging/what-is-sap-cloud-logging?locale=en-US "SAP Help Portal - SAP Cloud Logging")

Webベースのダッシュボード上で様々なログやメトリクスを検索したり分析したりできるという基本的な機能については、「SAP Application Logging Service」とほぼ同様のようです。

個人的に注目したのは以下の3点です。
* Configure retention
* Configure notifications
* Manage access
### Configure retention
「SAP Cloud Logging」では、データの保持期間を1~90日間まで自由に設定できるようです。
>The time in days until data (see Ingest Observability Data) is deleted. Range is between 1 and 90. Defaults to 7. That deletion of ingested data can also happen due to size-based curation. Changing this parameter will only affect newly created indices.
[SAP Help Portal - SAP Cloud Logging](https://help.sap.com/docs/cloud-logging/cloud-logging/configuration-parameters?locale=en-US "SAP Help Portal - SAP Cloud Logging")

「SAP Application Logging Service」では、下記の通りデータの保持期間が最長で7日間でした。そのため、1週間以上前のログを見たい場合に不便だったのですが、「SAP Cloud Logging」ではその点が解消されていそうです。

>Exploit the retention period of up to 7 days which lets you do a post-mortem analysis.
[SAP Help Portal - Application Logging Service](https://help.sap.com/docs/application-logging-service/sap-application-logging-service/what-is-sap-application-logging-service?locale=en-US "SAP Help Portal - Application Logging Service")
### Configure notifications
「SAP Cloud Logging」では、サービスの機能としてアラート通知ができるようです。
「SAP Application Logging Service」にはそのような機能は無く、アラート通知させたい場合は他のサービスと組み合わせる必要があり少し不便でした。そのため、これは個人的に特に試してみたい機能の1つです。（[SAP Alert Notification service](https://help.sap.com/docs/alert-notification?locale=en-US)との兼ね合いも気になるところ。。）
### Manage access
「SAP Cloud Logging」では、「SAP Identity Authentication Service」を使用してユーザとグループベースのアクセス管理をするようです。詳しくは次の「サービス利用の前提条件」に記載します。
## サービス利用の前提条件
SAP Help Portalにはサービス利用の前提条件として、以下の記載があります。
>**Prerequisites**
>To create instances of SAP Cloud Logging, you must configure entitlements for SAP Cloud Logging, and integrate SAP Cloud Identity Services - Identity Authentication SAML 2.0 with SAP Cloud Logging.
[SAP Help Portal - SAP Cloud Logging](https://help.sap.com/docs/cloud-logging/cloud-logging/prerequisites?locale=en-US "SAP Help Portal - SAP Cloud Logging")

どうやら「SAP Cloud Logging」を利用する際は、「SAP Identity Authentication Service」との統合が必須のようです。一応、他のSAMLプロバイダとの統合も可能ではあるようですが、サポートやドキュメントは提供されないため、SAP社は「SAP Identity Authentication Service」の利用を推奨しています。（SAP ID Serviceも使えない...？）
「SAP Application Logging Service」には、このような前提条件はありませんでした。
## データの取込方法
「SAP Cloud Logging」では、アプリケーションログ、メトリクス、トレースといったデータの取込方法は主に2つあります。
### Runtime経由での取込
Cloud Foundry Runtime経由、もしくはKyma Runtime経由でのデータの取り込みがサポートされています。
例えば、Cloud Foundry Runtime経由の場合、アプリケーションを「SAP Cloud Logging」インスタンスにバインドすることでデータを取得することができます。
### OpenTelemetry API Endpoint経由での取込
サービスインスタンス作成時に構成パラメータで有効に設定すると、OpenTelemetry API Endpointが有効化されます。このEndpointを利用して、OpenTelemetry protocol (OTLP)を使用したOpenTelemetryデータを「SAP Cloud Logging」に取り込むことができます。

このようなAPI Endpoint経由でのデータの取り込みは、「SAP Application Logging Service」には無かった機能です。

>**What is OpenTelemetry?**
>OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. Crucially, OpenTelemetry is vendor- and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings. OpenTelemetry is a Cloud Native Computing Foundation (CNCF) project.
[OpenTelemetry - What is OpenTelemetry?](https://opentelemetry.io/docs/what-is-opentelemetry/ "What is OpenTelemetry?")
## まとめ
今回記載した内容を表でまとめてみました。「SAP Cloud Logging」は、基本的な機能については「SAP Application Logging Service」とほぼ同様に思われるものの、新サービスということもあり細かい部分はしっかりと強化されている印象です。

| | SAP Cloud Logging | SAP Application Logging Service|
|:-:|:-:|:-:|
|基本的な<br>機能| Webベースのダッシュボード上で様々なログやメトリクスを検索したり分析したりできる  |  Webベースのダッシュボード上で様々なログやメトリクスを検索したり分析したりできる |
| 動作環境 | SAP BTP Cloud Foundry, Kyma |  SAP BTP Cloud Foundry, Neo |
|  ログの<br>保持期間 | 1~90日間 |7日間   |
|  アラート<br>通知機能 | あり  | なし  |
|  前提条件 | 「SAP Identity Authentication Service」との統合  |  特に無し |
|  データの取込方法 | Runtime経由での取込<br>&<br>API Endpoint経由での取込  |  Runtime経由での取込 |

リリースされたばかりの新サービスのため、まだほとんど情報が無く、また実際にこのサービスに触れたことも無いので、機会があれば実際に触って使用感を確かめてみたいです。Trial環境でリリースされないかなあ。。（2023年12月現在、まだTrial環境では使えません。）