Monitoruj usługę Azure Container Registry

W tym artykule opisano:

  • Typy danych monitorowania, które można zbierać dla tej usługi.
  • Sposoby analizowania tamtych danych.

Notatka

Jeśli znasz już tę usługę i/lub usługę Azure Monitor i chcesz wiedzieć, jak analizować dane monitorowania, zobacz sekcję Analizowanie pod koniec tego artykułu.

Jeśli masz krytyczne aplikacje i procesy biznesowe korzystające z zasobów platformy Azure, musisz monitorować i otrzymywać alerty dotyczące systemu. Usługa Azure Monitor zbiera i agreguje metryki i dzienniki z każdego składnika systemu. Usługa Azure Monitor zapewnia wgląd w dostępność, wydajność i odporność oraz powiadamia o problemach. Do konfigurowania i wyświetlania danych monitorowania można użyć witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure, interfejsu API REST lub bibliotek klienckich.

W tym artykule opisano dane monitorowania generowane przez usługę Azure Container Registry oraz sposób używania funkcji usługi Azure Monitor do analizowania i zgłaszania alertów dotyczących tych danych.

Przegląd Monitor

Strona Przegląd w witrynie Azure Portal dla każdego rejestru zawiera krótki przegląd ostatniego użycia zasobów i działań, takich jak operacje wypychania i pobierania. Te ogólne informacje są przydatne, ale jest tam wyświetlana tylko niewielka ilość danych.

W celu dostosowania wizualizacji i bardziej szczegółowej analizy otwórz Pulpity Grafana w obszarze Monitorowanie. To zintegrowane środowisko, umożliwione dzięki Azure Managed Grafana, obejmuje pulpity nawigacyjne zarządzane przez Azure na potrzeby trendów transakcji, transferu danych, ograniczania przepustowości i zużycia magazynu. Możesz również tworzyć, dostosowywać, zapisywać i udostępniać pulpity nawigacyjne bez wdrażania oddzielnego wystąpienia narzędzia Grafana. Aby uzyskać więcej informacji, zobacz Pulpity nawigacyjne narzędzia Grafana w Azure Container Registry.

Zrzut ekranu przedstawiający stronę przeglądu metryk rejestru z wyświetlonymi czterema metrykami w ciągu ostatnich 30 dni.

Typy zasobów

Platforma Azure używa koncepcji typów zasobów i identyfikatorów, aby zidentyfikować wszystko w subskrypcji. Typy zasobów są również częścią identyfikatorów zasobów dla każdego zasobu uruchomionego na platformie Azure. Na przykład jeden typ zasobu dla maszyny wirtualnej to Microsoft.Compute/virtualMachines. Aby uzyskać listę usług i skojarzonych z nimi typów zasobów, zobacz Dostawcy zasobów.

Usługa Azure Monitor podobnie organizuje podstawowe dane monitorowania w metryki i dzienniki na podstawie typów zasobów, zwanych również przestrzeniami nazw. Różne metryki i dzienniki są dostępne dla różnych typów zasobów. Usługa może być skojarzona z więcej niż jednym typem zasobu.

Aby uzyskać więcej informacji na temat typów zasobów dla usługi Container Registry, zobacz Informacje referencyjne o danych monitorowania usługi Azure Container Registry.

Dane monitoringu

Usługa Azure Container Registry zbiera te same rodzaje danych monitorowania co inne zasoby platformy Azure opisane w temacie Monitorowanie danych z zasobów platformy Azure.

Kluczowe metryki rejestru obejmują:

  • Transactions: liczba operacji rejestru. Użyj wymiarów ApiName, ResponseType i Region, aby analizować operacje, wyniki i regiony obsługi.
  • DataTransfer: ilość danych przesyłanych z rejestru mierzona w bajtach. Użyj wymiarów ApiName i Region, aby zidentyfikować operacje i regiony generujące transfer danych.
  • StorageUsed: ilość pamięci używanej przez rejestr. Ta metryka używa wymiaru starszego typu Geolocation do identyfikowania regionu.

Aby uzyskać szczegółowe informacje na temat metryk i dzienników utworzonych przez Azure Container Registry, zobacz Monitorowanie Azure Container Registry — dokumentacja referencyjna danych.

