Table of Contents

3. Installation

1 Zabbixの入手方法

概要

Zabbixを入手するには3つの方法があります。

最新のソース、あるいはバーチャル・アプライアンスをダウンロードするには、最新バージョンに直接リンクしているZabbixのダウンロードページに行きます。古いバージョンをダウンロードするには、以下の安定したバージョンのダウンロードリンクを参照してください。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:19 · Miho Ejima

2 要件

ハードウェア要件

メモリ要件

Zabbixには、十分な量の物理メモリとディスク容量が必要です。導入当初は、物理メモリ128 MB とディスクの空き容量256 MB があれば十分です。ただし、必要なディスク容量は、監視するホストとパラメータの数によって異なります。監視パラメータのヒストリを長期間保存することを計画している場合、データベースにヒストリを保存するための十分な容量として少なくとも数GBを確保することを検討する必要があります。 Zabbix デーモンのプロセスは、それぞれが、1つのデータベースに対して複数の接続を確立して動作します。接続に割り当てられるメモリ容量は、データベースエンジンの設定によって異なります。

物理メモリの容量を増やすほど、データベースは高速に動作し、その結果Zabbixも高速に動作します。

CPU要件

Zabbix、特にZabbixデータベースは、監視パラメータの数と使用するデータベースエンジンによって程度は異なりますが、 CPU リソースを大量に消費します。

その他のハードウェア

ZabbixのSMS通知機能を使用する場合、シリアルポートとシリアル GSM モデムが必要です。USBからシリアルへのコンバータも同様に有効です。

ハードウェア設定の例

以下の表に、様々なハードウェア設定の例を示します:

名前 プラットフォーム CPU/メモリ データベース 監視するホスト数
小規模Ubuntu Linux PII 350MHz 256MB SQLite 20
中規模Ubuntu Linux 64 bit AMD Athlon 3200 + 2GB MySQL InnoDB 500
大規模Ubuntu Linux 64 bit Intel Dual Core 6400 4GB RAID10 MySQL InnoDBまたはPostgreSQL 1000以上
非常に大規模RedHat Enterprise Intel Xeon 2xCPU 8GB Fast RAID10 MySQL InnoDBまたはPostgreSQL 10000以上
実際の設定は、アクティブなアイテムと更新速度によって大きく異なります。大規模システムでは、データベースエンジンを専用のマシンで動作させることをお奨めします。

サポートされているプラットフォーム

監視サーバのセキュリティ要件とミッションクリティカルな性質を考慮した場合、必要とされるパフォーマンス、フォールトトレランス、および復旧のしやすさを安定して実現できるOSはUNIXだけです。Zabbixは、市販されている主なバージョンのUNIXで動作します。

Zabbixは、以下のプラットフォームで動作確認済みです:

  • Linux
  • IBM AIX
  • FreeBSD
  • NetBSD
  • OpenBSD
  • HP-UX
  • Mac OS X
  • Solaris
  • Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server 2012 (Zabbix エージェントのみ)
Zabbixは、上記以外のUNIX系OSでも同様に動作します。

ソフトウェア要件

Zabbixは、最新のApacheウェブサーバ、主なデータベースエンジン、および PHP スクリプト言語を組み合わせて動作します。

データベース管理システム

ソフトウェア バージョン コメント
MySQL 5.0.3以降 MySQLをZabbixバックエンドデータベースとして使用する場合に必要です。InnoDBエンジンが必要です。
Oracle 10g以降 OracleをZabbixバックエンドデータベースとして使用する場合に必要です。
PostgreSQL 8.1以降 PostgreSQL をZabbixのバックエンドデータベースとして使用する場合に必要です。パフォーマンスを高める必要がある場合は、少なくともPostgreSQL 8.3で使用することをお奨めします。
SQLite 3.3.5以降 SQLiteをZabbixバックエンドデータベースとして使用する場合に必要です。
IBM DB2 9.7以降 IBM DB2をZabbixバックエンドデータベースとして使用する場合に必要です。
IBM DB2のサポートは実験的なものです!
SQLite3はZabbixプロキシで問題なく使用できますが、Zabbixサーバでのサポートは実験的であり、お奨めできません!

フロントエンド

Zabbix フロントエンドを動作させるには、次のソフトウェアが必要です:

