【VMware】vCenterのSyslog転送設定をしたらログの量がとんでもないことになった

Virtualization
スポンサーリンク

【重要】2021/12/18現在、VMware製品の複数製品において、Log4jの脆弱性がアナウンスされております。
VMware製品のLog4j対応状況については、以下のサイトより最新情報を確認してください。
VMSA-2021-0028

今回は、vCenterでSyslogの設定を入れてみた検証記事となります。

環境周り

今回検証したvCenterとSyslogサーバの環境は以下の通りです。

【vCenter】

  • CPU : 2vCPU
  • MEM : 12GB
  • DISK : 100GB(シンプロ)

【Syslogサーバ】

  • OS : CentOS7
  • vCPU : 4Core
  • MEM : 2GB
  • DISK : 100GB(シンプロ)

Syslogサーバについては、CentOSのRsyslogサービスを使用しています。
また、Syslogの保存先として、NASをNFSマウントしマウント先にSyslogを保存しています。
今回は、vCenterでSyslogの設定を入れる検証のため、Syslogサーバの構築については触れません。

vCenterのSyslog設定

以下のURLからvCenterの管理インターフェースにログインします。
URL : https://vCenterのFQDN:5480
ログイン時のユーザ名は[administrator@vshpere.local]になります。

vCenterの管理インターフェースへのログインが成功すると、[vCenter Server管理]のページに飛びます。
[vCenter Server管理]-[syslog]を選択します。

[syslog]-[転送設定]から、[設定]を選択します。

[転送設定の作成]から、以下の設定を行います。

  • サーバアドレス : SyslogサーバのFQDN
  • プロトコル : UDP (Syslogサーバの設定に合わせて設定)
  • ポート : 514 (Syslogサーバの設定に合わせて設定)

プロトコルについては、UDP・TCP・TLS・RELPの中からSyslogサーバの設定に合わせて選択します。
自宅の環境のSyslogサーバはTCPとUDPの両方で受け待ちしていますが、今回はUDPを選択しました。
ポートにについても同様にSyslogサーバの設定に合わせて設定します。(デフォルトの514を使用しています。)

Syslogの転送設定がされると、追加したSyslogサーバのホスト名が追加されます。
なお、接続状態については、不明のままでした。
設定したSyslogサーバが表示されたら、[テストメッセージの送信]を押下します。

[テストメッセージの送信]から、送信するサーバを確認して、[送信]を選択します。

[テストメッセージはすべてのSyslogサーバに正常に送信されました。]と表示されたら、[キャンセル]を選択します。

Syslogが送信されたら、Syslogサーバのログを保存先を確認します。
すでにSyslogサーバにログが転送されていました。

ログが秒で1GBを超えていた件

無事にSyslogの転送設定ができたので、Syslogを確認しようとしたところ、ログの値がとんでもないことになっていました。

どうやら、vCenter?VMware関連のSyslogはかなり詳細なログも記録されるようです。
そのため、15分程度でSyslogのサイズが20GB程度出力されていました。
実際に出力されていたログのサンプルはこのような感じです。

Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [26/Jul/2021:08:07:00 +0000] "POST /api HTTP/1.1" 200 440 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 143 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 84 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 729 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:05:24:59 +0000] "POST /api HTTP/1.1" 200 440 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 143 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 84 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 729 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 143 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 84 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:04:49:52 +0000] "POST /api HTTP/1.1" 200 729 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [27/Jul/2021:05:24:59 +0000] "POST /api HTTP/1.1" 200 440 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 143 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 84 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:127.0.0.1  - [29/Jul/2021:15:54:32 +0000] "POST /api HTTP/1.1" 200 729 "-" "vAPI/2.100.0 Java/1.8.0_222 (Linux; 4.19.84-1.ph3; amd64)"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET / HTTP/1.1" 200 969 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /runtime.js HTTP/1.1" 200 2600 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /polyfills.js HTTP/1.1" 200 49635 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /scripts.js HTTP/1.1" 200 740141 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /assets/locales/applianceui_ja.json HTTP/1.1" 200 161799 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /assets/locales/applianceui.json HTTP/1.1" 200 135105 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /locales/appliancebackend_ja.json HTTP/1.1" 200 121305 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /locales/appliancebackend.json HTTP/1.1" 200 95640 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /locales/appliancemon_ja.json HTTP/1.1" 200 27267 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /locales/appliancemon.json HTTP/1.1" 200 23668 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /17.js HTTP/1.1" 200 3299 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /14.js HTTP/1.1" 200 2351 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:05 +0000] "GET /rest/appliance/system/version HTTP/1.1" 403 142 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
Jul 29 16:29:10 arion vami-access ::ffff:  - [29/Jul/2021:16:26:06 +0000] "POST /vami/backend/vcstatus.py HTTP/1.1" 200 232 "https:///" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"

このログはアクセス元のIP等も記録されていたため、ある程度加工していますが、vCenterの管理インターフェースのアクセスログやAPIへのアクセスログも記録されるようです・・・

vCenterのSyslog転送は要検討

と、いうことで15分で20GB程度のSyslogが記録されていたわけですが、単純計算で1h80GB、1日あたり1.9TBのログが出力される計算になります。
Dailyでローテートされ、圧縮が入るとしても1日1.5TBのログは多すぎだと思いました。
また、ログのサイズが大きすぎるためメモ量やエディタで開くことが難しく、ただのディスクの肥やしになりかねないため、すぐにSyslogの設定は無効にしました。

結論

ESXiのログ設定をしてみるという記事は少しありましたが、vCenterのSyslog設定をしている記事は少な目だったので検証もかけて設定してみました。

「vCenterのSyslogは容量がでかい!」

ということなので、vCenterのSyslog設定をする際はご注意くただい。

vCenterのログの収集や解析については、SyslogではなくvROps等のVMware社が提供しているツールを使ったほうが楽になれそうなのです。

コメント

タイトルとURLをコピーしました