활성 FTD 사이트 VPN 세기: 어떤 숫자를 말하는가
구성된 피어, IKE 세션, 보안 연관, 모니터링되는 터널은 서로 다른 네 가지 수입니다. 코딩 전에 단위와 관리 평면을 정하십시오.
Ansible 작업을 쓰기 전에 더 작은 질문에 답하십시오. 무엇을 세고 있습니까? 구성된 피어, IKE 세션, IPsec 보안 연관, 모니터링되는 터널 상태 레코드는 서로 다른 네 가지 단위이며, 키 재생성이나 여러 보호 네트워크 때문에 그 합계가 어긋납니다. 대시보드와 playbook이 일치하지 않을 때는 대개 둘 중 하나가 틀린 것이 아니라 서로 다른 것을 세고 있습니다.
사람들이 활성이라고 부르는 네 가지
구성된 피어는 토폴로지 객체입니다. 누군가 정의했기 때문에 존재합니다. IKE 세션은 제어 평면의 관계로, 트래픽이 흐르지 않아도 올라와 있을 수 있습니다. IPsec SA는 특정 선택자 쌍에 대한 데이터 평면 연관이며, 하나의 터널이 여러 개를 실을 수 있습니다. 모니터링되는 터널 상태는 플랫폼 자체의 운영 판정이며, 보통 운영자가 터널이 올라와 있다고 말할 때 의미하는 것에 가장 가깝습니다.
운영상의 셈에 합당한 근거는 마지막 하나뿐입니다. 첫 번째는 구성 목록이며, 그것을 활성으로 보고하는 것은 화요일부터 내려간 피어에 대해 대시보드가 초록을 보여 주는 방식입니다. 숫자의 소비자에게 어떤 단위가 필요한지 정하고, 그 단위를 지표 이름에 넣으십시오.
첫 번째 결정: 어느 관리 평면인가
장치가 FDM으로 관리되면 관련 표면은 FTD REST API입니다. FMC로 관리되면 그 API는 호환 대체물이 아니며 객체는 FMC 자체 API 뒤에 있습니다. 요청을 하나라도 쓰기 전에 이를 확인하십시오. 잘못된 평면은 권한 문제처럼 보이는 그럴듯한 오류를 돌려줍니다.
함대의 경우 답은 셈이 어디에 속하는지도 정합니다. FDM을 통한 장치별인지, FMC를 통한 도메인별인지. 이들은 서로 다른 범위이며 같은 함대에 다른 숫자를 냅니다.
두 번째 결정: 어느 리소스가 답하는가
버전에 묶인 예로, FMC 7.3 API 객체 참조는 health 경로 아래의 GET 리소스를 문서화합니다.
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelstatuses
/api/fmc_config/v1/domain/{domainUUID}/health/tunnelsummaries터널 상태 리소스는 장치 및 상태 필터를 지원하며, TUNNEL_UP도 포함합니다. 이는 해당 릴리스에서 점검할 실제 운영 리소스를 제공하며, 필드 이름에 대한 추측이 아닙니다.
파서를 구현하기 전에 배포된 FMC의 API Explorer에서 가용성, 권한, 요청 매개변수, 응답 스키마를 확인하십시오. 한 버전의 문서는 출발점일 뿐, 실행 중인 버전의 계약이 아닙니다.
셈의 계약을 쓰십시오
지표를 한 문장으로 말하십시오. 의도한 하나의 장치와 도메인에 대해 보고된 상태가 TUNNEL_UP인 고유한 운영 터널 레코드. 그다음 중복 장치와 하나의 논리 사이트에 대한 여러 레코드가 어떻게 표현되는지 문서화하십시오. 이 두 경우가 회의의 숫자와 일치하는지를 결정합니다.
단위를 터널 레코드에서 원격 사이트로 조용히 바꾸지 마십시오. 비즈니스가 사이트를 원하면 레코드를 사이트에 명시적으로 매핑하고 그 매핑을 공개하십시오. 조용히 스스로를 재정의하는 셈은 언제 바뀌었는지 아무도 알 수 없기에 셈을 하지 않는 것보다 나쁩니다.
요약 리소스는 무엇을 요약하는지 확인한 뒤에만 편의로 취급하십시오. 필요한 것을 정확히 집계할 수도 있고, 미묘하게 다른 질문에 답할 수도 있습니다. 스키마를 한 번 읽고 차이를 적어 두며, 요약을 설명할 수 없으면 상태 리소스를 사용하십시오. 이해하지 못하는 요약은 검토에서 변호할 수 없는 숫자입니다.
워크플로가 불확실성을 보존하게 하십시오
승인된 HTTPS API를 사용하고, 인증서를 검증하고, 토큰을 작업 출력 밖에 두고, 해당 릴리스가 지원하는 필터와 페이지 매김으로 범위를 가져오십시오. 그런 다음 무엇이든 계산하기 전에 스키마를 검증하십시오.
fetch intended domain/device runtime records
validate response, completeness and freshness
deduplicate by the documented tunnel identity
count records matching the approved up-state definition
report count with scope, timestamp and metric unit이것은 워크플로 의사 코드이며 검증된 playbook이 아닙니다. active라는 JSON 키를 지어내는 대신 설치된 API에서 실제 필드 이름을 가져오십시오.
중요한 규칙은 실패 시의 동작입니다. 권한 부여 오류, 지원되지 않는 리소스, 오래된 표본, 불완전한 페이지 집합은 unknown 또는 error를 내야 하며, 성공한 제로이 되어서는 안 됩니다. 물어볼 수 없었다는 뜻의 제로은 가장 값비싼 종류의 오류입니다.
플랫폼 자체의 관점에 대고 검증하십시오
첫 결과를 같은 장치와 같은 시점에 대한 해당 릴리스의 VPN 모니터링 보기와 비교하십시오. 다를 때는 playbook을 바꾸기 전에 어느 쪽이 어떤 단위를 쓰는지 밝히십시오.
실행마다 비밀이 아닌 컨텍스트를 남기십시오. 범위, 타임스탬프, 지표 단위, 레코드 수. FMC 7.3 API 객체 참조가 위 리소스 경로의 출처이며, 자체 배포의 API Explorer가 나머지 모든 것의 출처입니다.