Docker Compose don Elasticsearch & Kibana: Saita & Kanfigareshan

A cikin wannan labarin, za mu bincika yadda za a yi amfani da kayan aiki  Elasticsearch  da  Kibana kayan aiki Docker Compose. Waɗannan su ne maɓalli guda biyu na ELK Stack( Elasticsearch, Logstash, Kibana), suna taimaka maka bincika, bincika, da kuma ganin bayanan yadda ya kamata. A ƙasa akwai cikakkun bayanai da kuma yadda kowane sashi ke aiki.

1. Elasticsearch

a. Ƙimar Kanfigareshan

Elasticsearch an saita don gudana a cikin akwati Docker tare da sigogi masu zuwa:

  • Hoto: Hoton  hukuma Elasticsearch, sigar  8.17.2, ana amfani da shi.

  • Yanayin kumburi guda ɗaya:  An kunna ta hanyar canjin yanayi  discovery.type=single-node.

  • Tsaro:  An kunna tsaro na X-Pack( xpack.security.enabled=true), kuma kalmar sirrin mai  elastic  amfani an saita zuwa  YVG6PKplG6ugGOw.

  • Cibiyar sadarwa:  Elasticsearch yana sauraron duk mu'amalar hanyar sadarwa( network.host=0.0.0.0).

  • Ƙwaƙwalwar JVM:  An saita shi tare da  -Xms1g  (ƙwaƙwalwar farko) da  -Xmx1g  (mafi girman ƙwaƙwalwar ajiya).

b. Ports kuma Volumes

  • Ports:  Port  9200  (HTTP) da  9300  (sadarwar cikin gida) an tsara su daga kwantena zuwa mai masaukin baki.

  • Volumes:  Ana adana bayanan Elasticsearch a cikin  elasticsearch-data  ƙarar.

c. Duban lafiya

An saita gwajin lafiya don saka idanu akan Elasticsearch matsayin ta hanyar kiran  /_cluster/health  API tare da  elastic mai amfani. Idan API ɗin ya kasa amsawa, ganuwar zata sake farawa.

2. Kibana

a. Ƙimar Kanfigareshan

Kibana an saita don haɗawa Elasticsearch da aiki a cikin akwati Docker tare da sigogi masu zuwa:

  • Hoto: Hoton  hukuma Kibana, sigar  8.17.2, ana amfani da shi.

  • Elasticsearch Haɗi: Elasticsearch An saita adireshin   zuwa http://elasticsearch:9200.

  • Tabbatarwa:  Kibana yana amfani  kibana_user  da kalmar sirri  YVG6PKplG6ugGOw  don haɗawa zuwa Elasticsearch.

b. Ports da Networks

  • Ports: Ana taswirar  tashar jiragen ruwa  5601  daga akwati zuwa mai watsa shiri don samun damar Kibana dubawa.

  • Cibiyoyin sadarwa:  Kibana yana da alaƙa da  elk-network.

c. Dogara akan Elasticsearch

Kibana kawai yana farawa bayan Elasticsearch an shirya, yana tabbatar da haɗin gwiwa mai nasara tsakanin sabis ɗin biyu.

3. Volume da Network

a. Ƙarar

  • elasticsearch-data:  Ana amfani da wannan juzu'in don adana Elasticsearch bayanai, yana tabbatar da dagewar bayanai ko da an goge akwati.

b. Cibiyar sadarwa

  • elk-network: bridge  An ƙirƙiri hanyar sadarwa don haɗawa  da  Elasticsearch sabis Kibana.


4. Yadda Ake Amfani da shi

a. Fara Sabis

Don farawa Elasticsearch da Kibana, gudanar da umarni mai zuwa:

docker-compose up -d

b. Ƙirƙirar Mai Kibana Amfani(Idan Ana Bukata)

Idan kana son amfani da kwazo mai amfani don Kibana, zaka iya ƙirƙirar ɗaya tare da umarni mai zuwa:

docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
c. Ƙirƙirar Token(Idan Amfani da Tokens)

Don amfani da kalmar token sirri maimakon kalmar sirri, zaku iya ƙirƙirar ɗaya tare da umarni mai zuwa:

docker exec -it elasticsearch /usr/share/elasticsearch/bin/elasticsearch-service-tokens create elastic/kibana kibana-token

5. Shirya matsala

  • Idan kun ci karo da kurakurai, zaku iya bincika rajistar akwati ta amfani da:

    docker logs elasticsearch 
    docker logs kibana
  • Don sake farawa Kibana:

    docker-compose down kibana && docker-compose up -d kibana

Cikakken Abubuwan Docker Compose Fayil

A ƙasa akwai cikakken abun ciki na  docker-compose-els.yml  fayil:

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

Kammalawa

Tare da wannan Docker Compose saitin, zaku iya turawa cikin sauƙi Elasticsearch da kuma Kibana ba da sabis na binciken bayananku, bincike, da buƙatun gani. Keɓance kuma ƙara wannan saitin don dacewa da takamaiman buƙatun aikin ku!