Tutorial: Monitorar seus aplicativos do Service Fabric usando ELK
Este tutorial é a parte quatro de uma série. Ele mostra como usar ELK (Elasticsearch, Logstash e Kibana) para monitorar aplicativos do Service Fabric em execução no Azure.
Na primeira parte da série, você aprende a:
- Configurar o servidor ELK no Azure
- Configurar Logstash para receber os logs dos Hubs de Eventos
- Visualizar os logs de aplicativo e de plataforma no Kibana
Nesta série de tutoriais, você aprenderá a:
- Compilar um aplicativo Java do Reliable Services no Service Fabric
- Implantar e depurar o aplicativo em um cluster local
- Implantar o aplicativo em um cluster do Azure
- Configurar o monitoramento e o diagnóstico do aplicativo
- Configurar CI/CD
Pré-requisitos
Antes de começar este tutorial:
- Se você não tem uma assinatura do Azure, crie uma conta gratuita
- Configurar seu aplicativo para emitir logs para o local especificado na parte dois.
- Complete a parte três e obtenha um cluster do Service Fabric em execução configurado para enviar logs aos Hubs de Eventos.
- A política em Hubs de Eventos que tem a permissão "Escutar" e a chave primária associada da série três.
Baixar o aplicativo de exemplo Votação
Se você não tiver criado o aplicativo de exemplo Votação na parte um esta série de tutoriais, poderá baixá-lo. Em uma janela de comando, execute o comando a seguir para clonar o repositório de aplicativos de exemplo no computador local.
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
Criar um servidor ELK no Azure
Você pode usar um ambiente ELK pré-configurado para este tutorial e, se você já tiver um, vá para a seção Configuração do Logstash. No entanto, se você não tiver um, as etapas a seguir criarão um no Azure.
Crie um ELK certificado pela Bitnami no Azure. Para os fins deste tutorial, não especificações a seguir para a criação desse servidor.
Vá até o seu recurso no Portal do Azure e entra na guia Diagnósticos de Inicialização na seção Suporte + Solução de problemas. Em seguida, clique na guia Log Serial.
Faça uma pesquisa nos logs em busca da senha necessária para acessar a instância do Kibana. Ela é semelhante ao snippet a seguir:
[ 25.932766] bitnami[1496]: ######################################################################### [ 25.948656] bitnami[1496]: # # [ 25.962448] bitnami[1496]: # Setting Bitnami application password to '[PASSWORD]' # [ 25.978137] bitnami[1496]: # (the default application username is 'user') # [ 26.004770] bitnami[1496]: # # [ 26.029413] bitnami[1496]: #########################################################################
Pressione o botão Conectar na página Visão geral do servidor no Portal do Azure para obter os detalhes de logon.
Use SSH no servidor que hospeda a imagem ELK usando o seguinte comando
ssh [USERNAME]@[CONNECTION-IP-OF-SERVER] Example: ssh testaccount@104.40.63.157
Configurar o ELK
A primeira etapa é carregar o ambiente ELK
sudo /opt/bitnami/use_elk
Se você estiver usando um ambiente existente, precisará executar o seguinte comando para interromper o serviço Logstash
sudo /opt/bitnami/ctlscript.sh stop logstash
Execute o seguinte comando para instalar o plug-in Logstash para Hubs de Eventos.
logstash-plugin install logstash-input-azureeventhub
Crie ou modifique o arquivo de configuração Logstash existente com o seguinte conteúdo: se você estiver criando o arquivo, ele deverá ser criado em
/opt/bitnami/logstash/conf/access-log.conf
, se você estiver usando a imagem ELK Bitnami no Azure.input { azureeventhub { key => "[RECEIVER-POLICY-KEY-FOR-EVENT-HUB]" username => "[RECEIVER-POLICY-NAME]" namespace => "[EVENTHUB-NAMESPACENAME]" eventhub => "[EVENTHUB-NAME]" partitions => 4 } } output { elasticsearch { hosts => [ "127.0.0.1:9200" ] } }
Para verificar a configuração, execute o seguinte comando:
/opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
Iniciar o serviço Logstash
sudo /opt/bitnami/ctlscript.sh start logstash
Verifique o Elasticsearch para certificar-se de que você esteja recebendo dados
curl 'localhost:9200/_cat/indices?v'
Acesse o painel do Kibana em http://SERVER-IP e insira o nome de usuário e a senha do Kibana. Se você usou a imagem ELK no Azure, o nome de usuário padrão será "user", e a senha será aquela obtida no Diagnóstico de Inicialização.
Próximas etapas
Neste tutorial, você aprendeu a:
- Executar um servidor ELK no Azure
- Configurar o servidor para receber informações de diagnóstico do cluster do Service Fabric
Prosseguir para o próximo tutorial: