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:

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.

  1. 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.

  2. 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.

    Diagnóstico de inicialização

  3. 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]: #########################################################################
    
  4. Pressione o botão Conectar na página Visão geral do servidor no Portal do Azure para obter os detalhes de logon.

    Conexão de VM

  5. 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

  1. A primeira etapa é carregar o ambiente ELK

    sudo /opt/bitnami/use_elk
    
  2. 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
    
  3. Execute o seguinte comando para instalar o plug-in Logstash para Hubs de Eventos.

    logstash-plugin install logstash-input-azureeventhub
    
  4. 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" ]
         }
     }
    
  5. Para verificar a configuração, execute o seguinte comando:

    /opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
    
  6. Iniciar o serviço Logstash

    sudo /opt/bitnami/ctlscript.sh start logstash
    
  7. Verifique o Elasticsearch para certificar-se de que você esteja recebendo dados

    curl 'localhost:9200/_cat/indices?v'
    
  8. 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.

    A captura de tela mostra um painel do Kibana para visualizar a plataforma e os logs do aplicativo.

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: