Notifications#

アラートがトリガーまたはクリアされた場合、PEMは通知を送信するか、スクリプトを実行できます。次のオプションを使用して通知を送信できます。

  • SMTP

  • Webhook

  • SNMP

  • Nagios

Notification タブを使用して、アラートが生成されたときのPEM動作を指定します。

SMTP#

PEMが電子メール通知を送信する前に、SMTPサーバーを使用して電子メールを配信するようにPEMサーバーを構成する必要があります。

メールグループの作成#

PEMは、注意が必要な条件がないかシステムを監視します。電子メールグループを使用して、サーバーが現在の値がアラート定義で指定されたしきい値から逸脱した場合に通知するユーザーの電子メールアドレスを指定できます。電子メールグループは、指定した期間に複数のユーザーに通知するか、特定のユーザーをターゲットにできます。

Send the notifications タブを使用して、SMTPメール受信者のグループを構成します。 [ Send the notifications ]タブを開くには、PEMクライアントで、[ Management > Manage Alerts ]を選択します。 [ Manage Alerts ]タブが開いたら、[ Quick Links ]ツールバーから[ Email Groups ]を選択します。

[ Send the notifications ]タブには、現在定義されているメールグループのリストが表示されます。既存のグループを変更するには、グループ名を選択し、行の左端にある Edit を選択します。

新しいメールグループを定義するには、 メールグループ テーブルの右上隅にあるプラス記号+を選択します。 [ Email Groups ]ダイアログボックスを使用して、電子メールグループとそのメンバーを定義します。

電子メールグループ定義の各行は、一連の電子メールアドレスを特定の期間に関連付けます。アラートがトリガーされると、サーバーは各行で指定された時間を評価し、アラートがトリガーされた時間に定義が関連付けられているグループメンバーにメッセージを送信します。

  1. Group Name フィールドにメールグループの名前を入力します。

  2. [ Options ]タブを開くには、グループメンバーテーブルでプラス記号+を選択します。

  3. 指定した期間に通知を受信するようにメンバーアドレスを追加します。

    • Reply to addresss フィールドに受信者アドレスのコンマ区切りリストを入力します。

    • コピーを受信するアドレスのコンマ区切りリストを入力します。 CC Addresses フィールドのメール。

    • Bcc Addresses フィールドに他の受信者に知られることなくメールのコピーを受信するアドレスのコンマ区切りリストを入力します。

    • From Address フィールドからメッセージを送信します。

    • Subject prefix フィールドを使用して、通知が送信されるときに各件名行の先頭に追加するメッセージを提供します。

    • From Timeを使用する および To Time セレクターを使用して、この行で指定されたグループメンバーへの通知の時間範囲を指定します。これらの値をPEMクライアントホストのロケールで提供します。 PEMサーバーは、必要に応じて時間を他のタイムゾーンに変換します。

  4. Add を選択してテーブルに行を追加し、別の期間とそれらの時間帯に通知する電子メールアドレスを指定します。

  5. メールグループの定義が終了したら、[ Save ]を選択します。

メールグループを作成した後、 Manage Alerts タブを使用して、アラートの通知の詳細を設定し、グループに通知を転送できます。

メールグループの削除#

電子メールグループを削除するには、 電子メールグループテーブルでグループの名前を選択し、グループ名の左側にある Delete を選択します。

グループ名は[電子メールグループ]テーブルに赤で表示されます。 Save を選択して、テーブルからグループを完全に削除します。

Webhook#

Webhookを使用して、構成済みのアプリケーションのしきい値違反に関するアラートイベントの通知を受信するようにPEMサーバーを構成する必要があります。

Webhookの作成#

PEMは、ユーザーの注意を必要とする条件がシステムを監視します。 Webhookを使用して、現在の値がアラート定義で指定されたしきい値から逸脱した場合に通知を受信するエンドポイントを作成できます。トリガーされたイベントに基づいて、PEMは複数のWebhookエンドポイントまたは特定のターゲットWebhookエンドポイントに通知を送信します。

