Filtrowanie logów i tworzenie wskaźników opartych na logach

Gdy dane Crashlytics i (opcjonalnie) dane sesji Firebase zostaną wyeksportowane do Cloud Logging, możesz filtrować logi i tworzyć wskaźniki oparte na logach. Obie te funkcje są przydatne do wyświetlania, używania i analizowania określonych danych.

Jeśli jeszcze tego nie zrobisz, zapoznaj się z artykułem Co można zrobić z danymi? , w którym znajdziesz pełną listę i przykłady pracy z danymi przechowywanymi w Cloud Logging.

Filtrowanie logów za pomocą zapytań

Filtrowanie logów jest przydatne do wyświetlania określonych danych, a także do zmniejszania kosztów przechowywania danych i dalszej analizy. Logi filtrujesz za pomocą LQL (Logging Query Language).

Aby dowiedzieć się, jak filtrować logi za pomocą zapytań, przeczytaj artykuły Przykładowe zapytania w Logs Explorer i Tworzenie zapytań do logów. W tabeli poniżej znajdziesz opis pól dostępnych w tych zapytaniach.

Przykładowe filtry

Oto kilka przykładowych filtrów początkowych dla zapytania w Crashlytics:

  • Znajdź wszystkie krytyczne awarie w określonej wersji aplikacji:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.version.displayVersion="3.2.0"
  • Zidentyfikuj awarie występujące na określonym modelu urządzenia (np. Pixel 6a):

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.device.model="Pixel 6a"
  • Wyszukaj konkretny błąd OutOfMemoryError we wszystkich zdarzeniach krytycznych:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.errorType="FATAL"
    jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
  • Znajdź zdarzenia dotyczące konkretnego identyfikatora problemu Crashlytics:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"
    jsonPayload.issue.id="ISSUE_ID"

Schemat logów

Każdy wpis logu ma predefiniowaną strukturę i pola, które można przeszukiwać (patrz LogEntry).

Dowiedz się więcej o schemacie logów w przypadku wyeksportowanych danych, w tym Crashlytics danych, danych sesji Firebase, i logów urządzeń.

Tworzenie wskaźników opartych na logach

Możesz wyświetlać i tworzyć wskaźniki oparte na logach, a następnie używać ich w Cloud Monitoring do tworzenia wykresów, niestandardowych paneli i niestandardowych alertów.

  • Używaj predefiniowanych danych systemowych które są automatycznie rejestrowane, np. liczby zdarzeń logowania, które wystąpiły w określonym przedziale czasu.

  • Twórz dane zdefiniowane przez użytkownika na potrzeby projektu. Możesz zliczać liczbę wpisów w logu pasujących do danego zapytania lub śledzić określone wartości w pasujących wpisach w logu. Możesz filtrować za pomocą wyrażeń regularnych. Zapoznaj się z cennikiem danych zdefiniowanych przez użytkownika.

  • Używaj Cloud Monitoring do rejestrowania liczby wpisów w logu zawierających określone wiadomości lub do wyodrębniania informacji o opóźnieniu zgłaszanych we wpisach w logu. Następnie możesz używać tych danych na wykresach i w niestandardowych alertach.

Przykładowe wskaźniki oparte na logach

Oto 2 przykładowe wskaźniki oparte na logach zdefiniowane przez użytkownika, które możesz utworzyć na podstawie wyeksportowanych danych Crashlytics i danych sesji Firebase:

  • Używanie Crashlytics danych:
    Utwórz wskaźnik o nazwie firebase/crashlytics_events z etykietą errorType, i zdefiniuj go w ten sposób:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"

  • Używanie danych sesji Firebase:
    Utwórz wskaźnik o nazwie firebase/session_events z etykietą eventType, i zdefiniuj go w ten sposób:

    logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"

Co dalej?