扁平足是什么| 绿豆可以和什么一起煮| 花洒不出水什么原因| 996是什么| 喝陈皮水有什么好处| 人潮涌动是什么意思| 下巴长痘是什么原因| 维生素b族为什么不能晚上吃| 阁僚是什么意思| 全脂牛奶和脱脂牛奶有什么区别| 头发长的快是什么原因| 内痔用什么药| 蒙脱石散不能和什么药一起吃| 白头翁幼鸟吃什么| 抗hbc阳性是什么意思| 苹果和生姜煮水喝有什么功效| 走心是什么意思| 宫颈涂片检查是查什么| 嗔恨心是什么意思| 一什么波纹| 长粉刺是什么原因| 92年是什么生肖| 孕妇为什么不能参加婚礼| 睡觉后脑勺出汗多是什么原因| 打嗝是什么意思| 打飞机是什么| 为什么叫211大学| 东山再起是什么意思| cpa是什么意思| 奔走相告是什么意思| 钙片什么时候吃效果最好| 瑞舒伐他汀钙片什么时候吃| 过敏擦什么药膏好得快| 鱼油不能和什么一起吃| 灵泛是什么意思| 早上六点是什么时辰| 好记性不如烂笔头是什么意思| 大便为什么不成形| 左旋肉碱什么时候吃| 剖腹产后可以吃什么水果| 俄罗斯是什么洲| 发烧吃什么消炎药| 牵牛花什么时候开| 毛豆烧什么好吃| 吃什么可以拉肚子通便| e站是什么| 猪儿虫是什么意思| 什么是造影检查| 什么是潜意识| 老年性脑改变是什么意思| 银针茶属于什么茶| 棱是什么| lo娘是什么意思| 什么品牌的空气炸锅好| 牙齿什么颜色最健康| 腰疼去医院挂什么科| 经常梦遗是什么原因| 绵密是什么意思| hc是什么意思| 无什么为什么| 性无能是什么意思| 农历八月初五是什么星座| 艾叶泡水喝有什么功效| 婴儿头发长得慢是什么原因| 返酸水吃什么药| 不知道为什么| 点头之交是什么意思| 心电图t波改变是什么意思| 夏季吃什么好| 红细胞压积什么意思| 属虎男和什么属相最配| 眼睛过敏用什么眼药水| 男人喜欢什么样的女人做老婆| 菜瓜是什么瓜| 得宝松是什么药| 肌酐高是什么原因| 宝宝入盆有什么感觉| 恩五行属什么| 桂附地黄丸治什么病| 觉悟是什么意思| tvb是什么| 冬至为什么吃水饺| 把子肉是什么| 蚂蚁吃什么| 掉头发是缺什么维生素| 腹泻不能吃什么食物| 钓鱼执法什么意思| 胆囊炎能吃什么食物| 长寿面什么时候吃| 癣用什么药膏| 生理需求是什么意思| 孕妇dha什么时候开始吃| 逼宫什么意思| 韦编三绝是什么意思| 血钾是什么意思| 什么力| 西西里的美丽传说讲的什么| 1887年属什么生肖| 5月24号是什么星座| 橄榄菜是什么菜| 宇宙之外是什么| 淳字五行属什么| 亥时属什么生肖| 胃炎糜烂吃什么食物好| 10月2号是什么星座| 75b是什么罩杯| 中国什么姓氏人口最多| 什么病会传染人| 小腹疼痛什么原因| 公司监事是干什么的| 蚊子咬了为什么会痒| 唐僧最后成了什么佛| 元宝是什么意思| 枸杞子泡茶喝有什么好处| 血线高是什么意思啊| 山竹树长什么样| 真丝丝绒是什么面料| 黄豆可以和什么一起打豆浆| darling是什么意思| 金灿灿的什么| 无患子为什么叫鬼见愁| 公斤的单位是什么| 送什么礼品好| 直肠前突有什么症状| 流产有什么症状或感觉| 出淤泥而不染是什么意思| 黄痰是什么原因| 杨琴是什么乐器| 上眼皮浮肿是什么原因| 什么什么不乐| 晟这个字念什么| 保家仙都有什么仙| 男人时间短吃什么药好| 胎位loa是什么意思| 什么手机拍照效果最好| 双侧苍白球钙化是什么意思| 彩照是什么底色| 甲状腺素高是什么原因| 健身吃什么长肌肉最快| 什么牌子的护肝药最好| 尿白细胞加减什么意思| 日柱代表什么| 花开富贵是什么生肖| 病毒感染有什么症状| 皮什么结构| 大耳朵狗叫什么| 性激素六项挂什么科| 窦房结是什么意思| 鸡和什么菜一起烧好吃| 过期的酸奶有什么用途| 天运子什么修为| 什么桥下没有水脑筋急转弯| 是什么意思| graff是什么牌子| 太阳又什么又什么| 木耳炒什么好吃| sample是什么意思| 高血压看什么科| 河南属于什么气候| 心慌是什么意思| 区号是什么| 严重失眠吃什么药最好| 仲字五行属什么| 失眠可以吃什么药| 隐忍是什么意思| 梅毒检查什么项目| 厄警失痣是什么意思| 竖小拇指什么意思| 白细胞低有什么危险| 羊眼圈是什么| 周二右眼皮跳是什么预兆| 俏皮话是什么意思| 黑洞是什么意思| 夵是什么意思| 早上为什么不能洗澡| 眼屎多用什么眼药水| 12月25日是什么日子| 脾虚痰湿吃什么中成药| 老子叫什么| 1936年是什么年| 摆摊卖什么好| 什么洗发水去屑效果好| 手足口病忌口什么食物| 孟子名什么| erke是什么牌子| 直白是什么意思| 前羽念什么| 蜘蛛侠叫什么名字| 月经量少吃什么调理最好方法| 招蚊子咬是什么血型| 尿微量白蛋白是什么意思| 为什么会有灰指甲| 吃什么可以美白| 岔气了吃什么药| 万丈深渊是什么意思| 小猫感冒吃什么药| 宠幸是什么意思| 广东有什么好玩的地方| 力挺是什么意思| 补肾吃什么中药| 舌头发黑是什么原因| 红斑狼疮是一种什么病| 转注是什么意思| 功能性消化不良是什么意思| 肾炎的症状是什么| 补钙什么时间段最好| 孩子大便出血什么原因| 早上左眼跳是什么预兆| 糖化血红蛋白是检查什么的| 氪金什么意思| 刘邦和刘秀是什么关系| 铅超标吃什么排铅| 解酒喝什么饮料| 痛风用什么药| 开火是什么意思| 尤加一笔是什么字| 先天愚型是什么病| 梦见被警察抓预示什么| 来例假头晕是什么原因| 微尘是什么意思| 腹部包块是什么样子的| 低血压有什么危害| 母慈子孝下一句是什么| 下呼吸道是指什么部位| 不吃早饭有什么危害| 起诉离婚需要什么材料| 辣木籽是什么| 便秘吃什么药| 时光如梭是什么意思| 什么菜好消化又养胃| 眼睛雾化的作用是什么| 看抑郁症挂什么科| 老人头晕是什么原因引起的| 干咳吃什么药效果好| 涮菜都有什么菜| 牙齿浮起来是什么原因| 苦口婆心是什么意思| 什么解酒最好最快| 肛塞有什么用| 喝苦丁茶有什么好处| 胃泌素释放肽前体高是什么原因| 什么水最解渴| 蒙奇奇是什么动物| 青鱼吃什么| 什么而不什么成语| pco2是什么意思| 一去不返是什么生肖| 水潴留是什么意思| 鞭尸是什么意思| 狮子座是什么象| 尿路感染是什么原因| 尿检白细胞弱阳性是什么意思| 梦见铲雪预示着什么| 血清肌酐高说明什么问题| inf是什么意思| 慢心律又叫什么药| 腰椎疼痛是什么原因| 扮猪吃老虎什么意思| 查摆是什么意思| 全会是什么意思| 六月底是什么星座| 喉咙发炎不能吃什么食物| 火龙果是什么季节的水果| 析是什么意思| 百度

邹加怡被任命为监察部副部长 邹加怡个人简历资料照片

原创
02/25 11:46
阅读数 4.7K

前言

百度 优质陈年黄酒更因其香幽雅且持久。

夜莺类似 Grafana 可以接入多个数据源,查询数据源的数据做告警和展示。但是有些数据源所在的机房和中心机房之间网络链路不好,如果由 n9e 进程去周期性查询数据并判定告警,那在网络链路抖动或拥塞的时候,告警就不稳定了。所以,夜莺引入了边缘告警引擎:n9e-edge。n9e-edge 进程部署在边缘机房,和边缘机房的时序库部署在一起,由 n9e-edge 负责边缘机房的告警判定工作,这样整个架构就稳定的多了。

架构详解

为了说明这个架构下的告警引擎工作原理,我画了一张架构图:

n9e-edge架构图

我们这里假设贵司有 3 个机房:中心主力机房、边缘机房 A 和边缘机房 B,其中边缘机房 A 和中心机房之间有专线,网络链路很好,边缘机房 B 和中心机房之间没有专线,走公网,网络链路不够可靠。

n9e 进程部署在中心主力机房,n9e 依赖 mysql 和 redis,所以 mysql 和 redis 也部署在中心主力机房。如果你想做高可用,中心机房的 n9e 可以部署多个实例,配置文件保持一致,连同一个 mysql 和 redis 即可。

