Neste artigo, exploraremos como implantar Elasticsearch e Kibana usar Docker Compose. Esses são dois componentes principais do ELK Stack( Elasticsearch, Logstash, Kibana), ajudando você a pesquisar, analisar e visualizar dados de forma eficaz. Abaixo estão as configurações detalhadas e como cada componente funciona.
1. Elasticsearch
a. Configuração básica
Elasticsearch está configurado para ser executado em um contêiner Docker com os seguintes parâmetros:
Imagem: Elasticsearch A imagem oficial, versão
8.17.2
, é usada.Modo de nó único: habilitado por meio da variável de ambiente
discovery.type=single-node
.Segurança: A segurança do X-Pack está habilitada(
xpack.security.enabled=true
) e a senha doelastic
usuário está definida comoYVG6PKplG6ugGOw
.Rede: O Elasticsearch escuta em todas as interfaces de rede(
network.host=0.0.0.0
).Memória JVM: Configurada com
-Xms1g
(memória inicial) e-Xmx1g
(memória máxima).
banda Ports Volumes
Ports: A porta
9200
(HTTP) e9300
(comunicação interna) são mapeadas do contêiner para o host.Volumes: Os dados do Elasticsearch são armazenados no
elasticsearch-data
volume.
c. Verificação de saúde
Um healthcheck é configurado para monitorar Elasticsearch o status do chamando a /_cluster/health
API com o elastic
usuário. Se a API não responder, o contêiner será reiniciado.
2. Kibana
a. Configuração básica
Kibana está configurado para se conectar Elasticsearch e ser executado em um contêiner Docker com os seguintes parâmetros:
Imagem: Kibana A imagem oficial, versão
8.17.2
, é usada.Elasticsearch Conexão: O Elasticsearch endereço está definido como
http://elasticsearch:9200
.Autenticação: O Kibana usa o
kibana_user
com a senhaYVG6PKplG6ugGOw
para se conectar ao Elasticsearch.
b. Ports e Redes
Ports: A porta
5601
é mapeada do contêiner para o host para acessar a Kibana interface.Redes: Kibana está conectado ao
elk-network
.
c. Dependência de Elasticsearch
Kibana só inicia depois que Elasticsearch estiver pronto, garantindo uma conexão bem-sucedida entre os dois serviços.
3. Volume e Rede
a. Volume
elasticsearch-data: Este volume é usado para armazenar Elasticsearch dados, garantindo a persistência dos dados mesmo se o contêiner for excluído.
b. Rede
elk-network: Uma
bridge
rede é criada para conectar Elasticsearch e Kibana serviços.
4. Como usar
a. Iniciando os Serviços
Para iniciar Elasticsearch e Kibana executar o seguinte comando:
b. Criando um Kibana usuário(se necessário)
Se você quiser usar um usuário dedicado para Kibana, você pode criar um com o seguinte comando:
Para usar uma token senha em vez de uma senha, você pode criar uma com o seguinte comando:
5. Solução de problemas
Se você encontrar erros, poderá verificar os logs do contêiner usando:
Para reiniciar Kibana:
Conteúdo completo do Docker Compose arquivo
Abaixo está o conteúdo completo do docker-compose-els.yml
arquivo:
Conclusão
Com esta Docker Compose configuração, você pode facilmente implantar Elasticsearch e Kibana atender às suas necessidades de pesquisa, análise e visualização de dados. Personalize e estenda esta configuração para se adequar aos requisitos específicos do seu projeto!