Zbieranie danych i trasowanie

Metryki platformy i dziennik aktywności są zbierane i przechowywane automatycznie, ale mogą być kierowane do innych lokalizacji przy użyciu ustawienia diagnostycznego.

Dzienniki zasobów nie są zbierane ani przechowywane, dopóki nie utworzysz ustawienia diagnostycznego i nie przekierujesz ich do co najmniej jednej lokalizacji.

Aby poznać szczegółowy proces tworzenia ustawienia diagnostycznego przy użyciu witryny Azure Portal, interfejsu wiersza polecenia lub programu PowerShell, zobacz temat Tworzenie ustawienia diagnostycznego w celu zbierania dzienników i metryk platformy na platformie Azure. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Kategorie usługi Azure Container Registry są wymienione w informacjach referencyjnych dotyczących danych monitorowania usługi Azure Container Registry.

Napiwek

Możesz również utworzyć ustawienia diagnostyczne rejestru, przechodząc do rejestru w portalu. W menu wybierz pozycję Ustawienia diagnostyczne w obszarze Monitorowanie.

Metryki i dzienniki, które można zebrać, zostały omówione w poniższych sekcjach.

Przechowywanie danych

W przypadku Azure Monitor:

  • Dane metryk są przechowywane w bazie danych metryk usługi Azure Monitor.
  • Dane dziennika są przechowywane w magazynie dzienników usługi Azure Monitor. Log Analytics to narzędzie w witrynie Azure Portal, które może wykonywać zapytania dotyczące tego magazynu.
  • Dziennik aktywności platformy Azure to oddzielny magazyn danych z własnym interfejsem w witrynie Azure Portal.

Opcjonalnie możesz kierować dane metryk i dziennika aktywności do magazynu dzienników usługi Azure Monitor. Następnie możesz użyć usługi Log Analytics, aby wykonać zapytanie o dane i skorelować je z innymi danymi dziennika.

Wiele usług może używać ustawień diagnostycznych do wysyłania danych metryk i dzienników do innych lokalizacji przechowywania poza usługą Azure Monitor. Przykłady obejmują usługę Azure Storage, hostowane systemy partnerskie i systemy partnerskie spoza platformy Azure, przy użyciu usługi Event Hubs.

Aby uzyskać szczegółowe informacje na temat sposobu przechowywania danych przez usługę Azure Monitor, zobacz Azure Monitor data platform.

Metryki platformy usługi Azure Monitor

Usługa Azure Monitor udostępnia metryki platformy dla większości usług. Te metryki to:

  • Definiowane indywidualnie dla każdej przestrzeni nazw.
  • Przechowywane w bazie danych metryk szeregów czasowych usługi Azure Monitor.
  • Lekki zasobowo i zdolny do obsługi alertów niemal w czasie rzeczywistym.
  • Służy do śledzenia wydajności zasobu w czasie.

Zbieranie: usługa Azure Monitor automatycznie zbiera metryki platformy. Nie jest wymagana żadna konfiguracja.

Routing: możesz również kierować niektóre metryki platformy do dzienników usługi Azure Monitor/ usługi Log Analytics, aby móc wykonywać zapytania względem nich przy użyciu innych danych dziennika. Sprawdź ustawienie eksportu DS dla każdej metryki, aby sprawdzić, czy możesz użyć ustawienia diagnostycznego, aby kierować metrykę do dzienników usługi Azure Monitor / usługi Log Analytics.

Aby uzyskać listę wszystkich metryk, które można zebrać dla wszystkich zasobów w usłudze Azure Monitor, zobacz Obsługiwane metryki w usłudze Azure Monitor.

Aby uzyskać listę dostępnych metryk dla usługi Container Registry, zobacz Informacje o danych monitorowania usługi Azure Container Registry.

Analizowanie metryk

Metryki rejestru kontenerów platformy Azure można analizować za pomocą metryk z innych usług platformy Azure przy użyciu Eksploratora metryk, otwierając pozycję Metryki z menu usługi Azure Monitor . Aby uzyskać szczegółowe informacje na temat korzystania z tego narzędzia, zobacz Analizowanie metryk za pomocą eksploratora metryk usługi Azure Monitor.

