KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、DPA(Database Performance Analyzer)に関するお役立ち情報を発信しています。
DPAの導入や監視設定にお役立ていただけます。

DPAで設定可能なアラートカテゴリとアラートタイプ

■概要
 本Tipsでは、DPA監視で用意されているカテゴリに所属するアラートタイプ一覧をご紹介します。
 本Tipsで紹介するアラート一覧は2023年1月31日時点でのDPA管理者ガイドに掲載されている情報を和訳したものです。
  DPA管理者ガイド
   →DPA アラートのカテゴリとタイプ

■カテゴリ紹介

カテゴリ説明
Wait Time待機時間がユーザー定義のしきい値を超えた場合、または待機時間が予想よりもはるかに長い場合(異常)にトリガーされるアラート
ResourceCPU使用率やメモリ使用率などのリソースメトリックが閾値を超えるとトリガーされるアラート
Administrativeデータベースシステムの状態を監視するために使用されるアラート
Custom監視対象データベース、またはDPAリポジトリに対して実行されるユーザー定義のSQL文やストアドプロシージャ実行結果によってトリガーされるアラート

Wait Timeカテゴリのアラートタイプ一覧

アラート名説明対象DB製品
Database Instance Wait Time Anomaly直近に完了した1時間の間に、インスタンスの待機時間が異常に長くなったときにアラートを出します。ALL
Total Database Instance Wait Timeデータベースインスタンス全体の合計待機時間がしきい値を超えたときに警告します。ALL
Total SQL Wait Time for a Single SQL指定されたSQLステートメントの合計実行時間がしきい値を超えたときに警告します。ALL
Average Wait Time for a Single SQL指定されたSQLステートメントの平均実行時間がしきい値を超えたときに警告します。ALL
Total SQL Wait Time for Single Wait指定された待機タイプまたはイベントの合計待機時間がしきい値を超えたときにアラートを出します。ALL
Total SQL Wait Time
– Program
指定されたプログラムまたはアプリケーションによって実行されたSQLステートメントの合計実行時間がしきい値を超えたときに警告します。ALL
Total SQL Wait Time
– Database User
指定されたデータベースユーザーによって実行されたSQLステートメントの合計実行時間がしきい値を超えたときに警告します。ALL
Total SQL Wait Time
– O/S User
指定されたオペレーティングシステム(OS)ユーザーによって実行されたSQLステートメントの合計実行時間がしきい値を超えたときに警告します。Oracle
Total SQL Wait Time
– Machine
指定されたコンピューターで実行されたSQLステートメントの合計実行時間がしきい値を超えたときに警告します。Oracle
Total SQL Wait Time
– Database
インスタンス内の指定されたデータベースの合計実行時間がしきい値を超えたときに警告します。Oracle以外すべて
Total SQL Wait Time
– Custom for Oracle
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたデータベースユーザーによって実行されたSQLステートメント
 ・指定されたOSユーザーによって実行されたSQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
Oracle
Total SQL Wait Time
– Custom for SQL Server/Azure SQL MI/Sybase
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたデータベースユーザーによって実行されたSQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
 ・インスタンス内の指定されたデータベース
SQL Server, ASMI, Sybase
Total SQL Wait Time
– Custom for Azure SQL Database
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたデータベースユーザーによって実行されたSQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
Azure SQL Database
Total SQL Wait Time
– Custom for MySQL
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたデータベースユーザーによって実行されたSQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
 ・インスタンス内の指定されたデータベース
 ・指定された待機機器に関連付けられた待機イベント
 ・selectやfetchなどの指定された操作を実行するSQLステートメント
MySQL
Total SQL Wait Time
– Custom for Db2
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
 ・指定されたデータベース(単一のデータベースがモニターされている
  場合、データベースフィールドは無視されます)
Db2
Total SQL Wait Time
– Custom for PostgreSQL
次のいずれかの組み合わせの合計待機時間がしきい値を超えたときにアラートを出します。 
 ・指定された待機タイプまたはイベント
 ・指定されたSQLステートメント
 ・指定されたプログラムまたはアプリケーションによって実行される
  SQLステートメント
 ・指定されたデータベースユーザーによって実行されたSQLステートメント
 ・指定されたコンピューターで実行されたSQLステートメント
 ・インスタンス内の指定されたデータベース
PostgreSQL
RAC Overhead Wait TimeRACイベントの合計待機時間がしきい値を超えたときにアラートを出します。Oracle
Total Blocking Wait Timeブロッキングが原因でセッションが待機した時間がしきい値を超えたときにアラートを出します。Oracle, SQL Server, Azure SQL DB, ASMI, Sybase, MySQL, PostgreSQL
DPA Wait Timeアラートタイプ一覧

 

