zabbix4.2Proxy安装文档
目录
3、安装zabbix组件(zabbix-proxy、zabbix-agent) 4
4.3安装完成后启动服务,并将mysql服务设置为开机启动。 8
一、安装
1、前期安装准备
前期准备一个大一点的分区准备用于zabbix 数据库的存放,为方便后期扩容,我们在这里选择新加一个磁盘并以LVM的方式进行挂载(此处省略虚拟机添加硬盘等操作)
# df -h,看到新盘已经挂载到VAR/LIB/MYSQL目录了
替换yum源
刚安装好的Centos自带的yum源是无法使用的,要替换成国内的YUM源
# mv /etc/yum.repos.d/ /etc/yum.repos.d.bak \备份自带的yum源
# mkdir /etc/yum.repos.d \创建新的yum源存放目录
# cd /etc/yum.repos.d \切换到新的yum源存放目 录下
# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo\下载Centos7的Yum源
# ls \查看是否下载成功
当前Server端IP192.168.6.66,Porxy端IP为192.168.6.67,Server端需要开放10051端口,未开放iptables使用命令
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
2、安装zabbix RPM源
2.1下载zabbix RPM源包
# wget https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
# ls
2.2安装zabbix RPM源包
# rpm -i zabbix-release-4.2-2.el7.noarch.rpm
安装时会出现告警,原因是因为GPG Keys版本不对,解决方法如下
(参考文档 :https://www.cnblogs.com/tijun/p/8651709.html)
# rpm --import /etc/pki/rpm-gpg/RPM* \导入新密钥
# rpm -e zabbix-release \卸载刚才装的zabbix RPM源
# rpm -qa|grep zabbix \查询是否已经卸载
# rpm -i zabbix-release-4.2-2.el7.noarch.rpm \再安装上就没有警告了,并且安装成功
3、安装zabbix组件(zabbix-proxy、zabbix-agent)
# yum install zabbix-proxy-mysql.x86_64 zabbix-agent.x86_64
因显示数目过多,中间省略一部分
4、安装mysql数据库,导入zabbix数据库
4.1安装mysql数据库
我们的系统中没有安装MYSQL,需要先安装一个MYSQL(ZABBIX官方默认已安装)
4.1.1下载mysql repo源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
4.1.2安装mysql repo源
# rpm -i mysql-community-release-el7-5.noarch.rpm
4.2安装mysql-server
# yum install mysql-server
4.3安装完成后启动服务,并将mysql服务设置为开机启动。
# systemctl start mysqld
# systemctl enable mysqld
# systemctl status mysqld
4.4初始化mysql
# mysql_secure_installation
4.5创建zabbix数据库,并授权
#mysql -u root -p \使用root用户登录mysql数据库
Enter password: P@ssw0rd \输入密码
Mysql >create database zabbix_proxy character set utf8 collate utf8_bin;
Mysql > grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
(赋予来自localhost的zabbix用户对zabbix_proxy数据库的所有表拥有所有操作的所有权限,并设定密码为zabbix。如grant all privileges on A.* to B@C identified by 'D';的意思即为赋予来自C主机的B用户对A数据库的所有表=*拥有所有操作的所有权限=all,并设定密码为D)
# quit
4.6导入zabbix数据库
将zabbix制作好的数据库导入mysql数据库中
# zcat /usr/share/doc/zabbix-proxy-mysql-4.2.6/schema.sql.gz |mysql -u zabbix -p zabbix_proxy
# mysql -u zabbix -p
Enter password: zabbix 输入zabbix密码
mysql>use zabbix; \切换到zabbix数据库
mysql>show tables;
此时数据库已经配置完成了
5、配置zabbix
5.1配置zabbix配置文件
# vim /etc/zabbix/zabbix_proxy.conf
修改以下内容
Server=192.168.6.66 #服务端
Hostname=Zabbix_proxy #proxy的hostname,在web端网页配置时需要用到
DBName=zabbix_proxy #数据库名称,创建zabbix-proxy的mysql的数据库名称
DBPassword=zabbix #与数据库对应的密码
保存退出
5.2启动服务
# systemctl start zabbix-proxy.service
5.3排错
首先我们查看当前selinux级别
# getenforce \查看当前selinux级别
我们将selinux临时修改为permissive,方便拍错
# setenforce 0 \修改目前selinux级别为permissive
# getenforce \查看当前selinux级别
# systemctl restart zabbix-proxy.service \再次启动zabbix-server服务,查看是否是 selinix的影响
这里可以得知是selinix影响了zabbix-proxy服务的启动
参考文档 https://blog.csdn.net/lpc1162303536/article/details/98315658
那么我们查看selinux的日志
# tail -n 1 /var/log/messages \查看系统日志的最后一行,如果没找到就多看几行修改n后的数字
按照selinux提供的建议我们执行以下2个命令
# ausearch -c 'zabbix_proxy' --raw | audit2allow -M my-zabbixproxy
# semodule -i my-zabbixproxy.pp
我们再重启zabbix-server
# systemctl restart zabbix-proxy.service
将Selinux改成enforcing模式
启动服务
# systemctl restart zabbix-proxy
# systemctl start zabbix-agent
# systemctl enable zabbix-proxy.service zabbix-agent.service
二、web端配置zabbix代理
1、web配置zabbix代理
登录zabbix
在浏览器输入host IP/zabbix
2、排错
这时配置已经完全完成但还是连不上
先考虑是否是selinux的问题
现将selinux设置为pervissive
# setenforce 0
# getenforce
重启服务
# systemctl restart zabbix-proxy.service
再次刷新网页
Server与Porxy通信已经正常。
我们看看selinux的日志记录
tail -n 5 /var/log/messages
按照selinux提供的建议我们执行以下2个命令
# ausearch -c 'zabbix_proxy' --raw | audit2allow -M my-zabbixproxy
# semodule -i my-zabbixproxy.pp
重启服务
# systemctl restart zabbix-proxy.service zabbix-agent.service
将selinux还原
# setenforce 1
# getenforce
再次重启服务
# systemctl restart zabbix-proxy.service zabbix-agent.service
重新登录web