W przypadku metryk wielowymiarowych użyj filtrów i podziału, aby zbadać określoną aktywność. Na przykład:

  • Podziel Transactions według ApiName, aby porównać operacje rejestru.
  • Filtruj ResponseType według Transactions, aby zidentyfikować ograniczone, zakończone niepowodzeniem lub pomyślne operacje.
  • Podziel Transactions lub DataTransfer według Region, aby porównać region macierzysty rejestru i repliki geo.
  • Podziel DataTransfer według ApiName, aby odróżnić pobieranie klientów, replikację geograficzną i ruch ze źródła importu.

Opisy wymiarów i możliwe wartości można znaleźć w temacie Wymiary metryk.

Napiwek

Możesz również przejść do Eksploratora metryk, przechodząc do rejestru w portalu. Z menu wybierz pozycję Wskaźniki w obszarze Monitorowanie.

Aby uzyskać listę metryk platformy zebranych dla usługi Azure Container Registry, zobacz Metryki referencyjne danych monitorowania usługi Azure Container Registry.

Pulpity nawigacyjne narzędzia Grafana

Użyj zintegrowanego środowiska Grafana, gdy potrzebujesz pulpitów nawigacyjnych wielokrotnego użytku lub chcesz wizualizować kilka metryk razem. Pulpit obserwowalności zarządzany przez platformę Azure zapewnia widoki trendów transakcji, transferu danych według operacji i regionu, ograniczania przepustowości i zużycia magazynu. Możesz dostosować dashboard, utworzyć dashboardy lub użyć narzędzia Grafana Explore na potrzeby analizy ad hoc.

Aby otworzyć obszar, przejdź do rejestru w portalu Azure. W obszarze Monitorowanie wybierz pozycję Pulpity nawigacyjne za pomocą narzędzia Grafana. Aby uzyskać wskazówki dotyczące tworzenia, importowania, uzyskiwania dostępu i wdrażania pulpitów nawigacyjnych, zobacz pulpity nawigacyjne narzędzia Grafana w Azure Container Registry.

Azure CLI

Następujące polecenia interfejsu wiersza polecenia platformy Azure mogą służyć do uzyskiwania informacji o metrykach usługi Azure Container Registry.

interfejs API REST

Interfejs API REST usługi Azure Monitor umożliwia programowe uzyskiwanie informacji o metrykach usługi Azure Container Registry.

Dzienniki zasobów usługi Azure Monitor

Dzienniki zasobów zapewniają wgląd w operacje wykonane przez zasób platformy Azure. Dzienniki są generowane automatycznie, ale należy skierować je do dzienników usługi Azure Monitor, aby je zapisać lub wykonywać na nich zapytania. Dzienniki są zorganizowane w kategoriach. Dana przestrzeń nazw może mieć wiele kategorii dzienników zasobów.

Zbieranie: dzienniki zasobów nie są zbierane i przechowywane, dopóki nie utworzysz ustawienia diagnostycznego i nie skierujesz dzienników do co najmniej jednej lokalizacji. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Istnieje wiele sposobów tworzenia i konserwacji ustawień diagnostycznych, w tym za pomocą portalu Azure, programowo i za pomocą zasad Azure Policy.

Kierowanie: Sugerowaną wartością domyślną jest kierowanie dzienników zasobów do dzienników usługi Azure Monitor, co umożliwia wykonywanie zapytań względem nich przy użyciu innych danych dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i wybrani partnerzy firmy Microsoft w zakresie monitorowania. Aby uzyskać więcej informacji, zobacz Dzienniki zasobów Azure i miejsca docelowe dzienników zasobów.

Aby uzyskać szczegółowe informacje na temat zbierania, przechowywania i routingu dzienników zasobów, zobacz Ustawienia diagnostyczne w usłudze Azure Monitor.

Aby uzyskać listę wszystkich dostępnych kategorii dzienników zasobów w usłudze Azure Monitor, zobacz Obsługiwane dzienniki zasobów w usłudze Azure Monitor.

