項目一覧
NorthStar Controllerトラブルシューティングガイド
このドキュメントでは、明らかな問題が NorthStar Controller に起因するかルータに起因するかを特定するための戦略と、NorthStar Controller に起因すると特定された問題のトラブルシューティング手法について説明します。
トラブルシューティングの調査を開始する前に、すべてのシステム プロセスが稼働していることを確認します。プロセスのサンプルリストを以下に示します。実際のプロセスのリストは異なる場合があります。
[root@node-1 ~]# supervisorctl status bmp:bmpMonitor RUNNING pid 2957, uptime 0:58:02 collector:worker1 RUNNING pid 19921, uptime 0:01:42 collector:worker2 RUNNING pid 19923, uptime 0:01:42 collector:worker3 RUNNING pid 19922, uptime 0:01:42 collector:worker4 RUNNING pid 19924, uptime 0:01:42 collector_main:beat_scheduler RUNNING pid 19770, uptime 0:01:53 collector_main:es_publisher RUNNING pid 19771, uptime 0:01:53 collector_main:task_scheduler RUNNING pid 19772, uptime 0:01:53 config:cmgd RUNNING pid 22087, uptime 0:01:53 config:cmgd-rest RUNNING pid 22088, uptime 0:01:53 docker:dockerd RUNNING pid 4368, uptime 0:57:34 epe:epeplanner RUNNING pid 9047, uptime 0:50:34 infra:cassandra RUNNING pid 2971, uptime 0:58:02 infra:ha_agent RUNNING pid 9009, uptime 0:50:45 infra:healthmonitor RUNNING pid 9172, uptime 0:49:40 infra:license_monitor RUNNING pid 2968, uptime 0:58:02 infra:prunedb RUNNING pid 19770, uptime 0:01:53 infra:rabbitmq RUNNING pid 7712, uptime 0:52:03 infra:redis_server RUNNING pid 2970, uptime 0:58:02 infra:zookeeper RUNNING pid 2965, uptime 0:58:02 ipe:ipe_app RUNNING pid 2956, uptime 0:58:02 listener1:listener1_00 RUNNING pid 9212, uptime 0:49:29 netconf:netconfd_00 RUNNING pid 19768, uptime 0:01:53 northstar:anycastGrouper RUNNING pid 19762, uptime 0:01:53 northstar:configServer RUNNING pid 19767, uptime 0:01:53 northstar:mladapter RUNNING pid 19765, uptime 0:01:53 northstar:npat RUNNING pid 19766, uptime 0:01:53 northstar:pceserver RUNNING pid 19441, uptime 0:02:59 northstar:privatet1vproxy RUNNING pid 19432, uptime 0:02:59 northstar:prpdclient RUNNING pid 19763, uptime 0:01:53 northstar:scheduler RUNNING pid 19764, uptime 0:01:53 northstar:topologyfilter RUNNING pid 19760, uptime 0:01:53 northstar:toposerver RUNNING pid 19762, uptime 0:01:53 northstar_pcs:PCServer RUNNING pid 19487, uptime 0:02:49 northstar_pcs:PCViewer RUNNING pid 19486, uptime 0:02:49 web:app RUNNING pid 19273, uptime 0:03:18 web:gui RUNNING pid 19280, uptime 0:03:18 web:notification RUNNING pid 19272, uptime 0:03:18 web:proxy RUNNING pid 19275, uptime 0:03:18 web:restconf RUNNING pid 19271, uptime 0:03:18 web:resthandler RUNNING pid 19275, uptime 0:03:18
RUNNINGではなくSTOPPEDと表示されているプロセスを再起動します。
すべてのプロセスを停止、開始、または再起動するには、 service northstar stop、 service northstar start、および service northstar restart コマンドを使用します。
NorthStar Controller Web UI からシステム プロセスのステータス情報にアクセスするには、[ More Options>Administration ] に移動して [ System Health] を選択します。
各システムプロセスの現在のCPU使用率、メモリ使用率、仮想メモリ使用率、およびその他の統計情報が表示されます。 図 1 に例を示します。
この表示には、実行中のプロセスのみが含まれます。
表 1 に、[Process Status] テーブルに表示される各フィールドを示します。
| フィールド | の説明 |
|---|---|
過程 |
NorthStar Controller プロセスの名前。 |
PID |
プロセス ID 番号。 |
利用者 |
このプロセスに関する情報にアクセスするために必要な NorthStar Controller ユーザー権限。 |
群 |
このプロセスに関する情報にアクセスするために必要な NorthStar Controller ユーザー グループのアクセス許可。 |
CPU%の |
このプロセスで現在使用されている CPU の現在の割合を表示します。 |
記憶 |
このプロセスで現在使用されているメモリの割合を表示します。 |
仮想メモリ |
このプロセスで使用されている現在の仮想メモリを表示します。 |
CPU 時間 |
プロセスの命令を処理するために CPU が使用された時間 |
CMDの |
システム プロセスの特定のコマンド オプションを表示します。 |
トラブルシューティング情報は、次のセクションに表示されます。
NorthStar Controllerのログファイル
トラブルシューティング作業全体を通して、さまざまな NorthStar Controller ログ ファイルを表示すると役立つ場合があります。ログファイルにアクセスするには:
NorthStar Controller Web UIにログインします。
[ More Options > Administration ] に移動し、[ Logs] を選択します。
NorthStar のシステム ログとメッセージ ファイルの一覧が表示されます (図 2 にその切り捨てられた例を示します)。
図2:システムログファイルとメッセージファイル
のサンプル
表示するログ・ファイルまたはメッセージ・ファイルをクリックします。
ログファイルの内容がポップアップウィンドウに表示されます。
ファイルを別のブラウザウィンドウまたはタブで開くには、ポップアップウィンドウで[ View Raw Log ]をクリックします。
ポップアップ・ウィンドウを閉じ、ログ・ファイルおよびメッセージ・ファイルのリストに戻るには、ポップアップ・ウィンドウの右上隅にある「 X 」をクリックします。
表 2 は、PCS と PCE の問題の特定とトラブルシューティングに最も一般的に使用される NorthStar Controller ログ ファイルの一覧です。
ログファイル |
形容 |
場所 |
|---|---|---|
pcep_server.log |
PCEP サーバーに関連するログ エントリ。PCEPサーバは、PCEPセッションを維持します。ログには、PCC と PCE 間の双方向の通信に関する情報が含まれています。 詳細な PCEP サーバ ロギングを設定するには、次の手順を実行します。
|
/var/log/jnc |
pcs.log |
PCS に関連するログ エントリ。PCS はパスの計算を担当します。このログには、プロビジョニング・オーダーなど、PCSがToposerverから受信したイベントが含まれます。また、PCS の正常な起動を妨げる通信エラーや問題の通知も含まれています。 |
/opt/northstar/logs |
toposerver.log |
トポロジー・サーバーに関連するログ・エントリー。トポロジー・サーバーは、トポロジーの保守を担当します。これらのログには、PCS と Toposerver、Toposerver と NTAD、および Toposerver と PCE サーバーの間のイベントの記録が含まれます |
/opt/northstar/logs |
表3 は、トラブルシューティングにも役立つ追加のログファイルの一覧です。 表 3 のすべてのログ ファイルは、 /opt/northstar/logs ディレクトリの下にあります。
| ログファイル | 形容 |
cassandra.msg |
cassandra データベースに関連するイベントをログに記録します。 |
ha_agent.msg |
HA コーディネーターのログ。 |
mlAdaptor.log |
トランスポート コントローラー ログへのインターフェイス。 |
net_setup.log |
構成スクリプトのログ。 |
nodejs.msg |
nodejs に関連するイベントをログに記録します。 |
pcep_server.log |
PCC と PCE 間の双方向の通信に関連するログ ファイル。 |
pcs.log |
PCS に関連するログ ファイルには、PCS が Toposerver から受信したイベントと、Toposerver から PCS へのイベント (プロビジョニング注文を含む) が含まれます。このログには、通信エラーと、PCS の正常な起動を妨げる問題も含まれます。 |
rest_api.log |
REST API 要求のログ ファイル。 |
toposerver.log |
トポロジー・サーバーに関連するログ・ファイル。 PCS とトポロジ サーバー、トポロジ サーバーと NTAD、およびトポロジ サーバーと PCE サーバーの間のイベントの記録が含まれます
手記:
pcshandler.logファイルに転送されたメッセージは、pcs.logファイルにも転送されます。 |
Junos VM に関連するログを表示するには、ルーターへの telnet セッションを確立する必要があります。Junos VM のデフォルト IP アドレスは 172.16.16.2 です。Junos VMは、必要なBGP、ISIS、またはOSPFセッションの維持を担当します。
空のトポロジ
図 3 は、ルータから Toposerver への情報フローを示しており、その結果、NorthStar Controller UI にトポロジが表示されます。トポロジー表示が空の場合、このフローが中断された可能性があります。フローが中断された場所を見つけることは、問題解決プロセスの指針となります。
トポロジーはルーターを起点としています。NorthStar Controller がトポロジーを受信するには、ネットワーク内のルーターの 1 つから Junos VM への BGP-LS、ISIS、OSPF セッションが存在する必要があります。また、Junos VMとTopoServerの間に、確立されたNetwork Topology Abstractor Daemon(NTAD)セッションが存在する必要があります。
これらの接続を確認するには:
NorthStar Controller CLIを使用して、次の例に示すように、ToposerverとJunos VM間のNTAD接続が正常に確立されたことを確認します。
[root@northstar ~]# netstat -na | grep :450 tcp 0 0 172.16.16.1:55752 172.16.16.2:450 ESTABLISHED
手記:ポート 450 は、Junos VM と Toposerver の接続に使用されるポートです。
次の例では、NTAD 接続が確立されていません。
[root@northstar ~]# netstat -na | grep :450 tcp 0 0 172.16.16.1:55752 172.16.16.2:450 LISTENING
Junos VM にログインして、NTAD がトポロジ エクスポートを有効にするように構成されているかどうかを確認します。以下のgrepコマンドは、Junos VMのIPアドレスを提供します。
[root@northstar ~]# grep "ntad_host" /opt/northstar/data/northstar.cfg ntad_host=172.16.16.2 [root@northstar ~]# telnet 172.16.16.2 Trying 172.16.16.2... Connected to 172.16.16.2. Escape character is '^]'. northstar_junosvm (ttyp0) login: northstar Password: --- JUNOS 14.2R4.9 built 2015-08-25 21:01:39 UTC This JunOS VM is running in non-persistent mode. If you make any changes on this JunOS VM, Please make sure you save to the Host using net_setup.py utility, otherwise the config will be lost if this VM is restarted. northstar@northstar_junosvm> show configuration protocols | display set set protocols topology-export
topology-exportステートメントがない場合、Junos VM は Toposerver にデータをエクスポートできません。Junos OS
showコマンドを使用して、Junos VMとルーター間のBGP、ISIS、OSPFの関係がアクティブかを確認します。セッションがACTIVEでない場合、トポロジー情報をJunos VMに送信できません。Junos VM で、lsdist.0 ルーティングテーブルにエントリーがあるかどうかを確認します。
northstar@northstar_junosvm> show route table lsdist.0 terse | match lsdist.0 lsdist.0: 54 destinations, 54 routes (54 active, 0 holddown, 0 hidden)
lsdist.0 ルーティングテーブルに 0 しか表示されない場合、送信できるトポロジーはありません。トポロジ取得の設定については、『 NorthStar Controller Getting Started Guide 』のセクションを参照してください。
lsdist.0 ルーティングテーブルに少なくとも 1 つのリンクがあることを確認します。Toposerver は、少なくとも 1 つの NTAD リンク イベントを受信した場合にのみ、初期トポロジを生成できます。他のノードとのIGP隣接関係のない単一のノードで構成されるネットワーク(たとえば、ラボ環境で可能な場合)では、Toposerverはトポロジを生成できません。 図4 は、初期トポロジを作成するためのToposerverのロジック・プロセスを示しています。
図 4: トポロジーの初期作成
の論理プロセス
この理由で初期トポロジを作成できない場合、toposerver.logは次の例のようなエントリを生成します。
Dec 9 16:03:57.788514 fe-cluster-03 TopoServer Did not send the topology because no links were found.
NTADバージョン
SR LSPがプロビジョニングされておらず、pcs.logに次の例のようなメッセージが表示された場合:
2020 Apr 27 15:05:36.430366 ns1-site1-q-pod07 PCServer [NorthStar][PCServer][Routing] msg=0x0000300b Provided path is not valid for SR for sean427@0110.0000.0101 path=sean427, node 0110.0000.0104 has no NodeIndex
NTADのバージョンが正しくない可能性があります。NTAD のバージョンについては、「 NorthStar Controller のインストール 」を参照してください。
不正なトポロジ
Toposerver の重要な機能の 1 つは、NTAD リンク イベントからの送信元と宛先の IPv4 Link_Identifiersを照合することによって、ルーターからの単方向リンク(インターフェイス)情報を双方向リンクに関連付けることです。NorthStar UIに表示されるトポロジが正しく表示されない場合は、Toposerverが双方向リンクの生成と保守をどのように処理するかを理解しておくと役立ちます。
双方向リンクの生成と維持は複雑なプロセスですが、いくつかの重要なポイントを次に示します。
各双方向リンクを構成する 2 つのノードでは、最初に割り当てられた(したがって、ノード ID 番号が小さい)ノード ID にノード A が指定され、他のノードにノード Z が指定されます。
手記:ノードIDは、Toposerverが最初にNTADからNodeイベントを受信したときに割り当てられます。
ノードIDがクリアされて再割り当てされるたびに(Toposerverの再起動時やネットワークモデルのリセット時など)、ノードIDとAとZの指定が変更される可能性があります。
Toposerverは、ネットワーク内のリンクが追加または変更されると、リンク更新メッセージを受信します。
Toposerverは、リンクがネットワークから削除されると、Link Withdrawalメッセージを受信します。
リンク更新メッセージとリンク取り消しメッセージは、ノードの動作ステータスに影響を与えます。
ノードの動作状態とプロトコル(IGP 対 IGP と MPLS)によって、リンクを使用して LSP のルーティングが可能かどうかが決まります。リンクを使って LSP をルーティングするには、そのリンクの運用ステータスが UP であり、かつ MPLS プロトコルがアクティブでなければなりません。
欠落しているLSP
トポロジは正しく表示されているのに LSP が欠落している場合は、図 5 に示すように、PCC から Toposerver への情報フローを確認します( 図 5 に示すように、トンネルが NorthStar Controller UI に追加される結果)。フローは PCC での設定から始まり、そこから LSP 更新メッセージが PCEP セッションを介して PCEP サーバーに渡され、次に Advanced Message Queuing Protocol (AMQP) 接続を介して Toposerver に渡されます。
これらの接続を確認するには:
toposerver.logを見てください。ログは、PCEPサーバとの接続が失われたか、または正常に確立されなかったことを検出すると、15秒ごとにメッセージを出力します。次の例では、ToposerverとPCEPサーバ間の接続がダウンとしてマークされていることに注意してください。
Toposerver log: Apr 22 16:21:35.016721 user-PCS TopoServer Warning, did not receive the PCE beacon within 15 seconds, marking it as down. Last up: Fri Apr 22 16:21:05 2016 Apr 22 16:21:35.016901 user-PCS TopoServer [->PCS] PCE Down: Warning, did not receive the PCE beacon within 15 seconds, marking it as down. Last up: Fri Apr 22 16:21:05 2016 Apr 22 16:21:50.030592 user-PCS TopoServer Warning, did not receive the PCE beacon within 15 seconds, marking it as down. Last up: Fri Apr 22 16:21:05 2016 Apr 22 16:21:50.031268 user-PCS TopoServer [->PCS] PCE Down: Warning, did not receive the PCE beacon within 15 seconds, marking it as down. Last up: Fri Apr 22 16:21:05 2016
NorthStar Controller CLI を使用して、次の例に示すように、PCC と PCEP サーバ間の PCEP セッションが正常に確立されたことを確認します。
[root@northstar ~]# netstat -na | grep :4189 tcp 0 0 0.0.0.0:4189 0.0.0.0:* LISTEN tcp 0 0 172.25.152.42:4189 172.25.155.50:59143 ESTABLISHED tcp 0 0 172.25.152.42:4189 172.25.155.48:65083 ESTABLISHED
手記:ポート 4189 は、PCC から PCEP サーバーへの接続に使用されるポートです。
セッションが確立されたことがわかっていることは便利ですが、必ずしもデータが転送されたことを意味するわけではありません。
PCEP サーバーが PCC から LSP について学習したかどうかを確認します。
[root@user-PCS ~]# pcep_cli # show lsp all list 2016-04-22 17:09:39.696061(19661)[DEBUG]: pcc_lsp_table.begin: 2016-04-22 17:09:39.696101(19661)[DEBUG]: pcc-id:1033771436/172.25.158.61, state: 0 2016-04-22 17:09:39.696112(19661)[DEBUG]: START of LSP-NAME-TABLE … 2016-04-22 17:09:39.705358(19661)[DEBUG]: Summary pcc_lsp_table: 2016-04-22 17:09:39.705366(19661)[DEBUG]: Summary LSP name tabl: 2016-04-22 17:09:39.705375(19661)[DEBUG]: client_id:1033771436/172.25.158.61, state:0,num LSPs:13 2016-04-22 17:09:39.705388(19661)[DEBUG]: client_id:1100880300/172.25.158.65, state:0,num LSPs:6 2016-04-22 17:09:39.705399(19661)[DEBUG]: client_id:1117657516/172.25.158.66, state:0,num LSPs:23 2016-04-22 17:09:39.705410(19661)[DEBUG]: client_id:1134434732/172.25.158.67, state:0,num LSPs:4 2016-04-22 17:09:39.705420(19661)[DEBUG]: Summary LSP id table: 2016-04-22 17:09:39.705429(19661)[DEBUG]: client_id:1033771436/172.25.158.61, state:0, num LSPs:13 2016-04-22 17:09:39.705440(19661)[DEBUG]: client_id:1100880300/172.25.158.65, state:0, num LSPs:6 2016-04-22 17:09:39.705451(19661)[DEBUG]: client_id:1117657516/172.25.158.66, state:0, num LSPs:23 2016-04-22 17:09:39.705461(19661)[DEBUG]: client_id:1134434732/172.25.158.67, state:0, num LSPs:4
出力の右端の列には、学習されたLSPの数が表示されています。この数値が 0 の場合、LSP 情報は PCEP サーバーに送信されていません。その場合は、『 NorthStar Controller Getting Started Guide』の説明に従って、PCC 側の設定を確認してください。
LSP コントローラのステータス
LSP のコントローラステータスは、NorthStar Controller GUI の [Network Information] テーブルの [Tunnels] タブの [ Controller Status ] 列で確認できます。
表 4 に、コントローラのさまざまなステータスとその説明を示します。
コントローラのステータス |
は、 |
|---|---|
失敗 しました |
NorthStar Controller は LSP のプロビジョニングに失敗しました。 |
ペンディング |
PCS は PCEP サーバーに LSP プロビジョニング命令を送信しました。PCS は PCEP サーバからの応答を待っています。 |
PCC_PENDING |
PCEP サーバーが PCC に LSP プロビジョニング注文を送信しました。PCS は PCC からの応答を待っています。 |
NETCONF_PENDING |
PCS が LSP プロビジョニング注文を netconfd に送信しました。PCS は netconfd からの応答を待っています。 |
PRPD_PENDING |
PCS は、BGP ルートをプロビジョニングするために LSP プロビジョニング注文を PRPD クライアントに送信しました。PCS は PRPD クライアントからの応答を待っています。 |
SCHEDULED_DELETE |
PCS は LSP を削除するようにスケジュールしています。PCS は、削除プロビジョニング命令を PCC に送信します。 |
SCHEDULED_DISCONNECT |
PCS は LSP を切断するようにスケジュールしています。LSP はシャットダウン ステータスに移行します。LSP は、Persist 状態に関連付けられた NorthStar データストアに保持され、CSPF 計算では使用されません。 |
NoRoute_Rescheduled |
PCS は LSP のパスを見つけられていません。PCS は LSP を定期的にスキャンし、ルーティングされていない LSP のパスを見つけようとし、再プロビジョニングをスケジュールします。 |
FRR_DETOUR_Rescheduled |
PCS は LSP を迂回し、LSP の再プロビジョニングを再スケジュールしました。 |
Provision_Rescheduled |
PCS は、LSP がプロビジョニングされるようにスケジュールしています。 |
Maint_NotHandled |
LSP は NorthStar によって管理されていないため、LSP は進行中のメンテナンス イベントの一部ではありません。 |
Maint_Rerouted |
PCS はメンテナンスのため、LSP を再ルーティングしました。 |
Callsetup_Scheduled |
PCS は、イベントの開始時に LSP をプロビジョニングする必要があります。 |
Disconnect_Scheduled |
PCS は、イベント終了時に LSP を切断しなければなりません。 |
パスが見つかりません |
PCS は LSP のパスを見つけることができませんでした。 |
ダウンした LSP で見つかったパス |
PCEP サーバーは LSP がダウンしていることを報告しましたが、PCS は LSP のパスを見つけました。 |
パスインクルードループ |
SR-LSP には 1 つ以上のループがあります。 |
Maint_NotReroute_DivPathUp |
LSP は、スタンバイ パスがすでに稼働しているため、メンテナンス イベントによって再ルーティングされません。 |
Maint_NotReroute_NodeDown |
メンテナンスイベントはLSPのエンドポイントに対するものであるため、LSPは再ルーティングされません。 |
PLANNED_LSP |
LSP はプロビジョニングする必要がありますが、まだプロビジョニング キューに入っていません。 |
PLANNED_DISCONNECT |
LSP は切断する必要がありますが、まだプロビジョニング キューに入っていません。 |
PLANNED_DELETE |
LSP は削除する必要がありますが、まだプロビジョニング キューに入っていません。 |
Candidate_ReOptimization |
PCS は、再最適化の候補として LSP を選択しました。 |
アクティブ化(used_by_primary) |
LSP のセカンダリ パスがアクティブ化されます。 |
Time_Expired |
LSP のスケジュールされたウィンドウが終了しました。 |
PCEP_Capability_not_supported |
PCEPがデバイスでサポートされていないか、サポートされている場合でも、PCEPが設定されていないか、無効になっているか、またはデバイス上で誤って設定されている可能性があります。 |
非アクティブ化 |
NorthStar Controller によってセカンダリ LSP が非アクティブ化されました。 |
NS_ERR_NCC_NOT_FOUND |
NorthStar Controller は、Netconf Connection Client(NCC)を使用してデバイスへの Netconf 接続を確立できません。回避策:NorthStar サーバで Netconf を再起動します。 [root@pcs-1 templates]# supervisorctl restart netconf netconf:netconf: stopped netconf:netconf: started |
SR LSP プロビジョニングには LSP ステートフル SR 機能が必要です |
SR LSPをプロビジョニングするには、CLIを使用してJunosデバイスで次のコマンドを設定する必要があります。 set protocols pcep pce <name> spring-capability |
PCEPに対応していないPCC
Toposerver は、ノードを PCEP 対応にするために、TED からのトポロジ内のノードに PCEP セッションを関連付けます。このToposerver機能は、PCCがPCEPセッションを確立するために使用するIPアドレスが、ToposerverによってTEDから自動的に学習されたIPアドレスではなかった場合に妨げられます。たとえば、管理IPアドレスを使用してPCEPセッションが確立されている場合、ToposerverはTEDからそのIPアドレスを受信しません。
PCCがPCEPセッションを正常に確立すると、ToposerverにPCC_SYNC_COMPLETEメッセージを送信します。このメッセージは、同期が完了したことを NorthStar に知らせます。次に、対応する toposerver ログ エントリの例を示します。NorthStar が認識する場合と認識しない場合がある PCC_SYNC_COMPLETE メッセージと PCEP IP アドレスの両方を示しています。
Dec 9 17:12:11.610225 fe-cluster-03 TopoServer NSTopo::updateNode (PCCNodeEvent) ip: 172.25.155.26 pcc_ip: 172.25.155.26 evt_type: PCC_SYNC_COMPLETE Dec 9 17:12:11.610230 fe-cluster-03 TopoServer Adding PCEP flag to pcep_ip: 172.25.155.26 node_id: 0880.0000.0026 router_ID: 88.0.0.26 protocols: 4 Dec 9 17:12:11.610232 fe-cluster-03 TopoServer Setting live pcep_ip: 172.25.155.26 for router_ID: 88.0.0.26
認識されない IP アドレスの問題を修正するためのいくつかのオプションは次のとおりです。
More Options > Administration > Device Profileに移動して、NorthStar Web UIのデバイスプロファイルに認識されないIPアドレスを手動で入力します。
ルータから発信されるLSPが少なくとも1つあることを確認し、ToposerverがPCEPセッションをTEDデータベース内のノードに関連付けることができるようにします。
IPアドレスの問題が解決され、ToposerverがPCEPセッションをトポロジ内のノードに正常に関連付けることができるようになると、PCSログに表示されるように、PCEP IPアドレスをノード属性に追加します。
Dec 9 17:12:11.611392 fe-cluster-03 PCServer [<-TopoServer] routing_key = ns_node_update_key Dec 9 17:12:11.611394 fe-cluster-03 PCServer [<-TopoServer] NODE UPDATE(Live): ID=0880.0000.0026 protocols=(20)ISIS2,PCEP status=UNKNOWN hostname=skynet_26 router_ID=88.0.0.26 iso=0880.0000.0026 isis_area=490001 AS=41 mgmt_ip=172.25.155.26 source=NTAD Hostname=skynet_26 pcep_ip=172.25.155.26
LSP が PENDING または PCC_PENDING 状態でスタック
ノードが PCEP 対応として正しく確立されたら、LSP のプロビジョニングを開始できます。Web UI ネットワーク情報テーブル(Controller Status] 列)の [Tunnels] タブに見られるように、LSP コントローラのステータスが PENDING または PCC_PENDING と表示されることがあります。このセクションでは、これらのステータスを解釈する方法について説明します。
LSP がプロビジョニングされると、PCS サーバーは LSP のすべての要件を満たすパスを計算し、プロビジョニング順序を PCEP サーバーに送信します。このプロセスの実行中は、次の例のようなログ メッセージが PCS ログに表示されます。
Apr Apr 25 10:06:44.798336 user-PCS PCServer [->TopoServer] push lsp configlet, action=ADD
Apr 25 10:06:44.798341 user-PCS PCServer {#012"lsps":[#012{"request-id":928380025,"name":"JTAC","from":"10.0.0.102",
"to":"10.0.0.104","pcc":"172.25.158.66","bandwidth":"100000","metric":0,"local-protection":false,"type":"primary",
"association-group-id":0,"path-attributes":{"admin-group":{"exclude":0,"include-all":0, "include-any":0},"setup-priority":
7,"reservation-priority":7,"ero":[{"ipv4-address":"10.102.105.2"},{"ipv4-address":"10.105.107.2"}, {"ipv4-address":
"10.114.117.1"}]}}#012]#012}
Apr 25 10:06:44.802500 user-PCS PCServer provisioning order sent, status = SUCCESS
Apr 25 10:06:44.802519 user-PCS PCServer [->TopoServer] Save LSP action, id=928380025 event=Provisioning Order(ADD) sent request_id=928380025
Apr 25 10:06:44.802534 user-PCS PCServer lsp action=ADD JTAC@10.0.0.102 path= controller_state=PENDING
この時点で LSP コントローラのステータスは PENDING です。これは、プロビジョニング順序が PCEP サーバに送信されたが、確認応答がまだ受信されていないことを意味します。LSP が PENDING でスタックしている場合、問題は PCEP サーバーにあることを示唆しています。PCEPサーバにログインし、トラブルシューティングに役立つ可能性のある追加情報を提供できる詳細なログメッセージを設定できます。
pcep_cli set log-level all
また、PCEP サーバには、有用な情報を表示できるさまざまな show コマンドがあります。Junos OS構文と同様に、「 show ? 」と入力すると、 show コマンドオプションが表示されます。
PCEP サーバーは、プロビジョニング順序を正常に受信すると、次の 2 つのアクションを実行します。
注文が PCC に転送されます。
確認応答が PCS に返送されます。
PCEPサーバーログには、次の例のようなエントリーが表示されます。
2016-04-25 10:06:45.196263(27897)[EVENT]: 172.25.158.66:JTAC UPD RCVD FROM PCC, ack 928380025 2016-04-25 10:06:45.196517(27897)[EVENT]: 172.25.158.66:JTAC ADD SENT TO PCS 928380025, UP
LSP コントローラのステータスが PCC_PENDING に変わり、PCEP サーバがプロビジョニング注文を受信して PCC に転送したが、PCC がまだ応答していないことを示します。LSP が PCC_PENDING でスタックしている場合、PCC に問題があることを示唆しています。
PCC がプロビジョニング注文を正常に受信すると、PCEP サーバーに応答が送信され、PCEP サーバーは応答を PCS に転送します。PCS はこの応答を受信すると、LSP コントローラのステータスを完全にクリアし、LSP が完全にプロビジョニングされ、PCEP サーバーまたは PCC からのアクションを待機していないことを示します。その後、動作ステータス([Op Status] 列)がトンネルの状態を示すインジケータになります。
PCS ログには、次の例のようなエントリが表示されます。
Apr 25 10:06:45.203909 user-PCS PCServer [<-TopoServer] JTAC@10.0.0.102, LSP event=(0)CREATE request_id=928380025 tunnel_id=9513 lsp_id=1 report_type=ACK
アクティブでない LSP
LSP プロビジョニング順序が正常に送信されて確認され、コントローラのステータスがクリアされた場合でも、LSP が稼働していない可能性があります。LSP の動作ステータスが DOWN の場合、PCC は LSP にシグナルを送ることができません。このセクションでは、LSP の動作ステータスが DOWN になる理由として考えられるものをいくつか説明します。
使用率は、DOWN でスタックしている LSP に関連する重要な概念です。利用には 2 つのタイプがあり、それらは特定の時点で互いに異なっている可能性があります。
ライブ利用—このタイプは、ネットワーク内のルーターがLSPパスを通知するために使用します。この種類の利用は、NTAD を介して TED から学習されます。次の例のような PCS ログ エントリが表示される場合があります。特に、リンクのRSVP使用率をアドバタイズする予約可能な帯域幅(reservable_bw)エントリーに注意してください。
Apr 25 10:10:11.475686 user-PCS PCServer [<-TopoServer] LINK UPDATE: ID=L10.105.107.1_10.105.107.2 status=UP nodeA=0110.0000.0105 nodeZ=0110.0000.0107 protocols=(260)ISIS2,MPLS Apr 25 10:10:11.475690 user-PCS PCServer [A->Z] ID=L10.105.107.1_10.105.107.2 IP address=10.105.107.1 bw=10000000000 max_rsvp_bw=10000000000 te_metric=10 color=0 reservable_bw={9599699968 8599699456 7599699456 7599699456 7599699456 7599699456 7599699456 7099599360 } Apr 25 10:10:11.475694 user-PCS PCServer [Z->A] ID=L10.105.107.1_10.105.107.2 IP address=10.105.107.2 bw=10000000000 max_rsvp_bw=10000000000 te_metric=10 color=0 reservable_bw={10000000000 10000000000 10000000000 8999999488 7899999232 7899999232 7899999232 7899999232 }計画利用率—このタイプは、NorthStar Controller 内でパス計算に使用されます。この使用率は、ルーターがLSPをアドバタイズし、LSP帯域幅とLSPが使用するパスをNorthStarに伝えるときに、PCEPから学習されます。次の例のような PCS ログ エントリが表示される場合があります。特に、リンクのRSVP使用率をアドバタイズする帯域幅(bw)およびレコードルートオブジェクト(RRO)エントリに注意してください。
Apr 25 10:06:45.208021 ns-PCS PCServer [<-TopoServer] routing_key = ns_lsp_link_key Apr 25 10:06:45.208034 ns-PCS PCServer [<-TopoServer] JTAC@10.0.0.102, LSP event=(2)UPDATE request_id=0 tunnel_id=9513 lsp_id=1 report_type=STATE_CHANGE Apr 25 10:06:45.208039 ns-PCS PCServer JTAC@10.0.0.102, lsp add/update event lsp_state=ACTIVE admin_state=UP, delegated=true Apr 25 10:06:45.208042 ns-PCS PCServer from=10.0.0.102 to=10.0.0.104 Apr 25 10:06:45.208046 ns-PCS PCServer primary path Apr 25 10:06:45.208049 ns-PCS PCServer association.group_id=128 association_type=1 Apr 25 10:06:45.208052 ns-PCS PCServer priority=7/7 bw=100000 metric=30 Apr 25 10:06:45.208056 ns-PCS PCServer admin group bits exclude=0 include_any=0 include_all=0 Apr 25 10:06:45.208059 ns-PCS PCServer PCE initiated Apr 25 10:06:45.208062 ns-PCS PCServer ERO=0110.0000.0102--10.102.105.2--10.105.107.2--10.114.117.1 Apr 25 10:06:45.208065 ns-PCS PCServer RRO=0110.0000.0102--10.102.105.2--10.105.107.2--10.114.117.1 Apr 25 10:06:45.208068 ns-PCS PCServer samepath, state changed
2 つの利用が互いに十分に異なっていて、パスの正常な計算またはシグナリングに干渉が生じる可能性があります。たとえば、計画された使用率がライブ使用率よりも高い場合、パス計算の問題が発生し、PCS はパスの余地がないと見なしてパスを計算できません。ただし、計画された使用率は実際のライブ使用率よりも高いため、余地が十分にある可能性があります。
また、計画稼働率が稼働稼働率よりも低くなる可能性もあります。その場合、PCCはスペースがないと判断してパスをシグナリングしません。
Web UI トポロジー・マップで使用率を表示するには、「トポロジー」ビューの左ペインにある「オプション」にナビゲートします。[RSVP ライブ使用率(RSVP Live Utilization)] を選択した場合、トポロジ マップにはルータからのライブ使用率が反映されます。[RSVP 使用率(RSVP Utilization)] を選択した場合、トポロジ マップには、計画されたプロパティに基づいて NorthStar Controller によって計算された計画された使用率が反映されます。
Web UI のより優れたトラブルシューティング ツールは、[ダッシュボード(Dashboard)] ビューの [ネットワークモデル監査(Network Model Audit)] ウィジェットです。[Link RSVP Utilization] 行項目は、稼働中の使用率と計画された使用率の間に不一致があるかどうかを反映します。ある場合は、Web UI から [ Administration > System Settings] に移動し、表示されるウィンドウの右上隅にある [ Advanced Settings ] をクリックして、ネットワーク モデルの同期を実行してみてください。
右上隅のボタンは、 General Settings と Advanced Settingsの間で切り替わります。
PCS が Toposerver と同期していない
PCS が Toposerver と同期しなくなり、LSP の状態が一致しなくなった場合、同期を復元するには、PCEP プロトコルを非アクティブ化してから再アクティブ化する必要があります。NorthStar サーバーで次の手順を実行します。
以下の手順に従ってください。
問題のある PCC だけでなく、すべての PCC の PCEP セッションを強制終了します。
その結果、すべてのユーザー データが失われ、再入力が必要になります。
再同期により本番システムに影響を与えます。
PCE サーバーを停止し、10 秒待ってから、PCC が残っている LSP をすべて削除できるようにします。
supervisorctl stop northstar:pceserver
PCE サーバを再起動します。
supervisorctl start northstar:pceserver
Toposerver を再起動します。
supervisorctl restart northstar:toposerver
手記:Toposerverを再起動する別の方法は、NorthStar Controller Web UI(Administration > System Settings、Advanced)からネットワークモデルのリセットを実行することです。 Sync Network Model および Reset Network Model 操作の詳細については、「消える変更」セクションを参照してください。
消える変更
Web UI では、トポロジーをライブ ネットワークと同期するための 2 つのオプションを使用できます。これらのオプションにアクセスできるのはシステム管理者のみで、最初に [ Administration > System Settings] に移動し、表示されるウィンドウの右上隅にある [ Advanced Settings ] をクリックすることでアクセスできます。
右上隅のボタンは、 General Settings と Advanced Settingsの間で切り替わります。
図 6 は、表示される 2 つのオプションを示しています。
Web UI で [ネットワーク モデルのリセット(Reset Network Model)] を実行すると、データベースに加えた変更が失われることに注意することが重要です。マルチユーザー環境では、1 人のユーザーが他のユーザーに気付かれることなくネットワーク モデルをリセットする可能性があります。リセットが要求されると、要求は PCS サーバーから Toposerver に送信され、PCS ログには次の内容が反映されます。
Apr 25 10:54:50.385008 user-PCS PCServer [->TopoServer] Request topology reset
Toposerverログには、データベース要素が削除されていることが反映されます。
Apr 25 10:54:50.386912 user-PCS TopoServer Truncating pcs.links... Apr 25 10:54:50.469722 user-PCS TopoServer Truncating pcs.nodes... Apr 25 10:54:50.517501 user-PCS TopoServer Truncating pcs.lsps... Apr 25 10:54:50.753705 user-PCS TopoServer Truncating pcs.interfaces... Apr 25 10:54:50.806737 user-PCS TopoServer Truncating pcs.facilities...
次に、Toposerverは、トポロジーノードとリンクを取得するためにJunos VMとの同期を要求し、LSPを取得するためにPCEPサーバーとの同期を要求します。このようにして、Toposerver はトポロジを再学習しますが、ユーザーの更新は失われます。 図 7 は、トポロジー リセット要求から Junos VM および PCEP Server との同期要求までのフローを示しています。
のリセット
同期要求を受信すると、Junos VM と PCEP サーバーは、現在のライブ ネットワークを反映したトポロジー更新を返します。PCS ログには、データベースに追加される次の情報が表示されます。
Apr 25 10:54:52.237882 user-PCS PCServer [<-TopoServer] Update Topology Apr 25 10:54:52.237894 user-PCS PCServer [<-TopoServer] Update Topology Persisted Nodes (0) Apr 25 10:54:52.238957 user-PCS PCServer [<-TopoServer] Update Topology Live Nodes (7) Apr 25 10:54:52.242336 user-PCS PCServer [<-TopoServer] Update Topology Persisted Links (0) Apr 25 10:54:52.242372 user-PCS PCServer [<-TopoServer] Update Topology live Links (10) Apr 25 10:54:52.242556 user-PCS PCServer [<-TopoServer] Update Topology Persisted Facilities (1) Apr 25 10:54:52.242674 user-PCS PCServer [<-TopoServer] Update Topology Persisted LSPs (0) Apr 25 10:54:52.279716 user-PCS PCServer [<-TopoServer] Update Topology Live LSPs (47) Apr 25 10:54:52.279765 user-PCS PCServer [<-TopoServer] Update Topology Finished
図 8 は、Junos VM と PCEP Server から Toposerver と PCS にトポロジー更新が返される様子を示しています。
トポロジを最初からやり直す場合は [ネットワーク モデルのリセット] を使用する必要がありますが、実際のネットワークとの同期時にユーザー計画データを失いたくない場合は、代わりに [ネットワーク モデルの同期] 操作を実行します。この操作では、PCS はトポロジ同期を要求しますが、Toposerver は既存の要素を削除しません。 図 9 は、PCS から Junos VM および PCEP サーバへのフローと、アップデートが TopoServer に返されるフローを示しています。
を使用した同期要求とモデルの更新
クライアント側の問題の調査
問題の原因を探していて、システムのサーバー側で見つからない場合は、クライアント側で見つけるのに役立つデバッグフラグがあります。このフラグにより、サーバーとクライアントの間で交換された内容に関する詳細メッセージが Web ブラウザー・コンソールに表示されます。たとえば、更新が Web UI に反映されないことに気付く場合があります。これらの詳細なメッセージを使用すると、サーバーが実際に更新を送信しないなど、サーバーとクライアント間の通信ミスの可能性を特定できます。
このデバッグ フラグを有効にするには、Web UI の起動に使用する URL を次のように変更します。
https://server_address:8443/client/app.html?debug=true
帯域幅サイジングのスケジュールされたタスクの不完全な結果
帯域幅サイジングのスケジュールされたタスクを実行しても、帯域幅サイジングが有効なすべてのLSPの統計が発行されない場合は、スケジュールされた期間にすべての帯域幅サイジングが有効なLSPのトラフィック統計が収集されているかどうかを確認します。トラフィック統計が利用できない場合、そのLSPの帯域幅統計はサイズ変更できません。
NorthStar Collector の Web UI を使用して、トラフィック統計が収集されているかどうかを判断できます。
ネットワーク情報テーブルの [トンネル] タブを開きます。
サイズ変更されていない LSP を選択します。
右クリックして[ View LSP Traffic]を選択します。
左上隅の [ custom ] をクリックし、スケジュール期間を指定して、[ Submit] をクリックします。
NorthStarとHealthBotの統合のトラブルシューティング
NorthStar で HealthBot へのデバイスの更新に失敗した場合は、まず NorthStar Web アプリケーション サーバーのログにエラーがないかどうかを確認します。
[root@ns1-site1 ~]# tail -f /opt/northstar/logs/web_app.msg
2019 Oct 15 02:46:49.824 - info: Request: User:admin (full):http:GET:127.0.0.1:/NorthStar/API/v1/tenant/1/RouterProfiles/vendorList
2019 Oct 15 02:46:52.165 - info: Request: User:admin (full):http:GET:127.0.0.1:/NorthStar/API/v1/tenant/1/RouterProfiles/liveNetwork
2019 Oct 15 02:47:10.466 - info: Request: User:admin (full):http:POST:127.0.0.1:/NorthStar/API/v2/tenant/1/RouterProfiles/healthbot/updateDevices
req: {}
2019 Oct 15 02:47:17.084 - debug: Devices updated, Healthbot response body = ""
2019 Oct 15 02:47:17.512 - info: Request: User:admin (full):http:POST:127.0.0.1:/NorthStar/API/v2/tenant/1/RouterProfiles/healthbot/updateDeviceGroup
req: {"devices":["vmx104","vmx101","vmx107","vmx103","vmx106","vmx105","vmx102"]}
2019 Oct 15 02:47:18.453 - debug: Device Group updated, Healthbot response body = ""
2019 Oct 15 02:47:18.860 - info: Request: User:admin (full):http:POST:127.0.0.1:/NorthStar/API/v2/tenant/1/RouterProfiles/healthbot/commitConfigs
2019 Oct 15 02:47:18.935 - debug: Commit completed, Healthbot response body = "{\n \"detail\": \"Committing the configuration.\",\n \"status\": 202,\n \"url\": \"/api/v1/configuration/jobs/?job_id=c6be7387-bfbf-45e4-97c8-993f27bcbe09\"\n}\n"
HealthBot API サーバー ログには、HealthBot へのデバイスの更新に失敗した場合に役立つ情報も表示されることがあります。
root@healthbot-vm1:~# healthbot logs --device-group healthbot -s api_server docker logs 1557243a5b 2>&1 | vi - Vim: Reading from stdin...
RPM プローブ データと LDP デマンド統計の収集が機能しているかどうかを確認するには、IAgent コンテナー ログにアクセスします。IAgent は RPM データ(リンク遅延)に使用され、LDP は統計情報の収集を要求します。
root@healthbot-vm1:~# docker ps | grep iagent | grep northstar 3492c1f3774f healthbot_iagent:2.1.0-beta-custom "/entrypoint.sh salt…" 23 hours ago Up 23 hours device-group-northstar_device-group-northstar-iagent_1 root@healthbot-vm1:~# docker exec -it 7382325c375f bash root@3492c1f3774f:/# tail -f /tmp/inter-packet-export.log 2019-10-15 07:19:15,329 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vmx106 2019-10-15 07:19:24,546 inter-packet.ns_demand aggregates sent for 6 objects for node=vmx102 2019-10-15 07:19:27,522 inter-packet.ns_demand aggregates sent for 6 objects for node=vmx101 2019-10-15 07:19:33,788 inter-packet.ns_demand aggregates sent for 6 objects for node=vmx105 2019-10-15 07:19:38,110 inter-packet.ns_demand aggregates sent for 6 objects for node=vmx104 2019-10-15 07:19:39,251 inter-packet.ns_demand aggregates sent for 6 objects for node=vmx103 2019-10-15 07:20:04,654 inter-packet.ns_link_latency Aggregates sent for 2 objects for node=vmx104 2019-10-15 07:20:05,878 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vmx105 2019-10-15 07:20:06,535 inter-packet.ns_link_latency Aggregates sent for 1 objects for node=vmx103 2019-10-15 07:20:07,537 inter-packet.ns_link_latency Aggregates sent for 3 objects for node=vmx101 2019-10-15 07:20:09,479 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vmx102 2019-10-15 07:20:15,332 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vmx106 2019-10-15 07:21:04,657 inter-packet.ns_link_latency Aggregates sent for 2 objects for node=vmx104 2019-10-15 07:21:05,881 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vmx105 2019-10-15 07:21:06,538 inter-packet.ns_link_latency Aggregates sent for 1 objects for node=vmx103 2019-10-15 07:21:07,540 inter-packet.ns_link_latency Aggregates sent for 3 objects for node=vmx101 2019-10-15 07:21:09,484 inter-packet.ns_link_latency Aggregates sent for 4 objects for node=vm
JTI LSP およびインターフェイス統計のデータ収集が機能しているかどうかを確認するには、fluentd コンテナー ログにアクセスします。JTIデータ収集にはネイティブGBPが使用されます。
root@healthbot-vm1:~# docker ps | grep fluentd | grep northstar 5fa268d0410b healthbot_fluentd:2.1.0-beta-custom "/fluentd/etc/startu…" 20 hours ago Up 20 hours 5140/tcp, 0.0.0.0:4000->4000/tcp, 0.0.0.0:4000->4000/udp, 24224/tcp device-group-northstar_device-group-northstar-fluentd_1 root@healthbot-vm1:~# docker exec -it 5fa268d0410b bash root@5fa268d0410b:/# tail -f /tmp/inter-packet-export.log 2019-10-15 06:00:01,241 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:01:01,245 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:02:01,248 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:03:01,255 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:04:01,259 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:05:01,265 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:06:01,269 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:07:01,274 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:08:01,279 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105 2019-10-15 06:09:01,285 inter-packet.ns_interface_traffic aggregates sent for 24 objects for node=vmx105
統計データが HealthBot サーバーから PCS に通知されているかどうかを確認するには、PCS ログにアクセスして、ライブの統計通知情報を確認します。
[root@ns1-site1-q-pod21 ~]# tail -f /opt/northstar/logs/pcs.log
2019 Oct 15 00:09:19.221768 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005002 ge-0/0/5.3@vmx102 out=0 in=-1
2019 Oct 15 00:09:19.221783 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005002 ge-0/0/1.0@vmx102 out=0 in=-1
2019 Oct 15 00:09:19.221798 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005002 ge-0/0/5.200@vmx102 out=0 in=-1
2019 Oct 15 00:09:19.221812 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005002 ge-0/0/5.301@vmx102 out=0 in=-1
2019 Oct 15 00:09:19.880395 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][<-AMQP] msg=0x00004018 exchange=controller.wan.stats routing_key=ns_tunnel_traffic
2019 Oct 15 00:09:19.880456 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005004 test1_102_105-1@vmx102 3836219
2019 Oct 15 00:09:19.880463 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005004 rsvp-102-105@vmx102 0
2019 Oct 15 00:09:19.880469 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005004 Silver-102-101@vmx102 1041649
2019 Oct 15 00:09:19.880479 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005004 Silver-102-104@vmx102 3390530
2019 Oct 15 00:09:19.880483 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Traffic] msg=0x00005004 Silver-102-103@vmx102 4261408
2019 Oct 15 00:09:26.795447 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][<-AMQP] msg=0x00004018 exchange=controller.wan.stats routing_key=ns_link_latency
2019 Oct 15 00:09:26.795453 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/1/8.0@vmx103 20.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:26.795462 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/0/6.0@vmx101 4.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:26.795471 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/0/5.0@vmx101 3.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:26.795473 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/1/1.0@vmx101 19.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:26.795476 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/1/9.0@vmx104 10.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:26.795479 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][Latency] msg=0x00007002 ge-0/1/7.0@vmx104 0.00 ms, packet_loss=0.00%
2019 Oct 15 00:09:27.710072 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][<-AMQP] msg=0x00004018 exchange=controller.wan.stats routing_key=ns_demand
2019 Oct 15 00:09:27.710264 ns1-site1-q-pod21 PCServer [Debug][PCServer] node:vmx102 prefix:10.0.0.101/32 bit_rate:0 demand_name=vmx102_10.0.0.101/32 to=10.0.0.101/32 SNMP_ifIndex:0 next_hope=
2019 Oct 15 00:09:27.710599 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][->pcs_tunnel_event] msg=0x00004002 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.710667 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x00004027 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.710697 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x0000400a vmx102_10.0.0.101/32@10.0.0.102 pathname=10.0.0.101 to=10.0.0.101 bw=0 pri=7 pre=7 type=R,A2Z,PATH(10.0.0.101) path= op_state=ACTIVE ns_lsp_id =42 demand=true prefix=10.0.0.101/32
2019 Oct 15 00:09:27.710724 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Topology 1 OBJ: ns:1:pcs_lsp:id:int:obj 42 {buf} index:ns:1:pcs_lsp:indexes id_str:
2019 Oct 15 00:09:27.711440 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Done
2019 Oct 15 00:09:27.711450 ns1-site1-q-pod21 PCServer [Debug][PCServer] node:vmx102 prefix:10.0.0.105/32 bit_rate:0 demand_name=vmx102_10.0.0.105/32 to=10.0.0.105/32 SNMP_ifIndex:0 next_hope=
2019 Oct 15 00:09:27.711454 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][->pcs_tunnel_event] msg=0x00004002 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.711457 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x00004027 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.711461 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x0000400a vmx102_10.0.0.105/32@10.0.0.102 pathname=10.0.0.105 to=10.0.0.105 bw=0 pri=7 pre=7 type=R,A2Z,PATH(10.0.0.105) path= op_state=ACTIVE ns_lsp_id =44 demand=true prefix=10.0.0.105/32
2019 Oct 15 00:09:27.711464 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Topology 1 OBJ: ns:1:pcs_lsp:id:int:obj 44 {buf} index:ns:1:pcs_lsp:indexes id_str:
2019 Oct 15 00:09:27.712010 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Done
2019 Oct 15 00:09:27.712033 ns1-site1-q-pod21 PCServer [Debug][PCServer] node:vmx102 prefix:10.0.0.103/32 bit_rate:0 demand_name=vmx102_10.0.0.103/32 to=10.0.0.103/32 SNMP_ifIndex:0 next_hope=
2019 Oct 15 00:09:27.712039 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][->pcs_tunnel_event] msg=0x00004002 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.712042 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x00004027 LSP action, UPDATE id=3718607015 event=demand update
2019 Oct 15 00:09:27.712048 ns1-site1-q-pod21 PCServer [NorthStar][PCServer][tunnelEvent] msg=0x0000400a vmx102_10.0.0.103/32@10.0.0.102 pathname=10.0.0.103 to=10.0.0.103 bw=0 pri=7 pre=7 type=R,A2Z,PATH(10.0.0.103) path= op_state=ACTIVE ns_lsp_id =48 demand=true prefix=10.0.0.103/32
2019 Oct 15 00:09:27.712808 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Topology 1 OBJ: ns:1:pcs_lsp:id:int:obj 48 {buf} index:ns:1:pcs_lsp:indexes id_str:
2019 Oct 15 00:09:27.713209 ns1-site1-q-pod21 PCServer [Debug][PCServer] Redis Obj Save: Done
2019 Oct 15 00:09:27.713219 ns1-site1-q-pod21 PCServer [Debug][PCServer] node:vmx102 prefix:10.0.0.104/32 bit_rate:0 demand_name=vmx102_10.0.0.104/32 to=10.0.0.104/32 SNMP_ifIndex:0 next_hope=
NorthStar Controllerデバッグファイルの収集
NorthStar Controllerの問題を解決できない場合は、NorthStar Controllerデバッグユーティリティで生成されたデバッグファイルをJTACに転送して評価することをお勧めします。現在、すべてのデバッグファイルは 、u/wandl/tmp ディレクトリの下のサブディレクトリにあります。
デバッグ ファイルを収集するには、NorthStar Controller CLI にログインし、 コマンド u/wandl/bin/system-diagnostic.sh filename を実行します。
出力が生成され、filename.tbz2 デバッグ ファイルの /tmp ディレクトリから利用できます。
リモート syslog
ほとんどの NorthStar プロセスは、 /etc/rsyslog.conf で定義されている rsyslog を使用します。rsyslogの使用の詳細については、Linuxシステムで実行されている特定のrsyslogバージョンの http://www.rsyslog.com/doc を参照してください。
SNMP 収集の規模を大きくする
5 分のポーリング間隔内で SNMP 収集の規模を拡大するには、以下のタスクを実行します。
vi などのテキスト編集ツールを使用して、
supervisord_snmp_slave.confファイルを開いて編集します。構成ファイルが開きます。
vi opt/northstar/data/supervisord/supervisord_snmp_slave.conf
次のコマンドを追加して、スレッドの数を 100 から 200 に増やします。
/opt/northstar/thirdparty/python3/bin/celery -A collector.celery -Q netsnmp -n worker2@%%n worker -P threads -c 200--loglevel=info
前のワーカーを複製して、ワーカー (worker3 など) を追加します。
[program:worker3] /opt/northstar/thirdparty/python3/bin/celery -A collector.celery -Q netsnmp -n worker3@%%n worker -P threads -c 200--loglevel=info process_name=%(program_name)s numprocs=1 ;directory=/tmp ;umask=022 priority=999 autostart=true autorestart=true startsecs=10 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 user=pcs stopasgroup=true killasgroup=true redirect_stderr=true stopasgroup=true stdout_logfile=/opt/northstar/logs/celery_worker3.msg stdout_logfile_maxbytes=10MB stdout_logfile_backups=10 stdout_capture_maxbytes=10MB stderr_logfile=/opt/northstar/logs/celery_worker3.err stderr_logfile_maxbytes=10MB stderr_logfile_backups=10 stderr_capture_maxbytes=10MB environment=PYTHONPATH="/opt/northstar/snmp-collector",LD_LIBRARY_PATH="/opt/northstar/lib" ;environment=A="1",B="2" ;serverurl=AUTO
group ステートメントにワーカーを追加します。
ベスト プラクティス:追加できるワーカーの数は、CPU のコア数以下である必要があります。
[group:collector] programs=worker1,worker2,worker3
supervisord で
collector:* groupを再起動します。supervisorctl reread supervisorctl update
worker1、worker2、および worker3 の supervisorctl ステータスを表示して、それらが稼働していることを確認します。
supervisorctl status
出力にいくつかの worker1 プロセスが表示され、worker2 と worker3 のそれぞれに 1 つの親プロセスのみが表示されることを確認します。
ps -ef | grep celery
スケーラビリティを高めるためにスレッド数を増やすには、次のタスクを実行します。
vi などのテキスト編集ツールを使用して、
data_gateway.pyファイルを開いて編集します。構成ファイルが開きます。
vi /opt/northstar/snmp-collector/collector/data_gateway.py
プール内のスレッド数を 10 から 20 に増やします。
pool_size = 20
collector_main:data_gatewayプロセスを停止し、プロセスを再起動します。supervisorctl stop collector_main:data_gateway supervisorctl restart collector_main:data_gateway
スループットを向上させてスケーラビリティを高めるには、次のタスクを実行します。
vi などのテキスト編集ツールを使用して、
es_publisher.cfgファイルを開いて編集します。構成ファイルが開きます。
vi /opt/northstar/data/es_publisher/es_publisher.cfg
次のパラメータを設定します。
polling_interval=5 batch_size=5000 pool_size=20
手記:1 回の操作で ElasticSearch データベース (batch_size) に送信されるレコードの最大数は 5000 ですが、SNMP 統計 (pool_size) を収集するために実行できるスレッド プール内のスレッドの最大数は 20 です。
ポーリングごとにより多くのルータインタフェースからデータを収集するには、以下のタスクを実行します。
NorthStar Controller GUI の [Device Profile]([Administration] > [Device Profile])ページに移動します。
[デバイス リスト(Device List)] で、ルータを選択して [ 変更(Modify)] をクリックします。
[Modify Device(s)] ページが表示されます。
「ユーザー定義プロパティー」タブの「名前」列で、プロパティーの名前を 「bulk_size」に指定します。[値] 列で、バルク サイズを 100 に設定します。
バルクサイズは、ネットワークがポーリングされるたびに収集されるインターフェイスの数を示します。
[ 変更] をクリックします。
[Device Profile] ページにリダイレクトされ、変更が保存されたことを示す確認メッセージが表示されます。

