Katika makala hii, tutachunguza jinsi ya kupeleka Elasticsearch na Kibana kutumia Docker Compose. Hivi ni vipengele viwili muhimu vya ELK Stack( Elasticsearch, Logstash, Kibana), vinavyokusaidia kutafuta, kuchambua, na kuibua data kwa ufanisi. Ifuatayo ni usanidi wa kina na jinsi kila sehemu inavyofanya kazi.
1. Elasticsearch
a. Usanidi wa Msingi
Elasticsearch imeundwa kuendeshwa kwenye chombo cha Docker na vigezo vifuatavyo:
Picha: Picha rasmi Elasticsearch, toleo
8.17.2, hutumiwa.Hali ya nodi moja: Imewashwa kupitia utofauti wa mazingira
discovery.type=single-node.Usalama: Usalama wa X-Pack umewezeshwa(
xpack.security.enabled=true), na nenosiri laelasticmtumiaji limewekwaYVG6PKplG6ugGOw.Mtandao: Elasticsearch husikiliza kwenye violesura vyote vya mtandao(
network.host=0.0.0.0).Kumbukumbu ya JVM: Imesanidiwa na
-Xms1g(kumbukumbu ya awali) na-Xmx1g(kumbukumbu ya juu).
b. Ports na Volumes
Ports: Lango
9200(HTTP) na9300(mawasiliano ya ndani) yamepangwa kutoka kwa chombo hadi kwa seva pangishi.Volumes: Data ya Elasticsearch imehifadhiwa katika
elasticsearch-datakiasi.
c. Uchunguzi wa afya
Ukaguzi wa afya umeundwa ili kufuatilia Elasticsearch hali kwa kupiga /_cluster/health API na elastic mtumiaji. Ikiwa API itashindwa kujibu, kontena itaanza tena.
2. Kibana
a. Usanidi wa Msingi
Kibana imeundwa kuunganishwa Elasticsearch na kukimbia kwenye chombo cha Docker na vigezo vifuatavyo:
Picha: Picha rasmi Kibana, toleo
8.17.2, hutumiwa.Elasticsearch Muunganisho: Anwani Elasticsearch imewekwa
http://elasticsearch:9200.Uthibitishaji: Kibana hutumia
kibana_userna nenosiriYVG6PKplG6ugGOwkuunganisha kwa Elasticsearch.
b. Ports na Mitandao
Ports: Mlango
5601umechorwa kutoka kwa kontena hadi kwa seva pangishi ili kufikia Kibana kiolesura.Mitandao: Kibana imeunganishwa kwenye
elk-network.
c. Kutegemea Elasticsearch
Kibana huanza tu baada ya Elasticsearch kuwa tayari, kuhakikisha muunganisho uliofanikiwa kati ya huduma hizi mbili.
3. Kiasi na Mtandao
a. Kiasi
elasticsearch-data: Kiasi hiki kinatumika kuhifadhi Elasticsearch data, kuhakikisha uendelevu wa data hata kama chombo kimefutwa.
b. Mtandao
elk-network: Mtandao
bridgeumeundwa ili kuunganisha Elasticsearch na Kibana huduma.
4. Jinsi ya Kutumia
a. Kuanzisha Huduma
Kuanza Elasticsearch na Kibana, endesha amri ifuatayo:
docker-compose up -d
b. Kuunda Kibana Mtumiaji(Ikihitajika)
Ikiwa unataka kutumia mtumiaji aliyejitolea kwa Kibana, unaweza kuunda moja kwa amri ifuatayo:
docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
Ili kutumia token badala ya nenosiri, unaweza kuunda moja kwa amri ifuatayo:
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token
5. Kutatua matatizo
Ikiwa utapata makosa, unaweza kuangalia kumbukumbu za kontena kwa kutumia:
docker logs elasticsearch docker logs kibanaIli kuanzisha upya Kibana:
Maudhui Kamili ya Docker Compose Faili
Yafuatayo ni maudhui kamili ya docker-compose-els.yml faili:
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
Hitimisho
Kwa Docker Compose usanidi huu, unaweza kusambaza kwa urahisi Elasticsearch na Kibana kutumikia mahitaji yako ya utafutaji, uchambuzi na taswira ya data. Geuza kukufaa na upanue usanidi huu ili kutoshea mahitaji mahususi ya mradi wako!