Wszystkie dzienniki zasobów w usłudze Azure Monitor mają te same pola nagłówka, a następnie pola specyficzne dla usługi. Wspólny schemat jest opisany w schemacie dziennika zasobów usługi Azure Monitor.

Analizowanie dzienników

Dane w dziennikach usługi Azure Monitor są przechowywane w tabelach, w których każda tabela ma własny zestaw unikatowych właściwości.

Wszystkie dzienniki zasobów w usłudze Azure Monitor mają te same pola, a następnie pola specyficzne dla usługi. Wspólny schemat jest opisany w schemacie dziennika zasobów usługi Azure Monitor. Schemat dzienników zasobów usługi Azure Container Registry znajduje się w Azure Container Registry Data Reference.

Dziennik aktywności jest to dziennik platformy Azure, który zapewnia wgląd w zdarzenia na poziomie subskrypcji. Można go wyświetlać niezależnie lub kierować do dzienników usługi Azure Monitor, gdzie można wykonywać znacznie bardziej złożone zapytania przy użyciu usługi Log Analytics.

Aby uzyskać listę typów dzienników zasobów zbieranych dla usługi Azure Container Registry, zobacz Odwołanie do danych monitorowania usługi Azure Container Registry.

Aby uzyskać listę tabel używanych przez dzienniki usługi Azure Monitor i względem których można wykonywać zapytania za pomocą usługi Log Analytics, zobacz Dokumentacja danych referencyjnych usługi Azure Container Monitoring.

Informacje o dostępnych kategoriach dzienników zasobów, skojarzonych z nimi tabelach usługi Log Analytics oraz schematach dzienników dla usługi Container Registry można znaleźć w artykule Informacje o danych monitorowania usługi Azure Container Registry.

Dziennik aktywności platformy Azure

Dziennik aktywności zawiera zdarzenia na poziomie subskrypcji, które śledzą operacje dla każdego zasobu platformy Azure widoczne spoza tego zasobu; na przykład utworzenie nowego zasobu lub uruchomienie maszyny wirtualnej.

Zbieranie: zdarzenia dziennika aktywności są generowane automatycznie i zbierane w osobnym magazynie do wyświetlania w witrynie Azure Portal.

Routing: możesz wysyłać dane dziennika aktywności do dzienników usługi Azure Monitor, aby móc analizować je wraz z innymi danymi dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i wybrani partnerzy firmy Microsoft w zakresie monitorowania. Aby uzyskać więcej informacji na temat kierowania dziennika aktywności, zobacz Omówienie dziennika aktywności platformy Azure.

Analizuj dane monitorowania

Istnieje wiele narzędzi do analizowania danych monitorowania.

Narzędzia usługi Azure Monitor

Usługa Azure Monitor obsługuje następujące podstawowe narzędzia:

Narzędzia, które umożliwiają bardziej złożoną wizualizację, obejmują:

  • Pulpity nawigacyjne, które umożliwiają łączenie różnych rodzajów danych w jednym okienku w portalu Azure.
  • Skoroszyty usługi Azure Monitor, dostosowywalne raporty, które można utworzyć w witrynie Azure Portal. Skoroszyty mogą zawierać tekst, miary i zapytania dzienników.
  • Grafana to otwarte narzędzie, które wyróżnia się w pulpitach operacyjnych. Za pomocą narzędzia Grafana można tworzyć pulpity nawigacyjne zawierające dane z wielu źródeł innych niż usługa Azure Monitor.
  • Power BI, usługa analizy biznesowej, która udostępnia interaktywne wizualizacje na podstawie różnych źródeł danych. Usługę Power BI można skonfigurować tak, aby automatycznie importować dane dziennika z usługi Azure Monitor, aby korzystać z tych wizualizacji.

Narzędzia eksportu usługi Azure Monitor

Dane z usługi Azure Monitor można pobrać do innych narzędzi przy użyciu następujących metod:

Aby rozpocząć pracę z interfejsem API REST dla usługi Azure Monitor, zobacz Przewodnik po interfejsie API REST monitorowania platformy Azure.

Zapytania Kusto

Dane monitorowania można analizować w magazynie Azure Monitor Logs / Log Analytics przy użyciu języka zapytań Kusto (KQL).

