• zabbix监控haproxy


    首先修改haproxy.cfg

    listen  monitor_stat :8088
            stats   uri /ihaproxy-stats
            stats   realm Haproxy Statistics
            stats   auth ha_house:ZW5dmKRTObmOuA1nnS5U
            stats   hide-version
            bind-process    1

    通过命令行方式获取haproxy 检测页面中各后台服务的状态

    vim  /usr/local/zabbix/etc/monitor_scripts/discoverhaproxy.sh

    复制代码
    #!/bin/bash
    portarray=(`curl -s --connect-timeout 3 -uha_house:ZW5dmKRTObmOuA1nnS6U "http://$1:8088/ihaproxy-stats;csv"|awk -F',' '{print $1,"-",$2,$18}'|sed "1,2d"|sed 's/ - /-/g'`)
    length=${#portarray[@]}
    printf "{
    "
    printf  '	'""data":["
    for ((i=0;i<$length;i++))
    do
            printf '
    		{'
            printf ""{#SERVER_NAME}":"${portarray[$i]}",
    "
            ((i+=1))
            printf '		'
            printf ""{#STATUS}":"${portarray[$i]}"}"
            if [ $i -lt $[$length-1] ];then
                    printf ','
            fi
    done
    printf  "
    	]
    "
    printf "}
    "
    复制代码

    vim  /usr/local/zabbix/etc/monitor_scripts/hanode.sh   该脚本是获取backend主机节点的backend名称和状态

    #!/bin/bash
    a=` curl -s --connect-timeout 3 -uha_house:ZW5dmKRTObmOuA1nnS6U "http://$1:8088/ihaproxy-stats;csv"|awk -F',' '{print $1,"-",$2,$18}'|sed "1,2d"|sed 's/ - /-/g'|grep -w $2|awk '{print $2}' `
    echo $a
    a 的值显示为:
    agent_server-agent_45 UP
    agent_server-agent_46 UP
    agent_server-agent_47 UP
    agent_server-BACKEND UP

    zabbix键值自定义:

    vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/haproxy.conf

    UserParameter=dishaproxy[*],/usr/local/zabbix/etc/monitor_scripts/discoverhaproxy.sh $1
    UserParameter=hanode[*],/usr/local/zabbix/etc/monitor_scripts/hanode.sh $1 $2

    查看主机的最新数据就会出现所有backend主机的状态:

  • 相关阅读:
    全网最详细的Linux命令系列-ls命令
    Kubernetes 部署策略详解-转载学习
    Kubernetes工作流程--<1>
    详解CURL状态码,最全的代码列表
    Haproxy-4层和7层代理负载实战
    Keepalived+Nginx高可用实例
    实现FTP+PAM+MySQL环境,批量配置虚拟用户
    每秒处理10万订单乐视集团支付Mysql架构-转载
    构建 CDN 分发网络架构简析
    Linux系统入门简介<1>
  • 原文地址:https://www.cnblogs.com/hh2737/p/8257462.html
Copyright © 2020-2023  润新知