firebird
Övervakning
Sök…
Anmärkningar
Med Firebird 2.1 och databaser med ODS 11.1 (och högre) introducerar Firebird möjligheten att övervaka aktiviteten på serversidan som sker i en viss databas.
Komplett databasövervakning är tillgänglig för SYSDBA och databasägaren. Vanliga användare är begränsade till informationen om sina egna bilagor - andra bilagor är osynliga för dem.
Tillgängliga övervakningstabeller sedan Firebird 2.1 och ODS 11.1:
- MON $ DATABASE (ansluten databas)
- MON $ ATTAGMENT (anslutna bilagor)
- MON $ TRANSAKTIONER (påbörjade transaktioner)
- MON $ UTSKRIFTER (utarbetade uttalanden)
- MON $ CALL_STACK (samtalstack med aktiva PSQL-förfrågningar)
- MON $ IO_STATS (I / O-statistik)
- MON $ RECORD_STATS (rekordnivåstatistik)
Referens: Firebird 2.1 Release Notes
Med Firebird 2.5 och databaser med ODS 11.2 (och högre) lägger Firebird till följande nya skärmtabeller
- MON $ MEMORY_USAGE (aktuell minnesanvändning)
- MON $ CONTEXT_VARIABLES (kända kontextvariabler)
Referens: Firebird 2.5 Release Notes
Få information om bilagor i den anslutna databasen
Information om databasanslutningarna
SELECT
a.mon$attachment_id as Attachment_ID,
a.mon$server_pid as Server_PID,
case a.mon$state
when 1 then 'active'
when 0 then 'idle'
end as State,
a.mon$attachment_name as Database_Name,
a.mon$user as User_Name,
a.mon$role as Role_Name,
a.mon$remote_protocol as Remote_Protocol,
a.mon$remote_address as Remote_Address,
a.mon$remote_pid as Remote_PID,
cs.rdb$character_set_name as Connection_Character_Set,
a.mon$timestamp as Established_At,
case a.mon$garbage_collection
when 1 then 'allowed'
when 0 then 'not allowed'
end as Garbage_Collection,
a.mon$remote_process as Remote_Process,
a.mon$stat_id as Statistics_ID
FROM
mon$attachments a, rdb$character_sets cs
where
(a.mon$character_set_id = cs.rdb$character_set_id)
Resultat:
Mer specifika exempel
Information om anslutna klienter.
SELECT
a.mon$remote_protocol as Remote_Protocol,
a.mon$remote_address as Remote_Address,
a.mon$remote_pid as Remote_PID,
a.mon$timestamp as Established_At,
a.mon$remote_process as Remote_Process
FROM
mon$attachments a
Hämta PID: er för alla serverprocesser som laddar CPU för tillfället (intressant med en klassisk serverarkitektur)
SELECT
MON$SERVER_PID
FROM
MON$ATTACHMENTS
WHERE
MON$STATE = 1
Hämta information om anslutna användare, arbetsstationer och klientapplikationer
SELECT
mon$attachment_name as Database_Name,
mon$user as User_Name,
mon$role as Role_Name,
mon$remote_process as Client_Application,
mon$remote_address as Client_IP,
mon$remote_pid as Client_Application_PID
FROM
mon$attachments