Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

리소스 모니터링 방법론을 통한 시스템 성능 문제 해결

리소스 모니터링 사용량 계산 개요

CLI 및 SNMP MIB 쿼리를 모두 사용하여 리소스 모니터링 기능을 구성할 수 있습니다. 이 유틸리티를 사용하여 DPC 및 MPC의 상태 및 운영 효율성을 모니터링하기 위한 충분한 헤드룸(애플리케이션 또는 가상 라우터에 대해 설정된 메모리 공간 제한)을 프로비저닝할 수 있습니다. 또한 jtree 메모리 유형 및 연속 페이지, 이중 단어 및 사용 가능한 메모리 페이지에 대한 메모리 사용량 또는 소비를 분석하고 볼 수 있습니다. 모든 MX 시리즈 라우터 패킷 전달 엔진의 jtree 메모리에는 두 개의 세그먼트가 있습니다. 한 세그먼트는 주로 라우팅 테이블 및 관련 정보를 저장하고, 다른 세그먼트는 주로 방화벽 필터 관련 정보를 저장합니다. 라우팅 테이블 또는 방화벽 필터에 더 많은 메모리를 할당하면 패킷 포워딩 엔진의 전송 작업이 중단될 수 있으므로 메모리 강화 경로 문을 포함하는 구성을 커밋할 때 Junos OS CLI는 영향을 받는 모든 FPC를 다시 시작하라는 경고를 표시합니다.

다음 섹션에서는 I-칩 기반 및 트리오 기반 라인 카드에 대한 다양한 메모리 영역의 계산 방정식과 해석에 대해 설명합니다.

트리오 기반 라인 카드에 대한 리소스 모니터링 및 사용량 계산

Trio 기반 라인 카드에서는 다음 홉과 방화벽 필터를 위한 메모리 블록이 별도로 할당됩니다. 또한 다음 홉 또는 방화벽 필터에 할당된 메모리가 완전히 소모될 때 사용되는 확장 메모리가 있습니다. 다음 홉 필터와 방화벽 필터 모두 확장 메모리에서 메모리를 할당할 수 있습니다. 캡슐화 메모리 영역은 I-칩 기반 라인 카드에만 해당되며 Trio 기반 라인 카드에는 적용되지 않습니다. 따라서 Trio 기반 라인 카드의 경우 사용 가능한 메모리 공간의 백분율은 다음과 같이 해석될 수 있습니다.

% 여유 시간(NH) = (1- (사용 NH 메모리 + 사용 된 확장 메모리) / (총 NH 메모리 + 총 확장 메모리)) × 100

% 무료(방화벽 또는 필터) = (1-(사용된 FW 메모리+사용된 확장 메모리) / (총 FW 메모리+총 확장 메모리)) × 100

캡슐화 메모리는 I-칩에 따라 다르며 Trio 기반 라인 카드에는 적용되지 않습니다.

% 사용 가능(캡슐화 메모리) = 해당 없음

I-칩 기반 라인 카드에 대한 리소스 모니터링 및 사용량 계산

I-칩 기반 라인 카드에는 경로 조회 블록과 연결된 32MB의 정적 RAM(SRAM) 메모리와 출력 WAN 블록과 연결된 16MB의 SRAM 메모리가 포함되어 있습니다.

경로 조회 메모리는 각각 16MB씩 두 세그먼트로 나누어진 32MB 메모리의 단일 풀입니다. 표준 구성에서 세그먼트 0은 NH 및 접두사에 사용되며, 세그먼트 1은 방화벽 또는 필터에 사용됩니다. 이 할당은 [edit chassis] 계층 수준에서 route-memory-enhanced 옵션을 사용하여 수정할 수 있습니다. 일반 구성에서 NH 애플리케이션은 두 세그먼트 중 하나에서 메모리를 할당받을 수 있습니다. 따라서 NH의 사용 가능한 메모리 백분율은 32MB 메모리를 기준으로 계산됩니다. 현재 방화벽 애플리케이션에는 세그먼트 1에서만 메모리가 할당됩니다. 그 결과, 방화벽에 대해 모니터링할 사용 가능한 메모리의 백분율은 세그먼트 1에서만 사용 가능한 16MB 메모리에서 시작됩니다.

