You need to enable JavaScript to run this app.
导航
Logstash插件
最近更新时间:2023.12.19 19:50:49首次发布时间:2023.12.19 19:50:49
一、简介

火山引擎DataSail提供数据上报logstash http插件接入,用户在开通DataSail服务之后,可以通过插件将数据上报到火山云DataSail。

二、前置准备

服务开通

请确保您已开通了您需要访问的服务。您可前往火山引擎控制台开通全域数据集成服务,详见服务开通

获取安全凭证

Access Key(访问密钥)是访问火山引擎服务的安全凭证,包含Access Key ID(简称为AK)和Secret Access Key(简称为SK)两部分。您可登录火山引擎控制台,前往访问控制访问密钥 中创建及管理您的Access Key。更多信息可参考访问密钥帮助文档

产品接入

  1. 申请Topic

路径:数据采集-topic管理-新建Topic

  1. 申请数据采集

路径:数据采集-采集管理-新建采集任务

三、上报示例

获取应用信息

1、获取租户ID/TenantID



2、获取采集任务ID/TaskID

3、DataSail Endpoint

区域Endpoint
华北https://datasail01-cn-beijing.volceapplog.com/v1/production/general/collect/{DataSail 采集任务ID}/list/

配置Logstash HTTP输出插件接入DataSail

Logstash支持配置多个输出

output {
    datahub {
    }
    
    file {
    }
    
    http {
      url => "******"
      http_method => "post"
      headers => {
        "X-Collect-Tenant-Id" => "******"
        "X-Collect-Content-Type" => "batch_json"
      }
      content_type => "application/json"
      format => "json_batch"
    }
}

HTTP插件参数

参数类型是否必填默认值说明
urlstringYesNADataSail Endpoint

headers

hash

Yes

NA

X-Collect-Tenant-Id: 必填,DataSail 租户ID
X-Collect-Content-Type: 非必填,批量上报需要填 "batch_json"

http_methodstringYesNA接入DataSail需要使用 "post"

format

string

Yes

"json"

"json":单条上报,会导致请求数较多,成本较高
"json_batch":批量上报,会将多条数据合并为一个数组进行上报

content_type

string

Yes

NA

如果 format => "json", content_type 需要设置为 "application/x-www-form-urlencoded"
如果 format => "json_batch", content_type 需要设置为 "application/json"

http_compressionbooleanNofalse是否开启gzip压缩,DataSail暂不支持压缩
keepalivebooleanNotrue开启HTTP keepalive
pool_maxnumberNo50HTTP连接池数量
pool_max_per_routenumberNo25单个Host最大连接数
socket_timeoutnumberNo10(秒)socket超时时间
connect_timeoutnumberNo10(秒)连接超时时间
request_timeoutnumberNo60(秒)请求超时时间
automatic_retriesnumberNo1自动重试次数
retry_failedbooleanNotrue开启插件级重试,对retryable_codes定义的状态码和其他可重试异常进行无限重试
retry_non_idempotentbooleanNofalse需要设置为true,对 post 请求进行重试,写入DataSail使用post请求
retryable_codesnumberNo[429, 500, 502, 503, 504]设置对哪些 Http 状态码进行重试

数据有序性

HTTP输出插件会并发发起请求,并发数通过 pool_max 参数控制。
由于使用了并发请求,数据写到下游无法保障有序。

重试策略

Lib级重试参数

  • automatic_retries

    • 默认值为:1

    • Lib级别自动重试次数

  • retry_non_idempotent

    • 默认值为:false

    • 需要设置为 true,才会对 POST 请求进行重试,写入DataSail使用POST请求

Plugin级重试参数

  • retry_failed

    • 默认值为:true

    • 插件会对retryable_codes 定义的状态码和其他可重试的异常(socket timeout/ error, DNS resolution failure 和 client protocol exception)进行无限重试

  • retryable_codes

    • 默认值为:[429, 500, 502, 503, 504]

    • 设置对哪些 Http 状态码进行重试