보안/모니터링

[SNMP Exporter+Prometheus+Grafana] 라우터 장비 모니터링

JooRi 2025. 11. 27. 23:35
728x90
반응형
SMALL

 

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 대시보드 구성 

실습 환경은 다음과 같습니다.

PNET 토폴로지 구성

  • 모니터링 대상: 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 대시보드 구성

 

모니터링 서버용 데이터 소스 추가

  1. Grafana 접속: http://172.16.1.54:3000
  2. Configuration → Data Sources → Add data source
  3. Prometheus 선택
  4. 설정:
    • Name: 모니터링 서버(9090)
    • URL: http://172.16.1.54:9090
  5. Save & Test

커뮤니티 대시보드 Import

  1. Dashboards → Import
  2. Dashboard ID 입력: 11169 (SNMP Stats)
  3. Load 클릭
  4. 데이터 소스 선택: 모니터링 서버(9090)
  5. 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 합계: 전체 트래픽 시간별 변화

 

끝...

 

728x90
반응형
LIST