I-칩 기반 라인 카드의 경우, 사용 가능한 메모리 공간의 백분율은 다음과 같이 해석될 수 있습니다.

% Free (NH) = (32-(Used NH memory+Used FW memory+Used Other application)) / 32×100

% Free (Firewall or Filter)=(16-(Used NH memory+Used FW memory+Used Other application)) / 16×100

출력 WAN(Iwo) SRAM의 메모리 크기는 16MB이며 캡슐화 정보가 포함된 레이어 2 설명자를 저장합니다. 이 엔티티는 중요한 리소스이므로 모니터링해야 합니다. 이 메모리 공간은 show 명령의 출력에서 "Encap mem"으로 표시됩니다. 캡슐화 영역의 사용 가능한 메모리 비율은 다음과 같이 계산됩니다.

% Free(캡슐화 메모리) = (16-(사용된 Iwo 메모리(L2 설명자 +기타 애플리케이션)) / 16×100

다음 홉 메모리에 대해 구성된 워터마크 수준은 캡슐화 메모리에도 효과적입니다. 따라서 캡슐화 영역의 사용 가능한 메모리 비율이 구성된 워터마크 아래로 떨어지면 로그가 생성됩니다.

사용 가능한 메모리 비율이 특정 메모리 유형의 사용 가능한 메모리 워터마크보다 낮으면 syslog에 다음 오류 메시지가 기록됩니다.

“Resource Monitor: FPC <slot no> PFE <pfe inst> <“JNH memory” or “FW/ Filter memory”> is below set watermark <configured watermark>”.

계층 수준에서 [edit system services resource-monitor] 문을 traceoptions file <filename> flag flag level level size bytes 사용하여 리소스 모니터링 추적 작업을 구성할 수 있습니다. 기본적으로 메시지는 /var/log/rsmonlog에 기록됩니다. 소켓 통신 실패(라우팅 엔진과 패킷 포워딩 엔진 간)와 관련된 오류 로그는 라우팅 엔진과 패킷 포워딩 엔진 간의 통신 문제를 진단하는 데 유용합니다.

Ukern의 관점에서 MPC5E에는 단 하나의 패킷 포워딩 엔진 인스턴스만 포함되어 있습니다. show chassis fabric plane 명령 출력은 패킷 포워딩 엔진에 대한 패브릭 플레인 연결 상태를 표시합니다. 두 개의 패킷 전달 엔진이 존재하기 때문에 출력에서 PFE-0과 PFE-1을 확인할 수 있습니다.

MPC5E에 대한 패킷 포워딩 엔진 인스턴스는 하나만 존재하기 때문에 show system resource-monitor fpc 명령의 출력은 패킷 포워딩 엔진 인스턴스 0에 해당하는 하나의 행만 표시합니다.

구성된 워터마크는 GRES 및 통합 ISSU 절차에서 유지됩니다.

MX 시리즈 라우터에서 메모리 리소스 사용 모니터링을 구성하여 시스템 성능 진단 및 디버깅

Junos OS는 CLI 및 SNMP MIB 쿼리를 모두 사용하여 리소스 모니터링 기능을 지원합니다. 이 유틸리티를 사용하여 시스템 안정성, 특히 MX 시리즈 라우터에서 I-칩 기반 라인 카드 및 Trio 기반 FPC의 상태 및 운영 효율성을 보장하기 위해 충분한 헤드룸(애플리케이션 또는 가상 라우터에 대해 설정된 메모리 공간 제한)을 프로비저닝할 수 있습니다. ukernel 메모리 또는 ASIC 메모리의 메모리 사용률이 특정 임계값에 도달하면 시스템 운영이 라인 카드의 상태 및 트래픽 처리 안정성을 손상시키며, 시스템 성능에 대한 이러한 절충안은 라이브 트래픽 및 프로토콜 지원에 해로울 수 있습니다.

메모리 리소스 사용률 기능의 속성을 구성하려면 다음을 수행합니다.

  1. 다른 메모리 리소스 영역의 사용률을 위한 모니터링 메커니즘을 구성하도록 지정합니다.

    이 기능은 기본적으로 활성화되어 있으며 수동으로 비활성화할 수 없습니다.

  2. 힙 또는 ukernel, 다음 홉 및 캡슐화, 방화벽 필터 메모리와 같은 모든 메모리 영역에 대해 경고 또는 오류 로그가 생성되는 높은 임계값을 지정합니다.
  3. 워터마크 값으로 모니터링할 다음 홉에 사용되는 사용 가능한 메모리 공간의 백분율을 지정합니다.
  4. 워터마크 값으로 모니터링할 ukernel 또는 힙 메모리에 사용되는 사용 가능한 메모리 공간의 백분율을 지정합니다.
  5. 워터마크 값으로 모니터링할 방화벽 및 필터 메모리에 사용되는 사용 가능한 메모리 공간의 백분율을 지정합니다.
    참고:

    사용 가능한 다음 홉 메모리의 비율에 대한 워터마크 값의 기본값과 구성된 값은 캡슐화 메모리에도 적용됩니다. 사용 가능한 ukernel 또는 힙 메모리, 다음 홉 메모리 및 방화벽 필터 메모리의 백분율에 대한 기본 워터마크 값은 20%입니다.

  6. 메모리 리소스 사용률이 임계값 또는 체크포인트 수준을 초과할 때 오류 로그 메시지 생성을 비활성화합니다. 기본적으로 메시지는 /var/log/rsmonlog에 기록됩니다.
  7. 시스템 안정성, 특히 MX 시리즈 라우터에서 I-칩 기반 라인 카드 및 Trio 기반 FPC의 상태 및 운영 효율성을 보장하기 위해 모니터링하고 분석하려는 리소스 범주를 정의합니다. 리소스 범주에는 자세한 CPU 사용률, 세션 속도 및 세션 수 통계가 포함됩니다. 리소스 범주 통계를 사용하여 새로운 공격 개체 또는 애플리케이션이 성능에 미치는 영향을 파악할 수 있습니다.
    참고:

    모든 MX 시리즈 라우터 패킷 전달 엔진의 jtree 메모리에는 두 개의 세그먼트가 있습니다. 한 세그먼트는 주로 라우팅 테이블 및 관련 정보를 저장하고, 다른 세그먼트는 주로 방화벽 필터 관련 정보를 저장합니다. Junos OS는 경로, 방화벽 필터 및 레이어 3 VPN에 대한 jtree 메모리를 재할당하는 memory-enhanced 명령문을 제공합니다.

  8. 리소스 유형을 모니터링 메커니즘이 활성화하여 효과적인 시스템 성능 및 트래픽 처리 용량을 보장하기 위한 충분한 헤드룸을 제공하려는 연속 페이지로 구성합니다. 지정된 메모리 유형 또는 영역(이 경우 연속 페이지)에 대해 경고 또는 오류 로그가 생성되는 상위 및 하위 임계값을 지정합니다.
  9. 리소스 유형을 사용 가능한 이중 단어(dword)로 구성하여 모니터링 메커니즘이 효과적인 시스템 성능과 트래픽 처리 용량을 보장하기 위한 충분한 헤드룸을 제공할 수 있도록 합니다. 지정된 메모리 유형 또는 영역(이 경우 사용 가능한 dword)에 대해 경고 또는 오류 로그가 생성되는 상위 및 하위 임계값을 지정합니다.
  10. 리소스 유형을 사용 가능한 메모리 페이지로 구성하여 모니터링 메커니즘이 효과적인 시스템 성능과 트래픽 처리 용량을 보장하기 위한 충분한 헤드룸을 제공하도록 합니다. 지정된 메모리 유형 또는 영역(이 경우 사용 가능한 메모리 페이지)에 대해 경고 또는 오류 로그가 생성되는 상위 및 하위 임계값을 지정합니다.
  11. 명령을 show system resource-monitor fpc 사용하여 FPC의 패킷 전달 엔진에서 메모리 리소스 활용도를 확인합니다. 필터 메모리는 방화벽 필터 카운터에 사용되는 필터 카운터 메모리를 나타냅니다. 각 메모리 영역 옆에 표시되는 별표(*)는 구성된 임계값이 현재 초과되고 있는 영역을 나타냅니다.

MS-DPC 및 MS-MIC에 대한 jnxNatObjects 값의 불일치 문제 해결

문제

설명

MS-DPC 및 MS-MIC가 모두 네트워크에 배포되고 네트워크 주소 변환(NAT) 유형이 로 구성된 napt-44경우 jnxNatObjects에 대한 명령 출력 snmp mib walk 은 MS-DPC와 MS-MIC에 대해 다른 값을 표시합니다.

해결

MS-DPC 및 MS-MIC의 jnxNatObjects 값과 일치하도록 SNMP 구성

MS-DPC 및 MS-MIC의 jnxNatObjects 값과 일치하도록 SNMP를 구성하려면:

  1. 구성 모드 명령을 실행합니다 set services service-set service-set-name nat-options snmp-value-match-msmic . 다음 구성 예는 jnxNatObjects MIB 테이블의 MS-MIC 특정 MIB 개체 값을 MS-DPC 개체의 값과 일치시키도록 SNMP를 구성하는 방법을 보여줍니다.

  2. 명령을 실행 commit 하여 변경 사항을 확인합니다.

  3. (선택 사항) 명령을 실행 show snmp mib walk jnxNatObjects 하여 jnxNatObjects MIB 테이블의 MS-MIC 특정 개체 값이 MS-DPC 개체의 값과 일치하는지 확인합니다. 예를 들어, 다음 출력은 MS-MIC 특정 개체와 MS-DPC 개체의 값이 일치함을 보여줍니다.

    참고:

    구성 모드 명령을 사용하여 delete services service-set service-set-name nat-options snmp-value-match-msmic 이 기능을 비활성화할 수 있습니다.

FPC 슬롯의 패킷 포워딩 엔진에 대한 ukernel 메모리에 대한 매니지드 객체

jnxPfeMemoryUkernTable객체 식별자가 {jnxPfeMemory 1}인 에는 지정된 패킷 포워딩 엔진 슬롯에 대한 글로벌 ukernel 또는 힙 메모리 통계를 검색하는 것이 JnxPfeMemoryUkernEntry 포함됩니다. 객체 식별자가 {jnxPfeMemoryUkernTable 1}인 각 JnxPfeMemoryUkernEntry에는 다음 표에 나열된 객체가 포함되어 있습니다. 는 jnxPfeMemoryUkernEntry 사용 가능한 총 메모리 및 사용된 메모리 비율과 같은 메모리 사용률을 나타냅니다.

표 1: jnxPfeMemoryUKernTable

객체

오브젝트 ID

설명

jnxPfeMemoryUkernFreePercent

jnxPfeMemoryUkernEntry 3

ukern 힙 내의 사용 가능한 패킷 포워딩 엔진 메모리의 백분율을 나타냅니다.

패킷 포워딩 엔진 메모리 통계 데이터에 대한 매니지드 객체

객체 식별자가 있는 {jnxPfeMib 2} 테이블에는 jnxPfeMemory 표 2에 나열된 객체가 포함되어 있습니다

표 2: jnxPfeMemory 테이블

객체

오브젝트 ID

설명

jnxPfeMemoryUkernTable

jnxPfeMemory 1

지정된 패킷 포워딩 엔진 슬롯에 대한 글로벌 ukern 메모리 통계를 제공합니다.

jnxPfeMemoryForwardingTable

jnxPfeMemory 2

지정된 패킷 포워딩 엔진 슬롯에 대한 글로벌 넥스트 홉(트리오 기반 라인 카드용) 또는 Jtree(I-칩 기반 라인 카드용) 메모리 사용률 및 방화벽 필터 메모리 사용률 통계를 제공합니다.

FPC 슬롯의 패킷 포워딩 엔진에 대한 다음 홉, jtree 및 방화벽 필터 메모리에 대한 매니지드 객체

jnxPfeMemoryForwardingTable개체 식별자가 {jnxPfeMemory 2}인 에는 Trio 기반 라인 카드에 대한 다음 홉 메모리, I-칩 기반 라인 카드에 대한 jtree 메모리, I-칩 및 Trio 기반 라인 카드 모두에 대해 지정된 패킷 포워딩 엔진 슬롯에 대한 방화벽 또는 필터 메모리 통계를 검색하는 것이 포함되어 JnxPfeMemoryForwardingEntry 있습니다. 객체 식별자가 {jnxPfeMemoryForwardingTable 1}인 각 jnxPfeMemoryForwardingEntry에는 다음 표에 나열된 객체가 포함되어 있습니다.

jnxPfeMemoryForwardingEntry ASIC 인스턴스, 사용된 ASIC 메모리 및 ASIC 사용 가능한 메모리를 나타냅니다. 모든 MX 시리즈 라우터 패킷 전달 엔진의 jtree 메모리에는 두 개의 세그먼트가 있습니다. 한 세그먼트는 주로 라우팅 테이블 및 관련 정보를 저장하고, 다른 세그먼트는 주로 방화벽 필터 관련 정보를 저장합니다. 라우팅 테이블 또는 방화벽 필터에 더 많은 메모리를 할당하면 패킷 포워딩 엔진의 전송 작업이 중단될 수 있으므로 메모리 강화 경로 문을 포함하는 구성을 커밋할 때 Junos OS CLI는 영향을 받는 모든 FPC를 다시 시작하라는 경고를 표시합니다. 구성은 FPC 또는 DPC(MX 시리즈 라우터에서)를 다시 시작할 때까지 유효하지 않습니다.

표 3: jnxPfeMemoryForwardingTable

객체

오브젝트 ID

설명

jnxPfeMemoryForwardingChipSlot

jnxPfeMemoryForwardingEntry 1

패킷 포워딩 엔진 컴플렉스의 ASIC 인스턴스 번호를 나타냅니다.

jnxPfeMemoryType

jnxPfeMemoryForwardingEntry 2

nh = 1, fw = 2, encap = 3의 패킷 포워딩 엔진 메모리 유형을 나타냅니다.

jnxPfeMemoryForwardingPercentFree

jnxPfeMemoryForwardingEntry 3

각 메모리 유형에 대한 사용 가능한 메모리 백분율을 나타냅니다.

jnxPfeMemoryErrorsTable

개체 ID가 {jnxPfeMibRoot 1}인 주니퍼 네트웍스 엔터프라이즈별 패킷 포워딩 엔진 MIB는 패킷 포워딩 엔진 메모리 오류 카운터를 표시하기 위해 새로운 MIB 테이블jnxPfeMemoryErrorsTable을 지원합니다. jnxPfeMemoryErrorsTable객체 식별자가 jnxPfeNotification 3JnxPfeMemoryErrorsEntry에는 . 객체 식별자가 { jnxPfeMemoryErrorsTable 1 }인 각 JnxPfeMemoryErrorsEntry에는 다음 표에 나열된 객체가 포함되어 있습니다.

표 4: jnxPfeMemoryErrorsTable

객체

오브젝트 ID

설명

jnxPfeFpcSlot

jnxPfeMemoryErrorsEntry 1

이 PFE 알림 집합에 대한 FPC 슬롯 번호를 나타냅니다

jnxPfeSlot

jnxPfeMemoryErrorsEntry 2

이 오류 집합에 대한 PFE 슬롯 번호를 나타냅니다

jnxPfeParityErrors

jnxPfeMemoryErrorsEntry 3

패리티 오류 수를 나타냅니다

jnxPfeEccErrors

jnxPfeMemoryErrorsEntry 4

오류 검사 코드(ECC) 오류 수를 나타냅니다

pfeMemoryErrors

pfeMemoryErrorsNotificationPrefix객체 식별자가 {jnxPfeNotification 0}인 에 속성이 포함됩니다.pfeMemoryErrors 식별자가 {pfeMemoryErrorsNotificationPrefix 1} 및 객체를 포함하는 pfeMemoryErrors 객체입니다.jnxPfeParityErrors jnxPfeEccErrors

표 5: pfeMemoryErrors

객체

오브젝트 ID

설명

pfeMemoryErrors

pfeMemoryErrorsNotificationPrefix 1

jnxPfeParityErrors 또는 jnxPfeEccErrors 값이 증가하면 pfeMemoryErrors 알림이 전송됩니다.