sap-btp-cloud-logging について
SAP BTP の運用担当者向けに、Cloud Logging の設定とトラブルシューティングを案内するスキルです。複数のランタイムからのデータ取り込み、ダッシュボード、証明書、認証、復旧を扱います。
主な機能
- 01Cloud Logging インスタンスの設定
- 02ログ、メトリクス、トレースの取り込み
- 03保持期間とサービスプランの設定
- 04証明書と SAML の管理
- 05ダッシュボードとアラートの作成
- 06取り込みとアクセスの問題の調査
活用シーン
- 01Cloud Foundry または Kyma のログ取り込み設定
- 02OTLP または JSON API によるテレメトリ送信
- 03取り込みを中断しない証明書のローテーション
- 04ダッシュボードの設定とアラートの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-btp-cloud-loggingインストール後、Claude Code で/sap-btp-cloud-loggingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlreferences/cf-ingestion.mdconfiguration-parameters.mdjson-api-ingestion.mdkyma-ingestion.mdopentelemetry-ingestion.mdsaml-authentication.mdservice-plans.md詳細
SAP BTP Cloud Logging スキル
関連スキル
- sap-btp-cloud-platform:BTP サブアカウントのセットアップ、エンタイトルメント、ランタイムコンテキストに使用します
- sap-btp-cloud-identity-services:SAML/IAS 認証と信頼設定に使用します
- sap-btp-developer-guide:CAP および BTP アプリ全体のアプリケーション可観測性パターンに使用します
- sap-btp-best-practices:本番環境のモニタリングと運用ガバナンスに使用します
このスキルを使用する場合
Cloud Logging インスタンスの作成、サービスプランの選択、Cloud Foundry/Kyma/OpenTelemetry/JSON の取り込み設定、証明書のローテーション、OpenSearch ダッシュボードのセットアップ、SAML の有効化、ログ、メトリクス、トレース、アラートの欠落に関するトラブルシューティングを行う場合に、このスキルを使用します。
目次
- サービス概要
- サービスプラン
- クイックスタート
- 設定パラメーター
- データ取り込み方法
- 証明書管理
- 同梱リソース
- OpenSearch Dashboards
- セキュリティのベストプラクティス
- バックアップと復旧
- 一般的な問題とトラブルシューティング
- 参照ファイル
- ドキュメントへのリンク
- データ保護に関する通知
サービス概要
SAP Cloud Logging は、OpenSearch を基盤とするインスタンスベースの可観測性サービスです。SAP BTP Cloud Foundry、Kyma、Kubernetes、およびその他のランタイム環境からアプリケーションのログ、メトリクス、トレースを保存、可視化、分析します。
主な機能:
- OpenTelemetry(OTLP)または JSON API を介したログ、メトリクス、トレースの取り込み
- Cloud Foundry ランタイムからのアプリケーションログとリクエストログの取り込み
- データ保持期間の設定(1~90 日)
- OpenSearch Dashboards でのデータの可視化と分析
- カスタムダッシュボードとアラートの作成
- SAP Identity Authentication Service を介した SAML 認証
サービスプラン
| プラン | 容量 | 用途 | 自動スケーリング |
|---|---|---|---|
| dev | 7.5 GB 固定 | 評価のみ | いいえ |
| standard | 75 GB - 375 GB | 本番環境(100 ログ/秒) | はい |
| large | 750 GB - 3.75 TB | 本番環境(1000 ログ/秒) | はい |
重要: プランの更新はサポートされていません。移行するには、インスタンスを並行して稼働させる必要があります。
クイックスタート
前提条件
- SAP BTP グローバルアカウント
- Cloud Logging のエンタイトルメントがあるサブアカウント
- (推奨)SAML 認証用の SAP Cloud Identity Services テナント
SAP Build Code のユーザーへの注意: SAP Build Code を使用する場合は、SAP Build Code の初期セットアップ手順に従ってください。SAP Build Code の Cloud Logging は、評価目的のみで利用できます。
インスタンスの作成方法
ワークフローに応じて、次のいずれかの方法を選択してください。
オプション 1:SAP BTP Cockpit(UI)
- サブアカウント → インスタンスとサブスクリプション → 作成に移動します
cloud-loggingサービスとプランを選択します- パラメーターを設定します(「設定」セクションを参照)
- 資格情報用のサービスキーを作成します
オプション 2:Cloud Foundry CLI
cf create-service cloud-logging standard my-cls-instance -c '{
"retention_period": 14,
"backend": { "max_data_nodes": 10 },
"ingest": { "max_instances": 10 }
}'
# Wait for provisioning
cf services # Check "last operation" status
# Create service key
cf create-service-key my-cls-instance my-cls-key
cf service-key my-cls-instance my-cls-key
オプション 3:SAP BTP CLI
btp create services/instance \
--subaccount <SUBACCOUNT_ID> \
--name my-cls-instance \
--offering-name "cloud-logging" \
--plan-name standard \
--parameters '{"retention_period": 14}'
# Create binding
btp create services/binding \
--subaccount <SUBACCOUNT_ID> \
--name my-cls-binding \
--instance-name my-cls-instance
# Get credentials
btp get services/binding --name my-cls-binding --subaccount <SUBACCOUNT_ID>
オプション 4:SAP BTP Service Operator(Kubernetes/Kyma)
apiVersion: services.cloud.sap.com/v1
kind: ServiceInstance
metadata:
name: cloud-logging-instance
namespace: sap-cloud-logging-integration
spec:
serviceOfferingName: cloud-logging
servicePlanName: standard
parameters:
retentionPeriod: 14
---
apiVersion: services.cloud.sap.com/v1
kind: ServiceBinding
metadata:
name: cls-binding
namespace: sap-cloud-logging-integration
spec:
serviceInstanceName: cloud-logging-instance
secretName: sap-cloud-logging
設定パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
retention_period | int | 7 | データの保持期間(日数、1~90) |
backend.max_data_nodes | int | 10 | OpenSearch データノードの最大数(2~10) |
dashboards.custom_label | string | - | ダッシュボードの識別子(最大 20 文字) |
ingest.max_instances | int | 10 | オートスケーリング時の最大取り込みインスタンス数(2~10) |
ingest.min_instances | int | 2 | 最小取り込みインスタンス数(2~10) |
ingest_otlp.enabled | bool | false | OpenTelemetry Protocol による取り込みを有効にします |
feature_flags | array | [] | 実験的な機能(例:upgradeToOpenSearchV2) |
rotate_root_ca | bool | false | CA 証明書のローテーションを開始します |
saml | object | - | SAML 認証の設定 |
設定の全例
{
"retention_period": 14,
"feature_flags": ["upgradeToOpenSearchV2"],
"dashboards": {
"custom_label": "PROD-CLS"
},
"backend": {
"max_data_nodes": 10
},
"ingest": {
"max_instances": 10,
"min_instances": 2
},
"ingest_otlp": {
"enabled": true
},
"saml": {
"enabled": true,
"initiated": true,
"admin_group": "CLS-Admins",
"roles_key": "groups",
"idp": {
"metadata_url": "https://<tenant>.accounts.ondemand.com/saml2/metadata",
"entity_id": "https://<tenant>.accounts.ondemand.com"
},
"sp": {
"entity_id": "cloud-logging-<instance-id>"
}
}
}
データの取り込み方法
1. Cloud Foundry ランタイム
アプリケーションを Cloud Logging インスタンスに直接バインドします。
cf bind-service <app-name> <cls-instance>
インデックスパターン:
logs-cfsyslog-*- アプリケーションログmetrics-otel-v1-*- リソースメトリクス
mTLS を使用するユーザー提供サービスについては、references/cf-ingestion.md を参照してください。
2. Kyma ランタイム
telemetry モジュールと btp-operator モジュールを有効にする必要があります。
# Create namespace
kubectl create namespace sap-cloud-logging-integration
# Deploy ServiceInstance and ServiceBinding (see templates above)
kubectl apply -n sap-cloud-logging-integration -f cls-instance.yaml
インデックスパターン:
logs-json-istio-envoy-kyma*- Istio アクセスログlogs-json-kyma*- アプリケーションログ
3. OpenTelemetry API(OTLP)
ingest_otlp.enabled: true で有効にしてから、アプリケーションを設定します。
サービスキーの資格情報:
ingest-otlp-endpoint- gRPC エンドポイント(ホスト名:443)ingest-otlp-cert- クライアント証明書(PEM)ingest-otlp-key- 秘密鍵(PKCS#8)server-ca- サーバー CA 証明書
インデックスパターン:
logs-otel-v1-*- ログmetrics-otel-v1-*- メトリクスotel-v1-apm-span-*- トレースotel-v1-apm-service-map- サービスマップ
注: 対応しているのは gRPC プロトコルのみです。http/protobuf または http/json を変換するには、OpenTelemetry Collector を使用してください。
Java/Node.js の自動化ライブラリについては、references/opentelemetry-ingestion.md を参照してください。
4. JSON API
mTLS を使用して、HTTP 経由でログを送信します。
curl -X PUT "https://<ingest-endpoint>/v1/ingest" \
--cert client.crt --key client.key \
-H "Content-Type: application/json" \
-d '[{"msg": "log message", "date": "2025-01-15T10:30:00Z"}]'
インデックスパターン: logs-json-*
Fluent Bit の設定については、references/json-api-ingestion.md を参照してください。
証明書の管理
証明書の有効期間
- デフォルト:90 日
- 設定可能:バインディングパラメーターの
certValidityDaysで 1~180 日
ルート CA のローテーション(3 ステップの手順)
注意: この手順に従わない場合、データの取り込みが中断します。
- 新しい CA を作成: インスタンスを
"rotate_root_ca": trueに更新します - すべてのアプリケーションを再バインド: 各ログ送信方式に対して新しいバインディングを作成します
- 古い CA を削除: インスタンスを
"rotate_root_ca": falseに更新します
OpenSearch Dashboards
アクセス
- サービスバインディングまたはキーを作成します
- 資格情報に記載された
dashboards-urlに移動します - 認証します(SAML または基本認証)
事前構築済みダッシュボード
- Cloud Foundry アプリケーションのパフォーマンス
- リクエストのレイテンシとエラー率
- リソース使用率のメトリクス
カスタムダッシュボードとアラート
- 特定の分析ニーズに合わせてカスタムダッシュボードを作成します
- オブザーバビリティデータに基づいてアラートを設定します
- 高度なアラートワークフローのために、SAP Alert Notification for SAP BTP と連携します
インデックスパターンの概要
| ソース | インデックスパターン |
|---|---|
| CF ログ | logs-cfsyslog-* |
| CF メトリクス | metrics-otel-v1-* |
| OTLP ログ | logs-otel-v1-* |
| OTLP メトリクス | metrics-otel-v1-* |
| OTLP トレース | otel-v1-apm-span-* |
| JSON API | logs-json-* |
| Kyma アプリ | logs-json-kyma* |
| Kyma Istio | logs-json-istio-envoy-kyma* |
注: OpenSearch/Lucene の制限により、属性名には . ではなく @ を使用します。
セキュリティのベストプラクティス
セキュリティに関する推奨事項
- BTP-CLS-0001: Identity Authentication Service で SAML 認証を設定します(重大)
- BTP-CLS-0002: サービスキーを定期的にローテーションします。削除しても認証情報は自動的に無効になりません
- BTP-CLS-0003: Kyma ランタイムと JSON API のセキュリティ設定を確認します
注: 現在、SAP Cloud ALM に報告されるのは BTP-CLS-0001(重大レベル)のみです。その他の推奨事項は手動で確認する必要があります。
SAML 認証の設定
- SAP Identity Authentication で SAML 2.0 アプリケーションを作成します
- Identity Directory の「groups」属性を設定します
- Name ID Format を「E-mail」に設定します
- リクエスト署名を有効にします(推奨)
- インスタンス設定で
samlパラメーターを設定します admin_groupはall_accessロールにマッピングされます
詳しい設定については、references/saml-authentication.md を参照してください。
バックアップと復旧
自動バックアップ
バックアップ対象: OpenSearch の設定、ロール、ロールマッピング、テナント、グループ、セキュリティ設定、保存済みオブジェクト、ISM ポリシー バックアップ対象外: アラート
復元プロセス
コンポーネント BC-CP-CLS を指定して SAP サポートチケットを作成し、以下を含めます。
- ダッシュボード URL
- インスタンス設定
- プロビジョニング解除のタイムスタンプ
- 復元先の日付(最大 7 日間)
- 所有者情報
- ビジネス上の正当な理由
よくある問題とトラブルシューティング
インスタンスの作成に失敗する
- サブアカウントのエンタイトルメントを確認します
- リージョンでサービスプランが利用可能か確認します
- JSON 設定の構文を検証します
データ取り込みが機能しない
- バインドの認証情報が最新であることを確認します(証明書の有効期限を確認)
- CF の場合:再ステージングせずにバインドが有効になります
- OTLP の場合:
ingest_otlp.enabled: trueが設定されていることを確認します - 取り込みエンドポイントへのネットワーク接続を確認します
ダッシュボードへのアクセスに関する問題
- 有効にしている場合は、SAML の設定を確認します
- ユーザーが設定済みの管理者グループに属していることを確認します
- IdP メタデータ URL にアクセスできることを確認します
証明書の有効期限切れ
- デフォルトの有効期間:90 日
- 有効期限が切れる前に新しいバインドを作成します
- 広範囲に影響する場合は、ルート CA のローテーションを検討します
参考ファイル
詳しい情報については、同梱の参考ファイルを参照してください。
設定とセットアップ
references/service-plans.md(183 行)- サービスプランの比較と容量計画references/configuration-parameters.md(270 行)- 例を含むパラメーターの完全なリファレンス
取り込み方法
references/cf-ingestion.md(211 行)- Cloud Foundry のデータ取り込みの詳細references/kyma-ingestion.md(293 行)- Kyma ランタイムとの統合references/opentelemetry-ingestion.md(363 行)- Java/Node.js の自動化を含む OTLP のセットアップreferences/json-api-ingestion.md(435 行)- JSON API と Fluent Bit の設定
セキュリティと認証
references/saml-authentication.md(329 行)- Identity Authentication Service を使用した SAML の設定
ドキュメントへのリンク
公式ソース
- GitHub ドキュメント: https://github.com/SAP-docs/btp-cloud-logging
- SAP Help Portal: https://help.sap.com/docs/cloud-logging
- Discovery Center: https://discovery-center.cloud.sap/serviceCatalog/cloud-logging
- Capacity Estimator: Discovery Center で参照できます
同梱リソース
参考ドキュメント
references/cf-ingestion.md- Cloud Foundry ランタイムの取り込みガイドreferences/kyma-ingestion.md- Kyma/Cloud Foundry Kyma ランタイムの取り込みreferences/opentelemetry-ingestion.md- OpenTelemetry データの取り込みreferences/json-api-ingestion.md- JSON API の取り込み方法references/saml-authentication.md- SAML 認証の設定references/service-plans.md- サービスプランの比較と選択
関連ドキュメント
- OpenSearch: https://opensearch.org/docs/latest/
- SAP Cloud Identity Services: https://help.sap.com/docs/cloud-identity
- BTP Security Recommendations: https://help.sap.com/docs/btp/sap-btp-security-recommendations-c8a9bb59fe624f0981efa0eff2497d7d/sap-btp-security-recommendations
データ保護に関する注意事項
SAP Cloud Logging は、個人データや業務上重要なデータを対象として設計されていません。そのようなデータの送信を防ぐための対策を講じてください。データはリージョン内に保存されますが、物理的なデータセンターの所在地は、同一リージョン内の利用拠点と異なる場合があります。