上图中,我们有 5 个数据源:

  • 中心机房有一套 Loki,一套 ElasticSearch
  • 边缘机房 A 有一套 ElasticSearch,一套 Prometheus
  • 边缘机房 B 有一套 VictoriaMetrics

我们希望在中心 n9e 统一查看这 5 个数据源的数据,所以要把这 5 个数据源的访问地址配置到夜莺中,菜单位置:集成中心-数据源,如下图所示:

夜莺数据源管理

中心 n9e 可以通过内网地址直接连通中心机房和边缘机房 A 的数据源,但是无法直接连通边缘机房 B 的数据源(因为没有专线),那只能把边缘机房 B 的 VictoriaMetrics 暴露一个公网地址(假设地址为 ex.a.com)出来,中心 n9e 通过公网地址访问边缘机房 B 的 VictoriaMetrics,如下:

数据源外网地址配置

架构图中的 1、2、3、4、5 这 5 条线,表示中心 n9e 和 5 个数据源的连接关系。用户在查询数据的时候,是在 n9e 的 web 上查的,发请求给 n9e 进程,n9e 进程此时相当于一个 proxy,把请求代理给后端的各个数据源,然后把数据源的数据返回给用户。

n9e-edge 部署在边缘机房 B,用于处理 B 机房 VictoriaMetrics 的告警判定,n9e-edge 会从中心 n9e 同步告警规则(即图中的 A 那条线),然后把告警规则缓存在内存里,对本机房的 VictoriaMetrics 做告警判定工作。这样的架构下,n9e-edge 和 VictoriaMetrics 是内网连通的,所以告警比较可靠,另外即便 n9e-edge 连不通中心机房的 n9e 了,也不影响 B 机房的告警判定工作,因为 n9e-edge 内存中已经缓存了告警规则。

n9e-edge 产生的告警事件会调用 n9e 的接口写回中心 mysql,调用钉钉、飞书、FlashDuty 等的接口发送通知。如果 n9e-edge 和 n9e 之间网络断了,告警事件就写不到 mysql 了,但是只要 n9e-edge 所在机房的外网出口是好的,告警通知还是可以发出去的。

架构图中:

  • 中心机房的 n9e 负责中心机房的 Loki、ElasticSearch 的告警判定,也负责机房 A 的 ElasticSearch 和 Prometheus 的告警判定
  • 边缘机房 B 的 n9e-edge 负责机房 B 的 VictoriaMetrics 的告警判定

那如何指定不同的数据源和告警引擎之间的关联关系呢?其实是在数据源的管理页面:

夜莺数据源配置

