Elasticsearch v9.0 版本最近已发布,而 INFINI Console 作为一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台,是否支持最新的 Elasticsearch v9.0 集群管理呢?本文以 INFINI Console v1.29.2 为例,从指标监控、数据管理、DSL 语句执行等方面进行测试。
部署注册
使用 Docker 快速部署 ES9。
bash
docker run --name es9 -p 9201:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:9.0.0
使用 Docker 部署 Console,请参考文档。
bash
docker run -d --name console -p 9001:9000 infinilabs/console:1.29.2-2008
将 ES9 注册到 Console,默认采集模式为 Agentless。


请求模拟
使用 Loadgen 模拟数据写入和查询。
bash
env:
ES_USERNAME: elastic
ES_PASSWORD: CZ-FHm+M5cbfee_yMPZp
ES_ENDPOINT: https://192.168.0.101:9201
runner:
# total_rounds: 1
no_warm: true
valid_status_codes_during_warmup: [ 200,201,404 ]
# Whether to log all requests
log_requests: false
# Whether to log all requests with the specified response status
log_status_codes:
- 0
- 500
assert_invalid: false
assert_error: false
# Whether to reset the context, including variables, runtime KV pairs, etc.,
# before this test run.
reset_context: false
default_endpoint: $[[env.ES_ENDPOINT]]
default_basic_auth:
username: $[[env.ES_USERNAME]]
password: $[[env.ES_PASSWORD]]
variables:
- name: id
type: sequence
- name: uuid
type: uuid
- name: now_local
type: now_local
- name: now_unix
type: now_unix
- name: list
type: list
data:
- "medcl"
- "abc"
- "efg"
- "xyz"
requests:
- request: #prepare some docs
method: POST
url: /_bulk
body_repeat_times: 5000
body: |
{"index": {"_index": "infinilabs", "_id": "$[[uuid]]"}}
{"id": "$[[id]]", "field1": "$[[list]]", "now_local": "$[[now_local]]", "now_unix": "$[[now_unix]]"}
- request:
method: GET
url: infinilabs/_search
body: |
{"query":{"term":{"id":"$[[id]]"}}}
bash
./loadgen-mac-amd64 -d 300
平台管理
平台概览


监控报表
- 指标概览

- 集群指标

- 节点指标

- 索引指标

- 节点线程指标

- 节点热力图

- 索引热力图

- 查看日志

日志采集需要安装 Agent,关于这块功能后续会进行介绍。
- 节点实时指标

- 索引实时指标

数据管理

开发工具

总结
经过测试,INFINI Console 可以支持 Elasticsearch 9 集群纳管,大家可以下载体验使用。