注意:

使用 Datadog 观测管道集成 Oracle Cloud Infrastructure 和 Datadog

简介

Oracle Cloud Infrastructure (OCI) 是受大型企业信赖的基础设施即服务 (IaaS) 和平台即服务 (PaaS)。它提供一系列全面的托管服务,包括托管、存储、网络、数据库等。

Oracle Cloud Observability and Management Platform 旨在与客户的偏好保持一致。许多国家采用了利用第三方观测工具的既定业务做法。我们的目标是确保与这些工具无缝集成,使我们的客户能够将现有投资与 OCI 结合使用。

根据 Datadog 的说法,他们的观测管道允许您收集、处理日志,并将日志从任何源路由到您拥有或管理的基础设施中的任何目标。

Datadog 可观察性管道

Observability Pipelines Worker 是在您的基础结构中运行的软件。它聚合并集中处理和路由数据。要将 OCI 日志摄取到 Datadog,Operservability Pipelines Worker 软件在 OCI 中的计算实例上运行。更具体地说,观察性管道工作人员将:

解决方案体系结构的高级表示形式,如下图中所示。

体系结构图

目标

先决条件

任务 1:配置要捕获的日志

Oracle Cloud Infrastructure Logging 服务是一个高度可扩展且完全托管的单一平台,适用于您的租户中的所有日志。OCI 日志记录可访问 Oracle Cloud Infrastructure 资源中的日志。日志是一种一流的 Oracle Cloud Infrastructure 资源,用于存储和捕获在给定上下文中收集的日志事件。日志组是存储在区间中的日志的集合。日志组是日志的逻辑容器。通过应用 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 策略或分组日志进行分析,使用日志组来组织和简化日志管理。

要开始,请为资源启用日志。服务为资源可用的不同类型的日志提供日志类别。例如,OCI 对象存储服务支持存储桶的以下日志类别:读取和写入访问事件。读取访问事件捕获下载事件,而写入访问事件捕获写入事件。每个服务可以具有不同的资源日志类别。

  1. 登录到 OCI 控制台,导航到观测和管理日志记录日志组

  2. 选择您的区间,单击创建日志组并输入以下信息。

    • 名称:输入 Datadog_log_group
    • 说明(可选):输入说明。
    • 标记(可选):输入标记。
  3. 单击创建可创建新日志组。

  4. 资源下,单击日志

  5. 根据需要单击创建定制日志启用服务日志。

    例如,要为 OCI 对象存储存储桶启用写入日志,请执行以下步骤:

    1. 单击启用服务日志

    2. 选择资源区间,然后在搜索服务中输入对象存储

    3. 单击启用日志,然后在资源中选择 OCI 对象存储存储桶名称。

    4. 日志类别中选择在任务 1.2 中创建的日志组 (Datadog_log_group) 和写入访问事件。(可选)输入 Datadog_bucket_write 作为日志名称

    5. 单击启用以创建新的 OCI 日志。

任务 2:使用 OCI 流处理创建流

Oracle Cloud Infrastructure (OCI) 流处理服务是一个面向开发人员和数据科学家的实时、无服务器、兼容 Apache Kafka 的事件流处理平台。它提供了完全托管、可扩展且持久的解决方案,可用于实时摄取和使用日志等大量数据流。我们可以使用 OCI Streaming 来处理发布 - 订阅消息传递模型中连续生成和处理数据的任何用例。

  1. 转到 OCI 控制台,导航到 Analytics & AIMessagingStreaming

  2. 单击创建流以创建流。

  3. 输入以下信息并单击创建

    • 名称:输入流名称。对于本教程,它是 Datadog_Stream
    • 流池:选择现有流池或创建一个具有公共端点的新流池。
    • 保留时间(小时):输入在此流中保留消息的小时数。
    • 分区数:输入流的分区数。
    • 总写入速率总读取速率:根据需要处理的数据量输入。

    您可以从用于测试的默认值开始。有关更多信息,请参见 Partitioning a Stream

任务 3:设置 OCI Connector Hub

OCI Connector Hub 可编排 Oracle Cloud Infrastructure 中服务之间的数据移动。OCI Connector Hub 提供了一个中心位置,可用于描述、执行和监视 OCI 日志记录、OCI 对象存储、OCI 流处理、OCI 日志分析和 OCI 监视等服务之间的数据移动。它还可以触发 OCI Functions 进行轻量级数据处理,并触发 OCI Notifications 设置警报。

  1. 转到 OCI 控制台,导航到观测和管理日志记录连接器

  2. 单击创建连接器以创建连接器。

  3. 输入以下信息。

    • 名称:输入 Datadog_SC
    • 说明(可选):输入说明。
    • 区间:选择您的区间。
    • 源:选择日志记录
    • 目标:选择流处理
  4. 配置源连接下,选择区间名称日志组日志(在任务 1 中创建的日志组和日志)。

  5. 如果还希望发送审计日志,请单击 +Another 日志并选择相同的区间,同时替换 _Audit 作为日志组。

  6. 配置目标下,选择区间(在任务 2 中创建的流)。

  7. 要接受默认策略,请单击为每个默认策略提供的创建链接。默认策略适用于此连接器访问源服务、任务和目标服务所需的任何授权。

  8. 单击创建