Webhooks タブを使用して、エンドポイントの受信者を構成します。 [ Webhooks ]タブを開くには、[ Management > Manage Alerts ]を選択します。 [ Manage Alerts ]タブの[Quick Links]ツールバーで、[ Webhooks ]を選択します。

[ Webhooks ]タブには、エンドポイントとして現在定義されている受信者アプリケーションのリストが表示されます。エンドポイントを選択し、行の左端にある Edit を選択して、既存のエンドポイントを変更します。

新しいWebhookを定義するには、テーブルの右上隅にあるプラス記号+を選択します。次に、 General タブを使用して、Webhookの基本的な詳細を定義できます。

  • Webhookの名前を Name フィールドに入力します。

  • URL フィールドに、すべての通知を配信するWebhook URLを指定します。

  • Request Method フィールドで、呼び出しに使用される要求方法タイプを設定します POST または PUT 。

  • デフォルトでは、Webhookは有効になっています。 Webhookを無効にするには、 Enable? を No に設定します。

注釈

**Enable?**設定は、agent.cfg ファイルで`enable_webhook` パラメーターが`true` に設定されている場合にのみ機能します。デフォルトでは、enable_webhook パラメーターは、PEMサーバーホストで実行されているエージェントに対してのみ`true` に設定されます。他のホストで実行されている他のすべてのエージェントの場合、手動で`true` に設定する必要があります。

Webhook SSL構成の定義#

Windowsの各エージェント構成ファイルまたはレジストリでWebhook SSLパラメーターを定義できます。 Webhook SSLパラメーターのリストは Modifying agent configuration にあります。エージェント構成パラメーターを追加または削除した場合、エージェントを再起動してそれらを適用する必要があります。

  • Windowsシステムでは、WebhookのPEMレジストリエントリはHKEY_LOCAL_MACHINE\Software\EnterpriseDB\PEM\agent\WEBHOOK にあります。

  • Linuxシステムでは、WebhookのPEM構成オプションはagent.cfg file に保存されます。デフォルトで/usr/edb/pem/agent/etc にあります。

Example - Webhook SSL Parameters in agent.cfg file

Example - Webhook SSL Parameters in agent.cfg file#

Example - Webhook SSL Parameters in windows registry

Example - Webhook SSL Parameters in windows registry#

Webhookヘッダーの定義#

[ HTTP Headers ]タブを使用して、Webhookエンドポイントの呼び出し中に渡すヘッダーパラメーターを定義します。

  • すべての値をキーと値のペアとして指定します。

  • Key フィールドにキーパラメーターを指定し、 Value フィールドに値を指定します。

  • HTTPヘッダーを追加するには、HTTP Headersテーブルの右上隅にあるプラス記号+を選択します。

  • HTTPヘッダーを削除するには、 Key の左側にある Delete を選択します。ヘッダーはリストに残りますが、取り消し線フォントになります。 Save を選択して、ヘッダーを完全に削除します。

  • HTTPヘッダーを編集するには、 Key の左側にある Edit を選択します。

Webhookペイロードの定義#

Payload タブを使用して、アラートがトリガーされたときにエンドポイントに送信するJSONデータを定義します。

  • Type は、形式タイプJSONで送信するデータを指定します。

  • テンプレート を使用して、エンドポイントに送信されるJSONデータを構成します。テンプレートでは、次のプレースホルダーを使用できます。

    • %AlertID% -トリガーされたアラートのID。

    • %AlertName% -トリガーされたアラートの名前。

    • %ObjectName% -アラートがトリガーされたサーバーまたはエージェントの名前。

    • %ObjectType% -アラートが生成されたタイプ。

    • %ThresholdValue% -アラートがトリガーされたときにメトリックが到達したしきい値。

    • %CurrentValue% -アラートをトリガーしたメトリックの現在値。

    • %CurrentState% -アラートの現在の状態。

    • %OldState% - アラートの以前の状態アラートが生成されたエージェントの名前。

    • %ServerID% - アラートが発生したサーバーのID generated.

    • %ServerName% -アラートが生成されたサーバーの名前。

    • %ServerIP% -アラートが生成されたサーバーのIPまたはアドレス。

    • %ServerPort% -アラートが生成されたサーバーのポート。

    • %DatabaseName% -アラートが生成されたデータベースの名前。

    • %SchemaName% -アラートが生成されたスキーマの名前。

    • %PackageName% -アラートが生成されたパッケージの名前。

    • %DatabaseObjectName% -名前アラートが生成されたテーブル名やファンクション名などのデータベースオブジェクトの名前。

    • %Parameters% -アラートの生成に使用されるカスタムパラメーターのリスト。

    • %AlertInfo% -アラートのデータベースオブジェクトレベルの詳細情報。

  • Test Connection を選択して、記載されたエンドポイントへの通知配信をテストします。

