注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于您的云环境的值。
使用 Datadog 观测管道集成 Oracle Cloud Infrastructure 和 Datadog
简介
Oracle Cloud Infrastructure (OCI) 是受大型企业信赖的基础设施即服务 (IaaS) 和平台即服务 (PaaS)。它提供一系列全面的托管服务,包括托管、存储、网络、数据库等。
Oracle Cloud Observability and Management Platform 旨在与客户的偏好保持一致。许多国家采用了利用第三方观测工具的既定业务做法。我们的目标是确保与这些工具无缝集成,使我们的客户能够将现有投资与 OCI 结合使用。
根据 Datadog 的说法,他们的观测管道允许您收集、处理日志,并将日志从任何源路由到您拥有或管理的基础设施中的任何目标。
Observability Pipelines Worker 是在您的基础结构中运行的软件。它聚合并集中处理和路由数据。要将 OCI 日志摄取到 Datadog,Operservability Pipelines Worker 软件在 OCI 中的计算实例上运行。更具体地说,观察性管道工作人员将:
- 使用 Kafka 源从 OCI 流处理提取日志。
- 将日志路由到 Datadog logs 目标。
解决方案体系结构的高级表示形式,如下图中所示。
目标
- 使用 Datadog Observability Pipelines 集成 Oracle Cloud Infrastructure 和 Datadog。
先决条件
-
OCI 中的用户必须具有 OCI Streaming、OCI Connector Hub 和 OCI Logging 服务所需的策略才能管理资源。有关所有服务的策略参考,请参见 Policy Reference 。
-
指定为 Datadog Observability Pipeline Worker 的计算实例的可用性。有关详细信息,请参阅创建实例。
任务 1:配置要捕获的日志
Oracle Cloud Infrastructure Logging 服务是一个高度可扩展且完全托管的单一平台,适用于您的租户中的所有日志。OCI 日志记录可访问 Oracle Cloud Infrastructure 资源中的日志。日志是一种一流的 Oracle Cloud Infrastructure 资源,用于存储和捕获在给定上下文中收集的日志事件。日志组是存储在区间中的日志的集合。日志组是日志的逻辑容器。通过应用 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 策略或分组日志进行分析,使用日志组来组织和简化日志管理。
要开始,请为资源启用日志。服务为资源可用的不同类型的日志提供日志类别。例如,OCI 对象存储服务支持存储桶的以下日志类别:读取和写入访问事件。读取访问事件捕获下载事件,而写入访问事件捕获写入事件。每个服务可以具有不同的资源日志类别。
-
登录到 OCI 控制台,导航到观测和管理、日志记录和日志组。
-
选择您的区间,单击创建日志组并输入以下信息。
- 名称:输入
Datadog_log_group
。 - 说明(可选):输入说明。
- 标记(可选):输入标记。
- 名称:输入
-
单击创建可创建新日志组。
-
在资源下,单击日志。
-
根据需要单击创建定制日志或启用服务日志。
例如,要为 OCI 对象存储存储桶启用写入日志,请执行以下步骤:
-
单击启用服务日志。
-
选择资源区间,然后在搜索服务中输入对象存储。
-
单击启用日志,然后在资源中选择 OCI 对象存储存储桶名称。
-
在日志类别中选择在任务 1.2 中创建的日志组 (
Datadog_log_group
) 和写入访问事件。(可选)输入Datadog_bucket_write
作为日志名称。 -
单击启用以创建新的 OCI 日志。
-
任务 2:使用 OCI 流处理创建流
Oracle Cloud Infrastructure (OCI) 流处理服务是一个面向开发人员和数据科学家的实时、无服务器、兼容 Apache Kafka 的事件流处理平台。它提供了完全托管、可扩展且持久的解决方案,可用于实时摄取和使用日志等大量数据流。我们可以使用 OCI Streaming 来处理发布 - 订阅消息传递模型中连续生成和处理数据的任何用例。
-
转到 OCI 控制台,导航到 Analytics & AI 、 Messaging 和 Streaming 。
-
单击创建流以创建流。
-
输入以下信息并单击创建。
- 名称:输入流名称。对于本教程,它是
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 设置警报。
-
转到 OCI 控制台,导航到观测和管理、日志记录和连接器。
-
单击创建连接器以创建连接器。
-
输入以下信息。
- 名称:输入
Datadog_SC
。 - 说明(可选):输入说明。
- 区间:选择您的区间。
- 源:选择日志记录。
- 目标:选择流处理。
- 名称:输入
-
在配置源连接下,选择区间名称、日志组和日志(在任务 1 中创建的日志组和日志)。
-
如果还希望发送审计日志,请单击 +Another 日志并选择相同的区间,同时替换
_Audit
作为日志组。 -
在配置目标下,选择区间和流(在任务 2 中创建的流)。
-
要接受默认策略,请单击为每个默认策略提供的创建链接。默认策略适用于此连接器访问源服务、任务和目标服务所需的任何授权。
-
单击创建。
任务 4:用于检索日志的访问控制
要通过 Datadog Observability Pipeline 访问 OCI 流中的数据,请创建一个用户并为检索日志授予流提取权限。
-
创建 OCI 用户。有关详细信息,请参阅管理用户。
-
创建 OCI 组 (
Datadog_User_Group
) 并将 OCI 用户添加到组中。有关详细信息,请参阅管理组。 -
创建以下 OCI IAM 策略。
Allow group <Datadog_User_Group> to use stream-pull in compartment <compartment_of_stream>
注:使用此用户详细信息可在 Datadog Observability Pipeline 配置
pipeline.yaml
中从流中提取日志。
任务 5:配置 Datadog 可观察性管道
-
登录到 Datadog 门户,然后单击集成、可观察性管道。
-
如果您是首次使用管道,请单击入门,或单击新建管道。输入管道名称,然后单击下一步。
-
选择 QuickStart 管道模板和平台。
-
选择现有 API 密钥或创建新的 API 密钥并复制安装命令。API 密钥对您的组织是唯一的。Datadog 代理需要 API 密钥才能向 Datadog 提交度量和事件。
-
登录到 OCI 上指定为观测管道 Worker 的计算实例,然后运行以下命令安装 Worker。
执行脚本将启动安装过程中的 Datadog Observability 管道 worker.As 的安装,将在目录
/etc/default/
下创建一个名为observability-pipelines-worker
的文件,其中包含变量DD_API_KEY
、DD_OP_PIPELINE_ID
和DD_SITE
。 -
由于不允许直接在配置文件
pipeline.yaml
中指定密码,因此请将用于访问 OCI 流(在任务 4 中创建的用户的授权令牌)的密码添加为/etc/default/observability-pipelines-worker
文件中的另一个变量 (DD_KAFKA_PW
)。 -
使用以下配置在
/etc/observability-pipelines-worker/
下创建一个名为pipeline.yaml
的文件。将
username
、topics
和bootstrap_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 连接设置。
-
要启动 Worker,请运行下面的命令。
sudo systemctl restart observability-pipelines-worker
-
检查可观察性管道工作进程的状态。它应该在运行。
sudo systemctl status observability-pipelines-worker
注:如果可观察性 Pipeline Worker 启动失败,请检查
/var/log/messages
下面的消息是否有任何错误。 -
在此步骤中,您应该使用从 Datadog 控制台的源流入的数据引导可观察性管道 Worker。如果可观察性管道工作人员已启动且正在运行,则可以单击查看管道以转到管道。
如果 OCI Connector Hub 在 OCI 中设置了 OCI 流处理配置,则可以查看流入 Datadog 的日志。
-
单击日志以查看从 OCI 摄取的日志。
后续步骤
本教程演示了集成 Oracle Cloud Infrastructure (OCI) 和 Datadog 的过程。在安全信息和事件管理 (Security Information and Event Management,SIEM) 方面,必须定义仪表盘以捕获关键度量并配置警报,以便在超过预定义阈值时触发。此外,定义特定查询对于检测 OCI 租户中的恶意活动和识别模式至关重要。这些操作将进一步增强您的安全状况,并支持对云环境进行主动监视。
相关链接
确认
- 作者 - Chaitanya Chintala(云安全顾问)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Integrate Oracle Cloud Infrastructure and Datadog using Datadog Observability Pipelines
F96618-01
April 2024