docs

a slatepencil documentail site

View on GitHub

ELK docker-compose.yml

ELK_VERSION=8.12.2
ELASTIC_PASSWORD=changeme
KIBANA_PASSWORD=Axl8m9GXzn9POvvIDf26

ES_MEM_LIMIT=1073741824
KB_MEM_LIMIT=1073741824
LS_MEM_LIMIT=1073741824

ENCRYPTION_KEY=c34d38b3a14956121ff2170e5030b471551370178f43e5626eec58b04a30fae2

docker-compose.yml

version: '3.6'

services:
  elasticsearch:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: $ELK_VERSION
    container_name: elasticsearch
    volumes:
      - type: bind
        source: ${PWD}/elasticsearch/config/elasticsearch.yml
        target: /usr/share/elasticsearch/config/elasticsearch.yml
        read_only: true
      - type: volume
        source: elasticsearch
        target: /usr/share/elasticsearch/data
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx6g -Xms6g"
      ELASTIC_PASSWORD: ${ELASTIC_PASSWORD}
      discovery.type: single-node
    networks:
      slate:
        ipv4_address: 172.16.8.20
        
  kibana:
    build:
      context: kibana/
      args:
        ELK_VERSION: $ELK_VERSION
    container_name: kibana
    volumes:
      - type: bind
        source: ${PWD}/kibana/config/kibana.yml
        target: /usr/share/kibana/config/kibana.yml
        read_only: true
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
      - ELASTICSEARCH_USERNAME=kibana_system
      - ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch
    networks:
      slate:
        ipv4_address: 172.16.8.21

  connector:
    image: docker.elastic.co/enterprise-search/elastic-connectors:8.12.2.0
    container_name: connector
    entrypoint: /app/bin/elastic-ingest -c /config/config.yml
    volumes:
      - ${PWD}/connector:/config
    networks:
      slate:
        ipv4_address: 172.16.8.22

networks:
  slate:
    name: "slate_optimize"
    ipam:
      driver: default
      config:
        - subnet: "172.16.8.0/24"

volumes:
  elasticsearch:

elasticsearch.yml

---
## Default Elasticsearch configuration from Elasticsearch base image.
## https://github.com/elastic/elasticsearch/blob/master/distribution/docker/src/docker/config/elasticsearch.yml
#
cluster.name: "elasticsearch_production"
# node.name: "elastic_primary"
network.host: 0.0.0.0

## path.data: /data/elastic/data
## path.logs: /data/elastic/logs
## path.plugins: /data/elastic/plugins

## X-Pack settings
## see https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-xpack.html
#
xpack.license.self_generated.type: basic
xpack.security.enabled: true
xpack.monitoring.collection.enabled: true

kibana.yml

---
## Default Kibana configuration from Kibana base image.
## https://github.com/elastic/kibana/blob/master/src/dev/build/tasks/os_packages/docker_generator/templates/kibana_yml.template.js
#
server.name: kibana
server.host: "kibana"

connector.yml

connectors:
-
  connector_id: "ZUFQCI4Bcw7x15pv5e7x"
  service_type: "mongodb"
  api_key: "Y0VGUkNJNEJjdzd4MTVwdkdlNm46S1hjck5NWWtUNnlhVU9qUGxPc1RnQQ=="
elasticsearch:
  host: "http://elasticsearch:9200"
  api_key: "Y0VGUkNJNEJjdzd4MTVwdkdlNm46S1hjck5NWWtUNnlhVU9qUGxPc1RnQQ=="
service.log_level: INFO

change kibana_system password

docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
# or
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system
# then update `env` > `KIBANA_PASSWORD` with newly generated password

plugin

sudo bin/elasticsearch-plugin install analysis-icu
# sudo bin/elasticsearch-plugin install analysis-aliws
sudo bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.16.2/elasticsearch-analysis-ik-7.16.2.zip