Webhookアラートレベルの定義#

Notifications タブを使用して、Webhookエンドポイントのアラートレベルを指定します。

  • すべてのアラートレベルで通知を送信できるようにするには、 すべてのアラート を Yes に設定します。

  • 特定のアラートレベルに到達したときに通知を送信するには、アラートレベルの横にあるスライダーを Yes に設定します。個々のアラートレベルを構成するには、 すべてのアラート を No に設定する必要があります。

例Slackに通知を送信する#

Slackでは、 Getting started with incoming webhooks の指示に従って、次のことを行います。

  • Slackアプリを作成します。

  • そのアプリの着信Webhookをアクティブにします。

  • 選択したチャンネルまたはユーザーに投稿するWebhookを追加します。

新しいWebhookには、https://hooks.slack.com/services/x/y/z のような一意のURLがあります。このURLに通知を送信するようにPEMを構成できるようになりました。

PEM Webhookの作成 で、わかりやすい名前を付け、前に取得したURLを URL フィールドにコピーします。 Request Method が POST に設定され、 Enable? が Yes に設定されていることを確認します。 Alert Notifications の下のすべてのスライダーを Yes に設定します。

HTTPヘッダーの下に、キーContent-Type と値application/json を使用してヘッダーを追加します。

Payload の下で、デフォルトのテンプレートを削除し、次の例のようにtext をトップレベルキーとしてテンプレートを指定します。

{"text": "%AlertName% on %ObjectType% %ObjectName% is now %CurrentState%"}

これで、接続をテストできます。成功した場合、PEMは通知を発行し、指定したテンプレートがメッセージとしてSlackチャネルに表示されます。

Webhookを保存し、通常のようにPEMの使用を続行します。 PEMはすべてのアラートをSlackチャネルに送信するようになりました。

Webhookの削除#

削除のWebhookをマークするには、WebhooksテーブルでWebhook名前を選択し、名前の左側にある Delete を選択します。アラートはリストに残りますが、取り消し線フォントになります。

Delete はトグルです。 2度目に Delete を選択することにより、削除を元に戻すことができます。 Save を選択して、Webhook定義を完全に削除します。

SNMP#

通知を送信する前に、SNMPトラップ/通知レシーバーに通知を送信するようにPEMサーバーを構成する必要があります。 SNMPバージョンを識別するには、SNMPバージョンをv1、v2、またはv3に設定します。

例-net-snmp トラップレシーバーを使用してSNMP V3 トラップを構成する#

  1. [サーバーの構成]ダイアログボックスでプレーンテキスト形式でsnmp_security_engine_id 〜PEM_SNMP_AGENT を設定します。

  2. プレーンテキスト値を16進形式に変換して、snmptrapd.conf ファイルで使用します。 snmp_security_engine_id の16進値は、最大32オクテット長まで指定できます。

echo PEM_SNMP_AGENT | hexdump -v -e /1 "%02X"
50454D5F534E4D505F4147454E540A
  1. Server Configurationダイアログボックスで次のパラメーターを設定します。

    • snmp_security_nam から pem_snmp_user

    • snmp_authentication_protocol から MD5

    • snmp_authentication_password から pem_auth_pass

    • snmp_privacy_protocol から DES

    • snmp_privacy_password から pem_priv_pass

  2. snmptrapd.conf ファイルには次の値があります。

createUser -e 0x50454D5F534E4D505F4147454E540A pem_snmp_user MD5 pem_auth_pass DES pem_priv_pass
authUser log pem_snmp_user

!!!note エージェントをrootとして実行して、SNMP V3で通知を送信できるようにする必要があります。

