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

2 创建用户

对于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

3 创建数据库

1
2
3
4
5
mysql -u root -p
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;

4 导入数据库

1
2
3
4
5
mysql -u zabbix -p
password:
mysql > use zabbix_proxy;
mysql > source zabbix源码数据库文件路径/schema.sql
mysql > quit;

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

5 安装信赖程序

1
yum install -y curl wget gcc gcc-c++ vim curl-devel net-snmp-devel nc libxml2 ssh2 libssh2 libssh2-devel

6 编译安装

1
2
./configure --enable-proxy --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local/zabbix
make install

7 配置zabbix proxy配置文件

1
2
3
4
5
6
7
8
9
10
grep -Ev "^$ | ^[#,;]" 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
LogSlowQueris=3000

8 防火墙配置

1
2
3
firewall-cmd --permanent --add-port=10050/tcp
firelwall-cmd --permanent --add-port=10051/tcp
firewall-cmd --complete-reload

9 启动服务

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
27
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日
许可协议