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.log
2)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还原问题现场

原文地址:https://www.cnblogs.com/springforall/p/11334519.html

时间: 2024-08-08 03:55:40

Elasticsearch索引增量统计及定时邮件实现的相关文章

sphinx续5-主索引增量索引和实时索引

原文件地址:http://blog.itpub.net/29806344/viewspace-1400942/ 在数据库数据非常庞大的时候,而且实时有新的数据插入,如果我们不更新索引,新的数据就search不到,全部重新建立索引又很消耗资源,在这种情况下我们就需要使用“主索引+增量索引”的思路来实现实时更新的功能. 因为这时我们有了主索引和增量索引,主索引只需在每天凌晨更新,而增量索引的更新频率设置的很短,这样用户在搜索的时候,可以同时在这两个索引里查找. 首先创建一个计数器: 1.先在mysq

Sybase数据库收集表及其索引的统计信息

更新表及其索引的统计信息: update table statistics 表名 go update index statistics 表名 go 建议此操作在闲时操作.

统计--过滤(筛选)索引的统计信息过期问题测试

基础知识普及: 对于筛选索引,MSDN如是说: 筛选索引是一种经过优化的非聚集索引,尤其适用于涵盖从定义完善的数据子集中选择数据的查询. 筛选索引使用筛选谓词对表中的部分行进行索引. 与全表索引相比,设计良好的筛选索引可以提高查询性能.减少索引维护开销并可降低索引存储开销. 筛选索引与全表索引相比具有以下优点: 提高了查询性能和计划质量 设计良好的筛选索引可以提高查询性能和执行计划质量,因为它比全表非聚集索引小并且具有经过筛选的统计信息.  与全表统计信息相比,经过筛选的统计信息更加准确,因为它

ElasticSearch 索引

ElasticSearch 索引 这是ElasticSearch 2.4 版本系列的第三篇: 第一篇:ES1:Windows下安装ElasticSearch 第二篇:ES2:ElasticSearch 集群配置 第三篇:ES3:ElasticSearch 索引 ElasticSearch是文档型数据库,索引(Index)定义了文档的逻辑存储和字段类型,每个索引可以包含多个文档类型,文档类型是文档的集合,文档以索引定义的逻辑存储模型,比如,指定分片和副本的数量,配置刷新频率,分配分析器等,存储在索

统计--过滤(筛选)索引的统计信息过期问题测试2

在上次的文章 统计--过滤(筛选)索引的统计信息过期问题测试 中,遗留一个问题,当更新行数满足统计自动更新条件是,什么样的查询会触发自动更新呢? 受林勇桦的指点,找到以下2个跟踪标志: 9204 – 打印出被加载的统计信息(With this enabled, we get a report of statistics objects which are considered ‘interesting’ by the query optimizer when compiling, or reco

11G新特性 -- 分区表和增量统计信息

对于分区表,优化器会在全局级别为整个表维护一份统计信息,也会在分区级别为分区表维护一份统计信息. 对于大多数分区,dml一般都是在最近的分区上执行.在11g中,数据库支持只对那些发生一定数据变化的分区收集统计信息(默认的threshold是分区的10%的行) 11g之前,数据库为了获得global统计信息,必须扫描整个表.而在11g中,数据库可以增量维护global统计信息,通过仅扫描那些有一定比例数据发生变化的分区,其他分区仍然使用老的统计信息. 分区表的增量统计信息不会增量维护直方图. 使用

python(flask)+apscheduler定时邮件重发两次的问题

工作中遇到一个需求,要在现有系统(airbnb家的开源平台superset)上添加一个定时邮件的功能. 定时邮件功能使用的是apscheduler这个库,关于怎么用这里就不多赘述了反正网上都有. 主要记录一个问题,使用过程中发现邮件有的时候会重发两次,经过研究之后发现是runserver的时候,调度器实例被创建了两次. 这个主要和系统使用的flask的一个reload机制有关(FLASK_USE_RELOAD = True),reload主要用于代码的热更新(简单解释就是,当你runserver

[转帖]tar高级教程:增量备份、定时备份、网络备份

tar高级教程:增量备份.定时备份.网络备份 作者: lesca 分类: Tutorials, Ubuntu 发布时间: 2012-03-01 11:42 ?浏览 27,065 次 61条评论 一.概述 备份与恢复对于系统维护而言是至关重要的事情.不合理的备份与还原会让你的数据面临丢失的风险.许多用户都在丢失重要数据后才意识到这种风险.而要从这种情况恢复数据将是非常耗时并且困难的.所以我们应该从别人的错误中吸取教训,并确保你的系统处于保护中.先考虑一些问题: 何时进行备份? 如果你可以接受一个星

Elasticsearch入门教程(三):Elasticsearch索引&映射

原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/79213163 索引概念简介 通常说的索引有两种词性,名称和动词. 动词索引indexing,索引一个文档,表示把一个文档存储到索引Index里,可以用来查询和检索,es采用倒排索引 名词索引index,