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가 성공적으로 비활성화된 것입니다.
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
명령어는 서비스를 즉시 시작하고 시스템 부팅 시에도 자동으로 시작되도록 설정합니다.
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 버전에 대한 저장소 정보는 아래 링크에서 확인할 수 있습니다.
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 비밀번호
- Zabbix server details:
- Host: localhost (또는 Zabbix 서버 IP)
- Port: 10051 (기본값)
- Name: 원하는 Zabbix 서버 이름
- Pre-installation summary: 설정 요약을 확인하고 Next step
- Install: Install 버튼을 클릭하여 Zabbix 설치를 진행
- Congratulations: 설치 완료 메시지를 확인하고 Finish
설치가 완료되면 웹 인터페이스에 로그인할 수 있습니다. 기본 계정 정보는 다음과 같습니다.
- Username: Admin
- Password: zabbix
로그인 후에는 보안을 위해 기본 비밀번호를 변경하는 것을 권장합니다.
마무리
이 가이드에서는 RHEL 환경에 Zabbix 서버를 설치하고 구성하는 전반적인 과정을 상세하게 다루었습니다. 환경 설정부터 LAMP 스택 설치, 데이터베이스 설정, Zabbix 서버 및 웹 인터페이스 설치, 그리고 웹 브라우저를 통한 최종 설정까지 모든 단계를 엔지니어 여러분들이 쉽게 따라 할 수 있도록 설명했습니다. Zabbix를 성공적으로 설치하고 시스템 모니터링 환경을 구축하는 데 이 가이드가 도움이 되기를 바랍니다.
'깐돌의 클라우드 도구함' 카테고리의 다른 글
[모니터링] 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 |