Docker Compose માટે Elasticsearch & Kibana: સેટઅપ અને ગોઠવણી

આ લેખમાં, આપણે  ELK સ્ટેક(, Logstash,) ના બે મુખ્ય ઘટકોનો ઉપયોગ કેવી રીતે કરવો Elasticsearch  અને  Kibana તેનો ઉપયોગ કેવી રીતે કરવો તે શોધીશું, જે તમને ડેટાને અસરકારક રીતે શોધવા, વિશ્લેષણ કરવા અને વિઝ્યુઅલાઈઝ કરવામાં મદદ કરે છે. નીચે વિગતવાર રૂપરેખાંકનો અને દરેક ઘટક કેવી રીતે કાર્ય કરે છે તે આપેલ છે. Docker Compose Elasticsearch Kibana

૧. Elasticsearch

a. મૂળભૂત રૂપરેખાંકન

Elasticsearch નીચેના પરિમાણો સાથે ડોકર કન્ટેનરમાં ચલાવવા માટે ગોઠવેલ છે:

  • છબી:  સત્તાવાર Elasticsearch છબી, સંસ્કરણ  8.17.2, નો ઉપયોગ થાય છે.

  • સિંગલ-નોડ મોડ:  પર્યાવરણ ચલ દ્વારા સક્ષમ  discovery.type=single-node.

  • સુરક્ષા:  X-Pack સુરક્ષા સક્ષમ છે( xpack.security.enabled=true), અને વપરાશકર્તા માટે પાસવર્ડ  elastic  પર સેટ કરેલ છે  YVG6PKplG6ugGOw.

  • નેટવર્ક:  ઇલાસ્ટિકસર્ચ બધા નેટવર્ક ઇન્ટરફેસ( network.host=0.0.0.0) પર સાંભળે છે.

  • JVM મેમરી: -Xms1g  (પ્રારંભિક મેમરી) અને  -Xmx1g  (મહત્તમ મેમરી)  સાથે ગોઠવેલ  .

b. Ports અને Volumes

  • Ports:  પોર્ટ  9200  (HTTP) અને  9300  (આંતરિક સંચાર) કન્ટેનરથી હોસ્ટ સુધી મેપ કરવામાં આવે છે.

  • Volumes:  ઇલાસ્ટિકસર્ચ ડેટા વોલ્યુમમાં સંગ્રહિત થાય છે  elasticsearch-data  .

c. આરોગ્ય તપાસ

 વપરાશકર્તા સાથે API ને  Elasticsearch કૉલ કરીને તેની સ્થિતિનું  નિરીક્ષણ કરવા માટે એક આરોગ્ય તપાસ સેટ કરવામાં આવે છે. જો API પ્રતિસાદ આપવામાં નિષ્ફળ જાય, તો કન્ટેનર ફરીથી શરૂ થશે. /_cluster/health elastic

2. Kibana

a. મૂળભૂત રૂપરેખાંકન

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, જે બે સેવાઓ વચ્ચે સફળ જોડાણ સુનિશ્ચિત કરે છે.

3. વોલ્યુમ અને નેટવર્ક

a. વોલ્યુમ

  • elasticsearch-data:  આ વોલ્યુમનો ઉપયોગ Elasticsearch ડેટા સ્ટોર કરવા માટે થાય છે, જેથી કન્ટેનર કાઢી નાખવામાં આવે તો પણ ડેટા ટકાઉ રહે.

b. નેટવર્ક

  • એલ્ક-નેટવર્ક: કનેક્ટ કરવા અને સેવાઓ આપવા માટે  નેટવર્ક  bridge  બનાવવામાં આવે છે. Elasticsearch Kibana


4. કેવી રીતે ઉપયોગ કરવો

a. સેવાઓ શરૂ કરવી

શરૂ કરવા 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 c.(જો ટોકન્સનો ઉપયોગ કરી રહ્યા છો) બનાવવું

પાસવર્ડને બદલે 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 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 તેનો ઉપયોગ કરી શકો છો. તમારા પ્રોજેક્ટની ચોક્કસ જરૂરિયાતોને અનુરૂપ આ રૂપરેખાંકનને કસ્ટમાઇઝ અને વિસ્તૃત કરો!