2021-12-20 01:28 PM 2022-01-20 01:06 PM 更新
Crosswork Network Controller (CNC) では、非常に多くのアプリケーションがそれぞれが独立して動作しており、またそれぞれが情報交換を行い、システム全体として CNC として機能を提供しています。
アプリケーションには、大きな括りとして Crosswork Optimization Engine, Crosswork Active Topology などがありますが、それぞれを動かしているプロセス単位でコンテナとして動作しており、その動作時に出力されるログファイルも分散しています。この投稿では、それらログファイルの場所について説明します。
なお、本記事の内容は Crosswork Infrastructure 4.0/4.1, Crosswork 2.0/3.0 を対象としています。
CNC は 3台の VM (ホスト) がクラスタとして動作しており、特定の機能について動作しているコンテナがどのホストに存在するかは不定です。内部 Kubenetes が動的に配置をしており、問題調査をする場合などは、そのコンテナ ( K8S Pod )がどのホストで動作しているかを確認する事が重要です。
以下の例では、optima ( COE ) の pod を表示しています。optima-engine という pod は stateful-set で作成されており、2 POD が使用されています。つまり、全ホストで動作しておらず、いずれか2台のホストで動作しています。この例では、192-168-200-101/192-168-200-102 の二つのホストで動作している事がわかりますので、ログファイルを確認する必要があるのは、192.168.200.101/192.168.200.102 ということになります。また192-168-200-103 ホストでは optima-engine が動作していませんので、ログファイルは生成されません。
root@192-168-200-101-hybrid:/mnt/cw_logfs# kubectl get pod -o wide | grep optima optima-bwod-596cfc8695-jhvl 1/1 Running 0 3d19h 10.244.246.117 192-168-200-101-hybrid.cisco.com optima-bwopt-7f4b764989-2bv 1/1 Running 0 3d19h 10.244.9.83 192-168-200-102-hybrid.cisco.com optima-engine-0 1/1 Running 1 3d18h 10.244.9.84 192-168-200-102-hybrid.cisco.com optima-engine-1 1/1 Running 0 9d 10.244.246.115 192-168-200-101-hybrid.cisco.com optima-lcm-7fcdd9b6b8-b2pph 1/1 Running 0 2d21h 10.244.188.24 192-168-200-103-hybrid.cisco.com optima-pce-dispatcher-6b8bc 1/1 Running 0 3d19h 10.244.246.119 192-168-200-101-hybrid.cisco.com optima-restconf-v1-7fdf95f8 1/1 Running 0 3d19h 10.244.246.123 192-168-200-101-hybrid.cisco.com optima-restconf-v2-59fc6664 1/1 Running 0 3d19h 10.244.246.121 192-168-200-101-hybrid.cisco.com optima-traffic-0 1/1 Running 0 13d 10.244.246.89 192-168-200-101-hybrid.cisco.com optima-traffic-1 1/1 Running 0 13d 10.244.9.70 192-168-200-102-hybrid.cisco.com optima-traffic-2 1/1 Running 0 3d18h 10.244.188.21 192-168-200-103-hybrid.cisco.com optima-ui-service-7d4d7f6fc 1/1 Running 0 3d19h 10.244.246.126 192-168-200-101-hybrid.cisco.com root@192-168-200-101-hybrid:/mnt/cw_logfs#
どのホストにおいても、ディレクトリ構造は同じで、全て /mnt/cw_logfs ディレクトリに出力されます。各プロセス毎にディレクトリが存在し、当該プロセスに関するログは全てそのディレクトリ内から見つかります。
root@192-168-200-101-hybrid:/mnt/cw_logfs# ls -la total 12 drwxr-xr-x 53 root root 4096 Dec 10 06:45 . drwxr-xr-x 15 root root 4096 Dec 9 02:03 .. drwxr-xr-x 3 root root 15 Nov 15 16:21 alarms drwxr-xr-x 3 root root 15 Nov 15 16:27 astackserver drwxr-xr-x 3 root root 15 Nov 15 16:20 cas drwxr-xr-x 3 root root 15 Dec 6 08:44 cat-fp-deployment-manager drwxr-xr-x 3 root root 15 Nov 16 07:37 cat-inventory drwxr-xr-x 3 root root 15 Nov 16 07:37 cat-restconf drwxr-xr-x 3 root root 15 Nov 16 07:36 cat-service-overlay drwxr-xr-x 3 root root 15 Dec 6 08:48 cat-ui-service drwxr-xr-x 3 root root 15 Nov 15 16:18 cw-clms drwxr-xr-x 3 root root 15 Nov 15 16:14 cw-ftp drwxr-xr-x 3 root root 15 Nov 15 16:25 cw-geo-service drwxr-xr-x 3 root root 15 Nov 15 16:25 cw-grouping-service drwxr-xr-x 2 root root 223 Nov 15 15:56 cw-ipsec drwxr-xr-x 3 root root 15 Nov 15 16:27 cw-proxy drwxr-xr-x 3 root root 15 Nov 15 16:15 cw-sftp drwxr-xr-x 3 root root 15 Nov 15 16:22 cw-topo-visualization drwxr-xr-x 3 root root 15 Nov 15 16:23 cw-views-service drwxr-xr-x 3 root root 15 Nov 15 16:20 dg-manager drwxr-xr-x 3 root root 19 Nov 15 16:16 docker-registry drwxr-xr-x 3 root root 15 Nov 16 07:27 engine-worker drwxr-xr-x 3 root root 15 Dec 6 08:43 grafana drwxr-xr-x 3 root root 15 Nov 15 16:18 helios drwxr-xr-x 3 root root 15 Nov 15 16:23 magellan drwxr-xr-x 3 root root 15 Nov 15 15:56 nats drwxr-xr-x 3 root root 15 Nov 15 16:21 neo4j-topo-svc drwxr-xr-x 3 root root 15 Nov 15 15:48 node-exporter drwxr-xr-x 2 root root 119 Nov 15 15:53 node-orchestrator drwxr-xr-x 3 root root 15 Nov 16 07:29 oam drwxr-xr-x 3 root root 15 Nov 16 07:37 optical-mediator drwxr-xr-x 3 root root 15 Dec 6 08:45 optima-bwod drwxr-xr-x 3 root root 15 Dec 6 08:44 optima-bwopt drwxr-xr-x 3 root root 15 Dec 10 06:45 optima-engine drwxr-xr-x 3 root root 15 Nov 16 07:26 optima-lcm drwxr-xr-x 3 root root 15 Nov 16 07:24 optima-pce-dispatcher drwxr-xr-x 3 root root 15 Dec 6 08:45 optima-restconf-v1 drwxr-xr-x 3 root root 15 Dec 6 08:44 optima-restconf-v2 drwxr-xr-x 3 root root 15 Nov 16 07:25 optima-traffic drwxr-xr-x 3 root root 15 Nov 16 07:26 optima-ui-service drwxr-xr-x 3 root root 298 Dec 20 01:41 orchestrator drwxr-xr-x 3 root root 15 Nov 15 16:27 robot-alerting drwxr-xr-x 3 root root 15 Nov 15 16:24 robot-astack-influxdb drwxr-xr-x 3 root root 15 Nov 15 16:26 robot-astack-kapacitor drwxr-xr-x 3 root root 15 Nov 15 16:18 robot-dlminvmgr drwxr-xr-x 2 root root 177 Nov 15 15:50 robot-etcd drwxr-xr-x 3 root root 15 Nov 15 16:25 robot-fleet drwxr-xr-x 2 root root 4096 Dec 19 12:41 robot-kafka drwxr-xr-x 3 root root 268 Dec 2 13:22 robot-postgres drwxr-xr-x 3 root root 15 Nov 15 16:22 robot-topo-svc drwxr-xr-x 3 root root 15 Nov 15 16:23 robot-ui drwxr-xr-x 3 root root 15 Nov 15 15:56 robot-zookeeper drwxr-xr-x 3 root root 15 Nov 15 16:20 tyk root@192-168-200-101-hybrid:/mnt/cw_logfs#
特定のどのアプリケーションが、どの Pod を使用しているかを判断するには、名前から判断する以外に、以下の方法があります。
CNC にブラウザからログインし、以下の画面を開きます。
Administration -> Crosswork Manager -> (Application 名)
Optimization Engine では、以下のような画面が確認できます。画面下では、動作している Pod 名がリストされており、またそのステータスを確認することも可能です。
各プロセスはそれぞれログの実装をしているため、出力されるファイル名やその方法は違います。
例として、optima-engine では以下のように出力されています。基本的にはどのプロセスにおいても、標準出力と標準エラー出力がファイルとなっていることは共通で、場合によっては追加のファイルやディレクトリが存在することになります。
root@192-168-200-101-hybrid:/mnt/cw_logfs/optima-engine/1# ls -la total 2956 drwxr-xr-x 3 root root 183 Dec 10 06:45 . drwxr-xr-x 3 root root 15 Dec 10 06:45 .. drwxr-xr-x 2 root root 23 Dec 10 06:45 audit -rw-r--r-- 1 root root 2 Dec 10 06:45 optima-engine.1639118710238.id -rw-r--r-- 1 root root 2712166 Dec 20 03:15 optima-engine.1639118710238.log -rw-r--r-- 1 root root 295399 Dec 16 07:46 optima-engine_stderr.log -rw-r--r-- 1 root root 181 Dec 16 07:42 optima-engine_stdout.log -rw-r--r-- 1 root root 761 Dec 10 06:45 supervisord.log root@192-168-200-101-hybrid:/mnt/cw_logfs/optima-engine/1#
なんらかの問題について調査をする場合、どのプロセスがそれに関与しているかを認識する必要があります。プロセス毎にそれぞれの役割についての説明を投稿していきますので、今後それらを参考にしてください。
ログの取得は、CNC ホストからscp などでコピーして出力してください。アプリケーション単位では、まとめて GUI から取得を指示することも可能です。詳細については以下をご確認ください。
Crosswork Network Controller 上のアプリケーションのログ取得方法
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします
下記より関連するコンテンツにアクセスできます