关于linux:混合云一站式运维监控滴滴夜莺

31次阅读

共计 2379 个字符,预计需要花费 6 分钟才能阅读完成。

01 滴滴夜莺简介

滴滴夜莺是一套分布式高可用的运维监控零碎,最大的特点是混合云反对,既能够反对传统物理机虚拟机的场景,也能够反对 K8S 容器的场景。同时,滴滴夜莺也不只是监控,还有一部分 CMDB 的能力、自动化运维的能力,很多公司都基于夜莺开发本人公司的运维平台。开源的这部分功能模块也是商业版本的一部分,所以可靠性有保障、会继续保护,诸君可放心使用。

02 滴滴夜莺次要性能

本节论述滴滴夜莺的外围功能模块,大家能够重点关注用户资源核心和监控告警局部。

》用户资源核心

这是一个平台底座,所有的运维零碎,都须要依赖此零碎,内置用户、权限、角色、组织、资源的治理。最外围的是一棵组织资源树,树节点的类别和扩大字段能够自定义,组织资源树的层级构造最简略的组织形式是:租户 —> 我的项目 —> 模块 ,简单一点的组织形式: 租户 —> 组织 —> 我的项目 —> 模块 —> 集群,组织是能够嵌套的。

节点上挂两类对象,一个是人员权限,一个是资源,资源能够是各类资源,除了主机设施、网络设备,也能够是 rds 实例,redis 实例,当然,这就须要 rds、redis 的管控零碎和 RDB 买通了。滴滴在做一些大的中后盾商业化解决方案的时候,RDB就是表演了这么一个底座的角色。

》资产管理系统

这里的资产管理系统,是偏硬件资产的治理,这个零碎的使用者个别是系统部的人,资产治理类人员,利用运维绝对不太关注这个零碎。开源版本凋谢了一个主机设施的治理,大家能够二次开源,减少一些网络设备治理、机柜机架位的治理、配件耗材的治理等等,有了底座,下面再长出一些其余零碎都绝对容易。

agent 装置实现之后,会主动注册到资产管理系统,主动采集到机器的 sn、ip、cpu、mem、disk 等信息,这些信息为了灵活性思考,都是用 shell 采集的,上文装置步骤一章有提到,其中最重要的是 ip,零碎中有很多设施,ip 是须要全局惟一,其余的 sn、ip、cpu、mem、disk 等,如果无奈采集胜利,能够写为固定值,shell 里间接写 echo 一个假数据即可。

每一条资产,都有一个租户的字段,代表资产归属,须要管理员去调配资产归属(批改资产的所属租户),各个租户能力应用对应的资产,调配完了之后,会呈现在用户资源核心的“游离资源”菜单中,各个租户就能够把游离资源挂到资产树上去分门别类的治理应用。树节点的创立是在树上右键哈。

》工作执行核心

用于批量跑脚本,相似 psshansiblesaltstack,不过不反对 playbook,大道至简,就用脚本撸吧,shell、python、perl、ruby,都行,只有机器上有解析器。因为是内置到夜莺里的,所以体系化会更好一些,和组织资源树的权限是买通的,能够管制不同的人对不同的机器有不同的权限,有些人能够用 root 账号执行,有些人只能用一般账号执行,历史执行记录都能够通过 web 页面查看审计。工作自身反对一些管制: 暂停点 容忍度 单机超时工夫 中途暂停 中途勾销 中途 Kill等。

一些常常要跑的脚本,能够做成模板,模板是对脚本的一种治理形式,后续就能够基于模板创立工作,填个机器列表就能够执行。比方 装置 JDK调整 TCP 内核参数 调整 ulimit等机器初始化脚本,都能够做成模板。

开源版本的工作执行核心,能够看做是一个命令通道,后续能够基于这个命令通道构建一些场景化利用,比方 机器初始化平台 服务变更公布平台 配置散发零碎 等。工作执行核心各类操作都有 API 对外裸露,具体可参看:router.go 我司的命令通道每周执行任务量超过 60 万,就是因为各类下层业务都在依赖这个命令通道的能力。

》监控告警零碎

这块外围逻辑和 v2 版本差异不大,监控指标分成了设施相干指标和设施无关指标,因为有些自定义监控数据的场景,endpoint 不好定义,或者 endpoint 常常变动,这种就能够应用设施无关指标的形式来解决。监控大盘做了优化,引入了更多类型的图表,但滴滴夜莺毕竟是个 metrics 监控零碎,解决的是数值型时序数据,所以,最有用的图表其实就是折线图,其余类型图表,看看就好,场景较少。滴滴夜莺也能够对接 Grafana,有个专门的 DataSource 插件,Grafana 会更炫酷一些,只是,在数据量大的时候性能较差。

03 滴滴夜莺架构

解说几个关键点:

  • agent 被动与 job 建设 tcp 长连贯,拉取脚本工作执行,并且将后果上报;
  • agent 被动调用 ams 的 http 接口,上报本身的根本信息;
  • agent 被动调用 monapi 的接口,拉取采集策略,比方过程、端口、日志、插件的相干采集策略;
  • agent 被动与 transfer 建设 tcp 长连贯,推送监控数据;
  • transfer 将接管到的监控数据推送一份给 tsdb 做数据长久化,一份给 judge 做告警判断;
  • index 用来寄存监控数据的索引,tsdb+index 也能够应用 m3db 替换,滴滴夜莺反对多种后端存储机制;
  • judge 是告警引擎,周期性从 monapi 拉取告警策略,对接管到的数据做阈值判断,生成告警事件,将告警事件推给 redis,monapi 从 redis 生产这些告警事件,将事件长久化到数据库,并且按要求发送告警告诉。

04 滴滴夜莺材料

  • 文档:https://github.com/didi/nightingale/wiki
  • 视频:关注公众号“运维散兵”,查看历史音讯
  • 加群:加微信好友“UlricQin”,备注“夜莺加群”

05 企业反对

  • 在生产环节应用开源版的企业用户,能够退出 OCE,咱们会额定给予更好的反对,比方专属的技术沙龙、企业一对一的交换机会、专属的答疑群等。OCE 申请入口在 Obsuite 公众号的菜单里,点击【OCE 认证】也可间接申请。
  • 如果心愿有更弱小的性能,更稳固的商业反对,能够理解咱们的商业版本,商业版本的介绍入口也在 Obsuite 公众号的菜单里。
正文完
 0