ヘッダーをスキップ
Oracle® GoldenGate Oracle GoldenGate Monitorの管理
12c (12.1.3)
E56362-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 アラートの構成および使用

この章では、特定の状態が存在する場合に通知するアラートの作成方法について説明します。オプションで、これらのアラートを電子メール、コマンドライン・インタフェースまたはSimple Network Management Protocol (SNMP)で配信できます。

この章の内容は次のとおりです。

4.1 概要

Oracle GoldenGate Monitorアラートは、指定した状態がOracle GoldenGateコンポーネントに存在する場合に通知します。たとえば、プロセスが停止した場合、または指定したラグのしきい値に達した場合に通知されるようにリクエストできます。メッセージに含まれる情報はユーザーが選択します。アラートを定義するには、ユーザー・インタフェースで「Alert Definitions」に移動し、オンライン・ヘルプの指示に従います。

Oracle GoldenGate Monitorによって生成されるアラート・タイプは、各ユーザーが指定します。あるユーザー用のアラートを有効にするには、Oracle GoldenGate Monitorのユーザー・インタフェースの「User Profile」に移動し、オンライン・ヘルプの指示に従います。

4.2 電子メール・アラートの構成

Oracle GoldenGate Monitorアラートが電子メール・アカウントに配信されるように構成できます。

この機能を使用するには、次の手順を実行する必要があります。

  1. インストール中に「SMTP (Simple Mail Transfer Protocol) alerts」ボックスを選択するか、次の項で説明するように、monitor.propertiesファイル内の電子メール・アラート・プロパティを後で設定して、電子メール・アラートを有効にします。

  2. Oracle GoldenGate Monitorのユーザー・インタフェースの「User Management」タブに、ユーザーの電子メール・アドレスを入力します。

  3. Oracle GoldenGate Monitorのユーザー・インタフェースの「User Profile」に移動し、適切なセキュリティ・レベルの通知タイプとして電子メールを選択します。

4.2.1 電子メール・アラートのプロパティの設定

インストール中に電子メール・アラートを設定しなかった場合は、monitor.propertiesファイルで次のプロパティを設定して電子メール・アラートを設定できます。

  • 次のプロパティをtrueに設定して、電子メール・アラートを有効にします。

    monitor.smtp.alerts.enabled=true
    
  • 電子メール・サーバーから生成されるOracle GoldenGate Monitor通信用の送信者名を指定します。

    monitor.smtp.from=sender_name
    
  • 電子メール・サーバーのホスト名を指定します。

    monitor.smtp.host=email_host_name
    
  • 電子メール・サーバーによって使用されるポートを指定します。

    monitor.smtp.port=port_number
    
  • 電子メール・サーバーがセキュア・モードであるかどうかを指定します。

    monitor.smtp.secure={true | false}
    
  • 電子メール・サーバーがセキュア・モードである場合、ログインが許可されているユーザーを指定します。

    monitor.smtp.user=user_name
    

4.2.2 セキュア・モード用のパスワードの設定

電子メール・サーバーがセキュア・モードで実行されている場合、パスワードを変更するには、WebLogic Scripting Tool (WLST)にログインし、次の例のようにcreateCred()コマンドを使用する必要があります。

wls:/test_domain/serverConfig>createCred(map="OGGMONITOR",key="WEB.SMTP.EMAIL.PASSWORD",user="<email user id>",password="<email password>",desc="SMTP EMAIL Password")

WLSTの使用の詳細は、「WebLogic Scripting Toolの理解」を参照してください。

4.3 CLIアラートの構成

Oracle GoldenGate MonitorのCommand-Line Integration (CLI)を使用すると、アラートがトリガーされたときに、Oracle GoldenGate Monitorサーバー上でスクリプトまたはオブジェクト・ファイルを実行できます。

この機能を使用するには、インストール中に「CLI alerts」ボックスを選択するか、後でmonitor.propertiesファイルのmonitor.cli.alerts.enabledプロパティをtrueに設定して、CLIアラートを有効にする必要があります。

4.3.1 コマンドライン・ハンドラの設定

Oracle GoldenGate Monitorのインストールでは、CLIインタフェースの構成に役立つファイルが提供されます。これらは、インストール場所のcfgサブディレクトリに格納されます。

  • CommandLineHandlers.xml

    CLIインタフェースは、CommandLineHandlers.xmlファイルで構成されます。

    インストールには、UNIX用とWindows用の2つのサンプルCommandLineHandlers.xmlファイルが含まれています。それぞれに、CLIインタフェース構成用のサンプル構文が含まれています。適切なバージョンをコピーし、引数を追加および変更して、独自のCLIインタフェースを構成するCommandLineHandlers.xmlを作成します。


    注意:

    CommandLineHandlers.xmlファイルは、システムをインストールしたOracleGoldenGate Monitorサーバーのホスト管理者が、Oracle GoldenGate Monitorのユーザー・インタフェース外で設定する必要があります。


  • CommandLineHandlers.xsd

    このファイルには、CommandLineHandlers.xmlファイルの定義が含まれます。XSDからサンプルのXMLを作成する商用またはオープン・ソースのXML生成ツールを使用して、CommandLineHandlers.xmlを生成する際に使用できます。

変更を有効にするには、CommandLineHandlers.xmlの構成後、Oracle GoldenGate Monitorサーバーを一度停止してから再び開始します。この方法は、「Oracle GoldenGate Monitorサーバーの開始および停止」を参照してください。

4.3.1.1 コマンドライン・ハンドラの引数

次のUNIX構成例は、XML構成ファイルの構造および引数を示すものです。ヘッダー値は変更できません。これらの値で、XML.のバージョンおよびコーディングが指定されます。

引数は、例に示すように等号(=)の後に値を引用符で囲んで入力します。この例では、ネームスペースおよびスキーマの情報は省略記号(. . .)で示され、省略されています。

<?xml version="1.0" encoding="UTF-8"?>
<CommandLineHandlers . . .>
<CommandLineHandler dateTimeFormat="MMddyyyyHHmmssSSS"
  executeIn="/home/user" name="CMDLINE">
    <externalCommand>touch</externalCommand>
    <arguments>
      <argument argText="filename" name="hostname"
      presentIfEmpty="true" quoted="false"/>
  </arguments>
  <alertMappings>
    <alertMapping alertField="host" name="hostname"/>
  </alertMappings>
  </CommandLineHandler>
</CommandLineHandlers>s

CommandLineHandlerは、CLIアラート・ハンドラの親タグです。これは、CommandLineHandlersタグ内で指定されます。

<CommandLineHandler dateTimeFormat="MMddyyyyHHmmssSSS" 
executeIn="/home/user" name="CMDLINE">

CommandLineHandlerタグには、次の引数が含まれます。

  • dateTimeFormat

    これは、Javaドキュメントで説明されている標準のJavaフォーマットの引数です。

  • executeIn

    executeIn引数によって、外部スクリプトまたはオブジェクト・ファイルが実行される前に、指定されたディレクトリへの移動処理がトリガーされます。デフォルトでは、スクリプトまたはコマンドが起動されたディレクトリである、仮想マシン(VM)の現在の実行ディレクトリが使用されます。

    RunTimeExceptionは、指定されたディレクトリが存在しない場合、またはexecuteIn属性が空であるか存在しない場合に、アラートのトリガー時に生成されます。

  • 名前

    これは、常にCMDLINEです。

次の例には、CommandLineHandlerタグ内でネスト可能なタグが示されています。

<externalCommand>touch</externalCommand>
<arguments>
    <argument argText="filename" name="hostname"
    presentIfEmpty="true" quoted="false"/>
</arguments>
<alertMappings>
    <alertMapping alertField="host" name="hostname"/>
