Tutorial: Monitorizar as aplicações do Service Fabric com o ELK
Este tutorial é a quarta parte de uma série. Mostra como utilizar o ELK (Elasticsearch, Logstash e Kibana) para monitorizar as aplicações do Service Fabric em execução no Azure.
Na quarta parte da série, ficará a saber como:
- Configurar o servidor do ELK no Azure
- Configurar o Logstash para receber registos dos Hubs de Eventos
- Visualizar os registos da plataforma e da aplicação no Kibana
Nesta série de tutoriais, ficará a saber como:
- Criar uma aplicação Java Service Fabric Reliable Services
- Implementar e depurar a aplicação num cluster local
- Implementar a aplicação num cluster do Azure
- Configurar a monitorização e os diagnósticos da aplicação
- Configurar CI/CD
Pré-requisitos
Antes de começar este tutorial:
- Se não tiver uma subscrição do Azure, crie uma conta gratuita
- Configure a sua aplicação para emitir os registos para a localização especificada na segunda parte.
- Conclua a terceira parte e tenha um cluster do Service Fabric em execução configurado para enviar registos para os Hubs de Eventos.
- A política nos Hubs de Eventos com a permissão "Escutar" e a chave primária associada da terceira série.
Transferir a aplicação de votação de exemplo
Se não conseguiu criar a aplicação de votação de exemplo na primeira parte desta série de tutoriais, pode transferi-la. Numa janela do comando, execute o seguinte comando para clonar o repositório da aplicação de exemplo para o seu computador local.
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
Criar um servidor do ELK no Azure
Pode utilizar um ambiente ELK pré-configurado para este tutorial e, se já tiver um, avance para a secção Configurar o Logstash. No entanto, se não tiver um, os passos seguintes criam um no Azure.
Criar um ELK Certificada pelo Bitnami no Azure. Para a finalidade do tutorial, não existem quaisquer especificações a seguir para a criação deste servidor.
Aceda ao seu recurso no portal do Azure e introduza o separador Diagnósticos de Arranque na secção Suporte + Resolução de Problemas. Em seguida, clique no separador Registo Série.
É necessário pesquisar a palavra-passe nos registos para aceder à instância do Kibana. Assemelha-se ao seguinte fragmento:
[ 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]: #########################################################################
Prima o botão Ligar na página Descrição Geral do servidor no portal do Azure para obter os detalhes de início de sessão.
SSH no servidor que aloja a imagem do ELK com o seguinte comando
ssh [USERNAME]@[CONNECTION-IP-OF-SERVER] Example: ssh testaccount@104.40.63.157
Configurar o ELK
O primeiro passo é carregar o ambiente de ELK
sudo /opt/bitnami/use_elk
Se estiver a utilizar um ambiente existente, tem de executar o seguinte comando para parar o serviço Logstash
sudo /opt/bitnami/ctlscript.sh stop logstash
Execute o seguinte comando para instalar o plug-in do Logstash nos Hubs de Eventos.
logstash-plugin install logstash-input-azureeventhub
Crie ou modifique o ficheiro de configuração do Logstash existente com o seguinte conteúdo: se estiver a criar o ficheiro, tem de ser criado em
/opt/bitnami/logstash/conf/access-log.conf
se utilizar a imagem do 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
Inicie o serviço Logstash
sudo /opt/bitnami/ctlscript.sh start logstash
Verifique o Elasticsearch para assegurar que está a receber dados
curl 'localhost:9200/_cat/indices?v'
Aceda ao dashboard do Kibana em http://SERVER-IP e introduza o nome de utilizador e a palavra-passe do Kibana. Se utilizou a imagem do ELK no Azure, o nome de utilizador predefinido é "user" e a palavra-passe é a obtida nos Diagnósticos de Arranque.
Próximos passos
Neste tutorial, ficou a saber como:
- Ter um servidor do ELK operacional no Azure
- Configurar o servidor para receber as informações de diagnóstico do cluster do Service Fabric
Avance para o tutorial seguinte: