日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Logstash數據寫入問題排查方案

在使用阿里云Logstash將數據寫入阿里云Elasticsearch(output指定為阿里云Elasticsearch)時,您可能會遇到網絡不通、管道配置錯誤、負載高、管道正常啟動但無數據寫入目標端以及服務正常但缺少數據等問題,此時您可以參考本文的排查方案進行排查解決。

網絡不通

排查方案

常見錯誤案例

建議解決方案

分別檢查Logstash是否與源端和目標端服務在同一網絡下。

說明

阿里云Logstash和阿里云Elasticsearch服務部署在專有網絡環境下,建議您將業務部署在相同的專有網絡下。

源端服務在公網環境下,而Logstash在專有網絡環境下。

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

  • 借助網絡產品功能,打通網絡環境。

  • 參見配置NAT公網數據傳輸,配置NAT網關實現公網數據傳輸。

  • 重新購買同一專有網絡下的Logstash和Elasticsearch實例,并重新配置管道。

檢查NAT配置是否錯誤。

  • NAT條目地址或端口定義錯誤。

  • NAT網關類型不符合場景。

根據具體情況,按照以下方式處理:

  • 檢查NAT條目地址和端口,確保網絡互通。

  • SNAT和DNAT使用場景不一樣,結合業務場景選擇正確的網關轉換方式:

    • SNAT:Logstash主動訪問公網。

    • DNAT:公網服務向Logstash節點推送數據。

檢查是否上傳了正確的JDBC驅動插件。

PolarDB數據同步場景中,使用高版本的JDBC驅動,日志無報錯,但數據寫不到目標端,換成低版本后正常。

選擇正確版本的JDBC驅動,詳細信息請參見配置擴展文件

檢查白名單或安全組是否有限制。

通過Filebeat將數據采集到Logstash中處理,Filebeat部署在用戶側ECS上,但ECS未在安全組開放監聽端口。

根據具體情況,按照以下方式處理:

  • 在對應服務的白名單中,加入Logstash節點的IP地址。

    說明

    獲取Logstash的IP地址的具體操作,請參見查看實例的基本信息

  • 在安全組中開啟服務監聽端口,具體操作請參見添加安全組規則

檢查Logstash管道配置的源端或目標端是否涉及到RAM用戶未授權,導致RAM用戶無法訪問對應服務。

  • Logstash的output配置中指定了RAM用戶訪問Elasticsearch ,但Elasticsearch上未對RAM用戶設置索引權限。

  • Logstash主日志報錯401。

根據具體情況,按照以下方式處理:

  • 為RAM用戶授予對應的權限,具體操作請參見為RAM用戶授權

  • 源端和目標端的用戶名和密碼使用正確,并且密碼中不能包含特殊字符。如果密碼中包含特殊字符,請修改源端或目標端的密碼,請參見重置實例訪問密碼

管道配置錯誤

排查方案

常見錯誤案例

建議解決方案

參見查詢日志,查看Logstash的主日志,檢查日志是否存在報錯。

未安裝插件。例如日志中出現Couldn't find any output plugin named 'file_extend'錯誤提示時,說明集群中沒有安裝logstash-output-file_extend插件。

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

  • 安裝插件。

  • 在管道配置中,刪除該插件的配置信息。

配置中存在隱藏的特殊字符。

手動輸入配置。

filter過濾代碼有誤,例如ruby代碼存在錯誤。

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

  • 將filter模塊配置精簡到原始配置,逐步增加過濾配置,找到根因。并根據實際情況處理。

  • 借助第三方調試工具,調試正確后再上線。

管道參數名或參數值寫入錯誤。例如logstash-output-elasticsearch插件中的hosts寫成了host、RDS實例名稱不正確等。

參見Logstash官方文檔阿里云Elasticseatch官方最佳實踐文檔編寫管道配置。

Logstash和源端或目標端連接超時。例如無法訪問Elasticsearch時,會出現Elasticsearch Unreachable: [http://xxxx:9200/][Manticore::ConnectTimeout] connect timed out的錯誤提示。

確保Logstash和Elasticsearch網絡互通,并輸入正確的源端和目標端地址。

Elasticsearch開啟了HTTPS協議,但Logstash管道配置時使用了http

修改管道配置,使用與源端和目標端相同的訪問協議。

負載問題

排查方案

常見錯誤案例

建議解決方案

參見集群監控章節,檢查節點磁盤使用率是否過高。

  • 在管道配置中,指定隊列類型為永久型(PERSISTED),數據會永久存儲在磁盤上,隨著數據的積累,導致磁盤被打滿。

  • 管道output配置中指定了stdout{}

根據具體情況,按照以下方式處理:

  • 將Logstash管道隊列類型指定為默認的內存型(MEMORY),詳細信息請參見通過配置文件管理管道

    重要

    由于阿里云Logstash暫時沒有清理磁盤的入口,因此當您遇到磁盤打滿的問題時,需要技術人員在后端為您處理。

  • 刪除管道output配置中的stdout{}

    重要

    管道output配置不支持定義stdout{},否則會導致磁盤使用率過高的問題。

參見集群監控章節,檢查節點內存是否溢出OOM(Out Of Memory)。

內存OOM,節點未拉起。

在控制臺重啟對應節點。

檢查源端或目標端是否存在負載問題。

Elasticsearch集群不健康,影響寫入。

暫停寫入,優先恢復集群健康,建議擴容。

管道正常啟動,但無數據寫入目標端

排查方案

常見錯誤案例

建議解決方案

參見使用Logstash管道配置調試功能,開啟Logsatsh的管道配置調試功能(需要安裝logstash-output-file_extend插件),查看調試日志,判斷是否有數據流入Logstash服務:

  • 無數據流入Logstash:檢查源端配置信息是否正確。

  • 有數據流入Logstash:檢查目標端配置信息是否正確。

無數據流入Logstash:

  • 源端配置信息中存在阿里云AccessKey信息,但AccessKey信息已經失效。

  • 源端無實時數據產生,例如Filebeat實時采集文件數據,文件無新數據產生。

根據具體情況,選擇以下方式處理:

  • 檢查配置信息,并修改不準確的信息。

  • 如果Logstash使用了實時流插件,需要確保源端存在實時寫入的數據。

有數據流入Logstash:

  • 阿里云Elasticsearch實例未開啟自動創建索引功能。

  • 目標端禁止寫入,例如Elasticsearch索引禁止寫入。

根據具體情況,選擇以下方式處理:

  • 開啟阿里云Elasticsearch實例的自動創建索引功能。

  • 確保目標端的可寫性。

服務正常缺少數據

排查方案

常見錯誤案例

建議解決方案

根據管道配置場景,結合管道插件屬性排查:

  • 檢查JDBC查詢語句是否正確。

  • 檢查管道配置中的logstash-input-elasticsearch插件是否存在實時寫入的數據。

JDBC場景:

  • 通過查詢語句查詢的結果中缺少數據。

  • 追蹤字段為非遞增數據,例如時間字段或ID。

  • JDBC和Elasticsearch集群不在同一時區。

根據具體情況,選擇以下方式處理:

  • 在源端調試查詢語句。

  • 檢查追蹤字段類型是否為官方建議字段類型,優先將字段類型設置為numerictimestamp

  • 檢查時區差異性,并根據檢查結果進行相應處理。

使用logstash-input-elasticsearch插件場景:

  • 源端數據存在實時寫入。

  • 管道配置中,定時時間設置較小,數據存在大量的寫入,導致目標端數據堆積。

Logstash不適用于數據實時同步場景。如果源端存在實時寫入,建議通過拉長定時查詢時間,減少頻繁在源端和目標端查詢和寫入。

參見查詢日志,查看Logstash慢日志,檢查是否存在寫入慢的問題。

源端和目標端壓力均未達到瓶頸,但Logstash的管道工作線程數使用了官方的默認值。

增加Logstash的管道批大小和工作線程數,詳細信息請參見通過配置文件管理管道