部署Docker版本ELK

发布时间 2023-07-01 14:14:36作者: f_carey

部署Docker版本ELK

1 下载docker 镜像

dokcer pull sebp/elk

# 修改系统的vm.max_map_count
vi /etc/sysctl.conf
# 增加以下属性
vm.max_map_count=262144
# 查看修改结果
sysctl -p

2 创建部署ELK的配置文件

  1. 文件目录结构

    [root@ac ~]# tree /root/elk
    .
    ├── docker-compose.yml
    ├── elasticsearch
    │		 └── data
    ├── kibana
    │		 └── kibana.yml
    └── logstash
        ├── config
        └── config.d
    
  2. 先临时创建一个elk 窗口

    docker run --name elk sebp/elk
    
  3. 复制docker中的kibana与logstash的配置文件到宿主机中

    docker cp -a elk:/opt/kibana/config/kibana.yml /root/elk/kibana/
    docker cp -a elk:/opt/logstash/config /root/elk/logstash/config
    
  4. 删除临时创建的容器

    docker rm -f elk
    
  5. 单机版本的docker-compose文件:注意路径需要与实际环境一致

    version: '3'
    services:
      elk:
        image: sebp/elk
        container_name: elk
        restart: always
        ports:
          - "5601:5601"
          - "9200:9200"
          - "5044:5044"
        volumes:
          -       - /root/elk/elasticsearch/data:/var/lib/elasticsearch
          - /root/elk/logstash/conf.d:/etc/logstash/conf.d
          - /root/elk/logstash/config:/opt/logstash/config
          - /root/elk/kibana/kibana.yml:/opt/kibana/config/kibana.yml
        environment:
          - TZ=Asia/Shanghai
    
  6. 配置Logstash

    cat ./logstash/conf.d/yourconfigname.conf
    input {
      beats {
        port => 5044
      }
    }
    output {
      stdout {
        codec => rubydebug
      }
      elasticsearch {
        hosts => ["http://localhost:9200"]
        index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
      }
    }
    
  7. 汉化kibana

    vim ./kibana/kibana.yml
    
    # 在最后一行添加如下内容
    i18n.locale: "zh-CN"