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:
- Skapa ett Java Service Fabric Reliable Services-program
- distribuera och felsöka programmet på ett lokalt kluster
- Distribuera programmet till ett Azure-kluster
- konfigurera övervakning och diagnostik för programmet
- konfigurera CI/CD
Förutsättningar
Innan du börjar den här självstudien:
- Om du inte har någon Azure-prenumeration kan du skapa 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.
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.
Gå till din resurs på Azure-portalen och öppna fliken Startdiagnostik under avsnittet Stöd + Felsökning. Klicka sedan på fliken Serialiseringslogg.
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]: #########################################################################
Tryck på anslutningsknappen på översiktssidan för servern i Azure-portalen för att hämta inloggningsuppgifterna.
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
Det första steget är att läsa in ELK-miljön
sudo /opt/bitnami/use_elk
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
Kör följande kommando för att installera Logstash plugin-programmet för Event Hubs.
logstash-plugin install logstash-input-azureeventhub
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" ] } }
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
Starta Logstash-tjänsten
sudo /opt/bitnami/ctlscript.sh start logstash
Kontrollera din Elasticsearch för att se till att du tar emot data
curl 'localhost:9200/_cat/indices?v'
Ö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.
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: