Självstudie: Övervaka dina Service Fabric-program med ELK

Den här självstudien är del fyra i en serie. Den visar hur du använder ELK (Elasticsearch, Logstash och Kibana) för att övervaka Service Fabric-tillämpningar som körs i Azure.

I del fyra i serien lär du dig att:

  • Ställa in ELK server i Azure
  • Konfigurera Logstash för att ta emot loggar från Event Hubs
  • Visualisera plattforms- och programloggar i Kibana

I den här självstudieserien får du lära du dig att:

Förutsättningar

Innan du börjar den här självstudien:

  • Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto
  • Konfigurera programmet så att det genererar loggar för den plats som anges i del två.
  • Genomför del tre och se till att du har ett Service Fabric-kluster som är konfigurerat för att skicka loggar till Event Hubs.
  • Principen i Event Hubs som har behörigheten 'Lyssna' och den associerade primärnyckeln från serie tre.

Ladda ned exempelprogrammet Röstning

Om du inte byggde exempelprogrammet Röstning i del ett av självstudiekursen kan du ladda ned det. Kör följande kommando i ett kommandofönster för att klona databasen för exempelappen till den lokala datorn.

git clone https://github.com/Azure-Samples/service-fabric-java-quickstart

Skapa en ELK-server i Azure

Du kan använda en förkonfigurerad ELK-miljö för den här självstudiekursen, och om du redan har en går du direkt till avsnittet Ställa in Logstash. Om du inte har något skapar du ett i Azure med hjälp av följande steg.

  1. Skapa en ELK certifierad av Bitnami i Azure. För den här självstudien finns det inga särskilda specifikationer att följa när du skapar servern.

  2. Gå till din resurs på Azure-portalen och öppna fliken Startdiagnostik under avsnittet Stöd + Felsökning. Klicka sedan på fliken Serialiseringslogg.

    Startdiagnostik

  3. Sök på loggarna efter det lösenord som krävs för att komma åt Kibana-instansen. Det liknar följande kodfragment:

    [   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. Tryck på anslutningsknappen på översiktssidan för servern i Azure-portalen för att hämta inloggningsuppgifterna.

    VM-anslutning

  5. Anslut via SSH till den server där ELK-avbildningen finns med hjälp av följande kommando

    ssh [USERNAME]@[CONNECTION-IP-OF-SERVER]
    
    Example: ssh testaccount@104.40.63.157
    

Konfigurera ELK

  1. Det första steget är att läsa in ELK-miljön

    sudo /opt/bitnami/use_elk
    
  2. Om du använder en befintlig miljö måste du köra följande kommando för att stoppa Logstash-tjänsten

    sudo /opt/bitnami/ctlscript.sh stop logstash
    
  3. Kör följande kommando för att installera Logstash plugin-programmet för Event Hubs.

    logstash-plugin install logstash-input-azureeventhub
    
  4. Skapa eller ändra din befintliga Logstash config-fil med följande innehåll: Om du skapar filen måste den skapas på /opt/bitnami/logstash/conf/access-log.conf om du använder ELK Bitnami-avbildningen i 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. Du kan verifiera konfigurationen genom att köra följande kommando:

    /opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
    
  6. Starta Logstash-tjänsten

    sudo /opt/bitnami/ctlscript.sh start logstash
    
  7. Kontrollera din Elasticsearch för att se till att du tar emot data

    curl 'localhost:9200/_cat/indices?v'
    
  8. Öppna Kibana-instrumentpanelen på http://SERVER-IP och ange användarnamn och lösenord för Kibana. Har du använt ELK-avbildningen i Azure så är standardanvändarnamnet 'user', och lösenordet är det som du hämtade från Startdiagnostik.

    Skärmbild som visar en Kibana-instrumentpanel för att visualisera plattforms- och programloggar.

Nästa steg

I den här självstudiekursen lärde du dig att:

  • Starta och köra en ELK-server i Azure
  • Konfigurera servern för att ta emot diagnostikinformation från ditt Service Fabric-kluster

Gå vidare till nästa kurs: