Db2 Genius Hubのモニタリング機能を使ってみよう
当記事では、Db2 AIエディションで利用できるようになったDb2 Genius Hubの主たる機能のうち、
(1)統合Db2管理
(2)エージェント型AIアシスタント
(3)ログ分析
(4)異常検出
(5)深層モニタリングと迅速なトラブルシューティング
(6)スマートなクエリ最適化とパフォーマンスチューニング
(7)高度な自動化とスクリプト
"(1)統合Db2管理" でできることとして、モニタリング機能で監視できる項目(メトリクス)をご紹介します。
過去記事のご紹介
さわってみよう Db2 AIエディション#1から#5は何もAIアシスタントでできることをご紹介しています。
#1では、Db2入門者、初心者には作成が難しいと思われる複雑なSQLをAIアシスタントを使って作成しています。加えて、Db2 Genius Hub概要、無料評価版のダウンロードサイトやマニュアルURLもご紹介しています。#1からお読みいただくことをお勧めいたします。
さわってみよう Db2 AI エディション #1 〜エージェント型AIアシスタント編 Part#1〜
https://qiita.com/ibm_tk/items/e763bbea3fcf5e8a27a9
#2では、AIアシスタントでデータベースの稼働状況のサマリーを表示しています。
さわってみよう Db2 AI エディション #2 〜エージェント型AIアシスタント編 Part#2〜
https://qiita.com/ibm_tk/items/e11986879f6eca23c249
#3では、AIアシスタントでデータベースの応答時間の履歴を表示しています。
さわってみよう Db2 AI エディション #3 〜エージェント型AIアシスタント編 Part#3〜
https://qiita.com/ibm_tk/items/24647bc2db6a3a266d7c
#4では、AIアシスタントでデータベースのバックアップ履歴とプロセッサー利用状況の履歴を表示しています。
さわってみよう Db2 AI エディション #4 〜エージェント型AIアシスタント編 Part#4〜
https://qiita.com/ibm_tk/items/8d11c4e9fd39740d923d
#5では、AIアシスタントでクエリのスループットを表示しています。
さわってみよう Db2 AI エディション #5 〜エージェント型AIアシスタント編 Part#5〜
https://qiita.com/ibm_tk/items/e2583b00f624e351ce02
Genius Hubのモニタリング・コンソールとは?
Genius Hubのモニタリング・コンソールは、リアルタイムのデータベース活動およびパフォーマンス指標を観測し、分析します。
モニタリングコンソールは、データベースの健全性、パフォーマンス、リソース使用状況を追跡するための集中インターフェースを提供します。
リアルタイムのメトリクスを確認し、監視しきい値を設定し、パフォーマンスのボトルネックを調査できます。
モニタリング・コンソールにアクセスするにはGenius Hub画面左上のモニター・アイコン(折れ線グラフ・マーク)をクリックします。

クリックすると、次のような画面が表示されます。これはサンプルなのでお使いのDb2環境によって異なります。
ここでは割愛しますが、事前にモニター対象となるデータベースをあらかじめプルダウンメニューから選択しておきます。

監視項目(メトリクス)の追加と削除
監視項目(メトリクス)は次のようなものがセット可能となっています(メトリクスはこの記事執筆時のものです)。編集アイコン(鉛筆マーク)をクリックすると、ユーザーによる監視項目の追加と削除が可能です。
編集アイコン

監視項目の追加と削除ができる画面#1

監視項目の追加と削除ができる画面#2

