• 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监控)

  • 相关阅读:
    Lambda表达式详解
    .net反射详解
    vue插件大全汇总
    DockerToolbox在Win7上的安装和设置
    Ubuntu 16.04 安装 Python3.6
    Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务
    Azkaban 使用问题及解决(一)
    Azkaban各种类型的Job编写
    azkaban执行错误 Job failed, Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job
    window7 修改docker安装的machine 位置
  • 原文地址:https://www.cnblogs.com/lichouluoyu/p/14805510.html
Copyright © 2020-2023  润新知