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
相关推荐
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
筵陌2 小时前
MySQL索引及其底层原理(上)
mysql
怣503 小时前
MySQL子查询零基础入门教程:从小白到上手(零基础入门版)
数据库·mysql
猫头虎4 小时前
基于信创openEuler系统安装部署OpenTeleDB开源数据库的实战教程
数据库·redis·sql·mysql·开源·nosql·database
Nandeska4 小时前
17、MySQL InnoDB ReplicaSet
数据库·mysql
hlABgYML4 小时前
基于NGSIM数据的Wiedemann99跟驰模型标定
mysql
墨理学AI5 小时前
一文学会一点python数据分析-小白原地进阶(mysql 安装 - mysql - python 数据分析 - 学习阶段梳理)
python·mysql·数据分析
洛豳枭薰5 小时前
MySQL 并行复制
数据库·mysql
纤纡.5 小时前
Linux 下 MySQL 数据类型与约束:第三章核心表格归纳与实战应用
linux·mysql
czlczl200209255 小时前
增删改查时如何提高Mysql与Redis的一致性
数据库·redis·mysql