Resourceカテゴリのアラートタイプ一覧

アラート名説明対象DB製品
Single Resource Metric特定のリソースメトリックの計算値がしきい値を超えた場合に警告します。ALL
All Metrics in a Categoryカテゴリのすべてのリソースメトリックの計算値がしきい値を超えた場合に警告します。ALL
DPA Resourceアラートタイプ一覧

 

Administrativeカテゴリのアラートタイプ一覧

アラート名説明対象DB製品
Database Instance Availability監視対象のデータベースインスタンスが利用できない場合に警告します。DPAは、インスタンスへの接続を試行して可用性を判断します。ALL
Database Freespaceインスタンス内の任意のデータベース(またはAzure SQLデータベースの場合は単一のデータベース)の空き領域の割合がしきい値を下回った場合に警告します。SQL Server, Azure SQL DB, ASMI, Sybase, Db2
Database Instance Parameter Changesデータベースインスタンスのパラメータ設定が変更された場合に警告します。MySQL以外すべて
Tablespace Freespace監視対象インスタンスの表領域の空き領域の割合がしきい値を下回った場合に警告します。Db2の場合、データベース管理表領域(DMS)のみが評価されます。Oracle, Db2
Transaction Log Freespaceインスタンス内のデータベースのトランザクションログの空き領域の割合がしきい値を下回った場合に警告します。SQL Server, ASMI, Sybase, Db2
Oracle PDB Move監視対象のPDBデータベースインスタンスがCDBコンテナとの間で移動したときにアラートを出します。Oracle
Oracle PDB Instance Availability監視対象のPDBデータベースインスタンスが利用できない場合に警告します。DPAは、インスタンスへの接続を試行して可用性を判断します。Oracle
Oracle Alert Log Entriesアラートログに指定された文字列の最小出現回数を超えた場合にアラートを出します。DPAは、(x$dbgalertextテーブルから)アラートログで指定された文字列を検索し、一致するすべての一意のエントリと各エントリの数を返します。各アラートレベルのしきい値は、そのレベルの発生の最小数と最大数を指定します。Oracle11g以降
Oracle Long Running Transactionトランザクションがしきい値で指定された秒数を超えて実行されたときに警告します。Oracle
Oracle Percent Redo Logs UnarchivedアーカイブされていないREDOログの割合がしきい値を超えたときに警告します。Oracle
Oracle Redo Log Switching Frequency実行間隔中のREDOログスイッチの数がしきい値を超えた場合に警告します。Oracle
Oracle Session Limitアクティブなセッションの割合がしきい値を超えた場合に警告します。Oracle
Oracle Stale Statisticsテーブルまたはインデックスの統計が古いか空の場合に警告します。Oracle10g以降
Oracle Archiver ErrorsREDOログをアーカイブしようとしているときにアーカイバプロセスがエラーを受け取った場合、またはオンラインログファイルがアーカイブされていない場合に警告します。Oracle
Windows Service Not Running
– SQL Server
指定されたWindowsサービスが選択されたSQLServerデータベースインスタンスで実行されていない場合に警告します。SQL Server2005以降
SQL Server Abnormal Mirroring StatusSQLServerのミラーリングステータスが同期以外の場合に警告します。SQL Server2005以降
SQL Server Availability Group Failover可用性グループがあるインスタンスから別のインスタンスにフェイルオーバーした場合に警告します。SQL Server2012以降
SQL Server Availability Group Status Change可用性グループのステータスが「部分的に正常」または「非正常」に変更された場合に警告します。SQL Server2012以降
SQL Server Deadlocksインスタンスで発生したデッドロックの数がしきい値を超えた場合に警告します。SQL Server 2008以降, ASMI
SQL Server Error Log Alertエラーログに指定された文字列または文字列のペアが含まれている場合に警告します。SQL Server 2005以降, ASMI
SQL Server/Azure SQL Ineffective Statisticsインデックスに無効な統計がある場合に警告します。SQL Server 2005以降, ASMI, Azure SQL DB
SQL Server Job Failureジョブが失敗した場合に警告します。SQL Server, ASMI
SQL Server Backup Frequency指定されたタイプ(完全、差分、またはトランザクションログ)の最後のバックアップからの日数がしきい値を超えた場合に警告します。SQL Server
SQL Server Recovery Backup Assets Sizeデータベースのリカバリに必要なすべてのバックアップ資産のサイズがしきい値を超えた場合に警告します。SQL Server
SQL Server Backup Jobs Running指定されたデータベースインスタンスに対して現在実行中のバックアップジョブの数がしきい値を超えた場合に警告します。SQL Server
SQL Server Backup Time Allotted指定されたタイプ(完全、差分、またはトランザクションログ)の最後のバックアップを完了するために必要な時間がしきい値を超えた場合に警告します。SQL Server
SQL Server Log has Many Virtual Logsデータベース内の仮想ログの数がしきい値を超えた場合に警告します。SQL Server 2005以降, ASMI
SQL Server Long Running Jobs(SQLエージェント内の)ジョブが、以前の実行時間に基づく平均実行時間から2標準偏差を超えて実行されている場合に警告します。SQL Server 2005以降, ASMI
DPA Database Instance Monitor Errorsデータベースインスタンスの監視中にエラーが発生した場合に警告します。ALL
DPA Resource Collection Errorsデータベースインスタンスのリソースデータの収集中にエラーが発生した場合に警告します。ALL
MySQL Temporary Tables Creation Rate1秒あたりに作成される一時テーブルの数がしきい値を超えた場合に警告します。MySQL
MySQL Temporary Tables on Disk Creation Rate1秒あたりにディスク上に作成される一時テーブルの数がしきい値を超えた場合に警告します。MySQL
MySQL Schema Freespaceスキーマの空き領域の割合がしきい値を超えた場合に警告します。空き領域はMySQLデータベースによって占有されていますが、使用されていません。MySQL
MySQL Table Freespaceいずれかのテーブルの空き領域の割合がしきい値を超えた場合に警告します。MySQL
MySQL Oversized Indexしきい値として指定されたパーセンテージよりも全体的なスペースを占めるインデックスが定義されているテーブルがある場合に警告します。MySQL
MySQL Tables Missing Primary Keyこのアラートは、MySQLテーブルのいずれかにPKが定義されていないかどうかを判別します。MySQL
MySQL Latest Deadlock Alertデータベースに目に見えないデッドロックがある場合に警告します。MySQL
MySQL InnoDB Buffer Pool Utilization Alert空きバッファページの割合がしきい値を下回った場合に警告します。MySQL
MySQL InnoDB Log File Size AlertREDOログファイルのサイズがしきい値を下回った場合に警告します。MySQL
MySQL File Sorts on Disk Alertデータベースインスタンスがメモリ内で並べ替えを実行する代わりに、ディスクに頻繁に並べ替えられる場合に警告します。MySQL
MySQL Replication Seconds Behind Master Alertレプリケーション(スレーブ)インスタンスがマスターから指定された秒数を超えている場合に警告します。MySQL
MySQL Replication Threads Availability Alertレプリケーション(スレーブ)MySQLデータベーススレッド(I / Oおよびスレーブ)が使用できない場合に警告します。MySQL
MySQL Redundant Indexes Alertデータベースインスタンス内のテーブルに冗長インデックスが含まれている場合に警告します。MySQL
MySQL Duplicate Indexes Alertデータベースインスタンス内のテーブルに重複するインデックスが含まれている場合に警告します。MySQL
PostgreSQL Autovacuum Statusautovacuum プロセスが OFF になっている場合に警告を表示します。自動バキューム処理は、テーブルの肥大化を防ぐのに役立ちます。PostgreSQL
PostgreSQL Track Counts Statustrack_countsの設定がOFFになっている場合に警告を表示します。PostgreSQLがデータベースの活動に関する統計情報を収集するためには、track_countsの設定をONにする必要があります。autovacuumプロセスはこれらの統計情報を必要とします。PostgreSQL
PostgreSQL Track Activities Statustrack_activities 設定が OFF の場合に警告を発します。track_activities 設定は現在実行中の SQL 文の追跡を可能にし、DPA がデータベース インスタンスを監視できるようにするためにオンにする必要があります。PostgreSQL
PostgreSQL Last AnalyzePostgreSQLの自動バキュームプロセスが無効になっている場合、統計情報を更新するためのanalyzeオペレーションは自動的にトリガされません。この警告は、最後に手動で実行したanalyze操作からの期間が閾値を超えた場合に警告を発します。PostgreSQL
PostgreSQL Last Auto AnalyzePostgreSQLのautovacuumプロセスは、クエリプランを決定するために使用される統計情報を更新するanalyzeオペレーションを自動的にトリガすることができます。この警告は、最後に自動的に起動されたanalyze操作からの期間が閾値を超えた場合に警告を発します。PostgreSQL
PostgreSQL Last VacuumPostgreSQLの自動バキューム処理が無効になっている場合、デッドタプル(不要になった古いバージョンの行)を削除するための自動実行は行われません。この警告は、最後の手動バキューム操作からの期間が閾値を超えた場合に警告を発します。PostgreSQL
PostgreSQL Last AutoVacuumPostgreSQLのautovacuum処理は、死んだタプル(もはや必要とされない古いバージョンの行)を削除するために自動的に実行されます。この警告は、最後のautovacuumからの期間が閾値を超えた場合に警告を発します。PostgreSQL
PostgreSQL Long Running Vacuumこのアラートは、バキューム動作が指定した閾値を超えて長く実行された場合に通知します。PostgreSQL
PostgreSQL Long Running Queryこのアラートは、autovacuumプロセス以外のクエリが指定された閾値よりも長く実行された場合に通知されます。PostgreSQL
PostgreSQL Dead Tupleこの警告は、データベースインスタンス内のデッドタプルの行数または割合を監視します。割合が高い場合、PostgreSQLのバキューム処理が健全でないことを示す可能性があります。デッドタプルは、更新または削除された行の古いバージョンです。これはもはやどのトランザクションでも必要とされないので、バキューム処理でこれを削除し、新しい行に使用できるようにしなければなりません。PostgreSQL
PostgreSQL Total Idle in Transaction Connections各 PostgreSQL インスタンスには最大接続数 (pg_settings の max_connections) があります。この警告は、利用可能な接続のうち高い割合で “トランザクションがアイドル状態” である場合に警告を発します。つまり、アプリケーションや問い合わせがトランザクションを開始したものの、トランザクションがアイドル状態で、おそらく他の何かを待っている状態であることを意味します。PostgreSQL
PostgreSQL Total Connections各 PostgreSQL インスタンスには最大接続数 (pg_settings の max_connections) があります。この警告は、利用可能な接続のうち高い割合が使用されている場合に警告を発します。すべての状態の接続が含まれます。PostgreSQL
PostgreSQL User Role Expiryこのアラートは、ユーザーロールが指定された日数以内に期限切れとなる場合、またはすでに期限切れとなった場合に通知されます。PostgreSQL
PostgreSQL Total Table Bloat in Databaseこのアラートは、ブロート(再利用されなかった未使用領域)の割合が閾値を超えた場合に警告を発します。PostgreSQL
PostgreSQL Collect Database Sizeこのアラートは、PostgreSQLクラスタ内の各データベースのサイズを収集します。この警告が発動されることはありません。収集されたデータは、PostgreSQL Database/Table Percentage Growthアラートの入力として使用されます。PostgreSQL
PostgreSQL Collect Relation Table Sizeこのアラートは、PostgreSQLクラスタの各関係(テーブル)のサイズを収集します。この警告が発動されることはありません。収集されたデータは、PostgreSQL Database/Table Percentage Growthアラートの入力として使用されます。PostgreSQL
PostgreSQL Database/Table Percentage Growthこの警告は、実行間隔中にデータベースのサイズまたはすべてのリレーションのサイズが指定された割合より多く増加した場合に警告します。どちらのサイズを監視するかによって、PostgreSQL Collect Database Size警告またはPostgreSQL Collect Relation (Table) Size警告も構成される必要があります。PostgreSQL
DPA Administrativeアラートタイプ一覧

