作用:
- 分担server的集中式压力
- 解决多机房之间的网络延迟问题
环境准备:
服务器1:zabbix-server
服务器2:zabbix-proxy
服务器3:zabbix-agent
关系:zabbix-agent发送数据到代理,代理汇总数据发送到server
操作步骤:
1.关闭某些设置
关闭server中的自动发现
关闭server中的自动注册
在配置—动作中(没设置自动注册)
2.server服务端无需变动,继续运行
3.配置代理服务器
1.配置zabbix5.0的yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.修改源地址
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo
3.安装proxy,以及数据库和数据库客户端
yum install zabbix-proxy-mysql zabbix-get -y
yum install mariadb-server mariadb -y(提示已被mysql-community取代,就执行yum remove mysql-libs,再重新安装)
yum -y install mariadb-server mariadb mariadb-client mariadb-devel
4. 启动数据库
systemctl start mariadb
5. 进入数据库
mysql(默认没有用户名和密码)
6. 创建数据表
create database zabbix_proxy character set utf8 collate utf8_bin;
7. 授予所有的权限
在zabbix_proxy数据库以及里面所有的表,设置用户名zabbix的密码是zabbix
grant all privileges on zabbix_proxy.* to zabbix@‘localhost’ identified by ‘zabbix’;
8. 刷新mysql权限
flush privileges;
exit #退出数据库客户端
9. 导入zabbix_proxy数据库信息
rpm -ql zabbix-proxy-mysql #查询sql文件路径
zcat 查询到的sql.gz全路径 |mysql -uzabbix -pzabbix zabbix_proxy
10. 查看数据是否成功导入,看到有很有数据表即为成功
mysql -uzabbix -pzabbix
show databases;
use zabbix_proxy;
show tables;
exit
11. 修改zabbix-proxy配置文件,链接数据库的信息
sed -i.ori ‘162a DBPassword=zabbix’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Server=127.0.0.1#Server=server端ip地址#’ /etc/zabbix/zabbix_proxy.conf
sed -i ‘s#Hostname=Zabbix proxy#Hostname=代理服务器域名#’ /etc/zabbix/zabbix_proxy.conf
12. 检查代理服务器配置文件
grep ‘1' /etc/zabbix/zabbix_proxy.conf
13. 重启服务器
reboot
14. 启动代理服务器
systemctl restart zabbix-proxy
systemctl status zabbix-proxy #查看是否启动成功,有绿色的active(running)即为成功
web页面添加代理
显示从未,可能是数据库没开启,开启数据库即可
agent使用proxy 页面设置使用proxy
修改agent端的配置
设置开机自启
1.给配置文件添加执行权限
sudo chmod +x /etc/rc.d/rc.local
2.打开配置文件
sudo vi /etc/rc.d/rc.local
3.在配置文件中添加两行内容
systemctl start mariadb
systemctl restart zabbix-proxy
4.保存退出配置文件
Esc
:wq
zabbix-server 启动不起来看日志有报错
1. 查看日志
tail -n 100 /var/log/zabbix/zabbix_proxy.log
cannot start alert manager service: Cannot bind socket to “/var/run/zabbix/zabbix_server_alerter.sock”: [13] Permission denied.
59422:20201224:001003.895 One child process died (PID:59459,exitcode/signal:1). Exiting
2. 关闭selinux
vi /etc/selinux/config
#修改配置文件永久关闭。
SELINUX=disabled
#临时关闭SELINUX
setenforce 0
3. 重启
systemctl restart zabbix-proxy
Zabbix_proxy重启无任何相关进程处理
通过系统命令查看proxy状态
原以为一切正常,但仔细查看zabbix有关服务时,却没有发现发现相应的proxy端口在使用。如图1、2.
图1
图2
那实际上zabbix_proxy是没在工作的。
对其日志文件进行查看
如图3.查看命令: tail -n 1000 /var/log/zabbix/zabbix_proxy.log #筛选最新的1000行数据进行查看。
图3
从最新的几行报错可以出看是数据库连接失败引起的问题。
查看数据库状态
systemctl status mariadb
图4.
a-Z ↩︎
到此这篇关于zabbix集群搭建分布式监控的操作步骤的文章就介绍到这了,更多相关zabbix分布式监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!