Udostępnij za pośrednictwem


Tworzenie interaktywnych raportów przy użyciu skoroszytów usługi Azure Monitor

Istnieje kilka sposobów tworzenia interaktywnych raportów i doświadczeń w skoroszytach.

  • Parametry: podczas aktualizowania parametru każda kontrolka, która używa parametru automatycznie odświeża i ponownie rysuje, aby odzwierciedlić nową wartość. W ten sposób większość raportów w Azure portal zapewnia interaktywność. Skoroszyty zapewniają tę funkcjonalność w prosty sposób przy minimalnym nakładzie pracy użytkownika.
  • Wybór siatki, kafelka i wykresu: możesz konstruować scenariusze, w których wybranie wiersza w siatce spowoduje zaktualizowanie kolejnych wykresów na podstawie zawartości wiersza. Na przykład może istnieć siatka przedstawiająca listę żądań i niektóre statystyki, takie jak liczba błędów. Można go skonfigurować tak, aby po wybraniu wiersza żądania szczegółowe wykresy poniżej zaktualizowały się tak, aby pokazywały tylko to żądanie. Dowiedz się, jak skonfigurować kliknięcie na wiersz w siatce.
  • Kliknięcia komórek siatki: możesz dodać interakcyjność przy użyciu specjalnego typu renderera kolumn siatki, nazywanego rendererem linków. Renderator łączy konwertuje komórkę siatki na hiperlink na podstawie zawartości komórki. Skoroszyty obsługują wiele rodzajów renderów linków, w tym takie, które otwierają okienka przeglądu zasobów, przeglądarki właściwości oraz umożliwiają wyszukiwanie, przeglądanie użycia i śledzenie transakcji w usłudze Application Insights. Dowiedz się, jak skonfigurować kliknięcie komórki siatki.
  • Widoczność warunkowa: kontrolki można wyświetlać lub znikać na podstawie wartości parametrów. Dzięki temu możesz mieć raporty, które wyglądają inaczej na podstawie danych wejściowych użytkownika lub stanu telemetrii. Na przykład możesz wyświetlić użytkownikom podsumowanie, gdy nie ma problemów. Możesz również wyświetlić szczegółowe informacje, gdy coś jest nie tak. Dowiedz się, jak skonfigurować widoczność warunkową.
  • Eksportowanie parametrów z wieloma wyborami: możesz wyeksportować parametry ze składników skoroszytu zapytań i metryk, gdy wybrano wiersz lub wiele wierszy. Dowiedz się, jak skonfigurować wielokrotne wybieranie w siatkach i wykresach.

Ustawienie kliknięcia na wierszu siatki

  1. Upewnij się, że jesteś w trybie edycji, wybierając pozycję Edytuj.

  2. Wybierz pozycję Dodaj zapytanie , aby dodać kontrolkę zapytania dziennika do skoroszytu.

  3. Wybierz typ zapytania dziennika, typ zasobu i zasoby docelowe.

  4. Użyj edytora zapytań, aby wprowadzić język KQL na potrzeby analizy:

    requests
    | summarize AllRequests = count(), FailedRequests = countif(success == false) by Request = name
    | order by AllRequests desc
    
  5. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki.

  6. Wybierz pozycję Ustawienia zaawansowane, aby otworzyć okienko Ustawienia zaawansowane.

  7. Zaznacz pole wyboru Po wybraniu elementu, wyeksportuj parametr.

  8. Wybierz pozycję Dodaj parametr i wypełnij następujące informacje:

    • Pole do wyeksportowania: Request
    • Nazwa parametru: SelectedRequest
    • Wartość domyślna: All requests

    Zrzut ekranu przedstawiający edytor skoroszytu Ustawienia zaawansowane z ustawieniami eksportowania pól jako parametrami.

  9. Opcjonalny. Jeśli chcesz wyeksportować całą zawartość wybranego wiersza zamiast określonej kolumny, pozostaw Field to export niezaznaczone. Zawartość całego wiersza jest eksportowana jako kod JSON do parametru . W kontrolce KQL użyj funkcji todynamic, aby przeanalizować JSON i uzyskać dostęp do poszczególnych kolumn.

  10. Wybierz pozycję Zapisz.

  11. Wybierz pozycję Zakończono edytowanie.

  12. Dodaj kolejną kontrolkę zapytania, tak jak w poprzednich krokach.

  13. Użyj edytora zapytań, aby wprowadzić język KQL na potrzeby analizy.

    requests
    | where name == '{SelectedRequest}' or 'All Requests' == '{SelectedRequest}'
    | summarize ['{SelectedRequest}'] = count() by bin(timestamp, 1h)
    
  14. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki.

  15. Zmień wizualizację na Wykres warstwowy.

  16. Wybierz wiersz do wybrania w pierwszej siatce. Zwróć uwagę, jak poniższy wykres warstwowy filtruje wybrane żądanie.

Wynikowy raport wygląda podobnie do tego przykładu w trybie edycji:

Zrzut ekranu przedstawiający skoroszyty z dwoma pierwszymi zapytaniami w trybie edycji.

Na poniższej ilustracji przedstawiono bardziej rozbudowany interaktywny raport w trybie odczytu na podstawie tych samych zasad. Raport używa kliknięć siatki do wyeksportowania parametrów, które z kolei są używane w dwóch wykresach i bloku tekstowym.

Zrzut ekranu przedstawiający raport skoroszytu przy użyciu kliknięć siatki.

Konfigurowanie kliknięć komórki siatki

  1. Upewnij się, że jesteś w trybie edycji, wybierając pozycję Edytuj.

  2. Wybierz pozycję Dodaj zapytanie , aby dodać kontrolkę zapytania dziennika do skoroszytu.

  3. Wybierz typ zapytania dziennika, typ zasobu i zasoby docelowe.

  4. Użyj edytora zapytań, aby wprowadzić język KQL na potrzeby analizy:

    requests
    | summarize Count = count(), Sample = any(pack_all()) by Request = name
    | order by Count desc
    
  5. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki.

  6. Wybierz pozycję Ustawienia kolumny, aby otworzyć okienko ustawień.

  7. W sekcji Kolumny ustaw:

    • Przykład
      • Moduł renderowania kolumn: Link
      • Wyświetl, aby otworzyć: Cell Details
      • Etykieta linku: Sample
    • Licznik
      • Moduł renderowania kolumn: Bar
      • Paleta kolorów: Blue
      • Wartość minimalna: 0
    • Zażądaj
      • Moduł renderowania kolumn: Automatic
  8. Wybierz pozycję Zapisz i zamknij , aby zastosować zmiany.

    Zrzut ekranu przedstawiający okienko Edytowanie ustawień kolumny.

  9. Wybierz link Próbka w tabeli, aby otworzyć okienko ze szczegółami przykładowego żądania.

    Zrzut ekranu przedstawiający okienko Szczegóły przykładowego żądania.

Dowiedz się, jak działają akcje linków w celu ulepszenia interakcyjności skoroszytu.

Ustawianie widoczności warunkowej

  1. Wykonaj kroki opisane w sekcji Konfigurowanie kliknięcia wiersza w siatce, aby ustawić dwie interaktywne kontrolki.

  2. Dodaj nowy parametr z następującymi wartościami:

    • Nazwa parametru: ShowDetails
    • Typ parametru: Drop down
    • Wymagane: checked
    • Pobieranie danych z: JSON
    • Dane wejściowe JSON: ["Yes", "No"]
  3. Wybierz pozycję Zapisz , aby zatwierdzić zmiany.

    Zrzut ekranu przedstawiający edytowanie parametru interaktywnego w skoroszytach.

  4. Ustaw wartość parametru na Yes.

    Zrzut ekranu przedstawiający ustawianie interakcyjnej wartości parametru w skoroszycie.

  5. W kontrolce zapytania z wykresem warstwowym wybierz pozycję Ustawienia zaawansowane (ikona koła zębatego).

  6. Jeśli właściwość ShowDetails jest ustawiona na Yes, wybierz pozycję Ustaw ten element jako widoczny warunkowo.

  7. Wybierz pozycję Gotowe edytowanie , aby zatwierdzić zmiany.

  8. Na pasku narzędzi skoroszytu wybierz pozycję Gotowe edytowanie.

  9. Przełącz wartość ShowDetails na No. Zwróć uwagę, że poniższy wykres zniknie.

Na poniższej ilustracji przedstawiono przypadek, w którym ShowDetails to Yes:

Zrzut ekranu przedstawiający skoroszyt z widocznym elementem warunkowym.

Na poniższym obrazku przedstawiono ukryty przypadek, w którym ShowDetails jest No:

Zrzut ekranu przedstawiający skoroszyt z ukrytym składnikiem warunkowym.

Konfigurowanie wielu zaznaczeń w siatkach i wykresach

Składniki zapytań i metryk mogą eksportować parametry po wybraniu wiersza lub wielu wierszy.

Zrzut ekranu przedstawiający ustawienia parametrów eksportu skoroszytów z wieloma parametrami.

  1. W składniku zapytania, który wyświetla siatkę, wybierz pozycję Ustawienia zaawansowane.
  2. Zaznacz pole wyboru Po wybraniu elementów, parametry eksportu.
  3. Zaznacz pole wyboru Zezwalaj na wybór wielu wartości.
    • Wyświetlana wizualizacja umożliwia wielokrotne wybieranie, a wyeksportowane wartości parametru będą tablicami wartości, takimi jak w przypadku używania parametrów listy rozwijanej wielokrotnego wyboru.
    • W przypadku wyczyszczenia wizualizacja wyświetlania przechwytuje tylko ostatni wybrany element i eksportuje tylko jedną wartość jednocześnie.
  4. Użyj polecenia Dodaj parametr dla każdego parametru, który chcesz wyeksportować. Pojawi się okno podręczne z ustawieniami dla parametru do wyeksportowania.

Po włączeniu pojedynczego zaznaczenia można określić, które pole oryginalnych danych ma być eksportowane. Pola obejmują nazwę parametru, typ parametru i wartość domyślną do użycia, jeśli nic nie jest zaznaczone.

Po włączeniu wielokrotnego wyboru należy określić, które pole oryginalnych danych ma być eksportowane. Pola obejmują nazwę parametru, typ parametru, cudzysłów i ogranicznik. Wartości w cudzysłowie i ogranicznikach są używane podczas przekształcania wartości strzałek w tekst, gdy są zastępowane w zapytaniu. W przypadku wyboru wielokrotnego, jeśli nie wybrano żadnych wartości, wartość domyślna to pusta tablica.

Uwaga

W przypadku wielokrotnego wyboru eksportowane są tylko wartości unikatowe. Na przykład nie zobaczysz wartości tablic wyjściowych, takich jak "1,1,2,1". Dane wyjściowe tablicy będą mieć wartość "1,2".

Jeśli pozostawisz ustawienie Pole do wyeksportowania puste w ustawieniach eksportu, wszystkie dostępne pola w danych zostaną wyeksportowane jako zserializowany obiekt JSON pary klucz:wartość. W przypadku układów tabel i ich nagłówków, ciąg zawiera pola w tabeli. W przypadku wykresów dostępne pola to x,y, seria i etykieta, w zależności od typu wykresu.

Chociaż domyślne zachowanie polega na wyeksportowaniu parametru jako tekstu, jeśli wiadomo, że pole jest subskrypcją lub identyfikatorem zasobu, użyj tych informacji jako typu parametru eksportu. Następnie można użyć parametru podrzędnego w miejscach wymagających tych typów parametrów.

Przechwytywanie danych wejściowych użytkownika do użycia w zapytaniu

Dane wejściowe użytkownika można przechwytywać przy użyciu list rozwijanych i używać wyborów w zapytaniach. Na przykład możesz mieć listę rozwijaną, aby zaakceptować zestaw maszyn wirtualnych, a następnie przefiltrować KQL, aby uwzględnić tylko wybrane maszyny. W większości przypadków ten krok jest tak prosty, jak uwzględnienie wartości parametru w zapytaniu:

    Perf
    | where Computer in ({Computers})
    | take 5

W bardziej zaawansowanych scenariuszach może być konieczne przekształcenie wyników parametrów przed ich użyciem w zapytaniach. Weź te dane filtru OData:

{
    "name": "deviceComplianceTrend",
    "filter": "(OSFamily eq 'Android' or OSFamily eq 'OS X') and (ComplianceState eq 'Compliant')"
}

W poniższym przykładzie pokazano, jak włączyć ten scenariusz. Załóżmy, że chcesz, aby wartości filtrów OSFamily i ComplianceState pochodziły z list rozwijanych w skoroszycie. Filtr może zawierać wiele wartości, jak w poprzednim OsFamily przypadku. Musi również obsługiwać przypadek, w którym chcesz uwzględnić wszystkie wartości wymiarów, czyli bez filtrów.

Konfigurowanie parametrów

  1. Utwórz nowy pusty skoroszyt i dodaj składnik parametru.

  2. Wybierz pozycję Dodaj parametr , aby utworzyć nowy parametr. Użyj następujących ustawień:

    • Nazwa parametru: OsFilter

    • Wyświetlana nazwa: Operating system

    • Typ parametru: drop-down

    • Zezwalaj na wiele wyborów: Checked

    • Ogranicznik: or (z spacjami przed i po)

    • Cytat z: <empty>

    • Pobieranie danych z: JSON

    • Dane wejściowe JSON:

      [
          { "value": "OSFamily eq 'Android'", "label": "Android" },
          { "value": "OSFamily eq 'OS X'", "label": "OS X" }
      ]
      
    • W sekcji Dołącz do listy rozwijanej:

      • Zaznacz pole wyboru Wszystkie.
      • Wybierz pozycję Wszystkie wartości: OSFamily ne '#@?'
    • Wybierz pozycję Zapisz , aby zapisać ten parametr.

  3. Dodaj kolejny parametr z następującymi ustawieniami:

    • Nazwa parametru: ComplianceStateFilter

    • Wyświetlana nazwa: Compliance State

    • Typ parametru: drop-down

    • Zezwalaj na wiele wyborów: Checked

    • Ogranicznik: or (z spacjami przed i po)

    • Cytat z: <empty>

    • Pobieranie danych z: JSON

    • Dane wejściowe JSON:

      [
          { "value": "ComplianceState eq 'Compliant'", "label": "Compliant" },
          { "value": "ComplianceState eq 'Non-compliant'", "label": "Non compliant" }
      ]        
      
    • W sekcji Dołącz do listy rozwijanej:

      • Zaznacz pole wyboru Wszystkie.
      • Wybierz pozycję Wszystkie wartości: ComplianceState ne '#@?'
    • Wybierz pozycję Zapisz , aby zapisać ten parametr.

  4. Wybierz pozycję Dodaj tekst , aby dodać blok tekstowy. W bloku Markdown tekst do wyświetlenia dodaj:

    {
        "name": "deviceComplianceTrend",
        "filter": "({OsFilter}) and ({ComplianceStateFilter})"
    }
    

    Ten zrzut ekranu przedstawia ustawienia parametrów:

    Zrzut ekranu przedstawiający ustawienia parametrów list rozwijanych z wartościami parametrów.

Pojedyncza wartość filtru

Najprostszym przypadkiem jest wybór pojedynczej wartości filtru w każdym z wymiarów. Kontrolka listy rozwijanej używa wartości pola wejściowego JSON jako wartości parametru.

{
    "name": "deviceComplianceTrend",
    "filter": "(OSFamily eq 'OS X') and (ComplianceState eq 'Compliant')"
}

Zrzut ekranu przedstawiający listę rozwijaną z wartościami parametrów i wybraną pojedynczą wartością.

Wiele wartości filtru

Jeśli wybierzesz wiele wartości filtru, na przykład systemy operacyjne Android i OS X, ustawienia parametrów Delimiter i Quote with są uruchamiane i generują ten filtr złożony:

{
    "name": "deviceComplianceTrend",
    "filter": "(OSFamily eq 'OS X' or OSFamily eq 'Android') and (ComplianceState eq 'Compliant')"
}

Zrzut ekranu przedstawiający listę rozwijaną z wybranymi wartościami parametrów i wieloma wartościami.

Brak obudowy filtra

Innym typowym przypadkiem jest brak filtru dla tego wymiaru. Ten scenariusz jest odpowiednikiem uwzględniania wszystkich wartości wymiarów w ramach zestawu wyników. Sposobem jej włączenia jest umieszczenie opcji All w rozwijanym menu, które zwraca wyrażenie filtru, zawsze oceniane na wartość true. Przykładem jest ComplianceState eq '#@?'.

{
    "name": "deviceComplianceTrend",
    "filter": "(OSFamily eq 'OS X' or OSFamily eq 'Android') and (ComplianceState ne '#@?')"
}

Zrzut ekranu przedstawiający listę rozwijaną z wartościami parametrów i bez wybranego filtru.

Ponowne używanie danych zapytań w różnych wizualizacjach

Czasami chcesz wizualizować bazowy zestaw danych na różne sposoby bez konieczności płacenia kosztów zapytania za każdym razem. W tym przykładzie pokazano, jak to zrobić przy użyciu Merge opcji w kontrolce zapytania.

Konfigurowanie parametrów

  1. Utwórz nowy pusty skoroszyt.

  2. Wybierz pozycję Dodaj zapytanie , aby utworzyć kontrolkę zapytania, a następnie wprowadź następujące wartości:

    • Źródło danych: Logs

    • Typ zasobu: Log Analytics

    • Obszar roboczy usługi Log Analytics: wybierz jeden z obszarów roboczych, które mają dane dotyczące wydajności

    • Zapytanie dotyczące dzienników obszaru roboczego usługi Log Analytics:

      Perf
      | where CounterName == '% Processor Time'
      | summarize CpuAverage = avg(CounterValue), CpuP95 = percentile(CounterValue, 95) by Computer
      | order by CpuAverage desc
      
  3. Wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki.

    Ten zestaw danych wyników jest tym, który chcemy użyć ponownie w wielu wizualizacjach.

    Zrzut ekranu przedstawiający wynik zapytania skoroszytów.

  4. Przejdź do zakładki Ustawienia zaawansowane i w polu nazwy wpisz Cpu data.

  5. Wybierz pozycję Dodaj zapytanie , aby utworzyć kolejną kontrolkę zapytania.

  6. W polu Źródło danych wybierz pozycję Merge.

  7. Wybierz pozycję Dodaj scalanie.

  8. W okienku ustawień ustaw następujące ustawienia:

    • Typ scalania: Duplicate table
    • Tabela: Cpu data
  9. Wybierz Uruchom scalanie. Otrzymasz ten sam wynik co poprzedni.

     Zrzut ekranu przedstawiający zduplikowane wyniki zapytania w skoroszycie.

  10. Ustaw opcje tabeli:

    • Użyj kolumny Nazwa po scaleniu , aby ustawić przyjazne nazwy dla kolumn wyników. Możesz na przykład zmienić nazwę CpuAverage na CPU utilization (avg), a następnie użyć polecenia Uruchom scalanie , aby zaktualizować zestaw wyników.
    • Użyj polecenia Usuń , aby usunąć kolumnę.
      • Zaznacz wiersz [Cpu data].CpuP95.
      • Użyj pozycji Usuń na pasku narzędzi kontrolki zapytania.
      • Użyj Uruchom Merge, aby wyświetlić zestaw wyników bez kolumny CpuP95
  11. Zmień kolejność kolumn, wybierając Przenieś w górę lub Przenieś w dół.

  12. Dodaj nowe kolumny na podstawie wartości innych kolumn, wybierając pozycję Dodaj nowy element.

  13. Stwórz styl tabeli przy użyciu opcji w ustawieniach kolumny, aby uzyskać pożądany wygląd.

  14. W razie potrzeby dodaj więcej kontrolek zapytań działających względem Cpu data zestawu wyników.

