核心 API
所有 OpenSearch Data Prepper 实例都提供一个带有控制 API 的服务器。默认情况下,此服务器在端口 4900 上运行。某些插件,特别是源插件,可能会暴露在不同端口上运行的其他服务器。这些插件的配置独立于核心 API。例如,要关闭 Data Prepper,您可以运行以下 curl 请求
curl -X POST https://:4900/shutdown
API
下表列出了可用的 API。
名称 | 描述 |
---|---|
GET /list POST /list | 返回正在运行的管道列表。 |
POST /shutdown | 启动 Data Prepper 的优雅关闭。 |
GET /metrics/prometheus POST /metrics/prometheus | 以 Prometheus 文本格式返回 Data Prepper 指标的抓取结果。此 API 在 Data Prepper 配置文件 data-prepper-config.yaml 中作为 metricsRegistries 参数提供,并且包含 Prometheus 作为注册表的一部分。 |
GET /metrics/sys POST /metrics/sys | 以 Prometheus 文本格式返回 JVM 指标。此 API 在 Data Prepper 配置文件 data-prepper-config.yaml 中作为 metricsRegistries 参数提供,并且包含 Prometheus 作为注册表的一部分。 |
配置服务器
您可以通过 data-prepper-config.yaml
文件配置 Data Prepper 核心 API。
SSL/TLS 连接
本项目许多入门指南在端点上禁用 SSL
ssl: false
要在 Data Prepper 端点上启用 SSL,请使用以下选项配置您的 data-prepper-config.yaml
文件
ssl: true
keyStoreFilePath: "/usr/share/data-prepper/keystore.p12"
keyStorePassword: "secret"
privateKeyPassword: "secret"
有关使用 SSL 配置 Data Prepper 服务器的更多信息,请参阅服务器配置。如果您使用的是自签名证书,可以在请求中添加 -k
标志,以快速测试带有 SSL 的核心 API。使用以下 shutdown
请求测试带有 SSL 的核心 API
curl -k -X POST https://:4900/shutdown
身份验证
Data Prepper 核心 API 支持 HTTP 基本认证。您可以使用 data-prepper-config.yaml
文件中的以下配置设置用户名和密码
authentication:
http_basic:
username: "myuser"
password: "mys3cr3t"
您可以使用以下配置禁用核心端点的认证。请谨慎使用此功能,因为关闭 API 及其他 API 将对任何能够通过网络访问您的 Data Prepper 实例的人员开放。
authentication:
unauthenticated:
对等转发器
对等转发器可以配置为在多个 Data Prepper 节点之间启用有状态聚合。有关配置对等转发器的更多信息,请参阅对等转发器。它受到 service_map_stateful
、otel_traces_raw
和 aggregate
处理器支持。
关闭超时
当您运行 Data Prepper shutdown
API 时,该过程会优雅地关闭并清除 ExecutorService
sink 和 ExecutorService
处理器中的所有剩余数据。这两个进程的默认关闭超时时间均为 10 秒。您可以使用以下可选的 data-prepper-config.yaml
文件参数配置超时时间
processorShutdownTimeout: "PT15M"
sinkShutdownTimeout: 30s
这些参数的值通过 Data Prepper Duration Deserializer 解析为 Duration
对象。