elasticsearch 索引的监控

**

1. 监控索引的健康状态信息

**
如果创建了一个索引test-3-2-1并且你想知道索引test-3-2-1的健康状态可以使用索引的cat端点,代码如下。

GET /_cat/indices/test-3-2-1?v&format=json

会得到类似于以下的健康状态监控信息

[{"health" : "yellow","status" : "open","index" : "test-3-2-1","uuid" : "mTB_AcxlRTGfQE4ec_TtiQ","pri" : "1","rep" : "1","docs.count" : "4","docs.deleted" : "1","store.size" : "24.3kb","pri.store.size" : "24.3kb"}
]

从上述返回结果可以看出索引的健康状态、运行状态、主分片和每个主分片的副本分片的数量、现有文档总数、删除文档总数、索引占用的空间大小、主分片占用的空间大小。由于该索引运行在单节点上,副本分片无法分配,所以主分片占用的空间和索引占用的总空间大小是一样的。索引的健康状态分为3种,如果存在主分片没有得到分配,则健康状态为red;如果存在副本分片没有得到分配,则健康状态为yellow;如果主分片和副本分片都得到了分配,则健康状态为green。为了让副本分片得到分配,在本地再启动一个节点node-2,代码如下。

.\elasticsearch.bat -Epath.data=data2 -Epath.logs=log2 -Enode.name=node-2

再次查看索引test-3-2-1的健康状态,从下述返回结果可以发现,副本分片成功分配后,索引的健康状态变为green,索引占用的空间大小增大一倍。

[{"health" : "green","status" : "open","index" : "test-3-2-1","uuid" : "mTB_AcxlRTGfQE4ec_TtiQ","pri" : "1","rep" : "1","docs.count" : "4","docs.deleted" : "1","store.size" : "48.6kb","pri.store.size" : "24.3kb"}
]

2. 监控索引分片的段数据

如何查看一个索引的段信息? 我们可以通过以下代码去查询

GET /_cat/segments/test-3-2-1?v&format=json

会得到类似于以下的信息

