目次


簡単! DB2の運用

第3回 DB2の安定稼働(ヘルス・モニター)

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: 簡単! DB2の運用

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:簡単! DB2の運用

このシリーズの続きに乞うご期待。

はじめに

ユーザーが使用するシステムを安定稼動させるためには、データベースを正常な状態に保つことが重要です。そのため、データベースの運用担当者は、システムで発生したハードウェア障害や、パフォーマンスの低下を引き起こしかねない問題を事前に検出する必要があります。この記事では、運用担当者の監視運用をサポートするツールとして、ヘルス・モニターをご紹介させていただきます。

ヘルス・モニターとは

ヘルス・モニターは、インスタンス、データベースの稼動状態を監視するモニタリング・ツールです。この機能は、V8より提供されている機能です。ヘルス・モニターを使用することにより、データベース・システムの状態を、定期的にモニタリングして、異常の検知を行なったり、定義されたしきい値を超えた時にアラートを上げることもできます。監視項目の例としては、インスタンスやデータベースが操作可能状態であるか、表スペースやログの使用率が上限まで達していないか、デッドロックやロック・エスカレーションの発生率が上がっていないか等があります。

さらに、異常検知のアラートが上がった際のアクションを事前に設定しておくことで、運用担当者へのE-mailによる通知、スクリプトの実行を行なうことができます。アクションを設定することで、問題発生時の初期対応を早める、もしくは発生自体を未然に防止することが実現されます。

ヘルス・インディケーター

ヘルス・インディケーターとは、ヘルス・モニターで監視される項目です。インディケーターには、状態ベース、しきい値ベースのタイプがあります。

  • 状態ベース

    データベース・オブジェクトの操作可否、ユーティリティーの実行が必要であるかなど、特定の状態を監視するインディケーターです。通常でない状態が発生すると、アテンション・アラートが発行されます。

  • しきい値ベース

    表スペースやログの使用率、デッドロックやロック・エスカレーションの発生率など、数値データを基準に監視を行なうインディケーターです。設定されたしきい値を超えると、その状態に応じて、警告(即時に対応する必要はないが注意が必要な状態)、アラーム(即時に対応するべき状態)のアラートが発行されます。

V9.5で提供されるヘルス・インディケーターを、表1にいくつかご紹介させていただきます。

表1. 提供されるヘルス・インディケーター
カテゴリーヘルス・インディケーターIDタイプ説明
表スペース・ストレージts.ts_auto_resize_status状態ベース表スペース自動サイズ変更状態
ts.ts_util_auto_resize上限しきい値ベース自動サイズ変更表スペース使用率
ts.ts_util上限しきい値ベース表スペース使用率
tsc.tscount_util上限しきい値ベース表スペース・コンテナー使用率
ts.ts_op_status状態ベース表スペース操作可能状態
ソートdb2.sort_privmem_util上限しきい値ベース専用ソート・メモリー使用率
db2.sort_shrmem_util上限しきい値ベース共用ソート・メモリー使用率
db2.spilled_sorts上限しきい値ベースオーバーフローしたソートのパーセンテージ
データベース・マネージャーdb2.db2_op_status状態ベースインスタンス操作可能状態
データベースdb.db_op_status状態ベースデータベース操作可能状態
db.tb_reorg_req状態ベース再編成の必要性
db.tb_runstats_reqdb.tb_runstats_req統計収集の必要性
db.db_backup_req状態ベースデータベース・バックアップの必要性
ロギングdb.log_util上限しきい値ベースログ使用率
db.log_fs_util上限しきい値ベース ログ・ファイル・システム使用率
アプリケーション並行性db.deadlock_rate上限しきい値ベースデッドロック率
db.locklist_util上限しきい値ベースロック・リスト使用率
db.lock_escal_rate上限しきい値ベースロック・エスカレーション率
db.apps_waiting_locks上限しきい値ベースロック待機中のアプリケーションのパーセンテージ

ヘルス・インディケーターの確認は、GET ALERT CFGコマンドで行えます。例えば、データベースのヘルス・インディケーターを確認するには、以下のように実行します。

(例)db2 get alert cfg for db on <db-alias>

