주말에 압축했던 패키지를 서버로 옮겨서 설치를 시도했다.

# 패키지를 저장할 폴더
$ mkdir /opt/zabbix

# 압축 풀기
$ tar -zxvf zop.tar.gz -C /opt/zabbix

# createrepo_c 먼저 설치
$ sudo rpm -ivh /opt/zabbix/createrepo_c-*.rpm

 

libdrpm.so.0()이 없다면서 오류가 발생했다. 노트북을 챙겨오지 않아서 pkgs.org에서 drpm 패키지를 다운로드 했다.

# drpm 설치
$ sudo dnf install drpm-*.rpm

# createrepo_c 다시 설치
$ sudo dnf install createrepo_c-*.rpm

# 설치 성공 했으니 RPM 파일들이 있는 폴더를 리포지토리로 만들기
$ sudo createrepo_c /opt/zabbix


# 리포지토리 파일 작성
sudo nano /etc/yum.repos.d/zabbix-local.repo

# 파일 내용
[zabbix-local]
name=Zabbix Local Repository
baseurl=file:///opt/zabbix/
enabled=1
gpgcheck=0
# 파일 내용

# 나머지 파일 설치
$ sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent mariadb-server

 

실행하니까 Updating Subscription Management repositories. Unable to read consumer identity. This system is not registered with an entitlement server. You can use subscription-manager to register. AppStream Errors During downloading metadata for repository 'AppStream': .. 오류가 발생했는데 폐쇄망이라 그런가보다.

# disablerepo="*": 모든 리포지토리 비활성화
# enablerepo="zabbix-local": 방금 만든 리포지토리만 활성화
$ sudo dnf --disablerepo="*" --enablerepo="zabbix-local" install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent mariadb-server

 

이것도 실행하니까 Error: No available modular metadata for modular package 오류가 발생했다.

# /opt/zabbix 에서 모든 rpm 설치
$ sudo dnf --disablerepo="*" install *.rpm

 

몰랐는데 서버에 이미 MySQL이 설치되어있어서 오류가 났다. 관련 패키지 파일 삭제 후 설치에 성공했다. 근데 나는 MySQL이 설치되어있는지 몰랐기 때문에 계정과 패스워드도 모른다. 그래서 root 패스워드를 초기화 했다.

# 안전모드로 MySQL 시작
$ sudo systemctl stop mysqld
$ sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
$ sudo systemctl start mysqld

# 접속 성공
$ sudo mysql -uroot
> FLUSH PRIVILEGES;
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
> quit;
# 안전모드 제거
$ sudo systemctl stop mysqld
$ sudo systemctl unset-environment MYSQLD_OPTS
$ sudo systemctl start mysqld

# 변경한 비밀번호로 접속 성공
$ sudo mysql -uroot -p
# Zabbix 데이터베이스 생성(utf8mb4 형식 필수)
> create database zabbix character set utf8mb4 collate utf8mb4_bin;

# Zabbix 사용자 생성
> create user zabbix@localhost identified by 'zabbix';

# Zabbix 사용자에게 zabbix 데이터베이스의 모든 권한을 부여
> grant all privileges on zabbix.* to zabbix@localhost;

# Zabbix 6.0 이상은 SUPERUSER 권한 필요(스키마 가져오고 0으로 초기화)
> set global log_bin_trust_function_creators = 1;

# 변경사항을 적용 후 종료
> flush privileges;
> quit;
# Zabbix 초기 스키마 가져오기
$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

# Zabbix 설정 파일 수정(DBPassword)
$ sudo vim /etc/zabbix/zabbix_server.conf

# 파일 수정
# 주석 풀고 비밀번호 입력
DBPassword=zabbix
# 파일 수정

# 서비스 재시작 및 자동 실행 등록
$ sudo systemctl restart zabbix-server zabbix-agent httpd
$ sudo systemctl enable zabbix-server zabbix-agent httpd

 

Zabbix 설치하면서 Apache도 하나 더 설치가 되었는데, 기존에 설치가 된게 있어서 포트 충돌이 났다.

# Apache 포트 수정
$ sudo vim /etc/httpd/conf/httpd.conf

# 파일 수정
Listen 80 → 8080
# 파일 수정

# Apache 서비스 시작
$ sudo systemctl start httpd

 

