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 다운로드

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 가 활성화 됩니다.

zabbix_proxy_01

 

등록이 완료되면 아래와 같은식으로 리스트에 표시가 됩니다.

zabbix_proxy_02

 

Proxy 에 등록할 호스트의 설정 화면으로 이동 후 Monitored by proxy 에서 위에 생성한 Proxy 를 선택하고 Update 합니다.

zabbix_proxy_03

 

다시 Proxies 메뉴로 돌아와서 리스트 화면을 보면 Host count, Item count 등이 추가 된 것을 확인 할 수 있습니다.

zabbix_proxy_04

 

일정 시간이 지나면 호스트 리스트에서도 ZBX 에 녹색불이 켜지고, 데이터도 정상적으로 들어오게 됩니다.

 

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

1 Comment
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
이상규
이상규
2021-07-01 00:07

안녕하세요! 유용한 글 재미있게 읽었습니다.
궁금한 점이 있는데요, zabbix_proxy서버에 구성된 DB는 메인 zabbix DB로 가기전에 잠시 거쳐가는 장소인가요?ㅎㅎ

1
0
Would love your thoughts, please comment.x
()
x