相关组件安装脚本

[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. 初识vue小结

    初识vue 大家都那么热爱他一定有原因,我也特想了解. 我来咯, 首先用vue开发版,用一个标签在head中插入,script标签src属性引入vue文件,就像jquey一样在script,但是放在h ...

  2. SQL-存储过程-010

    什么是存储过程? 可以理解为数据库中的方法,与C#中的方法一样,具有参数和返回值: 存储过程的优点? 提高运行速度:存储过程在创造是进行编译,以后运行存储过程都不需要再进行编译,极大化的提高了数据库的 ...

  3. CIFAR-10数据集读取

    参考:https://jingyan.baidu.com/article/656db9183296c7e381249cf4.html 1.使用读取方式pickle def unpickle(file) ...

  4. linux的基本操作2

    /dev/ha[a-d] IDE硬盘(过时了)/dev/sd[a-p] U盘,scsi,sata,ssd硬盘(流行)/dev/cdrom   光盘 CD-ROM/dev/mouse 鼠标 fdisk ...

  5. PythonStudy——文件操作习题 Document operation exercises

    # 1.统计文件数据中字母e出现的次数(不区分大小写)# 文件内容:hello friend, can you speak English!# 结果:4# 分析:将文件内容读出,然后统计读出的字符串中 ...

  6. visio画图有感

    昨天在和一个同事看流程图,在我还在考虑图的含义时他说这个图太乱了,如果要团队成员看也会很费劲,并找出觉得画的好的案例. 对比两个图我发现了一个最大的差别是好的图形状都是水平或垂直对齐的,连接线也都是水 ...

  7. java-Redis集合

    引用包:jedis-3.0.1.jar.commons-pool2-2.6.0.jar 一.从Redis集合中实时获取数据: 连接Redis import redis.clients.jedis.Je ...

  8. 【算法和数据结构】_14_小算法_Blank字符替换

    /* 本程序用来将输入的制表符替换为\t, 而将退格替换为\b, 将反斜杠替换为\\ */ #include <stdio.h> #include <stdlib.h> typ ...

  9. python if not

    判断是否为None的情况 if not x if x is None if not x is None if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法. 使用 ...

  10. k8s学习笔记之三:k8s快速入门

    一.前言 kubectl是apiserver的客户端工具,工作在命令行下,能够连接apiserver上实现各种增删改查等各种操作 kubectl官方使用文档:https://kubernetes.io ...