Docker Compose le haghaidh Elasticsearch & Kibana: Socrú & Cumraíocht

San Airteagal seo, déanfaimid iniúchadh ar conas é a imscaradh  Elasticsearch  agus  Kibana a úsáid Docker Compose. Is dhá phríomhchuid iad seo den ELK Stack( Elasticsearch, Logstash, Kibana), a chuidíonn leat sonraí a chuardach, a anailísiú agus a shamhlú go héifeachtach. Seo thíos na cumraíochtaí mionsonraithe agus conas a oibríonn gach comhpháirt.

1. Elasticsearch

a. Cumraíocht Bhunúsach

Elasticsearch Tá sé cumraithe chun rith i gcoimeádán Docker leis na paraiméadair seo a leanas:

  • Íomhá: Úsáidtear an Elasticsearch íomhá   oifigiúil, leagan ,. 8.17.2

  • Modh aon-nóid:  Cumasaithe tríd an athróg timpeallachta  discovery.type=single-node.

  • Slándáil:  Tá slándáil X-Pack cumasaithe( xpack.security.enabled=true), agus tá pasfhocal an  elastic  úsáideora socraithe go  YVG6PKplG6ugGOw.

  • Líonra:  Éisteann Elasticsearch ar gach comhéadan líonra( network.host=0.0.0.0).

  • Cuimhne JVM:  Cumraithe le  -Xms1g  (cuimhne tosaigh) agus  -Xmx1g  (uaschuimhne).

b. Ports agus Volumes

  • Ports: Déantar  port  9200  (HTTP) agus  9300  (cumarsáid inmheánach) a mhapáil ón gcoimeádán go dtí an t-óstach.

  • Volumes:  Stóráiltear sonraí Elasticsearch san  elasticsearch-data  toirt.

c. Seiceáil sláinte

Socraítear seiceáil sláinte chun monatóireacht a dhéanamh ar Elasticsearch stádas trí ghlao a chur ar an  /_cluster/health  API leis an  elastic úsáideoir. Má theipeann ar an API freagra a thabhairt, atosóidh an coimeádán.

2. Kibana

a. Cumraíocht Bhunúsach

Kibana Tá sé cumraithe chun nascadh le Elasticsearch agus rith i gcoimeádán Docker leis na paraiméadair seo a leanas:

  • Íomhá: Úsáidtear an Kibana íomhá   oifigiúil, leagan ,. 8.17.2

  • Elasticsearch Ceangal: Elasticsearch Tá   an seoladh socraithe go http://elasticsearch:9200.

  • Fíordheimhniú:  Úsáideann Kibana an  kibana_user  focal faire leis an bhfocal faire  YVG6PKplG6ugGOw  chun nascadh le Elasticsearch.

b. Ports agus Líonraí

  • Ports: Déantar  port  5601  a mhapáil ón gcoimeádán go dtí an t-óstach chun rochtain a fháil ar an Kibana gcomhéadan.

  • Líonraí:  Tá Kibana ceangailte leis an  elk-network.

c. Spleáchas ar Elasticsearch

Kibana ní thosaíonn ach tar éis Elasticsearch é a bheith réidh, ag cinntiú nasc rathúil idir an dá sheirbhís.

3. Imleabhar agus Líonra

a. Toirt

  • elasticsearch-data:  Úsáidtear an toirt seo chun Elasticsearch sonraí a stóráil, rud a chinntíonn marthanacht sonraí fiú má scriostar an coimeádán.

b. Líonra

  • elk-network: bridge  Cruthaítear líonra chun nascadh  agus  Elasticsearch seirbhísí Kibana.


4. Conas a Úsáid

a. Ag Tosú na Seirbhísí

Chun tosú Elasticsearch agus Kibana, rith an t-ordú seo a leanas:

docker-compose up -d

b. Úsáideoir á Chruthú Kibana(Más gá)

Más mian leat úsáideoir tiomnaithe a úsáid le haghaidh Kibana, is féidir leat ceann a chruthú leis an ordú seo a leanas:

docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
c. Ag Cruthú Token(Má Úsáidtear Comharthaí)

Chun pasfhocal a úsáid token seachas pasfhocal, is féidir leat ceann a chruthú leis an ordú seo a leanas:

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

5. Fabhtcheartú

  • Má thagann tú ar earráidí, is féidir leat logaí an choimeádáin a sheiceáil trí úsáid a bhaint as:

    docker logs elasticsearch 
    docker logs kibana
  • Chun atosú Kibana:

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

Ábhar Iomlán an Docker Compose Chomhaid

Seo thíos ábhar iomlán an  docker-compose-els.yml  chomhaid:

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

Conclúid

Leis an Docker Compose gcumraíocht seo, is féidir leat do chuid riachtanas cuardaigh sonraí, anailíse agus léirshamhlaithe a imscaradh Elasticsearch agus a fhreastal go héasca. Kibana Saincheap agus leathnaigh an chumraíocht seo chun freastal ar riachtanais shonracha do thionscadal!