본문 바로가기

인프라 노트

Zabbix 설치 및 구동 방법

목차
1. Zabbix 설치
2. Zabbix, Nginx 환경 설정
3. Zabbix 구동
4. Zabbix 웹 브라우저 접속
5. Zabbix 웹 서비스 로그인

 

개요

 

• 보통 서버나 네트워크 장비의 상태를 실시간 모니터링 할 때 zabbix, grafana 같은 도구를 사용한다.

• 이 포스팅은 zabbix 에 대한 설치 및 구동 방법을 다룰 것이다.

• 사내 인프라 모니터링을 직접 구축하고 싶은 기술 담당자나 zabbix를 처음 설치해보는 시스템 관리자, DevOps 담당자에게 도움이 되기를 바란다.

 

방법

 

Zabbix 설치

※ Ubuntu 24.04 LTS 기준 작성

• zabbix 홈페이지 접속

   ∘ 접속 URL : https://www.zabbix.com/download

 

Download and install Zabbix

Talk to experts Benefit from expert advice and best practices for all Zabbix-related matters Get technical advice Get instant access to a team of Zabbix experts for guaranteed professional support 24x7 Obtain knowledge Focused, comprehensive training for a

www.zabbix.com

 

• [Choose your platform] 에 적절한 선택지 선택

※ 아래와 같이 선택하면 [Install and configure Zabbix for your platform] 에 설치 가이드가 자세히 나온다.

   ∘ [ZABBIX VERSION] : 7.2 버전을 설치해보자

   ∘ [OS DISTRIBUTION] : Ubuntu에서 설치하기로 했으므로, Ubuntu 선택

   ∘ [OS VERSION] : Ubuntu OS에서 [cat /etc/os-release] 로 Version 확인 후 선택

   ∘ [ZABBIX COMPONENT] : Server, Frontend, Agent 선택

   ∘ [DATABASE] : MySQL 선택

   ∘ [WEB SERVER] : Nginx 선택

 

• 설치하려는 서버 접속 후 root user 로 전환 : [sudo -s] 또는 [sudo su] 입력

 

• Zabbix repository 설치

   ∘ [wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu24.04_all.deb] 입력

 

   ∘ [dpkg -i zabbix-release_latest_7.2+ubuntu24.04_all.deb] 입력

 

   ∘ [apt update] 입력

 

• Zabbix server, frontend, agent 설치

※ 사전에 mysql, nginx가 모두 삭제되어 있어야 한다 : 설치한 패키지 완전 삭제 가이드

   ∘ [apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent] 입력

 

• mysql 설치

   ∘ [apt install mysql-server -y] 설치 후 [systemctl status mysql] 로 구동 확인

 

• 아래 내용 그대로 입력

※ 초기 root는 그냥 엔터 쳐도 접속 되지만 root 비번을 걸어둔 상태면 비번 입력 후 접속한다.

※ root 비번이 그대로 걸려있다면 rm -rf /var/lib/mysql, rm -rf /etc/mysql 로 mysql 디렉토리를 삭제한다.

   ∘ mysql -uroot -p 엔터

   ∘ Enter password: 엔터

   ∘ 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> set global log_bin_trust_function_creators = 1; 엔터
   ∘ mysql> quit; 엔터

 

• server.sql.gz 데이터를 초기 zabbix 스키마에 import 한다.

※ 'zabbix'@'localhost'의 비번은 위에 설정했듯이 password 이다.

※ 시간이 좀 걸리는 작업으로 차분히 기다린다.

   ∘ [zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix] 입력

 

• 스키마에 데이터 import 후 [log_bin_trust_function_creators] disable 설정

   ∘ mysql -uroot -p 엔터

   ∘ Enter password: 엔터

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

 

Zabbix, Nginx 환경 설정

• Zabbix server를 위한 데이터베이스 수정

   ∘ [vi /etc/zabbix/zabbix_server.conf] 입력 → 91번 라인 주석제거 → 124번 라인 주석제거 후 [password] 입력 후 저장

 

• Zabbix frontend를 위한 PHP 수정, [vi nginx.conf] 입력

   ∘ 2번 라인, 3번 라인 주석 제거, localhost 입력 후 저장

 

Zabbix 구동

• Zabbix server, agent 구동

   ∘ [systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm] 입력

   ∘ [systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm] 입력

 

Zabbix 웹 브라우저 접속

※ 방화벽이 있다면 [ufw allow 8080] 입력 후 진행

• 웹 브라우저(chrome)에 http://[서버ip]:8080 입력

   ∘ 예시) [http://61.32.254.126:8080] 입력

 

• [기본 설정 언어] 한국어로 전환 → [다음 스텝] 클릭

 

[전제조건의 체크] 모두 OK 확인 후 [다음 스텝] 클릭

 

• [DB접속 설정] 에 설정한 zabbix 암호(※ 이 포스팅에서는 'password') 입력 → [다음 스텝] 클릭

 

• [설정] 에서 Zabbix 서버 이름, 기본 시간대, 디폴트 테마 설정 → [다음 스텝] 클릭

 

• [설치 사전 준비 요약] 내용 확인 후 [다음 스텝] 클릭

 

• [설치] 칸에서 설치 완료를 위해 [종료] 클릭

 

Zabbix 웹 서비스 로그인

• 웹 브라우저(chrome)에서 http://[서버ip]:8080 접속 → 로그인

※ 최초 접속 id/pw : Admin/zabbix

   ∘ 예시) [http://61.32.254.126:8080] 입력 후 접속

 

• 로그인 후의 Zabbix web 화면 확인

 

마무리

 

• 포스팅에 사용된 61.32.254.126 서버를 zabbix 모니터링 서버로 활용하기 위해 설치하는 방법을 알아보았다.

• 다음 포스팅에서는 리모트 서버를 모니터링 하기 위해 agent를 설치하고 모니터링 등록하는 방법에 대해 설명하겠다.

 

 

 

끝.