夜莺V6ga8架构介绍-接近正式版的最新调整

2023-11-10

前言

本篇是夜莺监控V6最新版本(v6.0.0.ga8)的架构介绍,ga8版本开始和之前的v6版本在边缘机房部署场景,做了一点优化–去除了边缘机房中夜莺监控模块(n9e-pushgw数据转发,n9e-alert告警引擎)对中心节点机房中mysql数据库的依赖。

就像秦老板所说一样,架构原理是学习夜莺的必备知识,所以打卡学习一下。本文源于SRETalk的视频介绍

中心机房部署架构

在中心机房部署需要用到n9e这个程序,它对依赖于两个数据源,一个是mysql数据库,存放一些系统用到的配置信息;另一个是redis,存放时token和心跳信息。客观性的三大指标时序数据(如Prometheus、VictoriaMetrics ),日志数据(如ElasticSearch ),以及链路追踪数据(如Jaeger)它们都可以接入n9e,由n9e统一管理,进行看图,告警,告警自愈等操作。数据的采集器可以用社区推荐的Categraf,管理方便并且啥都能采集,更重要是可以用到社区版n9e的完整功能(只有Categraf会上报心跳信息,并展示在机器列表中)。

以采集时序数据为例,Categraf 采集到数据后,通过push方式转发给n9e,数据经过n9e会按设置把原始数据自动添加一些标签,并且解析出ident标签存入mysql中作为机器列表的来源。之后这些添加标签的数据会被push给时序数据库保存,告警引擎模块会按配置去计算,达到触发条件后生成一条告警;看图会通过promQL查询到结果,并展示在页面上。

机器列表页面中cpu,内存,时间偏移,架构等信息都是Categraf上报的心跳信息存入redis中。

高可用的实现非常简单只需要部署多个n9e实例即可实现,实例之前用4/7层负载均衡,来接收数据或者用户请求,从而达到部分实例挂了不影响全局。实例之间是通过数据分片方式均分告警监控。

边缘机房部署架构

边缘机房如果和中心机房的网络链路比较好的情况下,可以只部署Categraf来采集数据,并且安全起见开启用Basic Auth相关配置。但是更常见的边缘机房和中心机房的网络不是很好,这时候架构上就需要稍微复杂一些,在边缘机房除了部署Categraf外还需要部署n9e-pushgw(数据转发模块),n9e-alert(告警引擎模块),以及时序数据库。

下沉部署的n9e-pushgw也会和把原始数据加上额外标签,解析的机器信息因为需要存入数据库所以之前v6版本需要打通mysql连接,但是ga8的版本去除了这部分依赖,让n9e-pushgw把机器信息通过请求中心端n9e http接口的方式来保存数据。

下沉部署的n9e-alert会把会在网络可用时候,把中心端的告警规则拉取下来缓存在内存中,有了告警规则后就可以按配置频率即时查询时序数据库,用来计算告警触发的条件。只要边缘机房外网是通的,告警就可以正常发出。而对中心端来说不会有太大影响,可能会存在告警事件没发通过n9e http接口把告警上报给中心端mysql的情况(ga8之前的v6也是需要n9e-alert去连接中心端mysql)。

所以可以清楚的看到由于去除了下沉部署中n9e-pushgw和n9e-alert对中心端mysql的依赖,让mysql可以更好的控制权限,部署起来整体更优。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

夜莺V6ga8架构介绍-接近正式版的最新调整 的相关文章

