Elasticsearch reporting unhealty status

docker

(Luís Pereira) #1

hi,

Im having an issue after upgrading my elastic stack from version 6.7 to 7.0 the elasticsearch is reporting unhealthy status but the container is up.

Things i tried to get it working again, create a new network, delete the volumes, change the java environment variables to use less ram.

This is my docker-compose file

version: '3.6'
services:

es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.0
container_name: es01
environment:
- node.name=es01
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- elknet
es02:
image: docker.elastic.co/elasticsearch/elasticsearch:7.0.0
container_name: es02
environment:
- node.name=es02
- discovery.seed_hosts=es01
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata02:/usr/share/elasticsearch/data
networks:
- elknet

kibana:
image: docker.elastic.co/kibana/kibana:7.0.0
container_name: kibana
environment:
- SERVER_NAME:kibana
- ELASTICSEARCH_HOSTS:http://es01:9200´
ports:
- 5601:5601
networks:
- elknet
restart: on-failure

logstash:
image: docker.elastic.co/logstash/logstash:7.0.0
container_name: logstash
environment:
- ES_JAVA_OPTS="-Xms1g -Xmx1g"
volumes:
- logstashp:/usr/share/logstash/pipeline/
- logstashc:/usr/share/logstash/config/
ports:
- 5000:5000
- 5044-5044
networks:
- elknet
restart: on-failure

heartbeat:
image: docker.elastic.co/beats/heartbeat:7.0.0
container_name: heartbeat
hostname: heartbeat
user: root
command: --strict.perms=false
volumes:
- heartbeatyml:/usr/share/heartbeat
networks:
- elknet

packetbeat:
image: docker.elastic.co/beats/packetbeat:7.0.0
container_name: packetbeat
hostname: packetbeat
command: --strict.perms=false
cap_add:
- NET_RAW
- NET_ADMIN
volumes:
- packetbyml:/usr/share/packetbeat
networks:
- elknet

filebeat:
image: docker.elastic.co/beats/filebeat:7.0.0
container_name: filebeat
hostname: filebeat
command: --strict.perms=false
ports:
- 9000:9000
volumes:
- filebeatyml:/usr/share/filebeat
- docker.sock:/var/run/docker.sock
networks:
- elknet

volumes:
esdata01:
driver: local
esdata02:
driver: local
logstashp:
driver: local
logstashc:
driver: local
heartbeatyml:
driver: local
packetbyml:
driver: local
filebeatyml:
driver: local
docker.sock:
driver: local

networks:
elknet:
driver: bridge

Any help would be much appreciated

I did one more test on the elasticsearch connection with success

imagem


(Yogesh Gaikwad) #2

Hi @Luis_Pereira1,

The default health check is performed by invoking status API:
curl -fsSL http://localhost:9200/_cat/health?h=status

Could you please check what is the health status on your ES container?
You might need to see the logs to identify if there was something that prevents the cluster status to be green.
With no logs its difficult to identify what might be happening in your case.

Thanks and Regards,
Yogesh Gaikwad


(Luís Pereira) #3

Hi,

I have fix this problem, my docker compose file needed to specify a master elasticsearch after i did that it started working.

But thank you anyway :wink: