Omówienie akceleratora rozwiązania do monitorowania zdalnego

Akcelerator rozwiązania do monitorowania zdalnego implementuje kompleksowe rozwiązanie do monitorowania dla wielu maszyn w lokalizacjach zdalnych. Rozwiązanie to łączy najważniejsze usługi platformy Azure, aby umożliwić ogólną implementację scenariusza biznesowego. Możesz go użyć jako punktu wyjścia dla Twojej własnej implementacji i je dostosować, aby spełniało Twoje własne określone wymagania biznesowe.

Ten artykuł przeprowadzi Cię przez niektóre kluczowe elementy rozwiązania do monitorowania zdalnego, aby umożliwić zrozumienie, jak to działa. Ta wiedza ułatwi Ci:

  • Rozwiązywanie problemów w rozwiązaniu.
  • Planowanie sposobu dostosowywania rozwiązania, aby spełniało Twoje wymagania.
  • Projektowanie własnego rozwiązania IoT korzystającego z usług Azure.

Kod akceleratora rozwiązania do monitorowania zdalnego jest dostępny w usłudze GitHub:

Architektura logiczna

Na poniższym diagramie przedstawiono logiczne składniki akceleratora rozwiązania do monitorowania zdalnego nakładane na architekturę IoT:

Architektura logiczna

Dlaczego mikrousługi?

Architektura chmury ewoluowała od czasu wydania przez firmę Microsoft pierwszych akceleratorów rozwiązań. Mikrousługi pojawiły się jako sprawdzone rozwiązanie w celu osiągnięcia skali i elastyczności bez poświęcania szybkości programowania. Niektóre usługi firmy Microsoft używają tego wzorca architektury wewnętrznie z dużą niezawodnością i wynikami skalowalności. Zaktualizowane akceleratory rozwiązań wprowadziły te informacje w praktyce, aby można było z nich korzystać.

Porada

Aby dowiedzieć się więcej na temat architektury mikrousług, zobacz Architektura aplikacji .NET i Mikrousługi: rewolucja w aplikacjach wspierana przez chmurę.

Łączność urządzeń

Rozwiązanie obejmuje następujące składniki w części łączności urządzenia w architekturze logicznej:

Rzeczywiste urządzenia

Rzeczywiste urządzenia można połączyć z rozwiązaniem. Zachowanie symulowanych urządzeń można zaimplementować przy użyciu zestawów SDK urządzeń usługi Azure IoT.

Rzeczywiste urządzenia można aprowizować z poziomu pulpitu nawigacyjnego w portalu rozwiązania.

Mikrousługi symulacji urządzeń

Rozwiązanie obejmuje mikrousługę symulacji urządzeń , która umożliwia zarządzanie pulą symulowanych urządzeń z portalu rozwiązania w celu przetestowania kompleksowego przepływu w rozwiązaniu. Symulowane urządzenia:

  • Generowanie danych telemetrycznych z urządzenia do chmury.
  • Odpowiadanie na wywołania metody chmura-urządzenie z IoT Hub.

Mikrousługi udostępnia punkt końcowy RESTful umożliwiający tworzenie, uruchamianie i zatrzymywanie symulacji. Każda symulacja składa się z zestawu urządzeń wirtualnych różnych typów, które wysyłają dane telemetryczne i reagują na wywołania metod.

Symulowane urządzenia można aprowizować z poziomu pulpitu nawigacyjnego w portalu rozwiązania.

Usługa IoT Hub

Centrum IoT pozyskuje dane telemetryczne wysyłane zarówno z rzeczywistych, jak i symulowanych urządzeń do chmury. Centrum IoT udostępnia dane telemetryczne usługom w zapleczu rozwiązania IoT na potrzeby przetwarzania.

Usługa IoT Hub w rozwiązaniu wykonuje ponadto następujące czynności:

  • Utrzymuje rejestr tożsamości, który przechowuje identyfikatory i klucze uwierzytelniania wszystkich urządzeń, które mogą łączyć się z portalem.
  • Wywołuje metody na urządzeniach w imieniu akceleratora rozwiązania.
  • Obsługuje bliźniacze reprezentacje wszystkich zarejestrowanych urządzeń. W bliźniaczej reprezentacji urządzenia są przechowywane wartości właściwości zgłaszanych przez urządzenie. W bliźniaczej reprezentacji urządzenia są także przechowywane żądane właściwości ustawione w portalu rozwiązania, które mają zostać pobrane przez urządzanie podczas nawiązywania następnego połączenia.
  • Planuje zadania ustawiania właściwości dla wielu urządzeń lub wywoływania metod na wielu urządzeniach.

Przetwarzanie danych i analiza

Rozwiązanie obejmuje następujące składniki w części przetwarzania danych i analizy architektury logicznej:

mikrousługi menedżera IoT Hub

Rozwiązanie obejmuje mikrousługę menedżera IoT Hub do obsługi interakcji z centrum IoT, takich jak:

  • Tworzenie urządzeń IoT i zarządzanie nimi.
  • Zarządzanie bliźniaczymi reprezentacjami urządzeń.
  • Wywoływanie metod na urządzeniach.
  • Zarządzanie poświadczeniami IoT.

Ta usługa uruchamia również zapytania IoT Hub w celu pobrania urządzeń należących do grup zdefiniowanych przez użytkownika.

Mikrousługi udostępnia punkt końcowy RESTful do zarządzania urządzeniami i bliźniaczymi reprezentacjami urządzeń, wywoływania metod i uruchamiania zapytań IoT Hub.

Mikrousługi telemetrii urządzenia

Mikrousługę telemetrii urządzenia zapewnia punkt końcowy RESTful umożliwiający dostęp do odczytu do danych telemetrycznych urządzenia przechowywanych w usłudze Time Series Insights. Punkt końcowy RESTful umożliwia również operacje CRUD na regułach i dostęp do odczytu/zapisu dla definicji alarmów z magazynu.

Mikrousługi adaptera magazynu

Mikrousługa karty magazynowej zarządza parami klucz-wartość, abstrakcją semantyki usługi magazynu i przedstawia prosty interfejs do przechowywania danych dowolnego formatu przy użyciu usługi Azure Cosmos DB.

Wartości są zorganizowane w kolekcjach. Możesz pracować nad poszczególnymi wartościami lub pobrać całe kolekcje. Złożone struktury danych są serializowane przez klientów i zarządzane jako prosty ładunek tekstu.

Usługa udostępnia punkt końcowy RESTful dla operacji CRUD w parach klucz-wartość. values

Azure Cosmos DB

Wdrożenia akceleratora rozwiązań używają usługi Azure Cosmos DB do przechowywania reguł, alertów, ustawień konfiguracji i wszystkich innych magazynów zimnych.

Mikrousługę menedżera usługi Azure Stream Analytics

Mikrousługę menedżera usługi Azure Stream Analytics zarządza zadaniami usługi Azure Stream Analytics (ASA), w tym ustawianiem konfiguracji, uruchamianiem i zatrzymywaniem ich oraz monitorowaniem ich stanu.

Zadanie usługi ASA jest obsługiwane przez dwa zestawy danych referencyjnych. Jeden zestaw danych definiuje reguły i definiuje grupy urządzeń. Dane referencyjne reguł są generowane na podstawie informacji zarządzanych przez mikrousługę telemetrii urządzenia. Mikrousługi menedżera usługi Azure Stream Analytics przekształca reguły telemetryczne w logikę przetwarzania strumieniowego.

Grupy urządzeń odwołują się do danych referencyjnych służą do identyfikowania, która grupa reguł ma być stosowana do przychodzącego komunikatu telemetrii. Grupy urządzeń są zarządzane przez mikrousługę konfiguracji i używają zapytań bliźniaczej reprezentacji urządzenia Azure IoT Hub.

Zadania usługi ASA dostarczają dane telemetryczne z połączonych urządzeń do usługi Time Series Insights na potrzeby magazynowania i analizy.

Usługa Azure Stream Analytics

Azure Stream Analytics to aparat przetwarzania zdarzeń, który umożliwia analizowanie dużych ilości danych przesyłanych strumieniowo z urządzeń.

Azure Time Series Insights

Azure Time Series Insights przechowuje dane telemetryczne z urządzeń połączonych z akceleratorem rozwiązania. Umożliwia również wizualizowanie i wykonywanie zapytań dotyczących telemetrii urządzenia w internetowym interfejsie użytkownika rozwiązania.

Mikrousługę konfiguracji

Mikrousługa konfiguracji zapewnia punkt końcowy RESTful dla operacji CRUD w grupach urządzeń, ustawieniach rozwiązania i ustawieniach użytkownika w akceleratorze rozwiązania. Działa ona z mikrousługą karty magazynowej w celu utrwalania danych konfiguracji.

Mikrousługi uwierzytelniania i autoryzacji

Mikrousługa uwierzytelniania i autoryzacji zarządza użytkownikami autoryzowanymi do uzyskiwania dostępu do akceleratora rozwiązań. Zarządzanie użytkownikami można wykonać przy użyciu dowolnego dostawcy usług tożsamości, który obsługuje program OpenId Connect.

Azure Active Directory

Wdrożenia akceleratora rozwiązań używają usługi Azure Active Directory jako dostawcy openID Connect. Usługa Azure Active Directory przechowuje informacje o użytkowniku i udostępnia certyfikaty do weryfikowania podpisów tokenu JWT.

Prezentacja

Rozwiązanie zawiera następujące składniki w części prezentacji architektury logicznej:

Internetowy interfejs użytkownika to aplikacja React Javascript. Aplikacja:

  • Używa tylko React javascript i działa całkowicie w przeglądarce.
  • Jest stylizowany za pomocą css.
  • Współdziała z publicznymi mikrousługami za pośrednictwem wywołań AJAX.

Interfejs użytkownika przedstawia wszystkie funkcje akceleratora rozwiązań i współdziała z innymi mikrousługami, takimi jak:

  • Mikrousługi uwierzytelniania i autoryzacji w celu ochrony danych użytkownika.
  • Mikrousługi menedżera IoT Hub do wyświetlania listy urządzeń IoT i zarządzania nimi.

Interfejs użytkownika integruje eksploratora Azure Time Series Insights, aby umożliwić wykonywanie zapytań i analizowanie danych telemetrycznych urządzenia.

Mikrousługa konfiguracji umożliwia interfejsowi użytkownika przechowywanie i pobieranie ustawień konfiguracji.

Następne kroki

Jeśli chcesz zapoznać się z dokumentacją kodu źródłowego i dewelopera, zacznij od jednego z dwóch repozytoriów GitHub:

Szczegółowe diagramy architektury rozwiązań:

Aby uzyskać więcej informacji koncepcyjnych na temat akceleratora rozwiązania do monitorowania zdalnego, zobacz Dostosowywanie akceleratora rozwiązań.