Vmware ESXi5x のログを外部syslogサーバーに転送する設定

    Vmware ESXi5xは無償で利用できますが、再起動の度にログがクリアーになってしまう仕様のため何かあった際トレースすることができません。
    そこで今回はESXiのログを外部のSyslogサーバーに転送してログを管理する方法をご紹介します。

    まず、外部にSyslogサーバーを立てていることが条件となりますLinuxの標準のSyslogdでもいいですが管理が楽なsyslog-ng fluentd等を強くおすすめします。今回はSyslogサーバーの構築は割愛させていただきあくまでESXiの設定のみ紹介します。

    Vmware公式のドキュメントで参考になるのはこちら

    ESXiのFirewallでTCP UDPの514 TCPの1514を開放する

    ESXiのFirewallの設定・確認

    SSHでESXiにログイン後まずはFirewallの設定を確認します。

    syslog                 false

    ※この状態はsyslogのポートがFirewallで無効になっていることを意味します。

    FireWallでポート開放

    再度Firewallの状態を確認

    syslog                 true

    ※このようにtrueとなっていれば開放が完了しています。

    syslogサーバーに転送する設定

    次にSyslogサーバーにログを転送する設定を行います。まずは現状の設定を確認します。

       Default Rotation Size: 1024
       Default Rotations: 8
       Log Output: /scratch/log
       Log To Unique Subdirectory: false
       Remote Host: <none>

    デフォルトでは転送設定がされていません。

    転送設定を有効

    ※こちらの方法ではUDP514番で転送されるようになります。ポート番号を指定したい場合はIPアドレスの後に:ポート番号を指定します。
    例;tcp://IPアドレス:1514

    再度設定を確認するとSyslogサーバーのIPアドレスが設定されたことが確認できます。

       Default Rotation Size: 1024
       Default Rotations: 8
       Log Output: /scratch/log
       Log To Unique Subdirectory: false
       Remote Host: udp://SyslogサーバーのIPアドレス

    サービスの再起動

    設定が完了したらサービスの再起動をします。

    無事にSYSLOGサーバーにESXIのログが転送されているはずです。かなりのログがリアルタイムに蓄積されます。

    勿論コンソールにログインしたユーザーの情報なども出力されるためセキュリティ対策にも有効です。通常の無料版パッケージですとSyslogサーバーへの転送は有償版のみ可能というのが多いですがESXiはCentosベースなだけあり色々とカスタムが可能なところがいいですね。

    2013 7月 7th,|Vmware|