DOCS
インテグレーションガイド / Zenoss 4

Zenoss 4

本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。

Zenossは、数多くのIT組織で使用されている非常に普及しているオープンソースネットワーク、サーバーおよびアプリケーション監視システムです。これは、あらゆるオープンソース監視システムで利用可能な最高のイベント管理システムの1つを提供します。Zenossのプラグインアーキテクチャにより、Zenossを誰でも適応できるようになりました。PagerDutyは、PagerDuty APIを使用してオンコールスケジュール、アラート、インシデント追跡を提供することで、Zenossの機能を拡張します。PagerDutyの最も重大なZenossイベントを通知され、即座に行動を起こすことができます。

このガイドでは、Zenoss 4のインストールをPagerDuty ZenPackにインテグレートする方法について説明します。正確なLinuxディストリビューションとZenossの設定に合わせて、これらの設定を少し変更する必要があります。インストールが失敗した場合は、当社までご連絡ください 。

Zenoss 5の場合はこちらをクリック

Zenoss 3の場合はこちらをクリック

PagerDutyでの設定

  1. ConfigurationメニューからServicesを選択します。

  2. Serviceページで:インテグレーションのために新しいサービスを作成する場合は、+Add New Serviceをクリックします。既存のサービスにインテグレーションを追加する場合は、追加するサービスの名前をクリックします。その後Integrationsタブをクリックし、+ New Integration ボタンをクリックします。 RS-Add-New-Service-13 RS-Add-Integration-Existing-Service-13-300x35

  3. Integration Type メニューから追加したいアプリを選択して、Integration Nameを入力してください。 インテグレーションのために新しいサービスを作成する場合は、一般設定で新しいサービスのNameを入力します。 次に、Incident Settingsで、新しいサービスのEscalation Policy(エスカレーションポリシー)、Notification Urgency(通知の緊急度)、Incident Behavior(インシデントの動作)を指定します。

  4. Add Service またはAdd Integrationボタンをクリックして、新しいインテグレーションを保存します。すると、サービスのIntegrationsページに回送されます。 RS-Integration-Settings-11

  5. 新しいインテグレーションのIntegration Key をコピーします。 RS_Updates__API_Services-1024x146-8

:異なるPagerDutyポリシーで使うために複数のGeneric APIインテグレーションを作成することができます。Zenoss 4は、任意の数の異なるPagerDutyアカウントとGeneric APIのインテグレーションに合わせて利用できます。

Zenoss4での設定:

  1. Zenossサーバーのシェルにrootとしてログインします。 テキストエディタで /opt/zenoss/etc/zenactiond.conf ファイルを開きます。 zopeurlパラメータを、Zenoss WebインターフェースにアクセスするためのURLに書き換えてください。このパラメータは、PagerDutyコンソールからZenoss Webインターフェースに直接リンクするために使用されます。

    注:これはイントラネットのURLにすることができます。フィールドがアクティブになるように、このパラメータから**#**記号を削除してください。

  2. Webブラウザから、PagerDuty ZenPackをローカルワークステーションにダウンロードします。

    注:このファイルの名前は変更しないでください。

  3. ZenossのWebインターフェースから、ADVANCED > Settings > ZenPacks > Gear Icon >Install ZenPack の順にクリックしZenPackをインストールしてください。 install_zenpack-300x94

  4. ダウンロードしたPagerDuty ZenPackを選択し、OK をクリックします。 choose_egg1

  5. Zenossをリスタートします。 シェルから次のように入力してください:

    sudo -u zenoss /opt/zenoss/bin/zenoss restart
    
    

    ADVANCED > Settingsの PagerDutyが表示されます。 pagerduty_option_available-300x146

  6. 新しいPagerDutyオプションを選択します。PagerDutyのサブドメインとAPIキーを入力し、Enterを押します。API Acess Keyの詳細については、このナレッジベースの記事を参照してください。

    注:サービスAPIキーはここでは使用できません。詳細については前述の記事をお読みください。 enter_pagerduty_info-300x151

    注:Applyボタンを押すと、すべてのPagerDuty Generic APIサービスのリストが入力されます。サービスが表示されない場合は、設定を調べて対象のサービスがPagerDuty内のGeneric APIタイプであることを確認します。

  7. EVENTS > Triggersに移動し、+ボタンをクリックしてトリガーを追加します。 add_trigger_1-300x113

  8. あなたのトリガーIDを入力してください。下記の場合はPagerDutyを使用していますが、”Critical Alert”のようなもっと説明的なものを使いたい場合は変更しても構いません。一度IDを入力し終わったら、 SUBMITボタンをクリックします。 add_trigger

