在当今的数字化运维和业务监控中,日志数据被誉为“蕴含金矿的沙砾”。无论是排查故障、监控服务器指标,还是分析用户行为,一套高效、实时的日志分析平台都是必不可少的。
传统的 ELK(Elasticsearch, Logstash, Kibana)栈虽然强大,但往往面临资源消耗高、维护复杂、存储成本昂贵等痛点。INFINI Easysearch 的出现,为企业提供了一个更轻量、更高效、且完全兼容现有生态的替代方案。
本文将带你从零开始,在 10 分钟内构建一套基于 Easysearch 的现代化日志分析平台。
为什么要选择 Easysearch 作为日志底座? #
在开始构建之前,我们先明确为什么 Easysearch 是比原生 Elasticsearch 更适合的选择:
- 无缝兼容:完全兼容 Elasticsearch 的 API 和生态(Filebeat, Logstash, Fluentd 等均可直接接入),无需修改任何业务代码。
- 存储降本:内置 ZSTD 压缩算法,相比原生 ES 可节省 40%-50% 的磁盘空间,对于海量日志场景价值巨大。
- 资源省:优化的内存管理和垃圾回收机制,更低的 CPU 开销,让你的硬件能跑更多的数据。
- 稳定安全:企业级的断路器机制和流控,防止突发日志流量冲垮集群。
方案架构 #
为了保持“开箱即用”的简洁性,我们将构建如下架构:
- 数据源:服务器系统日志或应用日志(Nginx/Java App)。
- 采集端:Filebeat(轻量级日志采集器)。
- 存储与分析引擎:INFINI Easysearch(核心组件)。
- 管理与可视化:通过内置 UI 或安装 INFINI Console(统一管控平台,可选)进行管理。
第一步:部署 Easysearch 搜索引擎 #
Easysearch 的安装非常简单,支持所有主流操作系统。这里以 Linux 环境为例。
1. 下载与安装 #
访问 INFINI Labs 官网下载或使用一键安装脚本进行安装(以 aarch64 为例):
# 准备目录
mkdir -p /data
# 下载并解压,并安装到 /data/easysearch 目录
curl -sSL https://get.infini.cloud | bash -s -- -p easysearch -d /data/easysearch
# 创建用户
groupadd -r -g 602 easysearch && \
useradd -r -l -u 602 -g 602 -s /bin/bash -d /home/easysearch -c "INFINI Easysearch" easysearch
# 初始化(管理员访问密码会在完成时在终端上显示,请妥善保管)
cd /data/easysearch && bin/initialize.sh -s
# 调整目录权限
chown -R easysearch:easysearch /data/easysearch
2. 极简配置 #
对于单节点测试环境,我们需要打开兼容版本参数开关, 以下是除安全配置外的设置。
cluster.name: my-log-application
node.name: node-1
node.attr.rack: r1
path.data: data
path.logs: logs
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
elasticsearch.api_compatibility: true
elasticsearch.api_compatibility_version: "9.2.4"
3. 启动服务 #
# 后台启动 Easysearch(非 root 用户)
runuser -u easysearch -- /data/easysearch/bin/easysearch -d -p /data/easysearch/easysearch.pid
# 验证启动是否成功
curl -ku 'admin:YOUR_PASSWORD' https://localhost:9200
如果你看到类似以下的 JSON 返回,说明 Easysearch 已经就绪。
{
"name": "node-1",
"cluster_name": "my-log-application",
"cluster_uuid": "97jTzBdyS56oju8F88Oukw",
"version": {
"number": "9.2.4",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "f9f6be82d56cc71ad6b0f67b6da32a7898c4c23a",
"build_date": "2025-12-17T01:49:20.267870870Z",
"build_snapshot": false,
"lucene_version": "8.11.4",
"minimum_wire_compatibility_version": "7.10.0",
"minimum_index_compatibility_version": "7.0.0"
},
"tagline": "You Know, for Search"
}
注意:Easysearch 为了保持生态兼容性,我们需要根据生态工具的版本来开启兼容版本参数。
第二步:配置日志采集(以 Filebeat 为例) #
由于 Easysearch 的高度兼容性,你可以直接使用官方的 Filebeat,无需安装任何特殊插件。
1. 安装 Filebeat #
下载并解压与 Easysearch 兼容的 Filebeat 版本(建议 7.10.x 或更高版本,通常都兼容):
# 根据实际场景定义下载版本
VER=9.2.4
# 获取当前系统的架构
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/;s/armv7l/armhf/')
cd /data
# 下载指定版本的 Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${VER}-linux-${ARCH}.tar.gz
# 解压并删除下载文件
tar xzvf filebeat-${VER}*.tar.gz && rm -rf filebeat-${VER}*.tar.gz
# 重命名目录
mv filebeat-${VER}* filebeat
注意:此处,我使用的是最新发布的 filebeat 版本。
2. 配置输出 #
修改 filebeat.yml,设置日志输入路径和输出目标。这里最关键的是:直接将 Output 指向 Easysearch 的 9200 端口。
# filebeat.yml
filebeat.inputs:
- type: filestream
id: system_log
enabled: enable
paths:
- /var/log/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.enabled: false
output.elasticsearch:
hosts: ["es.infini.cloud:9200"]
preset: balanced
protocol: "https"
# 配置为 easysearch ca 证书路径
ssl.certificate_authorities: /data/easysearch/config/ca.crt
username: "admin"
password: "YOUR_PASSWORD"
注意:Easysearch 目前还不支持 constant_keyword 类型,所在需要关闭 setup.template.enabled 避免模板初始化失败。
3. 配置数据压缩 #
通过 Easysearch 内置 UI 中的开发工具,可快速为 filebeat 索引配置 ZSTD 压缩
# 设置 ZSTD 压缩模板
PUT _template/template_filebeat"
{
"index_patterns": [
"filebeat-*"
],
"order": 0,
"settings": {
"index.codec": "ZSTD",
"index.source_reuse": true
}
}
4. 启动采集 #
# 查看最终配置
grep -Ev '^[[:space:]]*(#|$)' filebeat.yml
# 增加 hosts 映射(使用 root 操作)
echo "127.0.0.1 es.infini.cloud" >> /etc/hosts
# 运行 Filebeat 进行日志采集
./filebeat -e
Filebeat 启动后,会立即开始读取日志文件并发送给 Easysearch。你可以看到控制台输出 Connection 成功的日志。

