• 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 ↩︎

  • 相关阅读:
    Java Web——JS中的BOM
    shell脚本自学笔记
    java计算机毕业设计健康医疗预约系统源码+mysql数据库+系统+lw文档+部署
    Python潮流周刊#6:Python 3.12 有我贡献的代码!
    多元高斯分布
    日志技术-logback
    Web之JavaScript(jQuery)笔记
    利用pybind11在python中使用C++
    【设计模式】装饰者模式
    多维时序 | MATLAB实现WOA-CNN-BiLSTM-Attention多变量时间序列预测(SE注意力机制)
  • 原文地址:https://blog.csdn.net/CharmaineXia/article/details/127652308