全部產品
Search
文件中心

Elasticsearch:logstash-output-datahub外掛程式使用說明

更新時間:Jun 30, 2024

通過logstash-output-datahub外掛程式,您可以將資料轉送到DataHub中。本文介紹如何使用logstash-output-datahub外掛程式。

前提條件

您已完成以下操作:

  • 安裝logstash-output-datahub外掛程式。

    具體操作,請參見安裝或卸載外掛程式

  • 開通DataHub產品,並完成建立專案和建立Topic。

    具體操作,請參見快速入門

  • 準備輸入資料來源。

    輸入資料來源可以為input支援的所有輸入源外掛程式中的資料,本文以Elasticsearch為例,詳細資料請參見input外掛程式

使用logstash-output-datahub外掛程式

參見通過設定檔管理管道,在建立管道任務時,按照以下說明配置Pipeline參數,儲存並部署後,即可觸發阿里雲Logstash向DataHub傳送資料。

Logstash的Pipeline配置如下,相關參數說明請參見參數說明

input {
    elasticsearch {
      hosts => ["http://es-cn-mp91cbxsm000c****.elasticsearch.aliyuncs.com:9200"]
      user => "elastic"
      index => "test"
      password => "your_password"
      docinfo => true
  }
}
filter{
    
}
output {
    datahub {
        access_id => "Your accessId"
        access_key => "Your accessKey"
        endpoint => "Endpoint"
        project_name => "project"
        topic_name => "topic"
        #shard_id => "0"
        #shard_keys => ["thread_id"]
        dirty_data_continue => true
        dirty_data_file => "/ssd/1/<Logstash執行個體ID>/logstash/data/檔案名稱"
        dirty_data_file_max_size => 1000
    }
}
重要 阿里雲Logstash目前只支援在同一專用網路下進行資料轉送,如果源端資料在公網下,請參見配置NAT公網資料轉送,在公網環境下進行資料轉送。

參數說明

logstash-output-datahub外掛程式支援的參數如下。
參數類型是否必選說明
endpointstringDataHub對外服務的訪問網域名稱,詳細資料請參見網域名稱列表
access_idstring阿里雲帳號的AccessKey ID。
access_keystring阿里雲帳號的Access Key Secret。
project_namestringDataHub的專案名稱。
topic_namestringDataHub的Topic名稱。
retry_timesnumber重試次數。-1表示無限重試(預設)、0表示不重試、大於0表示按照設定的次數重試。
retry_intervalnumber重試的間隔,單位為秒,預設為5。
skip_after_retryboolean當由DataHub異常導致的重試次數超過retry_times設定的值,是否跳過這一輪上傳的資料。預設為false。
approximate_request_bytesnumber用於限制每次發送請求的位元組數,是一個近似值,防止因Request body過大而被拒絕接收,預設為2048576(2 MB)。
shard_keysarray資料的欄位名稱,外掛程式會根據這些欄位的值計算Hash值,將每條資料寫入到某個shard。
說明 shard_keysshard_ids都未指定,預設輪詢寫入各shard。
shard_idsarray所有資料寫入指定的shard。
說明 shard_keysshard_ids都未指定,預設輪詢寫入各shard。
dirty_data_continuestring處理資料時遇到髒資料是否繼續運行,預設為false。設定為true時,必須指定dirty_data_file檔案,表示處理資料時忽略髒資料。
dirty_data_filestring髒資料檔案名稱。當dirty_data_continue為true時,必須指定該參數值。
說明 處理資料時,髒資料檔案會被分割成兩個部分part1和part2,part1為原髒資料,part2為替換後的髒資料。
dirty_data_file_max_sizenumber髒資料檔案大小的最大值,單位:KB。
enable_pbboolean是否使用pb傳輸,預設為true。如果不支援pb傳輸,請將該參數值設定為false。