Elasticsearch索引增量統計及定時郵件實現
阿新 • • 發佈:2019-12-31
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、磁碟讀寫效能等指標的監控等。
推薦閱讀:
為什麼選擇 Spring 作為 Java 框架?
SpringBoot RocketMQ 整合使用和監控
上篇好文: