모니터링(Zabbix,Grafana)

Zabbix 설치 (Ubuntu 20.04.5LTS)

기억보다는 기록을... 2022. 12. 29. 18:41

Zabbix 구축 전 연습으로 서버 1대에 정상 설치가 되는지 테스트를 진행.  

(설치하는 패키지가 왜 필요한지에 대한 상세 정보는 모름)

 

Zabbix 는 무엇인가?

Zabbix란 엔터프라이즈급 오픈 소스 분산 모니터링 시스템이다.

네트워크, 서버, 클라우드, 애플리케이션 등의 대부분의 IT 인프라를 모니터링할 수 있으며, 실시간으로 문제를 감지하여 알림을 발송해준다. Zabbix에서 제공하는 대시보드가 있어, 수집된 모니터링 데이터들을 시각적인 차트로 확인 가능하다.

오픈 소스... 무료다.!!!!

하지만, 구축 및 유지보수는 직접 해야 되서, 시간이 지남에 따라 머리가 아파질 수 있다.

최종적으로는 부하 분산을 위해 모든 구성요소를 개별 서버에 설치할 예정임.

 

 

Zabbix 구성 요소

  • 서버: Agents 정보를 수집하는 중앙 저장소
             Web 서버와 Backend 간의 미들웨어로 Alerting, HouseKeeper, Poller, Trapper등 수집, 관리 저장 수행
  • 데이터베이스 저장소: Zabbix Agent와 Zabbix 서버를 통해 수집된 정보를 저장하는 저장소
  • Web Interface: Zabbix 접근을 위한 웹페이지를 제공 (일반적으로 서버와 같은 장비에 설치함)
  • 프락시: Zabbix 서버를 대신해 데이터를 수집한다. Zabbix 부하 분산 용도,  별도의 Proxy DB 필요
  • 에이전트: 모니터링이 필요한 타켓에 설치해서 정보를 수집 후 Zabbix 서버로 전달 (사용하지 않고 수집도 가능함)

 

Zabbix 설치 정보 (공식사이트)

https://www.zabbix.com/download?zabbix=6.0&os_distribution=ubuntu&os_version=20.04&components=server_frontend_agent&db=mysql&ws=apache 

 

Download and install Zabbix

 

www.zabbix.com

 

 

구성 정보

  • OS: Ubuntu 20.04.5 LTS
  • Zabbix: Zabbix Version 6.0 LTS  (2027년까지 지원 됨 - 설치 시점 최신 버전은 6.2)

 

모든 설치는 root 계정으로 진행했으며, 일반 계정 사용 시 sudo 를 통해 진행이 가능함

 

 

Zabbix 설치

# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
# dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
# apt update
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

 

 

MySQL 설치

# apt install mysql-server

# systemctl start mysql

# systemctl enable mysql

# systemctl status mysql

 

MySQL 설정

# mysql -uroot -p

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;

 

 

DB 스키마 셋팅

작업 전 server.sql.gz 파일 위치를 확인 후 진행 (설치 되는 버전마다 위치가 다른 것 같음)

명령어 입력 후 zabbix 패스워드 치고 나서 완료까지 꽤 오랜 시간이 소요 됨

 

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

 

설정하고나면 이런저런 테이블들이 많이 생성 됨.

 

참고로..

server.sql.gz 파일 안에는 요런 내용들이 들어 있음.

 

DB 스키마를 가져온 후 log_bin_trust_function_creators 값을 비활성화 한다.

 

# mysql -uroot -p

 

mysql> set global log_bin_trust_function_creators=0;
mysql> quit;

 

 

Zabbix config 설정

zabbix_server.conf 파일에 DB 접속 패스워드 설정

 

# vi /etc/zabbix/zabbix_server.conf

------------------------------

DBPassword=<Mysql 에 설정한 패스워드>

------------------------------

 

# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2

 

 

Zabbix 한글 설정

기본 설치 후 웹페이지 접속 시 한글이 비활성화 되어 있음

아래 설정으로 한글 선택이 가능함.

# locale-gen ko_KR.UTF-8
# vi /etc/default/locale     에 추가
------------------------------

LANG=ko_KR.UTF-8
LANGUAGE="ko_KR:ko:en_US:en"

------------------------------

 

 

Zabbix 웹페이지 접속

접속 주소 - http://server_ip_or_name/zabbix

 

접속 후 한글 선택 후

DB 접속 패스워드 입력

Zabbix 서버 이름 설정

 

초기 id/비번: Admin/zabbix    (대소문자 구분)

 

뭔가 그럴싸한 페이지가 나옴