apstra-cli 유틸리티를 사용한 인텐트 기반 분석
Apstra-CLI를 사용하는 IBA 개요
Apstra GUI에서 인텐트 기반 분석(IBA)으로 작업할 수 있으며, 비프로덕션 환경에서는 실험적인 apstra-cli 유틸리티(이전의 aos-cli)를 사용할 수 있습니다. GUI에서 IBA 프로브를 사용하는 방법에 대한 자세한 내용은 분석 섹션의 프로브 를 참조하십시오. 이 가이드에서는 apstra-cli를 사용하는 방법을 설명합니다.
apstra-cli 유틸리티는 실험적인 도구이며 지원이 제한되어 있습니다. 주니퍼 지원에서 권장하지 않는 한 프로덕션 환경에서는 사용하지 마십시오. apstra-cli의 일부 버전은 특정 Apstra 릴리스를 위한 것이 아닙니다. 일부 apstra-cli 명령은 서로 다른 Apstra 릴리스 간에 작동하거나 작동하지 않을 수 있습니다. 비프로덕션 환경에서 특정 Apstra 릴리스로 apstra-cli 버전을 테스트하거나 주니퍼 지원에 도움을 요청하는 것이 항상 가장 좋습니다.
apstra-cli 유틸리티를 사용하면 분석(및 기타 기능)을 위해 Apstra 서버에서 정보를 추출할 수 있습니다. IBA 프로브의 워크플로우는 다음과 같습니다.
- apstra-cli를 설치합니다.
- 패키지를 설치합니다.
- 디바이스 에이전트 프로필을 만듭니다.
- 디바이스 에이전트를 설치합니다.
- IBA 프로브를 설치합니다.
프로브가 인스턴스화된 후 Syslog를 사용하여 Syslog 서버에 메시지를 보낼 수 있습니다.
apstra-cli 설치
패키지 설치
상담원 프로필 만들기
에이전트 프로필을 사용하면 프로필에서 패키지를 한 번 지정한 다음 동시에 여러 에이전트에 프로필을 적용할 수 있습니다. 네 개의 패키지가 모두 포함된 프로필을 만들어 보겠습니다. (사용자 환경에서 인터넷에 액세스할 수 있는 경우 사용자 지정 수집기 패키지만 포함하면 됩니다.)
- 왼쪽 탐색 메뉴에서 장치 > 시스템 에이전트 > 에이전트 프로필로 이동하고 에이전트 프로필 만들기를 클릭합니다.
- 이 예에서는 플랫폼 드롭다운 목록에서 EOS를 선택합니다.
- 패키지 섹션에서 업로드된 패키지 4개를 선택하여 에이전트 프로필과 연결합니다. (사용자 환경에서 인터넷에 액세스할 수 있는 경우 사용자 지정 수집기 패키지만 포함하면 됩니다.)
- 만들기를 클릭하여 에이전트 프로필을 만들고 요약 테이블 보기로 돌아갑니다.
에이전트 프로필에 대한 자세한 내용은 에이전트 프로필을 참조하십시오.
에이전트 만들기
이제 Arista 디바이스용 에이전트를 생성하고 에이전트 프로필을 사용하여 패키지를 연결해 보겠습니다. 나중에 필요에 따라 단일 명령으로 에이전트를 대량으로 업데이트할 수 있도록 에이전트 프로필을 사용하여 사용자 지정 수집기 패키지를 연결하는 것이 좋습니다.
- 왼쪽 탐색 메뉴에서 Devices(디바이스) > System Agents(시스템 에이전트) > Agents(에이전트)로 이동하고 Create Onbox Agent(s)(온박스 에이전트 생성)를 클릭합니다.
- 에이전트에 대한 세부 정보를 입력하고 아래 이미지와 같이 드롭다운 목록에서 에이전트 프로필을 선택합니다.
- 패키지가 에이전트에 성공적으로 설치되었는지 확인하려면 왼쪽 탐색 메뉴에서 디바이스 > 관리 디바이스로 이동하고 디바이스의 관리 IP를 클릭합니다. 에이전트 탭을 클릭합니다. Config 섹션에는 설치된 모든 패키지가 나열됩니다. Python 패키지(netaddr, gtextfsm 및 pyeapi)를 수동으로 업로드한 경우 나열됩니다. Apstra 서버가 인터넷에 액세스할 수 있는 경우 자동으로 업로드되며 여기에 나열되지 않습니다. (디바이스에 설치된 모든 패키지를 보려면 디바이스에 로그인하고 폴더를 확인하십시오
/tmp/plugins
.)
apstra-cli에서 에이전트 업데이트
apstra-cli 빌드 423부터 IP/ID 또는 OS 유형(os_type)(예: EOS)에 따라 필요에 따라 지정된 에이전트 프로필로 에이전트를 업데이트할 수 있습니다.
특정 에이전트 프로필을 사용하여 IP 범위별로 에이전트를 업데이트하려면 아래 예제와 같이 명령을 system-agents update-profile
사용합니다. 옵션을 설정할 때 apstra-cli는 --profile
사용 가능한 에이전트 프로필을 표시합니다. 선택하려면 위쪽 및 아래쪽 화살표 키를 사용합니다.
apstra-cli> system-agents update-profile --ip 172.20.120.6-11 --profile EOS-IBA EOS
예를 들어.
apstra-cli> system-agents update-profile --ip 172.20.120.6-11 --profile 692bb0bb-c5e0-4d7e-a70c-c24b0d5650a8 Successfully updated agent 172.20.120.9 with given profile Successfully updated agent 172.20.120.6 with given profile Successfully updated agent 172.20.120.11 with given profile Successfully updated agent 172.20.120.7 with given profile Successfully updated agent 172.20.120.10 with given profile Successfully updated agent 172.20.120.8 with given profile apstra-cli>
IBA 프로브 설치
Apstra GUI를 사용하여 IBA 프로브를 설치하거나 비프로덕션 환경에서는 apstra-cli를 사용할 수 있습니다. GUI에서 사전 정의된 프로브를 생성하거나 인스턴스화하는 방법에 대한 정보는 분석 섹션의 프로브 를 참조하십시오. 이 섹션에서는 apstra-cli 유틸리티를 사용하는 방법을 보여줍니다.
이 문서에 설명된 모든 프로브는 apstra-cli 빌드 412 이상에 포함되어 있습니다. .j2
프로브 파일이 apstra-cli 빌드에 내장되어 있지 않은 경우 프로브 파일을 사용할 수 있습니다.
이러한 프로브 중 일부에는 업데이트된 서비스 레지스트리가 필요합니다. 최신 Apstra SDK를 다운로드하고 압축을 풉니다json-schemas.tar.gz
. apstra-cli /mytmp
디렉터리에서 사용할 수 있도록 파일을 /home/admin
Apstra 서버의 디렉터리에 복사합니다.
apstra-cli> service-registry import-from --file /mytmp/json-schemas.tar.gz Successfully imported service registry entry for interface_details Successfully imported service registry entry for route_count Successfully imported service registry entry for multicast_groups Successfully imported service registry entry for sfp Successfully imported service registry entry for resource_usage Successfully imported service registry entry for mlag_domain Successfully imported service registry entry for stp Successfully imported service registry entry for vtep_counters Successfully imported service registry entry for vlan Successfully imported service registry entry for evpn_type5 Successfully imported service registry entry for ping Successfully imported service registry entry for vxlan_info Successfully imported service registry entry for pim_neighbor_count Successfully imported service registry entry for lldp_details Successfully imported service registry entry for evpn_type3 Successfully imported service registry entry for multicast_info Successfully imported service registry entry for bgp_vrf Successfully imported service registry entry for traceroute Successfully imported service registry entry for vrf Successfully imported service registry entry for table_usage Successfully imported service registry entry for vxlan_address_table Successfully imported service registry entry for acl_stats Successfully imported service registry entry for device_info Successfully imported service registry entry for power_supply Successfully imported service registry entry for interface_buffer Successfully imported service registry entry for pim_rp Successfully imported service registry entry for anycast_rp Successfully imported service registry entry for bgp_iba Successfully imported service registry entry for interface_iba apstra-cli>
프로브를 probe create
생성하려면 apstra-cli 명령을 사용합니다. 추가 옵션을 입력하라는 메시지가 표시됩니다.
apstra-cli> probe create --blueprint Id of the blueprint --file Filename of json file with probe data. Choose from dropdown or specify custom path --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates
Blueprint ID를 선택하려면 및 탭 완성을 사용합니다 --blueprint
.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 L2 Virtual two_stage_l3clos
apstra-cli와 함께 제공되는 사용 가능한 프로브를 나열하려면 및 탭 완성을 사용하십시오 --file
. 위쪽 및 아래쪽 화살표 키를 사용하여 목록을 스크롤합니다.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file evpn.j2 sfp.j2 memory_usage_threshold_anomalies.j2 bandwidth_utilization_history.j2 power_supply_anomalies.j2 virtual_infra_vlan_mismatch.j2 hardware_vtep_counters_enabled.j2
일부 프로브에는 추가 Probe template variables
.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates --process Probe template variable --os_family Probe template variable
청사진에 설치된 IBA 프로브를 보려면 분석 > 프로브로 이동합니다.
Apstra IBA 프로브 예제
다음 섹션에서는 기본적으로 사용할 수 없는 가장 흥미로운 프로브 중 일부를 설치하는 방법에 대해 설명합니다.
패킷 드롭
패킷 드롭 IBA 프로브는 디바이스 에이전트가 수집하는 인터페이스 텔레메트리를 기반으로 Apstra 소프트웨어가 관리하는 디바이스 인터페이스에서 비정상적인 양의 패킷 드롭을 감지합니다.
파일 이름 | 설명 |
---|---|
pkt_discard_anomalies.j2 | 패킷 폐기가 지속되는 패브릭 인터페이스 탐지 |
IBA 프로브를 pkt_discard_anomalies.j2
설치하려면 다음을 수행합니다.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/pkt_discard_anomalies.j2 Ensuring needed telemetry services for probe are enabled... Successfully created probe f472ba21-d60f-44dc-9f5d-8318c8b9c07b in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
스위치 메모리 누수(Arista EOS만 해당)
스위치 메모리 누수 IBA 프로브는 디바이스 에이전트가 수집하는 시스템 텔레메트리를 기반으로 Apstra 소프트웨어가 관리하는 디바이스의 지정된 프로세스에서 비정상적인 메모리 누수를 감지합니다. 이 프로브에는 장치 BASH 프롬프트에 대한 로그인 및 액세스 권한이 있는 장치 에이전트 구성에 설정된 장치 사용자 자격 증명이 필요합니다.
파일 이름 | 설명 |
---|---|
memory_usage_threshold_anomalies.j2 | 패브릭의 모든 스위치에서 지정된 프로세스의 메모리 누수 감지 |
system_memory_usage_threshold_anomalies.j2 | 패브릭에서 잠재적인 메모리 누수가 있는 스위치 감지 |
IBA 프로브에는 memory_usage_threshold_anomalies.j2
및 에 대한 os_family
추가 "프로브 템플릿 변수"가 process
필요합니다.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates --process Probe template variable --os_family Probe template variable
에 대한 os_family
유일한 옵션은 Arista EOS입니다 eos
. 에 대한 process
(2) 옵션은 및 edac-poller
fastcapi
, 또는 configagent
입니다.
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --os_family eos --process fastcapi Ensuring needed telemetry services for probe are enabled... Enabled service resource_usage on device l2-virtual-002-leaf1:172.20.60.11 Enabled service resource_usage on device l2-virtual-001-leaf1:172.20.60.9 Enabled service resource_usage on device spine2:172.20.60.8 Enabled service resource_usage on device spine1:172.20.60.6 Enabled service resource_usage on device l2-virtual-003-leaf1:172.20.60.10 Enabled service resource_usage on device l2-virtual-004-leaf1:172.20.60.7 Successfully created probe 6a258d83-1053-42ad-935c-0550cc500b7d in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
apstra-cli> probe create --blueprint rack-based-blueprint-10990707 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --os_family eos --process configagent Ensuring needed telemetry services for probe are enabled... Successfully created probe ed2c6be1-b4b1-4e1b-bd07-da431e89eeec in blueprint rack-based-blueprint-10990707 apstra-cli>
서비스 프로세스로서의 "FastCapi"는 EOS 버전 4.18에서만 유효합니다. 최신 버전의 EOS(예: 4.20 이상)의 경우 ConfigAgent만 유효합니다. 프로브를 만드는 동안 서비스 이름이 소문자로 표시되도록 각별히 주의하십시오. configagent
따라서 대신 ConfigAgent
.
두 번째 프로세스에 대해 IBA 프로브를 설치하려면 다른 프로세스에 대해 명령을 반복합니다 probe create
.
프로세스 이름을 포함하도록 IBA 프로브 이름을 편집할 수 있습니다.
IBA 프로브를 설치하려면 다음을 수행합니다.system_memory_usage_threshold_anomalies.j2
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/system_memory_usage_threshold_anomalies.j2 Ensuring needed telemetry services for probe are enabled... Successfully created probe a669ccf8-cba7-414b-ad46-a7d4b4ca3928 in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
내결함성을
이러한 (2) 프로브에는 apstra-cli 빌드 430 이상이 필요합니다.
파일 이름 | 설명 |
---|---|
spine_fault_tolerance.j2 | 패브릭에서 주어진 스파인 수의 실패가 허용되는지 확인합니다. 모든 스파인의 총 트래픽이 지정된 스파인 실패 횟수로 사용 가능한 스파인 용량보다 많은 경우 이상 징후를 발생시킵니다. |
lag_link_fault_tolerance.j2 | 서버 LAG에서 한 링크의 장애가 허용되는지 확인합니다. 한 번의 링크 장애로 본딩의 사용 가능한 총 용량에 대해 각 LAG의 총 트래픽을 모니터링합니다. 과도하게 사용된 채권의 50% 이상이 특정 기간 동안 유지되는 랙에 대해 이상 현상을 발생시킵니다. |
IBA 프로브를 spine_fault_tolerance.j2
설치하려면 다음을 수행합니다.
apstra-cli> probe create --blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/spine_fault_tolerance.j2 --number_of_faulty_spines_to_be_tolerated 1 Successfully created probe 0f0e9bf7-d9b3-43d7-906e-a9f0675e68f2 in blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da apstra-cli>
number_of_faulty_spines_to_be_tolerated
지정해야 합니다.
IBA 프로브를 lag_link_fault_tolerance.j2
설치하려면 다음을 수행합니다.
apstra-cli> probe create --blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/lag_link_fault_tolerance.j2 Successfully created probe 45ce5fe8-555f-41a9-b0ae-267125669d3f in blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da apstra-cli>