全部產品
Search
文件中心

Elasticsearch:使用Logstash管道配置調試功能

更新時間:Jul 09, 2024

當Logstash管道配置出現錯誤時,可能導致輸出資料結果不符合預期,需要反覆去目標端確認資料格式,再返回控制台修改配置,這樣會耗費大量的時間和人力。對於這種情況,您可以通過阿里雲Logstash提供的管道配置調試功能,在管道配置完成後,直接在控制台上查看管道配置的輸出結果,降低調試成本。本文介紹具體的實現方法。

前提條件

已安裝logstash-output-file_extend外掛程式。如果還未安裝,請先安裝該外掛程式,安裝方法請參見安裝或卸載外掛程式

操作步驟

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

  4. 在左側導覽列,單擊管道管理

  5. 單擊建立管道

  6. 配置並啟動管道。

    1. Config配置中,填寫管道IDConfig配置

      config配置

      參數

      說明

      管道ID

      自訂輸入。輸入後,管道ID會自動對應到file_extendpath路徑下。

      Config配置

      Config配置由三部分組成:

      • input:指定待讀取的資料來源,支援Logstash內建的input plugins(除過file外掛程式)。

      • filter:進一步加工處理資料來源採集到的資料,支援豐富的Filter plugins

      • output:將過濾後的資料發送到特定的目的端。阿里雲Logstash不僅支援開源的 Logstash output plugins,還可通過配置特有的file_extend外掛程式,開啟調試日誌功能,即可在管道部署完成後直接查看輸出結果,並進行驗證與調試。

      config配置樣本如下。

      input {
           elasticsearch {
             hosts => "http://es-cn-0pp1jxv000****.elasticsearch.aliyuncs.com:9200"
             user  => "elastic"
             index => "twitter"
             password => "<YOUR_PASSWORD>"
             docinfo => true
           }
      
      }
      filter {
      
      }
      output {
          elasticsearch {
          hosts => ["http://es-cn-000000000i****.elasticsearch.aliyuncs.com:9200"]
          user => "elastic"
          password => "<your_password>"
          index => "%{[@metadata][_index]}"
          document_id => "%{[@metadata][_id]}"
      
        }
         file_extend {
           path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test"
         }
      
      }
      重要
      • output中的file_extend配置預設為注釋狀態,如果需要使用調試功能,請先刪除注釋。

      • file_extend中的path參數預設為系統指定路徑,請勿修改。您也可以單擊開啟配置調試擷取path路徑。

      • path中的{pipelineid}將自動對應為管道ID,請勿修改為其他名稱,否則無法擷取調試日誌。

      Elasticsearch input外掛程式可以根據配置的查詢語句,從Elasticsearch叢集讀取文檔資料,適用於大量匯入測試日誌等操作。預設讀取完資料後,同步動作會自動關閉,而阿里雲Logstash需保證進程一直運行,關閉後將會重新啟動進程,導致某些單一任務情境(如logstash input es)存在重複寫資料的情況。設定長時間範圍的定時任務可繞過寫重複的情況,如每年3月5日13點20分觸發任務執行,執行完第一次任務後停止管道運行,可避免重複寫情況。可以通過cron文法配合schedule參數實現,詳情請參見Logstash官網Scheduling介紹

      例如,設定3月5日13點20分執行任務:

      schedule => "20 13 5 3 *"
    2. 單擊下一步,配置管道參數。

      管道配置參數的詳細資料,請參見通過設定檔管理管道

    3. 儲存並部署管道。

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

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

    4. 在建立成功提示框中,單擊確認

  7. 查看調試日誌。

    1. 等待執行個體重啟完成後,在管道列表中,單擊目標管道右側操作列下的查看調試日誌

    2. 日誌查詢頁面的調試日誌頁簽中,擷取管道處理後的輸出資料。

      對於多個管道,您可在搜尋方塊中輸入pipelineId: <管道ID>過濾對應的日誌。查看調試日誌