IMG-LOGO
공지사항 :

Zabbix

lmkfox - 2025-03-05 07:26:09 24 Views 0 Comment

Zabbix 상세 개요

Zabbix는 오픈 소스 기반의 통합 모니터링 솔루션으로, 네트워크, 서버, 애플리케이션, 데이터베이스, 클라우드 환경 등을 실시간으로 감시하고 관리할 수 있는 도구이다.

2001년 Alexei Vladishev가 개발을 시작했으며, 현재 기업 및 공공기관에서 널리 사용되고 있다.

1. Zabbix의 주요 특징

1.1 다양한 모니터링 대상 지원

네트워크 장비(라우터, 스위치, 방화벽 등)

서버 및 가상 환경(Linux, Windows, VMware 등)

애플리케이션 및 데이터베이스(MySQL, PostgreSQL, Oracle, Redis 등)

클라우드 환경(AWS, Azure, GCP 등)

1.2 데이터 수집 방식

1. 에이전트 기반 (Zabbix Agent)

• 모니터링 대상 서버에 Zabbix Agent를 설치하여 데이터를 직접 수집.

• CPU, 메모리, 디스크 사용량 등 정밀한 모니터링 가능.

2. 에이전트리스 모니터링

• SNMP, SSH, WMI, HTTP, API를 이용하여 외부 장비 및 애플리케이션을 모니터링.

• 네트워크 장비, 클라우드 서비스 등에서 주로 사용.

3. 푸시 방식 지원 (Zabbix Sender, Trapper, Webhook)

• 외부 시스템에서 데이터를 직접 Zabbix 서버로 전송 가능.

1.3 데이터 저장 및 분석

• 데이터는 시계열 데이터베이스에 저장되며, 장기간 보관 및 분석 가능.

내장된 대시보드 및 차트를 통해 실시간으로 데이터를 시각화.

트리거(Trigger) 기능을 활용해 특정 임계값 초과 시 알람 발생.

1.4 자동화 및 확장성

자동 검색(Auto Discovery): 네트워크 내 장비를 자동으로 탐색하여 등록.

템플릿 지원: 서버, 네트워크 장비, 애플리케이션별 미리 정의된 설정 제공.

분산 모니터링(Zabbix Proxy): 대규모 환경에서 Zabbix Proxy를 사용해 여러 지역의 시스템을 효율적으로 관리.

1.5 알림 및 연동 기능

이메일, SMS, Telegram, Slack, Webhook 등을 통한 알림 전송 가능.

Grafana와 연동하여 보다 강력한 시각화 가능.

2. Zabbix 아키텍처

2.1 주요 컴포넌트

1. Zabbix Server: 모니터링 데이터 수집 및 저장, 트리거 분석, 이벤트 관리.

2. Zabbix Database: 수집된 데이터 저장 (MySQL, PostgreSQL, Oracle, TimescaleDB 등 지원).

3. Zabbix Frontend: 웹 기반 관리 콘솔 (PHP 기반).

4. Zabbix Agent: 모니터링 대상에서 데이터를 수집하여 서버로 전송.

5. Zabbix Proxy: 대규모 환경에서 분산 모니터링을 지원하는 중간 서버.

3. Zabbix 설치 및 설정

3.1 Zabbix 서버 설치 (Ubuntu 기준)

# Zabbix 패키지 저장소 추가
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update

# Zabbix 서버, 웹 인터페이스 및 에이전트 설치
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent

# 데이터베이스 생성 및 설정 (MySQL)
sudo mysql -uroot -p
mysql> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
mysql> FLUSH PRIVILEGES;
exit;

# Zabbix 데이터베이스 스키마 불러오기
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

# Zabbix 서버 설정 변경
sudo nano /etc/zabbix/zabbix_server.conf
# DBPassword=password (설정 추가)

# Zabbix 서비스 시작 및 활성화
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

4. Zabbix 기본 설정

4.1 웹 인터페이스 접속

1. 브라우저에서 http://<Zabbix 서버 IP>/zabbix 접속.

2. 초기 로그인 정보

사용자: Admin

비밀번호: zabbix

4.2 모니터링 대상 추가

1. Configuration → Hosts 이동.

2. “Create Host” 버튼 클릭.

3. • Hostname: server1

• Groups: Linux servers

• Agent Interface: server1 IP 입력

4. “Templates” 탭에서 적절한 템플릿 추가 (예: Template OS Linux).

5. “Add” 버튼 클릭하여 저장.

5. Zabbix 활용 예제

5.1 CPU 사용률 모니터링

• Template OS Linux에 포함된 Processor load 항목을 사용하여 CPU 부하 확인.

• 트리거 설정: CPU 부하가 90% 이상 지속되면 알람 발생.

5.2 디스크 공간 모니터링

• 특정 파티션(/var, /home 등)의 남은 공간이 10% 미만일 경우 알람 발생 설정.

5.3 네트워크 트래픽 분석

• Template Net Cisco 같은 네트워크 장비 템플릿을 활용하여 트래픽 모니터링.

• SNMP를 이용해 트래픽 흐름 분석 가능.

5.4 Docker 및 Kubernetes 모니터링

• Template App Docker 또는 Template Kubernetes 활용 가능.

• 컨테이너별 CPU, 메모리, 네트워크 사용량 모니터링.

6. Zabbix의 장점과 단점

6.1 장점

완전한 오픈 소스 (무료로 사용 가능).

강력한 확장성 (Zabbix Proxy, 템플릿, API 제공).

다양한 모니터링 방식 지원 (Agent, SNMP, IPMI, HTTP, Webhook 등).

강력한 트리거 및 알림 시스템 (Slack, Email, SMS, Telegram 연동).

대규모 환경에서도 안정적 (수만 개의 장비 모니터링 가능).

6.2 단점

설치 및 설정이 복잡함 (초기 설정이 많음).

자체 데이터 저장소 부족 (장기 데이터 보관 시 외부 DB 연동 필요).

대량의 데이터 처리 시 성능 저하 가능 (최적화 필요).

7. 결론

Zabbix는 강력한 오픈 소스 모니터링 솔루션으로, 다양한 IT 환경에서 네트워크, 서버, 애플리케이션을 모니터링할 수 있다. 대규모 환경에서도 안정적으로 동작하며, 강력한 트리거 및 알림 기능을 제공한다.

초기 설정이 다소 복잡하지만, 템플릿과 자동화 기능을 활용하면 쉽게 확장할 수 있다. 기업 및 공공기관에서 널리 사용되는 신뢰할 수 있는 모니터링 도구이다.


댓글