(状態ベースのヘルス・インディケーター出力例)
 標識名                             = db.db_op_status
      デフォルト                     = はい     
      タイプ                         = 状態ベース
      機密性                         = 0
      公式                           = db.db_status;
      アクション                     = Disabled
      しきい値または状態のチェック   = Enabled
(しきい値ベースのヘルス・インディケーター出力例)
(しきい値ベースのヘルス・インディケーター出力例)
(しきい値ベースのヘルス・インディケーター出力例)

ヘルス・インディケーターの状態が、正常から、アテンション、警告、アラームに状態が変わった場合には、アクションが実行されます。なお、アクションは状態が変わった時に一度実行されると、再度しきい値を超えても実行されません。

ヘルス・モニターの設定方法

ヘルス・モニターの設定は、CLP、API、GUIから行うことができます。

  • CLP - GET/UPDATE ALERT CFG、スナップショット表関数など
  • API - db2GetAlertCfg、db2GetHealthNotificationListなど
  • GUI - ヘルス・センター

今回は、ヘルス・センターから、ヘルス・インディケーターの構成ランチパッドを使用して、設定してみましょう。

  1. ヘルス・インディケーターの設定を開始するには、ヘルス・センター上のオブジェクト・ビュー(画面左側)にあるデータベース名の上で右クリックを実行して、ポップアップ・メニューから、「ヘルス・インディケーター設定の構成」を選択します。構成ランチパッドが起動した後に、どのレベルのインディケーターを設定するか選択します。ここでは、「オブジェクト設定」を選択します。
    図1 ヘルス・インディケーターの構成ランチパッド
    図1 ヘルス・インディケーターの構成ランチパッド
    図1 ヘルス・インディケーターの構成ランチパッド
  2. 次に、ヘルス・インディケーターの設定を行なうデータベース・オブジェクトを選択します。オブジェクトのボックスをクリックすると、データベース・オブジェクトの選択を行なうことができます。ここでは、USERSPACE1表スペースを選択します。
    図2 データベース・オブジェクトの選択
    図2 データベース・オブジェクトの選択
    図2 データベース・オブジェクトの選択
  3. データベースのオブジェクトを選択すると、オブジェトに応じたヘルス・インディケーターの一覧が表示されます。インディケーター上で右クリックを実行して、ポップアップ・メニューから、「編集」を選択すると、しきい値やアクションの設定を行なうことができます。
    図3 ヘルス・インディケーターの設定
    図3 ヘルス・インディケーターの設定
    図3 ヘルス・インディケーターの設定

アラート発生時に管理者へのE-Mailを送信するには、「ヘルス・アラートの通知」で設定を行い、使用するSMTPサーバーや連絡先となる宛先を行なってください。

図4 アラート通知先の設定
図4 アラート通知先の設定
図4 アラート通知先の設定

状況確認、アラート発生時の対応

各ヘルス・インディケーターの状態は、ヘルス・センターの画面から確認できます。アラートが発生した場合には、図5にあるように、正常でないインディケーターが表示されます(図5)。アラートが発生した場合には、推奨アドバイザーを使用して、発生した状況を解決するためのアクションを、インディケーターごとに確認することもできます。入力指示に従うだけで、必要なアクションが表示されます(図6)。

図5 ヘルス・インディケーターの状態確認、推奨アドバイザーの起動
図5 ヘルス・インディケーターの状態確認、推奨アドバイザーの起動
図5 ヘルス・インディケーターの状態確認、推奨アドバイザーの起動
図6 推奨アドバイザー
図6 推奨アドバイザー
図6 推奨アドバイザー

おわりに

この記事では、システムの安定稼動を支えるために、データベースの健全性をモニタリングする機能として、ヘルス・モニターをご紹介させていただきました。今回は、設定が行いやすいGUIによるセットアップを取り上げましたが、この他にもコマンドによる設定も可能です。こちらの詳細については、参考文献「DB2 V9.5 運用管理ガイド:データベース・モニタリング」に情報がありますので、ぜひご参照ください。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=365477
ArticleTitle=簡単! DB2の運用: 第3回 DB2の安定稼働(ヘルス・モニター)
publish-date=01162009