相关组件安装脚本

[root@java_gateway4 java_tps]# cat cront_install.sh
#!/bin/bash
yum install jq -y
mkdir /home/java_tps
touch /tmp/hystrix.data.back
chmod -R 777 /tmp/hystrix.data.back
#scp -P10036 10.81.2.46:/home/java_tps/* /home/java_tps/
cp /home/java_tps/*.conf /etc/zabbix/zabbix_agentd.d/
service zabbix-agent restart
prom1=`ps aux|grep gateway/gateway|grep -v 'auto'|awk 'END {print$2}'`
#echo $prom1
prom2=`ss -tnlp|grep $prom1|awk '{print$4}'|awk -F ':' '{print$2}'`
#echo $prom2
#for((i=1;i<=5;i++));do
# curl -s -m 1 "http://localhost:$prom2/hystrix.stream" >/tmp/hystrix.data.back
# cp /tmp/hystrix.data.back /tmp/hystrix.data
# sleep 9
# echo $i
#done
echo "* * * * * curl -s -m 1 'http://localhost:$prom2/hystrix.stream' >/tmp/hystrix.data.back">> /var/spool/cron/root

cront -l

ll /home/java_tps/*
service zabbix-agent status
ll /etc/zabbix/zabbix_agentd.d/*.conf

ZABBIX客户端配置文件

[root@java_gateway4 java_tps]# cat tps_mod.conf
UnsafeUserParameters=1
UserParameter=check.hystrix[*],/home/java_tps/discovery2.sh $1 $2 $3 $4 $5

数据获取文件

[root@java_gateway4 java_tps]# cat discovery2.sh
#!/bin/bash
#prom1=`ps aux|grep gateway/gateway|grep -v 'auto'|awk 'END {print$2}'`
#prom2=`ss -tnlp|grep $prom1|awk '{print$4}'|awk -F ':' '{print$2}'`
#curl -s -m 1 "http://localhost:$prom2/hystrix.stream" > /tmp/hystrix.data.back
discovery_api(){
API_NAMES=($(sed 's/data: //' /tmp/hystrix.data.back | grep -i $1 | jq -r .name 2>/dev/null | sort | uniq))
LENGTH=${#API_NAMES[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$LENGTH;i++));do
printf '\n\t\t{'
printf "\"{#API_NAME}\":\"${API_NAMES[$i]}\"}"
if [ $i -lt $[$LENGTH-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"
}

get_result(){
echo $3 | grep -i -q latencyTotal

if [ $? -ne 0 ];then
result=$(grep $1 /tmp/hystrix.data.back | grep -i $2 | tail -2 | head -1 | sed 's/data: //' | jq -r .${3})
echo $result
else
result=$(grep $1 /tmp/hystrix.data.back | grep -i $2 | tail -2 | head -1 | sed 's/data: //' | jq -r .${3}[\"$4\"])
echo $result
fi
}

$1 $2 $3 $4 $5

模板自动发现创建

参考资料

鸡哥

Sping Cloud hystrix.stream 自动发现-监控的更多相关文章

  1. zabbix自动发现监控url

    1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' we ...

  2. zabbix使用自动发现监控esxi的磁盘存储storage

    zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi. ...

  3. zabbix自动发现监控mysql

    一. 数据库给只读权限 1.1 grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix'; flush privileges; ...

  4. Prometheus基于consul自动发现监控对象 https://www.iloxp.com/archive/11/

      Prometheus 监控目标为什么要自动发现 频繁对Prometheus配置文件进行修改,无疑给运维人员带来很大的负担,还有可能直接变成一个“配置小王子”,即使是配置小王子也会存在人为失误的情况 ...

  5. 使用lld自动发现监控多实例redis

    zabbix 可以通过常见的手段监控到各种服务,通过编写脚本来获取返回值并将获取到的值通过图形来展现出来,包括(系统.服务.业务)层面.可是有些时候在一些不固定的场合监控一些不固定的服务就比较麻烦.例 ...

  6. 使用 zabbix 自动发现监控 MySQL

    介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过 ...

  7. Zabbix自动发现监控Tomcat进程

    1.编辑自动发现脚本 自动发现脚本只支持JSON格式 #!/usr/bin/env python # -*- coding:utf-8 -*- import commands import psuti ...

  8. zabbix监控自动发现监控tomcat(V1)

    背景说明: 由于zabbix监控使用自带的模版,只能监控主机上只有1个tomcat的场景适合,虽然网上很多朋友都是在每个监控项上面添加一个空格来解决问题.但是个人感觉这种方法还是蛮麻烦的,所以写一篇使 ...

  9. zabbix自动发现监控远程端口

    zabbix监控远程服务器端口,simple checks是zabbix用来监控无agent的主机 脚本和模板地址: https://github.com/mikeluwen/tcpmonitor

随机推荐

  1. oracle query

    不等值连接查询 员工工资级别 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losa ...

  2. https原理及其中所包含的对称加密、非对称加密、数字证书、数字签名

    声明:本文章已授权公众号Hollis转载,如需转载请标明转载自https://www.cnblogs.com/wutianqi/p/10654245.html(安静的boy) 一.为什么要使用http ...

  3. C++学习(三十七)(C语言部分)之 链式栈(推箱子实现)

    用链表实现栈一开始在表头插入,就要一直在表头插入一开始在表尾插入,就要一直在表头插尾表头当栈底 也可以把表尾当栈底 实现的测试代码笔记如下: #include<stdio.h> #incl ...

  4. 《DSP using MATLAB》Problem 7.5

  5. js中常用的内置对象

    Arguments 函数参数集合 arguments[ ] 函数参数的数组 Arguments 一个函数的参数和其他属性 Arguments.callee 当前正在运行的函数     Argument ...

  6. pj2--图书管理系统

    这一次做得是图书管理系统. 下面是功能框图 下面是流程图 实际在做这个项目的时候根据相应的实际情况对功能流程等等做了一些小小的改变. 下面是一些值得记一笔的地方. 1.借用系统自带的导航控件(Bind ...

  7. docker上部署nginx容器80端口自动转443端口

    拉去nginx镜像 # docker pull nginx 运行nginx容器config用于拷贝nginx配置文件 # docker run --name nginxconfig -d docker ...

  8. python之路——10

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 a.函数可读性强,复用性强 def 函数名() 函数体 return 返回值 函数先定义后执行, b. ...

  9. 机器学习简要笔记(五)——Logistic Regression(逻辑回归)

    1.Logistic回归的本质 逻辑回归是假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度上升/下降法来求解参数,从而实现数据的二分类. 1.1.逻辑回归的基本假设 ①伯努利分布:以抛硬币为例 ...

  10. 执行webpack-dev-server时,提示端口被占用。

    执行webpack-dev-server时总出错,提示端口被占用.百度了很多答案都不能解决,最后找到了解决方案,如下: webpack-dev-server  --port 8088 使用以上命令修改 ...