Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드

Zabbix는 PHP 언어로 개발된 무료 오픈소스 IT 인프라 모니터링 소프트웨어로, 풍부한 기능과 높은 인기로 널리 사용되고 있습니다. 네트워크, 서버, 애플리케이션, 서비스는 물론 클라우드 리소스까지 모니터링할 수 있으며, 스토리지 장치, 데이터베이스, 가상 머신, 전화 시스템, IT 보안 리소스 등 다양한 대상의 감시도 지원합니다.

개발자를 위해 Zabbix는 거의 모든 기능에 접근할 수 있는 API를 제공합니다. 이를 통해 어떤 소프트웨어와도 손쉽게 양방향 통합이 가능하며, API를 활용해 Zabbix의 기능을 서드파티 소프트웨어에 통합할 수도 있습니다.

사전 요구 사항

  • Debian 11(Bullseye) 최소 서버 설치 방법
  • Debian 10(Buster) 최소 서버 설치 방법

이 튜토리얼에서는 Debian 11Debian 10 환경에서 최신 버전의 Zabbix 오픈소스 모니터링 도구를 설치하고 구성하는 방법을 다룹니다. 데이터 저장용으로는 MySQL(MariaDB), 웹 인터페이스용으로는 PHPApache 웹 서버를 함께 사용합니다.

1단계: Apache 웹 서버 및 PHP 패키지 설치

1. Zabbix를 설치하려면 먼저 ApachePHP, 그리고 필수 PHP 모듈들을 아래 명령으로 설치해야 합니다.

# apt install apache2 php php-mysql php-mysqlnd php-ldap php-bcmath php-mbstring php-gd php-pdo php-xml libapache2-mod-php

2. 설치 과정에서 설치 프로그램은 systemd를 통해 Apache 서비스를 자동으로 시작하고, 시스템 부팅 시 자동 실행되도록 활성화합니다. 아래 systemctl 명령으로 서비스가 정상적으로 작동 중인지 확인할 수 있습니다.

# systemctl status apache2
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Debian에서 Apache 상태 확인

다음은 systemd 환경에서 Apache 서비스를 관리할 때 유용한 systemctl 명령들입니다.

# systemctl start apache2
# systemctl stop apache2
# systemctl restart apache2

2단계: MariaDB 서버 및 클라이언트 설치

3. 데이터를 저장하기 위해 Zabbix는 데이터베이스 관리 시스템이 필요합니다. 기본적으로 MySQL을 지원하지만, 이 가이드에서는 MySQL의 드롭인 대체제인 MariaDB를 설치하겠습니다.

# apt install mariadb-server mariadb-client

4. 설치가 완료되면 MariaDB 서비스가 자동으로 시작되고 부팅 시 자동 실행되도록 설정됩니다. 아래 명령으로 정상 작동 여부를 확인하세요.

# systemctl status mariadb
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Debian에서 MariaDB 상태 확인

5. 다음으로 MariaDB 서버 설치를 보안 강화해야 합니다. 설치 패키지에는 보안 권장 사항에 따라 설정할 수 있는 스크립트가 포함되어 있으므로 이를 실행합니다.

# mysql_secure_installation

스크립트는 익명 사용자 제거, root 원격 로그인 비활성화, test 데이터베이스 및 접근 권한 삭제 등의 작업을 수행할지 묻고, 변경 사항을 적용합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Debian 10에서 MariaDB 보안 설정

6. 데이터베이스 서버 보안 설정이 끝나면 Zabbix용 데이터베이스를 생성해야 합니다. 먼저 아래와 같이 로그인하여 MariaDB 셸에 접속합니다.

# mysql -u root -p

7. 그다음 아래 SQL 명령으로 필요한 데이터베이스를 생성합니다(반드시 안전한 비밀번호를 설정하세요).

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'admin@monit1';
MariaDB [(none)]> quit;

3단계: Zabbix 서버 설치 및 구성

8. Zabbix를 설치하려면 Zabbix 패키지가 포함된 Zabbix 공식 저장소를 먼저 활성화해야 합니다.

# wget --no-check-certificate https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian11_all.deb
# dpkg -i zabbix-release_5.4-1+debian11_all.deb
# apt update

9. 이제 아래 명령으로 Zabbix 서버, 웹 프론트엔드, 에이전트 패키지를 설치합니다.

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

10. 패키지 설치가 성공적으로 완료되면, 앞서 생성한 Zabbix 데이터베이스에 초기 스키마와 데이터를 가져옵니다.

# zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix

11. 다음으로 /etc/zabbix/zabbix_server.conf 파일을 편집하여 Zabbix 서버 데몬이 생성한 데이터베이스를 사용하도록 구성합니다.

# vim /etc/zabbix/zabbix_server.conf

아래 설정 항목을 찾아 데이터베이스 정보에 맞게 값을 수정합니다. 주석 처리된 항목은 반드시 주석을 해제하고 올바른 값을 입력해야 합니다.

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=admin@monit1
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 데이터베이스 설정 구성

변경 사항을 저장하고 파일을 닫습니다.

12. 또한 /etc/zabbix/apache.conf 파일에서 타임존을 지정하여 PHP가 Zabbix 프론트엔드와 올바르게 작동하도록 설정해야 합니다.

