Home Linux AWS Cloud Docker Python AI
클릭하여 터미널 활성화

리눅스 서버 모니터링 Zabbix 설치 | Ubuntu EC2 Step by Step 가이드

// Linux · Zabbix · Monitoring · AWS · EC2 · Ubuntu · MySQL
AWS EC2 Ubuntu 22.04 위에 Zabbix 6.4 서버를 직접 구축하는 단계별 완전 가이드

Zabbix란?

Zabbix는 오픈소스 기반의 엔터프라이즈급 네트워크·서버 모니터링 솔루션이다. 단순한 서버 상태 확인을 넘어 네트워크 장비, 애플리케이션, 클라우드 리소스까지 통합 관제할 수 있어 실제 운영 현장에서 널리 쓰인다.


네트워크·서버 관제|SNMP, IPMI, JMX 등 다양한 프로토콜 지원
알림·트리거|임계값 초과 시 이메일·슬랙·웹훅 알림 발송
성능 데이터 수집|CPU, 메모리, 디스크, 네트워크 트래픽 시계열 저장
대시보드·시각화|웹 UI에서 그래프, 맵, 리포트 제공

설치 환경

ZABBIX SERVER 구성 정보
ZABBIX VERSION 6.4
OS Ubuntu 22.04 LTS (Jammy)
ZABBIX COMPONENT Server, Frontend, Agent
DATABASE MySQL
WEB SERVER Apache2
접속 환경 Mac Terminal SSH (Port 22)

Zabbix 설치 과정

STEP 1. Ubuntu 업데이트 및 MySQL 서버 설치

# Ubuntu / Debian 계열
$ sudo apt update -y && sudo apt install mysql-server -y
# RHEL / Rocky Linux / CentOS 계열
$ sudo dnf install -y mariadb-server mariadb
MariaDB를 사용해도 무관하다. OS 계열에 맞는 패키지 매니저 명령어를 확인 후 입력하면 된다.

STEP 2. MySQL 서비스 시작 및 부팅 시 자동 등록

$ sudo systemctl start mysql
$ sudo systemctl enable mysql
$ sudo systemctl status mysql

STEP 3. Zabbix Repository 설치 (저장소 추가)

Zabbix 공식 사이트에서 OS 환경에 맞는 설치 명령어를 확인할 수 있다.


# Zabbix 저장소 deb 패키지 다운로드 및 설치
$ wget https://repo.zabbix.com/zabbix/6.0/ubuntu-arm64/pool/main/z/zabbix-release/zabbix-release_6.0-5+ubuntu22.04_all.deb
$ sudo dpkg -i zabbix-release_6.0-5+ubuntu22.04_all.deb
$ sudo apt update

STEP 4. Zabbix Server, Frontend, Agent 패키지 설치

$ sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
설치되는 패키지 역할
zabbix-server-mysql Zabbix 서버 본체. MySQL 백엔드 사용
zabbix-frontend-php 웹 UI (PHP 기반 대시보드)
zabbix-apache-conf Apache 웹서버 연동 설정
zabbix-sql-scripts 초기 DB 스키마 SQL 파일
zabbix-agent 모니터링 대상 서버에 설치하는 에이전트

STEP 5. MySQL 접속

# root 계정으로 MySQL 접속 (root 패스워드 입력)
$ sudo mysql -u root -p



STEP 6. MySQL 데이터베이스 설정 (중요)

MySQL에 접속 후 아래 4개 명령어를 순서대로 실행한다.

# 1. Zabbix 전용 DB 생성 (utf8mb4 필수)
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
# 2. Zabbix 전용 DB 유저 생성 ('password' 부분은 실제 PW로 변경)
mysql> create user zabbix@localhost identified by 'password';
# 3. zabbix 유저에게 DB 전체 권한 부여
mysql> grant all privileges on zabbix.* to zabbix@localhost;
# 4. 스키마 import를 위해 바이너리 로깅 신뢰 설정 활성화
mysql> set global log_bin_trust_function_creators = 1;
⚠️
utf8mb4 반드시 사용
일반 utf8이 아닌 utf8mb4로 DB를 생성해야 한다. Zabbix는 멀티바이트 문자를 처리하므로 다른 인코딩 사용 시 스키마 import가 실패할 수 있다.

STEP 7. 초기 스키마 데이터 Import

$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
데이터 양이 많아 import에 수 분이 걸릴 수 있다. 프롬프트가 돌아올 때까지 기다리면 된다. zabbix 유저 패스워드를 입력하면 진행된다.

STEP 8. log_bin_trust_function_creators 비활성화

스키마 import 완료 후 반드시 비활성화해야 한다. 보안상 활성화 상태로 두면 안 된다.

mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

STEP 9. Zabbix 서버 설정 파일 편집

설정 파일에서 DB 패스워드를 입력하고 주석을 해제해야 한다.

# 설정 파일 경로
$ sudo vi /etc/zabbix/zabbix_server.conf
# 아래 항목을 찾아 주석 해제 후 패스워드 입력
DBPassword=위에서_설정한_패스워드

STEP 10. Zabbix Server, Agent, Apache 재기동

# 서비스 재시작
$ sudo systemctl restart zabbix-server zabbix-agent apache2
# 부팅 시 자동 시작 등록
$ sudo systemctl enable zabbix-server zabbix-agent apache2

방화벽 포트 오픈 (80, 443)

웹 UI에 접근하려면 HTTP/HTTPS 포트를 열어야 한다. 환경에 맞게 적용한다.

AWS EC2 사용자는 보안 그룹에서 인바운드 규칙 추가
EC2 콘솔 → 인스턴스 → 보안 그룹 → 인바운드 규칙 편집 → HTTP(80), HTTPS(443) 규칙을 추가한다.

# firewalld 사용 환경 (Rocky Linux, CentOS 등)
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --reload

Zabbix 웹 UI 초기 설정

브라우저에서 http://서버IP/zabbix로 접속하면 웹 설치 마법사가 시작된다. 위 과정을 정상적으로 진행했다면 체크 항목이 모두 OK로 표시된다.



DB 연결 설정 화면에서는 기본값을 유지하고 STEP 6에서 설정한 패스워드만 입력한다.


서버 이름, 타임존(Asia/Seoul), 테마를 설정한다.


Zabbix 초기 로그인 정보
ID: Admin  /  PW: zabbix — 로그인 후 즉시 변경 권장

한국어 언어 설정

로그인 후 좌측 하단 User SettingsLanguageSystem default 선택 시 한국어로 변경된다.




// 설치 흐름 요약
MySQL 설치 → Zabbix 저장소 추가 → 패키지 설치
→ DB 생성·권한 설정 → 스키마 import → 설정 파일 편집
→ 서비스 재기동 → 포트 오픈 → 웹 UI 초기 설정 완료
Tags: #Zabbix #Linux #AWS #Ubuntu #모니터링 #MySQL #EC2 #서버구출