全部產品
Search
文件中心

Elasticsearch:通過設定檔管理管道

更新時間:Jun 30, 2024

Logstash通過管道完成資料的採集與處理,管道配置中包含input、output和filter(可選)外掛程式,input和output用來配置輸入和輸出資料來源、filter用來對資料進行過濾或預先處理。阿里雲Logstash支援多管道並行運行,目前最多支援20個。本文介紹如何通過設定檔管理管道,包括建立管道、修改管道、複製管道和刪除管道。

前提條件

您已完成以下操作:

  • 建立Elasticsearch執行個體。

    具體操作,請參見建立Elasticsearch執行個體

  • 開啟目標Elasticsearch執行個體的自動建立索引功能(本文以此為例),或提前在執行個體中建立索引和Mapping。

    開啟自動建立索引功能的具體操作,請參見配置YML參數。建立索引和Mapping的具體操作,請參見步驟三:建立索引

    說明

    Elasticsearch為了保證使用者操作資料的安全性,預設將自動建立索引配置設定為不允許。阿里雲Logstash在傳輸資料的時候,使用提交資料的方式建立索引,而不是Create index API的方式。所以在使用阿里雲Logstash上傳資料之前,需要先把叢集的自動建立索引設定為允許,或提前建立好索引和Mapping。

  • 建立阿里雲Logstash執行個體。

    具體操作,請參見建立阿里雲Logstash執行個體

使用限制

  • 阿里雲Logstash最多支援20個管道並行運行。

  • 如果output指定的資料來源為Elasticsearch,需要提前開啟自動建立索引,或建立目標索引和Mapping。

  • 配置過程中涉及到阿里雲系列產品時,需要在同一專用網路下,否則需要配置網路與安全。詳細資料,請參見配置NAT公網資料轉送

  • 如果在output中使用了file_extend參數,需要先安裝logstash-output-file_extend外掛程式。具體操作,請參見安裝或卸載外掛程式

