キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
34
閲覧回数
1
いいね!
0
コメント
taknakam
Cisco Employee
Cisco Employee

 

 

はじめに

SNA は複数のサービスが Docker コンテナ上で動作するアーキテクチャになっています。アプライアンス内でのサービス間の通信では、Link-Local IP が使われています。通常の運用においてはこれらのIPアドレスについて知る必要はありませんが、トラブルシューティングにおいてはログの中にこれらの Link-Local IP が記録されていることがあるため、IPアドレスに対応するコンテナ名を確認する必要があります。本ドキュメントでは各 Docker コンテナが使用しているIPアドレスの確認方法について説明します。

この内容はバージョン 7.4.2 を使用して確認しています。

 

 

Docker コンテナが使用しているIPを確認する

アプライアンス上で動作しているコンテナ一覧は以下のコマンドで確認できます。

# docker container ls

 

以下のようにフィルタを指定すると、コンテナ名だけを表示することができます。

# docker container ls --format "{{.Names}}"

 

SMC 上で上記コマンドを実行すると、以下のコンテナ一覧が得られます。

svc-sse-connector
svc-ctr-integration
nginx
sw-response-mgmt
svc-cm-agent
svc-data-service
report-builder
appliance-gateway
svc-token-authority
smc
swe-detections-reporting
svc-central-management
static-assets
svc-va
swe-legacy-detections
csm-collector-smc
sw-rabbitmq
svc-sw-reporting
svc-legacy-auth
csm-statsd
svc-sw-policy
svc-ise-client
cta-smc
dodin-notification

 

コンテナが使用しているIPを確認するには、docker inspect コマンドを使います。docker inspect コマンドの引数には上記で取得したコンテナ名を指定します。

# docker inspect smc

 

それぞれのコンテナに対して docker inspect を実行する処理は以下のようにワンライナーでまとめて実行できます。これをSNA の CLI 上で実行すると、コンテナ名とIPアドレスのペアの一覧が取得できます。

# docker container ls --format '{{.ID}} {{.Names}}' | while read -r id name; do ip=$(docker inspect "$id" | jq -r '.[].NetworkSettings.Networks[].IPAddress' | grep -E '^169\.254\.[0-9]+\.[0-9]+$'); if [ -n "$ip" ]; then echo "Name: $name, IP: $ip"; fi; done

 

実行例を以下に示します。

# docker container ls --format '{{.ID}} {{.Names}}' | while read -r id name; do ip=$(docker inspect "$id" | jq -r '.[].NetworkSettings.Networks[].IPAddress' | grep -E '^169\.254\.[0-9]+\.[0-9]+$'); if [ -n "$ip" ]; then echo "Name: $name, IP: $ip"; fi; done

Name: svc-sse-connector, IP: 169.254.64.24
Name: svc-ctr-integration, IP: 169.254.64.22
Name: nginx, IP: 169.254.64.8
Name: sw-response-mgmt, IP: 169.254.64.19
Name: svc-cm-agent, IP: 169.254.64.20
Name: svc-data-service, IP: 169.254.64.5
Name: report-builder, IP: 169.254.64.3
Name: appliance-gateway, IP: 169.254.64.2
Name: svc-token-authority, IP: 169.254.64.26
Name: smc, IP: 169.254.64.27
Name: swe-detections-reporting, IP: 169.254.64.25
Name: svc-central-management, IP: 169.254.64.10
Name: static-assets, IP: 169.254.64.18
Name: svc-va, IP: 169.254.64.4
Name: swe-legacy-detections, IP: 169.254.64.7
Name: csm-collector-smc, IP: 169.254.64.9
Name: sw-rabbitmq, IP: 169.254.64.12
Name: svc-sw-reporting, IP: 169.254.64.15
Name: svc-legacy-auth, IP: 169.254.64.11
Name: csm-statsd, IP: 169.254.64.6
Name: svc-sw-policy, IP: 169.254.64.16
Name: svc-ise-client, IP: 169.254.64.14
Name: cta-smc, IP: 169.254.64.17
Name: dodin-notification, IP: 169.254.64.13

 

 

Link-Local IP が記録されているログの例

例えば appliance-gateway のアクセスログにはアクセス元のサービスが使用している IP が記録されています。

appliance-gateway のアクセスログは以下のファイルです。

/lancope/var/nginx/logs/appliance-gateway-access.log

 

 この中には例えば以下のようなログが記録されています。

169.254.64.27 - - [24/Jul/2024:00:02:08 +0000] 192.168.0.168 "POST /fwd/src/svc-sw-manager/dst/192.168.0.168/swa/agent/system/handshake HTTP/1.1" 200 593 "-" "-" "-" 513978 1

 

一番最初に出力されている 169.254.64.27 がアクセス元のIPアドレスです。上に示したワンライナーの出力から、169.254.64.27 を使用している Docker コンテナは "smc" であることが分かります。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします