docker-compose部署ELK

本文档详细介绍了如何利用docker-compose部署Elastic Stack(Elasticsearch、Kibana、Logstash),包括elasticsearch集群的数字证书制作、认证设置、kibana配置、logstash的配置文件以及filebeat的配置和启动流程。
摘要由CSDN通过智能技术生成
Elastic Stack
elasticsearch集群
mkdir ~/elasticsearch/data{
   01...03}
mkdir ~/elasticsearch/logs{
   01...03}
制作数字证书
# 启动一个临时容器
sudo docker run --name elasticsearch -exec -it --rm elasticsearch:7.14.1 /bin/bash
./bin/elasticsearch-certutil ca
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 --out config/elastic-certificates.p12
chmod 644 config/elastic-certificates.p12
# 导出容器
sudo docker cp elasticsearch:/user/share/elasticsearch/config/elastic-certificates.p12 ~/elasticsearch/
docker-compose.yml
version: '3.8'

services:
  es01:
    image: elasticsearch:7.14.1
    container_name: es01
    privileged: true
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - xpack.security.enabled=true
      - xpack.security.transport.ssl.enabled=true
      - xpack.monitoring.collection.enabled=true
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.security.transport.ssl.keystore.path=elastic-certificates.p12
      - xpack.security.transport.ssl.truststore.path=elastic-certificates.p12
      - "ES_JAVA_OPTS=-Xms32G -Xmx32G"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ~/elasticsearch/data01:/usr/share/elasticsearch/data
      - ~/elasticsearches/log01:/usr/share/elasticsearch/logs
      - ~/elasticsearch/elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.14.1
    container_name: es02
    privileged: true
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - bootstrap.memory_lock=true
      - xpack.security.enabled=true
      - xpack.security.transport.ssl.enabled=true
      - xpack.monitoring.collection.enabled=true
      - xpack.security.tran
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker-compose 部署 ELKElasticsearch、Logstash、Kibana)的步骤如下: 1. 创建一个目录,例如 elk,用于存放 docker-compose.yml 文件和其他配置文件。 2. 在 elk 目录下创建一个 docker-compose.yml 文件,内容如下: ``` version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 container_name: elasticsearch environment: - discovery.type=single-node ports: - "920:920" - "930:930" volumes: - ./elasticsearch/data:/usr/share/elasticsearch/data networks: - elk logstash: image: docker.elastic.co/logstash/logstash:7.10.2 container_name: logstash volumes: - ./logstash/config:/usr/share/logstash/pipeline/ environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:920 ports: - "500:500" - "960:960" networks: - elk kibana: image: docker.elastic.co/kibana/kibana:7.10.2 container_name: kibana environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:920 ports: - "5601:5601" networks: - elk networks: elk: driver: bridge ``` 3. 在 elk 目录下创建一个 elasticsearch 目录,用于存放 Elasticsearch 的数据。 4. 在 elk 目录下创建一个 logstash 目录,用于存放 Logstash 的配置文件。 5. 在 logstash 目录下创建一个 logstash.conf 文件,用于配置 Logstash 的输入、过滤和输出,例如: ``` input { tcp { port => 500 codec => json } } filter { # 过滤器配置 } output { elasticsearch { hosts => ["http://elasticsearch:920"] index => "logstash-%{+YYYY.MM.dd}" } } ``` 6. 在 elk 目录下运行以下命令启动 ELK: ``` docker-compose up -d ``` 7. 访问 http://localhost:5601 即可打开 Kibana 界面,开始使用 ELK。 注意:在生产环境中,应该根据实际需求对 ELK 进行配置和优化,例如设置 Elasticsearch 的内存和磁盘限制、配置 Logstash 的过滤器和输出、使用安全证书等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值