任务 4:用于检索日志的访问控制

要通过 Datadog Observability Pipeline 访问 OCI 流中的数据,请创建一个用户并为检索日志授予流提取权限。

  1. 创建 OCI 用户。有关详细信息,请参阅管理用户

  2. 创建 OCI 组 (Datadog_User_Group) 并将 OCI 用户添加到组中。有关详细信息,请参阅管理组

  3. 创建以下 OCI IAM 策略。

    Allow group <Datadog_User_Group> to use stream-pull in compartment <compartment_of_stream>
    

    注:使用此用户详细信息可在 Datadog Observability Pipeline 配置 pipeline.yaml 中从流中提取日志。

任务 5:配置 Datadog 可观察性管道

  1. 登录到 Datadog 门户,然后单击集成可观察性管道

    Datadog 可观察性管道

  2. 如果您是首次使用管道,请单击入门,或单击新建管道。输入管道名称,然后单击下一步

    创建管道

  3. 选择 QuickStart 管道模板和平台

    管道模板和平台

  4. 选择现有 API 密钥或创建新的 API 密钥并复制安装命令。API 密钥对您的组织是唯一的。Datadog 代理需要 API 密钥才能向 Datadog 提交度量和事件。

    安装 Worker

  5. 登录到 OCI 上指定为观测管道 Worker 的计算实例,然后运行以下命令安装 Worker。

    安装 Worker

    执行脚本将启动安装过程中的 Datadog Observability 管道 worker.As 的安装,将在目录 /etc/default/ 下创建一个名为 observability-pipelines-worker 的文件,其中包含变量 DD_API_KEYDD_OP_PIPELINE_IDDD_SITE

    安装 Worker

  6. 由于不允许直接在配置文件 pipeline.yaml 中指定密码,因此请将用于访问 OCI 流(在任务 4 中创建的用户的授权令牌)的密码添加为 /etc/default/observability-pipelines-worker 文件中的另一个变量 (DD_KAFKA_PW)。

    OCI 流密码

  7. 使用以下配置在 /etc/observability-pipelines-worker/ 下创建一个名为 pipeline.yaml 的文件。

    usernametopicsbootstrap_servers 替换为值。

    sinks:
       Datadog_OCI_Logs:
          default_api_key: ${DD_API_KEY}
          inputs:
             - OCI_LOGS
          site: ${DD_SITE}
          type: datadog_logs
    sources:
       OCI_LOGS:
          bootstrap_servers: <Bootstrap Servers>
          group_id: datadog
          sasl:
             enabled: true
             mechanism: PLAIN
             password: ${DD_KAFKA_PW}
             username: <username>
          tls:
             enabled: true
          topics:
             - <OCI_Stream_name>
          type: kafka
    

    注:以上参数可以从 Kafka 连接设置中引用。在流池详细信息页上,转到资源并单击 Kafka 连接设置

  8. 要启动 Worker,请运行下面的命令。

    sudo systemctl restart observability-pipelines-worker
    
  9. 检查可观察性管道工作进程的状态。它应该在运行。

    sudo systemctl status observability-pipelines-worker
    

    注:如果可观察性 Pipeline Worker 启动失败,请检查 /var/log/messages 下面的消息是否有任何错误。

  10. 在此步骤中,您应该使用从 Datadog 控制台的源流入的数据引导可观察性管道 Worker。如果可观察性管道工作人员已启动且正在运行,则可以单击查看管道以转到管道。

    如果 OCI Connector Hub 在 OCI 中设置了 OCI 流处理配置,则可以查看流入 Datadog 的日志。

    可观察性管道 MAP

  11. 单击日志以查看从 OCI 摄取的日志。

    OCI 日志

    OCI 日志

后续步骤

本教程演示了集成 Oracle Cloud Infrastructure (OCI) 和 Datadog 的过程。在安全信息和事件管理 (Security Information and Event Management,SIEM) 方面,必须定义仪表盘以捕获关键度量并配置警报,以便在超过预定义阈值时触发。此外,定义特定查询对于检测 OCI 租户中的恶意活动和识别模式至关重要。这些操作将进一步增强您的安全状况,并支持对云环境进行主动监视。

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心