zoukankan      html  css  js  c++  java
  • Keepalived脑裂监控

    Keepalived脑裂监控

    环境说明:使用的vip是192.168.100.100

    系统 ip
    redhat 8 /keepalived—master 192.168.100.139
    redhat 8 /keepalived—slave 192.168.100.140
    redhat 8 /zaabix 192.168.100.1

    准备工作:

    master和slave配置详情见:Keepalived实现Nginx负载均衡机高可用

    zabbix监控配置详情见:监控服务Zabbix部署 和 Zabbix配置

    slave主机安装zabbix客户端

    //slave关闭防火墙和selinux
    # systemctl disable --now firewalld
    # sed -ri 's/^(SELINUX=).*/1disabled/g' /etc/selinux/config
    # setenforce 0
    
    //安装依赖包
    # yum -y install gcc gcc-c++ bzip2 pcre* make
    #wget https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.6.tar.gz
    [root@slave ~]# tar xf zabbix-5.2.6.tar.gz 
    [root@slave ~]# useradd -r -M -s /sbin/nologin zabbix
    [root@slave ~]# cd zabbix-5.2.6
    [root@slave zabbix-5.2.6]# ./configure --enable-agent
    [root@slave zabbix-5.2.6]# make install

    配置zabbix配置文件

    [root@slave zabbix-5.2.6]# vim /usr/local/etc/zabbix_agentd.conf
    ······
    Server=192.168.100.6            #修改成服务端IP
    ······
    ServerActive=192.168.100.6        #修改成服务端IP
    ······
    Hostname=slave
    
    [root@slave zabbix-5.2.6]# zabbix_agentd 
    [root@slave zabbix-5.2.6]# ss -antl
    State       Recv-Q       Send-Q              Local Address:Port              Peer Address:Port      
    LISTEN      0            128                       0.0.0.0:22                     0.0.0.0:*         
    LISTEN      0            128                       0.0.0.0:10050                  0.0.0.0:*         
    LISTEN      0            128                          [::]:22                        [::]:*    

    编写监控脚本

    //slave
    [root@slave zabbix-5.2.6]# cd /scripts/
    [root@slave scripts]# ll / |grep scripts
    drwxr-xr-x    2 zabbix zabbix   50 5月  22 00:12 scripts
    [root@slave scripts]# vim check_keepalived.sh
    
    #!/bin/bash
      
    if [ `ip a show ens160 |grep 192.168.100.100|wc -l` -ne 0 ]
    then
        echo "1"
    else
        echo "0"
    fi
    
    [root@slave scripts]# chmod +x check_keepalived.sh
    //开启自定义监控并添加指标
    [root@slave ~]# vim /usr/local/etc/zabbix_agentd.conf
    ······
    #在最后面添加以下内容
    UnsafeUserParameters=1                    
    UserParameter=check_slave,/scripts/check_keepalived.sh
    
    //重启zabbix
    [root@slave scripts]# pkill zabbix
    [root@slave scripts]# ss -antl
    State       Recv-Q       Send-Q              Local Address:Port             Peer Address:Port       
    LISTEN      0            128                       0.0.0.0:22                    0.0.0.0:*          
    LISTEN      0            128                          [::]:22                       [::]:*          
    [root@slave scripts]# ps -ef |grep zabbix
    root       9067   1132  0 02:17 pts/0    00:00:00 grep --color=auto zabbix
    [root@slave scripts]# zabbix_agentd
    
    
    //测试zabbix是否能获取客户端的指标
    //zabbix
    [root@zabbix ~]# zabbix_get -s 192.168.100.140 -k check_slave
    0

    编写脚本时要注意,网卡要改成你自己的网卡名称,VIP也要改成你自己的VIP,最后不要忘了给脚本赋予执行权限,且要修改/scripts目录的属主属组为zabbix

    网页配置

    添加主机组

    Configuration —— Host groups —— 右上角 Create host group

    添加主机

    Configuration —— Hosts —— 右上角 Create host

    添加监控项

    Configuration --- Hosts --- 客户机的Items --- 右上角Create Items

    添加触发器

    Configuration --- Hosts --- 客户机的Triggers --- 右上角Create triggers

    配置企业微信报警

    详情见 Zabbix企业微信报警配置

    触发触发器

    //master
    //master启动了keepalived和nginx
    [root@RedHat ~]# ss -antl
    State       Recv-Q       Send-Q              Local Address:Port             Peer Address:Port       
    LISTEN      0            128                       0.0.0.0:22                    0.0.0.0:*          
    LISTEN      0            128                       0.0.0.0:80                    0.0.0.0:*          
    LISTEN      0            128                          [::]:22                       [::]:*          
    LISTEN      0            128                          [::]:80                       [::]:*  
    
    //slave
    //slave启动了keepalived
    [root@slave ~]# systemctl status keepalived
    ● keepalived.service - LVS and VRRP High Availability Monitor
       Loaded: loaded (/usr/lib/systemd/system/keepalived.service; enabled; vendor preset: disabled)
       Active: active (running) since Tue 2021-05-25 01:57:11 CST; 39min ago
      Process: 936 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS)
     Main PID: 945 (keepalived)
        Tasks: 3 (limit: 12391)
       Memory: 8.6M
    
    //master
    //模拟master挂掉,slave继承,从而触发触发器
    [root@master ~]# systemctl stop nginx
    [root@master ~]# ss -antl
    State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    
    LISTEN    0         128                0.0.0.0:22               0.0.0.0:*       
    LISTEN    0         128                   [::]:22                  [::]:* 

    功能已经实现,稍后更新(使用企业微信实现zabbix监控)

  • 相关阅读:
    nginx 主配置文件解析
    redis 主从同步
    redis 持久化 RDB与AOF
    python开发之virtualenv与virtualenvwrapper(linux下安装与配置)
    linux 编译安装python3
    linux基础系统优化及常用命令
    linux基础
    以太坊源码之POA区块生成机制
    以太坊Go、Java、Python、Ruby、JS客户端介绍
    区块链扫盲:区块链技术初探(一)
  • 原文地址:https://www.cnblogs.com/lichouluoyu/p/14805510.html
Copyright © 2011-2022 走看看