모니터링 · 7 min read · Nov 17, 2025
Debian 9에 Zabbix 모니터링 서버 및 에이전트 설치하기
모니터링 도구는 시스템 상태를 지속적으로 추적하고 문제가 발생할 경우 경고 및 알림을 전송하는 데 사용됩니다. 또한, 모니터링 도구는 중요한 시스템, 애플리케이션 및 서비스가 항상 가동되고 있는지 확인하는 데 도움을 줍니다. 모니터링 도구는 네트워크 보안을 보완하여 악의적인 트래픽을 감지하고, 그 출처와 이를 차단하는 방법을 알 수 있게 해줍니다.
Zabbix는 수십만 대의 서버, 가상 머신 및 네트워크 장치에서 수집된 수백만 개의 메트릭을 실시간으로 모니터링하기 위해 설계된 무료 오픈 소스 궁극의 기업 수준 모니터링 도구입니다. Zabbix는 소규모 환경에서 대규모 환경으로 확장할 수 있도록 설계되었습니다. 웹 프론트엔드는 PHP로 작성되었고, 백엔드는 C로 작성되었으며 MySQL, PostgreSQL, SQLite, Oracle 또는 IBM DB2를 사용하여 데이터를 저장합니다. Zabbix는 특정 노드 및 네트워크의 현재 상태에 대한 개요를 얻을 수 있는 그래프 기능을 제공합니다.
Zabbix의 주요 기능은 다음과 같습니다:
- 서버, 데이터베이스, 애플리케이션, 네트워크 장치, Vmware 하이퍼바이저, 가상 머신 등을 모니터링합니다.
- 서비스 품질을 개선하고 다운타임을 피하여 운영 비용을 줄이기 위해 소규모에서 대규모 환경을 지원하도록 특별히 설계되었습니다.
- 완전 무료 오픈 소스이므로 비용을 지불할 필요가 없습니다.
- 중앙 위치에서 모든 작업을 수행할 수 있는 사용자 친화적인 웹 인터페이스를 제공합니다.
- 네트워크 장치를 모니터링하기 위한 SNMP와 하드웨어 장치를 모니터링하기 위한 IPMI를 제공합니다.
- 브라우저에서 전체 시스템 제어를 허용하는 웹 기반 프론트 엔드입니다.
이 튜토리얼에서는 Debian 9 서버에 Zabbix 서버와 Zabbix 에이전트를 설치하는 단계별 지침을 안내합니다. 또한 Zabbix 서버에 Zabbix 에이전트를 추가하여 모니터링하는 방법도 설명합니다.
요구 사항
- Debian 9가 설치된 두 시스템.
- 최소 1GB의 RAM과 10GB의 디스크 공간이 필요합니다. RAM 및 디스크 공간의 양은 모니터링되는 호스트 수와 매개변수에 따라 다릅니다.
- 서버에 sudo 권한이 설정된 비루트 사용자.
시작하기
시작하기 전에 서버의 패키지 저장소를 최신 안정 버전으로 업데이트해야 합니다. 두 인스턴스에서 다음 명령을 실행하여 업데이트할 수 있습니다:
sudo apt-get update -y
sudo apt-get upgrade -y다음으로, 이러한 변경 사항을 적용하기 위해 시스템을 재부팅합니다.
Apache, PHP 및 MariaDB 설치
Zabbix는 Apache 웹 서버에서 실행되며, PHP로 작성되고 MariaDB/MySQL을 사용하여 데이터를 저장합니다. 따라서 Zabbix를 설치하려면 Apache, MariaDB 및 PHP가 필요합니다. 먼저 다음 명령을 실행하여 Apache, PHP 및 기타 PHP 모듈을 설치합니다:
sudo apt-get install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-bcmath php7.0-mbstring -y다음으로, 시스템에 MariaDB 저장소를 추가해야 합니다. 최신 버전의 MariaDB는 Debian 9 기본 저장소에 없습니다.
다음 명령을 실행하여 저장소를 추가할 수 있습니다:
sudo apt-get install software-properties-common -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian stretch main'다음으로, 다음 명령을 실행하여 저장소를 업데이트합니다:
sudo apt-get update -y마지막으로, 다음 명령을 실행하여 MariaDB 서버를 설치합니다:
sudo apt-get install mariadb-server -y기본적으로 MariaDB 설치는 보안이 설정되어 있지 않습니다. 따라서 먼저 보안을 설정해야 합니다. mysql_secure_installation 스크립트를 실행하여 이를 수행할 수 있습니다.
sudo mysql_secure_installation아래와 같이 모든 질문에 답변합니다:
현재 root 비밀번호 입력 (없으면 Enter): Enter
root 비밀번호 설정? [Y/n]: Y
새 비밀번호:
새 비밀번호 다시 입력:
익명 사용자 제거? [Y/n]: Y
원격에서 root 로그인 금지? [Y/n]: Y
테스트 데이터베이스 및 접근 제거? [Y/n]: Y
권한 테이블을 지금 다시 로드합니까? [Y/n]: Y
위 스크립트는 root 비밀번호를 설정하고, 테스트 데이터베이스를 제거하며, 익명 사용자를 제거하고 원격 위치에서 root 로그인을 금지합니다.
MariaDB 설치가 보안 설정이 완료되면 Apache 및 MariaDB 서비스를 시작하고 부팅 시 시작되도록 활성화합니다. 다음 명령을 실행하여 수행할 수 있습니다:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysqlZabbix 서버 설치
기본적으로 Zabbix는 Debian 9 저장소에서 사용할 수 있지만, 구버전일 수 있습니다. 따라서 공식 Zabbix 저장소에서 최신 버전을 설치하는 것이 좋습니다. 다음 명령을 실행하여 Zabbix 저장소의 최신 버전을 다운로드하고 추가할 수 있습니다:
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-2+stretch_all.deb다음으로, 다운로드한 저장소를 다음 명령으로 설치합니다:
sudo dpkg -i zabbix-release_3.0-2+stretch_all.deb다음으로, 패키지 캐시를 업데이트하고 다음 명령을 실행하여 웹 프론트 엔드 및 MySQL 지원이 포함된 Zabbix 서버를 설치합니다:
sudo apt-get update -y
sudo apt-get install zabbix-server-mysql zabbix-frontend-php -yZabbix 서버 상태에 대한 데이터를 수집하기 위해 Zabbix 에이전트도 설치해야 합니다:
sudo apt-get install zabbix-agent -yZabbix 에이전트를 설치한 후, Zabbix 에이전트 서비스를 시작하고 부팅 시 시작되도록 활성화합니다. 다음 명령을 실행하여 수행할 수 있습니다:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agentZabbix 데이터베이스 구성
Zabbix는 MariaDB/MySQL을 데이터베이스 백엔드로 사용합니다. 따라서 Zabbix 설치를 위해 MySQL 데이터베이스와 사용자를 생성해야 합니다:
먼저, 다음 명령을 실행하여 MySQL 셸에 로그인합니다:
mysql -u root -p루트 비밀번호를 입력한 후, 다음 명령을 실행하여 Zabbix용 데이터베이스를 생성합니다:
MariaDB [(none)]> CREATE DATABASE zabbixdb character set utf8 collate utf8_bin;다음으로, Zabbix용 사용자를 생성하고 비밀번호를 할당한 후, Zabbix 데이터베이스에 대한 모든 권한을 부여합니다:
MariaDB [(none)]> CREATE user zabbixuser identified by 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES on zabbixdb.* to zabbixuser@localhost identified by 'password';다음으로, 다음 명령을 실행하여 권한을 플러시합니다:
MariaDB [(none)]> FLUSH PRIVILEGES;마지막으로, 다음 명령을 실행하여 MySQL 셸에서 나갑니다:
MariaDB [(none)]> exit;다음으로, 다음 명령을 실행하여 새로 생성된 데이터베이스에 초기 스키마 및 데이터를 가져옵니다:
cd /usr/share/doc/zabbix-server-mysql*/
zcat create.sql.gz | mysql -u zabbixuser -p zabbixdbZabbix 구성
Zabbix는 /etc/zabbix/apache.conf에 자체 구성 파일을 생성합니다. 이 파일을 편집하고 필요에 따라 시간대 및 PHP 설정을 업데이트합니다:
sudo nano /etc/zabbix/apache.conf파일을 아래와 같이 변경합니다:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 32M
php_value upload_max_filesize 8M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Kolkata작업이 완료되면 파일을 저장합니다.
다음으로, Zabbix에 대한 데이터베이스 세부정보를 업데이트해야 합니다. /etc/zabbix/zabbix_server.conf 파일을 편집하여 이를 수행할 수 있습니다:
sudo nano /etc/zabbix/zabbix_server.conf다음 줄을 변경합니다:
DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=password작업이 완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 실행하여 모든 서비스를 재시작합니다:
sudo systemctl restart apache2
sudo systemctl restart mysql
sudo systemctl restart zabbix-server방화벽 구성
진행하기 전에 Zabbix 서버를 보호하기 위해 UFW 방화벽을 구성해야 합니다.
먼저, 시스템에 UFW가 설치되어 있는지 확인합니다. 그렇지 않은 경우 다음 명령을 실행하여 설치할 수 있습니다:
sudo apt-get install ufw -y다음으로, UFW 방화벽을 활성화합니다:
sudo ufw enable다음으로, 다음 명령을 실행하여 UFW를 통해 포트 10050, 10051 및 80을 허용합니다:
sudo ufw allow 10050/tcp
sudo ufw allow 10051/tcp
sudo ufw allow 80/tcp마지막으로, 다음 명령을 실행하여 방화벽을 다시 로드하여 이러한 변경 사항을 적용합니다:
sudo ufw reloadUFW 방화벽이 구성되면 웹 인터페이스를 통해 Zabbix 서버를 설치할 수 있습니다.
Zabbix 웹 설치 마법사 접근
모든 것이 정상이라면 Zabbix 웹 설치 마법사에 접근할 시간입니다.
웹 브라우저를 열고 http://zabbix-server-ip/zabbix URL로 이동하면 다음 페이지로 리디렉션됩니다:

다음 단계 버튼을 클릭하면 다음 페이지가 표시됩니다:

여기에서 모든 Zabbix 전제 조건이 확인되고 검증되며, 다음 단계 버튼을 클릭하면 다음 페이지가 표시됩니다:

여기에서 Zabbix 데이터베이스 이름, 데이터베이스 사용자 및 비밀번호를 제공한 후 다음 단계 버튼을 클릭하면 다음 페이지가 표시됩니다:

여기에서 Zabbix 서버 세부정보 및 포트 번호를 지정한 후 다음 단계 버튼을 클릭하면 다음 페이지에서 Zabbix 서버의 사전 설치 요약이 표시됩니다:

다음으로 다음 단계 버튼을 클릭하여 Zabbix 설치를 시작합니다. Zabbix 설치가 성공적으로 완료되면 다음 페이지가 표시됩니다:

여기에서 완료 버튼을 클릭하면 아래와 같이 Zabbix 로그인 페이지로 리디렉션됩니다:

여기에서 사용자 이름을 Admin으로, 비밀번호를 zabbix로 입력한 후 로그인 버튼을 클릭합니다. 다음 이미지에서 Zabbix 서버 대시보드를 확인할 수 있습니다:

이제 Zabbix 웹 설치가 완료되었습니다.
Zabbix 에이전트 설치
이제 Zabbix 서버가 가동되고 있습니다. Zabbix 서버에 모니터링을 위해 Zabbix 에이전트 노드를 추가할 시간입니다.
먼저, Zabbix 에이전트 인스턴스에 로그인하고 다음 명령을 실행하여 Zabbix 저장소를 추가합니다:
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-2+stretch_all.deb
sudo dpkg -i zabbix-release_3.0-2+stretch_all.deb
sudo apt-get update -yZabbix 저장소가 시스템에 구성되면 다음 명령을 실행하여 Zabbix 에이전트를 설치합니다:
sudo apt-get install zabbix-agent -yZabbix 에이전트가 설치되면 Zabbix 서버와 통신하도록 Zabbix 에이전트를 구성해야 합니다. Zabbix 에이전트 구성 파일을 편집하여 이를 수행할 수 있습니다:
sudo nano /etc/zabbix/zabbix_agentd.conf파일을 아래와 같이 변경합니다:
#Zabbix 서버 IP 주소 / 호스트 이름
Server=192.168.0.103
#Zabbix 에이전트 호스트 이름
Hostname=zabbix-agent작업이 완료되면 파일을 저장하고 닫습니다. 그런 다음 다음 명령을 실행하여 Zabbix 에이전트 서비스를 재시작하고 부팅 시 시작되도록 활성화합니다:
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agentZabbix 서버에 Zabbix 에이전트 노드 추가
다음으로, 모니터링을 위해 Zabbix 서버에 Zabbix 에이전트 노드를 추가해야 합니다. 먼저 Zabbix 서버 웹 인터페이스에 로그인합니다.

