CentOS 7 Zabbix Proxy

CentOS 7 安装配置Zabbix Proxy

最近想重新搭建一台zabbix代理,发现zabbix官方的源已经没有办法访问了,试了一下,把zabbix源换成阿里云的,结果安装的时候部分依赖的还是有问题。想想还是直接下载源码包安装省事。之前搭建的zabbix是3.4.15版本的,就下载了3.4.15的源码。安装如下操作,备忘。

安装数据库

安装mariadb

可以参考链接centos 安装 mariadb

1
yum install mariadb mariadb-server
  • 启用服务
1
2
3
systemctl start mariadb
systemctl status mariadb
systemctl enable mariadb //开机自启动

安装zabbix守护进程

  1. 下载源代码归档

下载地址zabbix proxy download page,下载,解压源码。

1
tar -zxvf zabbix-3.4.15.tar.gz
  1. 创建用户

对于zabbix的守护进程,需要一个无特权的用户。如果zabbix守护进程以一个无特权的用户启动,那么它会使用该用户运行。
然而,如果守护进程以root用户启动,它会切换为zabbix用户账户,且这个用户必须存在。创建如下:

1
2
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
  1. 创建数据库
1
2
3
4
5
mysql -u root -p
Enter password:
mysql > create database zabbix_proxy character set utf8 collate utf8_bin;
mysql > grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'password';
mysql > quit;
  1. 导入数据库
1
2
3
4
5
mysql -u zabbix -p
Enter password:
mysql > use zabbix_proxy;
mysql > source zabbix源码数据库文件路径/schema.sql
mysql > quit;

zabbix proxy只需要导入schema.sql就可以了。

  1. 安装依赖程序
1
yum install -y curl wget gcc gcc-c++ vim curl-devel net-snmp-devel ncurses-devel libxml2-devel libssh2 libssh2-devel
  1. 编译安装
1
2
./configure --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local/zabbix
make install
  1. 配置zabbix proxy配置文件
1
2
3
4
5
6
7
8
9
10
grep -Ev '^$|^[#,;]' /usr/local/zabbix/etc/zabbix_proxy.conf
Server=A.B.C.D #zabbix server ip
Hostname=zabbix_proxy
LogFile=/tmp/zabbix_proxy.log
PidFile=/tmp/zabbix_proxy.pid
DBName=zabbix_proxy
DBPassword=your_password
SNMPTrapperFile=/tmp/zabbix_traps.tmp
Timeout=4
LogSlowQueries=3000
  1. 防火墙配置
1
2
3
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --complete-reload
  1. 启动服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
cd /usr/lib/systemd/system
vi zabbix-proxy.service

[Unit]
Description=Zabbix Proxy
After=rsyslog.target
After=network.target

[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_proxy.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_proxy.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

systemctl enable zabbix-proxy
systemctl start zabbix-proxy

最后就简单了。zabbix server上面添加代理程序就可以了。好了,结束。


CentOS 7 Zabbix Proxy
https://ywmy.xyz/2019/04/04/CentOS-7-zabbix-proxy/
作者
ian
发布于
2019年4月4日
许可协议