Naplók az Azure Database for MySQL-ben

A következőkre vonatkozik: Azure Database for MySQL – Önálló kiszolgáló

Fontos

Az önálló Azure Database for MySQL-kiszolgáló a kivonási útvonalon van. Határozottan javasoljuk, hogy frissítsen rugalmas Azure Database for MySQL-kiszolgálóra. További információ a rugalmas Azure Database for MySQL-kiszolgálóra való migrálásról: Mi történik az önálló Azure Database for MySQL-kiszolgálóval?

Az Azure Database for MySQL-ben a naplózási napló elérhető a felhasználók számára. A naplózási napló adatbázisszintű tevékenységek nyomon követésére használható, és a megfelelőséghez gyakran használják.

Naplózás konfigurálása

Fontos

Javasoljuk, hogy csak a naplózási célokhoz szükséges eseménytípusokat és felhasználókat naplózza, hogy a kiszolgáló teljesítményének ne legyen jelentős hatása, és a rendszer minimális mennyiségű adatot gyűjtsön.

Alapértelmezés szerint a napló le van tiltva. Az engedélyezéshez állítsa audit_log_enabled BE értékre.

További módosítható paraméterek a következők:

  • audit_log_events: a naplózandó eseményeket vezérli. A konkrét naplózási eseményeket az alábbi táblázatban találja.
  • audit_log_include_users: A naplózáshoz mellékelendő MySQL-felhasználók. A paraméter alapértelmezett értéke üres, amely tartalmazza a naplózáshoz szükséges összes felhasználót. Ez nagyobb prioritást élvez a audit_log_exclude_users. A paraméter maximális hossza 512 karakter.
  • audit_log_exclude_users: A mySQL-felhasználókat ki kell zárni a naplózásból. A paraméter maximális hossza 512 karakter.

Megjegyzés:

audit_log_include_users nagyobb prioritással rendelkezik a audit_log_exclude_users. Például ha audit_log_include_users = demouser ésdemouseraudit_log_exclude_users = , a felhasználó szerepelni fog az auditnaplókban, mert audit_log_include_users magasabb prioritással rendelkezik.

Esemény Ismertetés
CONNECTION - Csatlakozás kezdeményezés (sikeres vagy sikertelen)
- A felhasználó ismételt hitelesítése eltérő felhasználóval/jelszóval a munkamenet során
- Csatlakozás megszüntetés
DML_SELECT Standard kiadás LECT-lekérdezések
DML_NONSELECT IN Standard kiadás RT/DELETE/UPDATE lekérdezések
DML DML = DML_Standard kiadás LECT + DML_NONStandard kiadás LECT
DDL Lekérdezések, például "DROP DATABA Standard kiadás"
DCL Lekérdezések, például "ENGEDÉLY MEGADÁSA"
ADMIN Lekérdezések, például "ÁLLAPOT MEGJELENÍTÉSE"
GENERAL Minden a DML_Standard kiadás LECT, DML_NONStandard kiadás LECT, DML, DDL, DCL és RENDSZERGAZDA területen
TABLE_ACCESS - Elérhető a MySQL 5.7-hez és a MySQL 8.0-hoz
- Táblázatolvasási utasítások, például Standard kiadás LECT vagy IN Standard kiadás RT INTO ... Standard kiadás LECT
- Táblatörlési utasítások, például DELETE vagy TRUNCATE TABLE
- Táblázat beszúrási utasításai, például IN Standard kiadás RT vagy REPLACE
- Táblafrissítési utasítások, például UPDATE

Access audit logs

A naplók az Azure Monitor Diagnostic Logs szolgáltatással vannak integrálva. Miután engedélyezte a naplókat a MySQL-kiszolgálón, kibocsáthatja azokat az Azure Monitor-naplókba, az Event Hubsba vagy az Azure Storage-ba. A diagnosztikai naplók Azure Portalon való engedélyezéséről a naplóportál cikkében talál további információt.

Megjegyzés:

A Premium Storage-fiókok nem támogatottak, ha diagnosztikával és beállításokkal küldi el a naplókat az Azure Storage-ba

Diagnosztikai naplók sémái

A következő szakaszok az esemény típusa alapján ismertetik a MySQL-naplók kimenetét. A kimeneti módszertől függően a benne foglalt mezők és azok megjelenési sorrendje eltérő lehet.

Connection

