カナリー クエリーは、特定の間隔で実行され、現在のシステムワークロードを特徴付ける応答時間などのデータを取得するために監視されます。各カナリー クエリーは、実行のたびに一定量の作業を実行するように設定されています。
Teradata Viewpointを使用して、以下を行なうためにカナリー クエリーを送信できます。
- システム需要またはシステムやデータベースのハングの標識として応答時間を測定する。
- さまざまなTASMワークロードとパフォーマンス層の応答時間を測定する。
- 応答時間が低下した場合には、アラート システムを起動し、適切な処置をとる。
- カナリー クエリーの応答時間に基づいてService Level Agreement(SLA)を確立する。
システム カナリー クエリー
システムやデータベース全体の停止をチェックするシステム カナリー クエリーを使用して、応答時間が特定のしきい値に達した場合やシステムが停止した場合に、アラートの送信やシステム レベルの情報の収集などの処置が実行されるように設定します。
また、システム カナリー クエリーは、稼動チェックだけではなく、処理が停止している場合に、システム状態を収集する診断を実行します。
システム カナリー クエリーは、特に中核システムを対象とした問合わせです。これは、短時間実行(1秒)でしかも、通常はWRITEロックを設定されないテーブルへの影響が小さい問合わせでなければなりません。
システム カナリー クエリーは、頻繁に実行するほど効果があります。例えば、3~5分間隔で実行するサイトもあれば、5~10分間隔が適切なサイトもあります。
さらに、システム ノード上で実行されなければなりません。そうすれば、中間層やネットワーク接続などの、その他の要因が排除されることになります。
カナリー クエリーは、内容によってはリソースへの負荷が問題となる場合があります。必要に合わせて、できるだけ短い問合わせを使用してください。
システム カナリー クエリーの例
最も簡単なカナリー モニター クエリーは次のようになります。
SELECT * from DBC.DBCInfoV;
この問合わせが実行されると、Teradata Viewpointによって開始と終了の時刻が記録され、問合わせがモニターされます。問合わせの実行時間が指定されたしきい値よりも長い場合、アラートおよび場合によっては診断スクリプトが自動的に実行されます。
実働カナリー クエリー
実働カナリー クエリーは、次の目的で使用します。
- 応答時間のサンプリングをとって、追跡目的でそれを保管する。
- 高い優先順位で実行される実行時間の短い戦略的問合わせなどの、個々の問合わせグループの推定応答時間をモニターする。
応答時間はシステム需要の指標です。システム需要が高い場合、カナリー クエリーの応答時間も長くなります。
ユーザーにとっては、応答時間における突然の変化は、直ちに業務に影響を及ぼします。そのため、実行時間の短い問合わせを継続的に実行しているユーザーが、最初に性能の低下を認識します。
実働カナリー クエリーはシステム カナリー クエリーよりも用途が広く、また、様々な方法で使用できます。例えば、以下を行なうことができます。
- 実働のユーザー テーブルに対して実行できます。
- ネットワーク クライアントPCや z/OSクライアントなどの、システム アーキテクチャ内の他のエンドポイントから実行して、モニター範囲を拡大することができます。
- 応答全体をモニターします。
- ジョブ混合の個々の領域をモニターします。
- システム カナリー クエリーよりは実行頻度は低く、通常は20~60分ごとに実行されます。
TPA以外のノード位置から実働問合わせを使用する場合、ネットワークや中間層のモニターなどのその他のものも対象となるため、停止した場合は、より詳細な調査を行なって、ボトルネックの場所を判別する必要があります。
テーブルに格納されたカナリー クエリーの応答時間は、傾向の追跡用に要約できます。