【ConsulManager介绍】

Consul字段设计说明

  • 所有数据存在一个名为blackbox_exporter的Services项中,每个监控目标为一个子Service。
  • 每个Service使用Meta的kv保存监控目标的属性:modulecompanyprojectenvnameinstance,分别表示:监控类型,公司部门,项目,环境,名称,实例url。
  • 新增监控时,监控类型字段(module)和Blackbox配置中的module必须保持一致。
  • 前5个字段合并即为consul的serviceID,作为唯一监控项标识

配置Prometheus与Blackbox

原理:基于Consul实现Prometheus的自动发现功能配置

  • 把Consul每个service的Meta的KV关联到Prometheus每个指标的标签。
  • 根据每个指标的标签来对监控目标分类,分组,方便管理维护。
1. 配置Blackbox_Exporter
  • 在Web页面点击Blackbox 站点监控/Blackbox 配置,点击复制配置
  • 编辑blackbox_exporter的blackbox.yml,清空已有的配置,把复制的内容粘贴进去,重启blackbox_exporter。
2. 配置Prometheus
  • 在Web页面点击Blackbox 站点监控/Prometheus 配置,点击复制配置
  • 编辑Prometheus的prometheus.yml,把复制的内容追加到最后,reload或重启Prometheus。
3. 配置Prometheus告警规则
  • 在Web页面点击Blackbox 站点监控/告警规则,点击复制配置
  • 编辑Prometheus的rules.yml,把复制的内容追加到最后,reload或重启Prometheus。
4. 查看Prometheus
  • 在Prometheus的Web页面中,点击Status-Targets,能看到新增的Job即表示数据同步到Prometheus。
5. 导入Blackbox Exporter Dashboard
  • 支持Grafana 8,基于blackbox_exporter 0.19.0设计
  • 采用图表+曲线图方式展示TCP,ICMP,HTTPS的服务状态,各阶段请求延时,HTTPS证书信息等
  • 优化展示效果,支持监控目标的分组、分类级联展示,多服务同时对比展示。
  • 导入ID:9965
  • 详细URL:https://grafana.com/grafana/dashboards/9965

批量导入脚本

在units目录下instance.list中写入监控目标的信息:JOB名称,公司/部门,项目,环境,名称,实例url,每行一个,空格分隔。

注意:前5个字段组合起来必须唯一,作为一个监控项的ID。即Consul的ServiceID

修改units目录下导入脚本中的consul_token和consul_url,保存后执行input.py,即可导入所有监控目标到Consul,并符合Prometheus的自动发现配置。

ConsulManager应用场景2:如何优雅的使用Consul管理Blackbox站点监控的更多相关文章

  1. 不使用三方包时,如何在ThinkSNS中建立优雅的用户权限管理

    什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+).Thin ...

  2. 强大而优雅,API 研发管理 EOLINKER 新版正式发布!

    EOLINKER 于2019年3月3日正式发布新版本!该版本大幅强化各个产品的功能.着重优化了全站的用户交互体验,并且EOLINKER AMS 产品正式更名为 EOLINKER API Studio ...

  3. Redux/Mobx/Akita/Vuex对比 - 选择更适合低代码场景的状态管理方案

    近期准备开发一个数据分析 SDK,定位是作为数据中台向外输出数据分析能力的载体,前端的功能表现类似低代码平台的各种拖拉拽.作为中台能力的载体,SDK 未来很大概率会需要支持多种视图层框架,比如Vue2 ...

  4. Java 技术栈中间件优雅停机方案设计与实现全景图

    欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 ...

  5. cocos2d-x 帧循环不严谨造成场景切换卡顿

    最近在用cocos2d-x做引导界面,2dx版本是2.2.3,场景切换加上了效果,所有资源都已经使用texturepacker打包预加载,但是在实际运行调试中,场景切换相当卡顿. 各种纠结后,无意中将 ...

  6. NGUI 多场景情况下 管理多个界面

    简单的说就是在一个AllUI场景中,所有场景所需要的界面都挂在一个Empty GameObject下,然后这个Empty GameObject在代码中DontDestroyOnLoad,但是回到这个A ...

  7. zookeeper适用场景:如何竞选Master及代码实现

    问题导读:1.如何利用zookeeper保证集群Master可用性和唯一性?2.zookeeper竞选Master包含哪些过程?3.zookeeper竞选Master机制利用了zk哪些特性? 在zoo ...

  8. Firefly的角色跳转场景简单示例

    源地址:http://bbs.9miao.com/thread-45790-1-2.html 本例演示的是模拟游戏服务端,让角色在场景1中跳转到场景2中.在实际游戏中,client将要跳转的角色id和 ...

  9. cocos 场景制作流程

    前面的话 本文将详细介绍 cocos 场景制作流程 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作组件-实体系统,简单的说,就是以组合而非继承的方式进行实体 ...

  10. Java中NIO和IO区别和适用场景

    NIO是为了弥补IO操作的不足而诞生的,NIO的一些新特性有:非阻塞I/O,选择器,缓冲以及管道.管道(Channel),缓冲(Buffer) ,选择器( Selector)是其主要特征. 概念解释: ...