第三步:验证与分析 #
为了获得更好的体验,强烈建议直接访问内置 UI 来查看索引。

进阶技巧:如何让日志平台更高效? #
至此,你的第一个日志平台已经运行起来了。为了让它在生产环境中更强大,建议关注以下 Easysearch 特有功能:
1. 开启 ZSTD 压缩节省成本 #
我们在第一步配置中添加了 index.codec: ZSTD。对于日志这种重复率极高的文本数据,ZSTD 压缩通常能将存储空间压缩到原来的 50% 甚至更低。这意味着同样的磁盘,你可以存储两倍时长的日志。
2. 利用生命周期管理 (ILM) #
日志数据通常具有时效性(如只查最近 7 天)。Easysearch 支持完善的索引生命周期管理,你可以配置策略自动删除过期日志,或将旧日志从热节点迁移到冷节点。
3. 读写分离与流量控制 #
如果你的日志量巨大(例如每天 TB 级),Easysearch 的流量复制和写加速功能可以确保在高并发写入时,查询依然流畅,不会出现 OOM(内存溢出)导致的节点崩溃。
结语 #
通过 Easysearch,我们几乎没有改变传统 ELK 的架构习惯,却获得了一个性能更强、成本更低、维护更简单的日志分析底座。
无论是从 Elasticsearch 迁移,还是从零构建,Easysearch 真正做到了**“开箱即用”**与**“平滑替换”**。现在,就开始探索你的数据价值吧!
想了解更多关于 Easysearch 的高级特性?欢迎访问 INFINI Labs 官网 获取更多技术文档与支持。





