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.
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.
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:
Wybierz klaster usługi Azure Cosmos DB for PostgreSQL.
Na pasku bocznym wybierz pozycję Parametry koordynatora (lub węzła roboczego).
shared_preload_libraries
Wyszukaj parametr .Wybierz pozycję pgaudit i zapisz zmiany. Klaster usługi Azure Cosmos DB for PostgreSQL zostanie uruchomiony ponownie.
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 .
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;
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:
Wybierz klaster usługi Azure Cosmos DB for PostgreSQL.
Na pasku bocznym wybierz pozycję Parametry serwera.
pgaudit
Wyszukaj parametry.Wybierz odpowiedni parametr ustawień do edycji. Na przykład aby rozpocząć rejestrowanie ustawione
pgaudit.log
naWRITE
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.
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.
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:"