W tym przykładzie pokazano obok siebie średnie oraz wykorzystanie procesora na poziomie P95.

Zrzut ekranu przedstawiający dwie kontrolki skoroszytu używające tego samego zapytania.

Pobieranie alertów w subskrypcji przy użyciu usługi Azure Resource Manager

W tym przykładzie pokazano, jak za pomocą kontrolki zapytań usługi Azure Resource Manager wyświetlić listę wszystkich istniejących alertów w subskrypcji. Ten przewodnik będzie również używać przekształceń ścieżki JSON do formatowania wyników. Zobacz listę obsługiwanych wywołań usługi Resource Manager.

Ustawianie parametrów

  1. Utwórz nowy pusty skoroszyt.

  2. Wybierz pozycję Dodaj parametr i ustaw:

    • Nazwa parametru: Subscription
    • Typ parametru: Subscription picker
    • Wymagane: Checked
    • Pobieranie danych z: Default Subscriptions
  3. Wybierz pozycję Zapisz.

  4. Wybierz pozycję Dodaj zapytanie , aby utworzyć kontrolkę zapytania i użyj tych ustawień. W tym przykładzie używamy wywołania REST "Alerty Get All", aby uzyskać listę istniejących alertów dla subskrypcji. Aby uzyskać informacje o obsługiwanych wersjach interfejsu API, zobacz dokumentację interfejsu API REST platformy Azure.

    • Źródło danych: Azure Resource Manager (Preview)
    • HTTP Metoda: GET
    • Ścieżka: /subscriptions/{Subscription:id}/providers/Microsoft.AlertsManagement/alerts
    • Dodaj parametr api-version na karcie Parametry i ustaw:
      • Parametr: api-version
      • Wartość: 2018-05-05
  5. Wybierz subskrypcję z utworzonego parametru subskrypcji i wybierz pozycję Uruchom zapytanie , aby wyświetlić wyniki.

    Ten nieprzetworzony kod JSON jest zwracany z usługi Resource Manager:

    Zrzut ekranu przedstawiający odpowiedź JSON danych alertu w skoroszytach przy użyciu dostawcy usługi Resource Manager.

Formatowanie odpowiedzi

Możesz być zadowolony z informacji podanych tutaj. Wyodrębnijmy jednak kilka interesujących właściwości i sformatujmy odpowiedź w sposób łatwy do odczytania.

  1. Przejdź do karty Ustawienia wyników.
  2. Przełącz format wyniku z Content na JSON Path. JSON Path jest transformatorem skoroszytu.
  3. W ustawieniach ścieżki JSON ustaw wartość Tabela ścieżek JSON na $.value.[*].properties.essentials. Spowoduje to wyodrębnienie wszystkich "value.*.properties.essentials" pól z zwróconego kodu JSON.
  4. Wybierz pozycję Uruchom zapytanie , aby wyświetlić siatkę.

Zrzut ekranu przedstawiający dane alertów w skoroszycie w formacie siatki przy użyciu dostawcy usługi Resource Manager.

Filtrowanie wyników

Ścieżka JSON umożliwia również wybranie informacji z wygenerowanej tabeli w celu wyświetlenia ich jako kolumn.

Na przykład, jeśli chcesz filtrować wyniki według kolumn TargetResource, Severity, AlertState, AlertRule, Description, StartTime i ResolvedTime, możesz dodać następujące wiersze do tabeli kolumn w ścieżce JSON:

Identyfikator kolumny Ścieżka JSON kolumny
Zasób docelowy $.targetResource
Ważność $.istotność
AlertState $.alertState
AlertRule $.alertRule
opis $.description
Czas rozpoczęcia $.DataGodzinaRozpoczęcia
Czas Rozwiązania Data/czas rozwiązania warunku monitorowania

Zrzut ekranu przedstawiający końcowe wyniki zapytania w formacie siatki przy użyciu dostawcy usługi Resource Manager.

Następne kroki