Property Ismertetés
TenantId A bérlő azonosítója
SourceSystem Azure
TimeGenerated [UTC] Időbélyeg, amikor a naplót UTC-ben rögzítették
Type A napló típusa. Mindig AzureDiagnostics
SubscriptionId ANNAK az előfizetésnek a GUID azonosítója, amelyhez a kiszolgáló tartozik
ResourceGroup Annak az erőforráscsoportnak a neve, amelyhez a kiszolgáló tartozik
ResourceProvider Az erőforrás-szolgáltató neve. Mindig MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Erőforrás URI-ja
Resource A kiszolgáló neve
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s A kiszolgáló neve
event_class_s connection_log
event_subclass_s CONNECT, DISCONNECT, CHANGE USER (csak a MySQL 5.7-hez érhető el)
connection_id_d A MySQL által létrehozott egyedi kapcsolatazonosító
host_s Üres
ip_s A MySQL-hez csatlakozó ügyfél IP-címe
user_s A lekérdezést végrehajtó felhasználó neve
db_s A csatlakoztatott adatbázis neve
\_ResourceId Erőforrás URI-ja

General

Az alábbi séma a GENERAL, DML_Standard kiadás LECT, DML_NONStandard kiadás LECT, DML, DDL, DCL és ADMIN eseménytípusokra vonatkozik.

Megjegyzés:

Ebben sql_textaz esetben a rendszer csonkolja a naplót, ha az meghaladja a 2048 karaktert.

Property Ismertetés
TenantId A bérlő azonosítója
SourceSystem Azure
TimeGenerated [UTC] Időbélyeg, amikor a naplót UTC-ben rögzítették
Type A napló típusa. Mindig AzureDiagnostics
SubscriptionId ANNAK az előfizetésnek a GUID azonosítója, amelyhez a kiszolgáló tartozik
ResourceGroup Annak az erőforráscsoportnak a neve, amelyhez a kiszolgáló tartozik
ResourceProvider Az erőforrás-szolgáltató neve. Mindig MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Erőforrás URI-ja
Resource A kiszolgáló neve
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s A kiszolgáló neve
event_class_s general_log
event_subclass_s LOG, ERROR, RESULT (csak a MySQL 5.6-hoz érhető el)
event_time Lekérdezés kezdési időpontja UTC időbélyegben
error_code_d Hibakód, ha a lekérdezés sikertelen. 0 azt jelenti, hogy nincs hiba
thread_id_d A lekérdezést végrehajtó szál azonosítója
host_s Üres
ip_s A MySQL-hez csatlakozó ügyfél IP-címe
user_s A lekérdezést végrehajtó felhasználó neve
sql_text_s Teljes lekérdezési szöveg
\_ResourceId Erőforrás URI-ja

Táblahozzáférés

Megjegyzés:

A táblaelérési naplók csak a MySQL 5.7 kimenetei.
Ebben sql_textaz esetben a rendszer csonkolja a naplót, ha az meghaladja a 2048 karaktert.

Property Ismertetés
TenantId A bérlő azonosítója
SourceSystem Azure
TimeGenerated [UTC] Időbélyeg, amikor a naplót UTC-ben rögzítették
Type A napló típusa. Mindig AzureDiagnostics
SubscriptionId ANNAK az előfizetésnek a GUID azonosítója, amelyhez a kiszolgáló tartozik
ResourceGroup Annak az erőforráscsoportnak a neve, amelyhez a kiszolgáló tartozik
ResourceProvider Az erőforrás-szolgáltató neve. Mindig MICROSOFT.DBFORMYSQL
ResourceType Servers
ResourceId Erőforrás URI-ja
Resource A kiszolgáló neve
Category MySqlAuditLogs
OperationName LogEvent
LogicalServerName_s A kiszolgáló neve
event_class_s table_access_log
event_subclass_s READ, INSERT, UPDATEvagy DELETE
connection_id_d A MySQL által létrehozott egyedi kapcsolatazonosító
db_s A hozzáféréssel rendelkező adatbázis neve
table_s A megnyitott tábla neve
sql_text_s Teljes lekérdezési szöveg
\_ResourceId Erőforrás URI-ja

Naplók elemzése az Azure Monitor-naplókban

Miután a naplókat diagnosztikai naplókon keresztül az Azure Monitor-naplókba csövezték, további elemzéseket végezhet a naplózott eseményekről. Az alábbiakban néhány minta lekérdezést talál, amelyek segítenek az első lépésekben. Frissítse az alábbiakat a kiszolgáló nevével.

  • Általános események listázása egy adott kiszolgálón

    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 
    
  • Kapcsolati események listázása egy adott kiszolgálón

    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
    
  • Egy adott kiszolgálón naplózott események összegzése

    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
    
  • A naplózási eseménytípus eloszlásának grafikonja egy adott kiszolgálón

    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 
    
  • Naplózott események listázása az összes MySQL-kiszolgálón az auditnaplókhoz engedélyezett diagnosztikai naplókkal

    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
    

További lépések