es中的index大小信息存入mysql

前言

直接上干活

一、数据库信息

shell 复制代码
mysql -h172.21.240.11 -P3307 -uroot -p"123456" -D elk
# 数据量增长情况
# 一张表,一天增量500条,一年182500条,5年共912500条。5年满打满算才100w条。
  1. 数据库信息 mysql -h172.21.240.11 -P3307 -uroot -p"123456" -D elk

  2. 表信息

js 复制代码
create table ks_indices
(
`index_name` varchar(255) not null,
`topic_name` varchar(255),
`index_date` date,
`index_idc` varchar(255),
`index_size` varchar(255),
`index_size_t` BIGINT,
`create_time` date,
`update_time` date,
`delete_time` date,
`is_tag` BOOLEAN,
PRIMARY KEY (index_name)
) CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

#
CREATE TABLE wg_indices (
`index_name` VARCHAR(255) not null,
`topic_name` VARCHAR(255),
`index_date` DATE,
`index_idc` VARCHAR(255),
`index_size` VARCHAR(255),
`index_size_t` BIGINT,
`create_time` DATE,
`update_time` DATE,
`delete_time` DATE,
`is_tag` BOOLEAN,
PRIMARY KEY (index_name)
) CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

二、python处理逻辑

Prometheus的es exporter地址为: http://172.25.178.245:9114/metrics,其中有一个metrics为elasticsearch_indices_store_size_bytes_total,形式为 elasticsearch_indices_store_size_bytes_total{cluster="00g0sr8qbpab",index=".kibana_1"} 1.523535e+06

现在取 elasticsearch_indices_store_size_bytes_total 指标中的index(日期为前一天的所有index)和最后的size值,如果size为科学计数法1.523535e+06则需要换算成int型的数字,index插入到elk.ks_indices的index_name中;

size插入到lk.ks_indices的index_size中; index的名字中剔除日期部分(如: -2024.11.05 后缀剔除),然后插入到elk.ks_indices的topic_name中; 插入时间获取当前时间,然后插入到elk.ks_indices的create_time 字段中; 在elk.ks_indices的index_idc 中写入yumc3 其余字段保持空。

三、插入后的数据信息

四、补充

  1. 相关命令
js 复制代码
#
select count(1) from elk.ks_indices\G

#
select * from elk.ks_indices limit 5;
select * from elk.ks_indices limit 1,20 \G
select * from elk.ks_indices where topic_name="mid-uh" limit 10;
select count(1) from elk.ks_indices limit 5;
delete from elk.ks_indices limit 5;
alter table elk.ks_indices modify index_size varchar(255) comment '单位GB';

#
select * from elk.wg_indices limit 5;
select * from elk.wg_indices limit 1,20 \G
select * from elk.wg_indices where topic_name="mid-uh" limit 10;
  1. python执行方式
js 复制代码
python3 /data/jenkins/jenkins_home/workspace/ELK/get.elk.log.size/ks_elk_indices_size.py >> ./elk_topic.log

python3 /data/jenkins/jenkins_home/workspace/ELK/get.elk.log.size/wg_elk_indices_size.py >> ./elk_topic.log
相关推荐
元Y亨H3 小时前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵1 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking1 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客3 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
Jim6005 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL5 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
云技纵横8 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二8 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程