Zbieranie dzienników i metryk za pomocą Azure Log Analytics

W tym artykule opisano, jak używać obiektu docelowego usługi Azure Log Analytics na potrzeby diagnostyki platformy Apache Spark w usłudze Azure Synapse Analytics za pomocą interfejsu API pozyskiwania dzienników.

Emitowanie danych diagnostycznych Apache Spark w usłudze Azure Synapse zapewnia ujednolicony model konfiguracji do zbierania danych diagnostycznych platformy Spark we wszystkich obsługiwanych miejscach docelowych. W przypadku usługi Azure Log Analytics interfejs API pozyskiwania danych dziennika jest zalecanym mechanizmem pozyskiwania danych.

W tym artykule wyjaśniono, jak skonfigurować właściwości emitera, kierować dzienniki platformy Apache Spark, dzienniki zdarzeń i metryki w celu Log Analytics oraz wykonywać zapytania dotyczące pozyskanych danych na potrzeby monitorowania i rozwiązywania problemów.

Migrowanie z interfejsu API modułu zbierającego dane

Jeśli obecnie używasz interfejsu API HTTP Data Collector w usłudze Azure Synapse Analytics, przejdź na interfejs Log Ingestion API, aby zapewnić zgodność z najnowszą architekturą pozyskiwania danych usługi Azure Monitor i najlepszymi praktykami.

Kluczowe zmiany w nowym modelu:

  • Definicje schematu są jednoznacznie określane za pomocą Data Collection Rules (DCRs), co zapewnia przewidywalną walidację schematu i bardziej spójne wyniki zapytań w porównaniu z wcześniejszym podejściem opartym na ładunku o dowolnej strukturze.
  • Przepływ pozyskiwania danych jest kierowany przez punkty końcowe zbierania danych (DCE) i mapowania DCR, oferując bardziej kontrolowaną i niezawodną ścieżkę pozyskiwania niż bezpośrednie przesyłanie danych do punktu końcowego interfejsu API Data Collector.
  • Uwierzytelnianie obsługuje zarówno jednostkę usługi z uwierzytelnianiem tajnym klienta , jak i uwierzytelnianiem opartym na certyfikatach.
  • Typ emitera zmienia się z AzureLogAnalytics na AzureLogIngestion.
  • Migracja zwykle obejmuje tworzenie zasobów DCR i DCE, aktualizację konfiguracji puli Apache Spark w usłudze Azure Synapse (na przykład konfiguracji platformy Spark lub ustawień diagnostycznych) oraz weryfikację, czy dane są pomyślnie importowane do tabel niestandardowych w Azure Log Analytics.

Omówienie interfejsu API zbierania dzienników

W przypadku diagnostyki platformy Apache Spark w Azure Synapse Analytics interfejs API pozyskiwania dzienników udostępnia ustrukturyzowany model pozyskiwania na potrzeby uwierzytelniania, definicji schematu, routingu i dostarczania danych do Azure Log Analytics.

Najważniejsze składniki

Składnik Purpose
Poświadczenia rejestracji aplikacji Udostępnia tożsamość aplikacji Microsoft Entra używaną do uwierzytelniania żądań API zbierania dzienników za pomocą klucza tajnego klienta lub certyfikatu.
Tabela usługi Log Analytics Udostępnia docelową tabelę niestandardową, w której pozyskiwana diagnostyka Spark jest przechowywana na potrzeby wykonywania zapytań i monitorowania.
Reguła zbierania danych (DCR) Definiuje strumienie wejściowe, mapowanie schematu oraz opcjonalne przekształcenia w ramach ingestii.
Punkt końcowy zbierania danych (DCE) Udostępnia identyfikator URI punktu końcowego pozyskiwania (dceUri) używany przez klientów do przesyłania danych za pośrednictwem routingu opartego na DCR.

Do programatycznego pozyskiwania danych można używać tylko utworzonych przez użytkownika zasad zbierania danych skonfigurowanych dla interfejsu API do pozyskiwania dzienników.

Konfiguracja krok po kroku

Krok 1. Przygotowywanie obszaru roboczego usługi Log Analytics

Do otrzymania diagnostyki platformy Spark jest wymagany obszar roboczy usługi Log Analytics. Jest to podstawowa jednostka przechowywania i zapytań w usłudze Dzienniki Azure Monitor.

Jeśli go nie masz, utwórz obszar roboczy usługi Log Analytics w witrynie Azure Portal.

