
2023年12月にSAPからSAP Cloud Logging Service(CLS)がリリースされました。SAP Business Technology Platform (BTP)などで利用することができる、新たなログ収集・監視サービスです。
本記事ではCLSの概要、既存のログ収集サービスとの相違点、導入方法を中心に解説いたします。
SAP Cloud Logging Service(CLS)とは
サービス概要
CLSはOpenSearch をベースに構築された、SAP BTP Cloud Foundry、Kyma、Kubernetes およびその他のランタイム環境向けのインスタンス ベースのログ収集・監視サービスです。従来のログ収集サービスであるSAP Application Logging Service(ALS)とほぼ同様の使い方ができることに加え、ログ監視の機能が新たに追加されています。
主な機能
機能 | 説明 |
観測データの保存 | SAP BTPワークロードからの観測データを保存します。OpenTelemetry 形式の API を介してログ、メトリクス、トレースをインジェストします。JSON形式のAPI経由で観測データを取り込みます。Cloud Foundryから出力されるアプリケーションログとリクエストログを取り込みます。 |
リテンションの設定 | インジェストされた観測可能データを、設定可能な保持期間だけ保持します(注:ディスクがいっぱいになると、サイズベースのキュレーションによって上書きされます)。 |
データの表示、検索、分析 | 定義済みのダッシュボードを使用して、ウェブベースのユーザー・インターフェースで観測可能性データを表示、検索、フィルタリング、分析できます。 |
カスタムダッシュボードの作成 | カスタム・ダッシュボードを作成して永続化し、特定の要件に合わせて観測データを分析します。 |
通知の構成 | アプリケーションの観測データからカスタマイズされた通知を構成します。 |
アクセス管理 | SAP IASを使用して、ユーザーとグループベースのアクセスを管理できます。 |
参考文献:What Is SAP Cloud Logging?
サービスプラン
主な機能 に記載したことは、いずれのプランでも利用可能です。
プラン | 説明 | ストレージ | 最低CU |
dev | テスト目的専用のインスタンス | ~7.5GB | 95 |
standard | 本番環境で使用するための自動スケーリング機能付きの標準サービス専用インスタンス | 75 GB~375 GB 自動拡張可 | 538 |
large | 本番環境で使用するための自動スケーリング機能付きの大規模サービス専用インスタンス | 7750 GB~3.75 TB 自動拡張可 | 2000 |
料金
キャパシティユニット1あたり EUR 1.30/月(2024年3月現在)
キャパシティユニット(CU)の考え方
サービス毎に定められた課金対象単位。内訳は計算能力(CPU、メモリー)やストレージ(SSD)など。
- devの場合:最低 95CU × EUR1.30 = EUR 123.50/月(20002.06円)
- standardの場合:最低 538CU × EUR1.30 = EUR 699.40/月(113274.82円)
- largeの場合:最低 2000CU × EUR1.30 = EUR 2,600.00/月(421096.00円)
※スペックの増減によって必要なCUは異なります(CU計算と月額料金は以下のサイトで確認)
※日本円は2024/03/15時点の為替レートをもとに換算したものです
キャパシティユニット計算表 SAP Discovery Center – 見積表
SAP Application Logging Service(ALS)との相違点
データ保管期間の拡大
ALSのデータ保管期間が最大7日間だったのに対し、CLSは最大90日間ログデータを保管することができます。
ログ監視機能の追加
CLSにはログの収集・分析だけでなく、ログデータの異常値を通知する機能が新たに追加されています。
Alerting:予め設定したしきい値に基づいて、異常値を検知して通知する機能
Anomaly detection:ランダムカットフォレスト(RCF)を利用した異常検知
■ 通知方法
通知先として指定できるツールは以下の通りです。
1. Amazon Chime
2. Slack
3. Custom webhook ※1
4. Email ※2
※1:サードパーティー製のwebhookのほか、SAP Alert Notifiation Serviceなどの他のSAPサービスとの連携も可能
※2:選択肢として表示はされるものの、こちらで実際に確認できたのはCustom webhook経由でのメール送信です。投稿時点(2024年3月)ではまだサポートされていない可能性があります(参考記事(SAPアカウントでのログインが必要))。
SAP Cloud Logging Service(CLS)の導入方法
全体の構成

本記事では既存のBTP内にCLSを追加し、インスタンス作成などの初期設定を行いアプリケーションのログをCLSに取り込む手順をご紹介します。
サービス追加
①BTP Cockpitにアクセスし、SubAccount>Entitlementsから[Edit]ボタン、[Add Service Plans]を押下


②Add Service PlansのダイアログからCloud Loggingを選択し、利用するプランを選んでサービス追加

③サービスが追加されていることを確認

インスタンス作成
作成方法は複数存在しますが、本記事ではBTP Cockpitを使った作成方法をご紹介します(参考記事)。
①BTP CockpitにてSub account>Service>Instances and Subscriptionsにアクセスし[Create]を押下

