第7回 まとめ (2/4)

技術特集

1_zabbix7_tit

tit_zabbix
2)バージョンアップ時の留意点

現時点でも1.8以前のバージョンを利用されている方がいらっしゃるようですので、今後、バージョンアップに際して留意しておいたことが良いと思われることもご紹介しておきます。


Zabbixでは、1.6から1.8、1.8から2.0、2.0から2.2というように、バージョンアップする際にデータベースのテーブルにも変更が入っています。
ですので、バージョンアップする際には、その差分のデータベースの変更作業が必要になります。


特に、1.8から2.0へのバージョンアップ時には、監視の為に取得した履歴データすべてに対して、より細かなタイムスタンプを取り扱えるようにするためのカラムの追加が入ります。

実際の移行時のこのデータベースの変更には、履歴があればあるほど時間がかかってしまいますのでご注意ください。
※サポート契約を行うと、より短時間で変換させる手順を紹介して頂けるようです。


具体的にバージョンアップする際には、以下のような手順でデータベースのバージョンアップを行います。
作業を開始する前に、データベースのバックアップはきちんと行ってから作業されることを強くお勧めします。
以下の例は、zabbix-server-mysql-2.2.9のパッケージを利用してインストールした環境の場合です。
ソースからインストールされた場合は、ソースを展開したディレクトリの下のupgrades/dbpatchesディレクトリに同様のファイルが用意されています。


極端な例ではありますが、1.4をインストールしていた環境から2.0に変換するには、以下のように段階的にデータベースをバージョンアップすることが必要です。


1.4用から1.6用へ変換

1
2
# cd /usr/share/doc/zabbix-server-mysql-2.2.9/upgrades/dbpatches/1.6/mysql/
# mysql -uroot zabbix -p < patch.sql

1.6用から1.8用へ変換

1
2
# cd /usr/share/doc/zabbix-server-mysql-2.2.9/upgrades/dbpatches/1.8/mysql/
# ./upgrade -uroot zabbix -p

1.8用から2.0用へ変換

1
2
# cd /usr/share/doc/zabbix-server-mysql-2.2.9/upgrades/dbpatches/2.0/mysql/
# ./upgrade -uroot zabbix -p

1.6からなら2番目、1.8からなら3番目の手順から実施してください。


ちなみに、2.0用のデータベースに変換が終了している、もしくは、2.0から2.2にバージョンアップする場合は、2.2用のZabbixサーバをインストールして、設定ファイルの設定が終わり次第zabbix_serverを起動することで、現在のデータベースのバージョンをチェックし、必要であれば2.0用から2.2用へと自動的に変換を行います。


変換が終了すれば、2.2用のWebインターフェースからもアクセスできるようになります。
変換が終了したかどうかは、Zabbixサーバのログ(/var/log/zabbix/zabbix_server.log)を確認してください。
変換中はサーバの監視を行うことができません。



極力監視を停止しないようにするのであれば、新しいバージョンのZabbixサーバを別途用意して、既存のZabbixサーバと並行運用させる方法もあります。


これを利用するには、Zabbixエージェントが1.8.12以降である必要があるのですが、zabbix_agentd.conf内の設定で、


  • Serverの値に新しいZabbixサーバをカンマ区切りで追記
  • ServerActiveという値に新旧両方のZabbixサーバをカンマ区切りで記載

という設定を行うことで、既存のZabbixサーバと新規のZabbixサーバからそのZabbixエージェントを監視することができるようになります。


例えば、ZabbixサーバのIPアドレスが、それぞれ192.168.1.10と192.168.1.11であった場合には、以下のような設定を行います。
zabbix_agentd.conf変更後は、Zabbixエージェントを必ず再起動してください。

1
2
Server=192.168.1.10,192.168.1.11
ServerActive=192.168.1.10,192.168.1.11

ただし、監視のアイテム、トリガー、アクションなどの設定は、Zabbixのexport/importの機能を利用するか、別途手動で移行することが必要となります。


この平行運用での問題点としては、旧サーバ上にある過去の履歴情報は、新サーバでは引き継げませんので、過去の履歴情報の引き継ぎがどうしても必要である場合は、古いバージョンのデータベースを変換して新しいデータベースに変換することが必要となり、データベースの変換時間帯に監視を停止することが必要に なると思いますので、


  • 過去の履歴の重要性
  • 監視の停止が許される時間

などを考慮して、何を優先してどのように移行するかをご検討ください。


Zabbix SIAのパートナー各社様でも、先ほどのデータベースの変換と合わせて、アップグレードの相談もできると思いますので、そういったサポートサービスの利用も検討されるとよいでしょう。


現在のZabbix SIAのパートナー一覧

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