最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ElasticSearch突然采集不到日志問題解決分析

 更新時間:2023年04月13日 11:29:53   作者:爛筆頭  
這篇文章主要為大家介紹了ElasticSearch突然采集不到日志問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

0-前言

組內(nèi)同學(xué)反饋,kibana上最新的k8s日志看不到了。由于我們是采用elk(elastic search+logstash+kibana)的方式下部署日志采集系統(tǒng),其中l(wèi)ogstash以Deamonset方式部署到k8s的每一個node節(jié)點上,先去查看logstash的pod日志,發(fā)現(xiàn):

"reason": "Validation Failed: 1: this action would add [2] shards, but this cluster currently has [999]/[1000] maximum normal shards open;"

可以看到,出錯關(guān)鍵詞是:maximum normal shards open.

1-解決

查閱資料發(fā)現(xiàn),ES7版本以上,默認(rèn)的最大分片數(shù)是1000, 所以最直接的解決方案就是增大ES的maximum shards:

PUT /_cluster/settings
{
  "transient": {
    "cluster": {
      "max_shards_per_node":10000 # 這里可以修改
    }
  }
}

經(jīng)過測試,kibana上可以重新展示最新的log信息。

2-延展

雖然現(xiàn)象問題解決了,但是本質(zhì)問題依舊存在。

思考幾個問題:

  • shard能達到1000,那未來是不是會到達10000,導(dǎo)致出現(xiàn)同樣的問題?
  • 為了避免這樣的問題再次出現(xiàn),那就要控制shard的數(shù)量,那么shard的數(shù)量和什么有關(guān)系?
  • 如何控制shard的數(shù)量?

首先,回答第一個問題,先要搞清楚,什么是shard?

  • 分片是 Elasticsearch 在集群中分發(fā)數(shù)據(jù)的關(guān)鍵。
  • 把分片想象成數(shù)據(jù)的容器。文檔存儲在分片中,然后分片分配到集群中的節(jié)點上。當(dāng)集群擴容或縮小,Elasticsearch 將會自動在節(jié)點間遷移分片,以使集群保持平衡。
  • 一個分片(shard)是一個最小級別“工作單元(worker unit)”,它只是保存了索引中所有數(shù)據(jù)的一部分。
  • 這類似于 MySql 的分庫分表,只不過 Mysql 分庫分表需要借助第三方組件而 ES 內(nèi)部自身實現(xiàn)了此功能。
  • 默認(rèn)情況下,一個索引被分配 5 個主分片

可以看到,分片的數(shù)量和索引的數(shù)量是成正比的,也就是說索引越多,分片越多;再結(jié)合我們ES的實際配置,索引命名方式:環(huán)境+日期,環(huán)境是固定的,但是日期是每天增加的,那么索引每天都會增加,也就是說分片的數(shù)量也會隨著時間推移,逐日增加,直到達到最大索引。

所以,針對第一個問題,即使最大分片數(shù)是10000,也會出現(xiàn)同樣的問題。

那么如何控制shard數(shù)量呢?

其實控制shard數(shù)量,就是控制索引的數(shù)量,控制索引的數(shù)量,就是控制保存的log的數(shù)量,而log的數(shù)量可以通過控制保存的日志有效期天數(shù)來決定。

那么,問題轉(zhuǎn)換為:ES如何只保存固定時間段內(nèi)的日志數(shù)據(jù)?

兩個方案:

  • 通過API接口調(diào)用
curl -H "Content-Type: application/json" -X POST -d '{"query":{"range":{"@timestamp":{"lt":"now-7d","format":"epoch_millis"}}}}'  http://localhost:9200/*/_delete_by_query?conflicts=proceed
 # 這里根據(jù)默認(rèn)的時間來作為查詢的時    間字段,也可以是自定義的, now-7d保留7天的數(shù)據(jù)
  • 通過ES官網(wǎng)工具curator

編寫action.yml

actions:
  1:
    action: delete_indices
    description: "delete index expire date"
    options:
      ignore_empty_list: True
      timeout_override:
      disable_action: False
    filters:
    - filtertype: age
      source: name
      direction: older
      unit: days # 可選days,weeks,months
      unit_count: 60 #保留最近60天
      timestring: '%Y.%m.%d' #這里是跟在索引logstash-后面的時間的格式

加入到crontab定時器即可。

以上就是ElasticSearch突然采集不到日志問題解決分析的詳細(xì)內(nèi)容,更多關(guān)于ElasticSearch采集不到日志的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解SimpleDateFormat的線程安全問題與解決方案

    詳解SimpleDateFormat的線程安全問題與解決方案

    這篇文章主要介紹了SimpleDateFormat的線程安全問題與解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • java項目新建遇到的兩個問題解決

    java項目新建遇到的兩個問題解決

    創(chuàng)建一個新的Java項目可以通過多種方式進行,包括使用集成開發(fā)環(huán)境(IDE)或手動創(chuàng)建,下面這篇文章主要給大家介紹了關(guān)于java項目新建遇到的兩個問題,需要的朋友可以參考下
    2024-06-06
  • MyBatisPlus唯一索引批量新增或修改的實現(xiàn)方法

    MyBatisPlus唯一索引批量新增或修改的實現(xiàn)方法

    本文主要介紹了MyBatisPlus唯一索引批量新增或修改的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • springboot默認(rèn)日志框架選擇源碼解析(推薦)

    springboot默認(rèn)日志框架選擇源碼解析(推薦)

    這篇文章主要介紹了springboot默認(rèn)日志框架選擇源碼解析(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 詳解java封裝返回結(jié)果與RestControllerAdvice注解

    詳解java封裝返回結(jié)果與RestControllerAdvice注解

    這篇文章主要為大家介紹了java封裝返回結(jié)果與RestControllerAdvice注解實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • java無限遞歸遍歷json對象問題

    java無限遞歸遍歷json對象問題

    這篇文章主要介紹了java無限遞歸遍歷json對象問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java中輸出字符的ASCII值實例

    Java中輸出字符的ASCII值實例

    這篇文章主要介紹了Java中輸出字符的ASCII值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java日志框架之logback使用詳解

    Java日志框架之logback使用詳解

    這篇文章主要介紹了Java日志框架之logback使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Maven發(fā)布Jar包中文亂碼解決方法

    Maven發(fā)布Jar包中文亂碼解決方法

    這篇文章主要介紹了Maven發(fā)布Jar包中文亂碼解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用Mybatis-plus實現(xiàn)對數(shù)據(jù)庫表的內(nèi)部字段進行比較

    使用Mybatis-plus實現(xiàn)對數(shù)據(jù)庫表的內(nèi)部字段進行比較

    這篇文章主要介紹了使用Mybatis-plus實現(xiàn)對數(shù)據(jù)庫表的內(nèi)部字段進行比較方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

瑞安市| 鸡西市| 沂水县| 上杭县| 兴山县| 获嘉县| 诸暨市| 广河县| 德阳市| 扶余县| 米林县| 巴中市| 饶平县| 菏泽市| 稻城县| 穆棱市| 宜都市| 富平县| 五莲县| 卓尼县| 太谷县| 岳普湖县| 织金县| 平谷区| 友谊县| 潜江市| 沙湾县| 林口县| 大庆市| 龙江县| 通河县| 连城县| 商城县| 南丰县| 彭山县| 奎屯市| 基隆市| 宜昌市| 玉环县| 香河县| 台州市|