上图中:

  • URL 是中心 n9e 读取数据的地址,在上例架构中,需要配置为 B 机房 VictoriaMetrics 的公网地址
  • 时序库内网地址是 n9e-edge 连接 VictoriaMetrics 的地址,如果 URL 已经是一个内网地址了,这个配置项就可以留空,留空之后 n9e-edge 就会使用 URL 中的地址。上例中,由于 n9e-edge 和 VictoriaMetrics 在同一个机房,所以这个地址应该配置为内网地址,这样告警判定更可靠
  • Remote Write URL 是 VictoriaMetrics 的 remote write 写入地址,用于记录规则,即 recording rule,n9e-edge 负责处理记录规则,把结果写回时序库,所以需要知道时序库的 remote write 地址,因为是给 n9e-edge 用的,所以使用内网地址。如果你没有用到夜莺的记录规则,这里可以不用配置
  • 关联告警引擎集群,上图选择的是 edge-b,这是 B 机房 n9e-edge 的名字(由 edge.toml 的 EngineName 字段指定),这样配置之后,就建立了 B 机房 n9e-edge 和 B 机房 VictoriaMetrics 之间的关联关系,就会由这个 n9e-edge 来处理 B 机房 VictoriaMetrics 的告警规则和记录规则

新版本的夜莺,n9e-edge 依赖一个 redis,所以需要在 B 机房部署一个 redis 给 n9e-edge 使用,注意,n9e-edge 所用的 redis 和中心机房 n9e 所用的 redis 不是一个。架构图中我特意标注了 R1、R2 两个名字,表示两个 redis,分别给 n9e 和 n9e-edge 使用。

最后说一下 categraf,如果网络链路比较好,categraf 可以把数据直接上报到中心机房的 n9e,比如中心机房和 A 机房的 categraf 都可以直接对接到中心机房的 n9e,但是 B 机房部署了 n9e-edge,那 B 机房的 categraf 就应该对接到 B 机房的 n9e-edge。

配置样例

要达到上述架构,各个组件的配置文件应该如何配置?这里给出一个示例。

中心机房 n9e 配置

中心机房 n9e 的默认配置文件是 etc/config.toml

[HTTP.APIForService]
Enable = true
[HTTP.APIForService.BasicAuth]
user001 = "ccc26da7b9aba533cbb263a36c07dcc5"
user002 = "ccc26da7b9aba533cbb263a36c07dcc6"

重点就是 HTTP.APIForService 这块的配置。默认 Enable 是 false 是为了安全考虑,即默认不支持 n9e-edge 架构,如果要支持,需要改成 true。n9e-edge 调用 n9e 的接口时,可以使用 BasicAuth 认证,即 HTTP.APIForService.BasicAuth 下面的部分,上例中配置了两个用户,分别是 user001 和 user002,密码是 ccc26da7b9aba533cbb263a36c07dcc5  ccc26da7b9aba533cbb263a36c07dcc6。其实配置一个用户就行,我配置两个只是为了演示。另外,如果你的 n9e 暴露在公网,千万要修改 BasicAuth 的默认密码,不然很容易被攻击。

边缘机房 n9e-edge 配置

边缘机房 n9e-edge 的默认配置文件是 etc/edge/edge.toml,首先 n9e-edge 要调用中心 n9e 的接口,所以要配置中心 n9e 的地址:

[CenterApi]
Addrs = ["http://N9E-CENTER-SERVER:17000"]
BasicAuthUser = "user001"
BasicAuthPass = "ccc26da7b9aba533cbb263a36c07dcc5"
# unit: ms
Timeout = 9000

N9E-CENTER-SERVER:17000 表示中心 n9e 的地址,你按照自己的环境调整即可。BasicAuthUser 和 BasicAuthPass 是中心 n9e 的 BasicAuth 用户名和密码,如果中心 n9e 没有开启 BasicAuth,这两个字段可以不填。还是那句话,千万要修改 BasicAuth 的默认密码,不然很容易被攻击。

新版本 n9e-edge 依赖 redis,所以要配置 redis 地址,默认应该是在 edge.toml 的最下面,自行修改即可。如果你是老版本,不依赖 redis,那就不用配置了。如何分辨你的版本的 n9e-edge 是否依赖 redis?就看你下载下来的 edge.toml 默认配置中是否带有 redis 配置,带了就说明依赖 redis。

