以下のSQL INSERT文をTeradataシステムTEST1に対するアラート アクションとして実行するとします。
この例はアラート発行対象時間帯にのみ適用されます。
INSERT INTO admin.sessionHist (TheTime, UserName, SessionCount) VALUES (CURRENT_TIMESTAMP, ${userName}, ${sessionsForUser})
TEST1システムの任意のユーザーのセッション数が10を超えたら、このinsert文を実行します。
上のinsertステートメントでアラートのプロパティの${userName}と${sessionsForUser}を確認します。SQLクエリー配信タイプを使用して、SQLステートメントを実行するようにアラート アクションを構成すると、テキストに実行時の値に置き換えられるアラート プロパティを含めることができます。Teradata Viewpointのアラート タイプで使用できるアラート プロパティの説明については、TeradataDatabaseのアラートの測定基準とプロパティを参照してください。
この例では、ターゲット テーブル (admin.sessionHist) がTEST1にすでに作成されているものとします。例えば、次のようなものです。
CREATE TABLE admin.sessionHist (TheTime TIMESTAMP NOT NULL, UserName VARCHAR(256) NOT NULL, SessionCount INTEGER NOT NULL)
SQL文をTeradataシステムに対するアラート アクションとして構成するには、次の手順を実行します。
- アラート セットアップ ポートレットで、TEST1のログイン信頼証明を構成します。
- 設定オプションリストからDelivery Settings(発行設定)を選択します。
- 認証リストからTERADATAログインを選択します。
- TERADATAログインの横にあるを選択します。
- TDPIDボックスに、TEST1システムのTDPIDを入力します。
- ログインを有効化するチェック ボックスを選択します。
- ログイン名とパスワードを入力します。
- セッション文字セット リストからUTF8を選択します。
- (オプション)TERADATAログオンのテスト リストから、JDBCを選択します。
- (オプション)ログイン設定が正しいかどうかを確認するには、Test(テスト)を選択します。
- Apply(適用)をクリックします。
- アラート セットアップ ポートレットで、TEST1に対するSQLクエリーを構成します。
- 設定オプションリストからDelivery Settings(発行設定)を選択します。
- 発行タイプリストからSQLクエリーを選択します。
- SQLクエリーの横にあるを選択します。
- NAMEにinsertSessionHistoryと入力します。
- 有効チェック ボックスを選択します。
- SQLに次の文を入力します。
INSERT INTO admin.sessionHist (TheTime, UserName, SessionCount) VALUES (CURRENT_TIMESTAMP, ${userName}, ${sessionsForUser})
- Apply(適用)をクリックします。
- Alert Setup(アラート セットアップ ポートレットに、アクション セットを作成します。
- 設定オプションリストからアラート対象指定日時を選択します。
- 対象指定日時オプションリストからアクション セットを選択します。
- アクション セットの横にあるを選択します。
- アクション セット名にrunSessionCountと入力します。
- 時間帯リストで、アラート発行対象時間帯チェック ボックスをオンにし、夜間チェック ボックスと週末チェック ボックスをオフにします。
- アクションで、アラート ビューアに含めるチェック ボックスがオンになっていることを確認します。このオプションはデフォルトでオンになっているので、アラート ビューア ポートレットで設定されているこのアクションに対する警告を表示できます。
- アクション リストで、SQLチェック ボックスをオンにします。
- クエリーリストからinsertSessionHistoryを選択します。
- TDPIDリストからTEST1を選択します。
- Apply(適用)をクリックします。
- Teradata Viewpointモニタリング用の監視対象システム ポートレットで、TEST1を構成します。
- システムの隣でを選択して、Teradataシステムの追加を選択します。
- システムのニックネームにTEST1と入力します。
- システムを有効化チェック ボックスをオンにして、モニタリング用のTEST1システムをアクティブ化します。
- TDPIDボックスに、TEST1システムのTDPIDを入力します。
- ログイン名とパスワードを入力します。
- Apply(適用)をクリックします。
- 監視対象システム ポートレットで、データ コレクタを構成します。
- システムリストからTEST1を選択します。
- セットアップリストからData Collectors(データ コレクタ)を選択します。
- データ コレクタリストからセッションを選択します。
- セッション コレクタを有効化チェックボックスをオンにし、デフォルトの設定をそのまま使用します。
- Apply(適用)をクリックします。
- 監視対象システム ポートレットで、アラート ルールを定義します。
- システムリストからTEST1を選択します。
- セットアップリストからアラートを選択します。
- アラート タイプリストからセッションを選択します。
- アラートの横のをクリックします。
- アラート名にuserSessionCountAlertと入力します。
- 有効に設定されたアラートチェック ボックスを選択します。
- 重大度リストから高を選択します。
- 一致リストからすべてを選択します。
- リストから、ユーザーごとのセッション数とよりも大きいを選択します。
- リスト下の空のボックスに、しきい値の数10を入力します。
- アクション リストからrunSessionCountを選択します。
- Apply(適用)をクリックします。
- TEST1に1人で10個より多くのセッションを開いているユーザーがいない場合は、Teradataユーザーで11個のセッションを開き、アラートが発生する条件を作ります。例えば、次のBTEQを使用します。
.set sessions 11 .logon TEST1/myUser,myPassword
- TEST1システムで、sessionHistテーブルを確認します。BTEQまたはSQL スクラッチパッドなどのクエリー ツールを使用して、テーブルをクエリーします。例:
select * from admin.sessionHist order by TheTime
TEST1でのTeradataセッション モニタリング間隔によっては、アラートが起動されるまでに数分待つことが必要になる場合があります。 - アラート ビューア ポートレットで、起動されたアクションを確認します。