리눅스

Zabbix에서 네트워크 트래픽을 최근 1분 단위로 수집 및 모니터링하도록 설정하는 방법

변군이글루 2025. 4. 30. 16:12
반응형

Zabbix 7.0에서 네트워크 트래픽을 최근 1분 단위로 수집 및 모니터링하도록 설정하는 방법

네트워크 인터페이스 이름은 매크로 ({$IFNAME}) 로 유연하게 지정

수신/송신 트래픽을 모니터링하고 임계치를 넘으면 트리거 발생

실시간 트래픽량을 Zabbix에서 모니터링하려면 인터페이스의 초당 전송량(Throughput) 을 계산하도록 구성해야 합니다. 기본 net.if.out 및 net.if.in 키는 누적값(counter)이므로, 여기에 "초당 변화량(Change per second)" 전처리(preprocessing)를 적용해줘야 실시간 전송 속도(bandwidth)를 계산할 수 있습니다.

1. 템플릿 생성

  • *템플릿 이름 : Network traffic Monitoring
  • 표시명 : Network traffic Monitoring
  • *템플릿 그룹 : Templates/Customer
  • 설명 : 수신/송신 트래픽을 모니터링하는 템플릿

2. 매크로 설정

  • 매크로 : {$IFNAME}
  • 값 : eth0
  • 설명 : 인터페이스 이름 : eth0
  • 매크로 : {$TRAFFIC_THRESHOLD}
  • 값 : 10000000
  • 설명 : 임계값 : 1 Mbps=1000000, 10 Mbps = 10000000, 100 Mbps = 100000000

3. 아이템 생성

3.1.1 수신 트래픽 아이템

  • *이름 : Incoming traffic on {$IFNAME}
  • 종류 : Zabbix agent
  • *키 :
  • net.if.in[{$IFNAME}]
  • 데이터형 : Numeric (unsigned)
  • 단위 : bps
  • *갱신 간격 : 10s
  • 이력(History storage period) : 1h
  • 트렌드(Trends storage period) : 90d
  • 설명 : 수신 트래픽

zabbix_item

3.1.2 보존하기 전의 처리(Preprocessing)

  • 이름 : 1초 단위의 변경 (per second)
  • 파라미터 :
  • 이름 : 사용자 정의 배수
  • 파라미터 : 8(Bytes → bits)

zabbix_item

3.2.1 송신 트래픽 아이템

  • *이름 : Outgoing traffic on {$IFNAME}
  • 종류 : Zabbix agent
  • *키 :
  • net.if.out[{$IFNAME}]
  • 데이터형 : Numeric (unsigned)
  • 단위 : bps
  • *갱신 간격 : 10s
  • 이력(History storage period) : 1h
  • 트렌드(Trends storage period) : 90d
  • 설명 : 송신 트래픽

3.2.2 보존하기 전의 처리

  • 이름 : 1초 단위의 변경 (per second)
  • 파라미터 :
  • 이름 : 사용자 정의 배수
  • 파라미터 : 8(Bytes → bits)
728x90

4. 트리거 생성

4.1 수신 트래픽 10Mbps 초과

  • *이름 : High incoming traffic on {$IFNAME}
  • 심각도 : 중증 장애
  • *장애의 조건식(Expression) :
  • avg(/Network traffic Monitoring/net.if.in[{$IFNAME}],60s)>{$TRAFFIC_THRESHOLD}
  • 복구조건식 :
  • avg(/Network traffic Monitoring/net.if.in[{$IFNAME}],60s)<{$TRAFFIC_THRESHOLD}
  • 설명 : 수신 트래픽 10Mbps 초과 시 알림

4.2 송신 트래픽 10Mbps 초과

  • *이름 : High outgoing traffic on {$IFNAME}
  • 심각도 : 중증 장애
  • *조건식(Expression) :
  • avg(/Network traffic Monitoring/net.if.out[{$IFNAME}],60s)>{$TRAFFIC_THRESHOLD}
  • 복구조건식 :
  • avg(/Network traffic Monitoring/net.if.out[{$IFNAME}],60s)<{$TRAFFIC_THRESHOLD}
  • 설명 : 송신 트래픽 10Mbps 초과 시 알림

5. 호스트에 템플릿 연결

호스트에 템플릿 연결 + 매크로 오버라이드

5.1 Configuration → Hosts → 호스트 선택

5.2 Templates 탭 → Network traffic Monitoring 링크

5.3 Macros 탭 → {$IFNAME} 매크로 추가/수정

  • 예: {$IFNAME} = ens33 또는 eth0

6. 모니터링 확인

Monitoring → Latest data → 호스트 선택 → Incoming/Outgoing traffic 확인

Monitoring → Graphs 또는 Dashboards에서 시각화 가능

자빅스 트리거 조건(avg)

zabbix_trigger

 

참고URL

- Zabbix Documentation : 2 Trigger expression

 

728x90
반응형