上次在《 INFINI Easysearch 尝鲜 Hands on》中,我们部署了两个节点的 Easysearch,并设置了 Console 进行集群监控。今天,我们将介绍 INFINI Console 的使用。
Dashboard #
INFINI Console 是一个功能强大的数据管理和分析平台,其仪表盘页面提供了直观简洁的界面,使用户能够快速了解系统状态并进行管理操作。本文将详细介绍仪表盘页面的各项功能。
仪表盘顶部显示系统的实时告警、通知和待办事项的数量,当前数据显示:
- 告警:0 条
- 通知:0 条
- 待办:0 条
在仪表盘的中心区域,用户可以看到几项关键的系统概览信息:
- 集群数量:当前有 3 个集群正在运行。
- 节点数量:系统中有 16 个节点。
- 主机数量:共有 3 台主机。
- 已用存储:系统已使用存储空间为 2.0GB。
仪表盘页面还提供了几个常用操作的快速入口,方便用户迅速访问常用功能:
- 集群注册:用户可以通过此入口快速注册新的集群。
- 数据探索:用户可以访问数据探索工具,对系统中的数据进行分析和查询。
- 告警管理:提供对告警信息的管理功能,用户可以查看和处理告警。
- 安全管理:安全管理入口帮助用户维护系统的安全设置和策略。
仪表盘右侧显示了集群的动态信息,包括最近的操作日志。例如:
- 2024-07-03 22:43:43,index medcl 在 cluster infiniLabs 中的状态更新。
- 2024-07-03 22:06:43,index medcl 在 cluster infiniLabs 中被创建。
集群管理页面 #
集群管理页面主要分为几个部分:顶部的功能选项卡、中部的集群列表、以及右侧的筛选和排序选项。
页面顶部的功能选项卡包括以下几项:
- Clusters (集群):显示当前系统中的所有集群。
- Nodes (节点):显示集群中的节点详细信息。
- Indices (索引):显示集群中的索引信息。
- Hosts (主机):显示系统中的主机信息。
集群列表展示了每个集群的详细信息,包括:
- 集群名称:每个集群的名称,如 “infinilabs”、“mycluster”、“INFINI_SYSTEM (JeanGrey)”。
- 集群健康状态:以颜色条的形式显示最近 14 天的集群健康状态(绿色表示健康,黄色表示有警告)。
- 节点数量:集群中包含的节点数量。
- 索引数量:集群中的索引数量。
- 分片数量:集群中的分片数量。
- 文档数量:集群中存储的文档数量。
- 磁盘使用率:集群的磁盘使用情况。
- JVM 堆内存使用率:集群的 JVM 堆内存使用情况。
- 索引速率:当前集群的索引速率(每秒索引数)。
- 搜索速率:当前集群的搜索速率(每秒搜索数)。
页面右侧提供了丰富的筛选和排序选项,可以根据以下条件筛选和排序集群:
- 健康状态 (Health Status):根据集群的健康状态筛选,如绿色(健康)和黄色(警告)。
- 分布 (Distribution):根据集群的分布类型筛选,如 “easysearch” 和 “elasticsearch”。
- 版本 (Version):根据集群使用的软件版本筛选,如 Easysearch 1.8.2 和 Elasticsearch 7.10.2。
- 区域 (Region):根据集群所在的区域筛选,如 “china” 和 “default”。
- 标签 (Tags):根据自定义标签进行筛选。
接下来分别介绍节点、索引和主机层面的信息,这些监控指标与集群层面大同小异。
节点监控 #
索引监控 #
主机监控 #
包括了常规的 CPU、内存、磁盘、网络的监控。
监控指标页面 #
监控报表页面提供了对集群运行状况的详细监控和分析功能。用户可以选择最近 15 分钟、1 小时、24 小时等不同时间范围查看数据,并手动点击刷新按钮更新数据,以获取最新的监控信息。
概览信息 #
显示当前集群的基本状态,包括:
- 集群名称:如 “infinilabs”。
- 在线时长:如 “3 天”。
- 集群版本:如 “1.8.2”。
- 健康状态:如 “green”。
- 节点数:如 “2”。
- 索引数:如 “38”。
- 主/总分片:如 “38/76”。
- 未分配分片:如 “0”。
- 文档数:如 “656,803”。
- 存储空间:如 “1007.2MB/385.4GB”。
- JVM 内存:如 “1023.0MB/2.0GB”。
监控报表页面还提供了多个性能指标的图表,包括:
索引吞吐 (doc/s)
- Total Indexing:总索引吞吐量。
- Primary Indexing:主分片的索引吞吐量。
查询吞吐 (query/s)
- Total Query:总查询吞吐量。
索引延迟 (ms)
- Indexing Latency:索引延迟时间。
- Delete Latency:删除操作的延迟时间。
查询延迟 (ms)
- Query Latency:查询延迟时间。
- Fetch Latency:获取操作的延迟时间。
- Scroll Latency:滚动操作的延迟时间。
点击“Advance”可以查看更多监控指标:
节点级别性能监控 #
包括 CPU、负载、JVM 内存、剩余使用空间及磁盘空间、集群启动时间和索引读写情况。
索引级别监控 #
包括集群内索引的数量、状态、主分片和副本分片数量、文档条数和占用空间。
集群动态页面 #
提供集群中各类事件和活动的详细记录和监控功能。
别名管理 #
别名管理页面提供了对索引别名的管理功能,使用户可以方便地管理和配置 Elasticsearch/EasySearch 的索引别名。
创建别名 #
可以通过 DSL 创建别名。例如,创建一个名为 my_index_alias 的别名指向 my_index
:
POST /_aliases
{
"actions": [
{
"add": {
"index": "my_index",
"alias": "my_index_alias"
}
}
]
}
删除别名 #
删除一个别名同样可以通过 REST API 实现:
POST /_aliases
{
"actions": [
{
"remove": {
"index": "my_index",
"alias": "my_index_alias"
}
}
]
}
索引轮换 #
索引轮换是一种常用的索引管理策略,特别适用于日志和时间序列数据的场景。通过索引轮换,用户可以在索引达到一定条件(如大小或文档数量)时,创建一个新的索引来继续存储数据,而旧的索引可以继续用于查询。
- 设置写别名:创建一个指向当前写入索引的别名,例如 current_write_index。
- 定义索引轮换条件:可以基于索引的大小、文档数量或时间来定义轮换条件。
- 索引并更新写别名指向这个新索引。
创建初始索引并设置写别名:
PUT /my_index-000001
{
"aliases": {
"current_write_index": {}
}
}
使用 /_rollover API 定义轮换条件并执行轮换:
POST /current_write_index/_rollover
{
"conditions": {
"max_age": "7d",
"max_docs": 1000000
},
"settings": {
"number_of_shards": 1
},
"aliases": {
"current_write_index": {}
}
}
通过这种方式,查询操作可以透明地访问所有历史数据,而写操作总是指向最新的索引。
在 INFINI Console 中提供了可视化创建索引及别名的方式。页面右上角提供了新建按钮,用户可以通过点击该按钮创建新的索引别名,填写别名名称、关联索引、索引路由、搜索路由和过滤查询等配置。
平台监控 #
展示了多个关键指标的监控图表,包括:
- 健康状态 (Health):显示系统当前的健康状态。如果没有数据,则显示“暂无数据”。
- 引擎分布 (Engines):展示系统中不同搜索引擎的分布情况,例如 EasySearch 和 Elasticsearch 的比例。图表显示当前 EasySearch 占 67%,Elasticsearch 占 33%。
- 提供商 (Providers):显示系统中使用的云服务提供商信息。在示例中,所有资源都托管在 AWS 上。
- JDK 版本 (JDK):显示系统中使用的 JDK 版本信息。在示例中,所有节点都使用 JDK 版本 11.0.20。
- 磁盘使用情况 (Disk Utilization) - Top 10:显示磁盘使用率最高的前 10 个节点。在示例中,easysearch-node1 和 easysearch-node2 的磁盘使用率均为 4%。
- JVM 使用情况 (JVM Utilization) - Top 10:展示 JVM 使用率最高的前 10 个节点。在示例中,infinilabs 集群的 easysearch-node1 和 easysearch-node2 节点的 JVM 使用情况有详细的时间序列数据,显示了不同时间点的使用率变化。
我们还能够看到更多指标:
数据探索 #
在数据探索里,可以根据时间、字段等条件对索引或者视图下的数据进行搜索查询和分析,类似 Kibana 的 Discover。
这里可以看到集群的警报,目前集群运行良好,没有任何警报。
内部会预设一些警报规则,如下:
点进去一个请求,比如磁盘的警告,可以针对不同的使用量设置不同的警告级别和通知。
这里针对警报设置警报,可以看到现在支持很多平台,Discord、飞书、邮件、微信、Slack 以及钉钉。
点击进去可以查看,对于社交软件而言,其实是使用 Webhook 进行通知,除此之外也支持配置邮件服务器和自定义的 Webhook 进行通知。
开发工具 #
Console 的开发工具相当于 Kibana DevTool 的升级版,使用上基本没有大的区别,除了支持 DSL 之外,还支持多集群 Tab 切换、常用命令快速 Load、SQL 查询等。
集群连接凭证管理 #
可以看到连接这三个集群的凭证管理,目前都是有效的。
后台用户授权 #
可以添加用户以及修改 Console 管理界面的密码。目前设置了 admin 账号。
审计日志 #
追踪对集群的操作,捕获查看集群监控信息以及集群索引的操作。
结论 #
INFINI Console 的仪表盘页面集成了系统的关键信息和快捷操作入口,使用户可以高效地管理和监控系统。通过详细的概览信息、实时的告警通知、快速的功能入口和动态日志,用户能够对系统的运行状态一目了然,并快速响应各种管理需求。这个设计不仅提升了用户的工作效率,还确保了系统的安全和稳定运行。
INFINI Console 的集群管理页面提供了对系统集群的全面监控和管理功能。通过详细的集群信息展示、便捷的功能选项卡切换以及丰富的筛选和排序功能,用户可以高效地管理和监控系统中的集群状态。这不仅提升了运维效率,还确保了系统的稳定运行和高效管理。
INFINI Console 的节点管理页面提供了对集群节点的全面监控和管理功能。通过详细的节点信息展示、便捷的功能选项卡切换以及丰富的筛选和搜索功能,用户可以高效地管理和监控系统中的节点状态,从而提升运维效率,确保系统的稳定运行和高效管理。
INFINI Console 的监控报表页面提供了对集群运行状况的全面监控和分析功能。通过详细的概览信息和多个性能指标图表,用户可以高效地监控和管理集群的运行状态。这不仅提升了系统运维效率,还确保了集群的稳定运行和高效管理。
通过这些功能,INFINI Console 为用户提供了全面的系统管理工具,帮助他们高效地应对各种运维挑战,确保系统的高效、安全、稳定运行。
作者:韩旭,亚马逊云技术支持,亚马逊云科技技领云博主,目前专注于云计算开发和大数据领域。
原文:https://blog.csdn.net/weixin_38781498/article/details/140165173
关于 Easysearch 有奖征文活动 #
无论你是 Easysearch 的老用户,还是第一次听说这个名字,只要你对 INFINI Labs 旗下的 Easysearch 产品感兴趣,或者是希望了解 Easysearch,都可以参加这次活动。
详情查看: Easysearch 征文活动