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.2haszná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ó jelszavaelastica következőre van állítvaYVG6PKplG6ugGOw.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) és9300(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.2használják.Elasticsearch Kapcsolat: A Elasticsearch cím a következőre van állítva
http://elasticsearch:9200.Hitelesítés:
kibana_userA Kibana a jelszóval a következőt használjaYVG6PKplG6ugGOwa 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
5601eléréséhez. KibanaHá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
bridgejö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
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 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!