Ważna

Po wykonaniu poniższych kroków utwórz zasoby: punkt końcowy zbierania danych (DCE) i regułę zbierania danych (DCR) w tym samym regionie co obszar roboczy Log Analytics.

Krok 2. Tworzenie punktu końcowego zbierania danych (DCE)

Utwórz punkt końcowy zbierania danych (DCE) w portalu Azure. DCE zapewnia identyfikator URI punktu końcowego, który konfiguruje się we właściwościach Sparka dla API pobierania logów. Region DCE musi być taki sam jak region obszaru roboczego Log Analytics.

Użytkownicy mogą opcjonalnie utworzyć co najmniej jeden typ tabeli (logs, events, metrics), w zależności od scenariusza, a każdy typ tabeli ma własną nazwę konfiguracji i strumienia DCR. Utwórz i skonfiguruj tylko potrzebne typy tabel.

  1. W portalu Azure przejdź do Monitor w lewym okienku nawigacji.

  2. W obszarze Ustawienia wybierz pozycję Punkty końcowe zbierania danych, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający tworzenie punktu końcowego zbierania danych.

  3. Utwórz punkt końcowy, a następnie zanotuj nazwę DCE (na przykład DCEdemo).

Krok 3. Przygotowywanie przykładowego schematu JSON

Podczas tworzenia niestandardowych tabel dzienników należy skonfigurować regułę zbierania danych (DCR). Na podstawie definicji strumienia danych określonych w dcR system automatycznie generuje odpowiedni schemat tabeli w obszarze roboczym usługi Log Analytics.

Poniższe wstępnie zdefiniowane przykłady schematów JSON przyporządkowują się określonemu typowi danych. Pobierz próbkę, która pasuje do Twojego scenariusza, i prześlij ją podczas tworzenia skojarzonej tabeli niestandardowej i reguły zbierania danych.

Krok 4. Tworzenie tabeli niestandardowej (import bezpośredni)

Utwórz tabelę niestandardową w obszarze roboczym usługi Log Analytics z opcją interfejs API do zbierania dzienników i przekaż przykładowy schemat JSON do skojarzonej reguły zbierania danych. Ten krok jest wymagany do skonfigurowania miejsca docelowego diagnostyki platformy Spark i upewnienia się, że pozyskane dane są zgodne z oczekiwanym schematem. Region obszaru roboczego Log Analytics, a także DCE i DCR, musi być taki sam, aby umożliwić pomyślne przetwarzanie danych.

  1. W witrynie Azure Portal otwórz obszar roboczy usługi Log Analytics (na przykład loganalyticsworkspacedemo).

  2. Wybierz pozycję Tabele>Utwórz>nowy dziennik niestandardowy (pozyskiwanie bezpośrednie).

    Zrzut ekranu przedstawiający bezpośrednie wprowadzanie niestandardowej tabeli.

  3. Wprowadź ustawienia tabeli:

    • Nazwa tabeli: Na przykład SparkLogTest (sufiks "_CL" jest dodawany automatycznie).
    • Plan tabeli: analizy
    • Reguła zbierania danych: utwórz nową regułę zbierania danych (na przykład SparkLogTestrule).
    • Punkt końcowy zbierania danych: Wybierz DCE z kroku Tworzenie punktu końcowego zbierania danych (DCE) (na przykład DCEdemo).

    Zrzut ekranu pokazujący, jak skonfigurować bezpośredni ingest niestandardowej tabeli.

  4. Wybierz Dalej.

  5. W obszarze Schemat i transformacja przekaż przykładowy schemat JSON. Nie musisz konfigurować transformacji DCR, ponieważ schemat jest w pełni ustabilizowany po stronie klienta.