다음으로, 구성 —> 호스트 —> 호스트 생성을 클릭하면 다음 페이지가 표시됩니다:

여기에서 Zabbix 에이전트의 호스트 이름, IP 주소 및 그룹 이름을 지정합니다. 그런 다음 템플릿 탭으로 이동하면 다음 페이지가 표시됩니다:

여기에서 적절한 템플릿을 검색하고 추가 버튼을 클릭하면 다음 페이지가 표시됩니다:

마지막으로 추가 버튼을 다시 클릭합니다. 그러면 모든 것이 정상적으로 작동하고 있음을 나타내는 녹색 레이블이 있는 새 호스트가 표시됩니다.

추가로 모니터링하려는 서버 및 네트워크 장치가 있는 경우 각 호스트에 로그인하여 Zabbix 에이전트를 설치하고 Zabbix 웹 인터페이스에서 각 호스트를 추가합니다.
결론
축하합니다! Debian 9 서버에 Zabbix 서버와 Zabbix 에이전트를 성공적으로 설치했습니다. 또한 Zabbix 서버에 모니터링을 위해 Zabbix 에이전트 노드를 추가했습니다. 이제 현재 문제 및 과거 이력을 쉽게 나열하고, 호스트의 최신 데이터를 가져오고, 현재 문제를 나열하며, CPU 부하, CPU 사용률, 메모리 사용량 등의 수집된 리소스 통계를 그래프를 통해 시각화할 수 있습니다. 이제 Debian 9 서버에 Zabbix를 쉽게 설치하고 구성하여 프로덕션 환경에 배포할 수 있기를 바랍니다. 다른 모니터링 소프트웨어와 비교할 때 Zabbix는 여러 호스트를 모니터링하면서 다양한 네트워크 세그먼트의 자체 지도를 구축할 수 있도록 해줍니다. Zabbix Windows 에이전트를 사용하여 Windows 호스트도 모니터링할 수 있습니다. 더 많은 정보는 Zabbix 문서 페이지를 참조하시기 바랍니다. 질문이 있으면 언제든지 문의해 주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.