zabbix集群 搭建分布式监控

作用:

  1. 分担server的集中式压力
  2. 解决多机房之间的网络延迟问题
    在这里插入图片描述

环境准备:

服务器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

  1. 页面设置使用proxy

在这里插入图片描述
在这里插入图片描述

  1. 修改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.
在这里插入图片描述


  1. a-Z ↩︎

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>