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
相关推荐
記億揺晃着的那天13 小时前
数据库中 ACID 四个核心特性
数据库·mysql·oracle·系统设计·acid
一抓掉一大把14 小时前
RuoYi .net-实现商城秒杀下单(redis,rabbitmq)
redis·mysql·c#·rabbitmq·.net
gx234814 小时前
MySQL-5-触发器和储存过程
android·mysql·adb
Zhao_yani15 小时前
Apache Drill 连接 MySQL 或 PostgreSQL 数据库
数据库·mysql·postgresql·drill
计算机学姐18 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
learning-striving1 天前
SQL server创建数据表
数据库·sql·mysql·sql server
切糕师学AI1 天前
SQL中的函数索引/表达式索引
数据库·sql·mysql·postgresql·oracle
S_h_a_1 天前
八股-Mysql 基础篇(1)
数据库·mysql
Dxy12393102161 天前
MySQL的GROUP_CONCAT函数详解
数据库·mysql
小白银子1 天前
零基础从头教学Linux(Day 60)
linux·数据库·mysql·oracle