部署Docker版本ELK

部署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
        └── conf.d
    
    mkdir -p /root/elk/elasticsearch/data
    mkdir -p /root/elk/logstash/config
    mkdir -p /root/elk/logstash/conf.d
    mkdir -p /root/elk/kibana/kibana.yml
    
  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文件:注意路径需要与实际环境一致

    # cat docker-compose.yml 
    version: '3'
    services:
      elk:
        image: sebp/elk:8.7.0
        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. 创建elk容器

    docker-compose -f ./docker-compose.yml up -d
    
  7. 配置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}"
      }
    }
    
  8. 汉化kibana

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

3 安装IK分词器

  1. elasticsearch-analysis-ik地址

  2. 注意查看es版本信息:通过localhost:9200查看es版本信息,保持ik版本和es一致。

  3. 根据对应版本下载分词器

    # cd /root/elk
    # mkdir cd analysis-ik
    # cd analysis-ik/
    # wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.7.0/elasticsearch-analysis-ik-8.7.0.zip
    # mkdir elasticsearch-analysis-ik-8.7.0
    # unzip -o elasticsearch-analysis-ik-8.7.0.zip -d elasticsearch-analysis-ik-8.7.0
    
  4. 将解压好的IK插件复制到镜像内

    docker cp elasticsearch-analysis-ik-8.7.0 811573c1e575:/opt/elasticsearch/plugins
    
  5. 重启ELK

    docker restart elk
    
  6. 查看是否生效

    POST _analyze
    {
      "analyzer": "ik_smart",
      "text": "我是地球人"
    }
     
     
    POST _analyze
    {
      "analyzer": "ik_max_word",
      "text": "我是地球人"
    }
    
posted @ 2023-07-01 14:09  f_carey  阅读(81)  评论(0编辑  收藏  举报