elastic-search ⭐
本页由项目自动归档生成,源码与最新进展以 GitHub 仓库为准。
项目简介
一个基于 Docker Compose 的 OpenSearch(Elasticsearch 开源分支)日志存储、搜索与分析环境,配套 OpenSearch Dashboards 做可视化,并通过 Filebeat / Logstash 采集日志。它面向想要在本地快速拉起一套可观测日志平台、熟悉 OpenSearch 索引模式 / 聚合 / 仪表板用法的开发者与运维人员。
技术栈
| 维度 | 技术 |
|---|---|
| 主要语言/框架 | Docker / Docker Compose,Shell(Bash 脚本),OpenSearch(Elasticsearch 开源分支) |
| 关键依赖/库 | opensearchproject/opensearch:2.11.0、opensearchproject/opensearch-dashboards:2.11.0、docker.elastic.co/logstash/logstash:7.17.10、docker.elastic.co/beats/filebeat:7.17.10(注:OpenSearch 2.11 与 Elastic 7.17 系列组件混合使用) |
| 数据存储 | OpenSearch 索引(数据卷 elasticsearch-data);日志经 Filebeat / Logstash 采集后写入 |
| 运行/部署方式 | docker-compose up -d;针对 Apple Silicon(ARM64)优化;端口 9200(OpenSearch)、9600(Logstash)、5601(Dashboards);单节点 discovery.type=single-node,本地开发禁用安全插件 |
核心功能 / 亮点
- OpenSearch 2.11 日志存储 / 搜索 / 聚合:兼容 Elasticsearch API,支持全文搜索、结构化查询与聚合分析(
docker-compose.yml中opensearch服务)。 - OpenSearch Dashboards 可视化:
opensearch-dashboards服务提供 Discover、可视化图表与监控仪表板(DASHBOARDS_GUIDE.md含完整图文教程)。 - 日志采集管线:
filebeat/filebeat.yml采集 →logstash/config/logstash.conf(:5044接收、:9600监控)→ OpenSearch。 - 索引模式创建脚本(
create-index-pattern.sh):通过 Dashboards API 创建logs-*索引模式(时间字段@timestamp),UI 创建失败时的兜底。 - 测试与验证(
test-search.sh、TEST_DATA.md、logs/示例日志:application.log文本日志与json/app.logJSON 日志)。 - ARM64 优化与本地友好配置:单节点、关闭安全插件(
plugins.security.disabled=true、DISABLE_SECURITY_DASHBOARDS_PLUGIN=true),便于本机直接体验。
目录结构
1 | elastic-search/ |
相关链接
- GitHub 仓库:elastic-search
- 本地访问:OpenSearch Dashboards
http://localhost:5601(需先docker-compose up -d并创建索引模式)