本文介紹使用阿里云Logstash的常見問題。
Logstash支持將數據源配置為DRDS嗎?
支持。可參考RDS MySQL數據遷移方案進行配置,具體操作請參見通過Logstash將RDS MySQL數據同步至Elasticsearch。
如何將公網數據導入或導出到Logstash中?
Logstash實例部署在專有網絡VPC(Virtual Private Cloud)下,可以通過配置NAT網關實現與公網的連通。具體操作,請參見配置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網關實現。具體操作,請參見配置NAT公網數據傳輸。
如何通過Logstash,將日志服務數據同步到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等模式。