Zabbix 2.2ではVMware監視機能が強化されました。ゲストOSの監視設定を手作業で追加することなく自動で追加してくれるLLD(Low Level Discovery)を利用したかったので、2.0.9からアップグレードすることにしました。
アップグレードの流れ
- 稼働中のZabbixサービスを停止
- データベースと定義ファイルのバックアップ
- リポジトリの変更とyum update
- 設定ファイルの差分修正
- サービス再起動(DB自動アップグレード)
- VMwareテンプレートのインポート
事前準備
# サービス停止
service zabbix-server stop
service zabbix-agent stop
# DBバックアップ
mysqldump --opt --no-autocommit -uroot -p -B ZABBIX_DATABASE_NAME > ~/tmp/zabbix.dump
# 定義ファイルバックアップ
cp -a /etc/zabbix ~/tmp/
cp /etc/yum.repos.d/zabbix.repo ~/tmp/
アップデート実行
# Zabbix 2.2のリポジトリ登録
rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
# enabled=0にして明示的に使う方式にする
sed -i -e "s/enabled=1/enabled=0/" /etc/yum.repos.d/zabbix.repo
# アップデート
yum clean all
yum --enablerepo=zabbix update
設定ファイルの修正
2.2で追加された主なオプション:
StartVMwareCollectors— VMware監視に必須VMwareFrequency— VMwareデータ取得間隔VMwareCacheSize— VMwareキャッシュサイズValueCacheSize— ヒストリ値キャッシュAllowRoot— root実行の許可
DisableHousekeeping はWeb GUIからの設定に変更されたため、confから削除可能です。
DB自動アップグレードとテンプレート追加
service zabbix-server start
# ログに "database upgrade fully completed" が出力されることを確認
VMwareテンプレートのインポートでエラーが発生する場合、valuemapsレコードが不足していることがあります。以下のSQLで追加します。
INSERT INTO valuemaps (valuemapid, name) values ('13','VMware status');
INSERT INTO valuemaps (valuemapid, name) values ('12','VMware VirtualMachinePowerState');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('72','12','0','poweredOff');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('73','12','1','poweredOn');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('74','12','2','suspended');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('75','13','0','gray');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('76','13','1','green');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('77','13','2','yellow');
INSERT INTO mappings (mappingid, valuemapid, value, newvalue) values ('78','13','3','red');
テンプレートは以下の順でインポートします。
- Template_Virt_VMware_Hypervisor
- Template_Virt_VMware_Guest
- Template_Virt_VMware(依存関係があるため最後)