Ważne

Po wybraniu pozycji Dzienniki z menu usługi w portalu usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżącą usługę. Ten zakres oznacza, że zapytania dziennika będą zawierać tylko dane z tego typu zasobu. Jeśli chcesz uruchomić zapytanie zawierające dane z innych usług platformy Azure, wybierz pozycję Dzienniki z menu usługi Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zakres zapytań dzienników i zakres czasu w usłudze Azure Monitor Log Analytics .

Aby uzyskać listę typowych zapytań dotyczących dowolnej usługi, zobacz interfejs zapytań usługi Log Analytics.

Na przykład następujące zapytanie pobiera najnowsze 24 godziny danych z tabeli ContainerRegistryRepositoryEvents :

ContainerRegistryRepositoryEvents
| where TimeGenerated > ago(1d) 

Poniższy obraz przedstawia przykładowe wyniki:

Zrzut ekranu przedstawiający dane dziennika zapytań w witrynie Azure Portal.

Poniżej przedstawiono zapytania, których można użyć, aby ułatwić monitorowanie zasobu rejestru.

Błędy z ostatniej godziny:

union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
| where TimeGenerated > ago(1h)
| where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
    or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records

100 najnowszych zdarzeń rejestru:

ContainerRegistryRepositoryEvents
| union ContainerRegistryLoginEvents
| top 100 by TimeGenerated
| project TimeGenerated, LoginServer, OperationName, Identity, Repository, DurationMs, Region , ResultType

Tożsamość użytkownika lub obiektu, który usunął repozytorium:

ContainerRegistryRepositoryEvents
| where OperationName contains "Delete"
| project LoginServer, OperationName, Repository, Identity, CallerIpAddress

Tożsamość użytkownika lub obiektu, który usunął tag:

ContainerRegistryRepositoryEvents
| where OperationName contains "Untag"
| project LoginServer, OperationName, Repository, Tag, Identity, CallerIpAddress

Błędy operacji na poziomie repozytorium:

ContainerRegistryRepositoryEvents 
| where ResultDescription contains "40"
| project TimeGenerated, OperationName, Repository, Tag, ResultDescription

Błędy uwierzytelniania rejestru:

ContainerRegistryLoginEvents 
| where ResultDescription != "200"
| project TimeGenerated, Identity, CallerIpAddress, ResultDescription

Alerty

Alerty usługi Azure Monitor proaktywnie powiadamiają Cię o znalezieniu określonych warunków w danych monitorowania. Alerty umożliwiają identyfikowanie i reagowanie na problemy w systemie przed ich zauważeniem przez klientów. Aby uzyskać więcej informacji, zobacz alerty Azure Monitor.

Istnieje wiele źródeł typowych alertów dotyczących zasobów platformy Azure. Przykłady typowych alertów dotyczących zasobów platformy Azure można znaleźć w temacie Przykładowe zapytania dziennika alertów. Witryna Azure Monitor Baseline Alerts (AMBA) udostępnia częściowo zautomatyzowaną metodę implementowania ważnych alertów metryk platformy, pulpitów nawigacyjnych i wytycznych. Witryna ma zastosowanie do stale powiększającego się podzbioru usług platformy Azure, w tym wszystkich usług, które są częścią Azure Landing Zone (ALZ).

Wspólny schemat alertów standaryzuje przetwarzanie powiadomień o alertach usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz Wspólny schemat alertów.

Typy alertów

Możesz konfigurować alerty dla dowolnej metryki lub źródła danych dziennika na platformie danych usługi Azure Monitor. Istnieje wiele różnych typów alertów w zależności od usług, które monitorujesz, oraz gromadzonych danych monitorowania. Różne typy alertów mają różne zalety i wady. Aby uzyskać więcej informacji, zobacz Wybierz odpowiedni typ alertu monitorowania.

Poniższa lista zawiera opis typów alertów usługi Azure Monitor, które można utworzyć:

  • Alerty metryczne oceniają metryki zasobów w regularnych odstępach czasu. Metryki mogą być metrykami platformy, metrykami niestandardowymi, dziennikami z usługi Azure Monitor przekonwertowanymi na metryki lub metrykami usługi Application Insights. Alerty metryczne mogą również stosować wiele warunków i progów dynamicznych.
  • Alerty dzienników umożliwiają użytkownikom używanie zapytania usługi Log Analytics do oceny dzienników zasobów z wstępnie zdefiniowaną częstotliwością.
  • Alerty dziennika aktywności są wyzwalane, gdy wystąpi nowe zdarzenie dziennika aktywności zgodne ze zdefiniowanymi warunkami. Alerty Resource Health i Service Health to alerty dziennika aktywności, które raportują stan usług i zasobów.

Niektóre usługi platformy Azure obsługują również alerty inteligentnego wykrywania, alerty Prometheus lub zalecane reguły alertów.

W przypadku niektórych usług można monitorować na dużą skalę, stosując tę samą regułę alertu metryki do wielu zasobów tego samego typu, które istnieją w tym samym regionie platformy Azure. Poszczególne powiadomienia są wysyłane dla każdego monitorowanego zasobu. Aby uzyskać informacje o obsługiwanych usługach i chmurach platformy Azure, zobacz Monitorowanie wielu zasobów za pomocą jednej reguły alertu.

Reguły alertów usługi Azure Container Registry

W poniższej tabeli wymieniono sugerowane reguły alertów dla usługi Container Registry. Te alerty są tylko przykładami. Alerty można ustawić dla dowolnej metryki, wpisu dziennika lub wpisu dziennika aktywności wymienionych w informacjach o danych monitorowania usługi Azure Container Registry.

Typ alertu Warunek Opis
metryka Sygnał: wykorzystana pamięć
Operator: Większe niż
Typ agregacji: Średnia
Wartość progowa: 5 GB
Ostrzega, jeśli użycie magazynu rejestru przekracza określoną wartość.
metryka Transactions w którym ResponseType = Throttled Ostrzeżenia, gdy żądania rejestru są ograniczane.

Przykład: Wysyłanie alertu wiadomości e-mail, gdy używany magazyn danych rejestru przekracza wartość

  1. W portalu Azure przejdź do swojego rejestru.
  2. Wybierz pozycję Metryki w obszarze Monitorowanie.
  3. W Eksploratorze metryk w obszarze Metryka wybierz pozycję Wykorzystane miejsce.
  4. Wybierz przycisk Nowa reguła alertu.
  5. W polu Zakres potwierdź zasób rejestru, dla którego chcesz utworzyć regułę alertu.
  6. W Warunek wybierz pozycję Dodaj warunek.
    1. W Nazwa sygnału wybierz pozycję Używana pamięć masowa.
    2. W polu Okres wykresu wybierz Ostatnie 24 godziny.
    3. W Logika alertu, w Wartość progowa wybierz wartość, taką jak 5. W obszarze Jednostka wybierz wartość, taką jak GB.
    4. Zaakceptuj wartości domyślne pozostałych ustawień i wybierz pozycję Gotowe.
  7. W obszarze Akcje wybierz pozycję Dodaj grupy akcji>+ Utwórz grupę akcji.
    1. Wprowadź szczegóły grupy akcji.
    2. Na karcie Powiadomienia wybierz pozycję Wiadomość e-mail/wiadomość SMS/powiadomienie push/głos i wprowadź adresata, takiego jak admin@contoso.com. Wybierz pozycję Przejrzyj + utwórz.
  8. Wprowadź nazwę i opis reguły alertu, a następnie wybierz poziom ważności alertu.
  9. Wybierz pozycję Utwórz regułę alertu.

Zalecenia doradcy

W przypadku niektórych usług, jeśli podczas operacji na zasobach wystąpią krytyczne warunki lub nieuchronne zmiany, na stronie Przegląd usługi w portalu zostanie wyświetlony alert. Więcej informacji i zalecanych poprawek alertu można znaleźć w Zalecenia usługi Advisor w obszarze Monitorowanie w menu po lewej stronie. Podczas normalnych operacji nie są wyświetlane żadne zalecenia doradcy.

Aby uzyskać więcej informacji na temat usługi Azure Advisor, zobacz Omówienie usługi Azure Advisor.