メモ: 公式ページ提供の Zabbix 2.0.9 debパッケージを Ubuntu 12.04 LTS に入れる

# はじめに

2.0.9 を入れます。パッケージが公式から配布されてます。

参考: Zabbix 2.1.8 をRaspberry Pi にいれる
http://qiita.com/amedama/items/f0a0860e58a9a4f0ed8c

上と流れはほとんど変わりません。手コンパイルよりやっぱり少し楽です。気が。なので説明は省略気味です

環境は Ubuntu 12.04.03 LTS です。2013-10-28時点での情報です。13.10 等では2.0はapt-getでインストールできます。

# debパッケージの準備と関連パッケージのapt-getインストール

http://www.zabbix.com/jp/download.php

上記のリンクからダウンロードするだけです。

注意点としてUbuntu 12.04 LTS では "+precise" と書いてある方のパッケージを選ぶことです。10.04 側のパッケージにも "+lucid" って付けろよと思うんですが……

MySQLを使う場合ですが、現時点ではこの3種類です

* zabbix-frontend-php_2.0.9-1+precise_all.deb
* zabbix-server-mysql_2.0.9-1+precise_amd64.deb
* zabbix-agent_2.0.9-1+precise_amd64.deb

Agentは自分をAgent監視する場合に使います。要らないかもしれませんが、ここでは後で使います

依存関係のあるパッケージを入れてから上記のdeb三種を入れます。ここでlucid向けパッケージを入れようとするとdpkgでは消すこともできなくなります。面倒

```
# apt-get install libiksemel3 libiodbc2 libmysqlclient18 libopenipmi0 libssh2-1 mysql-server fping dbconfig-common
# apt-get install apache2 php5 php5-mysql php5-gd
```

消せなくなったら
http://sourceforge.net/p/libreplan/discussion/1085570/thread/5e2b8d60/

# Zabbix Server のインストールと、データベースの設定

```
# dpkg -i zabbix-server-mysql_2.0.9-1+precise_amd64.deb 
```

このとき、dbconfig-common が「俺がdatabaseを管理してやろうか？」と聞いてきます。

dbconfig-common にやらせればZabbix Server側のDBの設定(/etc/zabbix/zabbix_server.conf内の設定も含めて)をやってくれます。MySQLにzabbixという名前のユーザが新たに作られます。

(dbconfig-common初回起動であれば、それらを聞かれる「前」にrootのパスワードを設定する必要があるかもしれません)

dbconfig-commonにやらせない場合、この部分は手動で後で行う必要があります。すでにDBがあるのでdbconfig-commonに新規作成させたくない、と言うケースでは、noを選びます。

パッケージで入れた場合、これは1.8をapt-getで入れた時と同じ挙動だと思います。

♯ PHPフロントエンド

```
# dpkg -i zabbix-frontend-php_2.0.9-1+precise_all.deb
```

これにより /etc/apache2/conf.d/zabbix にApache用設定ファイルが出来ます。http://(hostname)/zabbix にアクセスすることで追加のセットアップを行います。

今回試した限り、PHPフロントエンドにZabbix ServerのDB周りの設定は(dbconfig-commonを使っても)伝播しません。PHPフロントエンドに最初にアクセスした際にDBのセットアップ画面が出ます。ここではMySQL内のzabbixユーザとそのパスワードを入れます。

＃ Ubuntu/Debianのapt-getで入れた場合の1.8は伝播していた気がしましたが気のせいかもしれません。今は1.8が嫌だから公式から取ってます。なんにも考えずに1.8は入ります。

必要なPHPライブラリ類はdebパッケージの依存関係で入っています。足りない設定としてタイムゾーンをphp.iniに設定する必要があります。

```
date.timezone = "Asia/Tokyo"
```

# インストール後

 http://(host名)/zabbix にPHPフロントエンドが設置され、Admin / zabbix というZabbixの定番パスワードでログインできます。パスワードはすぐ変更しましょう。

場所は Zabbix Serverのパッケージを入れた後は /etc/apache2/conf.d/zabbix 内に設定されています。

監視項目に最初から "Zabbix server" すなわち自分自身を監視する設定があります。"Not monitored"になっているはずなのでこれを変更して監視するのが最初のテストとして適当です (Agent入れましょう)

1分くらい待って "Monitoring" -> "Latest data" に自分の履歴が出てきたら自分の監視はできていることになります。

zabbix_get をパッケージインストールしておけば (zabbix-get_2.0.9-1_amd64.deb) デバッグに役に立つことがあります。例えば以下のように使います

```
(今回Zabbix Serverを入れたホストから)
> zabbix_get -s localhost -k agent.version
2.0.9
```

2.0.9 は今回インストールした Agent のバージョンです。

# 外部ホストを登録する

zabbix_agent が威力を発揮するのは実際には外部ホストを登録する時です。今回は example.com というホストを追加すると仮定します。

```
> zabbix_get -s example.com -k agent.version
(空文字列)
```

空文字列はそのAgentが値を返してこないことを示します。「そのZabbix ServerからのpullアクセスをAgentは信用していない」とでも考えるのが良いです。activeに監視するとか云々は筆者がよく理解してないのでここでは何も説明しませんぐすん。

example.com の /etc/zabbix/zabbix_agentd.conf を変更します。zabbix_agent"d".confです。dつきます。

ファイルの場所はインストール方法によっては当然異なる可能性があります。特に手動でコンパイルした場合は /usr/local/etc 配下になっているかもしれません。なお、CentOSでも基本的に設定ファイルの場所は同じです。ていうかテストしてるクライアント側はCentOSでこっちはyumで2.0入るんだよちくしょう

```
Server=(zabbix server のIPとか)
```

Agentをリスタートするなりしてまたzabbix_getしましょう。

```
> zabbix_get -s example.com -k agent.version
2.0.9
```

ホストを追加してLinux テンプレートを使うようにします。

私はレベル低いのですが、Zabbixを勉強するのなら以下の本がいいです。ていうか唯一だな。冬にもう一冊出すって言ってた気がします。

<a href="http://www.amazon.co.jp/gp/product/4774142131/ref=as_li_qf_sp_asin_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4774142131&linkCode=as2&tag=mowanetjp-22">Zabbix統合監視「実践」入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plusシリーズ)</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=mowanetjp-22&l=as2&o=9&a=4774142131" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

はうあ、この著者、公式トレーニングの人と名前が同じだ！ (http://www.zabbix.com/jp/training.php)

おしまい