はじめに
Nexus Dashboard Insight にて、フローデータに関して問題がある場合、デバッグ機能の有効化を依頼させて頂く場合があります。
本ドキュメントでは、フローのデバッグ機能を有効化・無効化する手順について説明します。
注意:本手順は Cisco TAC から指示があった場合に実施くだださい。
デバッグ機能を有効化する際に下記のパラメータが必要となりますので事前に準備ください。
パラメータ
<IP> : Nexus Dashboard の 管理 IP アドレス
<fabricName> : ファブリック名
<srcip> : トラフィックの送信元 IP アドレス
<dstip> : トラフィックの宛先 IP アドレス
<sport> : トラフィックの送信元ポート (TCP/UDP でない場合は不要)
<dport> : トラフィックの宛先ポート (TCP/UDP でない場合は不要)
依頼事項
・デバッグ機能の有効化ができましたら、該当の通信を流していただき、10分ほどお待ちいただいてから Scope が Insights の Techsupport をご取得ください。
・また、該当の Flow Record detail の画面キャプチャも取得ください。(Manage > Sites > [Fabric] > Connectivity > Flow > [該当フロー] (画面遷移はバージョンによって異なる場合があります))

手順
手順につきましてはいくつか方法があります。バージョンによっては実行出来ない手順がありますので、それぞれの方法をお試しください。尚、いずれの方法も結果に差異はございません。
本コンテンツでは GUI, CLI, Shell の方法について説明します。
有効化手順:GUI
GUI にログインします。その後同一ブラウザで新規にタブを開き、下記の URL にアクセスします。
有効化 URL
https://<IP>/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=add&srcip=<srcip>&dstip=<desip>&fabricName=<fabricName>
Success というメッセージが表示されることを確認します。
例:
https://192.168.1.1/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=add&srcip=1.1.1.1/32&dstip=2.2.2.2/32&sport=1234&dport=5678fabricName=myfabric

無効化手順:GUI
同一ブラウザで新規にタブを開き、下記の URL にアクセスします。
無効化 URL
https://<IP>/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=clearall&fabricName=<fabricName>
Success というメッセージが表示されることを確認します。
例:
https://192.168.1.1/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=clearall&fabricName=myfabric
有効化手順:CLI
Nexus Dashboard にアクセスできる端末から下記のコマンドを実行します。(Nexus Dashboad の CLI ではありません。)
実行後、cookie.txt ファイルが生成されます。
curl -X POST -d '{"userName": "<Username>","userPasswd": "<Password>","domain": "<Domain>"}' -k https://<IP>/login -c cookie.txt
<Username> : GUI のログインに使用するユーザ名
<Password> : ユーザパスワード
<Domain> : ログインドメイン
<IP>: Nexus Dashboard の IP アドレス
例:
curl -X POST -d '{"userName": "admin","userPasswd": "cisco","domain": "DefaultAuth"}' -k https://192.168.1.1/login -c cookie.txt
その後、下記コマンドを実行ください。
Success というメッセージが表示されることを確認します。
curl -k -X GET -b cookie.txt 'https://<IP>/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=add&srcip=<srcip>&dstip=<dstip>&sport=<sport>&dport=<dport>&fabricName=<fabricName>'
例:
$ curl -k -X GET -b cookie.txt 'https://192.168.1.1/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?op=add&srcip=1.1.1.1/32&dstip=2.2.2.2/32&fabricName=myfabric'
"Success"
無効化手順:CLI
下記コマンドを実行ください。
Success というメッセージが表示されることを確認します。
curl -k -X GET -b cookie.txt 'https://<IP>/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?fabricName=<fabricName>&op=clearall'
例:
$ curl -k -X GET -b cookie.txt 'https://192.168.1.1/sedgeapi/v1/cisco-nir/api/api/telemetry/flowlogging.json?fabricName=myfabric&op=clearall'
"Success"
有効化手順:Shell
Nexus Dashboard に rescue-user ユーザで SSH ログインします。Ver 3.X の場合、root ユーザに遷移します。
下記のコマンドを実行します。
Ver 2.2 以前
curl -k "https://`kubectl get svc -n cisco-nir | grep apiserver-service | awk '{print $3}'`:5699/api/telemetry/flowlogging.json?fabricName=<fabricName>&srcip=<srcip>&dstip=<dstip>&op=add"
Ver 2.3 以降
curl -k "https://`kubectl get svc -n cisco-nir | grep apiserver | awk '{print $3}'`:5699/api/telemetry/flowlogging.json?fabricName=<fabricName>&srcip=<srcip>&dstip=<dstip>&op=add"
無効化手順:Shell
下記のコマンドを実行します。
Ver 2.2 以前
curl -k "https://`kubectl get svc -n cisco-nir | grep apiserver-service | awk '{print $3}'`:5699/api/telemetry/flowlogging.json?fabricName=<fabricName>&op=clearall"
Ver 2.3 以降
curl -k "https://`kubectl get svc -n cisco-nir | grep apiserver | awk '{print $3}'`:5699/api/telemetry/flowlogging.json?fabricName=<fabricName>&op=clearall"
補足:root ユーザアクセス手順
Nexus Dashboard : root アクセスと root パスワードの発行方法