개요
이전에 도커 환경에서 Zabbix를 설치하는 게시글을 작성한 적이 있는데요!
(Docker Zabbix로 서버 모니터링하기)
오늘은 Zabbix를 Ubuntu에 직접 설치하고,
추가로 Cisco 네트워크 장비를 SNMP로 감시하는 방법에 대해 기록해보려고 합니다!
준비물
- Ubuntu가 설치된 서버
- 루트 또는 sudo 권한
- 인터넷 연결
- Cisco 네트워크 장비
[Part 1] Zabbix 설치하기
시스템 업데이트
먼저 서버를 최신 상태로 만들어줍시다.
sudo apt update -y && sudo apt upgrade -y
Zabbix 저장소 추가
Ubuntu 기본 저장소에는 Zabbix 레포지토리가 없어요! 공식 저장소를 추가해줄게요.
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
Zabbix와 필수 패키지 설치
Zabbix 서버, 웹 인터페이스, 에이전트를 한 번에 설치해봅시다!
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
데이터베이스 연결
Zabbix는 데이터를 저장할 MariaDB를 사용해요! (MySQL로 진행하셔도 상관 없어요!~)
Mariadb 설치
sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
보안 설정
sudo mysql_secure_installation
루트 비밀번호 설정하고, 질문에 Y
로 응답해주면 됩니다.
Zabbix 데이터베이스 생성
DB 접속
sudo mysql -uroot -p
다음 명령어를 입력해줘요!
CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '강력한_비밀번호';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
데이터베이스 초기화
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uroot -p zabbix
Zabbix 서버 설정
데이터베이스 연결을 위해 설정 파일을 수정해줄게요.
sudo vi /etc/zabbix/zabbix_server.conf
다음 항목을 수정해주세요!
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=강력한_비밀번호
:wq
로 저장하고 창을 빠져 나오세요!
서비스 시작
Zabbix와 Apache를 실행해줄게요.
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
웹 인터페이스 설정
브라우저에서 http://서버_IP/zabbix로 접속해 설치 마법사를 따라가요!
- 1. "Next" 클릭.
- 2. 요구 사항 확인 후 "Next".
- 3. 데이터베이스 정보 입력 (위에서 설정한 값 사용).
- 4. 서버 정보 입력 후 "Next".
- 5. 요약 확인하고 "Finish".
로그인
- 사용자:
Admin
- 비밀번호:
zabbix
로그인 후 비밀번호를 꼭 변경하세요!
[Part 2] Cisco 장비 SNMP 설정하고 Zabbix에서 모니터링하기
Zabbix 설치가 끝났으니,
이제 Cisco 네트워크 장비를 SNMP로 설정하고 Zabbix에서 감시하는 방법을 알아볼게요.
SNMP(Simple Network Management Protocol)는 네트워크 장비 상태를 모니터링하는 표준 프로토콜이에요.
Cisco 장비에서 SNMP 활성화하기
Cisco 스위치나 라우터에 접속해 SNMP를 설정해 봅시다. SSH나 콘솔로 접속한 뒤:
관리 모드 진입
enable
configure terminal
SNMP 커뮤니티 문자열 설정
읽기 전용(RO
) 커뮤니티 문자열을 추가해요!
snmp-server community mycommunity RO
mycommunity
는 원하는 문자열로 변경해주세요!
Zabbix 서버 정보 추가
Zabbix 서버로 SNMP 요청을 보낼 수 있게 Zabbix 서버 IP를 지정해줘요.
snmp-server host 192.168.1.100 version 2c mycommunity
192.168.1.100
은 Zabbix 서버 IP로 바꾸세요.version 2c
는 SNMP v2c를 의미해요 (v3도 가능하지만 더 복잡함).
Zabbix에 Cisco 장비 추가
Zabbix 웹 인터페이스로 돌아가서 Cisco 장비를 모니터링 대상으로 등록해요.
호스트 추가
- 1. Zabbix 대시보드에서 Configuration > Hosts로 이동.
- 2. 오른쪽 위 Create host 버튼 클릭.
- 3. 다음 정보 입력:
- Host name:
Cisco_Switch_01
(장비 식별 이름) - Visible name:
Cisco Switch 01
(표시 이름) - Groups:
Network Devices
(새 그룹 생성 가능) - Interfaces:
- Agent: "Remove" 클릭.
- SNMP: "Add" 클릭 후 Cisco 장비 IP (예:
192.168.1.10
) 입력.
- Host name:
SNMP 커뮤니티 설정
- 1. Macros 탭으로 이동.
- 2. Inherited and host macros에서:
- Macro:
{$SNMP_COMMUNITY}
- Value:
mycommunity
(Cisco에서 설정한 문자열과 동일해야 함).
- Macro:
- 3. "Update" 클릭.
템플릿 연결
- Templates 탭으로 이동.
- "Select" 클릭 후 Template Net Cisco IOS SNMPv2 선택.
- "Add" 클릭.
호스트 저장
- 화면 아래 "Add" 버튼을 눌러 저장하세요.
모니터링 확인
설정이 끝나면 몇 분 뒤 Zabbix 대시보드에서 데이터를 확인할 수 있어요!
- Monitoring > Latest data 로 이동.
Network Devices
그룹 선택 후 Cisco 장비를 확인.- 인터페이스 상태, 트래픽, CPU 사용량 등이 표시돼요 (기본적으로 1시간 뒤 모든 인터페이스 데이터 수집).