9.トリガーを選択し、 gearアイコンをクリックして設定します。 configure_trigger-300x100

  1. PagerDuty内でアラートをトリガーするルールにトリガーを設定します。 ルールの設定が完了したら、SUBMIT ボタンをクリックします。 edit_trigger-300x218

  2. 左側のメニューからNotifications をクリックし、+アイコンをクリックして新しい通知を追加します。 add_notification_1-300x85

  3. 通知のIDを入力し、アクションのPagerDutyを選択します。 この例では、IDのためにPagerDutyを使用していますが、より説明的なものを使用したい場合があります。 フォームが完了したらSUBMITボタンをクリックします。 add_notification

  4. 新しい通知を選択し、 gearアイコンをクリックして設定します。 configure_notification-300x98

  5. Enabledチェックボックスをオンにし、以前に作成したトリガーを選択して Addボタンをクリックします。そのトリガーはTriggers下のボックスに表示されます。 edit_notification_1-300x219

  6. Contentタブをクリックします。 次に、ドロップダウンメニューからPagerDutyサービスを選択します。

    注:サービス名を入力することもできます。 これは、Zenoss内でアラートがトリガーされたときに通知を受けるサービスです。

    Zenossから複数のPagerDutyサービスに接続している場合、ここでさまざまな各サービスを選択します。PagerDuty ZenPackは、自動的に残りのフィールドに入力してくれます。これらのフィールドの多くはカスタマイズ可能です。使用可能な変数の一覧については、FAQを参照してください。 終了したらSUBMITボタンをクリックします。 edit_notification-300x219

インストール後の確認

すべてが機能していることを確認するには、Zenoss内で新しいアラートをトリガーし、PagerDuty内のインシデントをトリガーします。インシデントの詳細を表示する際、View in Zenossリンクを使用して、Zenoss Webインターフェース内のイベントに移動できます。

よくある質問

  1. ZenPackをインストールしている途中、“Failed to Install ZenPack ZenPacks.PagerDuty.APINotificiation-1.0.0-py2.71.egg. See event.log for details” というエラーメッセージが出たのですか、なぜでしょう?

    これはあなたがインストールしたPythonのバージョンの問題です。ソースからZenPackをインストールするか、ファイル名を “ZenPacks.PagerDuty.APINotification-1.0.0-py2.71.egg”から“ZenPacks.PagerDuty.APINotification-1.0.0.egg”に変更して、ZenPackを再インストールしてください。

  2. 複数のPagerDutyサービスで動作するようにZenossを設定するにはどうすればよいですか?

    現在のインテグレーションではこれは簡単で、各Zenoss通知をPagerDutyサービスに関連付けることができます。Zenoss内に複数の通知を追加するだけで、それぞれのPagerDutyサービスと結びつけるだけで済みます。

  3. ネットワークがダウンしているときにZenoss通知が発生したらどうなりますか?

    何らかの理由でPagerDutyサーバーにアクセスできない場合、Zenossは60秒ごとにPagerDutyに通知を再送信します。 これは通知の設定の下で設定可能です。

  4. ZenossがPagerDutyに失敗の報告を送るには外部インターネット接続が必要ですが、外部接続を失った場合、どのように通知を受け取れますか?

    外部のpingチェックサービスを設定して、サイトの外部接続を監視する必要があります。もちろん、PagerDutyを使ってこれらのサービスからアラートを転送することもできます。

  5. Zenoss内ではアラートを未確認にしたのに、PagerDutyはそれを確認にしていますが、何が起こったのですか?

    PagerDutyは未確認のインシデントをサポートしていません。そのイベントは解決されるまで、PagerDuty内で確認されたという状態のままになります。

  6. アラートの詳細をカスタマイズするにはどうすればよいですか?

    その他のイベントプロパティは、ZenOSSコア管理ガイドのセクション7.1.2(ページ89)に記載されています。

    注:インシデントキーは、インシデントごとに一意である必要があります。

  7. プロキシ経由でPagerDutyに通知を送りたい場合はどうすればよいですか?

    これを実現するには、~zenoss/.bashrcファイルを編集して、http_proxyおよびhttps_proxy環境変数を組み込みます。例えば追加する行は次のようになります。

    export http_proxy=http://my.proxyserver.com:3128/
    export https_proxy=http://my.proxyserver.com:3128/
    
    

    この変更を有効にするには、Zenossサービスを完全に停止して開始するか、またはサーバーをリスタートする必要があります。

  8. もっと質問があります?

    分からないところがある場合は私たちに連絡してください