Cerebro是一款专为Elasticsearch设计的开源管理工具,体积小、启动快,能够直观查看集群健康状态、管理索引数据和执行搜索查询,适合开发和运维人员快速检查与管理ES集群。
准备工作
获取集群连接地址
您可以通过VPC私网或公网地址连接到ES集群。
VPC私网连接地址:通过VPC私网地址访问ES集群,延迟低,稳定性高。该地址在集群创建成功后默认开启。
公网连接地址:通过公网访问ES集群,需手动开启。
如何开启公网访问:
登录ES控制台,进入实例基本信息页面。
单击左侧导航栏 配置与管理>安全配置,开启公网访问。待集群状态由生效中变更为生效时,表示公网访问已成功开启。
重要公网地址会降低ES集群的安全性,如果使用公网地址,请务必配置IP白名单,并在使用完毕后及时关闭公网访问。
设置IP白名单
为保障集群安全,您需要将待访问设备的IP地址加入ES集群的VPC私网或者公网白名单,该IP地址所属的设备才能访问ES集群。
获取待访问设备IP。
您可以参照以下场景,获取待访问设备的IP地址。
场景
需获取的IP地址
获取方式
在本地设备中连接ES集群
本地设备公网IP。
如果本地设备位于局域网(如家庭或公司网络)内,需将该局域网的公网出口IP地址添加到ES集群的公网白名单中。
通过
curl ipinfo.io/ip查询本地设备公网IP。在不同VPC的ECS实例中连接ES集群
ECS实例的公网IP
登录ECS控制台,在实例列表查看。
在相同VPC的ECS实例中连接ES集群
ECS实例的私网IP
登录ECS控制台,在实例列表查看。
将获取到的IP地址添加到白名单分组中。
登录ES控制台,进入实例基本信息,单击左侧导航栏 配置与管理>安全配置,单击修改在弹窗中设置VPC私网或者公网访问白名单。

单击default分组右侧的配置 ,在弹出的对话框中添加VPC私网或者公网白名单。单个集群最多可配置300个IP或者IP网段,多个IP或者IP网段之间用英文逗号隔开,且逗号前后不能有空格。
也可单击新增IP白名单分组,自定义分组名称。
白名单分组仅用于IP地址管理,不影响访问权限。所有分组内的IP地址权限相同。

配置类别
格式和示例值
重要注意事项
IPv4地址格式
单个IP:
192.168.0.1网段:
192.168.0.0/24
禁止访问:
127.0.0.1允许所有访问:
0.0.0.0/0重要存在高危风险,强烈建议不要配置
0.0.0.0/0。部分集群版本(如7.16/8.5)和地域不支持
0.0.0.0/0,请以控制台界面或者报错提示为准。
IPv6地址格式
(仅v2部署架构且所属地域为杭州的集群支持)
单个IP:
2401:XXXX:1000:24::5网段:
2401:XXXX:1000::/48
禁止所有访问:
::1允许所有访问
::/0重要存在高危风险,强烈建议不要配置
::/0。部分集群版本不支持
::/0,请以控制台界面或者配置提示信息为准。
配置完成后,单击确认。

连接集群
1. 安装并配置Cerebro
以Linux系统为例连接ECS实例。
Cerebro运行在Java虚拟机上,需要在ECS实例中安装JDK,版本为1.8及以上,详细步骤请参见手动部署OpenJDK。
下载并解压Cerebro安装包。
# 下载Cerebro v0.9.0 wget https://github.com/lmenezes/cerebro/releases/download/v0.9.0/cerebro-0.9.0.tgz # 解压 tar -zxvf cerebro-0.9.0.tgz修改Cerebro配置文件,关联待访问的ES实例。
打开配置文件application.conf。
vim cerebro-0.9.0/conf/application.conf按照以下说明配置hosts并保存文件。
说明支持关联多个实例,多个实例之间用英文逗号(,)分隔。
参数
说明
host
准备工作中已获取的集群连接地址:
VPC私网连接地址:格式为
http://<ES实例的私网地址>:9200。公网连接地址:格式为
http://<ES实例的公网地址>:9200。
ES集群默认开启http协议,建议您开启并使用https协议,确保数据传输过程中的机密性、安全性和完整性。登录ES控制台进入实例基本信息,单击左侧导航栏 配置与管理>安全配置,开启https协议。
重要启用HTTPS协议前,请务必更新应用程序代码以支持HTTPS连接方式。否则,现有使用HTTP协议的代码将无法建立安全连接,导致连接失败。
name
ES集群ID,登录ES控制台在ES实例列表页面获取ID。
username
默认访问用户名为elastic,该用户具有集群最高权限(可理解为管理员账户)。
出于安全考虑,不建议在生产环境中直接使用此默认管理员账户,您可以通过Elasticsearch X-Pack的RBAC(Role-based Access Control)机制,自定义角色并分配权限,然后将角色分配给用户,实现权限精细化管控,具体操作请参见通过Elasticsearch X-Pack角色管理实现用户权限管控。
password
UserName对应的密码。
2. 启动Cerebro服务
您可以根据需要选择在前台或者后台来启动Cerebro。
前台启动(用于调试)
cd cerebro-0.9.0 bin/cerebro启动成功后,返回如下结果。

后台启动(推荐生产环境使用)
cd cerebro-0.9.0 nohup bin/cerebro > cerebro.log 2>&1 &您可以通过
tail -f cerebro.log查看日志,通过pkill -f cerebro停止服务。
3. 访问Cerebro并连接ES集群
常见问题与故障排查
问题 1:无法启动 Cerebro 服务
可能原因:JDK未安装或版本过低、端口被占用、文件权限不足。
解决方案:检查
java -version,确保版本不低于1.8;在application.conf中修改http.port以更换端口;为bin/cerebro脚本添加执行权限chmod +x bin/cerebro。
问题 2:无法连接到 ES 集群
可能原因:IP白名单未配置、ES地址或端口错误、ECS安全组未放行端口、用户名或密码错误。
解决方案:检查阿里云ES控制台的IP白名单配置;确认
application.conf中的host地址正确;检查ECS安全组是否放行了ES端口(9200)和Cerebro端口(9000);确认用户名和密码无误。


