一、为什么是 Grafana + Easysearch?

运维领域"查日志用 Easysearch,看指标用 Grafana"已成默契。

Grafana 是可观测性领域事实标准,天然支持 Elasticsearch 协议;Easysearch 完全兼容 ES API,两者相加 = 零改造、开箱即用的可视化方案。

核心优势一句话:不用额外中间层,直接把 Easysearch 里的日志、指标、业务数据画成图。 少废话,直接看大屏效果图:


二、数据源配置(关键细节别踩坑)

2.1 前置条件

  • Easysearch 已启动,HTTP 端口默认 9200

  • Grafana 已部署,推荐原生安装,稳定、无额外依赖。

Linux(RPM / CentOS / RHEL):
# 添加 YUM 源
cat <<EOF | sudo tee /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
EOF

sudo yum install -y grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

装完后,访问 http://localhost:3000,默认账号密码 admin / admin,首次登录会提示修改密码。

2.2 避坑1:版本兼容问题

如果直接执行 2.3 步骤,可能会报如上的错误。任何 AI 都没有一次告知如何正确适配。

这个坑我给趟过了,正确配置如下:

需要在 Easysearch 配置文件 easysearch.yml 中添加以下参数:

elasticsearch.api_compatibility: true
elasticsearch.api_compatibility_version: "8.9.0"

记得要重启 Easysearch 后再执行如下的步骤。

2.3 想清楚对谁做可视化!

咱们是对日志可视化,日志来自哪里要搞清楚。

可以是 Logstash 导入到 Easysearch 的,

可以是 MySQL 同步到 Easysearch 的,

可以是 Kafka 同步到 Easysearch 的

......

不一而足。

关键的关键是,数据必须导入到 Easysearch 了!

2.3 添加数据源

路径:Connections → Data sources → Add new data source → Elasticsearch

关键字段逐一说明:

字段

填写说明

URL

http://easysearch-host:9200

(内网直连,勿带斜杠)

Authentication

若开启 Security,选 Basic auth,填账号密码

Index name

目标索引名,支持通配符,如 logs-*

Time field name

时间字段,通常为 @timestamp

Elasticsearch version

选 7.10+,Easysearch 与此版本协议兼容

Max concurrent queries

默认 5,大屏面板多时可适当调高

⚠️ 兼容性重点:

Grafana 数据源版本务必选 7.10+,选低了聚合查询会报错;选 OpenSearch 模式反而不兼容,别踩。

点击 Save & test,看到绿色 Data source connected 即成功。

这里的时间戳字段是和索引字段一一对应的,不要乱写!!否则后续可视化不可实现。

避坑2:安全连接 Easysearch 需要勾选 skip TLS

2.4 成功连接标志

三、Panel 可视化实战

如下仅供参考,搞不定问 AI 也可以搞定。

3.1 时序图(Time Series)—— 趋势监控首选

场景:观察某服务每分钟请求量、错误率趋势。


Query 配置:

  • Query Type: Lucene

  • Query: level:ERROR AND service:"order-service"

  • Metric: Count

  • Group by: Date Histogram(@timestamp, auto)

Grafana Query Builder 截图对应关系:

  • [Metrics]       Count

  • [Group by]      Date Histogram | Field: @timestamp | Interval: auto

  • [Query]         level:ERROR AND service:"order-service"

Tips:

  • Interval 选 auto,Grafana 会根据时间范围自动计算粒度,省心。

  • 多条曲线:复制 Query,修改过滤条件,用 Legend 区分,例如 {{service}}


3.2 饼图(Pie Chart)—— 分布一眼看清

场景:统计各 HTTP 状态码的分布比例。


Query 配置:

  • Query Type: Lucene

  • Query: *

  • Metric: Count

  • Group by: Terms | Field: status_code.keyword | Size: 10

Grafana 会把每个 status_code 值自动映射成饼图的一块。
Tips:

  • 字段必须是 .keyword 类型,否则 Terms 聚合报错。

  • 在 Panel Options 里开启 Legend values: Percent + Value,让饼图更直观。


3.3 Table 面板 —— 明细查询必备

场景:展示最近 100 条错误日志的原始明细。
Query 配置:

  • Query Type: Lucene

  • Query: level:ERROR

  • Metric: Raw Document (不做聚合)

  • Order: @timestamp desc

  • Limit: 100

在 Transformations 里用 Organize fields 选出需要的列,隐藏噪音字段,表格立刻清爽。
Tips:

  • 加一个 Data links,点击行跳转到 Easysearch Kibana/头部工具查看完整原始文档,体验拉满。

  • 颜色映射:level=ERROR 标红,level=WARN 标黄,在 Field overrides 里配置。

3.4 避坑3:饼图不显示

查了 AI,有的说需要安装插件,有的说需要这啊,那啊 的配置,都不对!~ 实操发现,如要改如下截图内容。

配色默认只显示一组颜色,手动点击饼图那里点击修改即可。


四、生产环境注意事项

4.1 性能

  • 避免在大时间范围(如 30 天)用高基数 Terms 聚合,容易 OOM。

  • 合理设置 Max data points,时序图默认 1000 个点足够。

4.2 安全

  • Grafana 配只读账号连 Easysearch,权限最小化。

  • 敏感索引(含 PII)单独控制 Grafana 访问权限。

4.3 可维护性

  • Dashboard 用 JSON 导出,存 Git,版本管理。

  • 变量命名统一规范,后期维护不抓瞎。

五、小结

Easysearch 的 UI 设计效果非常巧妙,但相比 kibana 遗憾的是,缺少 dashboard 可视化面板的 DIY 操作,这个在大型的政府机构、企事业单位对外展示的需求是非常迫切的。

grafana 源自于 kibana,使用起来基本会 kibana 就可以快速使用 grafana。

稍微摸索一下就可以快速用起来!

如果你使用 Easysearch 过程中需要可视化大屏,建议参考本文用起来!!

如果有问题,欢迎留言交流。

参考资料

  • Grafana 文档

https://grafana.com/

  • Easysearch 官方文档

https://infinilabs.cn/products/easysearch/

2026 年国产搜索引擎大盘点:Easysearch 凭什么值得关注?

Elasticsearch 国产化替代 ——信创政策到技术选型的全面指南调研报告 V1.0

EasySearch 最常见问题答疑——国产化搜索引擎实战指南


图片

更短时间更快习得更多干货!

和全球 2100+ Elastic 爱好者一起精进!

图片

AI 时代,抢先一步学习进阶干货!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