Docker Compose साठी Elasticsearch & Kibana: सेटअप आणि कॉन्फिगरेशन

या लेखात, आपण कसे तैनात करायचे  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  पासवर्डसह  वापरते. YVG6PKplG6ugGOw Elasticsearch

b. Ports आणि नेटवर्क्स

  • Ports: 5601 इंटरफेसमध्ये  प्रवेश करण्यासाठी कंटेनरपासून होस्टपर्यंत  पोर्ट  मॅप केला जातो Kibana.

  • नेटवर्क्स:  किबाना शी जोडलेले आहे  elk-network.

c. अवलंबित्व Elasticsearch

Kibana तयार झाल्यानंतरच सुरू होते Elasticsearch, ज्यामुळे दोन्ही सेवांमध्ये यशस्वी कनेक्शन सुनिश्चित होते.

३. व्हॉल्यूम आणि नेटवर्क

अ. खंड

  • elasticsearch-data:  हा व्हॉल्यूम डेटा साठवण्यासाठी वापरला जातो Elasticsearch, ज्यामुळे कंटेनर हटवला तरीही डेटा टिकून राहतो.

ब. नेटवर्क

  • एल्क-नेटवर्क: bridge  कनेक्ट करण्यासाठी Elasticsearch आणि सेवा देण्यासाठी  नेटवर्क  तयार केले जाते Kibana.


४. कसे वापरावे

अ. सेवा सुरू करणे

सुरू करण्यासाठी Elasticsearch आणि करण्यासाठी Kibana, खालील आदेश चालवा:

docker-compose up -d

b. Kibana वापरकर्ता तयार करणे(जर आवश्यक असेल तर)

जर तुम्हाला साठी समर्पित वापरकर्ता वापरायचा असेल Kibana, तर तुम्ही खालील आदेश वापरून एक तयार करू शकता:

docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
क. Token(टोकन वापरत असल्यास) तयार करणे

token पासवर्डऐवजी a वापरण्यासाठी, तुम्ही खालील कमांड वापरून एक तयार करू शकता:

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 down kibana && docker-compose up -d 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 पूर्ण करू शकता. तुमच्या प्रोजेक्टच्या विशिष्ट आवश्यकतांनुसार हे कॉन्फिगरेशन कस्टमाइझ आणि वाढवा!