Dzienniki w usłudze Azure Database for PostgreSQL — pojedynczy serwer
DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer
Ważne
Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.
Usługa Azure Database for PostgreSQL umożliwia konfigurowanie standardowych dzienników bazy danych Postgres i uzyskiwanie do ich dostępu. Dzienniki mogą służyć do identyfikowania i rozwiązywania problemów oraz usuwania błędów związanych z konfiguracją oraz wydajnością mniejszą od optymalnej. Rejestrowanie informacji, które można skonfigurować i uzyskać dostęp, obejmuje błędy, informacje o zapytaniach, rekordy automatycznego czyszczenia, połączenia i punkty kontrolne. (Dostęp do dzienników transakcji jest niedostępny).
Rejestrowanie inspekcji jest udostępniane za pośrednictwem rozszerzenia PostgreSQL pgaudit. Aby dowiedzieć się więcej, zapoznaj się z artykułem dotyczącym pojęć dotyczących inspekcji .
Konfigurowanie rejestrowania
Możesz skonfigurować standardowe rejestrowanie postgres na serwerze przy użyciu parametrów serwera rejestrowania. Na każdym serwerze log_checkpoints
usługi Azure Database for PostgreSQL i log_connections
są domyślnie włączone. Istnieją dodatkowe parametry, które można dostosować zgodnie z potrzebami rejestrowania:
Aby dowiedzieć się więcej na temat parametrów dziennika Postgres, odwiedź sekcje When To Log i What To Log w dokumentacji bazy danych Postgres. Większość, ale nie wszystkie, parametry rejestrowania postgres są dostępne do skonfigurowania w usłudze Azure Database for PostgreSQL.
Aby dowiedzieć się, jak skonfigurować parametry w usłudze Azure Database for PostgreSQL, zobacz dokumentację portalu lub dokumentację interfejsu wiersza polecenia.
Uwaga
Skonfigurowanie dużej liczby dzienników, na przykład rejestrowanie instrukcji, może zwiększyć obciążenie związane z wydajnością.
Dostęp do plików dziennika.
Domyślny format dziennika w usłudze Azure Database for PostgreSQL to .log. Przykładowy wiersz z tego dziennika wygląda następująco:
2019-10-14 17:00:03 UTC-5d773cc3.3c-LOG: connection received: host=101.0.0.6 port=34331 pid=16216
Usługa Azure Database for PostgreSQL udostępnia krótkoterminową lokalizację przechowywania plików .log. Nowy plik rozpoczyna się co 1 godzinę lub 100 MB, w zależności od tego, co nastąpi wcześniej. Dzienniki są dołączane do bieżącego pliku, ponieważ są emitowane z bazy danych Postgres.
Okres przechowywania dla tego krótkoterminowego magazynu dzienników można ustawić przy użyciu parametru log_retention_period
. Wartość domyślna to 3 dni, a maksymalna to 7 dni. Krótkoterminowa lokalizacja przechowywania może zawierać maksymalnie 1 GB plików dziennika. Po 1 GB najstarsze pliki, niezależnie od okresu przechowywania, zostaną usunięte, aby zapewnić miejsce na nowe dzienniki.
W celu długoterminowego przechowywania dzienników i analizy dzienników można pobrać pliki .log i przenieść je do usługi innej firmy. Pliki można pobrać przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure. Alternatywnie można skonfigurować ustawienia diagnostyczne usługi Azure Monitor, które automatycznie emitują dzienniki (w formacie JSON) do długoterminowych lokalizacji. Dowiedz się więcej o tej opcji w poniższej sekcji.
Możesz przestać generować pliki .log, ustawiając parametr logging_collector
na WYŁ. Wyłączenie .log generowania plików jest zalecane, jeśli używasz ustawień diagnostycznych usługi Azure Monitor. Ta konfiguracja zmniejszy wpływ dodatkowego rejestrowania na wydajność.
Uwaga
Uruchom ponownie serwer, aby zastosować tę zmianę.
Dzienniki zasobów
Usługa Azure Database for PostgreSQL jest zintegrowana z ustawieniami diagnostycznymi usługi Azure Monitor. Ustawienia diagnostyczne umożliwiają wysyłanie dzienników Postgres w formacie JSON do dzienników usługi Azure Monitor na potrzeby analizy i alertów, usługi Event Hubs do przesyłania strumieniowego i usługi Azure Storage na potrzeby archiwizowania.
Ważne
Ta funkcja diagnostyczna dzienników serwera jest dostępna tylko w warstwach cenowych Ogólnego przeznaczenia i Zoptymalizowane pod kątem pamięci.
Konfigurowanie ustawień diagnostycznych
Ustawienia diagnostyczne serwera Postgres można włączyć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia, interfejsu API REST i programu PowerShell. Wybrana kategoria dziennika to PostgreSQLLogs. (Istnieją inne dzienniki, które można skonfigurować, jeśli używasz Magazyn zapytań).
Aby włączyć dzienniki zasobów przy użyciu witryny Azure Portal:
- W portalu przejdź do pozycji Ustawienia diagnostyczne w menu nawigacji serwera Postgres.
- Wybierz pozycję Dodaj ustawienie diagnostyczne.
- Nadaj temu ustawieniu nazwę.
- Wybierz preferowany punkt końcowy (konto magazynu, centrum zdarzeń, analiza dzienników).
- Wybierz typ dziennika Dzienniki serwera PostgreSQL.
- Zapisz ustawienie.
Aby włączyć dzienniki zasobów przy użyciu programu PowerShell, interfejsu wiersza polecenia lub interfejsu API REST, odwiedź artykuł ustawień diagnostycznych.
Uzyskiwanie dostępu do dzienników zasobów
Sposób uzyskiwania dostępu do dzienników zależy od wybranego punktu końcowego. Aby uzyskać informacje na temat usługi Azure Storage, zobacz artykuł dotyczący konta magazynu dzienników. Aby zapoznać się z usługą Event Hubs, zobacz artykuł dotyczący strumienia dzienników platformy Azure.
W przypadku dzienników usługi Azure Monitor dzienniki są wysyłane do wybranego obszaru roboczego. Dzienniki bazy danych Postgres używają trybu kolekcji AzureDiagnostics , aby można było wykonywać zapytania z tabeli AzureDiagnostics. Pola w tabeli zostały opisane poniżej. Dowiedz się więcej na temat wykonywania zapytań i alertów w temacie Omówienie zapytań dzienników usługi Azure Monitor.
Poniżej przedstawiono zapytania, które można spróbować rozpocząć. Alerty można skonfigurować na podstawie zapytań.
Wyszukaj wszystkie dzienniki bazy danych Postgres dla określonego serwera w ciągu ostatniego dnia
AzureDiagnostics
| where LogicalServerName_s == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
Wyszukaj wszystkie próby połączenia innego niż localhost
AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)
Powyższe zapytanie spowoduje wyświetlenie wyników w ciągu ostatnich 6 godzin dla dowolnego rejestrowania serwera Postgres w tym obszarze roboczym.
Format dziennika
W poniższej tabeli opisano pola typu PostgreSQLLogs . W zależności od wybranego punktu końcowego danych wyjściowych pola uwzględnione i kolejność ich wyświetlania mogą się różnić.
Pole | Opis |
---|---|
TenantId | Identyfikator dzierżawy |
SourceSystem | Azure |
TimeGenerated [UTC] | Sygnatura czasowa zarejestrowania dziennika w formacie UTC |
Typ | Typ dziennika. Zawsze AzureDiagnostics |
SubscriptionId | Identyfikator GUID subskrypcji, do którego należy serwer |
ResourceGroup | Nazwa grupy zasobów, do którego należy serwer |
ResourceProvider | Nazwa dostawcy zasobów. Zawsze MICROSOFT.DBFORPOSTGRESQL |
ResourceType | Servers |
ResourceId | Adres URI zasobu |
Zasób | Nazwa serwera |
Kategoria | PostgreSQLLogs |
OperationName | LogEvent |
errorLevel | Poziom rejestrowania, przykład: DZIENNIK, BŁĄD, POWIADOMIENIE |
Komunikat | Podstawowy komunikat dziennika |
Domain | Wersja serwera, przykład: postgres-10 |
Szczegół | Komunikat dziennika pomocniczego (jeśli dotyczy) |
ColumnName | Nazwa kolumny (jeśli dotyczy) |
Nazwa schematu | Nazwa schematu (jeśli dotyczy) |
DatatypeName | Nazwa typu danych (jeśli dotyczy) |
Nazwa serwera logicznego | Nazwa serwera |
_ResourceId | Adres URI zasobu |
Prefiks | Prefiks wiersza dziennika |
Następne kroki
- Dowiedz się więcej na temat uzyskiwania dostępu do dzienników z witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
- Dowiedz się więcej o cenach usługi Azure Monitor.
- Dowiedz się więcej o dziennikach inspekcji