分布式监控zabbix proxy
zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。
安装zabbix proxy
创建数据库
create database zabbix_proxy_active character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy_active.* to zabbix@'%' identified by '123456';
编译安装zabbix proxy
- 安装依赖包:
apt-get install apache2 apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core fping libapache2-mod-php libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3 libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2-0 libodbc1 libopenipmi0 libsensors4 libsnmp-base libsnmp30 libsodium23 libssh2-1 libtiff5 libwebp6 libxpm4 php-bcmath php-common php-gd php-ldap php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli php7.2-common php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml snmpd ssl-cert ttf-dejavu-core libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevent-dev openjdk-8-jdk curl libcurl4-openssl-dev php-gettext php-xml php-net-socket php-gd
- 下载zabbix源码包
下载地址:https://www.zabbix.com/download_sources
tar -zxvf zabbix-4.0.12.tar.gz
cd zabbix-4.0.12
解压文档名看你下载的版本
- 创建用户账户
useradd zabbix
- 编译安装
./configure --prefix=/usr/local/zabbix \
--enable-proxy \
--enable-agent \
--with-mysql \
--with-net-snmp \
--enable-ipv6 \
--with-libcurl \
--with-libxml2
make && make install
- zabbix proxy启动脚本
vim /lib/systemd/system/zabbix-proxy.service
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_proxy.conf"
EnvironmentFile=-/etc/default/zabbix-proxy
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_proxy.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
如果你的安装位置跟我不一样,你要修改Environment、ExecStart的路径
- 修改配置
vim /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.99.21
ProxyMode=0
ServerPort=10051
Hostname=proxy_passive
ListenPort=10051
LogFile=/tmp/zabbix_proxy.log
DBHost=192.168.99.21
DBName=zabbix_proxy_active
DBUser=zabbix
DBPassword=123456
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
HeartbeatFrequency=60
StartPollers=5
StartHTTPPollers=1
CacheSize=8M
StartDBSyncers=4
HistoryCacheSize=16M
HistoryIndexCacheSize=4M
Timeout=30
LogSlowQueries=3000
PidFile=/tmp/zabbix_proxy.pid
ProxyMode 0 为主动模式,1为被动模式
Hostname要跟后面添加代理时写的“agent代理程序名称”一致
如果是纯主动模式,要把Server这项注释了
- 初始化数据库
apt install mysql-client
cd zabbix-4.0.12/database/mysql/
mysql -uzabbix -p123456 -h192.168.99.21 zabbix_proxy_active2 < schema.sql
- 启动
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
apt安装zabbix proxy
- 配置源
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
dpkg -i zabbix-release_4.0-2+bionic_all.deb
apt update
- 安装 Zabbix proxy 并使用 MySQL 数据库:
apt install zabbix-proxy-mysql
- 初始化数据库
zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabbix -p123456 -h192.168.99.21 zabbix_proxy_active
-
如果没有初始化数据库,会出现这样的报错。
-
修改配置
vim /usr/local/zabbix/etc/zabbix_proxy.conf
ProxyMode=0
Server=192.168.99.21
Hostname=proxy_passive
LogFile=/tmp/zabbix_proxy.log
DBHost=192.168.99.21
DBName=zabbix_proxy_active
DBUser=zabbix
DBPassword=123456
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
HeartbeatFrequency=60
StartPollers=5
StartHTTPPollers=1
CacheSize=8M
StartDBSyncers=4
HistoryCacheSize=16M
HistoryIndexCacheSize=4M
Timeout=30
LogSlowQueries=3000
PidFile=/tmp/zabbix_proxy.pid
ProxyMode 0 为主动模式,1为被动模式
Hostname要跟后面添加代理时写的“agent代理程序名称”一致。不需要DNS能解析
创建agent代理程序
即添加zabbix proxy端
添加
更改agent代理程序
添加agent端
# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.99.21,192.168.99.23
StartAgents=3
ServerActive=192.168.99.23
Hostname=192.168.99.110
Include=/etc/zabbix/zabbix_agentd.d/*.conf
Server或ServerActive指向proxy
Server是被动模式相关的服务器
ServerActive是主动模式相关的服务器
修改完重启服务
systemctl restart zabbix-agent
注意:
被动模式的Proxy代理主动模式的agent
反之,主动模式的Proxy代理被动模式的agent
一般来说,agent的主动与被动都会打开