统计elasticsearch中月每天索引量的脚本

随着业务量的不断上升,最近一段时间需要对生产环境中的elasticsearch集群中的历史索引数据做迁移,而在做迁移前需要对被迁移的elasticsearch索引数据做统计用于迁移后的验证统计,所以就写了一个脚本用于es数据中查询历史索引的量生成报表文件,而在其中有使用过jq工具用于取数,jq的介绍可以查看http://jim123.blog.51cto.com/4763600/1966964

#!/bin/bash
#es_count_report.sh
#used for elasticsearch monthly numbers index
#you must install jq and curl
#writer jim
#2017.09.19
#Position parameter judgment
datetime=$(date +"%Y%m")

if [ $# -lt 1 ];then
    echo "Please enter the date ‘year month‘"
    echo "ex> $0 ${datetime}"
    exit 1
fi
 
if [ $# -gt 1 ]; then
        echo "The input host address are too much"
    echo "ex> $0 ${datetime}"
    exit 1
fi
#这里在elasticsearch中取数时有用到curl和jq
rpm -qa | grep jq && rpm -qa | grep curl
if [ $? -ne 0 ];then
    yum -y install jq curl
fi

es_ip="192.168.2.200"
es_port="9200"
monthtime=$1
#elasticsearch的相关信息及传入的时间
data_index="data-${monthtime}"
index_name_all=$(curl -s "http://${es_ip}:${es_port}/_cat/indices?v" | grep ${data_index} | awk ‘{print $3}‘ | sort)
report_file="$(pwd)/index_num_"${monthtime}".txt"
cat /dev/null > $report_file
#至空生成一个新文件用于记录
for i in $index_name_all
do
    index_num=$(curl -s -XGET "http://${es_ip}:${es_port}/${i}/poll/_search/?pretty" -d ‘{"_source":true,"size": 0}‘|jq ‘.hits.total‘) && echo "$i:$index_num" >> $report_file
done

总之在平时可以根据elasticsearch的api接口实现各种不同的数据统计

时间: 2024-08-25 20:37:08

统计elasticsearch中月每天索引量的脚本的相关文章

如何在Elasticsearch中删除中文索引

背景 因为某种特殊的原因,发现在es集群中出现了中文名称的索引,通过_cat API查询结果如下: GET /_cat/indices/?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open rcp-b nqTIHs6-SSG0K-Pa7guIIA 5 0 1 0 4kb 4kb green open .kibana T4aQP8DTT72aS0qrg7k_-

索引量和site数据的区别及含义

首先来澄清一下site数据与网站索引量的区别: 1.在搜索引擎中输入site指令后得到的是一个网站大致的收录量. 百度官方给出的说明是:site指令查询到的页面只是放出去的页面,也就是用户可以搜索到的页面. 2.而网站的索引量指的是被编入到索引库中的网页数量(更为精准的收录量).百度官方给出的解释是:"站点内容页面需要经过搜索引擎的抓取和层层筛选(可以理解为过滤)后,方可在搜索结果中展现给用户.页面通过系统筛选,并被作为搜索候选结果的过程,即为建立索引. 也就是说索引库中的网页过一段时间才会被陆

在Elasticsearch中实现统计异常检测器——第一部分

Implementing a Statistical Anomaly Detector in Elasticsearch - Part 1 该图显示了4500万个数据点的最小/最大/平均值(超过600小时的75,000个单独时间序列).这个图表中有八个大型的模拟中断,你能发现吗? 没有? 没关系,我也不行.当你将所有数据汇总到一个图表中时,你所有的数据变化往往可以平滑表示,除了最明显的变化.相比之下,这是从组成第一个图形的75,000系列中随机选择的: 这些单独的图表明确的显示可能发生中断的地方

一文带您了解 Elasticsearch 中,如何进行索引管理(图文教程)

欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/essay/about-elasticsearch-index-manage 在 Elasticsearch 中,索引是一个非常重要的概念,它是具有相同结构的文档集合.类比关系型数据库,比如 Mysql, 你可以把它对标看成和库同级别的概念. 今天小哈将带着大家了解, 在 Elasticsearch

用StatSVN统计svn项目中每人代码提交量

用StatSVN统计SVN服务器项目的代码量 下载并安装SVN统计工具StatSVN 1)下载地址:sourceforge.net/projects/statsvn/ 2)解压压缩包,到一个目录,如D:\statsvn 找一个svn上项目 check或update这个项目到D:\statsvn cmd下指定到D:\statsvn 这个目录 利用命令 svn co https://192.168.2.20/svn/DBToolKit/trunk 生成日志svn log -v --xml D:\st

ElasticSearch 如何合理分配索引分片

Elasticsearch 是一个非常通用的平台,支持各种用户实例,并为组织数据和复制策略提供了极大的灵活性.但是,这种灵活性有时会使我们很难在早期确定如何很好地将数据组织成索引和分片,尤其是不熟悉 Elastic Stack.虽然不一定会在首次启动时引起问题,但随着数据量的增长,它们可能会导致性能问题.群集拥有的数据越多,纠正问题也越困难,因为有时可能需要重新索引大量数据.      因此,当我们遇到性能问题时,往往可以追溯到索引方式以及集群中分片的数量.那么就会遇到问题,我们应该有多少分片以

图解Elasticsearch中的_source、_all、store和index属性

Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_source字段里存储的是什么?store属性的true或false和_source字段有什么关系?store属性设置为true和_all有什么关系?index属性又起到什么作用?什么时候设置store属性为true?什么时候应该开启_all字段?本文通过图解的方式,深入理解Elasticsearch中的_source._all.store和index属性. 图1 Elasticsearch中的_source._all.stor

MySQL中B+树索引的使用

1)         不同应用中B+树索引的使用 对于OLTP应用,由于数据量获取可能是其中一小部分,建立B+树索引是有异议时的 对OLAP应用,情况比较复杂,因为索引的添加应该是宏观的而不是微观的. 2)         联合索引 对表上多个列进行索引.联合索引的创建方法与多个索引创建的方法一样.不同之处在于有多个索引页 CREATE TABLE t( a INT, b INT, PRIMARY KEY(a), KEY idx_a_b(a,b) )ENGINE=INNODB 从本质上来说,联合

[ElasticSearch]Java API 之 索引管理

ElasticSearch为了便于处理索引管理(Indices administration)请求,提供了 org.elasticsearch.client.IndicesAdminClient接口.通过如下代码从 Client 对象中获得这个接口的实现: IndicesAdminClient indicesAdminClient = client.admin().indices(); IndicesAdminClient定义了好几种prepareXXX()方法作为创建请求的入口点. 1. 索引