Souce Install Zabbix 5.0 Proxy with MariaDB on CentOS 7
CentOS 7 에서 MariaDB 를 이용하는 Zabbix Proxy 컴파일 설치하는 방법에 대한 예제
OpenSSL 1.1.1g 버전을 이용하고 있기 때문에 사전에 OpenSSL 1.1.1g 버전을 설치해 주셔야 합니다.
OpenSSL 1.1.1g 설치 참고 URL : https://umount.net/souce-install-nginx-with-openssl-1-1-1-on-centos-7/
Zabbix Proxy 의 설치는 기본적으로 이전 버전들과 크게 다른점은 없습니다. Zabbix 5.0 LTS 설치 가이드 포스팅에서 얘기한 것 처럼 Zabbix Proxy 는 TimeScaleDB 를 지원하지 않습니다. 때문에 이번 포스팅에서는 MariaDB 를 이용하여 Zabbix Proxy 설치를 진행해 보도록 하겠습니다. (PostgreSQL 을 이용하더라도 크게 다른점은 없습니다.) 또한 Zabbix Server 에 TimeScaleDB 를 사용중인데 Proxy 에서는 MariaDB 를 이용하면 데이터 통신에 문제가 없는지 의문을 가질 분이 계실 수 있습니다만, 실제 통신은 DB to DB 가 아니라 Zabbix Server to Zabbix Proxy 이기 때문에 아무 문제 없습니다.
설치에 앞서, 당연하겠지만 MariaDB 설치가 되어 있어야 합니다.
MariaDB 설치 참고 URL : https://umount.net/souce-install-mariadb-10-3-with-openssl-1-1-1g-on-centos-7/
1. ZABBIX PROXY 설치
의존성 패키지 설치
[root@172-16-11-100 /]# yum install -y libevent-devel libcurl-devel libxml2-devel pcre-devel zlib-devel
Zabbix 5.0 LTS 다운로드 및 설치
[root@172-16-11-100 /]# cd /usr/local/src [root@172-16-11-100 src]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.0.tar.gz [root@172-16-11-100 src]# tar xvzf zabbix-5.0.0.tar.gz [root@172-16-11-100 src]# cd zabbix-5.0.0 [root@172-16-11-100 zabbix-5.0.0]# ./configure --enable-proxy --with-openssl=/usr/local/openssl-1.1.1g --with-mysql=/data/apps/ln/mariadb/bin/mysql_config [root@172-16-11-100 zabbix-5.0.0]# make [root@172-16-11-100 zabbix-5.0.0]# make install
OpenSSL 1.1.1g 버전으로 정상적으로 설치되었는지 확인
[root@172-16-11-100 zabbix-5.0.0]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/apps/ln/mariadb/lib/:/usr/local/openssl-1.1.1g/lib/ [root@172-16-11-100 zabbix-5.0.0]# /usr/local/sbin/zabbix_proxy -V zabbix_proxy (Zabbix) 5.0.0 Revision 9665d62db0 11 May 2020, compilation time: May 19 2020 15:57:11 Copyright (C) 2020 Zabbix SIA License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it according to the license. There is NO WARRANTY, to the extent permitted by law. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/). Compiled with OpenSSL 1.1.1g 21 Apr 2020 Running with OpenSSL 1.1.1g 21 Apr 2020
Zabbix 설정파일 심볼릭 링크
[root@172-16-11-100 zabbix-5.0.0]# mkdir -p /etc/zabbix [root@172-16-11-100 zabbix-5.0.0]# cd /etc/zabbix [root@172-16-11-100 zabbix]# ln -s /usr/local/etc/zabbix_proxy.conf ./ [root@172-16-11-100 zabbix]# ln -s /usr/local/etc/zabbix_proxy.conf.d ./
Zabbix database 생성
[root@172-16-11-100 zabbix]# /data/apps/ln/mariadb/bin/mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'YourDBPassword'; MariaDB [(none)]> exit;
Zabbix database 스키마 추가
[root@172-16-11-100 zabbix]# /data/apps/ln/mariadb/bin/mysql -uzabbix -p zabbix < /usr/local/src/zabbix-5.0.0/database/mysql/schema.sql
Zabbix 로그 디렉토리 생성
[root@172-16-11-100 zabbix]# mkdir -p /var/log/zabbix
Zabbix Proxy configuration
: vi /etc/zabbix/zabbix_proxy.conf
ProxyMode=1 Server=172.16.11.99 #Hostname=Zabbix server // 액티브모드를 사용하지 않을 경우 주석처리 해도 됩니다. LogFile=/var/log/zabbix/zabbix_proxy.log DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=YourDBPassword DBSocket=/data/apps/ln/mariadb/mysql.sock Include=/usr/local/etc/zabbix_proxy.conf.d/*.conf
Zabbix proxy systemd 파일 생성
: vi /usr/lib/systemd/system/zabbix_proxy.service
[Unit] Description=Zabbix proxy [Service] Type=forking Environment=LD_LIBRARY_PATH=/data/apps/ln/mariadb/lib/:/usr/local/openssl-1.1.1g/lib/ ExecStart=/usr/local/sbin/zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf ExecReload=/usr/local/sbin/zabbix_proxy -R config_cache_reload Restart=on-failure PIDFile=/tmp/zabbix_proxy.pid RestartSec=10s TimeoutStartSec=0 [Install] WantedBy=multi-user.target
systemd 등록 및 실행
[root@172-16-11-100 zabbix]# systemctl enable zabbix_proxy [root@172-16-11-100 zabbix]# systemctl start zabbix_proxy
로그 확인
[root@172-16-11-100 zabbix]# cat /var/log/zabbix/zabbix_proxy.log
2. ZABBIX PROXY 프론트엔드 설정
좌측메뉴 -> Administration -> Proxies -> Create proxy 순으로 선택 후 아래 이미지와 같은 형식으로 프록시의 정보를 작성해 줍니다. Agent 와 마찬가지로 Proxy 설정에서도 암호화 설정이 가능합니다. 필요하신 분은 해당 정보도 추가해 줍니다. Active 모드의 프록시를 사용하실 때에는 Connections from proxy 가 활성화 되고, Passive 모드의 프록시를 사용하실 때에는 Connections to proxy 가 활성화 됩니다.
등록이 완료되면 아래와 같은식으로 리스트에 표시가 됩니다.
Proxy 에 등록할 호스트의 설정 화면으로 이동 후 Monitored by proxy 에서 위에 생성한 Proxy 를 선택하고 Update 합니다.
다시 Proxies 메뉴로 돌아와서 리스트 화면을 보면 Host count, Item count 등이 추가 된 것을 확인 할 수 있습니다.
일정 시간이 지나면 호스트 리스트에서도 ZBX 에 녹색불이 켜지고, 데이터도 정상적으로 들어오게 됩니다.
안녕하세요! 유용한 글 재미있게 읽었습니다.
궁금한 점이 있는데요, zabbix_proxy서버에 구성된 DB는 메인 zabbix DB로 가기전에 잠시 거쳐가는 장소인가요?ㅎㅎ