それでは11の監視項目カテゴリーごとにどんな項目を監視できるのか見てみましょう。
(1)データベース
(2)HADR情報
(3)ステートメント
(4)ロッキング
(5)アプリケーション
(6)スループット
(7)メモリー
(8)I/O
(9)ストレージ
(10)Db2 pureScale情報
(11)ワークロード管理
(上記11カテゴリーはこの記事執筆時のものです)
(1)データベース
"データベース"のカテゴリーで監視できる項目とその意味は次のとおりです。
データベースに費やした時間
データベースがワークロードに費やす総時間(時間、その他の処理、ワークロードなど)
データベースの使用状況
使用されているデータベースリソースに関する情報、システムCPU、データサーバーCPU、トランザクションレート、アクティブ接続、論理読み取り、平均アクティビティ時間、障害アクティビティ率などが含まれます。
データベース・パーティション
大規模データベースを1つまたは複数のサーバーに物理的に配置される構成をとった場合、データベース・パーティションに関する情報。
(2)HADR情報
"HADR情報(Information)"のカテゴリーで監視できる項目とその意味は次のとおりです。
HADR情報
高可用性災害時リカバリー(HADR)情報
プライマリ・データベースから1つ以上のスタンバイ・データベースへ、リアルタイムにデータ複製できているかの情報を提供します。プライマリ・データベースが障害を起こした場合でも、データベースサーバーが引き続き利用可能できるどうかの判断材料となる情報となります。
Db2マニュアルのHADRに関する記述はこちら
https://www.ibm.com/docs/en/db2/12.1.x?topic=server-high-availability-disaster-recovery-hadr
(3)ステートメント
"ステートメント(監視項目の編集画面では"記述"と表記されています)"のカテゴリーで監視できる項目とその意味は次のとおりです。
実行中の処理
現在実行中または最近実行されたSQLステートメントの一覧をご覧いただけます。この指標を使用して、コストがかかるまたは長期にわたるステートメントを特定できます。ステートメントを停止する必要がある場合、個々のステートメントをキャンセルしたり、ユーザーやアプリケーションを切断したりできます。
個別の処理
SQLステートメントを実行している詳細をシステムアクティビティとして表示します。
パッケージ・キャッシュ
選択したデータベースで以前に実行されたステートメントに関する情報をご覧いただけます。たとえば、実行回数とそれらの実行に使用されたCPUの総量を確認できます。
これらの指標を使用して、システムリソースを不均衡に使用しているステートメントを特定できます。
ストアド・プロシージャー
IBM Db2 Genius Hubでサービスが有効化されてから開始されたプロシージャー、外部プロシージャー、コンパイル済み関数、外部関数、コンパイル済みトリガー、および匿名ブロックの集計実行メトリクスを表示します。
長時間実行されているクエリ
実行に長時間かかっているSQLステートメントに関する情報。このタイプのSQLは、しばしば複雑なデータ処理が行われ、パフォーマンスの問題に原因になることがあります。
(4)ロッキング
"ロッキング(Locking)"のカテゴリーで監視できる項目とその意味は次のとおりです。
接続がブロックされ待機中かどうかの情報
あるデータベース接続が他の接続にアクセス待ちのリソースを保持しており、遅延やパフォーマンスのボトルネックを引き起こす可能性がある状況にあるかないかの情報。
接続統計
実行中のアプリケーションのロック待ち時間、保持されているロック数、ロックモード、および待機接続数を表示します。
待機接続を持つロックされたオブジェクト
実行中のアプリケーションに対して、ロックされたオブジェクトと待機中の接続データを表示します。
ロックされたオブジェクト
実行中のアプリケーションに影響を与えているロックされたオブジェクトに関するデータを表示します。
ロッキング・イベントモニター
タイムアウト、デッドロック、ロック待ちなどのロックイベントに関するデータを収集します。この情報は、ロック問題の特定と解決に役立ちます。
(5)アプリケーション
"アプリケーション"のカテゴリーで監視できる項目とその意味は次のとおりです。
主要なシステムリソース消費
システムリソースを主に消費しているアプリケーションは何かに関する情報を表示します。
接続
サービスに対してオープン接続があるさまざまなユーザーやアプリケーションを確認できます。ユーザーまたはアプリケーションは複数の接続を開くことができますが、この情報を使用して、例えば、破壊的な行動の原因を見つけることができます。
ユーティリティ
選択されたデータベース内のデータを保持しているユーティリティに関する情報。例えば、1つ以上のテーブルスペースにわたって大規模な操作を実行しているDb2ユーティリティに関する情報。
ユーティリティ・イベントモニター
Db2ユーティリティの実行に関連するイベントに焦点を当てた情報。ユーティリティの開始と終了、そのタイプ、そして関係するユーザーなどのデータを取得できます。
作業単位(UOW)
UOWのアクティビティ、ロック、および実行中のアプリケーションに影響を与える待ち時間に関するデータを表示します。
(6)スループット
"スループット"のカテゴリーで監視できる項目とその意味は次のとおりです。
接続概要
コンソールに確立されたすべての接続の概要を表示します。
パーティションの概要
選択されたデータベースで使用される各データ・パーティションに関するデータを表示します。
オペレーティングシステムの使用時間
Db2 Big SQL をサポートするオペレーティングシステムのアクティビティに関するパフォーマンスデータを表示します。
パーティション・スキュー(skew)
データベースパーティション間のデータまたはワークロードの分散に不均衡が生じ、パフォーマンスの非効率を引き起こす可能性があるかの情報。
(7)メモリー
"メモリー"のカテゴリーで監視できる項目とその意味は次のとおりです。
インスタンス・メモリー
このパラメータは、データベース・パーティションに割り当て可能な最大メモリー量を表示します。
データベース・メモリー
データベース・メモリーセットのサイズを表示します。データベースのメモリーサイズは、適用されているすべてのインスタンスのメモリー上限にカウントされます。
(8)I/O
"I/O"のカテゴリーで監視できる項目とその意味は次のとおりです。
バッファープール
バッファープールは、データページをキャッシュするためのメインメモリーとして使用され、ディスクI/Oを削減することでパフォーマンスを向上させます。これはテーブルスペースやインデックスのページが保持される一時的な記憶領域であり、ディスクから直接アクセスするよりも高速なデータ取得を可能にします。このパッフォープールに関する情報。
プリフェッチ情報
データベース・アーキテクチャーの重要な部分であるプリフェッチ・データベース・コンポーネントは、ディスクからデータを取得し、アプリケーションが必要とする前にバッファプールへ移行する役割を担っています。I/O の待ち時間を短縮し、並列 I/O 操作を可能にすることで、パフォーマンスを向上させる、プリフェッチに関する情報。
ログ記録のパフォーマンス
Db2のロギング・パフォーマンスを向上させるには、I/Oボトルネックの最小化とログスペースの使用最適化を行う必要があります。この情報で、ログ活動を監視し、潜在的なボトルネックを特定できるようにします。ログ・バッファサイズを拡大する必要があるか、より効率的なI/Oを実現するために、より高速なデバイス上へログ・データセットを移す必要があるか、などの判断材料となるような情報を提供。
(9)ストレージ
"ストレージ"のカテゴリーで監視できる項目とその意味は次のとおりです。
テーブルのパフォーマンス
各テーブルのパフォーマンスデータを表示します。
ストレージ
各テーブルの論理的および物理的サイズ(キロバイト)を表示します。
テーブルスペースのパフォーマンス
大規模なテーブルや高更新環境において、全体的なデータベースパフォーマンスを測定します。
テーブルスペースの使用量
データベース内のテーブルスペース内で現在使用されている割り当てられたストレージ容量の割合。
(10)Db2 pureScale情報
"Db2 pureScale"のカテゴリーで監視できる項目とその意味は次のとおりです。
Db2 pureScaleのステータス
Db2 pureScale 環境の現在の運用状態および健全性(ノードの可用性およびクラスター同期を含む)を表示します。
Db2 pureScale メンバー・パフォーマンス
Db2 pureScale クラスタ内の個々のメンバー(ノード)のリソース使用量とワークロード効率を追跡するための指標を提供します。
Db2 pureScale CFの概要
クラスター・ファイシティー(CF)のステータスと活動の概要で、pureScaleメンバー間のコミュニケーションと同期状態を提供。
Db2マニュアルのpureScaleに関する記述はこちら
https://www.ibm.com/docs/en/db2/12.1.x?topic=editions-introduction-db2-purescale-environment
(11)ワークロード管理
"ワークロード管理"のカテゴリーで監視できる項目とその意味は次のとおりです。
ワークロード管理
データベース内のさまざまなタスクに対して、リソース割り当てを管理および最適化します。効率的なリソース使用を確保し、重要なタスクの優先順位付けを行い、必要に応じて監視と介入を行うことでシステムの安定性を維持します。
WLM ワークロード概要
接続によって送信されたリクエストのすべてのメトリクスの集積を表し、特定されたワークロードオブジェクトにマッピングされたものです。この指標はWorkload Managerに基づいています。
WLMサービスクラス概要
異なる種類のワークロードに対するリソースの優先順位付けと割り当てを表します。サービスクラスは本質的に「バケット」であり、アプリケーション名、ユーザー、クライアントなどの属性に基づいてデータベースの作業を分類します。WLMは、ワークロードのサービスクラスに基づいて、CPUやメモリなどのリソースを自動的に調整する機能のことです。
Db2マニュアルのWLMに関する記述はこちら
https://www.ibm.com/docs/en/db2/12.1.x?topic=administration-db2-workload-management
"さわってみよう Db2 AI エディション #6"のまとめ
当記事ではDb2 Genius Hubが提供するモニタリング機能で監視できる11カテゴリーの各項目についてご紹介しました。
(1)データベース
(2)HADR情報
(3)ステートメント
(4)ロッキング
(5)アプリケーション
(6)スループット
(7)メモリー
(8)I/O
(9)ストレージ
(10)Db2 pureScale情報
(11)ワークロード管理