Docker Compose for Elasticsearch & Kibana: Asennus ja konfigurointi

Tässä artikkelissa tutkimme , Elasticsearch  kuinka  Kibana. Nämä ovat kaksi ELK Stackin(, Logstash,) Docker Compose avainkomponenttia, joiden avulla voit etsiä, analysoida ja visualisoida tietoja tehokkaasti. Alla on yksityiskohtaiset kokoonpanot ja kunkin komponentin toiminta. Elasticsearch Kibana

1. Elasticsearch

a. Peruskokoonpano

Elasticsearch on määritetty toimimaan Docker-säiliössä seuraavilla parametreilla:

  • Kuva:  Virallista Elasticsearch kuvaa, versiota  8.17.2, käytetään.

  • Yhden solmun tila:  Käytössä ympäristömuuttujan kautta  discovery.type=single-node.

  • Suojaus:  X-Pack-suojaus on käytössä( xpack.security.enabled=true), ja käyttäjän salasanaksi  elastic  on asetettu  YVG6PKplG6ugGOw.

  • Verkko:  Elasticsearch kuuntelee kaikkia verkkoliitäntöjä( network.host=0.0.0.0).

  • JVM-muisti:  Konfiguroitu  -Xms1g  (alkumuisti) ja  -Xmx1g  (maksimimuisti).

b. Ports ja Volumes

  • Ports:  Portti  9200  (HTTP) ja  9300  (sisäinen viestintä) on yhdistetty säiliöstä isäntään.

  • Volumes:  Elasticsearch-tiedot tallennetaan taltioon  elasticsearch-data  .

c. Terveystarkastus

Terveystarkastus on asetettu seuraamaan Elasticsearch käyttäjän tilaa soittamalla  /_cluster/health  API:lle käyttäjän kanssa  elastic. Jos API ei vastaa, säilö käynnistyy uudelleen.

2. Kibana

a. Peruskokoonpano

Kibana on määritetty muodostamaan yhteyden Elasticsearch Docker-säilöön ja toimimaan siinä seuraavilla parametreilla:

  • Kuva:  Virallista Kibana kuvaa, versiota  8.17.2, käytetään.

  • Elasticsearch Yhteys:  Osoite Elasticsearch on asetettu  http://elasticsearch:9200.

  • Todennus:  Kibana käyttää  kibana_user  salasanan kanssa  YVG6PKplG6ugGOw  yhteyden muodostamiseen Elasticsearch.

b. Ports ja verkot

  • Ports:  Portti  5601  on kartoitettu säiliöstä isäntään käyttöliittymän käyttämiseksi Kibana.

  • Verkot:  Kibana on yhdistetty verkkoon  elk-network.

c. Riippuvuus Elasticsearch

Kibana käynnistyy vasta, kun Elasticsearch se on valmis, mikä varmistaa onnistuneen yhteyden kahden palvelun välillä.

3. Äänenvoimakkuus ja verkko

a. Äänenvoimakkuus

  • elasticsearch-data:  Tätä taltiota käytetään Elasticsearch tietojen tallentamiseen, mikä varmistaa tietojen pysyvyyden, vaikka säilö poistetaan.

b. Verkko

  • elk-verkko: bridge  Luodaan verkko yhteydenpitoa  ja  Elasticsearch palveluita Kibana varten.


4. Kuinka käyttää

a. Palveluiden käynnistäminen

Aloita Elasticsearch ja Kibana suorita seuraava komento:

docker-compose up -d

b. Käyttäjän luominen Kibana(tarvittaessa)

Jos haluat käyttää omistettua käyttäjää verkkotunnukselle Kibana, voit luoda sellaisen seuraavalla komennolla:

docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
c. Luominen Token(jos käytät tunnuksia)

Jos haluat käyttää token salasanan sijaan, voit luoda sellaisen seuraavalla komennolla:

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

5. Vianetsintä

  • Jos kohtaat virheitä, voit tarkistaa säilölokit käyttämällä:

    docker logs elasticsearch 
    docker logs kibana
  • Uudelleenkäynnistys Kibana:

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

Docker Compose Tiedoston koko sisältö

Alla on tiedoston koko sisältö  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

Johtopäätös

Tämän Docker Compose kokoonpanon avulla voit helposti ottaa käyttöön Elasticsearch ja Kibana palvella datan haku-, analysointi- ja visualisointitarpeitasi. Mukauta ja laajenna tätä kokoonpanoa projektisi erityisvaatimusten mukaan!