Krok 5. Przygotuj nazwę główną usługi i zbierz identyfikator DCR

  1. Zarejestruj aplikację w Microsoft Entra ID.

    Zrzut ekranu przedstawiający identyfikator tenantId i clientId.

  2. Zanotuj TenantId, ClientId i ClientSecret (jeśli używasz uwierzytelniania tajnego klienta). Te wartości są używane w konfiguracji platformy Spark w kroku 6.

  3. Przyznaj aplikacji rolę Monitoring Metrics Publisher w zasobie DCR każdej tabeli. Aby zapoznać się z krokami przypisywania ról, zobacz Przypisanie ról Azure przy użyciu portalu Azure.

    Zrzut ekranu przedstawiający przypisanie roli publikowania metryk monitorowania.

  4. Pobierz nazwę strumienia i identyfikator DCR. Możesz pobrać identyfikator DCR i nazwę strumienia dla każdej utworzonej tabeli z widoku JSON zasobu Data Collection Rule (DCR) w portalu Azure.

    Format nazwy strumienia to zawsze: Custom-<Log Analytics table name>. Jeśli na przykład nazwa tabeli to AppLogs_CL, nazwa strumienia będzie: Custom-AppLogs_CL.

    W następnym kroku skonfigurujesz odpowiednie wartości logStream, eventStream, metricStream oraz wartości logDcr, eventDcr i metricDcr w konfiguracji Spark, używając tych nazw strumieni.

    Zrzut ekranu przedstawiający sposób pobrania nazwy strumienia i identyfikatora DCR.

Krok 6. Konfigurowanie właściwości platformy Spark

Aby skonfigurować platformę Spark, utwórz konfigurację platformy Apache Spark w Azure Synapse Analytics i wybierz jedną z następujących opcji uwierzytelniania. Użyj tylko jednej opcji dla danego emitera.

Konfiguracja Apache Spark w Azure Synapse Analytics przechowuje ustawienia i biblioteki platformy Spark, których notesniki i definicje zadań Spark używają w czasie wykonywania. Aby uzyskać instrukcje tworzenia, zobacz Zarządzanie konfiguracją platformy Apache Spark.

  • Wybierz opcję 1, jeśli chcesz prostszą konfigurację przy użyciu klucza tajnego klienta.
  • Wybierz opcję 2, jeśli organizacja wymaga uwierzytelniania opartego na certyfikatach i scentralizowanego zarządzania certyfikatami w Azure Key Vault.
  • Wybierz opcję 3, jeśli używasz uwierzytelniania opartego na certyfikatach i chcesz pobrać certyfikat z Azure Key Vault za pośrednictwem połączonej usługi Synapse (dostęp usługi zarządzanej obszaru roboczego Key Vault).

W obu opcjach możesz kliknąć przycisk Importuj , aby szybko załadować plik YAML konfiguracji.

Opcja 1. Konfigurowanie przy użyciu jednostki usługi i klucza tajnego klienta

Użyj tej opcji, aby szybko skonfigurować poświadczenia pryncypała usługi i klucz tajny klienta.

  1. Utwórz konfigurację platformy Apache Spark.

  2. Dodaj następujące właściwości platformy Spark z odpowiednimi wartościami do artefaktu środowiska lub wybierz pozycję Importuj na wstążce, aby pobrać przykładowy plik yaml, który zawiera już wymagane właściwości.

    spark.synapse.diagnostic.emitters: <EMITTER_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: AzureLogIngestion
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: DriverLog,ExecutorLog,EventLog,Metrics
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: <LOG_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: <LOG_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: <EVENT_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: <EVENT_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: <METRIC_DCR_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: <METRIC_STREAM_NAME>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: <SP_TENANT_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: <SP_CLIENT_ID>
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.secret: <SP_CLIENT_SECRET>
    
  3. Zapisz i opublikuj zmiany.

Opcja 2. Konfigurowanie przy użyciu uwierzytelniania certyfikatu jednostki usługi

Użyj tej opcji, jeśli organizacja wymaga uwierzytelniania opartego na certyfikatach.

Przed rozpoczęciem zadbaj o to, aby główny element usługi został utworzony przy użyciu certyfikatu. Aby uzyskać więcej informacji, zobacz Tworzenie jednostki usługi zawierającej certyfikat przy użyciu interfejsu wiersza polecenia platformy Azure.

  1. Utwórz konfigurację platformy Apache Spark.

  2. Dodaj następujące właściwości platformy Spark z odpowiednimi wartościami do artefaktu środowiska lub wybierz pozycję Importuj na wstążce, aby pobrać przykładowy plik yaml, który zawiera już wymagane właściwości.

    spark.synapse.diagnostic.emitters: "<EMITTER_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: "AzureLogIngestion"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: "DriverLog,ExecutorLog,EventLog,Metrics"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: "https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: "<LOG_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: "<LOG_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: "<EVENT_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: "<EVENT_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: "<METRIC_DCR_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: "<METRIC_STREAM_NAME>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: "<SP_TENANT_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: "<SP_CLIENT_ID>"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault: "https://<KEYVAULT_NAME>.vault.azure.net/"
    spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName: "<SP_CERT_NAME>"
    
  3. Zapisz i opublikuj zmiany.