随机推荐

  • 【微服务部署】五、Jenkins+Docker一键打包部署NodeJS(Vue)项目的Docker镜像步骤详解

    NodeJS Vue 项目也可以通过打包成Docker镜像的方式进行部署 原理是先将项目打包成静态页面 然后再将静态页面直接copy到Nginx镜像中运行 一 服务器环境配置 前面说明了服务器Nginx的安装和配置 这里稍微有些不同 但是因
  • Qlib股票数据获取与查看(Qlib学习1)

    文章目录 Qlib基本信息 数据使用方法 1 借助Qlib下载数据 2 查看相关数据 参考链接 Qlib基本信息 Qlib Github主页 https github com microsoft qlib Qlib quickstart h
  • AngularJS中(function(a,b){})(a,b)立即函数理解

    function window angular document 函数体 window window angular document 一 Scope 我们知道 Javascript是函数作用域 因此 这么写创建了一个 私有作用域 例如 f
  • QNX的license-key,试用qnx入门参考-QNX的密钥账号密码

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 e mail 174176320 qq com 老版本的QNX4 x QNX6 4 可以通过修改时间或重装系统进行继续试用使用 到了新版本
  • QVariant存放QWidget*

    今天看一个开源程序发现有个这样的用法 很新奇 记录一下 include widget h include
  • Docker搭建BWAPP靶场

    buggy web Application 这是一个集成了各种常见漏洞和最新漏洞的开源Web应用程序 目的是帮助网络安全爱好者 开发人员和学生发现并防止网络漏洞 包含了超过100种漏洞 涵盖了所有主要的已知Web漏洞 包括OWASP Top
  • [完整]js实现放大镜效果

    实现 1 小盒子small当鼠标移入 将小img里src赋值给中等框src 将小盒子的src赋值给大盒子的背景 br 2 大盒子的展示与隐藏 经过大盒子展示大盒子 离开大盒子隐藏大盒子 br 3 显示隐藏layer 遮罩层 遮罩层跟随鼠标移
  • unity文字转语音插件(中文版)教程

    插件名RT Voice PRO 2020 4 10 不错的一款插件 我用2020版本UNITY进行测试使用的 可以读英文和中文 想要插件可以关注V公众号 unity风雨路 免费自取 或者直接去csdn下载 链接在这里 RT VoicePRO
  • 【千律】C++基础:string扩展工具箱的使用方法

    include
  • Micropython应用篇四---F407VE Black开发板IIC OLED1306

    Micropython应用篇四 F407VE Black开发板IIC OLED1306显示 最近一段时间做Keil例程比Micropython多很多 无论如何 Micropython Arduino作为嵌入式入门篇也发过一些文章 包括公司的
  • 科普什么是JS混淆加密解密以及其价值

    JavaScript 混淆加密是一种将 JavaScript 代码转换为不易被人阅读和理解的形式的技术 它通常用于保护代码的知识产权和减少被恶意修改的风险 使用 JavaScript 混淆加密有一些好处和价值 首先 混淆加密可以保护代码的知
  • SpringBoot 直接返回 Json格式对象(报错:返回对象为空{})

    文章目录 1 需求描述 2 代码展示 3 原因分析 4 解决方案 5 效果展示 6 结束语 1 需求描述 我们现在要干一个什么事情呢 我们要在浏览器输入一个请求地址 然后我们的后端就给我返回一个User对象即可 并且我希望以Json的格式返
  • Pycharm下载+安装+破解

    安装 进入到Pycharm官网下载区域 选择与系统对应的下载包然后点击下载 https www jetbrains com pycharm download section windows 破解 https blog csdn net u0
  • UnityVR--UIManager--UI管理2

    目录 前言 UIManger的实现 1 需要用到的变量和数据 2 在构造中的工作 3 初始化面板 4 显示面板 5 隐藏面板和隐藏所有面板 6 其他小工具 在场景中实现 1 不同面板的类型设置 2 场景中的设置 前言 接前篇 上一篇已经有了
  • 前后端分离的项目——图书管理系统(上)

    文章目录 项目搭建 使用elementUI 主体布局 后台服务搭建 实现分页模糊查询 后台CRUD 新增 修改 删除 表单校验和克隆模块 克隆出管理员模块 登录前后台 登录 全局异常处理 登录前端 数据安全 项目sql文件 点击下载 项目搭
  • 企业应如何无缝保护其云工作负载?

    企业为了保护自己的云环境 可能已经采取了保护云身份 强化云安全态势 配置强大的云访问控制等措施 然而 除此之外还需要做一件事 云工作负载保护平台 即CWPP 云工作负载保护平台会保护在企业的云上运行的工作负载 这些工作负载与构成云环境基础的
  • MyBatis-Plus代码生成器

    文章目录 1 在SpringBoot项目中导入Maven依赖 2 编写配置 3 运行后的效果 AutoGenerator 是 MyBatis Plus 的代码生成器 通过 AutoGenerator 可以快速生成 Entity Mapper
  • 金笛短信开发控件(API)

    http www sendsms cn download 金笛短信开发控件 JindiSMSControl OCX 点击放大 温馨提示 控件模块名称为 JindiSMSControl ocx 本控件使用时需要SmsCore dll和DBEn
  • 【ES】补充RestHighLevelClient

    目录 依赖 获取连接 阿里云提供的API 创建Index 创建mappings XContentBuilder 删除数据 指定ID 依赖
  • 夜莺V6ga8架构介绍-接近正式版的最新调整

    前言 本篇是夜莺监控V6最新版本 v6 0 0 ga8 的架构介绍 ga8版本开始和之前的v6版本在边缘机房部署场景 做了一点优化 去除了边缘机房中夜莺监控模块 n9e pushgw数据转发 n9e alert告警引擎 对中心节点机房中my