Dela via


Granskningsloggar i Azure Database for MariaDB

Viktigt!

Azure Database for MariaDB är på väg att dras tillbaka. Vi rekommenderar starkt att du migrerar till Azure Database for MySQL. Mer information om hur du migrerar till Azure Database for MySQL finns i Vad händer med Azure Database for MariaDB?.

I Azure Database for MariaDB är granskningsloggen tillgänglig för användare. Granskningsloggen kan användas för att spåra aktivitet på databasnivå och används ofta för efterlevnad.

Konfigurera granskningsloggning

Viktigt!

Vi rekommenderar att du bara loggar de händelsetyper och användare som du behöver, så att serverns prestanda inte påverkas onödigt mycket.

Som standard är granskningsloggen inaktiverad. Om du vill aktivera den anger du audit_log_enabled till PÅ.

Andra parametrar som du kan justera är:

  • audit_log_events: styr de händelser som ska loggas. Se tabellen nedan för specifika granskningshändelser.
  • audit_log_include_users: MariaDB-användare som ska inkluderas för loggning. Standardvärdet för den här parametern är tomt, vilket inkluderar alla användare för loggning. Detta har högre prioritet än audit_log_exclude_users. Maxlängden för parametern är 512 tecken.
  • audit_log_exclude_users: MariaDB-användare som ska undantas från loggning. Tillåter högst fyra användare. Maxlängden för parametern är 256 tecken.

Kommentar

audit_log_include_users har högre prioritet än audit_log_exclude_users. Om och audit_log_exclude_users = demouser, inkluderas användaren till exempel = audit_log_include_usersdemouser i granskningsloggarna eftersom audit_log_include_users den har högre prioritet.

Händelse Beskrivning
CONNECTION - Anslut ionsinitiering (lyckad eller misslyckad)
– Omautentisering av användare med olika användare/lösenord under sessionen
- Anslut ionsavslut
DML_SELECT SELECT-frågor
DML_NONSELECT INFOGA/TA BORT/UPPDATERA frågor
DML DML = DML_SELECT + DML_NONSELECT
DDL Frågor som "DROP DATABASE"
DCL Frågor som "BEVILJA BEHÖRIGHET"
ADMIN Frågor som "SHOW STATUS"
GENERAL Allt i DML_SELECT, DML_NONSELECT, DML, DDL, DCL och ADMIN

Åtkomst till granskningsloggar

Spårningsloggar är integrerade i Azure Monitor Diagnostic Logs. När du har aktiverat spårningsloggar för din MariaDB-server kan du skicka dem till Azure Monitor-loggar, händelsehubbar eller Azure Storage. Mer information om hur du aktiverar diagnostikloggar i Azure-portalen finns i artikeln om granskningsloggportalen.

Scheman för diagnostikloggar

I följande avsnitt beskrivs vad som utdata från MariaDB-granskningsloggar baseras på händelsetypen. Beroende på utdatametoden kan fälten som ingår och i vilken ordning de visas variera.

Connection

Property Beskrivning
TenantId Ditt klientorganisations-ID
SourceSystem Azure
TimeGenerated [UTC] Tidsstämpel när loggen registrerades i UTC
Type Typ av logg. Alltid AzureDiagnostics
SubscriptionId GUID för den prenumeration som servern tillhör
ResourceGroup Namnet på resursgruppen som servern tillhör
ResourceProvider Namnet på resursprovidern. Alltid MICROSOFT.DBFORMARIADB
ResourceType Servers
ResourceId Resurs-URI
Resource Namnet på servern
Category MySqlAuditLogs
OperationName LogEvent
event_class_s connection_log
event_subclass_s CONNECT, DISCONNECT
connection_id_d Unikt anslutnings-ID som genereras av MariaDB
host_s Tom
ip_s IP-adress för klienten som ansluter till MariaDB
user_s Namnet på användaren som kör frågan
db_s Namnet på databasen som är ansluten till
\_ResourceId Resurs-URI

Allmänt

Schemat nedan gäller för händelsetyperna GENERAL, DML_SELECT, DML_NONSELECT, DML, DDL, DCL och ADMIN.

Kommentar

För sql_texttrunkeras loggen om den överskrider 2 048 tecken.

Property Beskrivning
TenantId Ditt klientorganisations-ID
SourceSystem Azure
TimeGenerated [UTC] Tidsstämpel när loggen registrerades i UTC
Type Typ av logg. Alltid AzureDiagnostics
SubscriptionId GUID för den prenumeration som servern tillhör
ResourceGroup Namnet på resursgruppen som servern tillhör
ResourceProvider Namnet på resursprovidern. Alltid MICROSOFT.DBFORMARIADB
ResourceType Servers
ResourceId Resurs-URI
Resource Namnet på servern
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s Namnet på servern
event_class_s general_log
event_subclass_s LOG, , ERRORRESULT
event_time Frågestartssekunder i UNIX-tidsstämpel
error_code_d Felkod om frågan misslyckades. 0 innebär inget fel
thread_id_d ID för tråd som körde frågan
host_s Tom
ip_s IP-adress för klienten som ansluter till MariaDB
user_s Namnet på användaren som kör frågan
sql_text_s Fullständig frågetext
\_ResourceId Resurs-URI

Analysera loggar i Azure Monitor-loggar

När granskningsloggarna skickas till Azure Monitor-loggar via diagnostikloggar kan du utföra ytterligare analys av dina granskade händelser. Nedan visas några exempelfrågor som hjälper dig att komma igång. Se till att uppdatera nedanstående med servernamnet.

  • Lista ALLMÄNNA händelser på en viss server

    AzureDiagnostics
    | where LogicalServerName_s == '<your server name>'
    | where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
    | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
    | order by TimeGenerated asc nulls last 
    
  • Lista ANSLUTNINGShändelser på en viss server

    AzureDiagnostics
    | where LogicalServerName_s == '<your server name>'
    | where Category == 'MySqlAuditLogs' and event_class_s == "connection_log"
    | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
    | order by TimeGenerated asc nulls last
    
  • Sammanfatta granskade händelser på en viss server

    AzureDiagnostics
    | where LogicalServerName_s == '<your server name>'
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
    | summarize count() by event_class_s, event_subclass_s, user_s, ip_s
    
  • Diagram över granskningshändelsetypens distribution på en viss server

    AzureDiagnostics
    | where LogicalServerName_s == '<your server name>'
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
    | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m)
    | render timechart 
    
  • Visa en lista över granskade händelser över alla MariaDB-servrar med diagnostikloggar aktiverade för granskningsloggar

    AzureDiagnostics
    | where Category == 'MySqlAuditLogs'
    | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
    | order by TimeGenerated asc nulls last
    

Nästa steg