边缘机房 categraf 配置

主要是注意 2 个地方,writer 的地址和 heartbeat 的地址,都配置为 n9e-edge 的地址:

...
[[writers]]
url = "http://N9E-EDGE:19000/prometheus/v1/write"

...
[heartbeat]
enable = true

# report os version cpu.util mem.util metadata
url = "http://N9E-EDGE:19000/v1/n9e/heartbeat"
...

N9E-EDGE:19000 表示 n9e-edge 的地址,注意,n9e-edge 默认监听的端口是 19000,也可以在 edge.toml 中自行修改。

ibex 配置

ibex 部分,即故障自愈的功能,这个功能有些公司担心安全问题不开放。如果你们要开启这个功能,同样的道理,在 edge.toml 中开启:

[Ibex]
Enable = true
RPCListen = "0.0.0.0:20090"

然后边缘机房的 categraf 连边缘机房的 n9e-edge 的 20090 端口即可,即 categraf 的 config.toml 要做如下配置:

[ibex]
enable = true
## ibex flush interval
interval = "1000ms"
## n9e ibex server rpc address
servers = ["N9E-EDGE-IP:20090"]
## temp script dir
meta_dir = "./meta"

N9E-EDGE-IP:20090 表示 n9e-edge 的 RPC 地址。注意这是 RPC 地址,不是 HTTP 地址,所以,不要在 N9E-EDGE-IP 前面画蛇添足加上 http:// 啦。

其他适用场景

除了网络链路不好的场景之外,有时为了安全考虑,网络也会有分区,比如某个网络区域只有一台中转机可以连通中心的 n9e,其他机器都不能连通,这时候就可以在中转机上部署 n9e-edge,然后其他机器的 categraf 连中转机的 n9e-edge 即可。

总结

这个边缘机房告警引擎的模式听起来稍微有点复杂,不过对提高监控系统的可用性有很大帮助,多读两遍本文,理解架构了就容易了,希望本文可以帮到你,加油!

展开阅读全文
加载中
点击引领话题?? 发布并加入讨论??
0 评论
1 收藏
0
分享
返回顶部
顶部
无机盐是什么 良缘是什么意思 去香港需要准备什么 牛宝是什么 七里香是什么
双源ct主要检查什么 增生性贫血是什么意思 日本人为什么长寿 什么是阳虚什么是阴虚 劳动法什么时候实施的
胆固醇高不能吃什么 脑血管堵塞吃什么药最好 原则性问题是什么意思 大便不成形吃什么中成药 梦见吃桃子是什么预兆
检查胰腺做什么检查 红薯是什么茎 氟斑牙是什么原因造成的 2月2号是什么星座 天山童姥练的什么武功
狗上皮过敏是什么意思hcv7jop7ns1r.cn 欧芹是什么hcv8jop7ns7r.cn 火龙果什么人不能吃hcv8jop8ns9r.cn 空气缸是什么意思hebeidezhi.com 吃什么能让子宫瘤变小hcv9jop7ns4r.cn
宝宝不爱喝水有什么好的办法吗imcecn.com 禾字五行属什么hcv9jop4ns7r.cn 二级产前超声检查是什么hanqikai.com 什么好像什么造句hcv8jop0ns9r.cn 一什么清风hcv9jop0ns8r.cn
一个火一个日一个立念什么hcv8jop0ns1r.cn 驼鸟吃什么食物gangsutong.com 血压低有什么办法hcv8jop5ns8r.cn 小姑娘为什么会得多囊卵巢hcv8jop0ns0r.cn 男性检查hpv挂什么科beikeqingting.com
便秘吃什么水果好hcv7jop6ns8r.cn 编外人员是什么意思hcv8jop3ns1r.cn 什么是喜欢什么是爱hcv8jop3ns8r.cn 阴道口疼是什么原因hcv9jop4ns3r.cn 沉香是什么味道hcv9jop2ns5r.cn
百度