# vim /etc/zabbix/apache.conf

사용 중인 PHP 버전(예: PHP 7.x)에 해당하는 설정 섹션을 찾은 후, 아래 줄의 맨 앞 “#” 문자를 제거하여 주석을 해제하고 서버 타임존을 활성화합니다.

php_value date.timezone Asia/Seoul
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드PHP 타임존 설정

변경 사항을 저장하고 파일을 닫습니다.

13. 이제 최근 변경 사항을 적용하기 위해 Apache 서버를 재시작합니다.

# systemctl restart apache2

14. 모든 환경 설정이 완료되었으면 Zabbix 서버와 에이전트 프로세스를 시작하고, 시스템 부팅 시 자동 실행되도록 활성화합니다.

# systemctl start zabbix-server zabbix-agent
# systemctl enable zabbix-server zabbix-agent
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 서버 및 에이전트 시작

15. 아래 명령으로 Zabbix 서버 상태를 확인합니다.

# systemctl status zabbix-server
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 상태 확인

16. 마찬가지로 Zabbix 에이전트 프로세스도 정상 작동 중인지 확인합니다. 참고로 여기서 시작한 에이전트는 로컬 호스트를 모니터링합니다. 원격 서버를 모니터링하려면 해당 서버에 에이전트를 설치하고 구성해야 합니다(가이드 하단의 관련 글 참조).

# systemctl status zabbix-agent
Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 에이전트 상태 확인

17. 다음 단계에서 Zabbix 웹 프론트엔드에 접속하기 전에, UFW 방화벽 서비스가 실행 중이라면 Apache 서버로의 트래픽을 허용하기 위해 80(HTTP)443(HTTPS) 포트를 열어야 합니다.

# ufw allow 80/tcp
# ufw allow 443/tcp
# ufw reload

4단계: Zabbix 웹 프론트엔드 설치 및 구성

18. Zabbix 웹 프론트엔드를 본격적으로 사용하기 전에 웹 설치 마법사를 통해 초기 설정을 진행해야 합니다. 웹 브라우저를 열고 아래 URL로 접속하세요.

https://SERVER_FQDM/zabbix
또는
https://SERVER_IP/zabbix

19. 접속하면 아래 스크린샷과 같은 환영 페이지가 나타납니다. Next step을 클릭하여 설정을 시작합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 웹 설치 마법사

20. 설치 마법사가 필수 요구 사항을 검사합니다. 필요한 PHP 모듈과 설정 옵션이 모두 OK로 표시되면(스크롤을 내려 더 많은 요구 사항 확인 가능) Next step을 클릭해 진행합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 사전 요구 사항 검사

21. 다음으로 Zabbix 프론트엔드가 데이터베이스에 연결할 수 있도록 DB 연결 정보를 입력합니다. 데이터베이스 유형(MySQL 선택), 호스트, 포트, 데이터베이스 이름, 사용자 이름과 비밀번호를 스크린샷과 같이 입력합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 데이터베이스 설정

22. 다음으로 Zabbix 서버 세부 정보(호스트명 또는 IP 주소, 포트 번호)를 입력합니다. 필요에 따라 설치 이름을 지정할 수도 있습니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 서버 세부 정보

23. 이제 설치 마법사가 설치 전 요약 페이지를 표시합니다. 내용에 문제가 없으면 Next step을 클릭하여 설정을 완료합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 설치 전 요약

24. Finish를 클릭하면 아래 스크린샷과 같이 로그인 페이지로 이동합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 설치 완료

25. 로그인하려면 사용자 이름 Admin, 비밀번호 zabbix를 입력합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 로그인

26. 로그인하면 모니터링 섹션의 대시보드가 표시됩니다. Global view에는 시스템 정보, 심각도별 문제 현황, 문제 목록, 로컬 시간 등이 샘플 형태로 나타납니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 대시보드

27. 중요한 보안 조치로, 기본 관리자 계정의 비밀번호를 반드시 변경해야 합니다. Administration ==> Users 메뉴로 이동하세요.

사용자 목록에서 Alias 항목 아래의 Admin을 클릭해 사용자 상세 페이지를 엽니다. Password 필드에서 Change password를 클릭한 후, 안전한 새 비밀번호를 설정하고 확인한 뒤 Update를 눌러 저장합니다.

Debian 11/10에 Zabbix 설치하는 방법 – 단계별 완벽 가이드Zabbix 관리자 비밀번호 변경

아래의 관련 Zabbix 글들도 함께 읽어보시기 바랍니다.

  • Gmail 계정으로 이메일 알림을 보내도록 Zabbix 모니터링 구성하는 방법
  • 원격 Linux 시스템에 Zabbix 에이전트를 설치하고 구성하는 방법
  • Zabbix 에이전트 설치 후 Windows 호스트를 Zabbix 모니터링에 추가하는 방법

여기까지입니다! 이 글에서는 Debian 11/10 서버에 최신 버전의 Zabbix 모니터링 소프트웨어를 설치하는 방법을 알아보았습니다. 자세한 내용은 Zabbix 공식 문서를 참고하세요.