Zabbixのインストール方法はZABBIX-JPが配布するRedHat/CentOS用RPMによるインストールとソースコードからのインストール方法があります。通常はRPMを利用したインストール方法が簡単でアップグレードも容易です。OSに付属するデータベースやPHPを利用せず、独自にコンパイルしたものを利用する場合はZabbixもソースコードからのコンパイルが必要になります。
また、ZABBIX-JPではZabbixの動作に必要なライブラリや外部ソフトウェアのうち、RedHat/CentOSには含まれていないものもRPMで配布しています。ソースからインストールを行う場合でも、これらのRPMを利用することで簡単にZabbixをインストールすることができます。
目的に応じて以下のドキュメントを参照してください。個々の機能の詳細についてはZabbix SIAのオフィシャルドキュメント(英語, 日本語)を参照してください。
ZABBIX-JPのyumリポジトリを登録することで、yumを利用したZABBIXのインストール/アップデートを行うことができます。ZABBIX RPMファイルやyumリポジトリ登録用RPMファイルのバグ報告はフォーラムにお願いします。
以下のコマンドを実行します
# rpm -ivh http://repo.zabbix.jp/relatedpkgs/rhel4/i386/zabbix-jp-release-4-6.noarch.rpm
以下のコマンドを実行します
# rpm -ivh http://repo.zabbix.jp/relatedpkgs/rhel5/i386/zabbix-jp-release-5-6.noarch.rpm
以下のコマンドを実行します
# wget http://repo.zabbix.jp/relatedpkgs/rhel6/i386/zabbix-jp-release-6-6.noarch.rpm # rpm -ivh zabbix-jp-release-6-6.noarch.rpm
zabbix-jp-release-*-1.noarch.rpmからアップグレードする場合、一度RPMを削除してから上記のコマンドを実行してください。/etc/yum.repos.d/zabbix-jp.repoファイルが存在すれば正常にインストールが行われています。
zabbix-jp-releaseで提供されるyumリポジトリ登録ファルは、不用意にZABBIXのメジャーバージョンアップが行われないようにZABBIXのメジャーバージョンを手動で切り替える仕組みになっています
デフォルトではZABBIX 1.4系のリポジトリを利用するように設定されています。現在利用しているリポジトリのバージョンの確認や他のメジャーバージョンへの切替方法は以下を参照してください。
以下のコマンドを実行します。
# alternatives --display zabbix-jp-release
以下のように現在の設定が出力されます。下記の場合、ZABBIX 1.4のリポジトリが選択されています。
zabbix-jp-release - ステータスは手動です。 リンクは現在 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo を指しています。 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo - 優先項目 10 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo - 優先項目 30 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo - 優先項目 20 現在の「最適」バージョンは /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo です。
以下のコマンドを実行します。
# alternatives --config zabbix-jp-release
以下のように表示されるため、利用したいZABBIXバージョンの行の先頭に表示されてる番号を入力してEnterを押します。
3 プログラムがあり 'zabbix-jp-release' を提供します。 選択 コマンド ----------------------------------------------- 1 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo *+ 2 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo 3 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
yumのリポジトリのキャッシュを削除します。
# yum clean all
yum searchを実行して選択したZABBIXのバージョンが表示されれば成功です。
# yum search zabbix
zabbix-jp-release-*.2にはバグが含まれており、以降のバージョンにアップグレードした場合にalternatives設定ファイルが削除されてしまいます。リポジトリ設定自体は削除されませんが、alternativesコマンドを利用したリポジトリ選択を行うことができません。
正常なalternatives設定画面 (zabbix-jp-release-5-2から5-3へアップデートした画面の例)
# alternatives --display zabbix-jp-release zabbix-jp-release -ステータスは自動です。 リンクは現在 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo を指しています。 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo - 優先項目 10 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo - 優先項目 20 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo - 優先項目 40 /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo - 優先項目 30 現在の「最適」バージョンは /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo です。
問題が発生した場合のalternatives設定画面 (zabbix-jp-release-5-2から5-3へアップデートした画面の例)
# alternatives --display zabbix-jp-release zabbix-jp-release - ステータスは手動です。 リンクは現在 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo を指しています。 /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo - 優先項目 30 現在の「最適」バージョンは /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo です。
zabbix-jp-releaseをいちど削除し、再インストールを行ってください。
zabbix-jp-releaseを削除 (alternatives関連のエラーが出ます)
# rpm -e zabbix-jp-release
再度インストール
# rpm -ivh zabbix-jp-release-5-3.noarch.rpm
ZABBIX-JPのリポジトリをyumに登録していない場合はZABBIX-JPのyumリポジトリ利用方法を参考にあらかじめ設定を行ってください。
以下のコマンドでZabbixパッケージをインストールします。
# yum install zabbix zabbix-agent zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql
ZabbixサーバのデータベースとしてMySQLを利用する場合の設定
[mysqld] ・・・デフォルトの設定は残す・・・ default-character-set=utf8 skip-character-set-client-handshake # mysqldセクションに含まれるよう、mysqld_safeよりも上に設定を書くこと [mysqld_safe] ・・・デフォルトの設定は残す・・・
(※MySQL 5.5以降では「default-character-set=utf8」ではなく「character-set-server=utf8」を利用します。)
# service mysqld start
(※ Xen 準仮想環境上では、TLSが無効なためにMySQL自体が起動しない場合があります。その場合には「skip-bdb」を /etc/my.cnf の [mysqld] セクションに追加するなどの回避方法があります。)
# mysqladmin create zabbix --default-character-set=utf8
# mysql -uroot mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> flush privileges; mysql> quit
# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/schema/mysql.sql # mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/data/data.sql # mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/data/images_mysql.sql
# service httpd start
http://zabbix-server-address/zabbix
PHP設定の確認画面。すべてOk表示になるように設定を行う必要があります。
(※SELinuxを有効にしている場合はファイルを自動的に保存できませんので、一度ダウンロードして、そのファイルをZABBIX-JPのRPMを利用している場合は、/etc/zabbixディレクトリに配置してください。ソースから導入された場合は、フロントエンド用PHPのファイルを配置したディレクトリの下にあるconfディレクトリに配置してください。)
デフォルトでは以下のアカウントを使ってWebインターフェースにログインすることができます。
# Database host name # Default is localhost #DBHost=localhost # Database name # SQLite3 note: path to database file must be provided. DBUser and DBPassword are ignored. DBName=zabbix # Database user DBUser=zabbix <- データベースユーザ名を設定 # Database password # Comment this line if no password used DBPassword=zabbix <- コメントアウトを外してデータベースパスワードを設定
# service zabbix-server start
Server=127.0.0.1 <- ZabbixサーバのIPアドレスを設定 # Server port for sending active checks #ServerPort=10051 # Unique hostname. Required for active checks. Hostname=Zabbix Server <- Webインターフェースのホスト設定で登録するホスト名と同じ値を設定 # Listen port. Default is 10050 #ListenPort=10050 # IP address to bind agent # If missing, bind to all available IPs ListenIP=127.0.0.1 <- ListenするIPインターフェースを設定
# service zabbix-agent start
Zabbixのバージョンははバージョン表記のうちZ.Y.ZのZ.Yまでがメジャーバージョン、Zがマイナーバージョンを表します。1.6、1.8などがメジャーバージョン、1.8.5、1.8.10の3つ目の数字がマイナーバージョンです。
Zabbixサーバはエージェントに対して下方互換性を持つように開発されています。そのためZabbixサーバをアップグレードするために、各監視対象にインストールされているエージェントをアップグレードする必要はありません。実運用にあたり、先にZabbixサーバのみをアッップグレードしておき、後から随時エージェントをアップグレードしていくことができます。
ただし、エージェントのバージョンに依存する監視機能については、エージェントのアップグレードを行わないと新機能に対応することはできません。(例えば、1.8から追加されたログ監視用のlogrtキーを利用するためにはZabbixサーバ、エージェントともに1.8以上を利用する必要があります。)
1.8 -> 1.8.10のようにマイナーバージョン間のアップグレードの場合はバイナリを置き換えるのみでアップグレードが完了します。ZABBIX-JPのyumリポジトリを利用している場合は以下の手順でアップグレードを行ってください。
# service zabbix-server stop # service zabbix-agent stop
# yum update zabbix
# service zabbix-server start # service zabbix-agent start
メジャーバージョン間のアップグレードにはデータベースのスキーマ変更が必要です。スキーマ変更用のSQLファイルはRPMやソースコードに付属するため簡単に行えますが、事前にデータベースのバックアップを取得したり、SQL適用の手順が必要なためマイナーバージョン間のアップグレードより手間がかかります。アップグレードに際しては事前の検証などを行われることを推奨します。
動いているZabbixを止めます。
# service zabbix-server stop # service zabbix-agent stop
念のために以下のコマンドでzabbixデータベース全体のバックアップを取得しておきます。長期間のデータが保存されている場合、この処理には時間がかかることがあります。以下はMySQLを使用している場合です。
# mysqldump --opt --no-autocommit -uroot -p -B zabbixのデータベース名 > zabbix.dump
以下のようにコマンドを実行し、利用するリポジトリを1.6から1.8に切り替えます
# alternatives --config zabbix-jp-release 4 プログラムがあり 'zabbix-jp-release' を提供します。 選択 コマンド ----------------------------------------------- 1 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo 2 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo *+ 3 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo 4 /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 4 <-- 4を入力して1.8のリポジトリを選択
以下のコマンドを実行しRPMをアップグレードします。
# yum clean all # yum update zabbix
/usr/share/doc/zabbix-server-1.8.10/dbpatches/1.8/使用しているDBに移動し、patch.sqlを実行します。以下はMySQLを使用している場合です。
mysql -uアカウント -p zabbixのデータベース名 < patch.sql
パッチの実行時にエラーが出た場合、取得しておいたデータベースのバックアップを戻してから再度試してみてください。ページ末尾の「アップグレード時にエラーが出た場合」もご参考ください。
ZABBIX 1.6とZabbix 1.8では設定ファイルの表記が異なっています。動作に最低限必要な設定は変わっていませんので前のバージョンの設定ファイルを見ながら新しい設定ファイルします。以下は最低限の設定が必要です。(MySQLを使用していた場合)
LogFile=ログファイルの出力先 PidFile=PIDファイルの出力先 DBName=データベース名 DBUser=データベースの接続アカウント DBPassword=データベースの接続パスワード ListenIP=ZabbixサーバのIPアドレス
PidFile=PIDファイルの出力先 LogFile=ログファイルの出力先 Server=ZabbixサーバのIPアドレス Hostname=(フロントエンドに登録する)ホスト名 ListenIP=ZabbixエージェントのIPアドレス
いくつかのバージョンの組み合わせでエラーが出ることが確認されています。エラーが発生した場合は以下の情報も参考にしてください。
以下のSQLを実行します。
alter table dhosts drop index dhosts_1; alter table dservices drop index dservices_1; alter table httptest drop index httptest_2; alter table httptest drop index httptest_3; alter table history_log drop index history_log_2; alter table history_text drop index history_text_2; alter table actions drop index actions_1; alter table escalations drop index escalations_2; alter table graphs_items drop index graphs_items_1; alter table graphs_items drop index graphs_items_2; alter table services drop index services_1;
※:2011/06/26時点では1.6.8->1.8.3、1.6.9->1.8.5でエラーの発生が確認されています。
[xxxxxxxx]# cat patch.sql | mysql -uXXXX -pXXXX zabbix ERROR 1061 (42000) at line 1: Duplicate key name 'actions_1'
対策:パッチ実施前に下記の実行が必要です。
MySQLの場合
alter table dhosts drop index dhosts_1; alter table dservices drop index dservices_1; alter table httptest drop index httptest_2; alter table httptest drop index httptest_3; alter table history_log drop index history_log_2; alter table history_text drop index history_text_2; alter table actions drop index actions_1; alter table escalations drop index escalations_2; alter table graphs_items drop index graphs_items_1; alter table graphs_items drop index graphs_items_2; alter table services drop index services_1;
Oracleの場合
drop index dhosts_1; drop index dservices_1; drop index httptest_2; drop index httptest_3; drop index history_log_2; drop index history_text_2; drop index actions_1; drop index escalations_2; drop index graphs_items_1; drop index graphs_items_2; drop index services_1;