Ubuntu에 오픈소스 모니터링 툴 Zabbix 6 설치하기.
안녕하세요. 달소입니다.
오랜만에 가이드글로 찾아왔습니다!
다들 아시는 Zabbix 모니터링 툴 설치기로 찾아왔습니다.
제가 도커화를 되게 좋아하긴하지만,, Zabbix의 경우 Native설치가 가장편하더군요.. 그래서 그냥 Native로 다시 설치해서 사용하려고합니다 ㅎㅎ..
Zabbix란?
시스템이나 네트워크 인프라쪽을하시는분들이라면 아마 가장 잘 아실거라고 생각합니다 ㅎㅎ
오픈소스 프로젝트임에도 기업에서도 많이쓰고 장비의 가용성이나 모니터링에 아주 좋습니다.
Zabbix는 오픈 소스의 네트워크 모니터링 및 알림 솔루션입니다. 이를 통해 네트워크 및 서버에 대한 실시간 모니터링을 수행하고, 장애 발생 시 즉시 알림을 받을 수 있습니다. Zabbix는 강력한 기능, 사용 편의성, 확장성, 고품질 및 편리한 사용 경험을 제공합니다.
Zabbix는 다음과 같은 기능을 제공합니다:
1. 실시간 모니터링: Zabbix는 다양한 유형의 장치 및 네트워크에 대한 실시간 모니터링을 제공합니다. CPU, 메모리, 디스크 사용률, 대역폭, 네트워크 트래픽 등 다양한 파라미터를 모니터링할 수 있습니다.
2. 통합 이벤트 및 로그: Zabbix는 다른 인공 지능 분야의 일반적인 알림 서비스와 통합 가능합니다. 시스템 이벤트 및 로그 데이터 수집이 가능하며, 필요한 곳에 즉시 푸시 알림을 제공할 수 있습니다.
3. 다양한 알림 방법: Zabbix는 장애 발생 시 다양한 알림 방법을 제공합니다. 이메일, SMS 및 사용자 정의 스크립트 동작 등을 통해 효과적으로 팀에 알릴 수 있습니다.
4. 확장성: Zabbix는 스케일 아웃 및 성능 향상을 위한 여러 가지 확장 기능을 가지고 있습니다. 이를 통해 수많은 장치와 사용자를 동시에 모니터링할 수 있습니다.
5. 일정 및 보고서: Zabbix는 사용자 지정 가능한 일정 및 보고서를 통해 성능 통계, 리소스 사용, 이벤트 로그 등을 추적할 수 있습니다.
Zabbix는 구축 및 사용이 비교적 복잡할 수 있습니다. 그러나 강력한 모니터링 기능과 높은 성능을 제공하여 많은 기업에게 많은 관심을 받고 있습니다.
요런거 많이보셨죠? ㅎ
구축환경
Ubuntu 22.04 LTS
Zabbix 6.4 최신버전
mariaDB 11.2 // docker 사용 무방
사용포트
관리자 웹 - 80
에이전트 통신 - 10050,10051
mariadb - 3306
설치하기
클린한 OS기준으로 진행한다고 가정하겠습니다.
패키지 다운로드 및 설치하기
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
이제 Zabbix에 연결해줄 DB 셋팅을 해주겠습니다.
기본적으로 mysql을 기반으로 설치했습니다.
mysql db셋팅하기
앞서 구축한 mariadb(mysql)에 접속해서 아래와같은 명령어들을 날려줍니다. password 부분만 잘 수정해주세요.
# mysql -uroot -p
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;
Zabbix 서버 호스트에서 초기 스키마와 데이터를 가져옵니다. 새로 생성된 비밀번호를 입력하라는 메시지가 표시됩니다.
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
위 과정의 경우 시간이 약간 소요됩니다. (제 기준 5분)
데이터베이스 스키마를 가져온 후 log_bin_trust_function_creators 옵션을 비활성화합니다.
# mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
이제 Zabbix에서 mysql 서버 연결을 인식해줄 설정값을 수정합니다.
vi /etc/zabbix/zabbix_server.conf
문서를 열어서 DBPassword쪽 주석을 없애주신 뒤 설정한 password를 넣어주시면 됩니다.
++추가로 아래내용도 넣어주셔야합니다. (https://svrforum.com/svr/1235612 이슈)
마무리 설정
이제 마지막 자빅스 프론트엔드(nginx)쪽 설정입니다.
기본 포트로 8080을 사용하는데 이미 다른서비스에서 점유하고계실경우 여기서 수정해주시면 됩니다.
vi /etc/zabbix/nginx.conf
기본 주석을 해제하시고 listen 포트 수정 및 server_name의 경우 도메인을 사용하실 경우 입력해주시 되겠습니다.
# listen 8080;
# server_name example.com;
제 경우 8080을 쓰고있어서 8081로 해줬고 server_name도 그냥 _로 처리해줬습니다.
이제 설정을 마쳤으니 Zabbix 서버 및 에이전트 프로세스를 시작하고 시스템 부팅 시 시작되도록 합니다.
systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm
이제 웹을 열어서 http://ip:8081를 통해서 접속해주시면되겠습니다~
한글로 하려고했는데 벌써 귀찮게... 로케일, 언어 폰트설정은 다음단계에서 진행하겠습니다.
기본 계정은
Admin / zabbix 입니다.
후 로케일 설정을 빨리 해야겠군요.
로케일 설정하기
그리고 dpkg-reconfigure locales 를 진행해줍니다.
ko_KR은 300, en_US.UTF8은 85번인가 그렇습니다.
zabbixserver를 재시작한번 시켜주시면됩니다.
636:20240216:214506.773 Unsupported DB! MariaDB version 110203 is newer than maximum allowed 110199
636:20240216:214506.773
636:20240216:214506.773 Unable to start Zabbix server due to unsupported MariaDB database version (11.02.03).
636:20240216:214506.773 Must not be higher than (11.01.xx).
636:20240216:214506.773 Use of supported database version is highly recommended.
636:20240216:214506.773 Override by setting AllowUnsupportedDBVersions=1 in Zabbix server configuration file at your own risk.
2024년 2월 16일 9시 48분 현재,
우분투 22.04에서 알려주신대로 설치했더니 MariaDB의 버전이 zabbix가 요구하는 버전보다 최신이라서 zabbix 구독이 안되네요.
저도 재시작하니 동일한 에러가 났네요;;
vi /etc/zabbix/zabbix_server.conf에서 아래 내용을 추가해주시면됩니다
cmt alert