[모니터링] Zabbix 서버 설치 및 구성 가이드

2025. 5. 16. 00:41·깐돌의 클라우드 도구함
728x90

1. 환경 설정: yum 업데이트 및 SELinux 설정

Zabbix 서버를 설치하기 전에 시스템을 최신 상태로 유지하고 SELinux 설정을 변경해야 합니다. SELinux는 보안 기능을 강화하지만, Zabbix 설치 및 운영에 영향을 줄 수 있으므로 비활성화하는 것을 권장합니다.


dnf update -y

위 명령어는 시스템의 모든 패키지를 최신 버전으로 업데이트합니다.


sudo sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

이 명령어는 SELinux 설정을 'enforcing'에서 'disabled'로 변경합니다. 변경 사항을 적용하려면 시스템을 재부팅해야 합니다.


reboot

시스템 재부팅 후 SELinux가 비활성화되었는지 확인하려면 다음 명령어를 실행하십시오.


sestatus | grep "SELinux status"

출력 결과에 SELinux status: disabled라고 표시되면 SELinux가 성공적으로 비활성화된 것입니다.

Red Hat SELinux 문서

2. LAMP 스택 설치 및 활성화: Apache, MariaDB, PHP 설치

Zabbix 웹 인터페이스를 사용하기 위해서는 Apache 웹 서버, MariaDB 데이터베이스 서버, 그리고 PHP가 필요합니다. 다음 명령어를 사용하여 필요한 패키지를 설치합니다.


dnf install -y httpd mariadb-server php php-cli php-common php-mbstring php-mysqlnd php-xml php-bcmath php-devel php-pear php-gd

위 명령어는 Apache 웹 서버 (httpd), MariaDB 서버 (mariadb-server), 그리고 Zabbix 웹 인터페이스의 요구 사항을 충족하는 다양한 PHP 관련 패키지들을 설치합니다.

패키지 설치가 완료되면 Apache와 MariaDB 서비스를 활성화하고 부팅 시 자동으로 시작되도록 설정합니다.


systemctl enable httpd --now
systemctl enable mariadb --now

systemctl enable --now 명령어는 서비스를 즉시 시작하고 시스템 부팅 시에도 자동으로 시작되도록 설정합니다.

MariaDB 공식 문서

3. Zabbix 서버용 데이터베이스 생성: MariaDB 설정

Zabbix 서버는 수집된 데이터를 저장하기 위한 데이터베이스가 필요합니다. 여기서는 MariaDB를 사용하여 Zabbix 데이터베이스를 생성하고 필요한 사용자 권한을 설정합니다.

먼저 mysql_secure_installation 명령어를 실행하여 MariaDB 서버의 보안 설정을 강화합니다.


mysql_secure_installation

명령어를 실행하면 몇 가지 질문이 나타납니다. 아래는 권장되는 답변입니다.

  • Enter current password for root (enter for none): enter
  • Set root password? [Y/n] y
  • New password: 원하는 root 비밀번호 입력
  • Re-enter new password: root 비밀번호 재입력
  • Remove anonymous users? [Y/n] Y
  • Disallow root login remotely? [Y/n] Y
  • Remove test database and access to it? [Y/n] Y
  • Reload privilege tables now? [Y/n] Y

보안 설정이 완료되면 MariaDB에 접속하여 Zabbix 데이터베이스를 생성하고 Zabbix 서버가 사용할 사용자를 생성합니다.


mysql -u root -p

root 비밀번호를 입력하고 MariaDB 프롬프트에 접속합니다.


CREATE DATABASE zabbix_db CHARACTER SET utf8 collate utf8_bin;
GRANT ALL ON zabbix_db.* TO 'zabbix_user'@'localhost' IDENTIFIED BY '원하는_zabbix_비밀번호';
FLUSH PRIVILEGES;
exit;
  • CREATE DATABASE zabbix_db CHARACTER SET utf8 collate utf8_bin;: Zabbix 데이터를 저장할 데이터베이스를 생성하고 문자 인코딩 및 콜렉션을 설정합니다.
  • GRANT ALL ON zabbix_db.* TO 'zabbix_user'@'localhost' IDENTIFIED BY '원하는_zabbix_비밀번호';: localhost에서 접속하는 zabbix_user에게 zabbix_db 데이터베이스의 모든 권한을 부여하고 비밀번호를 설정합니다. '원하는\_zabbix\_비밀번호'는 안전한 비밀번호로 변경하십시오.
  • FLUSH PRIVILEGES;: 변경된 권한 설정을 즉시 적용합니다.
  • exit;: MariaDB 프롬프트를 종료합니다.

4. Zabbix 저장소 설정: Zabbix RPM 저장소 추가

Zabbix 패키지를 쉽게 설치하기 위해 Zabbix 공식 RPM 저장소를 시스템에 추가합니다. 다음 명령어를 실행하여 Zabbix 5.0 버전의 저장소를 추가합니다.


sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

위 명령어는 Zabbix 저장소 정보를 시스템에 다운로드하고 설치합니다. RHEL 버전에 따라 URL의 8 부분을 적절하게 수정해야 할 수 있습니다. 최신 버전 및 다른 RHEL 버전에 대한 저장소 정보는 아래 링크에서 확인할 수 있습니다.

Zabbix 공식 다운로드 페이지

5. Zabbix 서버 설치: Zabbix 서버, 웹 인터페이스, 에이전트 설치

Zabbix 저장소가 설정되면 다음 명령어를 사용하여 Zabbix 서버, 웹 인터페이스, 그리고 Zabbix 에이전트를 설치합니다.


dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-apache-conf
  • zabbix-server-mysql: MariaDB를 데이터베이스 백엔드로 사용하는 Zabbix 서버 패키지입니다.
  • zabbix-web-mysql: Apache 웹 서버와 PHP를 사용하는 Zabbix 웹 인터페이스 패키지입니다.
  • zabbix-agent: 로컬 시스템의 메트릭을 Zabbix 서버로 보고하는 에이전트 패키지입니다.
  • zabbix-apache-conf: Apache 웹 서버를 위한 Zabbix 웹 인터페이스 설정 파일입니다.

패키지 설치가 완료되면 Zabbix 서버, Zabbix 에이전트, 그리고 PHP-FPM 서비스를 활성화하고 부팅 시 자동으로 시작되도록 설정합니다.


systemctl enable zabbix-server zabbix-agent php-fpm --now

6. Zabbix 서버 구성: 데이터베이스 연결 및 PHP 설정

Zabbix 서버가 데이터베이스에 접속할 수 있도록 설정을 변경해야 합니다. Zabbix 서버 설정 파일 /etc/zabbix/zabbix_server.conf를 편집합니다.


sudo vi /etc/zabbix/zabbix_server.conf

파일 내에서 다음 파라미터들을 찾아서 MariaDB 설정에 맞게 수정합니다.


DBHost=localhost
DBName=zabbix_db
DBUser=zabbix_user
DBPassword=원하는_zabbix_비밀번호

DBPassword에는 MariaDB에서 zabbix_user를 생성할 때 설정한 비밀번호를 입력합니다.

다음으로 PHP 설정을 변경하여 Zabbix 웹 인터페이스의 시간대를 설정합니다. PHP-FPM 설정 파일 /etc/php-fpm.d/zabbix.conf를 편집합니다.


sudo vi /etc/php-fpm.d/zabbix.conf

파일 내에서 ;php_value[date.timezone] = 주석을 제거하고 시간대를 Asia/Seoul로 설정합니다.


php_value[date.timezone] = Asia/Seoul

설정 변경 후 Zabbix 서버, Zabbix 에이전트, PHP-FPM, 그리고 Apache 서비스를 재시작하여 변경 사항을 적용합니다.


systemctl restart zabbix-server zabbix-agent php-fpm httpd

7. 방화벽 규칙 구성: Zabbix 통신 포트 개방

Zabbix 서버와 에이전트 간의 통신 및 웹 인터페이스 접근을 위해 방화벽 규칙을 설정해야 합니다. Zabbix 서버는 기본적으로 10051 포트를, Zabbix 에이전트는 10050 포트를 사용하며, 웹 인터페이스는 80 (HTTP) 포트를 사용합니다.


sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --permanent --add-port=10051/tcp
sudo firewall-cmd --permanent --add-port=80/tcp

위 명령어들은 방화벽에 필요한 포트들을 영구적으로 추가합니다. 변경 사항을 적용하려면 방화벽을 재로드해야 합니다.


sudo firewall-cmd --reload

방화벽 규칙이 제대로 추가되었는지 확인하려면 다음 명령어를 실행하십시오.


sudo firewall-cmd --list --permanent