NagiosでPEMを使用する#

PEMサーバーは、ユーザー定義のアラートがトリガーされると、パッシブアラート結果をNagiosネットワークアラートソフトウェアに送信できます。トリガーされたアラートをNagiosに通知するようにPEMサーバーに指示するには、次のことを行う必要があります。

  • PEMサーバーからNagiosへの通知をトリガーする各アラートのNagios通知を有効にします。 host.cfg およびservices.cfg ファイルを作成する前に、PEMアラートを構成する必要があります。

  • PEMサーバーのNagios関連の動作を構成します。

  • host.cfg およびservices.cfg 構成ファイルを作成します。

  • 必要に応じて、Nagios構成ファイルを変更し、Nagiosサーバーを再起動します。

  • NagiosサーバーがインストールされているシステムにPEMエージェントをインストールし、PEMサーバーに登録します。そのエージェントのagent.cfg ファイルでenable_nagios 構成をtrue に設定し、エージェントサービスをリスタートします。

Nagiosアラートを有効にするようにサーバーを構成すると、トリガーされたアラートはパッシブチェック結果をNagiosサービスに送信します。パッシブアラートの構文は次のとおりです。

<timestamp> PROCESS_SERVICE_CHECK_RESULT; <host_name> ; <service_name> ; <service_status> ;

そこで

timestamp は、アラートがトリガーされた日時です。

host_name は、サーバーまたはエージェントの名前です。

service_name はアラートの名前です。

service_status は、サービスステータスの数値です。

  • サービスステータスがOKの場合は0

  • サービスステータスがWARNINGの場合1

  • サービスステータスがCRITICALの場合2

  • 3 サービスステータスがUNKNOWNの場合

PEMサーバーは、次のルールを使用してサービスステータスを評価します。

  • PEM警告レベルがCLEAREDの場合、警告メッセージはOKとなります。

  • PEM警告レベルが低い場合、警告メッセージは WARNING となります。

  • is_nagios_medium_alert_as_critical フラグPEMサーバー構成ダイアログボックスで指定がFALSEに設定され、アラートレベルMEDIUMの場合、警告メッセージは WARNING となります。

  • is_nagios_medium_alert_as_critical フラグPEMサーバー構成ダイアログボックスで指定がTRUEに設定され、アラートレベルがMEDIUMの場合、警告メッセージはCRITICALとなります。

  • PEM警告レベルがHIGHの場合、警告メッセージはCRITICALとなります。

アラートのNagios通知を有効にする#

PEMサーバーは、有効なアラートごとに一意の通知プロパティセットを維持します。 Manage Alerts タブの Notification タブを使用して、トリガーされたときに、特定のアラートがNagiosにアラート通知を送信するように指定します。

アラートの通知プロパティを変更するには、アラートによって監視されるオブジェクトの名前を右クリックし、 管理 > アラートの管理 を選択します。 [ Manage Alerts ]タブで、Alertsリストでアラート名の左側にある Edit を選択します。編集ペインが開いたら、[ Notification ]タブを選択します。

Nagios通知を有効にするには、 Nagiosへのパッシブサービスチェック結果の送信 の横にスライダーを移動し、 Yes をクリックします。次に、 Save を選択します。

PEMサーバーのNagios関連動作の構成#

[ Server Configuration ]ダイアログボックスを使用して、Nagios構成に関する情報をPEMサーバーに提供できます。ダイアログボックスを開くには、 Management > Server Configuration を選択します。