②必要事項を入力して[Next]を押下
・Service:「Cloud Logging」を選択
・自動入力された項目はそのまま
・課金発生の注意書き(I understand that…)に同意のチェック
・Instance Nameに任意の名前を入力

③各種パラメータを設定し、[Next]を押下 ※ パラメータの詳細はこちらの記事を参照

④プレビューの内容を確認し[Create]を押下

⑤上図:インスタンス作成中 下図:インスタンス作成完了


サービスキー作成
①作成したCLSのインスタンスの詳細を開き、Service Keysの[Create]を押下

②任意のサービスキー名を入力して[Create]を押下

③上図:インスタンス作成中 下図:インスタンス作成完了


④[View]を押下して生成されたサービスキーをダウンロードしておく


アプリケーションの紐づけ
syslog drainの設定
①BTP CockpitにてSpace>Services>Instancesにアクセスし、[Create]>[User-Provided Service Instance]を押下

②必要事項に次の通り入力して[Create]を押下
Instance Name:任意の名称
System Logs Drain URL:https://[ingest-username]:[ingest-password]@[ingest-endpoint]/cfsyslog
※いずれの値もあらかじめダウンロードしたサービスキーから取得することができます
Configure instance parameters:設定任意(今回は設定せずに続行)

③作成完了

syslog drainとアプリケーションの結び付け
①BTP CockpitにてSpace>Services>Instancesにアクセスし、「インスタンス作成」の項で作成したサービスインスタンスの[Create Binding]を押下

②バインドしたいアプリケーションを選択し、[Create]を押下

③上図:インスタンス作成中 下図:インスタンス作成完了


【補足】アプリケーションのデプロイ時にバインドがクリアされてしまう場合
対象アプリケーションのmta.yamlにCLSのインスタンス情報を追記することで自動リバインドさせることが可能。
mta.yaml
- name: startprj-cloud-logging-service
type: org.cloudfoundry.managed-service
parameters:
service-name: cls-test // 設定したインスタンス名
service: cloud-logging // サービス技術名(後述)
service-plan: dev // CLSのプラン名(dev/standard/large)
※ サービス技術名の確認方法
BTP Cockpitにて対象のインスタンスの詳細表示より「Service Technical Name(サービスの技術名)」の記載を確認。

OpenSearchへのアクセス
①BTP CockpitよりSpace>Service>Instancesにアクセスし、作成したCloud Loggingのインスタンスを押下

②あらかじめダウンロードしたサービスキーに記載されているdashboards-username、dashboards-passwordを使用してログイン

③利用するテナントを選択する
※選択後も画面右上のユーザアイコンからいつでも切り替えが可能。
グローバル:すべての OpenSearch Dashboards ユーザー間で共有されるテナント
プライベート:各ユーザー専用で、共有不可のテナント。新規での探索作業向き。
カスタム:事前に用意したカスタムテナントの中から選択

④ダッシュボードを確認した場合は左のメニューバーから[Dashboard]を押下

⑤事前に用意されたダッシュボードが一覧表示されている。確認したい時は各タイトルを押下。[Create dashboard]からカスタム作成することも可能。

例:Requests and Logsのダッシュボードを参照した場合

SAP Cloud Logging Service(CLS)を使ってみた感想
ALSに不足していた機能が拡張・追加されている
ALSは長年利用されてきたサービスではありますが、ログデータを最大7日間しか保管できないという機能制限がありました。そのため8日以上のログデータを保管したい場合は別サービスと組み合わせてデータ保持の仕組みを開発する必要がありましたが、後継サービスのCLSでは最大90日間と保管期間が拡張されています。ダッシュボードはALSとほぼ同様のインターフェースのため、ALSを利用しているユーザでも移行しやすいサービスです。
またALSにはなかったログ監視の機能も追加されているため、これまでログ監視を別サービスで代用したいた場合にCLSに一本化することができます。
実装次第でメトリクス監視もできる
TelegrafやSpring Boot Actuatorを利用したアプリケーションと紐づけることで、メトリクスデータ(Heap、ガベージコレクション頻度など)を収集してCLSの監視対象にすることも可能です。
現時点では監視対象にできないものも
例えばSAP Alert Notifiation Serviceで検知したシステム異常をCLSに連携するような仕組みは、現時点ではサポートされていないようです(CLSで検知した異常をAlert Notifiation Serviceへ連携することは可能)。今後のアップデートでBTPのシステムログも含めたデータを一元的に管理できるサービスになることを期待します。
最後に
いかがでしたでしょうか?本記事では新サービス SAP Cloud Logging Serviceの機能概要と導入方法について紹介させていただきました。
リリースされたばかりのサービスという事もあり、公式ヘルプの記載もまだ十分ではなかったため、本記事が導入を検討されている方の参考になれば幸いです。
投稿者プロフィール

- 2015年入社。会計管理システムやBIシステムのパッケージ開発を経て、現在はWebのスクラッチ案件で開発リーダーを担当しています。