关于 sap-btp-cloud-logging
面向 SAP BTP 运维人员的 Cloud Logging 配置与排障技能,涵盖多种运行时的数据接入、仪表板、证书、身份验证和恢复流程。
主要功能
- 01配置 Cloud Logging 实例
- 02接入日志、指标和跟踪数据
- 03设置保留期限与服务计划
- 04管理证书和 SAML
- 05创建仪表板与告警
- 06排查数据接入和访问问题
适用场景
- 01配置 Cloud Foundry 或 Kyma 日志接入
- 02通过 OTLP 或 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,或排查缺失的日志、指标、跟踪记录或告警时,请使用此技能。
目录
服务概览
SAP Cloud Logging 是一项基于实例的可观测性服务,构建于 OpenSearch 之上,可存储、可视化和分析来自 SAP BTP Cloud Foundry、Kyma、Kubernetes 及其他运行时环境的应用日志、指标和跟踪记录。
主要功能:
- 通过 OpenTelemetry(OTLP)或 JSON API 接入日志、指标和跟踪记录
- 接入 Cloud Foundry 运行时中的应用日志和请求日志
- 配置数据保留期限(1-90 天)
- 在 OpenSearch 仪表板中可视化和分析数据
- 创建自定义仪表板和告警
- 通过 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 协议。使用 OpenTelemetry Collector 将 http/protobuf 或 http/json 转换为 gRPC。
有关 Java/Node.js 自动化库,请参见 references/opentelemetry-ingestion.md。
4. JSON API
通过 HTTP 和 mTLS 发送日志:
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 轮换(三步流程)
**CAUTION:**不遵循此流程会导致摄取中断。
- **创建新 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 安全配置
注意: 目前只有 BTP-CLS-0001(严重级别)会报告给 SAP Cloud ALM。其他建议必须手动验证。
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 策略 未备份: 警报
恢复流程
创建 SAP 支持工单,并将组件设为 BC-CP-CLS,同时提供:
- 仪表板 URL
- 实例配置
- 取消配置的时间戳
- 目标恢复日期(最多 7 天)
- 所有者信息
- 业务理由
常见问题与故障排除
实例创建失败
- 验证子账户中的授权
- 检查区域内服务计划的可用性
- 验证 JSON 配置语法
数据摄取无法正常工作
- 确认绑定凭据仍然有效(检查证书到期时间)
- 对于 CF:绑定无需重新暂存即可生效
- 对于 OTLP:确保
ingest_otlp.enabled: true - 检查与摄取端点的网络连接
仪表板访问问题
- 如果启用了 SAML,请验证 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 自动化配置 OTLPreferences/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
- 容量估算器: 可在 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 安全建议: https://help.sap.com/docs/btp/sap-btp-security-recommendations-c8a9bb59fe624f0981efa0eff2497d7d/sap-btp-security-recommendations
数据保护声明
SAP Cloud Logging 并非为个人或业务关键数据而设计。请采取措施,防止传输此类数据。数据会按区域存储,但同一区域内的物理数据中心位置可能与服务使用地点不同。