이제 {서버 IP}:8080/zabbix으로 접근은 되지만 'Minimum required PHP version is 8.0.0' 메시지가 나왔다. 기존에 7 버전대 패키지가 다운로드 되었고, 그걸 설치해서 그런가보다. 또 pkgs에서 PHP 8.0.0 필요한 패키지 다운로드했다.

# 7 버전 삭제
$ sudo dnf remove 'php*'

# 8 버전 설치
$ sudo dnf --disablerepo="*" install php*.rpm

# PHP 재시작 및 자동 실행 등록
$ sudo systemctl restart php-fpm
$ sudo systemctl enable php-fpm

# Apache 서비스 재시작
$ sudo systemctl restart httpd

 

다시 {서버 IP}:8080/zabbix로 접근하면 Zabbix 설치 화면이 나오고, Check of pre-requisites의 모든 항목이 OK로 표시되는지 확인 후 다음으로 넘어가서 DB 정보 입력하고 완료되었다.

어찌저찌 마무리 하였지만.. 에이전트 설치 과정은 다음에

 

'DevOps > 모니터링' 카테고리의 다른 글

Zabbix 설치기 - 1  (2) 2025.08.23

WAS 서버들은 다른 모니터링 툴로 잘 보고 있는데, WEB 서버는 자연스럽게 모니터링을 하지 않고 있음을 문득 깨달아버렸다. 조만간 부하 테스트를 진행해야하는데 putty 여러개 띄워 놓는 것도 그만둘 때가 되었다고 생각했고, Grafana + Prometheus와 Zabbix 중에서 비교하다가 그래도 빠르게 시작할 수 있는 Zabbix로 선택했다.

 

빠르게 Zabbix Appliance(모든 구성 요소가 미리 설치된 가상 머신 이미지)로 시작하려했으나, Zabbix 서버로 사용하려 했던 서버도 이미 가상화 서버이고 중첩 가상화도 지원하지 않아서 포기했다. Docker Container도 제공하고 있어 이쪽으로 할까 했지만 Docker 설정도 안 되어 있어서 직접 설치하기로 했다. 하지만 외부 리포지토리에 접근이 불가한 폐쇄망 서버여서 외부에서 설치 패키지를 가져와 옮겨야한다.

 

https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.9/x86_64/product-software

 

The world's open source leader

Red Hat is the world’s leading provider of open source solutions, using a community-powered approach to provide reliable and high-performing cloud, virtualization, storage, Linux, and middleware technologies. Red Hat also offers award-winning support, tr

www.redhat.com

우선 동일한 환경에서 의존성을 맞추는게 중요하니 RHEL 8.9 이미지를 다운로드했다.

VirtualBox에 무인 설치라는게 생겨서 이미지만 넣으면 자동으로 설치해주더라...

 

VirtualBox 화면에서 하면 복사/붙여넣기가 자유롭지 않으니 파워쉘에서 ssh 연결해서 명령어 입력했다.

# RHEL 8.9용 Zabbix 7.0 LTS 버전 repo 설치
$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/8/x86_64/zabbix-release-7.0-1.el8.noarch.rpm
$ sudo dnf clean all

# Zabbix 관련 패키지 및 의존성을 모두 다운로드
$ sudo dnf install --downloadonly --downloaddir=/home/vboxuser/zop \
zabbix-server-mysql \
zabbix-web-mysql \
zabbix-apache-conf \
zabbix-sql-scripts \
zabbix-agent \
mariadb-server \
createrepo_c

# mariadb-server랑 createrepo_c가 No match for argument 가 나오면서 실패

$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
This system has no repositories available through subscriptions.

# repo 구독도 실패해서 구독 처리
$ sudo subscription-manager register
Registering to: subscription.rhshttp://m.redhat.com:443/subscription
Username: 
Password:
The system has been registered with ID:
The registered system name is: 

$ sudo subscription-manager attach --auto
Ignoring the request to auto-attach. Attaching subscriptions is disabled for organization "" because Simple Content Access (SCA) is enabled.

# 위의 다운로드 다시 실행하면 정상적으로 다운로드 완료

 

45개 정도의 패키지가 다운로드 되는데 압축해서 서버로 옮기면 된다. 월요일에 출근해서 처리해야한다. 참고로 뒤에 구독 같은거 안 하려면 Rocky Linux 8.9로 하면 된다고 한다.

'DevOps > 모니터링' 카테고리의 다른 글

Zabbix 설치기 - 2  (1) 2025.08.25

+ Recent posts