全部產品
Search
文件中心

Elasticsearch:Logstash FAQ

更新時間:Aug 23, 2024

本文介紹使用阿里雲Logstash的常見問題。

如何將公網資料匯入或匯出到Logstash中?

Logstash執行個體部署在Virtual Private Cloud(Virtual Private Cloud)下,可以通過配置NAT Gateway實現與公網的連通。具體操作,請參見配置NAT公網資料轉送

使用自建Kafka作為Logstash的輸入或者輸出時,出現錯誤記錄檔,如何處理?

常見錯誤記錄檔如下:

  • No entry found for connection

    原因:Logstash節點無法解析到Kafka服務的hostname對應的IP地址。

    解決方案:在server.properties中添加配置資訊,以Kafka服務運行在10.10.10.10的9092連接埠為例,配置資訊如下。

    listeners=PLAINTEXT://10.10.10.10:9092
    advertised.listeners=PLAINTEXT://10.10.10.10:9092
    重要
    • 在配置資訊時,請將10.10.10.10:9092替換為您Kafka叢集的IP地址和連接埠號碼。

    • 推薦您使用阿里雲Kafka服務,並且保證Logstash所在節點的IP地址在Kafka的訪問白名單內。

  • could not be established. Broker may not be available

    原因:Kafka服務不存在或者無法串連。

    解決方案:檢查Kafka服務是否正常運行,或者Logstash管道配置中的bootstrap_servers配置是否正確。

阿里雲Logstash的JDBC支援MySQL資料庫嗎?

支援。需要上傳mysql-connector-java驅動檔案,具體操作請參見配置擴充檔案

Logstash支援節點監控嗎?

支援。可通過配置X-Pack,關聯Elasticsearch執行個體後,在Kibana中監控Logstash節點。具體操作,請參見配置X-Pack監控

Logstash支援上傳指令檔嗎?

不支援。目前,Logstash只支援通過Config設定檔配置管道,實現資料轉送。詳細資料,請參見通過設定檔管理管道

Logstash支援配置HTTP採集協議嗎?

支援。Logstash支援通過HTTP或HTTPS接收單行或多行事件,詳細資料請參見Http input plugin

說明

阿里雲Logstash預設不提供公網訪問能力,如果您需要採集公網HTTP請求,可通過配置NAT Gateway實現。具體操作,請參見配置NAT公網資料轉送

如何通過Logstash,將Log Service資料同步到Elasticsearch上?

您可以通過logstash-input-sls外掛程式實現,具體操作請參見logstash-input-sls外掛程式使用說明

Logstash能夠即時同步資料嗎?

Logstash是准即時同步工具。只要您不停止管道任務,且源端有資料,Logstash就會一直向目標端寫入資料。

通過logstash同步資料時報錯 "[routing] is missing for join field [joinField]", 是什麼原因?

包含子文檔的資料路由值是強制性的,父文檔和子文檔必須保持寫入同一分區。建議設定目標端索引主分區為1,同時管道中增加參數routing =>"0"

管道建立後,進程卡住了,執行個體變更進度不變,如何處理?

查看執行個體的主日誌是否有報錯,根據報錯判斷原因,具體操作請參見查詢日誌。常見的原因及解決方案如下。

原因

解決方案

管道配置錯誤。

中斷變更,等到執行個體處於變更中斷狀態後,修改管道配置,觸發重啟恢複。具體操作,請參見查看執行個體任務進度詳情

叢集磁碟使用率過高。

升級執行個體規格。具體操作,請參見升配叢集完成後,重新整理執行個體,觀察變更進度。

output為elasticsearch時,沒有開啟Elasticsearch執行個體的自動建立索引功能。

開啟Elasticsearch執行個體的自動建立索引功能。具體操作,請參見配置YML參數完成後,重新整理執行個體,觀察變更進度。

input為beats時,port沒有使用8000~9000的連接埠。

中斷變更,等到執行個體處於變更中斷狀態後,在管道配置中,修改port為8000~9000的連接埠,觸發重啟恢複。

源端或目標端都使用了外網地址。

選擇以下任意一種方式處理:

  • 中斷變更,等到執行個體處於變更中斷狀態後,在管道配置中,將外網地址修改為私網地址。

  • 配置NAT Gateway實現公網資料轉送。具體操作,請參見配置NAT公網資料轉送完成後,重新整理執行個體,觀察變更進度。

管道配置中包含了file_extend,但沒有安裝logstash-output-file_extend外掛程式。

選擇以下任意一種方式處理:

  • 安裝logstash-output-file_extend外掛程式。具體操作,請參見使用Logstash管道配置調試功能完成後,重新整理執行個體,觀察變更進度。

  • 中斷變更,等到執行個體處於變更中斷狀態後,在管道配置中,去掉file_extend配置,觸發重啟恢複。

Logstash私網地址是否能ping通?

Logstash私網地址預設禁止ping,可以使用telnet測試。

Logstash在兩個Elasticsearch之間同步資料,如何保證mapping一致?

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

阿里雲Logstash支援rubydebug模式嗎?

不支援。阿里雲Logstash提供logstash-output-file_extend外掛程式來列印調試日誌,不推薦使用stdout,並且沒提供相關的介面,因此不支援rubydebug等模式。