ソフトウェア バージョン コメント
Apache 1.3.12以降
PHP 5.3.0以降 PHP v7はサポートしていません。
PHPエクステンション:
gd 2.0以降 PHP GD エクステンションには、PNG形式の画像(--with-png-dir)、JPEG形式の画像(--with-jpeg-dir) およびFreeType2 (--with-freetype-dir)のサポートが必要です。
bcmath php-bcmath(--enable-bcmath
ctype php-ctype(--enable-ctype
libXML 2.6.15以降 ディストリビュータから別パッケージとして提供されている場合はphp-xml または php5-dom
xmlreader ディストリビュータから別パッケージとして提供されている場合はphp-xmlreader
xmlwriter ディストリビュータから別パッケージとして提供されている場合はphp-xmlwriter
session ディストリビュータから別パッケージとして提供されている場合はphp-session
sockets php-net-socket (--enable-sockets)  ユーザースクリプトのサポートが必要です。
mbstring php-mbstring(--enable-mbstring
gettext php-gettext(--with-gettext)翻訳機能を動作させるために必要です。
ibm_db2 IBM DB2をZabbixバックエンドデータベースとして使用する場合に必要です。
mysql MySQLをZabbixバックエンドデータベースとして使用する場合に必要です。
oci8 OracleをZabbixバックエンドデータベースとして使用する場合に必要です。
pgsql PostgreSQLをZabbixバックエンドデータベースとして使用する場合に必要です。
sqlite3 SQLiteをZabbixバックエンドデータベースとして使用する場合に必要です。
Zabbixは、Apache、MySQL、Oracle、PostgreSQLの前のバージョンでも動作します。
デフォルトのDejaVu以外のフォントを使用するには、PHPのimagerotate機能が必要になります。その機能がない場合、フォントは[監視データ]→[概要]のヘッダや他の場所で正しくレンダリングされない場合があります。imagerotate機能は、PHPがGDをバンドルしてコンパイルされている場合にのみ有効で、Debianと他のディストリビューションでは提供されていません。

クライアントサイドのウェブブラウザ

CookieとJavaScriptを有効にする必要があります。

Google Chrome、Mozilla Firefox、 Microsoft Internet Explorer 、Operaの最新のバージョンがサポートされています。他のブラウザ(Apple Safari、Konqueror)も動作します。

サーバ

要件説明
OpenIPMI IPMI のサポートのために必要です。
libssh2 SSH のサポートのために必要です。Version 1.0 以上
fping ICMP ping アイテムのために必要です。
libcurl ウェブ監視のために必要です。
libiksemel Jabberのサポートのために必要です。
net-snmp SNMPのサポートのために必要です。

Java ゲートウェイ

Zabbixをソースリポジトリまたはアーカイブから入手した場合、必要な依存関係はすでにソースツリーに含まれています。

Zabbixをディストリビュータのパッケージとして入手した場合、必要な依存関係はすでにパッケージシステムにより提供されています。

上記のどちらの場合でも、ソフトウェアはすぐに使用できるようになっており、追加ダウンロードの必要はありません。

ただし、自分のバージョンでこれら依存関係を提供したい場合(例えば、あるLinuxディストリビューション用にパッケージを作成している場合)、Javaゲートウェイの動作が確認されているライブラリのバージョンの一覧は以下のとおりです。Zabbixは、これらライブラリのその他のバージョンでも動作します。

次の表に、現在オリジナルコードのJava ゲートウェイに同梱されているJARファイルの一覧を示します。

ライブラリ Webサイト コメント
logback-core-0.9.27.jarhttp://logback.qos.ch/ 0.9.27、1.0.13、1.1.1でテスト済み。
logback-classic-0.9.27.jarhttp://logback.qos.ch/ 0.9.27、1.0.13、1.1.1でテスト済み。
slf4j-api-1.6.1.jar http://www.slf4j.org/1.6.1、1.6.6、1.7.6でテスト済み。
android-json-4.3_r3.1.jarhttps://android.googlesource.com/platform/libcore/+/master/json 2.3.3_r1.1と4.3_r3.1でテスト済み。JARファイル作成方法については、src/zabbix_java/lib/READMEを参照してください。

Java gatewayは、Java 1.6以上でコンパイルおよび実行できます。Java 1.5でもコンパイルおよび実行できるはずですが、テストされていません。

データベースサイズ

Zabbix 設定データ を保存するために一定量のディスク容量が必要ですが、ほとんど増えることはありません。

Zabbix データベースサイズは、主に格納されたヒストリデータの量に関する以下の数量によって決まります。

  • 1秒あたりに処理される値の数

Zabbixサーバが1秒あたりに受信する新しい値の平均個数です。たとえば、3000アイテムを更新速度60秒で監視する場合、1秒あたりの値の数は3000/60=50個になります。

これは、毎秒50個の新しい値がZabbixデータベースに追加されることを意味します。

  • ヒストリデータ用のhousekeeperの設定

Zabbixは、一定期間(通常は数週間から数ヶ月)だけ収集した値を保存します。新しい値を追加するたびに、データおよびインデックス用に一定量のディスク容量が消費されます。

そのため、1秒あたり50個の値を受信して、そのヒストリを30日間保存する場合、値の総数は(30×24×3600)×50=129,600,000、すなわち約1.3億個になります。

使用するデータベースと受信する値のデータ型(浮動小数点、整数、文字列、ログファイルなど)によって異なりますが、1つの値を保存するために必要なディスク容量は40バイトから数百バイトまでさまざまです。通常は、1つの値に約50バイトが必要です。上記の例で考えると、1.3億個の値を保存するために、1.3億×50バイト=6.5GBのディスク容量が必要になります。

  • トレンドデータ用のhouskeeperの設定

Zabbixは、テーブルトレンドの各アイテムについて、1時間の最大/最小/平均/個数の統計情報を保存します。保存されたデータは、トレンドグラフや長期間グラフの表示に使用されます。1時間という期間は、カスタマイズできません。

データベースのタイプにもよりますが、Zabbixデータベースに上記の統計情報を1回分保存するために必要なディスク容量は、128バイトです。たとえば、3000個のトレンドデータを5年分保存するとすると、1年分で3000×24×365×128 = 3.4GBなので、5年間では、16.8GBが必要になります。

  • イベントデータ用のhousekeeperの設定

1個のZabbixイベントににつき、約130バイトのディスク容量が必要です。Zabbixで毎日発生するするイベントの数を算出するのは非常に困難です。最悪のケースとして、1秒に1個のイベントが発生すると仮定します。

イベントデータを3年分保存する場合、 3×365×24×3600×130 = 12.3GBのディスク容量が必要になります。

以下の表に、Zabbixシステムに必要なディスク容量の算出に役立つ式を示します:

パラメータ必要なディスク容量を算出するための式(バイト)
Zabbix設定 固定サイズ。通常は10MB以下です。
ヒストリ days*(items/refresh rate)*24*3600*bytes
items :アイテム数
days : ヒストリを保存する日数
refresh rate : アイテムの平均更新速度
bytes : 1個の値を保存するために必要なバイト数。データベースエンジンにもよりますが、通常50バイトです。
トレンド days*(items/3600)*24*3600*bytes
items : アイテム数
days : トレンド履歴を保存する日数
bytes : 1個のトレンドを保存するために必要なバイト数。データベースエンジンにもよりますが、通常128バイトです。
イベント days*events*24*3600*bytes
events :1秒あたりのイベント数。最悪のケースでは1秒に1個のイベントが発生すると想定します。
days : イベント歴を保存する日数
bytes : 1個のイベントを保存するために必要なバイト数。データベースエンジンにもよりますが、通常130バイトです。

以上より、必要な総ディスク容量は、以下の式で計算できます:

設定 + ヒストリ + トレンド + イベント

算出したディスク容量は、Zabbixをインストールした直後から必要になるわけではありません。データベースサイズは、最初は増え続けますが、ある時点で一定の値を維持するようになります。どの時点で一定になるかは、housekeeperの設定によります。

分散設定のノードで必要なディスク容量も同様の方法で算出できますが、1つのノードにリンクされている子ノードの数にも依存します。

時刻の同期

Zabbixが動作するサーバでは、正確なシステム日時を維持することが非常に重要です。ホストの時刻を他のマシンの時刻と同期するものとしては、ntpdが最もよく知られているデーモンの一つです。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:19 · Miho Ejima

3 パッケージからのインストール

ディストリビューションパッケージからインストール

いくつかの一般的なOSのディストリビューションには、Zabbixパッケージが用意されています。これらのパッケージを使用して、Zabbixをインストールできます。

Zabbixの最新リリースは、OSのディストリビューションには用意されない場合があります。

Zabbixの公式リポジトリからインストール

Zabbix SIAでは、Red Hat Enterprise Linux、Debian、Ubuntu LTS向けに公式RPMおよびDEBパッケージを提供しています。

パッケージファイルは、repo.zabbix.comで入手できます。そのサーバ上では、yumおよびaptリポジトリも利用できます。ここでは、パッケージからZabbixをインストールする手順を段階的に説明します。

Red Hat Enterprise Linux / CentOS

対応バージョン:RHEL 5、RHEL 6、Oracle Linux 5、Oracle Linux 6、CentOS 5、CentOS 6

リポジトリ設定パッケージのインストール

リポジトリ設定パッケージをインストールします。このパッケージには、yum設定ファイルが含まれています。 RHEL5、Oracle Linux 5、CentOS 5用のZabbix 2.2の場合:

# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/5/x86_64/zabbix-release-2.2-1.el5.noarch.rpm

RHEL6、Oracle Linux 6、CentOS 6用のZabbix 2.2の場合:

# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

Zabbixパッケージのインストール

Zabbixパッケージをインストールします。MySQLデータベースでZabbixサーバおよびWebインターフェースを使用する例を示します。

Zabbix公式リポジトリでは、fping、iksemel、libssh2のパッケージも提供しています。これらのパッケージは、non-supportedディレクトリにあります。
# yum install zabbix-server-mysql zabbix-web-mysql

Zabbixエージェントのみをインストールする例を示します。

# yum install zabbix-agent

初期データベースの作成

MySQLでZabbixデータベースとユーザーを作成します。

# mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to [email protected] identified by 'zabbix';
mysql> exit

初期スキーマとデータをインポートします。

# cd /usr/share/doc/zabbix-server-mysql-2.2.0/create
# mysql -uroot zabbix < schema.sql
# mysql -uroot zabbix < images.sql
# mysql -uroot zabbix < data.sql

Zabbixサーバプロセスの開始

zabbix_server.confのデータベース設定を編集します。

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Zabbixサーバプロセスを開始します。

# service zabbix-server start

ZabbixのWebインターフェース用のPHP設定の編集

ZabbixのWebインターフェース用のApache設定ファイルは、/etc/httpd/conf.d/zabbix.confにあります。一部のPHP設定は、すでに設定されています。

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga

「date.timezone」設定で[変更]のコメントを外し、正しいタイムゾーンを設定する必要があります。設定ファイルを変更したあとは、Apache Webサーバを再起動してください。

# service httpd restart

Webインターフェースは、ブラウザーでhttp://zabbix-frontend-hostname/zabbixにアクセスして入手できます。デフォルトのユーザー名とパスワードは、「Admin」と「zabbix」です。

Debian / Ubuntu

対応バージョン:Debian 6(Squeeze)、Debian 7(Wheezy)、Ubuntu 12.04 LTS(Precise Pangolin)、Ubuntu 14.04 LTS(Trusty Tahr)

リポジトリ設定パッケージのインストール

リポジトリ設定パッケージをインストールします。このパッケージには、apt設定ファイルが含まれています。

Debian 6用のZabbix 2.2の場合:

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+squeeze_all.deb
# dpkg -i zabbix-release_2.2-1+squeeze_all.deb
# apt-get update

Debian 7用のZabbix 2.2の場合:

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
# dpkg -i zabbix-release_2.2-1+wheezy_all.deb
# apt-get update

Ubuntu 12.04 LTS用のZabbix 2.2の場合:

# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
# dpkg -i zabbix-release_2.2-1+precise_all.deb
# apt-get update

Ubuntu 14.04 LTS用のZabbix 2.2の場合:

# wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+trusty_all.deb
# dpkg -i zabbix-release_2.2-1+trusty_all.deb
# apt-get update

Zabbixパッケージのインストール

Zabbixパッケージをインストールします。dbconfig-commonがデータベースを作成し、初期スキーマとデータを自動的に投入します。データベースが別のサーバにある場合、/etc/dbconfig-common/configでdbc_remote_questions_default='true'を設定してください。

MySQLデータベースでZabbixサーバおよびWebインターフェースを使用する例を示します。

# apt-get install zabbix-server-mysql zabbix-frontend-php
zabbix-frontend-phpパッケージは、グラフ作成などで使用されるフォントをインストール中に設定します。どこか別のリポジトリから入手してパッケージを更新した場合で、グラフまたはマップでテキストが表示されていない場合は、「ttf-dejavu-core」パッケージがインストールされているかどうか確認し、「dpkg-reconfigure zabbix-frontend-php」コマンドを実行してみてください。

Zabbixエージェントのみをインストールする例を示します。

# apt-get install zabbix-agent

Webインターフェース用のPHP設定の編集

Webインターフェース用のApache設定ファイルは、/etc/apache2/conf.d/zabbixにあります。一部のPHP設定は、すでに設定されています。

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga

「date.timezone」設定で[変更]のコメントを外し、正しいタイムゾーンを設定する必要があります。設定ファイルを変更した後は、Apache Webサーバを再起動してください。

# service apache2 restart

Webインターフェースは、ブラウザーでhttp://zabbix-frontend-hostname/zabbixにアクセスして入手できます。デフォルトのユーザー名とパスワードは、「Adimin」と「zabbix」です。

トラブルシューティング

インストール固有の問題のトラブルシューティングのセクションを参照してください。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:21 · Miho Ejima

4 ソースからのインストール

最新のZabbixは、ソースからコンパイルすることで入手できます。 ここでは、ソースからZabbixをインストールする方法について手順を段階的に説明します。

2.1 Zabbixデーモンのインストール

1 ソースアーカイブのダウンロード

Zabbixダウンロードページに進んで、ソースアーカイブをダウンロードします。ダウンロードしたら、次を実行してソースを解凍します。

$ tar -zxvf zabbix-2.2.0.tar.gz
コマンドには、正しいZabbixのバージョンを入力してください。ダウンロードしたアーカイブの名前と一致している必要があります。

2 ユーザーアカウントの作成

Zabbixデーモンプロセスすべてについて、非特権ユーザーが必要です。Zabbixデーモンが非特権ユーザーから開始されると、そのユーザーとして実行されます。

ただし、デーモンが「root」アカウントから開始されると、必ず存在するはずの「zabbix」ユーザーアカウントに切り替わります。そうした(各自のグループ内で「zabbix」という)ユーザーアカウントをLinuxシステム上で作成するには、次を実行します。

groupadd zabbix
useradd -g zabbix zabbix

ZabbixのWebインターフェースのインストールには、個々のユーザーアカウントは必要ありません。

Zabbix サーバエージェントを同じマシンで実行する場合、サーバの実行とエージェントの実行に別々のユーザーを使用することをお奨めします。そうしないと、両方とも同じユーザーとして実行された場合、エージェントがサーバ設定ファイルにアクセスでき、ZabbixのAdminレベルのユーザーがデータベースのパスワードなどを容易に取得できます。

Zabbixをrootbin、または他の特権があるアカウントとして実行することは、セキュリティ上のリスクとなります。

3 Zabbixデータベースの作成

ZabbixサーバプロキシデーモンおよびZabbixのWebインターフェースには、データベースが必要です。Zabbixエージェントを起動する必要はありません。

データベーススキーマの作成およびデータセットの挿入のために、SQLスクリプトが用意されています。Zabbixプロキシデータベースは、スキーマのみを必要としますが、Zabbixサーバデータベースは、スキーマの先頭にデータセットも必要とします。

Zabbixデータベースの作成が完了したら、Zabbixをコンパイルする次のステップに進みます。

4 ソースの設定

Zabbixサーバまたはプロキシのソースを設定するときには、使用する予定のデータベースのタイプを指定する必要があります。サーバまたはプロキシのプロセスでコンパイルできるデータベースのタイプは、1回に1つだけです。

サポートされている設定オプションをすべて参照するには、解凍したZabbixソースのディレクトリの中で次を実行します。

./configure --help

Zabbixサーバおよびエージェントのソースを設定するには、次のように実行します。

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
--with-libxml2という設定オプションは、Zabbix 2.2.0以降でサポートされた仮想マシンの監視に必要です。

Zabbixサーバ(PostgreSQLなどで動作)のソースを設定するには、次を実行します。

./configure --enable-server --with-postgresql --with-net-snmp

Zabbixプロキシ(SQLiteで動作)のソースを設定するには、次を実行します。

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Zabbixエージェントのソースを設定するには、次のように実行します。

./configure --enable-agent

--enable-staticフラグを追加して、ライブラリを静的にリンクできます。コンパイルしたバイナリを異なるサーバ間で分配しようとする場合は、このフラグを使用して、必要なライブラリが存在しなくてもこれらのバイナリが動作するようにしなければなりません。 --enable-staticは、Solarisの環境では動作しないことに注意してください。

サーバを構築するときに、--enable-staticオプションの使用はお奨めしません。

静的にサーバを構築するには、必要な外部ライブラリすべてについて静的なバージョンが必要です。設定スクリプト内では、それについて厳密なチェックはありません。

--enable-agentオプションが使用されている場合、コマンドラインユーティリティzabbix_getおよび zabbix_senderがコンパイルされます。
--with-ibm-db2フラグを使用して、CLI APIの場所を指定します。
--with-oracleフラグを使用して、OCI APIの場所を指定します。

5 作成およびインストール

SVNからインストールする場合、最初に次を実行する必要があります。

$ make dbschema

make install

このステップは、十分な権限があるユーザーとして(一般には「root」、またはsudoを使用)実行する必要があります。

make installを実行すると、デフォルトでデーモンバイナリ(zabbix_server、zabbix_agentd、zabbix_proxy)が/usr/local/sbinに、クライアントバイナリ(zabbix_get、zabbix_sender)が/usr/local/binにインストールされます。

/usr/localとは異なる場所を指定するには、ソースを設定する前のステップで、例えば--prefix=/home/zabbixのように、--prefixキーを使用します。この場合、デーモンバイナリは<prefix>/sbinの下にインストールされ、ユーティリティは<prefix>/binの下にインストールされます。マンページは、<prefix>/shareの下にインストールされます。

6 設定ファイルの確認と編集

  • Zabbixエージェント設定ファイル/usr/local/etc/zabbix_agentd.conf の編集

zabbix_agentdがインストールされたすべてのホストについて、このファイルを設定する必要があります。

このファイルに、ZabbixサーバのIPアドレスを指定する必要があります。他のホストからの接続は拒否されます。

  • Zabbixサーバ設定ファイル /usr/local/etc/zabbix_server.confの編集

データベース名、ユーザー、パスワード(使用している場合)を指定する必要があります。

SQLiteの場合、データベースファイルのフルパスを指定する必要があります。DBユーザーとパスワードは必要ありません。

小規模な環境(監視対象ホスト数が10以下)にインストールする場合は、他のパラメータはデフォルトのままで構いません。Zabbixサーバ(またはプロキシ)のパフォーマンスを最大限に高めたい場合は、デフォルトのパラメータを変更する必要があります。詳細については、パフォーマンスチューニングのセクションを参照してください。

  • プロキシ設定ファイル/usr/local/etc/zabbix_proxy.confの編集(Zabbixプロキシをインストールした場合)

データベース名、ユーザー、パスワード(使用している場合)に加えて、サーバのIPアドレスとプロキシのホスト名(サーバに知らせる必要があります)を指定する必要があります。

SQLiteの場合、データベースファイルのフルパスを指定する必要があります。DBユーザーとパスワードは必要ありません。

7 デーモンの起動

サーバ側でzabbix_serverを実行します。

shell> zabbix_server
使用しているシステムで、共有メモリ36MB(またはもう少し多く)を割り当てられることを確認してください。そうでない場合、サーバは起動できず、サーバのログファイルに「Cannot allocate shared memory for <type of cache>.」というメッセージが出力されます。これは、FreeBSD、Solaris 8で発生する場合があります。
共有メモリの設定方法については、このページ下部の「こちらも参照」セクションを参照してください。

すべての監視対象マシンでzabbix_agentdを実行します。

shell> zabbix_agentd
使用しているシステムで、共有メモリ2MBを割り当てられることを確認してください。割り当てられない場合、エージェントは起動できず、サーバのログファイルに「Cannot allocate shared memory for collector.」というメッセージが出力されます。これは、Solaris 8で発生する場合があります。

Zabbixプロキシをインストールしている場合、zabbix_proxyを実行します。

shell> zabbix_proxy

2.2 Zabbix Webインターフェースのインストール

PHPファイルのコピー

ZabbixのWebインターフェースはPHPで書かれているため、実行するにはPHPをサポートしているWebサーバが必要です。インストールは、PHPファイルをfrontends/phpからWebサーバのHTMLの文書ディレクトリにコピーするだけです。

Apache WebサーバのHTMLの文書ディレクトリの共通の場所には、次のものがあります。

  • /usr/local/apache2/htdocs(Apacheをソースからインストールした場合のデフォルトのディレクトリ)
  • /srv/www/htdocs(OpenSUSE、SLES)
  • /var/www/html(Fedora、RHEL、CentOS)
  • /var/www(Debian、Ubuntu)

HTMLルートの代わりに、サブディレクトリを使用することをお奨めします。サブディレクトリを作成してZabbixのWebインターフェースのファイルをコピーするには、次のコマンドを実行して、実際のディレクトリを置き換えます。

mkdir <htdocs>/zabbix
cd frontends/php
cp -a . <htdocs>/zabbix

SVNからインストールし、英語以外の言語を使用する場合は、翻訳ファイルを生成する必要があります。翻訳ファイルを生成するには、次を実行します。

locale/make_mo.sh

gettextパッケージのmsgfmtユーティリティが必要です。

さらに、英語以外の言語を使用するには、そのロケールをWebサーバにインストールする必要があります。必要な場合のインストール方法については、「ユーザープロファイル」ページの「こちらも参照」セクションを参照してください。

Webインターフェースのインストール

ステップ1

ブラウザーで、ZabbixのURL(http://<server_ip_or_name>/zabbix)を開きます。

Webインターフェースのインストールウィザードで最初の画面が表示されます。

ステップ2

ソフトウェアの必要条件をすべて満たしていることを確認します。

必要条件最小値説明
PHPバージョン 5.3.0
PHP memory_limitオプション 128MB php.iniでの記述:
memory_limit = 128M
PHP post_max_sizeオプション 16MB php.iniでの記述:
post_max_size = 16M
PHP upload_max_filesizeオプション 2MB php.iniでの記述:
upload_max_filesize = 2M
PHP max_execution_timeオプション 300秒 php.iniでの記述:
max_execution_time = 300
PHP max_input_timeオプション 300秒 php.iniでの記述:
max_input_time = 300
PHP session.auto_startオプション 無効化が必要 php.iniでの記述:
session.auto_start = 0.
データベースのサポート 次のうち1つ:IBM DB2、MySQL、Oracle、PostgreSQL、SQLite 次のモジュールのうち1つがインストールされていること。
ibm_db2、mysql、oci8、pgsql、sqlite3
bcmath php-bcmath
mbstring php-mbstring
sockets php-net-socket
ユーザースクリプトのサポートに必要です。
gd 2.0以降 php-gd
PHP GDエクステンションは、PNG画像(--with-png-dir)、JPEG(--with-jpeg-dir)画像、FreeType 2(--with-freetype-dir)をサポートしている必要があります。
libxml 2.6.15 php-xmlまたはphp5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext
Zabbix 2.2.1以降は、PHP gettextエクステンションはもうZabbixのインストールの必須要件ではありません。gettextがインストールされていない場合、Webインターフェースは通常通り動作しますが、翻訳は利用できません。

Zabbix 2.2.1以降は、オプションの必要条件もリストに存在する場合があります。満たされていないオプションの必要条件があると、オレンジ色で表示され、ステータスが「警告」となります。必要条件を満たさないオプションがあっても、セットアップは続けられます。

ステップ3

データベースに接続するための詳細を入力します。すでにZabbixデータベースが作成されている必要があります。

ステップ4

Zabbixサーバの詳細を入力します。

ステップ5

設定した内容を確認します。

ステップ6

設定ファイルをダウンロードして、conf/の下に置きます。

Webサーバのユーザーにconf/ディレクトリへの書き込み権限がある場合、設定ファイルは自動的に保存され、直ちに次のステップへ進むことができます。

ステップ7

インストールを終了します。

ステップ8

ZabbixのWebインターフェースの使用準備が完了しました。デフォルトのユーザー名はAdmin、パスワードはzabbixです。

Zabbixの開始に進んでください。

トラブルシューティング

インストール固有の問題のトラブルシューティングのセクションを参照してください。

こちらも参照


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:22 · Miho Ejima

8 2.2.0へのアップグレードノート

要件の変更

  • PHPのサポートバージョンが、5.1.6以降から5.3.0以降に変更されました。
  • MySQLのサポートバージョンが、5.0.0以降から5.0.3以降に変更されました。
  • 「mysql」に代わって、「mysqli」PHPエクステンションが必要となります。
  • Zabbixプロトコルを使用するときに、128MBのデータ制限が64MBに変更されました。

新しいアップグレード手順

現在、アップグレードSQLスクリプトは存在せず、データベースのアップグレードは、Zabbixサーバ/プロキシにより実施されます。

データベースのアップグレードは、自動的に行われます。バックアップがあることを確認してから、新しいZabbixサーババイナリを開始してください。
SQLiteでは、自動データベースアップグレードはサポートされていません。

権限の変更

Zabbix 2.2以降、「読書可能」権限は「読込専用」権限よりも優先されます。以前は、ユーザーが(2つの異なるユーザーグループに属することで)特定のホストに対して「読込専用」および「読書可能」の両方の権限を持つ場合、そのホストに対しては、「読込専用」権限のみが有効でした。現在は「読書可能」権限が有効となります。

メンテナンス期間のロジック変更

以前のバージョンでは、メンテナンス期間を2日ごと、3日ごとなど日数で設定していた場合、初回メンテナンスは[開始日時]の2日後、3日後など設定した日数が経過したときに発生していました。本バージョンでは、初回メンテナンスは[開始日時]に発生し、その後、2日後、3日後など設定した間隔で発生するようになりました。

オブジェクトIDに対する64ビット範囲

現在、Zabbixは、スタンドアロンの非分散型のセットアップにおいて、内部オブジェクトIDは符号付き64ビット範囲をサポートしています。これにより、1つのタイプのオブジェクトで使用できる最高の数は、263-1となっています。

データベースモニタアイテムの変更

以前、すべてのODBCパラメータは、次のフォーマットでアイテム追加パラメータフィールドに保存されていました。

DSN=<data source name>
user=<user name>
password=<password>
sql=<query>

Zabbix 2.2.0では、ODBCパラメータの保存が次のように変更されています。

  • <data source name>は、第2のパラメータとしてアイテムキーに保存されます。
  • <user name>は、アイテムユーザー名フィールドに保存されます。
  • <password>は、アイテムパスワードフィールドに保存されます。
  • <query>は、アイテム追加パラメータフィールドに保存されます。

データベースのアップグレードを行うと、データベースモニタアイテムが新しいフォーマットへ自動的に変換されます。唯一の例外は、次の制限を超えるアイテムです。

  • <data source name>の長さとアイテムキーの長さの合計は、255文字を超えてはなりません。
  • <user name>の長さは、65バイトを超えてはなりません。
  • <password>の長さは、65バイトを超えてはなりません。

上記の制限のために変換されないアイテムがある場合は、変更されないまま残され、警告メッセージがログファイルに書き込まれます。そのようなアイテムは、次のようにして手動で変換する必要があります(問題のパラメータを短縮して、新しい制限に適合させます)。

  1. <data source name>を第2パラメータとしてアイテムキーに加えます。
  2. <user name>、<password>をそれぞれユーザー名フィールド、パスワードフィールドに移動します。
  3. <query>のみ<SQL query>フィールドに残します。

次は、アイテム変換失敗の警告メッセージの例です。

 25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because key "db.odbc.select[query4__123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789]" is too long. See upgrade notes for manual database monitor item conversion.
 25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because ODBC username "123456789_123456789_123456789_123456789_123456789_123456789_123456789_" is too long. See upgrade notes for manual database monitor item conversion.
 25208:20130807:103348.467 Failed to convert host "dbmonitor" db monitoring item because ODBC password "123456789_123456789_123456789_123456789_123456789_123456789_123456789_" is too long. See upgrade notes for manual database monitor item conversion.

iODBCのサポートの解除

Zabbixは、ダイレクトデータベース監視について、unixODBCおよびiODBCをサポートしていました。iODBCは、積極的なメンテナンスが行われておらず、Zabbixで使用しているユーザーの存在が不明であったため、2.2ではiODBCのサポートを解除しました。データベース監視では、unixODBCが使用されているはずです。

内部チェックの変更

現在、zabbix[items] 内部チェックは、データベース内のアイテムの総数の代わりに監視対象アイテムの数を返します。 プロキシにより監視されるホストの内部チェックは、現在、プロキシによって処理されます。

EOFの代わりに返される空白文字列

失敗時にEOFを返していたいくつかのアイテム、vfs.file.contentsvfs.file.regexpweb.page.getweb.page.regexp は、現在、空白文字列を返します。

Windowsイベントログアイテムの変更

Windowsイベントログアイテムでは、ソースフィルタオプションが変更され、正規表現をサポートしています。 データベースをアップグレードすると、eventlogアイテムキーの第4パラメータが正規表現に自動的に変換されます(既存のすべてのeventlogアイテムキーについて、第4パラメータの最初と最後にそれぞれ^と$という文字が加えられます)。

SNMPチェックのタイムアウトとリトライ

現在、Zabbixサーバおよびプロキシデーモンは、SNMPチェックを実施する際、タイムアウト設定パラメータを適切に使用します。さらに現在、デーモンは、SNMPリクエストが1つでも失敗すると(タイムアウト/不正な資格)、リトライを実施しません。以前は、SNMPライブラリのデフォルトのタイムアウトおよびリトライの各値(それぞれ1秒およびリトライ5回)が実際に使用されていました。

アイテムパラメータ検証の変更

Zabbixエージェントによるさらに厳格なパラメータ検証が導入されました。以前は、アイテムのパラメータがサポートされていない場合、そのパラメータは無視されていましたが、現在、そうしたアイテムは、ZBX_NOTSUPPORTEDを返して取得不可となります。

2.2以降、Zabbixエージェントは、net.dnsチェックのタイムアウト値またはカウント値が無効な場合、ZBX_NOTSUPPORTEDを返します。以前は、検証が存在せず、デフォルト値か0という値が使用されてきました。今後、ゼロという値もエラーとして取り扱われます。

system.unameアイテムの変更

Zabbix 2.2より前は、system.unameの値は、Unixシステム上で「uname -a」を呼び出して取得していました。Zabbix 2.2以降、この値は、uname()システムコールを使用して取得します。そのため、このアイテムの値は、アップグレード後に変更される可能性があり、他のソースに基づいて「uname -a」が出力する追加情報を含みません。

{EVENT.*}マクロの変更

{EVENT.ID}、{EVENT.TIME}、{EVENT.DATE}、{EVENT.AGE}、{EVENT.ACK.HISTORY}、{EVENT.ACK.STATUS}などのEVENT.*マクロは、Zabbix 2.2から実装された復旧通知レポートにおいて、動作が異なります。

以前は、リカバリメッセージでの使用時、復旧イベントの情報を返しました。Zabbix 2.2では、本来の障害イベントの情報を返します。

復旧イベントについての情報を返すには、{EVENT.RECOVERY.ID}、{EVENT.RECOVERY.TIME}など、別々の復旧(EVENT.RECOVERY.*)マクロを導入します。詳細については、場所ごとにサポートされるマクロを参照してください。

{ESC.HISTORY}マクロの変更

以前は、1つのエスカレーションステップにより複数のメッセージが生成されると、{ESC.HISTORY}マクロの値は送信先ごとに異なっていました。現在、通知レポートが複数の送信先へ送信される場合、{ESC.HISTORY}は、同一エスカレーションステップ内では同一のメッセージ内容を作成します。

正規表現テスト

正規表現のテスト結果を表示するロジックが改善されました。結果が示されるのは、条件の適用後であり、適用前ではありません。

APIの変更

APIのバージョンが2.2.0に変更され、今後はZabbixのバージョンと一致するようになります。

「最新データ」の送信データの増加

最新データページは、現在、折り畳まれたものを含むすべての項目についてデータを送信します。これにより、場合によってはページサイズがかなり増加します。

データの保存期間の変更

DisableHousekeepingサーバ設定オプションはサポートされません。その代わりに、Webインターフェースに詳細なコントロールが配置されており、[管理]→[一般設定]→[データの保存期間]で選択します。これにより、特定のテーブルについてデータの保存期間のプロセスの有効/無効を選択できます。

データの保存期間は、2.2へのアップグレード後、デフォルトでは無効化されています。データの保存期間の機能が必要な場合は、手動で有効にしなければなりません。

サーバでのJSONの検証

以前は、若干正しくないJSONも、Zabbixサーバに受け入れられました。Zabbix 2.2以降、構文の検証が実施されます。正しくないJSONの構文でカスタムLLDルールが使用されていた場合、動作が停止する可能性があります。そのような場合、カスタムルールが適切なJSONを返すように修正する必要があります。

デーモンパラメータのUTF-8の検証の追加

デーモン設定パラメータの検証が変更され、非UTF-8文字列が認められないようになりました。

ログアウトセッションの検証

ログアウトでは、現在、URLに有効なSIDが渡される必要があります。

スクリーン要素の変更

ホストトリガーのステータスおよびホストグループトリガーのステータスのスクリーン要素は、それぞれホストの障害およびホストグループの障害に名前が変更されました。

以前は、イベントを伴わないトリガーは、これら2つのウィジェットにも最新20個の障害ウィジェットにも表示されませんでした。 現在、イベントを伴わないトリガーも、3つの場所すべてに表示されます。

ダッシュボードウィジェット位置の保存メカニズム

2.2へのアップグレード後、カスタムダッシュボードレイアウトがなくなります。これは、以前はcookieに保存されていたダッシュボードウィジェット位置が、現在はデータベースに保存されることが原因です。

アップグレード後、ブラウザにもう使用されないダッシュボードのcookieが残っている場合があります。新しいバージョンには、それらを使用して動作する機能がないためです。

送信済みデータに対するトラッパーの応答の変更

Zabbix 2.2.0の前は、アクティブなエージェント/senderにより送信された値に対するトラッパーの応答は、次のフォーマットの情報フィールドを含んでいました。

Processed <N> Failed <N> Total <N> Seconds spent <N>

Zabbix 2.2.0からは、この情報フィールドのフォーマットが変更され、読みやすくなりました。

processed: <N>; failed: <N>; total: <N>; seconds spent: <N>

Zabbix senderの終了ステータスの変更

Zabbix 2.2.0から、Zabbix senderは、値をすべて送信して無事に終了した場合のみ、終了ステータス0で終了するようになります。値のうち1つでも処理に失敗すると、終了ステータスは2になります。データ送信に失敗すると、終了ステータスは1になります。さらに、引数またはサーバが指定されていない場合、終了ステータスは1となり、-hやーVオプションの場合、終了ステータスは0になります(Zabbix 2.2.0より前は、上記の状況における終了ステータスは255でした)。

また、ファイルからデータを読み取る場合(-i)またはリアルタイムモードで動作する場合(-r)、Zabbix senderは、入力行の構文解析または送信に失敗すると、直ちに正しい終了ステータスで終了します。

Oracleでの異なる列の順序

アップグレード後は、新規インストールと比較すると、アラートテーブルの列の順序が異なります。(Oracleのみ)。これは、Oracleでは列のタイプをvarcharからnclobへ変更できないこと、および列を特定の場所に挿入できないことによるものです。これによる機能面の相違はまったく生じません。

アイテムのヘルプの定義をPHPコードへ移動

以前はhelp_itemsテーブルに保存されていた標準のアイテムキーは、現在、frontends/php/include/classes/items/CHelpItems.php内のPHP CHelpItemsクラスで定義されています。help_itemsテーブルは削除されました。

デーモンのセキュリティの修正

現在、Zabbixサーバは、Ez Textingサービスを使用してアラートを送信するとき、SSLホストの検証を有効にします。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:25 · Miho Ejima

5 アップグレード手順

概要

このセクションでは、Zabbix 2.0.xから2.2へのアップグレードを滞りなく行うために必要なステップを示します。 多くのイベントがある場合、データベースのバージョン2.2へのアップグレードは、長時間かかる場合があります。手動でイベントテーブルを削減して、アップグレードプロセスを速めることができます。

必ずアップグレードノートを読んでから、アップグレードを開始してください。

1 Zabbixサーバの停止

Zabbixサーバを停止して、新しいデータがデータベースに挿入されないようにします。

2 既存のZabbixデータベースのバックアップ

これは非常に重要なステップです。データベースのバックアップが存在することを確認してください。これは、アップグレード手順が失敗した場合に(ディスク容量の不足、電源オフ、その他予期せぬ問題)役立ちます。

3 設定ファイル、PHPファイル、Zabbixバイナリのバックアップ

Zabbixバイナリ、設定ファイル、PHPファイルのバックアップを作成します。

4 新しいZabbixサーバのバイナリをインストール

あらかじめコンパイルされたバイナリを使うことも、自分でコンパイルすることも可能です。

5 サーバの設定パラメータを確認

zabbix_server.confの一部のパラメータは、2.0から変更されたり、新しいパラメータが追加されている場合があります。それらを確認してください。

6 新しいZabbixバイナリの開始

新しいZabbixバイナリを開始します。ログファイルを参照して、バイナリが問題無く開始したかどうか確認してください。

Zabbixサーバは、データベースを自動的にアップグレードします。

サーバを起動する前に次のことを行います。

  • データベースのユーザーに十分な権限(テーブルの作成、テーブルの削除、インデックスの作成、インデックスの削除)が与えられていることの確認
  • 十分な空きディスク容量があることの確認

Zabbixサーバがデータベースを自動的にアップグレードするのは、Zabbix 2.0.xから2.2への場合のみです。それより前のバージョンからのアップグレードについては、2.0またはそれ以前のZabbixの文書を参照してください。

7 新しいZabbix Webインターフェースのインストール

インストールの説明に従ってください。


本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。

2014/09/12 08:23 · Miho Ejima

本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。