免責事項:これは英文の記事「Alarm Definitions have empty Alarm Names in vCenter 8.x」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
アラーム定義にてアラーム名が空になっているものは、vCenter Server 8.x から削除されたにもかかわらず、8.x へのアップグレード中にvCenterデータベースから削除されなかったアラームが原因です。
vCenter Server のアップグレードプロセスでは、アラームのローカライズファイルは、8.x で存在するはずのアラームのみを含むように置き換えられています。
この問題は vCenter Server 8.x のみに影響し、9.x で修正される予定です。
vCenter Server 8.x
vCenter Server がアラームのローカライズファイルから表示言語毎にローカライズしたアラーム情報を取得しようとした際に、ファイル内に対象のアラームについての情報が存在しないことで、アラームのシステム名に代わり空のアラーム名が返されます。
この事象への対処は 2 つあります。
事象の発生しているアラームは、アップグレードによって削除または他のアラームに置き換えられるもののため、より簡単で推奨されるのは対処 1 のアラームの削除です。
対処 1 :
アラーム定義から空のアラームを削除します。
対処 2 :
空となっているアラームのローカライズ情報を作成します
# psql -U postgres VCDB -c "select name from vpx_alarm" -o alarms.txt# (cat alarms.txt | grep -vi exhaust | head -n -3 | tail -n +3 | sort | awk -F "alarm." '{print $2}') > /tmp/temp1.txt# (find /etc/vmware-vpx -name alarm.vmsg | grep "en/" | xargs cat | grep -v "#" | grep -v "^$" | awk '{print $1}' | sed 's/\.[^.]*$//' | sort -u) > /tmp/temp2.txt# grep -Fxvf temp2.txt temp1.txt# grep -Fxvf temp2.txt temp1.txtHostConnectionStateAlarmvim /etc/vmware-vpx/locale/en/alarm.vmsg にて vim エディタでファイルを開きますHostConnectionStateAlarm.label = "Host connection and power state"HostConnectionStateAlarm.summary = "Default alarm to monitor host connection and power state"HostConnectionStateAlarm.label = "ホストの接続と電源状態"HostConnectionStateAlarm.summary = "ホストの接続および電源状態を監視するデフォルト アラーム"service-control --restart vpxdservice-control --restart vsphere-ui