次の方法で共有


PGSQLServerLogs テーブルのクエリ

Azure portal でこれらのクエリを使用する方法については、 Log Analytics のチュートリアルを参照してください。 REST API については、「 クエリ」を参照してください。

エラー メッセージ

PostgreSQL ログからのすべてのエラー メッセージを表示します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "ERROR"
| order by TimeGenerated desc 
| take 100

致命的なメッセージ

PostgreSQL ログからすべての致命的なメッセージを表示します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where ErrorLevel =~ "FATAL"
| order by TimeGenerated desc 
| take 100

デッドロックを検出する

PostgreSQL ログでデッドロック イベントを検索します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "deadlock detected"
| order by TimeGenerated desc 
| take 100

サーバーの再起動

PostgreSQL ログで、サーバーのシャットダウンイベントとサーバー準備完了イベントを検索します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "database system was shut down" or Message has "database system is ready to accept"
| order by TimeGenerated asc
| take 100

受信した接続

PostgreSQL ログで受信した接続メッセージを検索します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "connection received"
| extend allmatches=extract_all(@'host=(.+)port=(.+)', Message)
| project TimeGenerated, host=allmatches[0][0], port=allmatches[0][1], Message,ProcessId,ErrorLevel, SqlErrorCode
| order by TimeGenerated desc 
| take 100

承認された接続

PostgreSQL ログで承認された接続メッセージを検索します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "connection authorized"
| extend allmatches=extract_all(@'user=(.+)database=(.\S+)', Message)
| project TimeGenerated, user=trim(@" ",tostring(allmatches[0][0])), database=allmatches[0][1], Message,ProcessId,ErrorLevel, SqlErrorCode
| where  ['user'] !='azuresu' //exclude Azure managed superuser
| order by TimeGenerated desc 
| take 100

接続エラー

PostgreSQL ログで未承認の (失敗した) 接続を検索します。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "authentication failed" or SqlErrorCode in ('28000', '28P01', '3D000', '53300', '42501','08P01')
| where ErrorLevel =~'FATAL'
| order by TimeGenerated desc 
| take 100

ロックの競合

PostgreSQL ログでロックの競合を検索します。 パラメーター log_lock_waits=ON が必要です。

// To create an alert for this query, click '+ New alert rule'
PGSQLServerLogs
| where Message has "still waiting for"
| order by TimeGenerated desc 
| take 100

自動バキューム イベント

PostgreSQL ログで自動バキューム イベントを検索します。 パラメーター 'log_autovacuum_min_duration' が有効になっている必要があります。

PGSQLServerLogs
| where Message has "vacuum of table"
| order by TimeGenerated desc 
| take 100

監査ログ

PostgreSQL ログ内のすべての監査イベントを検索します。 監査ログを有効にする必要があります [https://learn.microsoft.com/azure/postgresql/flexible-server/concepts-audit]。

PGSQLServerLogs
| where Message contains "AUDIT:"
| order by TimeGenerated desc 
| take 100