シスコ デバイス エージェント
Cisco NX-OS デバイス エージェントの概要
デバイスシステムエージェントのインストールにはApstra GUIからインストールすることをお勧めしますが、CLIから手動でApstraエージェントをインストールする こともできます 。まれな例外でのみ、エージェントを手動でインストールする必要がありますが、これにはより多くの労力が必要であり、エラーが発生しやすくなります。エージェントを手動でインストールする前に、デバイスのさまざまな状態、構成段階、およびエージェントの操作について十分に理解しておく必要があります。ご不明な点がございましたら、 ジュニパーサポートにお問い合わせください。
また、Apstra ZTPを使用して、スイッチ上のエージェントと前提条件の構成を自動的に起動してインストールすることもできます。Apstraを使用すると、ZTPはエージェントを手動でインストールするよりもシンプルで簡単に大規模にサポートできます。
シスコ デバイスのエージェントを手動でインストールするには、次の手順に従います。
- guestshell のディスク サイズ、メモリ、および CPU を更新し、guestshell を有効化/再起動します。
- デバイスエージェントをインストールします。
- aos.config ファイルを更新します。
- サービスを開始します。
Cisco GuestShellは、Apstraで一意になるようにパーティション化されていません。ゲストシェルでホストされている他のアプリケーションがある場合、ゲストシェルの変更はそれらに影響を与える可能性があります。
「Bootstrap」または「Pristine」設定のコマンドは、ファブリックの導入時に追加されたApstra設定に干渉する可能性があります。
Apstraが使用するMTUよりも低い値でNX-OSの「システムジャンボムツ」を設定すると、ApstraのMTUコマンドは失敗します。
デバイス構成要件
VRF、NXAPI、GuestShell、管理 VRF の作成の順番でデバイスを設定します。エージェントとサーバー間の通信を可能にするために、ApstraのデバイスエージェントはVRF名 managementを使用します。これらの行が実行コンフィギュレーションに表示されることを確認します。
! no password strength-check username admin password admin-password role network-admin copp profile strict ! vrf context management ip route 0.0.0.0/0 <Management Default Gateway> ! interface mgmt0 vrf member management ip address <Management CIDR Address> !
Guestshell のサイズ変更と有効化
- 次のコマンドを実行して、ディスク容量、メモリ、およびCPUのサイズを変更します。
guestshell resize rootfs 1024 guestshell resize memory 2048 guestshell resize cpu 6
- ゲストシェルが有効になっていない場合は、コマンド
guestshell enableを実行して変更を有効にします。 - guestshell がすでに有効になっている場合は、コマンド
guestshell rebootを実行してシェルを再起動し、変更を有効にします。 - コマンド
switch# show guestshell detailを実行し、guestshell がアクティブ化されていることを確認します。
エージェントインストーラのダウンロード
ApstraサーバーからHTTPS経由でインストールエージェントをコピーできます。ダウンロード後、ダウンロードしたコピーのMD5sumがApstraの保存内容と一致することを確認します。
エージェントファイルを取得するために、シスコデバイスはHTTPSを使用してApstraサーバーに接続します。先に進む前に、この接続が機能していることを確認してください。
Apstraには、Apstraサーバーのエージェントが同梱されています。それを /volatileまたは volatile: ファイルシステムの場所にコピーできます。また、Apstraには、Apstraサーバーの /home/admin フォルダにmd5sumファイルも同梱されています。
以下の実行ファイルから aos_server_ip 変数と aos_version を置き換えます。(Apstra GUIからApstraサーバーのバージョンを確認するには、[ Platform >About]に移動します)。
switch# guestshell run sudo chvrf management wget --no-check-certificate -o /volatile/aos_download.log -O /volatile/aos.run https://<aos_server_ip>/device_agent_images/aos_device_agent_<aos_version>.run guestshell run sudo chvrf management wget --no-check-certificate -o /volatile/aos_download.log -O /volatile/aos.run.md5 https://<aos_server_ip>/device_agent_images/aos_device_agent_<aos_version>.run.md5
ファイルが正しくダウンロードされたことを確認します。
switch# show file volatile:aos.run md5 a28780880a8d674f6eb6a397509db101 switch# show file volatile:aos.run.md5 a28780880a8d674f6eb6a397509db101 aos_device_agent_<aos_version>.run
Cisco Device Agent のインストール
問題が発生した場合に備えて、コマンド copy running-config startup-config を実行して最新の変更を保存することをお勧めします。
次に示すように、Cisco NX-OS スイッチのゲストシェルから コマンドを実行してエージェントをインストールします。
switch# guestshell run sudo chmod +x /volatile/aos.run switch# guestshell run sudo /volatile/aos.run -- --no-start <omitted output> created 7855 files created 1386 directories created 602 symlinks created 0 devices created 0 fifos + [[ True == \T\r\u\e ]] + true + systemctl enable aos
エージェント構成ファイルの更新とサービスの開始
エージェントをインストールした後、サービスを開始する前に、 aos.conf ファイルを更新してサーバーに接続します。
/etc/aos/aos.conf にある Cisco NX-OS デバイス エージェント 構成ファイルを設定します。パラメータについては、「Apstraデバイスエージェント構成ファイル」を参照してください。
ファイルを更新したら、コマンド service aos start を実行してApstraデバイスエージェントを起動します。
Apstraサーバー上のApstraデバイスをアクティブ化する
Apstraデバイスエージェントは、Apstraと通信する際に、「デバイスキー」を使用して自身を識別します。Cisco NXOS スイッチの場合、デバイス キーは管理インターフェイス「eth0」の MAC アドレスです。
root@Cisco:/etc/aos# ip link show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 08:00:27:8a:39:05 brd ff:ff:ff:ff:ff:ff
デバイスの展開
Apstra GUIの左側のナビゲーションメニューから、[ デバイス]>[管理対象デバイス]に移動します。エージェントが起動して実行されると、このリストに表示され、GUIを使用して標準的な手順に従って確認してブループリントに割り当てることができます。
Apstraデバイスエージェントのリセット
なんらかの理由(ブループリントの変更、再展開、バックアップからのデバイスの復元など)でApstraエージェントをリセットする必要がある場合は、Apstraエージェントのメタデータをクリアし、デバイスを再登録して、ブループリントに再展開することをお勧めします。
C9K-172-20-65-5# guestshell [guestshell@guestshell ~]$ sudo su - [root@guestshell ~]# systemctl stop aos [root@guestshell ~]# rm -rf /var/log/aos/* [root@guestshell ~]# systemctl start aos Starting AOS Agents...root@guestshell ~]#
Apstra Device Agentのアンインストール
エージェントをアンインストールするには、まず GUI を使用して、標準的な手順に従ってブループリントからエージェントをアンデプロイし、割り当てを解除します。[管理対象デバイス]ページから完全に削除することもできます。
NX-OSからApstraパッケージを削除するには、ゲストシェルを破棄します。これは、他のアプリケーションがゲストシェルを使用していない場合にのみ行ってください。
C9K-172-20-65-5# guestshell destroy Remove remaining AOS data from system Removing the guest-shell deletes most of the data left by AOS. Some files are still on the bootflash:/.aos folder. C9K-172-20-65-5# delete bootflash:.aos no-prompt
Apstra EEMスクリプトの削除
Apstraデバイスエージェントは、テレメトリを支援するためにイベントマネージャーアプレットをインストールします。これらは安全に取り外すことができます
C9K-172-20-65-5(config)#no event manager applet AOS_PROTO_VSH_LAUNCH C9K-172-20-65-5(config)# no event manager applet AOS_STATS_VSH_LAUNCH C9K-172-20-65-5(config)# no event manager applet aos_bgp_applet C9K-172-20-65-5(config)# no event manager applet aos_ifdown_applet C9K-172-20-65-5(config)# no event manager applet aos_ifup_applet
Cisco エージェントのトラブルシューティング
ApstraエージェントはNXOSゲストシェルで実行され、基盤となるbashおよびLinux環境と対話します。これは、Apstraが動作する内部Linuxコンテナ(LXC)です。LXCでは、ApstraはNXAPIやその他の方法を使用してNXOSと直接通信します。セキュリティ上の理由から、CiscoはLXCインターフェイスの大部分をNXOSデバイスの残りの部分から離してパーティション化しているため、さらにトラブルシューティングコマンドを実行するには、ゲストシェルのbashプロンプトにドロップする必要があります。
ゲストシェルがNX-OSで実行されていることを確認する ApstraエージェントはNXOSゲストシェルで実行され、基盤となるbashおよびLinux環境と対話します。これは、Apstraが動作する内部Linuxコンテナ(LXC)です。ゲストシェルがアクティブ化され、実行されていることを確認しています。
C9K-172-20-65-5# show guestshell detail Virtual service guestshell+ detail State : Activated Package information Name : guestshell.ova Path : /isanboot/bin/guestshell.ova Application Name : GuestShell Installed version : 2.1(0.0) Description : Cisco Systems Guest Shell Signing Key type : Cisco release key Method : SHA-1 Licensing Name : None Version : None Resource reservation Disk : 1024 MB Memory : 3072 MB CPU : 6% system CPU Attached devices Type Name Alias --------------------------------------------- Disk _rootfs Disk /cisco/core Serial/shell Serial/aux Serial/Syslog serial2 Serial/Trace serial3
登録済みサービスの表示
C9K-172-20-65-5# show virtual-service list Virtual Service List: Name Status Package Name ----------------------------------------------------------------------- guestshell+ Activated guestshell.ova
- Apstraへのネットワーク到達可能性の確認
- エージェントのインストールの確認
- Apstraエージェントが実行されていることを確認する
- /etc/aos にファイルが存在するかどうかの確認
- /var/log/aosにあるApstraデータを確認する
- Apstraエージェントのバージョンを確認する
- DNS 解決の失敗
- Cisco NX-OSでのApstraサービスの開始に時間がかかる
- Apstraがエラーなしで停止し、障害が発生する(MGMT VRF)
- NX-OSゲストシェルでのMGMT VRFの確認
Apstraへのネットワーク到達可能性の確認
ゲストシェル内で、Apstraサーバーにpingを送信して、ICMP pingを確認します。VRF のコンテキスト内でコマンドを実行する場合は、コマンド chvrf <vrf> を使用します。 この場合は VRF management です。
[guestshell@guestshell ~]$ chvrf management ping 172.20.65.3 PING 172.20.65.3 (172.20.65.3) 56(84) bytes of data. 64 bytes from 172.20.65.3: icmp_seq=1 ttl=64 time=0.239 ms 64 bytes from 172.20.65.3: icmp_seq=2 ttl=64 time=0.215 ms
エージェントのインストールの確認
Apstraデバイスエージェントパッケージがインストールされているかどうかを確認します。NXOSでは、Apstraエージェントは、ゲストシェルインスタンスの起動時に起動するように /etc/rc.d/init.d/aos にインストールされます。
[guestshell@guestshell ~]$ systemctl status aos
aos.service - LSB: Start AOS device agents
Loaded: loaded (/etc/rc.d/init.d/aos)
Active: active (running) since Tue 2016-11-15 00:10:49 UTC; 3h 54min ago
Process: 30 ExecStart=/etc/rc.d/init.d/aos start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/aos.service
├─113 tacspawner --daemonize=/var/log/aos/aos.log --pidfile=/var/run/aos.pid --name=SAL2028T5NE --hostname=localhost --domainSocket=aos_spawner_sock --hostSysdbAddress=tb...
├─115 tacleafsysdb --agentName=SAL2028T5NE-LocalTasks-SAL2028T5NE-0 --partition= --storage-mode=persistent --eventLogDir=. --eventLogSev=TaccSpawner/error,Mounter/error,M...
├─116 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyDeploymentAgent.ProxyDeploymentAgent --name=DeploymentProxyAgent device_type=Cisco serial_number=@(SWI...
├─117 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyCountersAgent.ProxyCountersAgent --name=CounterProxyAgent device_type=Cisco serial_number=@(SWITCH_UNI...
└─118 /usr/bin/python /bin/aos_agent --class=aos.device.cisco.CiscoTelemetryAgent.CiscoTelemetryAgent --name=DeviceTelemetryAgent serial_number=@(SWITCH_UNIQUE_ID)
Apstraエージェントが実行されていることを確認する
「service」コマンドで実行中のシステム状態を確認し、「ps」コマンドで実行中のプロセスを確認します。aos_agentが正常に動作していることを確認しようとしています。
[root@guestshell ~]# service aos status aos is running [root@guestshell ~]# ps wax PID TTY STAT TIME COMMAND 1 ? Ss 0:00 /sbin/init 9 ? Ss 0:00 /usr/lib/systemd/systemd-journald 19 ? Ss 0:00 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 22 ? Ss 0:00 /usr/lib/systemd/systemd-logind 29 ? Ss 0:00 /usr/sbin/sshd -D -f /etc/ssh/sshd_config-cisco -p 17682 -o ListenAddress=localhost 38 ? Ss 0:00 /usr/sbin/crond -n 55 pts/1Ss+0:00 /sbin/agetty --noclear ttyS1 56 pts/0Ss+0:00 /sbin/agetty --noclear ttyS0 113 ? Sl 0:01 tacspawner --daemonize=/var/log/aos/aos.log --pidfile=/var/run/aos.pid --name=C9K --hostname=localhost --domainSocket=aos_spawner_sock --hostSysdbAdd 115 ? S 0:03 tacleafsysdb --agentName=C9K-LocalTasks-C9K-0 --partition= --storage-mode=persistent --eventLogDir=. --eventLogSev=TaccSpawner/error,Mounter/ 116 ? Sl 0:01 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyDeploymentAgent.ProxyDeploymentAgent --name=DeploymentProxyAgent device_type=Cisco serial_numbe 117 ? Sl 0:19 /usr/bin/python /bin/aos_agent --class=aos.device.common.ProxyCountersAgent.ProxyCountersAgent --name=CounterProxyAgent device_type=Cisco serial_number=@(SWI 118 ? Sl 0:02 /usr/bin/python /bin/aos_agent --class=aos.device.cisco.CiscoTelemetryAgent.CiscoTelemetryAgent --name=DeviceTelemetryAgent serial_number=@(SWITCH_UNIQUE_ID) 700 ? Ss 0:00 sshd: guestshell [priv] 702 ? S 0:00 sshd: guestshell@pts/4 703 pts/4Ss 0:00 bash -li 732 pts/4S 0:00 sudo su - 733 pts/4S 0:00 su - 734 pts/4S 0:00 -bash 823 pts/4R+ 0:00 ps wax
/etc/aos にファイルが存在するかどうかの確認
ゲストシェルでは、Apstraは多数の設定ファイルを/etc/aosに保存します。
[root@guestshell aos]# ls -lah /etc/aos total 44K drwxr-xr-x 2 root root 4.0K Nov 15 00:05 . drwxr-xr-x 63 root root 4.0K Nov 15 00:09 .. -rwxr-xr-x 1 root root 1.1K Nov 14 22:26 agent.json -rw-r--r-- 1 root root 1.1K Nov 15 00:05 aos.conf -rwxr-xr-x 1 root root 992 Nov 14 22:26 common_functions -rwxr-xr-x 1 root root 1.4K Nov 14 22:26 health_check_functions -rwxr-xr-x 1 root root 450 Nov 14 22:26 iproute2_functions -rwxr-xr-x 1 root root 916 Nov 14 22:26 lsb_functions -rwxr-xr-x 1 root root 4.5K Nov 14 22:26 platform_functions -rwxr-xr-x 1 root root 156 Nov 14 22:26 version
/var/log/aosにあるApstraデータを確認する
Apstraは内部データベースを/var/log/aosに書き込みます
[root@guestshell aos]# ls -lah /var/log/aos total 500K drwxr-xr-x 2 root root 480 Nov 15 00:10 . drwxr-xr-x 3 root root 120 Nov 15 00:10 .. -rw-r--r-- 1 root root 3.2K Nov 15 00:11 CounterProxyAgent.117.1479168658.log -rw-r--r-- 1 root root 289K Nov 15 02:27 CounterProxyAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 CounterProxyAgent.out -rw------- 1 root root 31K Nov 15 00:11 CounterProxyAgentC9K_2016-11-15--00-10-59_117-2016-11-15--00-10-59.tel -rw-r--r-- 1 root root 104 Nov 15 00:45 DeploymentProxyAgent.116.1479168650.log -rw-r--r-- 1 root root 12K Nov 15 00:45 DeploymentProxyAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 DeploymentProxyAgent.out -rw------- 1 root root 31K Nov 15 00:10 DeploymentProxyAgentC9K_2016-11-15--00-10-51_116-2016-11-15--00-10-51.tel -rw-r--r-- 1 root root 4.1K Nov 15 00:11 DeviceTelemetryAgent.118.1479168657.log -rw-r--r-- 1 root root 1.4K Nov 15 00:11 DeviceTelemetryAgent.err -rw-r--r-- 1 root root0 Nov 15 00:10 DeviceTelemetryAgent.out -rw------- 1 root root 31K Nov 15 00:11 DeviceTelemetryAgentC9K_2016-11-15--00-10-58_118-2016-11-15--00-10-58.tel -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.115.1479168649.log -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.err -rw-r--r-- 1 root root0 Nov 15 00:10 C9K-0.out -rw------- 1 root root 39K Nov 15 00:10 C9K-LocalTasks-C9K-0_2016-11-15--00-10-50_115-2016-11-15--00-10-50.tel -rw------- 1 root root 36K Nov 15 00:10 Spawner-C9K_2016-11-15--00-10-49_111-2016-11-15--00-10-49.tel -rw------- 1 root root 634 Nov 15 00:10 _C9K-00000000582a528a-0001744b-checkpoint -rw-r--r-- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-checkpoint-valid -rw------- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-log -rw-r--r-- 1 root root0 Nov 15 00:10 _C9K-00000000582a528a-0001744b-log-valid -rw-r--r-- 1 root root0 Nov 15 00:10 aos.log [root@guestshell aos]#
Apstraエージェントのバージョンを確認する
Apstraエージェントのバージョンは、/etc/aos/versionで入手できます。このコマンドを実行する前に、aosサービスに接続する必要があります。
[root@guestshell admin]# service aos attach aos@guestshell:/# cat /etc/aos/version VERSION=99.0.0-3874 BUILD_ID=AOS_latest_OB.3874 BRANCH_NAME=master COMMIT_ID=d3eb2585608f0509a11b95fb9d07aed6e26d6c32 BUILD_DATETIME=2018-05-20_10:22:32_PDT AOS_DI_RELEASE=2.2.0-169 aos@guestshell:/#
DNS 解決の失敗
Apstraエージェントは、metadb接続のDNS解決に敏感です。/etc/aos/aos.conf からの IP や DNS が、デバイスの eth0 管理ポートから到達可能であることを確認します。
[root@guestshell ~]# aos_show_tech | grep -i dns [2016/10/20 23:04:20.534538UTC@event-'warning']:(textMsg=Failing outgoing mount to <'tbt://aos-server:29731/Data/ReplicaStatus?flags=i','/Metadb/ReplicaStatus'>' due to code 'resynchronizing' and reason 'Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) [2016/10/20 23:04:21.540444UTC@OutgoingMountConnectionError-'warning']:(connectionName=--NONE--,localPath=/Metadb/ReplicaStatus,remotePath=tbt://aos-server:29731/Data/ReplicaStatus?flags=i,msg=Tac::ErrnoException: Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) [2016/10/20 23:04:21.541174UTC@event-'warning']:(textMsg=Failing outgoing mount to <'tbt://aos-server:29731/Data/ReplicaStatus?flags=i','/Metadb/ReplicaStatus'>' due to code 'resynchronizing' and reason 'Dns lookup issue "Temporary failure in name resolution" Unknown error 18446744073709551613) Insufficient Guestshell filesystem size An error message ‘AOS Agent needs XXMB on the / filesystem’ will occur if the rootfs partition is not at least 1GB large. Please make sure to resize the guestshell filesystem to 2gb ram, 1gb disk, and 6% CPU. <snip> + popd /tmp/selfgz18527139 + rpm -Uvh --nodeps --force /tmp/selfgz18527139/aos-device-agent-1.1.0-0.1.1108.x86_64.rpm Preparing... ################################# [100%] installing package aos-device-agent-1.1.0-0.1.1108.x86_64 needs 55MB on the / filesystem
Cisco NX-OSでのApstraサービスの開始に時間がかかる
Cisco NX-OS の GuestShell が LXC コンテナ内の NXAPI を初期化するのに数分かかります。これは正常です。この遅延に対応するために、Apstraスクリプトの初期化に待機遅延が追加されています。
Apstraがエラーなしで停止し、障害が発生する(MGMT VRF)
ゲストシェルが管理 VRF の背後に正しくあることを確認します。
デフォルトでは、「ping」コマンドを実行しているときにApstraサーバーにpingを実行できないはずです。
以下 - グローバルデフォルトルーティングテーブルから172.20.156.3のApstraサーバーへのpingは失敗すると予想されますが、ゲストシェルでは成功します。
SAL2028T5PP-172-20-156-5# ping 172.20.156.3 PING 172.20.156.3 (172.20.156.3): 56 data bytes ping: sendto 172.20.156.3 64 chars, No route to host ^C --- 172.20.156.3 ping statistics --- 1 packets transmitted, 0 packets received, 100.00% packet loss SAL2028T5PP-172-20-156-5# ping 172.20.156.3 vrf management PING 172.20.156.3 (172.20.156.3): 56 data bytes 64 bytes from 172.20.156.3: icmp_seq=0 ttl=63 time=0.649 ms 64 bytes from 172.20.156.3: icmp_seq=1 ttl=63 time=0.449 ms 64 bytes from 172.20.156.3: icmp_seq=2 ttl=63 time=0.428 ms 64 bytes from 172.20.156.3: icmp_seq=3 ttl=63 time=0.423 ms 64 bytes from 172.20.156.3: icmp_seq=4 ttl=63 time=0.404 ms ^C
NX-OSゲストシェルでのMGMT VRFの確認
[root@guestshell ~]# ping 172.20.157.3 connect: Network is unreachable [root@guestshell ~]# sudo ip netns exec management ping 172.20.156.3 PING 172.20.156.3 (172.20.156.3) 56(84) bytes of data. 64 bytes from 172.20.156.3: icmp_seq=1 ttl=64 time=0.226 ms 64 bytes from 172.20.156.3: icmp_seq=2 ttl=64 time=0.232 ms ^C