웹페이지 접속 까지만 정리
호스트 등록은 내년에 진행..
구성 정보
- OS: Ubuntu 20.04.5 LTS
- Zabbix: Zabbix Version 6.0 LTS
- 서버 구성
- 서버 A - Zabbix Server
- 서버 B - Front
- 서버 C - DB
모든 설치는 root 계정으로 진행했으며, 일반 계정 사용 시 sudo 를 통해 진행이 가능함
(서버 A) Zabbix Server 설치
# 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-agent
(서버 B) Front Server 설치
# 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-frontend-php zabbix-apache-conf
(서버 C) MySQL 설치
# 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-sql-scripts
# apt install mysql-server
# systemctl start mysql
# systemctl enable mysql
# systemctl status mysql
(서버 C) MySQL 설정
# mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by '사용할 패스워드';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators=1;
mysql> quit;
(서버 C) DB 스키마 셋팅
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
DB 스키마를 가져온 후 log_bin_trust_function_creators 값을 비활성화 한다.
# mysql -uroot -p
mysql> set global log_bin_trust_function_creators=0;
mysql> quit;
(서버 C) DB 외부 접속 허용
mysql 설치 시 기본적으로 localhsot만 접속하도록 설정.
# vi /etc/mysql/mysql.conf.d/mysqld.cnf
------------------------------
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
------------------------------
DB 에서 외부 접속이 가능한 zabbix 계정 생성 후 권한 추가 할당
현재 권한 확인 (모두 localhost에 대해서만 허용되어 있음)
# mysql -uroot -p
mysql> create user 'zabbix'@'172.25.32.%' identified by 'zabbixpass';
mysql> grant all privileges on zabbix.* to 'zabbix'@'172.25.32.%';
mysql> flush privileges;
mysql> select Host,User,plugin,authentication_string FROM mysql.user;
외부 접속이 가능한 (172.25.32.0) zabbix 계정 생성 확인
# systemctl restart mysql
(서버 A) Zabbix Server config 설정
zabbix_server.conf 에서 DBHost, DBPassword 수정
# vi /etc/zabbix/zabbix_server.conf
------------------------------
DBHost=<서버C>
DBPassword=<Mysql 에 설정한 패스워드>
------------------------------
# systemctl restart zabbix-server zabbix-agent
# systemctl enable zabbix-server zabbix-agent
(서버 B) Front config 설정
zabbix.conf.php 수정
zabbix.conf.php 파일은 /usr/share/zabbix/conf/zabbix.conf.php.example 파일을 /etc/zabbix/web/zabbix.conf.php 으로 복사하여 사용
# vi /etc/zabbix/web/zabbix.conf.php
------------------------------
$DB['SERVER'] = '서버C';
$DB['PORT'] = '3306';
$DB['PASSWORD'] = 'Mysql 에 설정한 패스워드';
$ZBX_SERVER_NAME = '서버A';
------------------------------
# systemctl restart apache2
# systemctl enable apache2
Zabbix 웹페이지 접속
접속 주소 - http://server_ip_or_name/zabbix
서버 구성 시 설정값이 모두 입력되어서 그런지 로그인 창으로 바로 접속 됨
초기 id/비번: Admin/zabbix (대소문자 구분)
정상 접속 되었지만, system infomation 에 경고창이 거슬림
(서버 A) Zabbix Server 에서 zabbix_server.conf 파일안에 NodeAddress=localhost:10051 부분을 수정하면 됨.
주석 제거 후 localhost 부분을 Zabbix Server 로 수정
# vi /etc/zabbix/zabbix_server.conf
------------------------------
NodeAddress=<서버 A):10051
------------------------------