SNMP의 총 데이터 사용 내역

SNMP의 총 데이터 사용 내역

저는 SNMP, MRTG 및 RRDTool의 도움으로 네트워크 장치를 모니터링하는 프로젝트를 개발 중입니다. 대역폭 모니터링의 일환으로 시간 분해능당 최대 사용 대역폭을 얻을 수 있습니다.

동시에 총 데이터 사용량 기록을 유지해야 합니다. vnStat에서 얻을 수 있는 것으로 알고 있습니다. 하지만 SNMP를 사용하여 이를 달성하는 방법을 모르겠습니다.

답변1

SNMP에서 대역폭을 얻는 방법은 카운터, 바람직하게는 64비트 카운터( ifHCInOctets, ifHCOutOctets)에 쿼리하는 것입니다. 그런 다음 알려진 시간이 지난 후 동일한 카운터를 쿼리하고 간단한 계산을 수행합니다(여기서₁는 첫 번째 카운트이고,2초):

\mathrm{대역폭} = \frac{c_2 - c_1}{t_2 - t_1}

그런 다음 총 바이트 수를 얻는 두 가지 방법이 있습니다.

  1. 그냥 카운터를 이용하세요. 이는 카운터가 마지막으로 재설정된 시점까지 정확합니다. 일반적으로 네트워크 장치가 재부팅될 때만 가능합니다(더 자주 가능하지만).

  2. 시간이 지남에 따라 대역폭을 통합합니다. 또는 더 간단하게 말하면, 해당 월의 평균 대역폭에 해당 월의 길이를 곱하면 총 대역폭을 얻게 됩니다(의심할 바 없이 약간의 반올림 오류가 있을 것입니다).

관련 정보