Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos Telemetry Data 집계 지침

Junos Telemetry의 중요한 기능 중 하나는 데이터가 디바이스가 아닌 데이터를 스트리밍하는 수집기에서 데이터 처리가 이루어진다는 것입니다. 데이터는 자동으로 집계되지 않지만 분석을 위해 집계할 수 있습니다.

데이터 집계는 다음과 같은 시나리오에서 유용합니다.

  • 고정된 시간 동안 동일한 메트릭에 대한 데이터(예: 30초 간격의 평균 물리적 인터페이스 수신 오류 수).

  • LSP(레이블 스위칭 경로) 통계 또는 필터 카운터 통계와 같은 동일한 메트릭에 대한 다양한 소스(예: 여러 라인 카드)의 데이터.

  • 어그리게이션 이더넷 인터페이스에 대한 입력 및 출력 통계와 같은 여러 소스의 데이터.

다음 섹션에서는 다양한 시나리오에 대한 데이터 집계를 수행하는 방법에 대해 설명합니다. 이 섹션의 예제에서는 InfluxDB 시계열 데이터베이스를 사용하여 원격 분석 데이터에 대한 쿼리를 수락합니다. InfluxDB는 시계열 데이터를 처리하기 위해 특별히 Go로 작성된 오픈 소스 데이터베이스입니다.

고정된 시간 범위에 걸쳐 데이터 집계

고정된 기간 동안 동일한 메트릭에 대한 데이터를 집계하는 것은 추세를 감지하는 일반적이고 유용한 방법입니다. 메트릭에는 게이지, 즉 단일 값 또는 누적 카운터가 포함될 수 있습니다. 데이터를 연속적으로 집계할 수도 있습니다.

예: 계기 메트릭에 대한 데이터 집계

이 예에서 에 port.proto 대한 JuniperNetworksSensors.jnpr_interface_ext.interface_stats.egress_queue_info.current_buffer_occupancy 데이터는 호스트 이름, 인터페이스 이름, 해당 대기열 번호 및 라는 current_buffer_occupancy 측정을 식별하는 태그와 함께 InfluxDB 데이터베이스에 기록됩니다. 이 예에서 사용되는 특정 값은 표 1을 참조하십시오.

표 1: 원격 분석 데이터 값

타임스탬프(초)

태그

1458704133

1547

queue_number=0,interface_name='xe-1/0/0', 호스트='sjc-a'

1458704143

3221

queue_number=0,interface_name='xe-1/0/0', 호스트='sjc-a'

1458704155

4860

queue_number=0,interface_name='xe-1/0/0', 호스트='sjc-a'

1458704166

6550

queue_number=0,interface_name='xe-1/0/0', 호스트='sjc-a'

각 측정 데이터 포인트에는 타임스탬프와 기록된 값이 있습니다. 이 예에서 태그 queue_number 는 인터페이스 대기열의 숫자 식별자입니다.

30초 간격으로 이 데이터를 집계하려면 다음 influxDB 쿼리를 사용합니다.

$time_end의 경우 $time_start 실제 시간 범위를 지정합니다.

예: 누적 통계에 대한 데이터 집계

일부 Junos Telemetry Interface 센서는 로 JuniperNetworksSensors.jnpr_interface_ext.interface_stats.ingress_stats.packets정의된 수신 패킷 수와 같은 누적 카운터 값을 보고합니다.

패킷 또는 바이트 카운터에서 트래픽 속도를 도출하는 것이 일반적입니다. 계기 메트릭과 달리 누적 카운터에 대한 계열의 초기 데이터 요소는 기준선을 설정하는 데만 사용됩니다.

다음 지침을 사용하여 누적 통계에 대한 데이터베이스 쿼리를 만들 수 있습니다.

  • 특정 시간 간격에 대한 누적 값을 계산합니다. 시간 간격 동안 기록된 여러 데이터 포인트 간의 평균을 계산하거나 값을 보간할 수 있습니다. 모든 데이터 포인트는 동일한 계열에 속해야 합니다. 서로 다른 시간에 보고된 두 데이터 요소 간에 카운터 재설정이 발생한 경우 두 데이터 요소를 모두 사용하지 마십시오.

  • 이전 시간 간격에 대한 적절한 값을 결정합니다. 마지막 업데이트 이후 카운터가 다시 설정된 경우 해당 값을 사용할 수 없음으로 선언합니다.

  • 이전 간격을 사용할 수 있는 경우 데이터 포인트와 트래픽 속도 간의 차이를 계산합니다.

이러한 지침은 다음 influxDB 쿼리에 요약되어 있습니다. 이 쿼리는 데이터가 측정 ingress_packets에 저장되어 있다고 가정합니다. 쿼리는 게이지 메트릭 예제와 동일한 태그뿐만 아니라 카운터 초기화 시간에 대한 태그인 init_time를 사용합니다. 쿼리는 30초 시간 간격의 평균 값을 사용합니다. 동일한 카운터 초기화가 있는 메트릭에 대한 속도를 계산합니다.

다음 쿼리를 사용하여 속도를 도출하지 않고 일정 시간 간격 동안 수신된 패킷 수를 계산합니다.

경우에 따라 둘 이상의 집계된 데이터 포인트가 특정 시간 간격에 대한 쿼리에 의해 반환됩니다. 예를 들어, 시간 간격에 대해 4개의 데이터 포인트를 사용할 수 있습니다. 두 개의 데이터 포인트에는 가 있고 init_time t0다른 두 개에는 가 있습니다init_time t1. 대신 마지막 변경 타임스탬프 태그를 last_changeinit_time사용하는 쿼리를 실행하여 차이를 계산하고 마지막 변경 타임스탬프가 동일한 두 데이터 요소 간의 비율을 도출할 수 있습니다.

