本文介紹使用阿里雲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的連接埠,觸發重啟恢複。 |
源端或目標端都使用了外網地址。 | 選擇以下任意一種方式處理:
|
管道配置中包含了file_extend,但沒有安裝logstash-output-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等模式。