docker 安装 ELK

本文介绍如何使用Docker部署ELK Stack(Elasticsearch、Logstash、Kibana),实现日志收集、处理及可视化展示。通过配置相关环境变量及网络设置,确保组件间能够高效协同工作。
version: "3.3"
services:
  elasticsearch:
    image:
      elasticsearch:7.17.1
    container_name:
      elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    networks:
      - elastic
    environment:
      - "discovery.type=single-node"
  kibana:
    image:
      kibana:7.17.1
    container_name:
      kibana
    ports:
      - "5601:5601"
    networks:
      - elastic
    depends_on:
      - elasticsearch
  logstash:
    image:
      logstash:7.17.1
    container_name:
      logstash
    ports:
      - "5044:5044"
    # 卷挂载,需要去容器找到对应的配置文件
    volumes:
      - "$PWD/logstash/pipeline/:/usr/share/logstash/pipeline/"
    networks:
      - elastic
    depends_on:
      - elasticsearch
networks:
  elastic:
### 使用 Docker 安装配置 ELK Stack 的最佳实践 #### 1. 创建自定义网络 为了使 Elasticsearch、Logstash 和 Kibana 能够相互通信,建议创建一个专用的 Docker 网络。这可以通过以下命令实现: ```bash docker network create elk ``` 此操作有助于简化容器之间的通信并提高系统的稳定性[^4]。 #### 2. 配置 `docker-compose.yml` 文件 在指定目录下(例如 `/data/docker/elk`),创建或编辑 `docker-compose.yml` 文件以定义 ELK 组件的服务。以下是典型的配置示例: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.16.1 container_name: elasticsearch environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms512m -Xmx512m ports: - "9200:9200" - "9300:9300" networks: - elk logstash: image: docker.elastic.co/logstash/logstash:7.16.1 container_name: logstash volumes: - ./logstash/config/pipeline:/usr/share/logstash/pipeline ports: - "5044:5044" - "9600:9600" networks: - elk depends_on: - elasticsearch kibana: image: docker.elastic.co/kibana/kibana:7.16.1 container_name: kibana ports: - "5601:5601" networks: - elk depends_on: - elasticsearch networks: elk: ``` 通过上述配置文件,可以轻松启动整个 ELK 堆栈[^2]。 #### 3. 启动服务 运行以下命令来启动 ELK 服务: ```bash cd /data/docker/elk docker-compose up -d ``` 该命令将以分离模式启动所有定义的服务,并允许它们在后台运行。 #### 4. Filebeat 集成 Filebeat 是一种轻量级的日志收集工具,通常与 ELK 结合使用。以下是集成 Filebeat 的步骤: ##### a. 拉取 Filebeat 镜像 执行以下命令拉取最新的 Filebeat 镜像: ```bash docker pull docker.elastic.co/beats/filebeat:7.16.1 ``` [^5] ##### b. 下载配置文件 进入目标目录并下载默认的 Filebeat 配置文件: ```bash cd /srv/elk/filebeat curl -L -O https://raw.githubusercontent.com/elastic/beats/8.5/deploy/docker/filebeat.docker.yml ``` [^3] ##### c. 修改配置文件 根据需求调整 `filebeat.docker.yml` 中的内容,确保其指向正确的 Elasticsearch 实例或其他日志源。 ##### d. 启动 Filebeat 最后,在同一网络中启动 Filebeat 容器: ```bash docker run --name=filebeat \ --volume=/srv/elk/filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro \ --volume=/var/lib/docker/containers:/var/lib/docker/containers:ro \ --net=elk \ docker.elastic.co/beats/filebeat:7.16.1 ``` #### 总结 以上方法提供了基于 DockerELK Stack 安装和配置的最佳实践指南。它涵盖了从基础环境搭建到高级功能扩展的关键步骤。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Main12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值