Samouczek: monitorowanie aplikacji usługi Service Fabric przy użyciu rozwiązania ELK
Niniejszy samouczek jest czwartą częścią serii. Przedstawiono w nim sposób używania rozwiązania ELK (Elasticsearch Logstash i Kibana) do monitorowania aplikacji usługi Service Fabric działających na platformie Azure.
Część czwarta serii zawiera informacje na temat wykonywania następujących czynności:
- Konfigurowanie serwera ELK na platformie Azure
- Konfigurowanie usługi Logstash w celu odbierania dzienników z usługi Event Hubs
- Wizualizowanie dzienników platformy i aplikacji w rozwiązaniu Kibana
Ta seria samouczków zawiera informacje na temat wykonywania następujących czynności:
- Kompilowanie aplikacji Java usług Reliable Services w usłudze Service Fabric
- Wdrażanie i debugowanie aplikacji w klastrze lokalnym
- Wdrażanie aplikacji w klastrze platformy Azure
- Konfigurowanie monitorowania i diagnostyki dla aplikacji
- Konfigurowanie ciągłej integracji/ciągłego wdrażania
Wymagania wstępne
Przed rozpoczęciem tego samouczka:
- Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto
- Konfigurowanie aplikacji do emitowania dzienników do lokalizacji określonej w części drugiej.
- Wykonaj czynności z części trzeciej, aby skonfigurować uruchomiony klaster usługi Service Fabric do wysyłania dzienników do usługi Event Hubs.
- Zasady w usłudze Event Hubs mają uprawnienia do nasłuchiwania oraz skojarzony klucz podstawowy z trzeciej części serii.
Pobieranie przykładowej aplikacji do głosowania
Jeśli nie skompilowano przykładowej aplikacji do głosowania w pierwszej części tej serii samouczków, można ją pobrać. W oknie polecenia uruchom następujące polecenie, aby sklonować przykładowe repozytorium aplikacji na komputer lokalny.
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
Tworzenie serwera ELK na platformie Azure
W tym samouczku możesz używać wstępnie skonfigurowanego środowiska ELK. Jeśli już takie masz, przejdź do sekcji Konfigurowanie rozwiązania Logstash. W przeciwnym razie wykonaj poniższe kroki w celu utworzenia go na platformie Azure.
Utwórz serwer ELK certyfikowany przez bibliotekę Bitnami na platformie Azure. W przypadku tego samouczka nie ma żadnych szczególnych specyfikacji wymaganych do utworzenia tego serwera.
Przejdź do zasobu w witrynie Azure Portal, a następnie przejdź na kartę Diagnostyka rozruchu w sekcji Pomoc techniczna i rozwiązywanie problemów. Następnie kliknij kartę Dziennik magistrali szeregowej.
Wyszukaj w dziennikach hasło wymagane do uzyskania dostępu do wystąpienia rozwiązania Kibana. Jest on podobny do następującego fragmentu kodu:
[ 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]: #########################################################################
Naciśnij przycisk Połącz na stronie przeglądu serwera w witrynie Azure Portal w celu uzyskania szczegółowych danych logowania.
Użyj protokołu SSH, aby połączyć się z serwerem obsługującym obraz ELK za pomocą poniższego polecenia
ssh [USERNAME]@[CONNECTION-IP-OF-SERVER] Example: ssh testaccount@104.40.63.157
Konfigurowanie serwera ELK
Pierwszy krok to załadowanie środowiska ELK
sudo /opt/bitnami/use_elk
Jeśli używasz istniejącego środowiska, musisz uruchomić poniższe polecenie, aby zatrzymać usługę Logstash
sudo /opt/bitnami/ctlscript.sh stop logstash
Uruchom poniższe polecenie, aby zainstalować wtyczkę Logstash dla usługi Event Hubs.
logstash-plugin install logstash-input-azureeventhub
Utwórz lub zmodyfikuj istniejący plik konfiguracji Logstash z następującą zawartością: w przypadku korzystania z obrazu ELK Bitnami na platformie Azure plik należy utworzyć w lokalizacji
/opt/bitnami/logstash/conf/access-log.conf
.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" ] } }
Aby zweryfikować konfigurację, uruchom następujące polecenie:
/opt/bitnami/logstash/bin/logstash -f /opt/bitnami/logstash/conf/ --config.test_and_exit
Uruchom usługę Logstash
sudo /opt/bitnami/ctlscript.sh start logstash
Sprawdź rozwiązanie Elasticsearch, aby upewnić się, że odbierasz dane
curl 'localhost:9200/_cat/indices?v'
Uzyskaj dostęp do pulpitu nawigacyjnego Kibana w lokalizacji http://SERVER-IP, a następnie wprowadź nazwę użytkownika i hasło rozwiązania Kibana. Jeśli używasz obrazu ELK na platformie Azure, domyślna nazwa użytkownika to „user”, a hasło jest uzyskiwane z diagnostyki rozruchu.
Następne kroki
W tym samouczku zawarto informacje na temat wykonywania następujących czynności:
- Uruchamianie serwera ELK na platformie Azure
- Konfigurowanie serwera do odbierania informacji diagnostycznych z klastra usługi Service Fabric
Przejdź do następnego samouczka: