• 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毕业设计合租吧管理系统
    PMP微信群日常习题
    Spring 01: Spring配置 + 基于xml的IOC控制反转 + Setter注入
    2022最新版-李宏毅机器学习深度学习课程-P26RNN-2
    基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python 计算机竞赛
    此时已莺飞草长,愿世间美好与你环环相扣
    Nginx的安装——window环境
    Vue3.2插槽全家桶
    Vitalik:Layer2 是以太坊社区文化的延伸
    MYSQL入门与进阶(十)
  • 原文地址:https://blog.csdn.net/CharmaineXia/article/details/127652308