Установка ELK через Docker

Подготовка

Предварительно на хост-машине с докером нужно увеличить параметр vm.max_map_count:

sudo vim /etc/sysctl.conf

добавить:

vm.max_map_count=262144

Пояснение, зачем это делать.

С помощью docker-compose

docker-compose.yml
version: "3.8"

services:

  elasticsearch:
    image: elasticsearch:8.2.0
    environment:
      - node.name=elasticsearch
      - cluster.name=docker-cluster
      - cluster.initial_master_nodes=elasticsearch
      - discovery.seed_hosts=elasticsearch
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - xpack.security.enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata:/usr/share/elasticsearch/data
    ports:
      - "${ES_EXPOSED_PORT}:9200"

  kibana:
    image: kibana:8.2.0
    environment:
      - SERVERNAME=kibana
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    volumes:
      - kibanadata:/usr/share/kibana/data
    ports:
      - "${KIBANA_EXPOSED_PORT}:5601"
    depends_on:
      - elasticsearch

volumes:
  esdata:
    driver: local
  kibanadata:
    driver: local

Установка контейнера "Все в одном"

Контейнер «Все в одном» sebp/elk, документация.

docker pull sebp/elk
docker run --restart=always -p 5601:5601 -p 9200:9200 -p 5044:5044 -e TZ=Europe/Moscow --hostname elk.dev --name elk.dev -d sebp/elk
Нужно обязательно установить TZ: -e TZ=Europe/Moscow
Печать/экспорт