[{"index" : "test-3-2-1","shard" : "0","prirep" : "r","ip" : "127.0.0.1","segment" : "_0","generation" : "0","docs.count" : "0","docs.deleted" : "1","size" : "6kb","size.memory" : "0","committed" : "true","searchable" : "false","version" : "8.6.2","compound" : "true"},
……

或者是采用 _segments endpoint查看 得到类似于以下代码片段的信息

"indices" : {"test-3-2-1" : {"shards" : {"0" : [{"routing" : {"state" : "STARTED","primary" : true,"node" : "pbBVcOsqST6V01O1uXYNRw"},"num_committed_segments" : 4,"num_search_segments" : 2,"segments" : {"_0" : {"generation" : 0,"num_docs" : 0,"deleted_docs" : 1,"size_in_bytes" : 6220,"memory_in_bytes" : 0,"committed" : true,"search" : false,"version" : "8.6.2","compound" : true,"attributes" : {"Lucene50StoredFieldsFormat.mode" : "BEST_SPEED"}},
……

随着时间的增长索引段的信息会越来越长,这个时候我们可以采取段合并的方式去对索引段的信息,这里简单的介绍一下索引段合并的作用

索引段合并是指将多个索引段(Index Segment)合并为一个更大的索引段的过程。索引段是在数据库中用于存储索引数据的逻辑单位。索引段合并的作用主要有以下几点:

  1. 提高查询性能:当数据库中的索引段过多或过小时,查询性能可能会受到影响。通过合并索引段,可以减少索引段的数量,从而提高查询的效率。

  2. 优化存储空间:索引段合并可以减少索引占用的存储空间。合并后的索引段通常会更大,但整体存储效率更高,可以节省磁盘空间。

  3. 优化维护成本:当索引段过多时,数据库的维护成本会增加。合并索引段可以减少维护索引的工作量,简化数据库的管理和维护。

需要注意的是,索引段合并并非适用于所有情况。在某些情况下,合并索引段可能会导致性能下降或增加存储空间的占用。因此,在进行索引段合并之前,需要仔细评估数据库的特定情况,并根据实际需求进行决策。

  1. 监控索引分片的分配

可以使用_cat/shards查看索引的每个分片的分配结果,也可以使用_shard_stores端点查看索引中已经分配过的分片所在的位置,不显示未分配的分片所在的位置。

使用_shard_stores 会得到类似于以下片段的信息

{"indices" : {"test-3-2-1" : {"shards" : {"0" : {"stores" : [{"pbBVcOsqST6V01O1uXYNRw" : {"name" : "node-1","ephemeral_id" : "zbKz3VxERVOyTvq3pdI_nw","transport_address" : "127.0.0.1:9300","attributes" : {"ml.machine_memory" : "16964157440","xpack.installed" : "true","transform.node" : "true","ml.max_open_jobs" : "20"}},"allocation_id" : "SrHQqwYKTJmxtSYK-Mi6hQ","allocation" : "primary"}]}}}}
}
  1. 监控索引分片的恢复

_recovery endpoint

在以下索引分片恢复信息的片段中除了有分片号(id)、恢复类型(type)、起始时间(start time in millis)、结束时间(stop time in millis)、数据来源(source)和目标节点(target)这些常规的字段之外,还包含分片恢复过程中的统计信息,例如恢复了多少个文件(files.total)、占用多大空间(total in bytes)、恢复的事务日志的个数(translog)等。

{"test-3-2-1" : {"shards" : [{"id" : 0,"type" : "EXISTING_STORE","stage" : "DONE","primary" : true,"start_time_in_millis" : 1608079382641,"stop_time_in_millis" : 1608079383111,"total_time_in_millis" : 469,"source" : {"bootstrap_new_history_uuid" : false},"target" : {"id" : "pbBVcOsqST6V01O1uXYNRw","host" : "127.0.0.1","transport_address" : "127.0.0.1:9300","ip" : "127.0.0.1","name" : "node-1"},"index" : {"size" : {"total_in_bytes" : 11631,"reused_in_bytes" : 11631,"recovered_in_bytes" : 0,"percent" : "100.0%"},"files" : {"total" : 10,"reused" : 10,"recovered" : 0,"percent" : "100.0%"},"total_time_in_millis" : 2,"source_throttle_time_in_millis" : 0,"target_throttle_time_in_millis" : 0},"translog" : {"recovered" : 0,"total" : 0,"percent" : "100.0%","total_on_start" : 0,"total_time_in_millis" : 405},"verify_index" : {"check_index_time_in_millis" : 0,"total_time_in_millis" : 0}}]}
}
  1. 监控索引的统计指标

主要使用到endpoint stats

{"_shards" : {"total" : 12,"successful" : 6,"failed" : 0},"_all" : {"primaries" : {……},"total" : {……}},"indices" : {"mysougoulog" : {"uuid" : "4uU50jAeS_G_s3fzmLgRAw","primaries" : {"docs" : {"count" : 2,"deleted" : 0},……},"total" : {"docs" : {"count" : 2,"deleted" : 0},……}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/679870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DataEase

一. DataEase (一). 说明 安装文档 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分…

比特币突然大涨

作者:秦晋 2月9日,除夕夜,比特币突然大涨,最高涨至48219美元,涨幅超6%。据CNBC报道,本周比特币已经上涨10.76%,创下自12月8日以来的最佳的一周。本周ETH上涨8.46%,成为自1月12日以来…

mac无法往硬盘里存东西 Mac硬盘读不出来怎么办 Mac硬盘格式 硬盘检测工具

mac有时候会出现一些问题,比如无法往硬盘里存东西,或者无法往硬盘上拷贝文件。这些问题会给用户带来很大的困扰,影响正常的工作和学习。那么,mac无法往硬盘里存东西,mac无法往硬盘上拷贝怎么办呢?软妹子将为…

DAY9.

1.选择芯片型号 2. 3. 4. 5. 6. 7.

相机图像质量研究(12)常见问题总结:光学结构对成像的影响--炫光

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

关于node与node-sass那些事

昨晚找了之前的一个项目想要复习下,结果npm i报错,大致意思就是noda-sass的版本和node的对不上,那怎么办呢: 1.换node版本,那好吧,首先要明白,对应的版本关系 2.然后我开始用nvm换node版本&am…

MySQL-----DCL基础操作

▶ DCL简介 DCL英文全称是Data ControlLanguage(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 DCL--管理用户 ▶ 查询用户 use mysql; select * from user; ▶ 创建用户 ▶ 语法 create user 用户名主机名 identified by 密码 设置为在任意主机上访问…

2024 年适用于 Windows 的 10 款顶级录屏软件

什么是屏幕录制软件? 屏幕录像机是专用软件,允许用户捕获整个屏幕或显示器的特定部分。无论是捕获窗口的特定区域、完整的网页、可滚动的屏幕截图或包括光标移动的录音等。一款优秀的截屏软件是将所有这些功能集成到一个软件包中,以简化日常工…

小白水平理解面试经典题目LeetCode 102 Binary Tree Level Order Traversal【二叉树】

102. 二叉树层次顺序遍历 小白渣翻译 给定二叉树的 root ,返回其节点值的层序遍历。 (即从左到右,逐级)。 例子 小白教室做题 在大学某个自习的下午,小白坐在教室看到这道题。想想自己曾经和白月光做题&#xff0c…

教材管理系统

文章目录 教材管理系统一、系统演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 教材管理系统 一、系统演示 教材管理系统 二、项目介绍 语言:nodejs 框架:egg.js、Vue 数据库…

2022年9月电子学会青少年软件编程 中小学生Python编程等级考试二级真题解析(选择题)

2022年9月Python编程等级考试二级真题解析 选择题(共25题,每题2分,共50分) 1、运行以下代码,结果输出的是 means[Thank,You] print(len(means)) A、1 B、2 C、6 D、8 答案:B 考点分析:考…

Vulnhub靶机:hackable3

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:hackable3(10.0.2.53) 目标:获取靶机root权限和flag 靶机下载地址:https://www.vulnhub.com/entry/hac…

【经典项目】Java实现打地鼠小游戏(附源码)

一、游戏回顾 打地鼠游戏是一款简单而有趣的反应游戏。游戏中,你需要在地洞中出现的地鼠出现时迅速点击它们,以获得分数。以下是一般的打地鼠游戏玩法介绍: 准备阶段:游戏开始时,你会看到一个由多个地洞组成的游戏界面…

Linux防火墙开放

记录一次问题 写的网络服务无法通信 代码没问题,IP绑定、端口绑定没问题,就是无法进行通信,这里要分2步走。 服务器控制台开放 进入防火墙 添加规则,这里以开放udp的8899端口为例 这里在服务器后台就已经开放了,但此时…

CORS跨域资源共享漏洞

概要 跨域限制最主要的功能就是为了用户的上网安全。 如果没有浏览器同源策略,那么就很容易发生一些安全事件 0x01 跨域限制的作用 跨域限制最主要的功能就是为了用户的上网安全。 如果没有浏览器同源策略,那么就很容易发生一些安全事件 例如: 在用户无感知的情况下,获取…

[2024]常用的pip指令

[2024]常用的pip指令 HI,这里是肆十二,好久不见,大家! 新年好! pip是Python的包管理工具,它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令: 安装包: bash复制代码…

AMD FPGA设计优化宝典笔记(2)亚稳态

一 亚稳态 亚稳态的产生是由于寄存器采样不满足建立时间或保持时间要求导致的,亚稳态的产生是无法避免的,我们能做的只是想办法降低其发生的频率。在跨时钟域设计中,由于时钟域存在跨域,如果不采取手段,则会有很大概率…

Python 列表操作详解

Python 是一种流行的编程语言,它以其简洁的语法和强大的功能而闻名。在 Python 中,列表是一种常用的数据结构,它可以包含任意类型的元素,并且可以随时添加或删除元素。在这篇文章中,我们将详细介绍 Python 列表的一些常…

分析“e^iπ+1=0”的错谬及其违反数学规则

如果评选从远古到现代对人类智商羞辱最严重的事件,欧拉公式“e^iπ-1”若说第二、就没有哪个能称第一。 看下面罗列的关系,数学伦理在大数学家欧拉眼里形同虚设: ①“e^iπ-1”没有代码,不能表示数量变化关系,它来自e^…

【Linux学习】线程详解

目录 十八.多线程 18.1 线程与进程 18.2 内核视角看待创建线程与进程 18.3 线程优缺点总结 线程的优点: 线程的缺点: 线程的用途: 18.4 线程与进程的联系 十九.线程控制 19.1 POSIX线程库 19.2 线程创建 19.3 线程等待 19.4 线程终止 19.5 线…