2.0系のZabbixに対してJob Arranger for Zabbixからジョブ結果を送信する構成

 Job Arranger for Zabbixがオープンソースで公開されました。

 http://www.fitechforce.co.jp/zabbix/job-controller/

  これはジョブスケジューラで、ユーザや実行対象ホストの管理にZabbixを利用するというものです。実行結果はZabbixのZabbix Senderという機能を利用して、Zabbixに報告します。これを書いてる時点でバージョンは1.2で、基本的なことはだいたいできます。けれど、対象とするZabbixは1.8系であり、すでに2.0系で運用しているなら、両方を参照するのは面倒です。ジョブスケジューラの結果を2.0系に送信する構成についてまとめます。 それぞれのインストール方法については省略します。ソースコードおよびrpmパッケージは下記URL先で入手できます。

https://oss-support.fitechforce.co.jp/redmine/projects/job-arranger-for-zabbix/repository

 

f:id:wankomagic:20130321012005p:plain

 

 

環境

  • OS: CentOS 6.2
  • Job Manager for Zabbix: 1.0
  • DB: MySQL 5.5.29
  • メインZabbix: 2.0.5
  • ローカルマシン: Windows7 SP1 64bit

構成

Zabbixサーバ

  • Zabbix Server 2.0.xをインストール

Job Arrangerサーバ

  • Zabbix Server 1.8.xをインストール
    • 実行サーバをホストとして登録しておきます(Job Arranger Agentがインストールされたホスト名を管理するのに利用します)
    • zabbix_senderで書き換えるアイテムを予め登録しておきます(アイテムのタイプはZabbixトラッパーです)
  • Job Arranger Serverをインストール

 実行サーバ

  • Zabbix Agentをインストール
    • zabbix_serverは2.0.xでは別パッケージですが、1.8.xではZabbix Agentに同梱されているのでインストールします
    • Zabbix Agent自体は利用しないので、起動の必要はありません
  • Job Arranger Agentをインストール
    • ServerにJob Arrangerサーバを指定します
    • Job Arranger Managerからデフォルトで10055ポートで送信されるので、Firewallを設定します

ローカルマシン

  • Job Arranger Managerをインストール
    • ODBCの設定をしますが、MySQL5.5.xを利用している場合、ODBC 5.2.xが対応していないため、5.1.xのものを利用します
      http://dev.mysql.com/downloads/connector/odbc/5.1.html#downloads
      また、Job Arranger Managerは32bit用であるため、コントロールパネルではなく次のコマンドを実行して設定します
      %WINDOWS_HOME%\SysWOW64\odbcad32.exe
  • Job Arranger Managerでジョブを作成
    • ログインはJob Arrangerサーバで動作するZabbixで管理しているユーザ/パスワードです
    • ジョブネットを作成する際、拡張ジョブのzabbix_senderを利用せず、ジョブを利用して、実行欄に次のコマンドを記述します
      zabbix_sender -z <ZabbixサーバのIP/ホスト名> -p 10051 -s <Zabbixサーバで管理するホスト名> -k <アイテム・キー> -o <送信する値>

 

 もっとうまい方法があると思いますが、まだまだ勉強中です。

 サーバの管理方法によっては、zabbix_senderにホスト名などを記述するよりも、設定ファイルを作成したほうがいいかもしれません。zabbix_agent.confにServer, ServerActive, Hostnameを設定して、ジョブネットで実行するコマンドを次のように帰るとよいでしょう。

zabbix_sender -c <zabbix_agent.confのパス> -k <アイテム・キー> -o <送信する値>