</alertMappings>
  • externalCommand

    externalCommandの値では、スクリプトまたはオブジェクト・ファイルへの絶対パスを指定します。システムのPATH環境変数が、実行されるファイルのディレクトリを指している場合は、スクリプトまたはオブジェクト・ファイル名をパスなしで指定できます。

  • arguments

    argumentsタグでは、externalCommandタグで指定されるディレクトリ値に追加される1つ以上の値を指定します。

    各引数に次の属性を指定できます。

    argText - externalCommandタグを使用して送信されるリテラル・テキスト引数を指定します。

    name - 名前を指定するか、次に説明するように、alertMappingsを使用して検索した名前を使用できます。

    presentIfEmpty - alertMappingsタグと連携し、アラート定義に関連付けられている選択された情報をexternalCommandタグに追加します。詳細は、次の「alertMappings」を参照してください。

    quoted - 引用符を追加する必要があるかどうかを指定します。

  • alertMappings

    alertMappingsタグは、アラート定義情報から抽出された値をexternalCommandタグで指定されている値に追加します。

    <alertMappings>
        <alertMapping alertField="host" name="hostname"/>
    </alertMappings>
    

    alertFieldには、アラート定義に関連付けられている次のいずれかの値が指定されます。

    alertName - アラート定義の名前。

    host - 監視ポイントでアラートをトリガーするOracle GoldenGateオブジェクトのホスト。

    alertObjectName - EXACCTという名前のExtractプロセスなど、監視ポイントでアラートをトリガーするオブジェクトに関連付けられている名前。

    alertTime - アラートがトリガーされた時間。

    alertSeverity - アラートに定義されたセキュリティ・レベル(WarningまたはErrorのいずれか)。

    alertMessage - アラートによって生成されたメッセージ。これは、アラートに定義された状態、監視ポイントの値およびリテラル・テキストの組合せです。

    changedValue - アラートをトリガーした新しい監視ポイント値。たとえば、ラグが5秒を超える場合にトリガーされるアラートを作成します。ラグは4秒で、その後7秒になります。これによりアラートがトリガーされ、changedValueは7になります。

    次の例では、argumentおよびalertMappingタグのname属性は、alertField属性から値を抽出するために一致しています。argument name "hostname"は、alertMapping name "hostname"と一致し、"host"であるalertFieldの値が検索されます。これにより、アラートをトリガーしたOracle GoldenGateオブジェクトのホストを、externalCommandタグで指定されている値に追加するようシステムが設定されます。

    <arguments>
        <argument argText="text" name="hostname" presentIfEmpty="true"   
        quoted="false"/>
    </arguments>
    <alertMappings>
        <alertMapping alertField="host" name="hostname"/>
    </alertMappings>
    

    presentIfEmpty属性では、alertFieldが有効でない場合、またはname属性が一致しない場合の処理がalertMappingsタグを使用して決定されます。

    • presentIfEmpty="true"

      argText属性の値は、外部コマンドで使用されます。

    • presentIfEmpty="false"

      引数全体が省略されます。

4.3.2 サンプルのコマンドライン・ハンドラ

これらの例では、Oracle GoldenGate Monitorサーバー上でバッチ・スクリプトが実行されています。

4.3.2.1 Windowsサーバー上での実行

次の例では、Oracle GoldenGate MonitorサーバーをホストしているWindowsサーバー上で、バッチ・スクリプトsample_cli.batが実行されています。アラートをトリガーしたOracle GoldenGateインスタンスのサーバー("host")が、externalCommandで指定されているバッチ・スクリプトの名前に追加されています。

<?xml version="1.0" encoding="UTF-8"?>
<CommandLineHandlers
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.yourlocation/monitor/commandlinehandlers/CommandLineHandlers.xsd">
  <CommandLineHandler dateTimeFormat="MMddyyyyHHmmssSSS"
  executeIn="C:\" name="CMDLINE">
    <externalCommand>c:\sample_cli.bat</externalCommand>
    <arguments>
      <argument argText="" name="hostname" presentIfEmpty="true" quoted="false"/>
    </arguments>
    <alertMappings>
      <alertMapping alertField="host" name="hostname"/>
    </alertMappings>
  </CommandLineHandler>
</CommandLineHandlers>

4.3.2.2 UNIXホスト上での実行

次の例では、Oracle GoldenGate MonitorサーバーをホストしているUNIXサーバー上で、sample_cli.shスクリプトが実行されています。アラートをトリガーしたOracle GoldenGateインスタンスのサーバー("host")が、externalCommandで指定されているバッチ・スクリプトの名前に追加されています。

