首先修改haproxy.cfg

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

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

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

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

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

#!/bin/bash
a=` curl -s --connect-timeout -uha_house:ZW5dmKRTObmOuA1nnS6U "http://$1:8088/ihaproxy-stats;csv"|awk -F',' '{print $1,"-",$2,$18}'|sed "1,2d"|sed 's/ \- /\-/g'|grep -w $|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 $
UserParameter=hanode[*],/usr/local/zabbix/etc/monitor_scripts/hanode.sh $ $

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

zabbix监控haproxy的更多相关文章

  1. zabbix 监控 haproxy 记录

    1. 当配置好后,遇到 Value should be a JSON object. 该如何是好? sudo 文件增加: zabbix ALL=(ALL) NOPASSWD: ALL haproxy ...

  2. Zabbix 监控介绍

    Zabbix 监控介绍 1.Zabbix监控架构 2.Zabbix 优点 开源无软件成本投入 Server对设备性能要求低 支持设备多,自带多种监控模板 支持分布式集中管理,有自动发现功能,可以实现自 ...

  3. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  4. Zabbix监控nginx-rtmp status(json版)

    与前面的文章 zabbix监控nginx-rtmp status(html版)区别只在于取值的页面不一样 http://127.0.0.1:81/control/get/all_streams sta ...

  5. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  6. zabbix监控Java 8080端口

    linux下端口和服务是对应的,Java进程启动时默认监听8080端口,如果服务挂掉则8080端口就没有了. lsof -i:8080 端口,如果没有任何的输出,说明该端口不在工作. 想在zabbix ...

  7. zabbix监控报错zabbix server is not running解决方法

    问题描述: 布置好zabbix监控,正常运行.但是重启了虚拟机服务器之后,页面出现如下的报错,而且设置的报信息也是失效的:

  8. Zabbix监控Tengine

    title: Zabbix监控Tengine tags: zabbix,nginx,tengine author: Chinge Yang date: 2016-12-29 --- Zabbix监控T ...

  9. zabbix 监控web网站性能

    一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...

随机推荐

  1. python面向对象 : 属性, 类方法, 静态方法

    一. 属性 属性: 将方法伪装成一个属性,代码上没有什么提升,只是更合理. property应用 : 类似于bmi这种,area,周长.... 需要用到计算的.   # 求BMI体质数:BMI = 体 ...

  2. 关于在Intellij IDEA工具中配置热加载问题

    第一步,创建一个maven项目,然后在pom.xml文件中添加依赖(上图内容). 第二步:来到intellij idea主页面,点击File->Settings->Build->co ...

  3. Android之socket多线程(二)

    使用ServerSocket创建服务器端: public static void main(String[] args) throws IOException { // TODO Auto-gener ...

  4. delphi EncdDecd.pas单元中Encoding方法出现#$D#$A的解决方法

    例如: s:= 'http://detail.tmall.com/item.htm?id=45545826531&abbucket=_AB-M129_B17&acm=03130.100 ...

  5. linux中 shell编程 判断服务是否运行

    判断nginx是否运行中: if ps -ef|grep "nginx"|egrep -v grep >/dev/null then echo ok! else echo n ...

  6. c#语言函数

    class Program {访问修饰符 函数名(参数1,参数2){   函数体   return 返回值} 无参数,无返回值 public static void abc()             ...

  7. 关于New,delete

    new delete 为表达式.这个过程不能重载,但是分解的步骤可以重载. String* ps = newe String("Hello") 分解为: String* ps; v ...

  8. 网络基础和python

    ·五层协议 物理层,数据链路层,网络层,传输层,应用层 ·用户上网流程 1.本机获取 2.打开浏览器,,输入网址. 3.dns协议(基于udp协议) 4.HTTP部分的内容 5 TCP协议 6 IP协 ...

  9. RabbitMQ manage

    1. RabbitMQ service sudo systemctl enable rabbitmq-server sudo systemctl start rabbitmq-server sudo ...

  10. Spqrk笔记

    LSM:Least square method 最小二乘法 ALS:Alternating Least Squares 交替最小二乘法 http://blog.csdn.net/dreamer2020 ...