ELK 是由 Elasticsearch、Logstash、Kibana 组成的日志分析平台,本文通过 Docker 快速部署 Elasticsearch 与 Kibana,并在目标主机上安装 Filebeat 来采集日志,实现轻量级日志监控与分析。


部署步骤

第一步:安装 Docker

此步骤省略,可参考主页文章 👉 Docker安装与配置详细步骤(含阿里云源与镜像加速)


第二步:创建 Docker 网络

创建一个名为 elk 的 Docker 网络,便于容器间通信:

docker network create elk

第三步:运行 Elasticsearch

使用官方镜像启动 Elasticsearch 容器:

docker run -d \
  --name=elasticsearch \
  -v es-data:/usr/share/elasticsearch/data \
  -e "ES_JAVA_OPTS=-Xms256m -Xmx512m" \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  --net elk \
  -p 9200:9200 \
  docker.elastic.co/elasticsearch/elasticsearch:8.6.2

说明:

  • -v es-data:挂载数据卷,保证重启数据不丢失

  • xpack.security.enabled=false:关闭安全认证(方便测试)

  • discovery.type=single-node:单节点模式

访问测试:http://服务器IP:9200
如果返回 JSON 数据,说明启动成功。


第四步:运行 Kibana

启动 Kibana 容器并连接 Elasticsearch:

docker run -d \
  --name=kibana \
  -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" \
  -e "I18N_LOCALE=zh-CN" \
  --net elk \
  -p 5601:5601 \
  docker.elastic.co/kibana/kibana:8.6.2

 打开浏览器访问:
http://服务器IP:5601
进入 Kibana 中文界面。


第五步:安装 Filebeat(日志采集)

在需要采集日志的目标主机安装 Filebeat。

1. 下载 Filebeat
前往 Elastic 官网选择历史版本下载:
👉 https://www.elastic.co/cn/downloads/past-releases

2. 上传至服务器并安装

rpm -ivh filebeat.rpm

3. 编辑配置文件

vim /etc/filebeat/filebeat.yml

4. 配置内容如下:


filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log

setup.ilm.enabled: false
setup.template.name: "test"
setup.template.pattern: "test-*"

output.elasticsearch:
  hosts: ["http://192.168.1.71:9200"]
  index: "test-%{+yyyy.MM.dd}"

配置说明:

  • paths: 采集 /var/log 目录下的所有日志文件

  • setup.ilm.enabled: false: 关闭索引生命周期管理

  • output.elasticsearch: 输出到 Elasticsearch


第六步:启动 Filebeat

systemctl enable filebeat 
systemctl start filebeat 
systemctl status filebeat

验证是否写入索引:
访问 Kibana → Management → Index Patterns
查看是否出现 test-* 索引。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