4つのサーバー構成パラメーターは、NagiosインストールとNagiosに関連するPEMサーバーの動作に関する情報を指定します。

  • nagios_cmd_file_name パラメーターを使用して、PEMからパッシブチェックアラートを受信するNagiosパイプラインファイルの場所を指定します。このパラメーターのデフォルト値は/usr/local/nagios/var/rw/nagios.cmd です。 nagios.cmd ファイルが他の場所にある場合、 Value フィールドにファイルの場所を指定します。

  • nagios_enabled パラメーターのスライダーを Yes に移動して、パッシブチェックアラートをNagiosに送信するようにPEMサーバーに指示します。

  • nagios_medium_alert_as_critical スライダーを使用して、中アラートがトリガーされた場合にPEMサーバーがNagiosに渡す警告の重大度を指定します。

    • is_nagios_medium_alert_as_critical フラグが FALSE に設定され、アラートレベルが MEDIUM の場合、警告メッセージはWARNING.

    • is_nagios_medium_alert_as_critical フラグが TRUE に設定され、アラートレベルが MEDIUM の場合、警告メッセージはCRITICALとなります。

  • nagios_spool_retention_time パラメーターを使用して、PEMサーバーに保存する通知履歴の日数を指定します。デフォルト値は7日です。

パラメーター値を変更した後、ダイアログボックスの右上隅にある Save を選択します。

hosts.cfgおよびservices.cfgファイルの作成#

templates.cfg ファイルデフォルトでは/usr/local/nagios/etc/objects にありますは、汎用ホストと汎用サービスのプロパティを指定します。プロパティは、 hosts.cfg およびservices.cfg ファイルで使用されるパラメーターを指定します。

ほとんどの場合、PEMがデフォルト構成でインストールされている場合、 hosts.cfg およびservices.cfg ファイルを作成する前にtemplates.cfg ファイルを変更する必要はありません。必要に応じて、 templates.cfg ファイルを変更して、パラメーターの代替値を指定したり、新しいテンプレートを作成したりできます。

Nagios構成ファイルを変更する前に、次のコマンドを使用して、ローカルシステムにあるPEMホストに関する情報を含むhosts.cfg ファイルを作成します。

psql -U postgres -p 5433 -d pem -A -t -c "select pem.create_nagios_host_config('generic-host')" > /usr/local/nagios/etc/objects/hosts.cfg

次に、次のコマンドを使用して、ローカルシステムにあるPEMサービスに関する情報を含むservices.cfg ファイルを作成します。

psql -U postgres -p 5433 -d pem -A -t -c "select pem.create_nagios_service_config('generic-service')" > /usr/local/nagios/etc/objects/services.cfg

custom template.cfg ファイルエントリーを使用する場合は、これらのコマンドで generic-host またはgeneric-service の代わりにエントリー名を指定します。

Nagios構成ファイルの変更#

host.cfg およびservices.cfg ファイルを作成した後、Nagios構成ファイルデフォルトでは/usr/local/nagios/etc/nagios.cfg でそれらの場所を指定する必要があります。構成ファイルを変更し、ファイルの場所を指定するエントリを追加します。

cfg_file=/usr/local/etc/objects/hosts.cfg

cfg_file=/usr/local/etc/objects/services.cfg

次のコマンドを使用して、Nagiosが適切に構成されていることを確認できます。

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagiosが正しく構成されていることを確認した後、Nagiosサービスをリスタートします。

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

メールテンプレートのカスタマイズ#

PEMは、ユーザーの注意を必要とする条件がシステムを監視し、電子メール通知を送信します。 電子メールテンプレート を使用して、電子メールの件名と、現在の値がアラートで指定されたしきい値から逸脱している場合にサーバーが送信するペイロードをカスタマイズします。

これらは、カスタマイズ可能なデフォルトのメールテンプレートです。

  • アラートが検出されました

  • 警戒レベルが上昇しました

  • 警戒レベルの低下

  • アラートがクリアされました

  • アラートリマインダー

  • 仕事の成功

  • ジョブの失敗

  • ジョブのキャンセル

・ジョブステップ

・ジョブステップデータベースサーバ

電子メールテンプレートをカスタマイズするには、電子メールテンプレート名の横にあるeditボタンを選択します。必要に応じて、使用可能なプレースホルダーのリストから Subject および Payload フィールドを編集します。フィールド値を変更した後、[ Save ]を選択します。

デフォルトのメールテンプレートがカスタマイズされている場合、 メールテンプレート タブのCustom Template? 列にそのテンプレートの緑色のチェックマークが表示されます。

カスタマイズされたメールテンプレートをデフォルトのテンプレートとして復元するには、カスタムテンプレートを選択し、 メールテンプレート タブの上部にある元に戻すボタンを選択します。