ఈ వ్యాసంలో, ఎలా అమలు చేయాలో Elasticsearch మరియు Kibana ఎలా ఉపయోగించాలో మనం అన్వేషిస్తాము Docker Compose. ఇవి ELK స్టాక్( Elasticsearch, Logstash, Kibana) యొక్క రెండు కీలక భాగాలు, ఇవి డేటాను సమర్థవంతంగా శోధించడానికి, విశ్లేషించడానికి మరియు దృశ్యమానం చేయడానికి మీకు సహాయపడతాయి. క్రింద వివరణాత్మక కాన్ఫిగరేషన్లు మరియు ప్రతి భాగం ఎలా పనిచేస్తుందో ఉన్నాయి.
1. Elasticsearch
ఎ. ప్రాథమిక కాన్ఫిగరేషన్
Elasticsearch కింది పారామితులతో డాకర్ కంటైనర్లో అమలు చేయడానికి కాన్ఫిగర్ చేయబడింది:
చిత్రం: అధికారిక Elasticsearch చిత్రం, వెర్షన్
8.17.2, ఉపయోగించబడింది.సింగిల్-నోడ్ మోడ్: ఎన్విరాన్మెంట్ వేరియబుల్ ద్వారా ప్రారంభించబడింది
discovery.type=single-node.భద్రత: X-ప్యాక్ భద్రత() ప్రారంభించబడింది
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పాస్వర్డ్తో ఉపయోగిస్తుంది.YVG6PKplG6ugGOwElasticsearch
బి. Ports మరియు నెట్వర్క్లు
Ports: ఇంటర్ఫేస్ను యాక్సెస్ చేయడానికి పోర్ట్
5601కంటైనర్ నుండి హోస్ట్కు మ్యాప్ చేయబడింది Kibana.నెట్వర్క్లు: కిబానా కు కనెక్ట్ చేయబడింది
elk-network.
సి. ఆధారపడటం Elasticsearch
Kibana Elasticsearch రెండు సేవల మధ్య విజయవంతమైన కనెక్షన్ను నిర్ధారిస్తూ, సిద్ధంగా ఉన్న తర్వాత మాత్రమే ప్రారంభమవుతుంది .
3. వాల్యూమ్ మరియు నెట్వర్క్
ఎ. వాల్యూమ్
elasticsearch-data: ఈ వాల్యూమ్ డేటాను నిల్వ చేయడానికి ఉపయోగించబడుతుంది Elasticsearch, కంటైనర్ తొలగించబడినప్పటికీ డేటా నిలకడను నిర్ధారిస్తుంది.
బి. నెట్వర్క్
ఎల్క్-నెట్వర్క్: కనెక్ట్ అవ్వడానికి మరియు సేవలను అందించడానికి ఒక
bridgeనెట్వర్క్ సృష్టించబడుతుంది. Elasticsearch Kibana
4. ఎలా ఉపయోగించాలి
ఎ. సేవలను ప్రారంభించడం
ప్రారంభించడానికి Elasticsearch మరియు Kibana, కింది ఆదేశాన్ని అమలు చేయండి:
docker-compose up -d
బి. Kibana వినియోగదారుని సృష్టించడం(అవసరమైతే)
మీరు కోసం అంకితమైన వినియోగదారుని ఉపయోగించాలనుకుంటే Kibana, మీరు ఈ క్రింది ఆదేశంతో ఒకదాన్ని సృష్టించవచ్చు:
docker exec -it elasticsearch /bin/elasticsearch-users useradd kibana_user -p you_password-r kibana_system
పాస్వర్డ్కు బదులుగా 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 ఫైల్ యొక్క పూర్తి కంటెంట్
ఫైల్ యొక్క పూర్తి కంటెంట్ క్రింద ఉంది 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 అందించవచ్చు. మీ ప్రాజెక్ట్ యొక్క నిర్దిష్ట అవసరాలకు సరిపోయేలా ఈ కాన్ఫిగరేషన్ను అనుకూలీకరించండి మరియు విస్తరించండి!