Customカテゴリのアラートタイプ一覧

アラート名説明対象DB製品
Custom SQL Alert
– Single Numeric Return
単一の数値を返すユーザー定義の SQL 文を実行します。値が閾値を超えるとアラートが発生します。ALL
Custom SQL Alert
– Multiple Numeric Return
ユーザー定義の SQL 文を実行し、1 列目に文字列、2 列目に数値を指定した 1 つ以上の行を返します。数値のいずれかが閾値を超えた場合、アラートが発生します。ALL
Custom SQL Alert
– Single Boolean Return
ユーザー定義の SQL 文を実行し、TRUE または FALSE の単一の文字列値を返します (大文字と小文字は区別されません)。SQL文がTRUEを返した場合、警告が発生します。ALL
Custom SQL Alert
– Single Alert Status Return
ユーザー定義のSQLステートメントを実行し、アラートステータスを指定する単一の文字列値を返します。有効な値は、NORMAL、INFO、LOW、MEDIUM、およびHIGHです(大文字と小文字は区別されません)。ALL
Custom Procedure Alert
– Single Numeric Return
単一の数値を返すユーザー定義のストアドプロシージャを実行します。値が閾値を超えるとアラートが発生します。ALL
Custom Procedure Alert
– Single Boolean Return
TRUEまたはFALSEの単一の文字列値(大文字と小文字は区別されません)を返すユーザー定義のストアドプロシージャを実行します。ストアドプロシージャがTRUEを返した場合、アラートが発生します。ALL
Custom Procedure Alert
– Single Alert Status Return
ユーザー定義のストアドプロシージャを実行し、アラートステータスを指定する単一の文字列値を返します。有効な値は、NORMAL、INFO、LOW、MEDIUM、およびHIGHです(大文字と小文字は区別されません)。ALL
DPA Customアラートタイプ一覧

 

以上がアラートタイプ一覧の紹介でした。