팁:

이러한 쿼리는 모두 연속 쿼리로 실행할 수 있으며 새 시계열 측정값을 주기적으로 채울 수 있습니다.

여러 소스의 데이터 집계

특정 메트릭은 여러 라인 카드 또는 패킷 전달 엔진에서 보고됩니다. 다음 시나리오에서 서로 다른 원본에서 파생된 데이터를 집계하는 것이 유용합니다.

  • LSP(Label-Switched Path)의 패킷 및 바이트 수는 각 라인 카드에 의해 별도로 보고됩니다. 그러나 경로 계산 요소 컨트롤러에는 전체 디바이스에 대한 LSP 경로 보기가 필요합니다.

  • 가상 출력 대기열을 지원하는 주니퍼 네트웍스 디바이스의 경우, 각 대기열에 대한 테일 드롭 또는 무작위 조기 감지 드롭 통계는 모든 물리적 인터페이스에 대한 각 라인 카드별로 별도로 보고됩니다. 인터페이스의 모든 라인 카드에 대한 통계를 집계할 수 있는 것이 유용합니다.

  • 포워딩 테이블 또는 어그리게이션 이더넷 인터페이스에 연결된 방화벽 필터의 필터 카운터는 각 라인 카드별로 별도로 보고됩니다. 모든 라인 카드에 대한 통계를 집계하는 것이 유용합니다.

여러 원본의 데이터를 집계하려면 다음을 수행합니다.

  1. 각 소스(예: 각 라인 카드)에 대해 특정 기간 동안의 데이터를 집계합니다.

  2. 1단계에서 각 원본에 대해 파생한 데이터를 집계합니다.

InfluxDB 데이터베이스에 저장된 데이터의 경우 연속 쿼리를 실행하고 새 측정값을 채워 절차의 1단계를 완료할 수 있습니다. 각 원본에 따라 데이터 요소를 그룹화하는 것이 좋습니다. 예를 들어, LSP 통계의 경우, gpb 메시지의 은 component_id (는) 데이터를 전송하는 라인 카드를 식별합니다. 각 고유 component_id.

예: 여러 소스의 데이터 집계

이 예에서는 두 개의 쿼리를 실행하여 모든 라인 카드의 데이터에 대한 LSP 패킷 속도를 도출합니다.

먼저 각 component_id 태그와 태그에 counter_name 대해 명명된 lsp_packet_count 측정값에 대해 다음과 같은 연속 쿼리를 실행합니다. 각 고유 component_id 태그는 서로 다른 라인 카드에 해당합니다. 이 쿼리는 새 측정값인lsp_packet_rate.

메모:

LSP 통계 센서는 카운터 초기화 시간을 보고하지 않습니다.

이 연속 쿼리lsp_packet_count에서 파생된 새로운 측정 ——을 사용하여 라는 lsp-sjc-den-1LSP의 패킷 속도에 대한 모든 라인 카드의 데이터를 집계하는 다음 쿼리를 실행합니다.

메모:

이 쿼리는 태그 또는 라인 카드에 component_id 따라 데이터를 그룹화하지 않기 때문에 모든 구성 요소 또는 라인 카드의 LSP 패킷 속도가 반환됩니다.

여러 메트릭에 대한 데이터 집계

여러 값에 대한 메트릭을 집계하는 것이 유용할 수 있습니다. 예를 들어, 어그리게이션 이더넷 인터페이스의 경우, 일반적으로 각 인터페이스 멤버에 대한 패킷 및 바이트 전송률과 어그리게이션 링크에 대한 인터페이스 사용률을 추적해야 합니다.

예: 여러 메트릭 값 집계

이 예제에서는 다음 두 쿼리를 실행합니다.

  • 어그리게이션 이더넷 인터페이스에서 각 멤버 링크에 대한 수신 패킷 수를 도출하기 위한 연속 쿼리

  • 동일한 어그리게이션 이더넷 인터페이스에 속하는 모든 멤버 링크에 대한 패킷 수 데이터를 어그리게이션하기 위한 쿼리

다음 연속 쿼리는 어그리게이션 이더넷 인터페이스의 각 멤버 링크에 대한 측정 ingress_packets값을 도출합니다. 태그는 interface_name 각 멤버 인터페이스를 식별합니다. 또한 태그를 사용하여 parent-ae-name 특정 어그리게이션 이더넷 인터페이스의 멤버십을 식별할 수 있습니다. 각 멤버 링크를 태그로 parent-ae-name 그룹화하면 현재 멤버 링크에 대해서만 데이터가 수집됩니다. 예를 들어, 인터페이스는 보고 간격 동안 멤버십을 변경할 수 있습니다. 특정 어그리게이션 이더넷 인터페이스를 사용하여 멤버 인터페이스를 그룹화한다는 것은 멤버 링크에 대한 데이터가 현재 멤버인 새로운 어그리게이션 이더넷 인터페이스로 전송되지 않는다는 것을 의미합니다.

다음 쿼리는 어그리게이션 이더넷 인터페이스, 즉 모든 멤버 링크에 대한 수신 패킷에 대한 데이터를 어그리게이션합니다.

메모:

이 쿼리는 어그리게이션 이더넷 인터페이스 ae0에 대한 데이터를 집계합니다. 태그는 parent-ae-name 실제 멤버 링크를 확인하지 않습니다.