<?xml version="1.0" encoding="UTF-8"?>
<CommandLineHandlers
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.yourlocation/monitor/commandlinehandlers/CommandLineHandlers.xsd">
  <CommandLineHandler dateTimeFormat="MMddyyyyHHmmssSSS"    executeIn="/home/user" name="CMDLINE">
    <externalCommand>bash</externalCommand>
    <arguments>
      <argument argText="/home/user/sample_cli.sh" name="hostname"  presentIfEmpty="true" quoted="true"/>
    </arguments>
    <alertMappings>
     <alertMapping alertField="host" name="hostname"/>
    </alertMappings>
  </CommandLineHandler>
</CommandLineHandlers>

4.4 SNMPアラートの構成

Oracle GoldenGate Monitor Simple Network Management Protocol (SNMP)インタフェースでは、アラートはデータグラムの形式で送信されます。これらは、指定されたポート上でリスニングしているSNMPトラップの受信者によって取得されます。

この機能を使用するには、インストール中にSNMPアラートを有効にするか、後でmonitor.propertiesファイルのmonitor.snmp.alerts.enabledプロパティをtrueに設定する必要があります。

4.4.1 MIBファイルのインポート

GoldenGate-Monitor-mib.mibファイルは、Oracle GoldenGate Monitorのインストール中にcfgサブディレクトリに格納されます。これには、ターゲットによってアラートの解釈に使用される管理情報ベース(MIB)定義が含まれます。トラップで受信される情報を解釈する必要がある場合、このファイルをターゲット・ツールにインポートします。

4.4.2 SNMPアラートの構成

SNMPアラートは、Oracle GoldenGateのインストール中にcfgサブディレクトリ内に格納されるSNMPJMXMapping.xmlファイルで構成されます。

SNMPJMXMapping.xmlファイルへの変更はすべて、Oracle GoldenGate Monitorサーバー・ソフトウェアをインストールしたホスト管理者が、Oracle GoldenGate Monitorのユーザー・インタフェース外で行う必要があります。

SNMPJMXMapping.xmlファイル内では、SNMPバージョンを設定するセクションおよびターゲットを定義するセクションのみを変更する必要があります。

.
.
.
<MIBTree>
.
.
.
 <notifications type="NOTIFICATIONS">
  <notification version="2" enabled="true">
   <targets>
    <target timeout="200" retry="0">localhost/162
    </target>
   </targets>
.
.
.
  </notification>
  <notification version="1" enabled="false">
   <targets>
    <target>localhost/162
    </target>
   </targets>
.
.
.
  </notification>
 </notifications>
</MIBTree>

4.4.2.1 SNMPバージョンの設定

SNMPバージョンは、入力内容に基づいてインストール中に初期設定されます。後で、notification version 1 enabled値およびnotification version 2 enabled値をリセットして変更できます。1つをtrueに、もう1つをfalseに設定します。

有効なバージョンに定義されたターゲットが使用されます。無効なバージョンのターゲットは無視されます。

4.4.2.2 SNMPターゲットの設定

<target> </target>タグ内に、ホスト名とポート番号をスラッシュで区切って入力し、ターゲットを定義します。

4.5 アラートの有効化および無効化

Oracle GoldenGate Monitor管理者は、任意のカテゴリのアラートを無効化し、これらのアラートがリモート・クライアントに配信されないようにできます。たとえば、メンテナンス・ウィンドウ中にプロセスが停止されるときなど、計画停止中はアラートを無効にする場合があります。無効化されたアラートはリモート・クライアントには送信されませんが、Oracle GoldenGate Monitorのユーザー・インタフェースには記録されます。

アラートを無効にする手順:

  1. Oracle GoldenGate Monitorサーバーのmonitor.propertiesファイルの適切なプロパティをfalseに設定します。

    • SMTP配信を無効化するには、monitor.smtp.alerts.enabled=falseを設定します。

    • CLI配信を無効化するには、monitor.cli.alerts.enabled=falseを設定します。

    • SNMP配信を無効化するには、monitor.snmp.alerts.enabaled=falseを設定します。

  2. Oracle GoldenGate Monitorサーバーを一度停止してから再び開始します。この方法は、「Oracle GoldenGate Monitorサーバーの開始および停止」を参照してください。

  3. アラートを再び有効化するには、プロパティをtrueに戻し、Oracle GoldenGate Monitorサーバーを一度停止してから再び開始します。