Zabbix1.8 から 2.0への移行
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"]