原创 es優化

1 查看es狀態信息的常用命令 #查詢集羣狀態 GET _cluster/health #查詢每個節點堆設置的大小 GET _cat/nodes?h=heap.max #查詢某個索引的分片、段以及所內存 GET _cat/segments/

原创 bulk寫es超時問題

背景 筆者維護的線上EFK集羣,在每天早上8點創建新索引的時候,日誌中總會出現如下的日誌: failed to process cluster event (cluster_update_settings) within 30s [2019

原创 EFK接入kafka消息隊列

1 前言 在筆者最開始維護的日誌服務中,日質量較小,沒有接入kafka。隨着業務規模擴增,日質量不斷增長,接入到日誌服務的產品線不斷增多,遇到流量高峯,寫入到es的性能就會降低,cpu打滿,隨時都有集羣宕機的風險。因此,接入消息隊列,進行削

原创 [FORBIDDEN/12/index read-only

1. 問題描述 logstash寫es大量報錯,主要內容如下: retrying failed action with response code: 403 ({"type"=>"cluster_block_exception", "rea

原创 spring-boot的access日誌格式修改

前言 使用spring-boot框架開發的項目中,默認的logback格式可能默認是如下的格式: <Valve className="org.apache.catalina.valves.AccessLogValve" directory=

原创 Elasticsearch 架構原理—— 新數據寫入過程

前言 在分佈式日誌服務架構中,我們只需要將logstash的output指向ES就可以了,但是,寫入的數據是如何變成Elasticsearch裏可以被檢索和聚合的索引內容的呢?本文重點介紹數據在寫入Elasticsearch索引流程中發生的

原创 《深入理解JVM》讀書筆記

抽時間重新讀了一遍《深入理解JVM》一書。以下爲摘錄內容。 1 java內存區域 java虛擬機運行時數據區 1.1 程序計數器 是一塊較小的內存空間,可以看做是當前線程所執行的字節碼的行號指示器。每條線程都有一個獨立的程序計數器,各條線

原创 使用EFK快速搭建安全可靠的日誌服務

1 前言 EFK是一套分佈式日誌服務解決方案,由各個組件構成。EFK分別是指:elasticsearch、filebeat、kibana。不過在真實的生產環境中,搭建日誌服務可能還需要logstash來進行規制解析,使用kafka進行削峯填