Opcja 3. Konfigurowanie za pomocą połączonej usługi

Note

W tej opcji należy nadać tożsamości zarządzanej obszaru roboczego uprawnienie do odczytu certyfikatu. Aby uzyskać więcej informacji, zobacz Zapewnienie dostępu do kluczy Key Vault, certyfikatów i tajemnic za pomocą kontroli dostępu opartej na rolach Azure.

Aby skonfigurować połączoną usługę Key Vault w Synapse Studio do przechowywania certyfikatu jednostki usługi, wykonaj następujące kroki:

  1. Wykonaj wszystkie kroki opisane w poprzedniej sekcji "Opcja 2".

  2. Utwórz połączoną usługę Key Vault w programie Synapse Studio:

    a. Przejdź do Synapse Studio>Zarządzanie>Połączone usługi, a następnie wybierz Nowy.

    b. W polu wyszukiwania wyszukaj usługę Azure Key Vault.

    c. Wprowadź nazwę połączonej usługi.

    d. Wybierz magazyn kluczy, a następnie wybierz opcję Utwórz.

  3. spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService Dodaj element do konfiguracji platformy Apache Spark.

  4. Dodaj następujące właściwości platformy Spark z odpowiednimi wartościami do konfiguracji platformy Spark lub wybierz pozycję Importuj na wstążce, aby pobrać przykładowy plik yaml, który zawiera już wymagane właściwości.

   spark.synapse.diagnostic.emitters: <EMITTER_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type: AzureLogIngestion
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories: DriverLog,ExecutorLog,EventLog,Metrics
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri: https://<DCE_NAME>.<REGION>.ingest.monitor.azure.com
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr: <LOG_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream: <LOG_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr: <EVENT_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream: <EVENT_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr: <METRIC_DCR_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream: <METRIC_STREAM_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId: <SP_TENANT_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId: <SP_CLIENT_ID>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault: https://<KEYVAULT_NAME>.vault.azure.net/
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName: <SP_CERT_NAME>
   spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService: <AZURE_KEY_VAULT_LINKED_SERVICE>

Aby uzyskać listę konfiguracji platformy Apache Spark, zobacz Dostępne konfiguracje platformy Apache Spark

Krok 7. Dołączanie konfiguracji platformy Apache Spark do notesów lub definicji zadań platformy Spark lub ustawianie jej jako domyślnego obszaru roboczego

Użyj jednego z następujących podejść w zależności od zakresu:

  • Dołącz konfigurację platformy Apache Spark do określonych notesów lub definicji zadań platformy Spark, jeśli chcesz użyć docelowej kontroli wdrażania, testowania lub poszczególnych elementów.
  • Ustaw domyślną konfigurację platformy Apache Spark jako obszar roboczy, jeśli chcesz zastosować spójne ustawienia diagnostyki Spark w obszarze roboczym.

Aby zastosować konfigurację do notatników lub definicji zadania Spark:

  1. Przejdź do swojego notesu lub definicji zadania Spark w Azure Synapse Analytics Studio.
  2. Wybierz lub skonfiguruj docelową pulę platformy Apache Spark skojarzoną z notatnikiem lub definicją zadania Spark.
  3. Upewnij się, że wymagane konfiguracje Sparka (na przykład ustawienia pozyskiwania logów) zostały zastosowane do puli lub sesji Apache Spark.
  4. Uruchom lub wznów sesję Spark, aby konfiguracja zaczęła obowiązywać.

Aby skonfigurować ustawienia na poziomie obszaru roboczego lub puli Apache Spark:

  1. Przejdź do obszaru Zarządzanie w usłudze Azure Synapse Studio.
  2. Przejdź do pul platformy Apache Spark i wybierz docelową pulę platformy Apache Spark.
  3. Skonfiguruj wymagane ustawienia platformy Spark (na przykład właściwości diagnostyczne lub właściwości związane z pozyskiwaniem dzienników).
  4. Zapisz konfigurację. Ustawienia będą stosowane do wszystkich nowych sesji platformy Spark utworzonych w tej puli.

Krok 8. Przesyłanie aplikacji platformy Apache Spark i wyświetlanie dzienników i metryk

