mcpField
S
sap-btp-cloud-logging

sap-btp-cloud-logging

github.com/secondsky云与 DevOps480868 次安装3 周前更新
代码仓库

关于 sap-btp-cloud-logging

面向 SAP BTP 运维人员的 Cloud Logging 配置与排障技能,涵盖多种运行时的数据接入、仪表板、证书、身份验证和恢复流程。

主要功能

  1. 01配置 Cloud Logging 实例
  2. 02接入日志、指标和跟踪数据
  3. 03设置保留期限与服务计划
  4. 04管理证书和 SAML
  5. 05创建仪表板与告警
  6. 06排查数据接入和访问问题

适用场景

  1. 01配置 Cloud Foundry 或 Kyma 日志接入
  2. 02通过 OTLP 或 JSON API 发送遥测数据
  3. 03在不中断接入的情况下轮换证书
  4. 04设置仪表板并调查告警

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-cloud-logging

安装后在 Claude Code 中输入/sap-btp-cloud-logging确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
agents/
openai.yaml
references/
cf-ingestion.md
configuration-parameters.md
json-api-ingestion.md
kyma-ingestion.md
opentelemetry-ingestion.md
saml-authentication.md
service-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仅供评估否
standard75 GB - 375 GB生产环境(100 条日志/秒)是
large750 GB - 3.75 TB生产环境(1000 条日志/秒)是

**重要提示:**不支持更新计划。迁移需要同时运行多个实例。


快速入门

先决条件
  1. SAP BTP 全局账户
  2. 已获得 Cloud Logging 权益的子账户
  3. (推荐)用于 SAML 身份验证的 SAP Cloud Identity Services 租户

SAP Build Code 用户须知:如果使用 SAP Build Code,请改为遵循 SAP Build Code 初始设置说明。SAP Build Code 中的 Cloud Logging 仅供评估之用。

实例创建选项

根据你的工作流选择一种方法:

选项 1:SAP BTP Cockpit(UI)

  1. 前往子账户 → 实例和订阅 → 创建
  2. 选择 cloud-logging 服务和计划
  3. 配置参数(参见“配置”部分)
  4. 创建服务密钥以获取凭据

选项 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_periodint7数据保留天数(1-90)
backend.max_data_nodesint10OpenSearch 数据节点数上限(2-10)
dashboards.custom_labelstring-仪表板标识符(最多 20 个字符)
ingest.max_instancesint10自动扩缩的摄取实例数上限(2-10)
ingest.min_instancesint2摄取实例数下限(2-10)
ingest_otlp.enabledboolfalse启用 OpenTelemetry Protocol 摄取
feature_flagsarray[]实验性功能(例如,upgradeToOpenSearchV2)
rotate_root_caboolfalse触发 CA 证书轮换
samlobject-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:**不遵循此流程会导致摄取中断。

  1. **创建新 CA:**使用 "rotate_root_ca": true 更新实例
  2. **重新绑定所有应用:**为每种日志发送机制创建新绑定
  3. **删除旧 CA:**使用 "rotate_root_ca": false 更新实例

OpenSearch Dashboards

访问
  1. 创建服务绑定/密钥
  2. 前往凭据中的 dashboards-url
  3. 进行身份验证(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 APIlogs-json-*
Kyma 应用logs-json-kyma*
Kyma Istiologs-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 身份验证设置
  1. 在 SAP Identity Authentication 中创建 SAML 2.0 应用程序
  2. 配置来自 Identity Directory 的 "groups" 属性
  3. 将 Name ID Format 设置为 "E-mail"
  4. 启用请求签名(推荐)
  5. 在实例配置中配置 saml 参数
  6. admin_group 映射到 all_access 角色

详细设置请参阅 references/saml-authentication.md。


备份与恢复

自动备份

已备份: OpenSearch 设置、角色、角色映射、租户、组、安全配置、已保存的对象、ISM 策略 未备份: 警报

恢复流程

创建 SAP 支持工单,并将组件设为 BC-CP-CLS,同时提供:

  1. 仪表板 URL
  2. 实例配置
  3. 取消配置的时间戳
  4. 目标恢复日期(最多 7 天)
  5. 所有者信息
  6. 业务理由

常见问题与故障排除

实例创建失败
  • 验证子账户中的授权
  • 检查区域内服务计划的可用性
  • 验证 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 自动化配置 OTLP
  • references/json-api-ingestion.md(435 行)- JSON API 和 Fluent Bit 配置
安全与身份验证
  • references/saml-authentication.md(329 行)- 使用 Identity Authentication Service 配置 SAML

文档链接

官方来源

随附资源

参考文档
  • 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 - 服务计划比较与选择
相关文档

数据保护声明

SAP Cloud Logging 并非为个人或业务关键数据而设计。请采取措施,防止传输此类数据。数据会按区域存储,但同一区域内的物理数据中心位置可能与服务使用地点不同。

评论

支持 Markdown