Docker Compose & Elasticsearch: Kibana Beállítás és konfigurálás

Ebben a cikkben megvizsgáljuk, hogyan kell telepíteni  Elasticsearch  és  Kibana használni Docker Compose. Ez az ELK Stack( Elasticsearch, Logstash, Kibana) két kulcsfontosságú összetevője, amelyek segítenek az adatok hatékony keresésében, elemzésében és megjelenítésében. Az alábbiakban bemutatjuk a részletes konfigurációkat és az egyes összetevők működését.

1. Elasticsearch

a. Alapkonfiguráció

Elasticsearch úgy van beállítva, hogy a következő paraméterekkel rendelkező Docker-tárolóban fusson:

  • Kép:  A hivatalos Elasticsearch képet, a verziót  8.17.2 használják.

  • Egycsomópontos mód:  Engedélyezve a környezeti változón keresztül  discovery.type=single-node.

  • Biztonság:  Az X-Pack biztonság engedélyezve van( xpack.security.enabled=true), és a felhasználó jelszava  elastic  a következőre van állítva  YVG6PKplG6ugGOw.

  • Hálózat:  Az Elasticsearch az összes hálózati interfészen figyel( network.host=0.0.0.0).

  • JVM memória: -Xms1g  (kezdeti memória) és  -Xmx1g  (maximális memória)  konfigurálva  .

b. Ports és Volumes

  • Ports:  A port  9200  (HTTP) és  9300  (belső kommunikáció) a tárolóról a gazdagépre van leképezve.

  • Volumes:  Az Elasticsearch adatok a kötetben tárolódnak  elasticsearch-data  .

c. Egészségügyi ellenőrzés

Az állapotellenőrzés be van állítva a felhasználó állapotának figyelésére az  API  Elasticsearch meghívásával  a felhasználóval. Ha az API nem válaszol, a tároló újraindul. /_cluster/health elastic

2. Kibana

a. Alapkonfiguráció

Kibana Elasticsearch úgy van beállítva, hogy a következő paraméterekkel csatlakozzon egy Docker-tárolóhoz, és abban fusson:

  • Kép:  A hivatalos Kibana képet, a verziót  8.17.2 használják.

  • Elasticsearch Kapcsolat:  A Elasticsearch cím a következőre van állítva  http://elasticsearch:9200.

  • Hitelesítés: kibana_user A Kibana  a jelszóval a következőt   használja  YVG6PKplG6ugGOw  a csatlakozáshoz Elasticsearch.

b. Ports és hálózatok

  • Ports:  A port  hozzá van rendelve a tárolóhoz a gazdagéphez az interfész 5601  eléréséhez. Kibana

  • Hálózatok:  Kibana csatlakozik a  elk-network.

c. Függőség a Elasticsearch

Kibana csak akkor indul el Elasticsearch, ha készen van, biztosítva a sikeres kapcsolatot a két szolgáltatás között.

3. Hangerő és hálózat

a. Kötet

  • elasticsearch-data:  Ez a kötet adattárolásra szolgál Elasticsearch, biztosítva az adatok fennmaradását még a tároló törlése esetén is.

b. Hálózat

  • elk-hálózat:  Hálózat  bridge  jön létre a csatlakozáshoz Elasticsearch és Kibana a szolgáltatásokhoz.


4. Hogyan kell használni

a. A Szolgáltatások elindítása

Az indításhoz Elasticsearch és Kibana futtassa a következő parancsot:

docker-compose up -d

b. Felhasználó létrehozása Kibana(ha szükséges)

Ha dedikált felhasználót szeretne használni a számára Kibana, a következő paranccsal hozhat létre egyet:

docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
c. Létrehozása Token(Token használata esetén)

Ha jelszó helyett jelszót szeretne használni token, létrehozhat egyet a következő paranccsal:

docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token

5. Hibaelhárítás

  • Ha hibákat észlel, ellenőrizheti a tárolónaplókat a következő módon:

    docker logs elasticsearch 
    docker logs kibana
  • Újraindításhoz Kibana:

    docker-compose down kibana && docker-compose up -d kibana

Docker Compose A fájl teljes tartalma

Az alábbiakban a fájl teljes tartalma  docker-compose-els.yml  :

version: '3.7'  
  
services:  
  elasticsearch:  
    image: docker.elastic.co/elasticsearch/elasticsearch:8.17.2  
    container_name: elasticsearch  
    environment:  
   - discovery.type=single-node  
   - xpack.security.enabled=true  
   - ELASTIC_PASSWORD=you_password  
   - network.host=0.0.0.0  
   - ES_JAVA_OPTS=-Xms1g -Xmx1g  
    ports:  
   - '9200:9200'  
   - '9300:9300'  
    volumes:  
   - elasticsearch-data:/usr/share/elasticsearch/data  
    ulimits:  
      memlock:  
        soft: -1  
        hard: -1  
    networks:  
   - elk-network  
  
    healthcheck:  
      test: ["CMD-SHELL", "curl -u elastic:YVG6PKplG6ugGOw --silent --fail localhost:9200/_cluster/health || exit 1"]  
      interval: 10s  
      retries: 5  
      start_period: 30s  
      timeout: 5s  
  
  kibana:  
    image: docker.elastic.co/kibana/kibana:8.17.2  
    container_name: kibana
    ports:  
   - '5601:5601'  
    environment:  
   - ELASTICSEARCH_HOSTS=http://elasticsearch:9200  
   - ELASTICSEARCH_USERNAME=kibana_user  
   - ELASTICSEARCH_PASSWORD=you_password  
    networks:  
   - elk-network  
    depends_on:  
      elasticsearch:  
        condition: service_healthy  
  
volumes:
  elasticsearch-data:  
    driver: local  
  
networks:  
  elk-network:  
    driver: bridge

Következtetés

Ezzel Docker Compose a konfigurációval egyszerűen telepítheti Elasticsearch és Kibana kiszolgálhatja adatkeresési, elemzési és vizualizációs igényeit. Testreszabhatja és bővítheti ezt a konfigurációt, hogy megfeleljen projektje speciális követelményeinek!