NSX ALBのSplunk連携
今回はNSX ALBのメトリックをSplunkで取得できるようにしてみたときのことを書いていきたいと思います。
まず構成はこんな感じ。
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
こんな感じで設定してみました。
FormatがSYSLOG_JSONになっています。
Syslogの設定ができたら、NSX ALBのAlert Actionで作成したSyslogを使用するように設定して、NSX ALB側の設定はこれで終了です。
・Splunk Heavy Forwarderの設定
次に、Splunk Heavy ForwarderでNSX ALBからログを受け取るように設定します。
まずHeavy ForwarderにAviVantageのAdd-onをインストール。
そして、NSX ALB側のSyslog設定の通り、UDP 514で受け取るように以下のように設定します。
このとき、Source Typeにはavi:eventsを設定します。
以上でHeavy Forwarderの設定は終了です。
Splunk Cloudへの連携設定をしていない場合は適宜設定してください。
・Splunk Cloudの設定
Splunk CloudにはAviVantageのアプリケーションをインストールしておきます。
すると、AVI用のダッシュボードがトップページ作成されるのでそちらを確認。
Heavy Forwarderからログが連携されていれば以下のようにデータが見れるようになっています。
ただ、画面上部の色分けされて数字が書いてある部分がなにをやっても数字が変化しません。
どうやらログがちゃんと見れていないっぽい?
そんな時は該当箇所をクリックするとサーチコマンドがどうなっているのかが確認できます。
確認するとこのような画面になるのですが、(index=* AND sourcetype=avi:events) controller=* severity=INFO tenant=* というコマンドでサーチしているらしく、引っかからずに0件になっていますね。
ただ、「controller=*」を除外してサーチすると引っかかるのでログは送られてはいるらしい。
どうやらSplunkの収集方法に問題がありそうな感じがしますね。
この辺りはSplunk側に修正依頼をだしつつ、改修待ちって感じでしょうか。
とりあえずSplunk Cloudにログ連携はできるようになったので一安心。
NSX ALBのCLIでJSON形式のSoslog設定を作成しないといけないのが面倒だったので、GUI上で選択できるようにしてもらえるとありがたいですね。