DOCS
インテグレーションガイド / Zabbix 3X
本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。
Zabbixは、ネットワークサービス、サーバー、およびその他のハードウェアの状態を監視するために設計された非常に強力なオープンソースのエンタープライズクラスのネットワーク管理システムです。 多くの組織のITインフラストラクチャを監視する上で重要な役割を果たしています。
PagerDutyは、PagerDuty APIを使用したオンコール・スケジューリング、アラートおよびインシデント追跡を提供することによりZabbixの機能を拡張します。 PagerDutyはZabbixの最もクリティカルなイベントを通知し、即座に対応することができます。
このガイドでは、Pythonスクリプトを使用してZabbix 3.xのインストールをPagerDutyにインテグレートする方法について説明します。 このガイドでは、Zabbixのスクリプト、メディアタイプ、ユーザ、およびアクションの設定方法について説明します。これらの手順はお使いのLinuxディストリビューションに応じて、少し変更する必要があると思います。
PagerDutyでの設定
-
ConfigurationメニューからServicesを選択します。
-
Servicesページでの操作:インテグレーション用の新しいサービスを作成する場合は、+Add New Serviceボタンをクリックします。
既存のサービスにインテグレーションを追加する場合は、インテグレーションを追加するサービスの名前をクリックします。Integrationsタブをクリックし、+New Integrationボタンをクリックします。
-
Integration Typeメニューからアプリケーションを選択し、Integration Nameにインテグレーション名を入力します。インテグレーションのための新しいサービスを作成する場合は、General Settingsで、新しいサービスのNameを入力します。次に、Incident Settingsで、新しいサービスのEscalation Policy、Notification Urgency、およびIncident Behaviorを指定します。
-
Add Service またはAdd Integration ボタンをクリックして、新しいインテグレーションを保存します。あなたはサービスのIntegrationsページにリダイレクトされます。
-
新しいインテグレーションのIntegration Keyをコピーします。
Zabbixでの設定
-
Agent Install Guide」の説明に従ってPagerDuty Agentをインストールします。
-
ZabbixのAlertScriptsPathディレクトリにあるpd-zabbixスクリプトへのシンボリックリンクを作成します。 AlertScriptsPathは通常
/etc/zabbix/alert.d
または
/usr/local/share/zabbix/alertscripts
ですが、変更することができます。 zabbix_server.confファイルでパスを確認します。
-
次に、ZabbixのメディアタイプとしてPagerDutyを追加しましょう。 Administrationタブをクリックします。
-
Media typesタブをクリックします。
-
Create Media Typeボタンをクリックします。
-
次の画面で、Descriptionに「PagerDuty」と入力します。
-
Typeに “Script”を選択します。
-
Script nameに「pd-zabbix」と入力します。
-
次の3つのスクリプトパラメータを追加します。
-
Add をクリックして、PagerDutyメディアタイプを作成します。
-
Administration > Users Groupsに進みます。 Create user groupをクリックします。
-
Group nameにグループ名の名前(例えば「PagerDuty Sercvice」など)を入力します。
-
Permissionsタブをクリックし、Read onlyの下にあるAddボタンをクリックして、PagerDutyによって監視されるホストグループ(訳注:Host Groupsを参照)を選択します。
-
監視のためにPagerDutyに読み取りアクセス権を与えたいホストグループを選択し、Selectボタンをクリックします。
-
Addをクリックして、新しいユーザーグループを保存します。
-
この新しいメディアタイプをユーザーに使用させてください。このガイドでは、Zabbixで新しいユーザーを作成することにしましょう。 Administrationタブをクリックします。
注:既存のユーザを変更し、PagerDutyメディアを追加することもできます(ステップ18)。
-
Usersタブをクリックします。
-
Create Userボタンをクリックします。
-
新しいユーザーの詳細を入力して、「PagerDuty User」と名付けましょう。 このPagerDutyユーザはZabbixにログインしないので、ユーザー設定はデフォルトのままで十分です。
-
Groupsの横にあるAddボタンをクリックし、作成したPagerDuty Serviceを選択します。
-
下部にあるAddボタンをクリックします。
-
作成したばかりの新しいPagerDuty Service userをクリックします。
-
Mediaタブをクリックして、Addボタンをクリックします。
-
TypeにPagerDutyを選択するためのポップアップが表示されます。
-
その後、PagerDutyのServiceキーをSend toというテキストフィールドに貼り付けます。
-
チェックボックスEnabledをオンにします。
-
Addボタンをクリックします。
-
Configuration > Actionsに進み、 Create Actionをクリックします。
29.アクションにPagerDuty NotificationsなどのNameを付けてから、Default subjectをtriggerに設定し、Recovery subject をresolveに設定します。 件名に他に設定できるものはありません。単一の単語のtriggerまたはresolveだけです。Default messagetとRecovery message ボックス内のすべての内容を削除してから、それらを両方とも次のように設定します。
-
Operationsタブをクリックし、Newボタンをクリックしてアクション操作を追加します。
-
Send to User groupsの横にあるAddをクリックして、PagerDutyサービスを選択します。次に、小さなAdd buttonをクリックします。
-
Addをクリックしてアクションを保存します。
おめでとう!あなたのZabbixはPagerDutyに統合されるはずです!
よくある質問
ネットワークがダウンしているときにZabbixイベントが発生するとどうなりますか?
サイトの外部接続を監視するために、外部のpingチェックサービスも設定する必要があります。もちろん、PagerDutyを使ってこれらのサービスからアラートを転送することもできます。
Zabbixを複数のPagerDutyサービスと連携するように設定するにはどうすればよいですか?
これは現在のインテグレーションでは簡単です。別々のアクション条件とアクション操作で複数のアクションを設定するだけです。また、別のユーザーグループ、ユーザー、およびメディアを設定する必要があります。追加のメディアは、追加のサービスのサービスキーを使用すると、PagerDutyタイプになります。
統合は機能していないようです。どうしたの?
まず、PagerDutyエージェントをインストールしてあることと、PagerDutyエージェントをインストールしたときにパッケージマネージャからエラーが出ていないことを確認してください。そのインストールが失敗していたこと(CentOS 5などの互換性のないディストリビューションによる)が、インテグレーションが機能しない場合の最もよくある原因です。
その他のトラブルシューティングのヒントについては、Zabbixトラブルシューティングガイドを参照してください。