印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux Zabbix のアップグレード (2.0.9 → 2.4.8)

ネットワーク監視ツール Zabbix 2.0.9 を 2.4.8 にアップグレードする。

■ ■ ■

はじめに

Zabbix のアップグレードを行う。このサイトで最初に導入したのは Zabbix 2.0.1 だったが,その後サーバのハードディスクが壊れたのを期に,サーバを再構築して Zabbix 2.0.9 に上げた。最新版は Zabbix 3.0.4 で,ファイルから数値を取り込めるという新機能がついているが,しばらくは様子見とすることにして,今回は見送り。その手前の最新版に更新する。

最近 Zabbix は LTS (長期サポート: Long Term Support) を始めていて,2.2 や 3.0 は LTS の対象となっていてサポート期間が長いが,2.4 は対象ではないので短い (Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション)。

動作環境

動作環境は,Vine Linux 6.2, Apache 2.2.31, PHP 5.5.36, MySQL 5.1.73。Zabbix は,更新前は Zabbix 2.0.9 は, 更新後は 2.4.8 となる。

アップグレード手順

アップグレード手順は,コミュニティサイトにコマンドベースの記述がある (Zabbixのアップグレード | ZABBIX-JP)。情報が若干古いが (1.6→1.8),流れとしては同じである。

ここでは,バイナリパッケージが提供されていないことを前提に,ソースから構築する (Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション)。バージョン 2.0→2.4 のメジャーバージョンアップなので,設定は古い設定ファイルを使い続けるのではなく,新しい設定ファイルを使うことにする。本来なら,2.0→2.2→2.4 のように順にアップグレードするものだが,途中を抜かしても可能である。

Zabbix 2.2.0 までは,アップグレードの際に手動でデータベースにパッチを適用する必要があったが,2.2.0 以降はこの手続が不要となった (8 Upgrade notes for 2.2.0 [Zabbix Documentation 2.2])。

以下の記述では,プロンプトが「$」の場合は一般ユーザ,「#」の場合は root 権限での実行を意味するとする。

バックアップ

データベースをバックアップする。ついでに圧縮。データベース名は zabbix である。

# mysqldump -uroot --events --default-character-set=utf8 -B zabbix | gzip -c - > zabbix.dump.20160820.sql.gz

設定ファイルの名前を変更する。同名の設定ファイルがあると上書きされないので,あらかじめ変更しておく。

# cd /usr/local/etc
# mv zabbix_agent.conf zabbix_agent_2.0.9.conf
# mv zabbix_agent.conf.d zabbix_agent_2.0.9.conf.d
# mv zabbix_agentd.conf zabbix_agentd_2.0.9.conf
# mv zabbix_agentd.conf.d zabbix_agentd_2.0.9.conf.d
# mv zabbix_agentd.conf.org zabbix_agentd.conf_2.0.9.org
# mv zabbix_proxy.conf zabbix_proxy_2.0.9.conf
# mv zabbix_proxy.conf.d zabbix_proxy_2.0.9.conf.d
# mv zabbix_server.conf zabbix_server_2.0.9.conf
# mv zabbix_server.conf.d zabbix_server_2.0.9.conf.d
# mv zabbix_server.conf.org zabbix_server_2.0.9.conf.org

これが地味に手間。

コンパイル

コンパイルとインストールを行う。

$ ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
$ make
# make install

設定ファイルの確認

新しい設定ファイルをオリジナルとしてバージョンをつけて退避しておいて,旧設定ファイルと比較し,追加部分を表示する。コメント行以外の,「+」で始まる行を表示させる。

# cp -a zabbix_server.conf zabbix_server_2.4.8.conf.org
# diff -Naru zabbix_server.conf zabbix_server_2.0.9.conf | grep '^+' | grep -v '^+#'
# vi zabbix_server.conf

エージェントも同様。

# cp -a zabbix_agentd.conf zabbix_agentd_2.4.8.conf.org
# diff -Naru zabbix_agentd.conf zabbix_agentd_2.0.9.conf | grep '^+' | grep -v '^+#'
# vi zabbix_agentd.conf

フロントエンドの更新

PHP で動作する Zabbix のフロントエンドを更新する。方針としては,フロントエンドのディレクトリにはバージョン番号を含めておき,そのディレクトリにバージョン番号のないシンボリックリンクを張る。こうしておくと,バージョンの切り替えがシンボリックリンクだけでできるので便利である。フロントエンド内の設定ファイルは新フロントエンド内にコピーしている。

$ mv frontends/php/ /path/to/zabbix-2.4.8/
$ cd /path/to
$ ln -s zabbix-2.4.8/ zabbix
$ cp -a zabbix-2.0.9/conf/zabbix.conf.php zabbix/conf/

シンボリックリンク zabbix に Web アクセスするように設定すればよい。

Posted by n at 2016-08-20 13:29 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?