跳转到内容
搜索文档

启用 IBM Cloud Logs

最后更新 查看 MarkdownAgent 设置

Cloudflare Logpush 支持通过仪表板或 API 将日志直接推送到 IBM Cloud Logs。

通过 Cloudflare 仪表板管理

  1. 在 Cloudflare 仪表板中,前往账户或域名(也称为 zone)级别的 Logpush(日志推送) 页面。

    账户级别:Go to Logpush ↗

    域名(也称为 zone)级别:Go to Logpush ↗

  2. 根据你的选择,可分别访问账户范围数据集zone 范围数据集

  3. 选择 Create a Logpush job(创建 Logpush 作业)

  1. Select a destination(选择目标) 中,选择 IBM Cloud Logs

  2. 输入以下目标信息:

  • HTTP Source Address(HTTP 源地址) - 例如,ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles
  • IBM API Key - 更多信息请参阅 IBM Cloud Logs 文档

输入目标详细信息后,选择 Continue(继续)

  1. 选择要推送到存储服务的数据集。

  2. 在下一步中,您需要配置 logpush 作业:

    • 输入 Job name(作业名称)
    • If logs match(如果日志匹配) 下,您可以选择要包含和/或从日志中排除的事件。请参阅 Filters 了解更多信息。并非所有数据集都提供此选项。
    • Send the following fields(发送以下字段) 中,您可以选择将所有日志推送到存储目标,或有选择地推送所需日志。
  3. Advanced Options(高级选项) 中,您可以:

    • 选择日志中时间戳字段的格式(RFC3339(默认)、UnixUnixNano)。
    • 为日志选择 采样率,或推送随机采样百分比的日志。
    • CVE-2021-44228 启用脱敏。此选项会将每次出现的 ${ 替换为 x{
  4. 完成 logpush 作业配置后,选择 Submit(提交)

通过 API 管理

要设置 IBM Cloud Logs 作业:

  1. 使用相应的端点 URL 和身份验证参数创建作业。
  2. 启用作业以开始推送日志。

1. 创建作业

要创建作业,请使用以下字段向 Logpush jobs 端点发送 POST 请求:

  • name(可选)- 使用您的域名作为作业名称。
  • output_options(可选)- 此参数用于定义所需的输出格式和结构。可配置字段如下:
    • output_type
    • timestamp_format
    • batch_prefix 和 batch_suffix
    • record_prefix 和 record_suffix
    • record_delimiter
  • destination_conf - 由 Instance ID、Region 和 IBM API Key 组成的日志目标,格式如下字符串。

ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>

  • max_upload_records(可选)- 每批日志行的最大数量。必须至少为 1,000 行或更多。请注意,无法指定每批日志行的最小数量。这意味着日志文件可能包含远少于指定数量的行。
  • max_upload_bytes(可选)- 一批日志的最大未压缩文件大小。根据 IBM 的限制,我们建议默认值为每次上传 2 MB,我们的系统将对此目标强制执行该限制。由于无法设置最小文件大小,日志文件可能小于指定的批次大小。
  • dataset - 您要接收的日志类别。请参阅 Datasets 了解支持的完整数据集列表。

使用 cURL 的请求示例:

Required API token permissions

At least one of the following token permissions is required:
  • Logs Write
Create Logpush jobbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/logpush/jobs" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "<DOMAIN_NAME>",
		"output_options": {
				"output_type": "ndjson",
				"timestamp_format": "rfc3339",
				"batch_prefix": "[",
				"batch_suffix": "]",
				"record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
				"record_suffix": "}}",
				"record_delimiter": ","
		},
		"destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
		"max_upload_bytes": 2000000,
		"dataset": "http_requests",
		"enabled": true
	}'

响应:

{
  "errors": [],
  "messages": [],
  "result": {
    "id": <JOB_ID>,
    "dataset": "http_requests",
    "kind": "",
    "max_upload_bytes": 2000000,
    "enabled": true,
    "name": "<DOMAIN_NAME>",
    "output_options": {
      "output_type": "ndjson",
      "timestamp_format": "rfc3339",
      "batch_prefix": "[",
      "batch_suffix": "]",
      "record_prefix": "{\"applicationName\":\"ibm-platform-log\",\"subsystemName\":\"internet-svcs:logpush\",\"text\":{",
      "record_suffix": "}}",
      "record_delimiter": ","
    },
    "destination_conf": "ibmcl://<INSTANCE_ID>.ingress.<REGION>.logs.cloud.ibm.com/logs/v1/singles?ibm_api_key=<IBM_API_KEY>",
    "last_complete": null,
    "last_error": null,
    "error_message": null
  },
  "success": true
}

请参阅 使用 cURL 管理 Logpush 以更新作业(包括启用和禁用)。

这篇文档对您有帮助吗?