随机推荐

  1. Potplayer+Alist+网盘,实现网盘视频免费在线看4K杜比HDR

    Potplayer+Alist+网盘,实现网盘视频免费在线看4K杜比HDR 引言 最近刷视频看到了一个方法可以通过alist挂载网盘,配合potplayer可实现超高画质免费在线观看视频,这里发一下配 ...

  2. Django框架创建运行最小程序过程记录

    基于 python语言 Django web框架下 用pycharm创建,修改,运行 最简单程序.旨在过程 ========================================== 步骤一 ...

  3. UE4打包后的游戏,无法打卡其他关卡的解决办法

    现象: 程序调试的时候可以通过主菜单打开其他关卡界面,但是打包之后就无法通过按钮打开,一直显示错误 Warning: Travel Failure: [ClientTravelFailure]: Fa ...

  4. mfc的ClistCtrl控件列的排序

    在网上看了许多排序的方法,都没看懂,初学者的悲剧,然后就自己弄了个,请大家指正. ClistCtrl控件的行带着一个结构体,不过那结构体不好懂,看得眼花缭乱.好多也弄不明白,就自己写了个结构体,把一行 ...

  5. apr库编译及队列使用笔记

    操作系统 :CentOS 7.9_x64 apr库版本:apr-1.7.4 & apr-util-1.6.3 gcc 版本:4.8.5 队列功能在C++或Python等脚本语言里面,是很容易就 ...

  6. C++容器算法

    容器算法 <algorithm>是c++自带的容器算法,提供一系列实用的算法.在谈到容器算法,我们大概率会用到谓词predicate,谓词返回的类型是布尔类型(bool)可以是lambda ...

  7. Docker网络中篇-docker网络的四种类型

    通过上一篇学习,我们对docker网络有了初步的了解.本篇,咱们就来实战docker网络. docker网络实战 实战docker网络,我们将从以下几个案例来讲解 1:birdge是什么? 2:hos ...

  8. OCI runtime exec failed: exec failed: container_linux.go:296: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown

    使用如下两个命令均无法进入容器 docker exec -it xxx /bin/bash docker exec -it xxx bash 以为是docker的问题,所以重启 systemctl r ...

  9. Mysql table 调整table的字符集和校对规则

    ALTER TABLE `xxxx`.`xxx` CHARACTER SET = utf8mb4 , COLLATE = utf8mb4_0900_ai_ci ;

  10. android java.lang.Exception: java.net.ProtocolException: Expected HTTP 101 response

    Android stomp长连接连接异常: 报错:java.lang.Exception: java.net.ProtocolException: Expected HTTP 101 response ...