출력 결과에 ports: 80/tcp 10050/tcp 10051/tcp 등이 포함되어 있으면 방화벽 설정이 완료된 것입니다.


8. 웹 브라우저를 통한 Zabbix 설치: 웹 인터페이스 설정

웹 브라우저를 열고 http://<Zabbix 서버 IP>/zabbix 주소로 접속합니다. <Zabbix 서버 IP>는 Zabbix 서버가 설치된 시스템의 실제 IP 주소로 변경해야 합니다.

Zabbix 설치 마법사가 시작되면 화면의 지시에 따라 설정을 진행합니다. 다음은 주요 설정 단계 및 입력해야 할 정보입니다.

  • Welcome: Next step
  • Check of pre-requisites: 모든 요구 사항이 충족되었는지 확인하고 Next step
  • Configure DB connection:
    • Database type: MySQL
    • MySQL host: localhost
    • MySQL port: 0 (기본값)
    • Database name: zabbix_db
    • User: zabbix_user
    • Password: MariaDB에서 설정한 zabbix_user 비밀번호
    입력 후 Test connection 버튼을 클릭하여 데이터베이스 연결을 확인하고 Next step
  • Zabbix server details:
    • Host: localhost (또는 Zabbix 서버 IP)
    • Port: 10051 (기본값)
    • Name: 원하는 Zabbix 서버 이름
    입력 후 Next step
  • Pre-installation summary: 설정 요약을 확인하고 Next step
  • Install: Install 버튼을 클릭하여 Zabbix 설치를 진행
  • Congratulations: 설치 완료 메시지를 확인하고 Finish

설치가 완료되면 웹 인터페이스에 로그인할 수 있습니다. 기본 계정 정보는 다음과 같습니다.

  • Username: Admin
  • Password: zabbix

로그인 후에는 보안을 위해 기본 비밀번호를 변경하는 것을 권장합니다.

마무리

이 가이드에서는 RHEL 환경에 Zabbix 서버를 설치하고 구성하는 전반적인 과정을 상세하게 다루었습니다. 환경 설정부터 LAMP 스택 설치, 데이터베이스 설정, Zabbix 서버 및 웹 인터페이스 설치, 그리고 웹 브라우저를 통한 최종 설정까지 모든 단계를 엔지니어 여러분들이 쉽게 따라 할 수 있도록 설명했습니다. Zabbix를 성공적으로 설치하고 시스템 모니터링 환경을 구축하는 데 이 가이드가 도움이 되기를 바랍니다.

728x90
반응형

'깐돌의 클라우드 도구함' 카테고리의 다른 글

[모니터링] grafana 설치, Zabbix 플러그인 설정 가이드 (CentOS/RHEL 기반)  (0) 2025.05.16
[모니터링] RHEL Zabbix 클라이언트 (에이전트) 설치 및 구성 가이드  (0) 2025.05.16
[Linux] RHEL XFS LVM 디스크 증설 완벽 가이드  (0) 2025.05.16
[Linux] RHEL Disk 추가 및 마운트 설정 방법  (1) 2025.05.16
[가상화] Neutron - Allowed Address Pair 기능을 활용한 VIP 설정 가이드  (0) 2025.05.16
'깐돌의 클라우드 도구함' 카테고리의 다른 글
  • [모니터링] grafana 설치, Zabbix 플러그인 설정 가이드 (CentOS/RHEL 기반)
  • [모니터링] RHEL Zabbix 클라이언트 (에이전트) 설치 및 구성 가이드
  • [Linux] RHEL XFS LVM 디스크 증설 완벽 가이드
  • [Linux] RHEL Disk 추가 및 마운트 설정 방법
깐돌씨
깐돌씨
하루하루를 기록하는 공간. 일상에서 얻은 영감, 좋아하는 취미, 그리고 클라우드 업무 팁까지 함께 나눕니다.
  • 깐돌씨
    조용한 깐돌이네
    깐돌씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (120) N
      • 깐돌일기 (46)
      • 취미탐험대 (19) N
      • 깐돌의 클라우드 도구함 (55)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Docker
    공모주청약
    서버 관리
    리눅스
    kickstart
    리눅스 서버
    KVM
    에스엔시스
    rhocp
    RHEL8
    rhel
    신규상장주
    리눅스 가상화
    공모주분석
    private registry
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
깐돌씨
[모니터링] Zabbix 서버 설치 및 구성 가이드
상단으로

티스토리툴바