এই প্রবন্ধে, আমরা কীভাবে স্থাপন Elasticsearch এবং Kibana ব্যবহার করতে হয় তা অন্বেষণ করব Docker Compose । এগুলি ELK স্ট্যাকের দুটি মূল উপাদান( Elasticsearch, Logstash, Kibana), যা আপনাকে কার্যকরভাবে ডেটা অনুসন্ধান, বিশ্লেষণ এবং কল্পনা করতে সহায়তা করে। নীচে বিস্তারিত কনফিগারেশন এবং প্রতিটি উপাদান কীভাবে কাজ করে তা দেওয়া হল।
১. Elasticsearch
ক. মৌলিক কনফিগারেশন
Elasticsearch নিম্নলিখিত প্যারামিটার সহ একটি ডকার কন্টেইনারে চালানোর জন্য কনফিগার করা হয়েছে:
ছবি: অফিসিয়াল Elasticsearch ছবি, সংস্করণ
8.17.2, ব্যবহার করা হয়েছে।একক-নোড মোড: পরিবেশ ভেরিয়েবলের মাধ্যমে সক্ষম
discovery.type=single-node।নিরাপত্তা: এক্স-প্যাক নিরাপত্তা সক্রিয়(
xpack.security.enabled=true) আছে, এবং ব্যবহারকারীর পাসওয়ার্ডelasticসেট করা আছেYVG6PKplG6ugGOw।নেটওয়ার্ক:
network.host=0.0.0.0ইলাস্টিকসার্চ সমস্ত নেটওয়ার্ক ইন্টারফেসে() শোনে ।JVM মেমোরি:
-Xms1g(প্রাথমিক মেমোরি) এবং-Xmx1g(সর্বোচ্চ মেমোরি) দিয়ে কনফিগার করা ।
খ. Ports এবং Volumes
Ports: পোর্ট
9200(HTTP) এবং9300(অভ্যন্তরীণ যোগাযোগ) কন্টেইনার থেকে হোস্টে ম্যাপ করা হয়।Volumes: ইলাস্টিকসার্চ ডেটা ভলিউমে সংরক্ষণ করা হয়
elasticsearch-data।
গ. স্বাস্থ্য পরীক্ষা
ব্যবহারকারীর সাথে API Elasticsearch কল করে এর অবস্থা পর্যবেক্ষণ করার জন্য একটি স্বাস্থ্য পরীক্ষা সেট আপ করা হয় । যদি API সাড়া দিতে ব্যর্থ হয়, তাহলে কন্টেইনারটি পুনরায় চালু হবে। /_cluster/health elastic
২. Kibana
ক. মৌলিক কনফিগারেশন
Kibana Elasticsearch নিম্নলিখিত প্যারামিটার সহ একটি ডকার কন্টেইনারে সংযোগ স্থাপন এবং চালানোর জন্য কনফিগার করা হয়েছে:
ছবি: অফিসিয়াল Kibana ছবি, সংস্করণ
8.17.2, ব্যবহার করা হয়েছে।Elasticsearch সংযোগ: ঠিকানাটি Elasticsearch তে সেট করা আছে
http://elasticsearch:9200।প্রমাণীকরণ: কিবানা এর সাথে সংযোগ স্থাপনের জন্য
kibana_userপাসওয়ার্ড ব্যবহার করে ।YVG6PKplG6ugGOwElasticsearch
খ. Ports এবং নেটওয়ার্ক
Ports:
5601ইন্টারফেস অ্যাক্সেস করার জন্য কন্টেইনার থেকে হোস্টে পোর্ট ম্যাপ করা হয় Kibana ।নেটওয়ার্ক: কিবানা এর সাথে সংযুক্ত
elk-network।
গ. নির্ভরতা Elasticsearch
Kibana প্রস্তুত হওয়ার পরেই শুরু হয় Elasticsearch, যা দুটি পরিষেবার মধ্যে একটি সফল সংযোগ নিশ্চিত করে।
৩. ভলিউম এবং নেটওয়ার্ক
ক. আয়তন
elasticsearch-data: এই ভলিউমটি ডেটা সংরক্ষণের জন্য ব্যবহৃত হয় Elasticsearch, যা কন্টেইনারটি মুছে ফেলা হলেও ডেটা টিকে থাকার বিষয়টি নিশ্চিত করে।
খ. নেটওয়ার্ক
elk-network:
bridgeসংযোগ Elasticsearch এবং Kibana পরিষেবা প্রদানের জন্য একটি নেটওয়ার্ক তৈরি করা হয়।
4. কিভাবে ব্যবহার করবেন
ক. পরিষেবা শুরু করা
শুরু করতে Elasticsearch এবং করতে Kibana, নিম্নলিখিত কমান্ডটি চালান:
docker-compose up -d
খ. Kibana ব্যবহারকারী তৈরি করা(প্রয়োজনে)
যদি আপনি এর জন্য একটি ডেডিকেটেড ব্যবহারকারী ব্যবহার করতে চান Kibana, তাহলে আপনি নিম্নলিখিত কমান্ড ব্যবহার করে একটি তৈরি করতে পারেন:
docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
পাসওয়ার্ডের পরিবর্তে a ব্যবহার করতে token, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে একটি তৈরি করতে পারেন:
docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token
৫. সমস্যা সমাধান
যদি আপনি ত্রুটির সম্মুখীন হন, তাহলে আপনি নিম্নলিখিতগুলি ব্যবহার করে কন্টেইনার লগগুলি পরীক্ষা করতে পারেন:
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 স্থাপন করতে পারবেন। আপনার প্রকল্পের নির্দিষ্ট প্রয়োজনীয়তার সাথে মানানসই করে এই কনফিগারেশনটি কাস্টমাইজ এবং প্রসারিত করুন!

