Zabbix1.8 から 2.0への移行

2012年4月27日(金)
池田 大輔

4. Zabbix旧バージョン用インデックスを削除

node_cksumテーブルのインデックスを削除します。
以下、MySQLの場合の手順を示します。

$ mysql -uzabbix -p zabbix

mysql> SHOW INDEX FROM node_cksum;  ←node_cksumテーブルのインデックス確認
mysql> DROP INDEX node_cksum_1 ON node_cksum;  ←node_cksum_1削除

1.8.0からバージョンアップする場合や、1.6系をアップグレードした1.8系から2.0にバージョンアップする場合には、node_cksum_cksum_1というインデックスも存在するので、そのインデックスも削除します。

5. データベースの更新スクリプト実行

データベースをZabbix2.0に対応させるためスクリプトを実行します。

データベースアップグレード用スクリプトは、ソースコードディレクトリ内のupgrades/dbpatches/2.0以下にあります。データベースの種類毎に更新スクリプトが用意されているので、環境に合わせて選択してください。

$ cd /home/ikeda/install/zabbix-2.0.0rc2/upgrades/dbpatches/2.0/mysqll
$ mysql -uzabbix -p zabbix < patch.sql
Enter password:パスワード入力

6. Zabbix Server起動

あとは、Zabbix Serverを起動すれば完了です。

ここでの注意点としては、Zabbix Serverの起動スクリプト(/etc/init.d/zabbix_server)内でZabbix2.0のバイナリファイルや設定ファイルの場所を指定するのを忘れないでください。

Zabbix Agent

前回の記事で紹介したローレベルディスカバリ監視機能など、Zabbix2.0で導入された新機能を有効にするためには、Zabbix ServerだけでなくZabbix Agentも更新する必要があります。Zabbix Agentの更新は、Zabbix1.8のAgentをアンインストールし、Zabbix2.0のAgentをインストールするという作業で実施可能です。

RPMパッケージを利用して導入している場合はパッケージのアップデートを実施します。Zabbix Agentの設定ファイル(zabbix_agentd.conf)での設定項目に関しては、Zabbix1.8と2.0で異なる点はないため、1.8で利用していた設定ファイルをそのまま利用することが可能です。

Zabbix2.0への移行に際し、より移行を安全に行うため、「Zabbix1.8とZabbix2.0を並行運用する期間を設けたい」といった場合もあるかと思います。その場合、Zabbix Agent設定(zabbix_agentd.conf)のServerにカンマ区切りで1.8と2.0のZabbix ServerのIPアドレスを設定することで、両Zabbix Serverからの監視が可能になります。

Zabbix2.0のサーバーから1.8のZabbix Agentの監視を行うことも可能です(ただし、Zabbix2.0の新機能を利用した監視を除く) 。

その他アップグレード時の注意

その他、2.0へのアップグレード時に注意すべき点は以下になります。

Zabbix Proxy対応

Zabbix Proxyも2.0にアップグレードが必要です。Zabbix Serverの時と同様の手順で行ってください。

Zabbix2.0から廃止・変更になったアイテムキーへの対応

データベースの更新処理時に自動的にZabbix2.0に対応したアイテムキーへの変更が実施されるものもありますが、一部手動で対応しないといけない箇所があるため注意が必要です。

1. statusキー廃止→内部項目zabbix[host,agent,available]に変更
Zabbix1.8で既に非推奨ではあったのですが、使われていた方は変更の必要があります。
2. 外部チェックの引数指定方法変更
Zabbix1.8系では、外部チェック用スクリプトの実行時には、必ずホストのIPアドレス({HOST.CONN})の情報が第1引数として指定して実行されるようになっていましたが、Zabbix2.0では、アイテム設定時に自由に設定できるようになっています。
そのため、外部チェックスクリプトのアイテムキーの引数として{HOST.CONN}など、スクリプトに渡したい値を全て指定する必要があります。複数の引数を指定する場合、これまでのスペース区切りからカンマ区切りに変更になっているので注意してください。
Zabbix1.8 check_script.sh["param1" "param2"]
↓変更
Zabbix2.0 check_script.sh[{HOST.CONN},"param1","param2"]
TIS株式会社

Twitter : @ike_dai
TIS株式会社OSS推進室所属。社内向けシステムの保守運用業務を経験後、クラウド時代の効率的な統合運用管理をテーマに活動中。特に、OSSを駆使した運用のエコシステム実現を目指し、Zabbix,fluentd,Serverspec,Ansibleなどの導入や検証に取り組む。技術検証成果などを技術ブログ『Tech-Sketch』にて発信中。著書:『Zabbix統合監視徹底活用 - 複雑化・大規模化するインフラの一元管理』

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています