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 aaudit_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
ésdemouser
audit_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_text
az 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_text
az 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 , UPDATE vagy 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