日進月歩な仮想化日記

~日々進化する仮想化業界のトレンド発信基地を目指して~

NSX ALBのSplunk連携

今回はNSX ALBのメトリックをSplunkで取得できるようにしてみたときのことを書いていきたいと思います。

まず構成はこんな感じ。
f:id:ko-taiki:20210110153619p:plain
NSX ALBのContorller Clusterからオンプレ上に構築してあるSplunkのHeavy Forwarderを経由して、Splunk Cloudにログを送信します。

NSX ALB側の設定

NSX ALBのNotification設定でSyslog Serverの設定を行います。
ただ、Splunkに連携する場合のログフォーマットをJSONにする必要があったのですがGUIの画面上だとフォーマットの設定項目はありません。
なのでControllerのCLIでフォーマットをJSONにしたSyslogの設定を入れる必要があります。
設定は以下のページを見て設定。
Supported Syslog Formats

こんな感じで設定してみました。
f:id:ko-taiki:20210110154635p:plain
FormatがSYSLOG_JSONになっています。

Syslogの設定ができたら、NSX ALBのAlert Actionで作成したSyslogを使用するように設定して、NSX ALB側の設定はこれで終了です。

f:id:ko-taiki:20210110154914p:plain

・Splunk Heavy Forwarderの設定

次に、Splunk Heavy ForwarderでNSX ALBからログを受け取るように設定します。
まずHeavy ForwarderにAviVantageのAdd-onをインストール。
そして、NSX ALB側のSyslog設定の通り、UDP 514で受け取るように以下のように設定します。
このとき、Source Typeにはavi:eventsを設定します。
f:id:ko-taiki:20210110155752p:plain

以上でHeavy Forwarderの設定は終了です。
Splunk Cloudへの連携設定をしていない場合は適宜設定してください。

・Splunk Cloudの設定

Splunk CloudにはAviVantageのアプリケーションをインストールしておきます。
すると、AVI用のダッシュボードがトップページ作成されるのでそちらを確認。
Heavy Forwarderからログが連携されていれば以下のようにデータが見れるようになっています。

f:id:ko-taiki:20210110160436p:plain

ただ、画面上部の色分けされて数字が書いてある部分がなにをやっても数字が変化しません。
どうやらログがちゃんと見れていないっぽい?

そんな時は該当箇所をクリックするとサーチコマンドがどうなっているのかが確認できます。
確認するとこのような画面になるのですが、(index=* AND sourcetype=avi:events) controller=* severity=INFO tenant=* というコマンドでサーチしているらしく、引っかからずに0件になっていますね。

f:id:ko-taiki:20210110161005p:plain

ただ、「controller=*」を除外してサーチすると引っかかるのでログは送られてはいるらしい。
どうやらSplunkの収集方法に問題がありそうな感じがしますね。
この辺りはSplunk側に修正依頼をだしつつ、改修待ちって感じでしょうか。

f:id:ko-taiki:20210110161316p:plain

とりあえずSplunk Cloudにログ連携はできるようになったので一安心。
NSX ALBのCLIJSON形式のSoslog設定を作成しないといけないのが面倒だったので、GUI上で選択できるようにしてもらえるとありがたいですね。