Oto, jak to zrobić:

  1. Prześlij aplikację platformy Apache Spark do puli platformy Apache Spark skonfigurowanej w poprzednim kroku. Aby to zrobić, możesz użyć dowolnego z następujących sposobów:

    • Uruchom notatnik w programie Synapse Studio.
    • W programie Synapse Studio prześlij zadanie wsadowe platformy Apache Spark za pomocą definicji zadania platformy Apache Spark.
    • Uruchom potok zawierający aktywność platformy Apache Spark.
  2. Przejdź do określonego obszaru roboczego usługi Log Analytics, a następnie wyświetl metryki aplikacji i dzienniki po uruchomieniu aplikacji Platformy Apache Spark.

Zapisywanie niestandardowych dzienników aplikacji

Możesz użyć biblioteki Apache Log4j do zapisywania dzienników niestandardowych.

Przykład w języku Scala

%%spark
val logger = org.apache.log4j.LogManager.getLogger("com.contoso.LoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
//log exception
try {
      1/0
 } catch {
      case e:Exception =>logger.warn("Exception", e)
}
// run job for task level metrics
val data = sc.parallelize(Seq(1,2,3,4)).toDF().count()

Przykład dla PySpark:

%%pyspark
logger = sc._jvm.org.apache.log4j.LogManager.getLogger("com.contoso.PythonLoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")

Wykonywanie zapytań dotyczących danych za pomocą usługi Kusto

Poniżej przedstawiono przykład wykonywania zapytań dotyczących zdarzeń platformy Apache Spark:

SparkEventTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Event_s== "EventName"
| order by TimeGenerated desc
| limit 100

Oto przykład wykonywania zapytań dotyczących sterownika aplikacji platformy Apache Spark i dzienników funkcji wykonawczych:

SparkLogTest_CL
| where workspaceName_s == "{SynapseWorkspace}" and Message contains "SampleMessage"
| order by TimeGenerated desc
| limit 100

Oto przykład wykonywania zapytań dotyczących metryk platformy Apache Spark:

SparkMetricsTest_CL 
| where workspaceName_s == "{SynapseWorkspace}" and name_s== "{MetricsName}"
| order by TimeGenerated desc
| limit 100

Tworzenie alertów i zarządzanie nimi

Użytkownicy mogą wykonywać zapytania dotyczące oceny metryk i dzienników z ustawioną częstotliwością oraz wyzwalać alert na podstawie wyników. Aby uzyskać więcej informacji, zobacz Tworzenie, wyświetlanie alertów dzienników i zarządzanie nimi przy użyciu usługi Azure Monitor.

Obszar roboczy usługi Synapse z włączoną ochroną przed eksfiltracją danych

Po utworzeniu obszaru roboczego usługi Synapse z włączoną ochroną przed eksfiltracją danych.

Jeśli chcesz włączyć tę funkcję, musisz utworzyć prośby o ustanowienie zarządzanego połączenia do prywatnego punktu końcowego w zakresach łącza prywatnego usługi Azure Monitor (AMPLS) w zatwierdzonych dzierżawach Microsoft Entra w obszarze roboczym.

Poniższe kroki można wykonać, aby utworzyć zarządzane połączenie prywatnego punktu końcowego z zakresami łącza prywatnego usługi Azure Monitor (AMPLS):

  1. Jeśli nie ma istniejącej usługi AMPLS, możesz skorzystać z konfiguracji połączenia Azure Monitor Private Link, aby ją utworzyć.
  2. Przejdź do swojego AMPLS w portalu Azure, na stronie Zasoby usługi Azure Monitor i wybierz pozycję Dodaj, aby dodać połączenie do obszaru roboczego usługi Azure Log Analytics.
  3. Przejdź do Synapse Studio > Zarządzanie > Zarządzanymi prywatnymi punktami końcowymi, wybierz przycisk Nowy, wybierz Zakresy łącza prywatnego usługi Azure Monitor i kontynuuj.

    Zrzut ekranu przedstawiający tworzenie prywatnego punktu końcowego zarządzanego przez usługę AMPLS 1.

  4. Wybierz utworzony zakres usługi Azure Monitor Private Link, a następnie wybierz przycisk Utwórz .

    Zrzut ekranu przedstawiający tworzenie zarządzanego prywatnego punktu końcowego AMPLS 2.

  5. Poczekaj kilka minut na aprowizowanie prywatnego punktu końcowego.
  6. Ponownie przejdź do AMPLS w portalu Azure na stronie Połączenia prywatnego punktu końcowego, wybierz aprowizowane połączenie i zatwierdź.

Note

  • Obiekt AMPLS ma wiele ograniczeń, które należy wziąć pod uwagę podczas planowania konfiguracji usługi Private Link. Zobacz AMPLS limity , aby dowiedzieć się więcej na temat tych limitów.
  • Sprawdź, czy masz odpowiednie uprawnienia do tworzenia zarządzanego prywatnego punktu końcowego.

Dostępne konfiguracje

Konfiguracja Opis
spark.synapse.diagnostic.emitters Rozdzielane przecinkami nazwy docelowe emiterów diagnostycznych. Na przykład MyDest1,MyDest2.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.type Wbudowany typ celu. Aby włączyć usługę Azure Log Analytics za pośrednictwem interfejsu API pozyskiwania dzienników, ustaw tę wartość na AzureLogIngestion.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.categories Wybrane kategorie logów rozdzielone przecinkami. Dostępne wartości obejmują DriverLog, , ExecutorLogEventLog, Metrics. Jeśli nie zostanie ustawiona, wartość domyślna to wszystkie kategorie.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.dceUri Identyfikator URI punktu końcowego zbierania danych (DCE) używany do przetwarzania danych podczas ich routingu za pośrednictwem reguł zbierania danych (DCR).
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logDcr Identyfikator zasobu reguły gromadzenia danych (DCR) używany do kierowania dzienników platformy Spark do miejsca docelowego.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.logStream Nazwa strumienia zdefiniowana w regule zbierania danych (DCR) dla dzienników platformy Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventDcr Identyfikator zasobu reguły zbierania danych (DCR) używany do kierowania dzienników zdarzeń platformy Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.eventStream Nazwa strumienia zdefiniowana w regule zbierania danych (DCR) dla dzienników zdarzeń platformy Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricDcr Identyfikator zasobu reguły zbierania danych (DCR) używany do kierowania metryk platformy Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.metricStream Nazwa strumienia zdefiniowana w regule zbierania danych (DCR) dla metryk platformy Spark.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.tenantId Identyfikator najemcy Microsoft Entra używany do uwierzytelniania.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.clientId Identyfikator klienta (aplikacji) zarejestrowany w identyfikatorze Entra firmy Microsoft.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.secret Klucz tajny klienta powiązany z aplikacją Microsoft Entra ID, używany wraz z identyfikatorem dzierżawy i identyfikatorem klienta do uwierzytelniania nadawcy podczas wysyłania danych diagnostycznych. To ustawienie jest wzajemnie wykluczone z uwierzytelnianiem opartym na certyfikatach — skonfiguruj albo tajemnicę klienta, albo certyfikat, ale nie oba na raz.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault Identyfikator URI usługi Azure Key Vault, który przechowuje certyfikat uwierzytelniania.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.certificateName Nazwa certyfikatu przechowywanego w Azure Key Vault używanego do uwierzytelniania.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.certificate.keyVault.linkedService Nazwa połączonej usługi Azure Key Vault w usłudze Synapse. Jeśli określono, tożsamość zarządzana obszaru roboczego używa tej połączonej usługi do pobrania certyfikatu z usługi Azure Key Vault.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.eventName.match Nazwy zdarzeń odbiornika Spark rozdzielone przecinkami; Można określić, które zdarzenia mają być zbierane. Na przykład SparkListenerApplicationStart,SparkListenerApplicationEnd.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.loggerName.match Rozdzielone przecinkami nazwy rejestratora Log4j; Można określić, które dzienniki mają być zbierane. Na przykład org.apache.spark.SparkContext,org.example.Logger.
spark.synapse.diagnostic.emitter.<EMITTER_NAME>.filter.metricName.match Sufiksy nazw metryk platformy Spark rozdzielone przecinkami; Można określić, które metryki mają być zbierane. Na przykład jvm.heap.used.

Note

Metody uwierzytelniania wzajemnie się wykluczają: skonfiguruj jedną z opcji: secret (w postaci zwykłego tekstu) lub certificate.keyVault + certificate.keyVault.certificateName (opcjonalnie z certificate.keyVault.linkedService). Pobieranie klienta secret z Azure Key Vault (z połączoną usługą lub bez niego) nie jest obsługiwane przez miejsce docelowe pozyskiwania dzienników. Jeśli musisz zachować poświadczenia w Key Vault, użyj ścieżki opartej na certyfikatach.