建立管道

  1. 進入Elasticsearch控制台的Logstash頁面
  2. 進入目標執行個體。
    1. 在頂部功能表列處,選擇地區。
    2. Logstash執行個體中單擊目標執行個體ID。
  3. 在左側導覽列,單擊管道管理

  4. 單擊建立管道

  5. 輸入管道IDConfig配置

    配置樣本如下。

    input {
        beats {
            port => 8000
        }
    }
    filter {
    
    }
    output {
        elasticsearch {
            hosts => ["http://es-cn-o40xxxxxxxxxx****.elasticsearch.aliyuncs.com:9200"]
            index => "logstash_test_1"
            password => "es_password"
            user => "elastic"
        }
        file_extend {
            path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test"
        }
    }

    參數

    說明

    input

    指定輸入資料來源。支援的資料來源類型,請參見Input plugins

    說明
    • 當Input外掛程式需要監聽Logstash進程所在節點的連接埠時,請使用8000~9000範圍內的連接埠。

    • 如果您需要在input中定義外掛程式、驅動或其他檔案,可單擊查看擴充檔案路徑,在擴充檔案管理對話方塊中,單擊前往上傳,根據提示上傳對應的檔案。詳細資料,請參見配置擴充檔案

    filter

    指定對輸入資料進行過濾的外掛程式。支援的外掛程式類型,請參見Filter plugins

    output

    指定目標資料來源類型。支援的資料來源類型,請參見Output plugins

    file_extend可選,用來開啟調試日誌功能,並通過path參數配置調試日誌的輸出路徑。建議您配置該參數,配置後,可直接在控制台上查看輸出結果。如果未配置,需要去目標端確認輸出結果,再返回控制台修改,這樣會耗費大量的時間和人力。詳細資料,請參見使用Logstash管道配置調試功能

    重要

    使用file_extend參數前,需要先安裝logstash-output-file_extend外掛程式。具體操作,請參見安裝或卸載外掛程式。其中的path參數預設為系統指定路徑,請勿修改。您也可以單擊開啟配置調試擷取path路徑。

    Config配置的結構及支援的資料類型的詳細資料(不同版本支援的資料類型可能不同),請參見Structure of a Config File

    重要
    • 為了提升安全性,在使用JDBC驅動並配置管道時,需要在jdbc_connection_string參數後面添加allowLoadLocalInfile=false&autoDeserialize=false,否則當您在添加Logstash設定檔的時候,調度系統會拋出校正失敗的提示,例如jdbc_connection_string => "jdbc:mysql://xxx.drds.aliyuncs.com:3306/<資料庫名稱>?allowLoadLocalInfile=false&autoDeserialize=false"

    • 當Config配置中有類似last_run_metadata_path的參數時,需要阿里雲Logstash服務提供檔案路徑。目前後端開放了/ssd/1/<Logstash執行個體ID>/logstash/data/路徑供您測試使用,且該目錄下的資料不會被刪除。因此在使用時,請確保磁碟有充足的使用空間。指定參數路徑後,Logstash會在對應路徑下自動組建檔案,但不支援查看檔案內容。

    • 由於阿里雲Logstash建立在專用網路下,配置過程中涉及到阿里雲系列產品時,建議使用同一專用網路下的執行個體。如果使用外網訪問阿里雲Logstash,需要配置網路與安全,詳細資料,請參見配置NAT公網資料轉送

    • 建議使用file_extend列印日誌進行測試,不要使用stdout。

  6. 單擊下一步,配置管道參數。

    管道參數配置

    參數

    說明

    管道背景工作執行緒

    並存執行管道的Filter和Output的背景工作執行緒數量。當事件出現積壓或CPU未飽和時,請考慮增大線程數,更好地使用CPU處理能力。預設值:執行個體的CPU核心數。

    管道批大小

    單個背景工作執行緒在嘗試執行Filter和Output前,可以從Input收集的最大事件數目。較大的管道批大小可能會帶來較大的記憶體開銷。您可以設定LS_HEAP_SIZE變數,來增大JVM堆大小,從而有效使用該值。預設值:125。

    管道批延遲

    建立管道事件批時,將過小的批指派給管道背景工作執行緒之前,要等候每個事件的時間長度,單位為毫秒。預設值:50ms。

    隊列類型

    用於事件緩衝的內部排隊模型。可選值:

    • MEMORY:預設值。基於記憶體的傳統隊列。

    • PERSISTED:基於磁碟的ACKed隊列(持久隊列)。

    隊列最大位元組數

    請確保該值小於您的磁碟總容量。預設值:1024 MB。

    隊列檢查點寫入數

    啟用持久性隊列時,在強制執行檢查點之前已寫入事件的最大數目。設定為0,表示無限制。預設值:1024。

    警告

    配置完成後,需要儲存並部署才會生效。儲存並部署操作會觸發執行個體重啟,請在不影響業務的前提下,繼續執行以下步驟。

  7. 單擊儲存或者儲存並部署

    • 儲存:將管道資訊儲存在Logstash裡並觸發執行個體變更,配置不會生效。儲存後,系統會返回管道管理頁面。可在管道列表地區,單擊操作列下的立即部署,觸發執行個體重啟,使配置生效。

    • 儲存並部署:儲存並且部署後,會觸發執行個體重啟,使配置生效。

  8. 在建立成功提示框中,單擊確認,在管道列表中查看建立成功的管道。

    等待執行個體重啟完成後,即可完成管道任務的建立。

修改管道

警告

修改管道後,在儲存並部署時會觸發執行個體重啟,請在不影響業務的情況下執行操作。

  1. 管道列表地區,單擊目標管道右側操作列下的修改管道

  2. 修改管道任務頁面,修改管道的Config配置管道參數配置管道ID不可修改)。

  3. 單擊儲存儲存並部署,等待執行個體重啟完成後,即可完成管道修改。

複製管道

警告

複製管道後,在儲存並部署時會觸發執行個體重啟,請在不影響業務的情況下執行操作。

  1. 管道列表地區,選擇目標管道右側操作列下的更多 > 複製管道

  2. 複製管道任務頁面,修改管道ID,其他配置保持不變。

  3. 單擊儲存儲存並部署,等待執行個體重啟完成後,即可完成管道複製。

刪除管道

警告
  • 管道刪除後無法恢複,正在啟動並執行管道任務會被中斷,請確認後操作。

  • 管道刪除操作會觸發執行個體變更,請在不影響業務的情況下執行操作。

  1. 管道列表地區,選擇目標管道右側操作列下的更多 > 刪除管道

  2. 刪除管道對話方塊中,查看風險提示。

  3. 單擊繼續,等待執行個體變更完成後,即可刪除管道。

相關文檔

常見問題