ESXi の再起動後、削除した Syslog 構成が復元される
search cancel

ESXi の再起動後、削除した Syslog 構成が復元される

book

Article ID: 425379

calendar_today

Updated On:

Products

VMware vSphere ESXi 8.0

Issue/Introduction

免責事項:これは英文の記事「Syslog configuration is restored after ESXi reboots.」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

ユーザーが削除した Syslog 構成(リモートログホスト) が、ESXi の再起動後に復元されます。

Environment

VMware ESXi 8.0 U2

Cause

  • Syslog 構成は ESXi configstore 内に保存されます。

  • ESXi 8.0 U1 以前では、ユーザーが configstore に空の構成を適用すると configstore データベースに '{}' の値が書き込まれ、特定のサービスのユーザー定義設定が実質的に削除されていました。

  • ESXi 8.0 U2 でこの動作が変更され、空の構成を適用しても無視されるようになりました。

  • この変更により、ユーザーが空の構成を指定して syslog 構成を削除しようとすると変更は反映されず、再起動後に以前の構成が復元されます。

Resolution

これは ESXi 8.0 U2 の既知の問題です。
ESXi 8.0 U3 で解決されています。

 

Additional Information

回避策:
リモートホストの Syslog 構成を削除するには、リモートホストの設定を空に設定し、configstoreデータベースにおいてログレベル設定を現在の値に明示的に再定義する必要があります。
この設定により、Syslog 構成がすべて空になることを防ぎ、ESXiの再起動後にSyslog設定が復元されることを防ぎます。

1.現在の Syslog 構成を確認します。
# configstorecli config current get -c esx -g syslog -k global_settings

予想される出力:
{
   "remote_logging": {
      "log_host": [
         {
            "address": "XXX.XXX.XXX.XXX",
            "port": 514,
            "protocol": "UDP"
         }
      ]
   }
}

2.現在の vmvsyslogd のログレベルを確認します。
# esxcli system syslog config get | grep "Log Level"

予想される出力:
   Log Level: error

3.現在の Syslog 構成をファイルにエクスポートします。
# configstorecli config current get -c esx -g syslog -k global_settings -outfile tmp.json

4.viコマンドを使用してtmp.jsonを編集し、保存します。

変更前:

{
   "remote_logging": {
      "log_host": [
         {
            "address": "XXX.XXX.XXX.XXX",
            "port": 514,
            "protocol": "UDP"
         }
      ]
   }
}

変更後(ログレベルのみ設定):

{
   "log_level": "ERROR"
}

5.新しい設定を適用し、syslog サービスを再ロードします。
# configstorecli config current set -c esx -g syslog -k global_settings -infile tmp.json
# esxcli system syslog config set --loghost=
# esxcli system syslog reload

6. 変更を確認します。
# configstorecli config current get -c esx -g syslog -k global_settings

予想される出力:
{
   "log_level": "ERROR"
}

# esxcli system syslog config get | grep "Remote Host:"

予想される出力:
Remote Host: <note>

7.ESXi ホストを再起動し、Syslog 構成が復元されていないことを確認します。