Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Rejestrowanie inspekcji w usłudze Azure Cosmos DB for PostgreSQL

DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)

Rejestrowanie inspekcji działań bazy danych w usłudze Azure Cosmos DB for PostgreSQL jest dostępne za pośrednictwem rozszerzenia inspekcji PostgreSQL: pgAudit. Narzędzie pgAudit udostępnia szczegółowe rejestrowanie inspekcji sesji lub obiektów.

Jeśli chcesz, aby dzienniki na poziomie zasobów platformy Azure dla operacji, takich jak skalowanie zasobów obliczeniowych i magazynu, zobacz Dziennik aktywności platformy Azure.

Zagadnienia dotyczące użycia

Domyślnie instrukcje rejestrowania rozszerzenia pgAudit są emitowane wraz z normalnymi instrukcjami rejestrowania przy użyciu standardowej funkcji rejestrowania bazy danych Postgres. W usłudze Azure Cosmos DB for PostgreSQL można skonfigurować wszystkie dzienniki, które mają być wysyłane do magazynu dzienników usługi Azure Monitor na potrzeby późniejszej analizy w usłudze Log Analytics.

Instalowanie narzędzia pgAudit

Aby zainstalować narzędzie pgAudit, należy uwzględnić go w udostępnionych bibliotekach wstępnego ładowania serwera. Zmiana parametru wymaga shared_preload_libraries , aby ponowne uruchomienie klastra miało zastosowanie. Ponadto ustawienia pgAudit są określane dla poszczególnych węzłów w klastrze. Aby włączyć inspekcję na wszystkich węzłach, należy zastosować ustawienia inspekcji zarówno do ustawień koordynatora, jak i węzłów roboczych.

Korzystanie z witryny Azure Portal:

  1. Wybierz klaster usługi Azure Cosmos DB for PostgreSQL.

  2. Na pasku bocznym wybierz pozycję Parametry koordynatora (lub węzła roboczego).

  3. shared_preload_libraries Wyszukaj parametr .

  4. Wybierz pozycję pgaudit i zapisz zmiany. Klaster usługi Azure Cosmos DB for PostgreSQL zostanie uruchomiony ponownie.

    Zrzut ekranu przedstawiający udostępnione biblioteki wstępnego ładowania w witrynie Azure Portal.

  5. Możesz sprawdzić, czy narzędzie pgaudit jest ładowane w shared_preload_libraries, wykonując następujące zapytanie w narzędziu psql:

    show shared_preload_libraries;
    

    W wyniku zapytania powinien zostać wyświetlony element pgaudit .

  6. Połącz się z bazą danych psql i następującym zapytaniem dla wersji citus równych lub nowszych niż 11.0

    BEGIN; 
    SET LOCAL citus.enable_metadata_sync = false; 
    SELECT create_extension('pgaudit'); 
    COMMIT; 
    

    W przypadku starszych wersji niż citus 11.0:

    BEGIN; 
    SET LOCAL citus.enable_object_propagation= false; 
    SELECT create_extension('pgaudit'); 
    COMMIT; 
    

Ustawienia pgAudit

Narzędzie pgAudit umożliwia konfigurowanie rejestrowania inspekcji sesji lub obiektu. Rejestrowanie inspekcji sesji emituje szczegółowe dzienniki wykonanych instrukcji. Rejestrowanie inspekcji obiektów jest objęte inspekcją w zakresie określonych relacji. Możesz skonfigurować jeden lub oba typy rejestrowania.

Po włączeniu rozszerzenia pgAudit możesz skonfigurować jego parametry, aby rozpocząć rejestrowanie. Aby skonfigurować narzędzie pgAudit, możesz wykonać poniższe instrukcje. Korzystanie z witryny Azure Portal:

  1. Wybierz klaster usługi Azure Cosmos DB for PostgreSQL.

  2. Na pasku bocznym wybierz pozycję Parametry serwera.

  3. pgaudit Wyszukaj parametry.

  4. Wybierz odpowiedni parametr ustawień do edycji. Na przykład aby rozpocząć rejestrowanie ustawione pgaudit.log na WRITEZrzut ekranu przedstawiający parametry inspekcji w witrynie Azure Portal.

  5. Wybierz przycisk Zapisz , aby zapisać zmiany

Dokumentacja narzędzia pgAudit zawiera definicję każdego parametru. Najpierw przetestuj parametry i upewnij się, że otrzymujesz oczekiwane zachowanie.

Uwaga

Ustawienie pgaudit.log_client włączone spowoduje przekierowanie dzienników do procesu klienta (na przykład psql) zamiast zapisywania w pliku. To ustawienie powinno być zwykle wyłączone.

Parametr pgaudit.log_level jest włączony tylko wtedy, gdy parametr pgaudit.log_client jest ustawiony jako włączony.

Uwaga

W usłudze Azure Cosmos DB for PostgreSQL pgaudit.log nie można ustawić skrótu do znaku (minus), zgodnie z opisem - w dokumentacji narzędzia pgAudit. Wszystkie wymagane klasy instrukcji (READ, WRITE itp.) powinny być określone indywidualnie.

Format dziennika inspekcji

Każdy wpis inspekcji jest wskazywany przez AUDIT: blisko początku wiersza dziennika. Format pozostałej części wpisu został szczegółowo opisany w dokumentacji narzędzia pgAudit.

Wyświetlanie dzienników inspekcji

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.

Możesz użyć tego zapytania, aby rozpocząć pracę. Alerty można skonfigurować na podstawie zapytań.

Wyszukaj wszystkie wpisy pgAudit w dziennikach bazy danych Postgres dla określonego serwera w ciągu ostatniego dnia

AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLlogs"
| where TimeGenerated > ago(1d) 
| where Message contains "AUDIT:"

Następne kroki