اس آرٹیکل میں، ہم دریافت کریں گے کہ کس طرح تعیناتی Elasticsearch اور Kibana استعمال کرنا ہے Docker Compose ۔ یہ ELK Stack( Elasticsearch, Logstash, Kibana) کے دو اہم اجزاء ہیں، جو آپ کو ڈیٹا کو مؤثر طریقے سے تلاش کرنے، تجزیہ کرنے اور تصور کرنے میں مدد فراہم کرتے ہیں۔ ذیل میں تفصیلی کنفیگریشنز ہیں اور ہر ایک جزو کیسے کام کرتا ہے۔
1۔ Elasticsearch
a بنیادی ترتیب
Elasticsearch مندرجہ ذیل پیرامیٹرز کے ساتھ ڈوکر کنٹینر میں چلانے کے لیے ترتیب دیا گیا ہے۔
تصویر: سرکاری Elasticsearch تصویر، ورژن
8.17.2، استعمال کیا جاتا ہے۔سنگل نوڈ موڈ: ماحولیاتی متغیر کے ذریعے فعال
discovery.type=single-node۔سیکیورٹی: ایکس پیک سیکیورٹی فعال ہے(
xpack.security.enabled=true) اورelasticصارف کے لیے پاس ورڈ سیٹ ہےYVG6PKplG6ugGOw۔نیٹ ورک: Elasticsearch تمام نیٹ ورک انٹرفیس(
network.host=0.0.0.0) پر سنتا ہے۔JVM میموری:
-Xms1g(ابتدائی میموری) اور-Xmx1g(زیادہ سے زیادہ میموری) کے ساتھ تشکیل شدہ ۔
ب Ports اور Volumes
Ports: پورٹ
9200(HTTP) اور9300(اندرونی کمیونیکیشن) کو کنٹینر سے میزبان تک میپ کیا جاتا ہے۔Volumes: Elasticsearch ڈیٹا کو
elasticsearch-dataوالیوم میں محفوظ کیا جاتا ہے۔
c ہیلتھ چیک
صارف کے ساتھ API Elasticsearch کو کال کرکے اس کی حیثیت کی نگرانی کے لیے ایک ہیلتھ چیک ترتیب دیا گیا ہے ۔ اگر API جواب دینے میں ناکام ہو جاتا ہے، تو کنٹینر دوبارہ شروع ہو جائے گا۔ /_cluster/health elastic
2. Kibana
a بنیادی ترتیب
Kibana Elasticsearch مندرجہ ذیل پیرامیٹرز کے ساتھ ڈوکر کنٹینر سے جڑنے اور چلانے کے لیے ترتیب دیا گیا ہے:
تصویر: سرکاری Kibana تصویر، ورژن
8.17.2، استعمال کیا جاتا ہے۔Elasticsearch کنکشن: ایڈریس Elasticsearch پر سیٹ ہے
http://elasticsearch:9200۔توثیق: Kibana سے رابطہ قائم کرنے کے لیے
kibana_userپاس ورڈ کے ساتھ استعمال کرتا ہے ۔YVG6PKplG6ugGOwElasticsearch
ب Ports اور نیٹ ورکس
Ports: انٹرفیس تک رسائی کے لیے پورٹ کو
5601کنٹینر سے میزبان تک میپ کیا جاتا ہے Kibana ۔نیٹ ورکس: کبانا سے منسلک ہے
elk-network۔
c پر انحصار Elasticsearch
Kibana تیار ہونے کے بعد ہی شروع ہوتا ہے Elasticsearch ، دونوں سروسز کے درمیان کامیاب کنکشن کو یقینی بناتا ہے۔
3. حجم اور نیٹ ورک
a حجم
elasticsearch-data: یہ والیوم Elasticsearch ڈیٹا کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے، ڈیٹا کی برقراری کو یقینی بنانے کے لیے چاہے کنٹینر حذف ہو جائے۔
ب نیٹ ورک
elk-network: ایک
bridgeنیٹ ورک مربوط Elasticsearch اور Kibana خدمات کے لیے بنایا گیا ہے۔
4. استعمال کرنے کا طریقہ
a سروسز شروع کرنا
شروع کرنے Elasticsearch اور Kibana ، درج ذیل کمانڈ کو چلائیں:
docker-compose up -d
ب صارف بنانا Kibana(اگر ضرورت ہو)
اگر آپ کے لیے ایک سرشار صارف استعمال کرنا چاہتے ہیں Kibana ، تو آپ درج ذیل کمانڈ کے ساتھ ایک بنا سکتے ہیں۔
docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
پاس ورڈ کی بجائے استعمال کرنے کے لیے token ، آپ درج ذیل کمانڈ سے ایک بنا سکتے ہیں۔
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token
5. خرابیوں کا سراغ لگانا
اگر آپ کو غلطیوں کا سامنا کرنا پڑتا ہے، تو آپ کنٹینر لاگز کو استعمال کر کے چیک کر سکتے ہیں:
docker logs elasticsearch docker logs kibanaدوبارہ شروع کرنے کے لیے Kibana:
Docker Compose فائل کا مکمل مواد
ذیل میں فائل کا مکمل مواد ہے 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
نتیجہ
اس Docker Compose ترتیب کے ساتھ، آپ آسانی سے تعینات کر سکتے ہیں Elasticsearch اور Kibana اپنے ڈیٹا کی تلاش، تجزیہ، اور تصور کی ضروریات کو پورا کر سکتے ہیں۔ اپنے پروجیکٹ کی مخصوص ضروریات کو پورا کرنے کے لیے اس ترتیب کو اپنی مرضی کے مطابق بنائیں اور اس میں توسیع کریں!

