Docker Compose & Elasticsearch: Kibana அமைப்பு & கட்டமைப்பு

Elasticsearch  இந்தக் கட்டுரையில், எவ்வாறு பயன்படுத்துவது மற்றும்  Kibana பயன்படுத்துவது என்பதை ஆராய்வோம்  Docker Compose. இவை ELK Stack( Elasticsearch, Logstash, Kibana) இன் இரண்டு முக்கிய கூறுகள் ஆகும், அவை தரவை திறம்பட தேட, பகுப்பாய்வு செய்ய மற்றும் காட்சிப்படுத்த உதவுகின்றன. கீழே விரிவான உள்ளமைவுகள் மற்றும் ஒவ்வொரு கூறு எவ்வாறு செயல்படுகிறது என்பது கொடுக்கப்பட்டுள்ளது.

1. Elasticsearch

அ. அடிப்படை கட்டமைப்பு

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  (அதிகபட்ச நினைவகம்)  உடன் கட்டமைக்கப்பட்டது  .

பி. Ports மற்றும் Volumes

  • Ports:  போர்ட்  9200  (HTTP) மற்றும்  9300  (உள் தொடர்பு) ஆகியவை கொள்கலனில் இருந்து ஹோஸ்டுக்கு மேப் செய்யப்படுகின்றன.

  • Volumes:  மீள் தேடல் தரவு தொகுதியில் சேமிக்கப்படுகிறது  elasticsearch-data  .

இ. சுகாதார பரிசோதனை

 பயனருடன் API-ஐ  Elasticsearch அழைப்பதன் மூலம் இன் நிலையைக்  கண்காணிக்க ஒரு சுகாதாரச் சரிபார்ப்பு அமைக்கப்பட்டுள்ளது. API பதிலளிக்கத் தவறினால், கொள்கலன் மீண்டும் தொடங்கும். /_cluster/health elastic

2. Kibana

அ. அடிப்படை கட்டமைப்பு

Kibana Elasticsearch பின்வரும் அளவுருக்களுடன் ஒரு டாக்கர் கொள்கலனுடன் இணைக்கவும் இயக்கவும் கட்டமைக்கப்பட்டுள்ளது:

  • படம்:  அதிகாரப்பூர்வ Kibana படம், பதிப்பு  8.17.2, பயன்படுத்தப்பட்டுள்ளது.

  • Elasticsearch இணைப்பு:  முகவரி Elasticsearch க்கு அமைக்கப்பட்டுள்ளது  http://elasticsearch:9200.

  • அங்கீகாரம்:  கிபானா   உடன் இணைக்க kibana_user  கடவுச்சொல்லுடன்  ஐப் பயன்படுத்துகிறது. YVG6PKplG6ugGOw Elasticsearch

b. Ports மற்றும் நெட்வொர்க்குகள்

  • Ports: இடைமுகத்தை அணுக,  போர்ட்  5601  கொள்கலனிலிருந்து ஹோஸ்டுக்கு மேப் செய்யப்படுகிறது Kibana.

  • நெட்வொர்க்குகள்:  கிபானா உடன் இணைக்கப்பட்டுள்ளது  elk-network.

இ. சார்ந்திருத்தல் Elasticsearch

Kibana தயாரான பிறகு மட்டுமே தொடங்கும் Elasticsearch, இரண்டு சேவைகளுக்கும் இடையே வெற்றிகரமான இணைப்பை உறுதி செய்யும்.

3. தொகுதி மற்றும் நெட்வொர்க்

அ. தொகுதி

  • elasticsearch-data:  இந்த தொகுதி தரவைச் சேமிக்கப் பயன்படுகிறது Elasticsearch, கொள்கலன் நீக்கப்பட்டாலும் தரவு நிலைத்தன்மையை உறுதி செய்கிறது.

ஆ. நெட்வொர்க்

  • elk-network: இணைக்கவும் சேவைகளை வழங்கவும்  ஒரு  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

5. சரிசெய்தல்

  • பிழைகள் ஏற்பட்டால், நீங்கள் கொள்கலன் பதிவுகளை இதைப் பயன்படுத்தி சரிபார்க்கலாம்:

    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 பூர்த்தி செய்யலாம். உங்கள் திட்டத்தின் குறிப்பிட்ட தேவைகளுக்கு ஏற்றவாறு இந்த உள்ளமைவைத் தனிப்பயனாக்கி நீட்டிக்கவும்!