http
http
插件接受来自客户端的 HTTP 请求。下表介绍了可用于配置 http
源的选项。
选项 | 必需 | 类型 | 描述 |
---|---|---|---|
端口 | 否 | 整数 | 源运行的端口。默认值为 2021 。有效选项介于 0 和 65535 之间。 |
路径 | 否 | 字符串 | 用于日志摄取的 URI 路径应以正斜杠 (/) 开头,例如 /${pipelineName}/logs 。${pipelineName} 占位符将被管道名称替换。默认值为 /log/ingest 。 |
健康检查服务 | 否 | 布尔型 | 在定义的端口上,为 /health 端点启用健康检查服务。默认值为 false 。 |
未经身份验证的健康检查 | 否 | 布尔型 | 确定健康检查端点是否需要身份验证。如果未定义身份验证,OpenSearch Data Prepper 将忽略此选项。默认值为 false 。 |
请求超时 | 否 | 整数 | 请求超时时间,单位为毫秒。默认值为 10000 。 |
线程数 | 否 | 整数 | ScheduledThreadPool 中要保留的线程数。默认值为 200 。 |
最大连接数 | 否 | 整数 | 允许的最大开放连接数。默认值为 500 。 |
最大待处理请求数 | 否 | 整数 | ScheduledThreadPool 工作队列中允许的最大任务数。默认值为 1024 。 |
最大请求长度 | 否 | 字节数 | 单个 HTTP 请求的有效负载中允许的最大字节数。默认值为 10mb 。 |
身份验证 | 否 | 对象 | 身份验证配置。默认情况下,这会为管道创建一个未经身份验证的服务器。这使用可插拔身份验证进行 HTTPS。要使用基本身份验证,请定义一个带有 username 和 password 的 http_basic 插件。要提供客户身份验证,请使用或创建一个实现 ArmeriaHttpAuthenticationProvider 的插件。 |
SSL | 否 | 布尔型 | 启用 TLS/SSL。默认值为 false。 |
SSL 证书文件 | 有条件地 | 字符串 | SSL 证书链文件路径或 Amazon 简单存储服务 (Amazon S3) 路径。Amazon S3 路径示例:s3://<bucketName>/<path> 。如果 ssl 设置为 true 且 use_acm_certificate_for_ssl 设置为 false,则为必填项。 |
SSL 密钥文件 | 有条件地 | 字符串 | SSL 密钥文件路径或 Amazon S3 路径。Amazon S3 路径示例:s3://<bucketName>/<path> 。如果 ssl 设置为 true 且 use_acm_certificate_for_ssl 设置为 false,则为必填项。 |
对 SSL 使用 ACM 证书 | 否 | 布尔型 | 启用使用 AWS Certificate Manager (ACM) 中的证书和私钥的 TLS/SSL。默认值为 false。 |
ACM 证书 ARN | 有条件地 | 字符串 | ACM 证书 Amazon Resource Name (ARN)。ACM 证书优先于 Amazon S3 或本地文件系统证书。如果 use_acm_certificate_for_ssl 设置为 true,则为必填项。 |
ACM 私钥密码 | 否 | 字符串 | 解密私钥的 ACM 私钥密码。如果未提供,Data Prepper 将生成一个随机密码。 |
ACM 证书超时毫秒数 | 否 | 整数 | ACM 获取证书的超时时间,单位为毫秒。默认值为 120000。 |
AWS 区域 | 有条件地 | 字符串 | ACM 或 Amazon S3 使用的 AWS 区域。如果 use_acm_certificate_for_ssl 设置为 true 或 ssl_certificate_file 和 ssl_key_file 是 Amazon S3 路径,则为必填项。 |
摄取
客户端应向端点 /log/ingest
发送 HTTP POST
请求。
http
协议仅支持 JSON UTF-8 编解码器处理传入请求,例如 [{"key1": "value1"}, {"key2": "value2"}]
。
示例:使用 cURL 摄取数据
以下 cURL 命令可用于摄取数据
curl "https://:2021/log/ingest" --data '[{"key1": "value1"}, {"key2": "value2"}]'
指标
http
源包含以下指标。
计数器
requestsReceived
: 衡量/log/ingest
端点接收到的请求总数。requestsRejected
: 衡量 HTTP 源插件拒绝的请求总数(响应状态码 429)。successRequests
: 衡量 HTTP 源插件成功处理的请求总数(响应状态码 200)。badRequests
: 衡量 HTTP 源插件处理的无效内容类型或格式的请求总数(响应状态码 400)。requestTimeouts
: 衡量 HTTP 源服务器中超时的请求总数(响应状态码 415)。requestsTooLarge
: 衡量事件大小大于缓冲区容量的请求总数(响应状态码 413)。internalServerError
: 衡量 HTTP 源处理的具有自定义异常类型的请求总数(响应状态码 500)。
计时器
requestProcessDuration
: 衡量 HTTP 源插件处理请求的延迟(秒)。
分布汇总
payloadSize
: 衡量传入请求的有效负载大小(字节)。