1. 程式人生 > 程式設計 >Elasticsearch索引增量統計及定時郵件實現

Elasticsearch索引增量統計及定時郵件實現

0、需求

隨著ELKStack在應用系統中的資料規模的急劇增長,每天千萬級別資料量(儲存大小:10000000*10k/1024/1024=95.37GB,假設單條資料10kB,實際遠大於10KB)的累積成為日常需求。如何以相對簡單的圖形化效果展示資料的增量呢?本文給出思路和實現。

1、問題分解

1.1 ES叢集的資料量統計

ES自帶的命令列統計舉例:

`

curl 'localhost:9200/_cat/indices?v'

`

1.2 如何實現增量?

簡化思路:1)每天的固定時間,如早晨00:00統計一次當天的資料量,形成日誌檔案儲存如:20180228-00:00.log2)20180228的增量為:20180229-00:00.log的資料值-20180228-00:00.log的資料量。(下一天-前一天)

1.3 如何實現統計

簡化思路:1)shell指令碼獲取每天統計的資料量2)Excel公式簡單計算增量

1.4 如何實現定時郵件統計

簡化思路:1)java + 郵件程式 + 讀取指令碼實現。2)crontab實現定時任務處理。

2、具體實現

2.1 單日資料量統計

返回結果如下:

2.2 Java讀取Shell指令碼

2.3 增量資料統計

步驟1:單日資料統計。步驟2:增量資料統計。 步驟1,步驟2資料可以Excel統計得出。

其中單日資料的拷貝shell指令碼如下:

步驟3:Excel生成圖表。

3、難點

4、小結

通過shell指令碼+Excel資料統計,簡單實現了資料增量視覺化。通過java+郵件處理+定時任務,實現了資料的定時統計以及定時郵件預警功能。可以,在此基礎上,做更多的擴充套件應用,比如:

  • 1)叢集監控狀態監控;
  • 2)叢集堆記憶體使用監控;
  • 3)開發中其他相關物理機器記憶體、CPU、磁碟讀寫效能等指標的監控等。

推薦閱讀:

《深入理解 Java 記憶體模型》讀書筆記

面試-基礎篇

Spring Boot 2.0 遷移指南

SpringBoot使用Docker快速部署專案

為什麼選擇 Spring 作為 Java 框架?

SpringBoot RocketMQ 整合使用和監控

Spring Boot 面試的十個問題

使用 Spring Framework 時常犯的十大錯誤

SpringBoot Admin 使用指南

SpringBoot Kafka 整合使用

SpringBoot RabbitMQ 整合使用

上篇好文:

使用Arthas 獲取Spring ApplicationContext還原問題現場