国产监控之光-夜莺监控(Nightingale)_每日热门
国产监控之光-夜莺监控(Nightingale)
夜莺是什么?
夜莺是一个服务端组件,类似 Grafana
,可以对接不同的TSDB时序数据库
作为数据源,支持的TSDB时序数据库
如Prometheus
、VictoriaMetrics
、Thanos
等等,只要数据进到这些库里了,夜莺就可以对数据源的数据进行分析、告警、可视化,以及后续的事件处理、告警自愈。
当然,夜莺也有端口接收监控数据,可以跟开源社区常见的各种监控采集器打通,比如Telegraf
、Categraf
、Grafana-agent
、Datadog-agent
、Prometheus
生态的各类Exporter
等等。这些agent
采集了数据推给夜莺,夜莺适配了这些agent
的数据传输协议,所以可以接收这些agent
上报的监控数据,转存到后端对接的数据源,之后就可以对这些数据做告警分析、可视化。
夜莺部署架构
根据生产网络环境,夜莺可以实现中心汇聚式部署方案和边缘下层式混杂部署方案。
(资料图片仅供参考)
对于网络结构简单或小规模网络场景下,采用中心汇聚式部署方案实施比较简单,可以n9e
核心组件采用单机或集群方式搭建,集群模式下前端需架设Nginx
作为软负载或F5
进行硬件设备负载,同时依赖MySQL
和Redis
中间件存储基础的元数据、用户信息等,不存在大数据量问题,因此,不用太考虑性能瓶颈。
Categraf
是夜莺团队开发维护的监控采集侧核心组件,类似Telegraf
、Grafana-Agent
、Datadog-Agent
,希望对所有常见监控对象提供监控数据采集能力,采用All-in-one
的设计,不但支持指标采集,也希望支持日志和调用链路的数据采集。Categraf
采集器采集了数据推送给夜莺,然后转存到后端数据源,如TSDB
、ElasticSearch
等。
注意:Categraf不属于夜莺监控系统组件,夜莺定位是服务端组件,不侧重监控数据采集侧。
所有机房网络域下监控数据采集器都直接推数据给n9e
,这个架构最为简单,维护成本最低。当然,前提是要求机房网络域结构简单、规模不大场景,即不太关注跨网络域访问安全问题和大规模跨网络域传输数据网络带宽限制等。
如果非上述场景,则要使用下面的边缘下沉式混杂部署方案:
这个图尝试解释 3 种不同的情形,比如 A 机房和中心网络链路很好,Categraf
可以直接汇报数据给中心n9e
模块,另一个机房网络链路不好,就需要把时序库下沉部署,时序库下沉了,对应的告警引擎和转发网关也都要跟随下沉,这样数据不会跨机房传输,比较稳定。但是心跳还是需要往中心心跳,要不然在对象列表里看不到机器的 CPU、内存使用率。还有的时候,可能是接入的一个已有的Prometheus
,数据采集没有走Categraf
,那此时只需要把Prometheus
作为数据源接入夜莺即可,可以在夜莺里看图、配告警规则,但是就是在对象列表里看不到,也不能使用告警自愈的功能,问题也不大,核心功能都不受影响。
边缘下沉式混杂部署方案中涉及到两个核心组件:n9e-pushgw组件和n9e-alert组件。
n9e-pushgw组件提供类似于remote_write
和remote_read
功能,categraf
采集器将数据通过remote_write
推送给n9e-pushgw
组件,然后转存到tsdb
时序数据,n9e
服务端查询检索数据时通过remote_read
讲求转发到对应机房下的n9e-pushgw
组件。n9e-alert
组件提供基于tsdb
时序库中的指标数据告警功能。
一键部署
笔者已经在公有云上搭建了一套临时环境,可以先登录体验下:
http://124.222.45.207:17000/login 账号:root/root.2020
下面介绍下使用docker-compose
快速一键部署。
1、代码在这里: https://github.com/ccfos/nightingale 。如果有 docker 和 docker-compose 环境,我们就可以一键安装了:
git clone https://github.com/ccfos/nightingale.git cd nightingale/docker docker-compose up -d
2、安装完成之后,查看组件部署运行情况:
[root@VM-4-14-centos docker]# docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------------------------- categraf /entrypoint.sh Up ibex sh -c /wait && /app/ibex s ... Up 0.0.0.0:10090->10090/tcp, 0.0.0.0:20090->20090/tcp mysql docker-entrypoint.sh mysqld Up 0.0.0.0:3406->3306/tcp, 33060/tcp n9e sh -c /wait && /app/n9e Up 0.0.0.0:17000->17000/tcp prometheus /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp redis docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
注意,docker中不能有同名组件,比如我在安装过程中出现:ERROR: for prometheus Cannot create container for service prometheus: Conflict. The container name "/prometheus" is already in use by container xxx. You have to remove (or rename) that container to be able to reuse that name。
3、浏览器访问n9e组件暴露的17000端口,即可看到页面,默认账号密码如下:
username = "root" password = "root.2020"
4、访问prometheus组件暴露的9090端口,可以打开Prometheus WebUI:
从Targets界面显示Prometheus接入2个目标采集点,从端口可以识别一个抓取n9e组件监控指标,另一个就是抓取prometheus组件自身指标。
基本使用
1、打开【基础设施】/【机器列表】菜单,该界面提供Categraf
采集点机器管理,在【未归组对象】下就可以看到刚才部署的一个Categraf
采集点:
Categraf 是一个监控采集 Agent,类似 Telegraf、Grafana-Agent、Datadog-Agent,希望对所有常见监控对象提供监控数据采集能力,采用 All-in-one 的设计,不但支持指标采集,也希望支持日志和调用链路的数据采集。
Categraf通过Heartbeat心跳服务将节点的状态、内存、CPU、时间偏移、核数、OS等信息上报给n9e组件,进而Web上方便查看。
方便机器列表管理,可以进行分组,如下图我们对机器按照机房地域划分,并创建chengdu业务组:
这里我打开【作为标签使用】开关,该业务组下机器采集数据推送TSDB库时会自动打上busigroup=英文标识标签,方便基于该维度进行数据聚合统计。
【团队】这栏用于权限控制,比如控制哪个团队成员可以对该业务组下机器具有读写权限,或者只读权限等。【人员管理】/【团队管理】页面可以创建、管理团队。
选中机器,点击【批量操作】下【修改业务组】,将机器移入到新创建的业务组里:
还可以选中机器,选择【批量操作】/【绑定标签】,手工为机器打上指定标签,则关联机器指标存储到TSDB时序数据库时会带上这些标签:
2、配置数据源
打开【系统配置】/【数据源】菜单,进入数据源管理界面,选择添加Prometheus数据源:
我这里采用docker compose一键部署,所以这里url可以填写http://prometheus:9090。
2、添加好数据源,打开【时序指标】/【即时查询】菜单:
这个查询基本类似于Prometheus WebUI查询页面,关联数据源,输入PromQL即可查询指标数据,点击Graph还可以展示对应的区间趋势图。
指标cpu_usage_active{busigroup="chengdu",cpu="cpu-total",env="test",ident="categraf01",source="categraf"}
标签说明:
1、busigroup="chengdu"
:这个就是刚才创建业务组时打开【作为标签使用】开关配置的标签;
2、cpu="cpu-total"
:组件暴露指标自身业务标签;
3、env="test"
:刚才在机器上手工绑定标签配置;
4、ident="categraf01"
:机器标识,即Categraf
组件所属主机名;
当然也可以在Categraf
组件config.toml
配置文件中指定hostname
:
5、source="categraf":Categraf组件config.toml配置文件中global.labels配置信息:
[global.labels] source="categraf" # region = "shanghai" # env = "localhost"
总结
夜莺监控系统部署架构简单,对于小规模监控场景下快速搭建一套监控系统来说是比较值得推荐的方式,整体体验也比较友好。但对于大规模监控场景,可能还不是那么的足够完善。
Categraf采集组件
1、categraf
采集器采用推送模式(push),而不是Prometheus
的拉(pull)模式,push模式导致采集器存在状态,即采集器要知道自己要推送给哪个服务后端的配置,少量categraf采集器来说无所谓,但是一旦成千上万采集点,甚至几百采集点,维护成本都是比较高的,特别是后端地址发生变更等。
2、push模式还存在接入权限问题,因为往往服务后端和采集器维护是两拨人,服务后端是运维人员,而采集器是项目组人员维护,比较难于控制接入,可能个别项目组大量接入采集点造成服务端压力过大奔溃,从而影响整个系统运行稳定。
3、push模式还存在推送频率问题,categraf
组件可以配置推送频率,但是只能在采集器端控制,不同项目组运维人员可能配置不同推送频率,难以从全局控制,或者这么个场景:前期采集点少,数据量不大,推送频率5s,但是后面接入的越来越多,存储不够用,需要下调推送频率15s,没有统一修改调整方式。
部署架构优化
边缘下沉式混杂部署方案中categraf
采集器还需要和夜莺后端n9e
组件进行heartbeat
心跳交互,这里可能会存在问题,对于大规模网络下,categraf
会部署成千上万个实例,服务后端n9e
组件维护这些心跳性能:
1、服务后端n9e
组件维护这些心跳对服务性能和网络IO都存在损耗问题,一个心跳交互影响微乎其微,但是放到成千上万个节点心跳这个影响就会扩大;
2、边缘下沉式混杂部署方案往往就是由于网络环境复杂,为了heartbeat
需要打通服务后端和那么多categraf组件网络连通性,可能影响是致命的;
3、n9e
服务后端和categraf
组件心跳传递数据主要:在线状态、CPU%、内存、CPU核数、CPU架构等,这个在线状态更多的是反映后端和categraf
组件连通性,我觉得在线状态应该反映categraf
有没有正常采集指标数据并推送到tsdb
库可能更加合理,查看categraf
采集组件历史一段区间内的在线状态、CPU、内存等,后端还需要考虑存储这些指标数据;
所以,categraf
心跳交互这个逻辑应该移除,将心跳数据以指标方式暴露,并增加一个up指标反映在线状态,在categraf
向n9e-pushgw
组件推送数据时一并存储到tsdb
时序库中。n9e
后端在查询categraf
当前状态或某历史区间在线情况时,都可以通过n9e-pushgw
从tsdb
时序库中拉取展示。
比如中心网络和边缘下沉网络可能有一段时间网络断开,这种只会影响后端过来的查询不能执行,categraf
采集组件本身依然可以正常采集数据并推送到tsdb
时序库,对于categraf
采集器组件来说依然是正常在线的,因为网络域内部是正常的,待网络恢复后,n9e
服务端就可以通过n9e-pushgw
组件从tsdb
时序库中查询出这段时间categraf
是否正常采集、CPU使用率等等情况。
边缘下沉式混杂部署方案不同网络域下TSDB
时序库是割裂的,全局聚合汇总数据暂未发现如何实现:
标签:
推荐文章
- 人机对话技术升级 之江实验室获2021年度浙江省科技进步二等奖
- 研究人员最新发现 单个细胞可同时处理成百上千个信号
- 陆军第73集团军某旅 创新升级模拟训练器材
- 长期暴露在光照下性能退化 科学家发现钙钛矿太阳能电池最大缺陷
- 宁夏启动双百科技支撑行动 构建高水平产业创新体系
- 陆军炮兵防空兵学院 毕业学员综合战术演习现地备课工作圆满完成
- 国内首颗以茶叶冠名遥感卫星 安溪铁观音一号发射成功
- 区域特色产业转型升级 四川屏山以“3+”模式推进科技创新工作
- 激发创新动能促进产业发展 无锡滨湖走出产业转型“绿色”路
- 绥化全域低风险!黑龙江绥化北林区一地调整为低风险
- 走访抗美援朝纪念馆:长津湖的寒冷,与战斗一样残酷
- 节后第一天北京白天晴或多云利于出行 夜间起秋雨或再上线
- 走近网瘾少年们:他们沉迷网络的病根何在?
- “双减”后首个长假:亲子游、研学游需求集中释放
- 获2021年诺奖的蛋白,结构由中国学者率先解析
- 他从一窍不通的“门外汉”,到重装空投“兵专家”
- 升旗、巡岛、护航标、写日志,他们一生守护一座岛
- 中国故事丨“沉浸式”盘点今年的教育好声音!
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- “双减”出台两个月,组合拳如何直击减负难点?
- 《山海情》里“凌教授”的巨菌草丰收啦
- 且看新疆展新颜
- 天山脚下,触摸丝路发展新脉动
- 160万骑手疑似“被个体户”?平台不能当甩手掌柜
- 网游新政下,未成年人防沉迷的“主战场”在哪?
- “辱华车贴”商家及客服被行拘,处罚要不放过每一环
- 沙害是自然界的恶魔,而他是荒沙碱滩的征服者
- 面对婚姻,“互联网世代”的年轻人在忧虑什么?
- IP类城市缘何吸引力强?玩法创新带动游客年轻化
- 国庆主题花坛持续展摆至重阳节
- 都市小资还是潮流乐享?花草茶市场呈爆发性增长
- 从1.3万元降到700元,起诉书揭秘心脏支架“玄机”
- 北京国庆7天接待游客超861万人次 冬奥线路受青睐
- 陈毅元帅长子忆父亲叮嘱:你们自己学习要好,就可以做很多事儿
- 报告显示:这个国庆假期,粤川浙桂赣旅游热度最高
- 中国科技人才大数据:广东总量第一,“北上”这类人才多
- 嘉陵江出现有记录以来最强秋汛
- 全国模范法官周淑琴:为乡村群众点燃法治明灯
- 线上教学模式被盯上,网络付费刷课形成灰色产业链
- 云南保山:170公里边境线,4000余人日夜值守
- 警方查处故宫周边各类违法人员12人
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- 受南海热带低压影响 海南海口三港预计停运将持续到10日白天
- 多地网友投诉遭遇旅游消费骗局,呼吁有关部门严查乱象
- 神经科学“罗塞塔石碑”来了:迄今为止最完整的大脑细胞图谱
- 汾河新绛段发生决口
- 陕西支援14省份采暖季保供用煤3900万吨
- 这场红色故事“云比拼”,穿越时空为我们指引方向
- 受琼州海峡封航影响 10月7日、8日进出海南岛旅客列车停运
- 辽宁省工信厅发布10月8日电力缺口橙色预警
- 广州10月8日至20日对所有从省外来(返)穗人员实施核酸检测
- 假期怎么过得这么快?国庆5.15亿人次出游,你咋过的?
- 国庆假期全国道路交通总体安全平稳有序
- 哈尔滨市南岗区爱达88小区将调整为低风险地区
- 新疆霍尔果斯市2例无症状感染者新冠病毒均为德尔塔变异株
- 百闻不如一见——北京大学留学生参访新疆
- 看,生机勃勃的中国
- 国庆假期中国预计发送旅客4.03亿人次
- 新疆兵团可克达拉市:195名密接者已全部隔离医学观察
- 山西平遥消防4天29次救援:拖着腿走路也要完成任务
- 国庆假期北京接待游客861.1万人次
- 冷空气自西向东影响中国大部地区 气温将下降4℃至6℃
- 新疆哈密市巴里坤县发生4.3级地震 震源深度9千米
- 国庆假期中国国内旅游出游5.15亿人次
- 公安部交管局:国庆假期日均出动警力18万余人次,5位交警辅警牺牲
- 受南海热带低压影响广东将暂别高温天气
- “数说”杭州无障碍改造:触摸城市“爱的厚度”
- 新疆霍尔果斯无症状感染者新冠病毒属德尔塔变异株 未发现高度同源的基因组序列
- 新疆伊犁州:妥善做好滞留旅客安置返回工作
- 国庆假期广西累计接待游客逾3611万人次 实现旅游消费272.41亿元
- 2021年MAGIC3上海市青少年三对三超级篮球赛落幕
- 新疆兵团第四师可克达拉市1名无症状感染者为餐饮从业人员
- 哥伦比亚遇上广州:洋茶人“云上”喫茶 传播中国茶“味道”
- 厦门同安区四区域调整为低风险 全市无中高风险地区
- 直径2米“面气球”亮相 山西首届“寿阳味道”美食大赛启幕
- 世界第一埋深高速公路隧道大峡谷隧道出口端斜井掘进完成
- 浙南沿海村村发展有妙招 搭乘共富快车打造“海上花园”
- 新疆霍尔果斯两例无症状感染者新冠病毒均属德尔塔变异株
- 南沙港铁路国庆假期不停工 力争今年年底开通
- 添加陌生人为好友 内蒙古两女子被骗126万
- 中国国庆假期出行热:数字改变“关键小事”
- 水能载物亦能“生金” 浙江遂昌山村以水为媒奔共富
- 铁路人国庆雨中巡查排险记:一身雨衣、一把铁锹保安全畅通
- 铁路迎返程高峰 西安局集团公司加开79趟高铁列车
- 受热带低压影响 琼州海峡北岸等待过海车辆排长龙
- 哈尔滨市学校有序恢复线下教学
- 哈尔滨一地风险等级调整为低风险
- 从进“培训班”到看《长津湖》
- 安徽黄山国庆假期迎客12万余人 旅游市场稳步复苏
- 山西解除持续近90小时的暴雨四级应急响应
- 科学拦峰错峰削峰 嘉陵江洪水过境重庆中心城区“有惊无险”
- 粤高速大湾区路段假期车流集中 跨珠江口通道尤甚
- 千年街区“非遗”风催热国庆假期本地游
- “颜值担当”里的中国,映照“万物和谐”新气象
X 关闭
资讯
- 国产监控之光-夜莺监控(Nightingale)_每日热门
- 财经头条:我国外贸开局平稳逐月向好 "新三样"表现亮眼|全球聚看点
- 港股异动 | 奈雪的茶(02150)涨超9% 联合非遗大师首推龙井茶饮
- 【全球独家】外交部领事司:中国公民暂勿前往苏丹
- 速讯:海口渡海路排水管网完善工程项目通过竣工验收
- 液体药物能带上飞机吗_飞机上能带多少液体
- 自吸和涡轮增压哪个好?_自吸和涡轮增压哪个好_全球速看
- 当前快看:大洗牌!山东男篮5本土球员今夏离队,前国手或投奔西热加盟同曦
- 援巴新中国医疗队成功开展首例腹腔镜肾切除手术
- 李鸿彬:4.10-4.14黄金本周策略总结,事实说话!!|速看料
- 玩游戏赚人民币的端游_玩游戏赚人民币-资讯
- 天天播报:ios935如何升级到ios13_ios 9 3 5
X 关闭