SNMP Exporter, Prometheus, Grafana를 활용하여,
라우터의 네트워크 트래픽과 인터페이스 상태를 실시간으로 모니터링해 보았습니다.!!
실습 과정은 다음과 같습니다.
1. Ubuntu 서버 설치 - 모니터링 서버
- VM 환경 설정 (RAM, CPU, Disk)
- Ubuntu 24.04 LTS 설치 과정
- 네트워크 설정 (IP: 172.16.1.54)
- 시스템 업데이트 및 필수 패키지 설치
2. Prometheus 설치 및 실행
- 다운로드 및 설치
- 사용자 생성 및 권한 설정
- 기본 설정 파일 작성
- Systemd 서비스 등록
- 웹 UI 확인
3. Grafana 설치 및 실행
- 저장소 추가
- 패키지 설치
- 서비스 시작
- 초기 로그인 및 데이터 소스 추가
4. 라우터 모니터링
- 라우터 인터페이스 및 SNMP 설정
- SNMP 통신 테스트
- SNMP Exporter 설치
- Prometheus 설정 업데이트
- Grafana 대시보드 구성
실습 환경은 다음과 같습니다.

- 모니터링 대상: Cisco Router (172.16.1.200)
- 모니터링 서버: Ubuntu (172.16.1.54)
- 사용 도구:
- SNMP Exporter 1.7.0
- Prometheus 2.52.0
- Grafana (최신 버전)
1. Ubuntu 서버 설치 - 모니터링 서버


설치 과정은 다음과 같다.
- Ubuntu 24.04 LTS ISO 다운로드
- VM 생성 및 ISO 마운트
- RAM 16GB
- CPU 4개
- Disk 20GB (씬프로비저닝)
- Network: Bridged Adapter (172.16.1.0/24 대역)
- 설치 진행:
- Language: English
- Keyboard: Korean
- Installation type: Ubuntu Server
- DHCP: 172.16.1.54/24, Gateway: 172.16.1.1
2. Prometheus 구성하기
2.1 Prometheus 다운로드 및 설치
sudo apt update && sudo apt upgrade -y
cd /tmp # Prometheus 설치 파일을 잠깐 풀기 위한 작업 폴더
# 다운로드
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
# 압축 해제
tar xvf prometheus-2.52.0.linux-amd64.tar.gz

ls 명령으로 압축 해제된 것을 확인하고, mv 명령으로 설치 디렉터리로 이동.
/opt는 내가 설치하는 프로그램을 넣는 공식적인 장소이다.
2.2 Prometheus 사용자 생성

# prometheus 사용자 생성
sudo useradd --no-create-home --shell /bin/false prometheus
# 설정 디렉토리 권한 설정
sudo chown -R prometheus:prometheus /opt/prometheus
2.3 Prometheus 서비스 실행

prometheus.service 서비스 파일 작성

systemd 데몬 리로드하고, 서비스 시작.

브라우저에서 172.16.1.54:9090 접속하여 정상 작동 확인..
3. Grafana 구성하기
3.1 Grafana 설치



3.2 Grafana 서비스 실행


브라우저에서 172.16.1.54:3000 접속하여 정상 작동 확인.
기본 로그인은 Username: admin, Password: admin이다.
4. SNMP로 라우터 모니터링하기
4.1 라우터 인터페이스 및 SNMP 설정


라우터 인터페이스 설정.

인터페이스 상태 확인.

라우터 → 우분투 서버 통신 확인.

우분투 서버 → 라우터 통신 확인.
4.2 Ubuntu 서버에서 SNMP Exporter 설치 및 설정

4.3 SNMP Exporter 서비스 등록

snmp_exporter.service 서비스 파일을 작성하여 서비스 등록.
4.4 Prometheus 설정 업데이트 - SNMP Exporter 추가

prometheus.yml 설정파일에 snmp 타겟 추가.
4.5 Prometheus 재시작, SNMP 서비스 실행

프로메테우스를 restart 하고, snmp_exporter 서비스 실행.
4.6 서비스 정상 작동 확인

브라우저에서 프로메테우스에 접속하여 snmp 타겟이 추가된 것 확인.


각 인터페이스로 들어온 바이트 수를 조회하는 SNMP 메트릭 쿼리 결과 및 그래프가 잘 나오는지 확인.

172.16.1.54:9116에 접속하여 SNMP Exporter가 정상 작동하는지 확인.

메트릭 확인.
5.7 Grafana 대시보드 구성
모니터링 서버용 데이터 소스 추가
- Grafana 접속: http://172.16.1.54:3000
- Configuration → Data Sources → Add data source
- Prometheus 선택
- 설정:
- Name: 모니터링 서버(9090)
- URL: http://172.16.1.54:9090
- Save & Test
커뮤니티 대시보드 Import
- Dashboards → Import
- Dashboard ID 입력: 11169 (SNMP Stats)
- Load 클릭
- 데이터 소스 선택: 모니터링 서버(9090)
- Import 클릭

대시보드 구성 요소는 다음과 같다.
① 상단 메트릭 카드
- Uptime: 라우터 가동 시간 (예: 3.9 hours)
- Max Out (Current): 현재 최대 송신 트래픽 (471.17 B/s)
- Max In (Current): 현재 최대 수신 트래픽 (154.97 B/s)
- Total Out: 총 송신 데이터양 (710.85 kB)
- Total In: 총 수신 데이터량 (143.79 kB)
② Status 테이블
각 인터페이스의 실시간 상태:
- Nu0: Null 인터페이스 (데이터 버리는 용도)
- Et0/0: 메인 활성 포트 (Internet 연결)
- Out: 471.17 B/s
- In: 154.97 B/s
- Bandwidth: 10 Mb/s
- Et0/1: Server 연결 포트
- Et0/2, Et0/3: 비활성 포트
- Vo0: 가상 인터페이스

③ 트래픽 그래프
- Out (Current): 인터페이스별 송신 트래픽 (초록색)
- In (Current): 인터페이스별 수신 트래픽 (파란색)
- Out/In 합계: 전체 트래픽 시간별 변화
끝...
'보안 > 모니터링' 카테고리의 다른 글
| Loki로 쿠버네티스 Pod 로그 수집 및 Grafana에 시각화 (0) | 2025.05.26 |
|---|---|
| Prometheus + Flask + Chart.js로 서버 성능 기간별 조회 (0) | 2025.05.25 |
| 위치 API + Leaflet.js로 IP 주소 위치를 지도에 시각화 (1) | 2025.05.25 |
| Loki로 Fail2Ban 로그 수집 및 Grafana에 시각화 (0) | 2025.05.13 |
| Fail2Ban으로 IP 수동 차단 (0) | 2025.04.15 |