无监控,不运维!深入浅出介绍ChengYing监控设计和使用

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 监控系统俗称「第三只眼」,几乎是我们每天都会打交道的系统,它也一直是IT系统中的核心组成部分,负责问题的发现以及辅助性的定位。ChengYing作为一站式全自动化全生命周期大数据平台运维管家,自然也提供大数据产品的监控服务。这篇文章,将为大家系统性地介绍ChengYing监控的设计和使用,带大家进一步了解ChengYing。

监控系统俗称「第三只眼」,几乎是我们每天都会打交道的系统,它也一直是IT系统中的核心组成部分,负责问题的发现以及辅助性的定位。

ChengYing作为一站式全自动化全生命周期大数据平台运维管家,自然也提供大数据产品的监控服务。这篇文章,将为大家系统性地介绍ChengYing监控的设计和使用,带大家进一步了解ChengYing。

常见监控系统比较

目前市面上主流大众都在用的监控系统主要有zabbix、openfalcon、prometheus,这三者都有各自适合的使用场景。下面来看下这三种监控系统各自的优缺点。

zabbix

zabbix属于老牌企业监控解决方案,优点是在企业的基础设施监控场景下提供了非常丰富的采集插件,能够快速建立起企业内部基础设施的监控和基础设施可视化大屏(包括网络的可视化等)。

zabbix的不足之处在于后端数据库使用了MySQL对监控数据进行存储,因此无法满足现在多维度化的告警需求。同时随着时间的推移,监控告警数据激增的瓶颈也会出现,同样的在对接应用层监控缺乏,所以更适合企业底层基础设施的监控。(注:最新版本的数据库替换了TimescaleDB)

openfalcon

openfalcon是小米开源的企业级监控解决方案,它整体的架构上吸取了zabbix的经验同时也解决了zabbix的不足之处,但是社区的活跃性不高。

prometheus

prometheus是谷歌开源的新一代监控系统,也是契合目前云原生较好的解决方案。优势在于社区活跃度高能推进普适化功能的演进,比如之前只支持pull方式,现在prometheus自身支持了可靠的push的方式推送数据到远端tsdb时序数据库中,同时单点的也能支撑起数百万的metrics指标数据。

不足之处在于官方不提供高可用的架构,需要自行处理,这些方案在社区中也有很多。

ChengYing监控设计

ChengYing平台则是选择了集成prometheus这套监控解决方案。其中的主要原因,是这套解决方案是目前主流的方案,使用的人群较多,推广使用上门槛低而且易维护,同时也适合ChengYing平台的容器化部署

下面我们来看下这套监控系统是如何在ChengYing平台上进行集成的。

架构设计

首先我们在这套平台的基础上增加了一个dt-alert组件用来对接第三方的告警发送处理,其次我们对grafana进行了少量的二次开发,开发的内容主要在于打通ChengYing平台的告警通道和grafana上的通道的对接。

整体结构如下:

image.png

平台接入好主机和部署好服务后,prometheus就能通过服务发现的方式完成目标抓取作业的生成获取监控数据。grafana从prometheus中获取指标数据进行展示,同时触发告警将告警内容发到dtalert组件中,dtalert组件将告警信息发往第三方平台上。

监控设计

那么prometheus是如何通过服务发现来获取目标抓取作业的信息的?

这里ChengYing主要是使用了prometheus的「基于文件的服务发现功能」,Prometheus 会按指定的时间计划从这些文件重新加载目标。对于集群我们分为两部分的监控信息,主机和服务。

● 主机

主机的服务发现流程是在主机接入集群的时候,ChengYing会对接入的主机进行初始化操作,该操作会下发node-exporter,然后将主机的ip和node-exporter端口作为一个目标作业写入node_sd_file.yml文件中。当然用户也能自己指定exporter的端口,这个配置已经提取到的matrix的配置文件中。

节点接入后生成的信息如下:

image.png

● 服务

至于服务同样也是使用基于文件的服务发现方式,那么服务的exporter该如何指定和部署呢?

我们在制作产品包的时候就需要把该服务的监控指标给暴露出来,在产品包的schema.yml文件中指定该服务的exporter的端口,同时服务也要将exporter组件放到产品包中,在启动服务的时候一同启动。如下:

image.png

image.png

在制作好产品包后,通过ChengYing平台去部署该产品包的时候,由于需要对服务进行编排,那么我们就能同时解析出服务暴露的指标端口和服务所部署的目标ip地址。

在完成服务部署后,ChengYing就能将该服务的目标抓取作业写入service_sd_file.yml文件中。(要是我们在部署过程中发现我们使用的exporter端口发生了改变,可以在部署产品包的时候在页面修改对应的配置,平台最终会以修改的为准)

image.png

告警设计

ChengYing在获取了监控信息后,该如何展示这些指标数据以及告警呢?

· 首先需要为该产品包配置专属的仪表盘,在这个仪表盘配置中配置好服务要监控的指标信息及其水位线,然后还需要为该仪表盘增加一些标签,标签的key-value为"产品包的名称"和"服务名称",增加这些标签的用处在于通过ChengYing页面查看对应服务的仪表盘时能从grafana中过滤出来

· 将配置好的仪表盘导入到ChengYing上

· 然后我们通过在ChengYing上访问服务的时候就能根据产品包名称和服务名称检索到我们指定的仪表盘

对于告警的话,当我们在ChengYing上配置好告警通道后,还需要在grafana上为服务配置好告警的内容,当grafana触发告警水位线的时候,会将定义好的告警内容消息发送到dtalert组件上,dtalert组件处理好消息内容后,再根据通道类型将告警信息发到第三方平台上。

image.png

ChengYing监控告警使用

下面我们来具体看下ChengYing的监控告警具体是怎样使用的。

概览页面的轮播盘配置

我们可以在概览页面上展示需要关注的核心仪表盘的轮播,该功能需要自行配置:

· 登录ChengYing平台选择"运维中心"->"概览",然后点击编辑按钮,将会跳转到grafana的轮播配置页面,或者通过访问ChengYing的地址(http://xxx/grafana/playlists),然后创建需要的轮播仪表盘

· 创建的轮播的设置中,轮播的名称必须填写"DTinsight_index",轮播间隔根据需要填写,然后选择需要轮播的仪表盘,最后点击保存即可

· 刷新概览页面就会展示结果

image.png

平台告警通道配置

● 创建告警通道

选择"部署中心"->"告警监控"->"告警",创建告警通道。

image.png

● 选择告警通道类型

选择告警通道类型,这里以选择钉钉通道为例,填写相关的信息,需要注意以下两点:

第一点为:"URL"处地址平台会默认填写dtalert的地址,这个地址为容器内部通信的域名地址,若使用host模式部署,该地址需要手动修改为dtalert所在节点的ip地址。

第二点为:通知消息模板,这里主要是配置告警的消息模板即配置模式使用的是grafana的原生格式,通过grafana告警的请求中获取对应的告警名称、消息内容、状态、和链接地址,如下:

告警名称: ${ruleName}

告警信息: ${message}

告警状态: ${state}

告警链接: ${ruleUrl}

而对于“通道配置信息”则是在对接第三方平台的时候需要对接的相关配置,如对接大鱼短信的时候配置其对应的对接身份id、访问的key等信息。

image.png

● 发送测试

完成告警通道配置后就可以点击「发送测试」按钮检查通道的正常。

image.png

grafana告警配置

01

"运维中心"->"服务"->"仪表板",选择需要为哪个服务进行告警。

image.png

02

编辑仪表盘,添加告警规则。

image.png

03

添加告警规则,设置需要告警的水位线,和告警名称。

image.png

04

添加告警通道,选择上面创建的告警通道,然后在“Message”里面填写需要自定义的内容,该内容会替换到上面告警模板中的${message}变量。

image.png

05

查看告警信息。

image.png

06

若想在“Message”里面体现告警的节点等相关标签信息,可以在仪表盘编辑页的Metrics选择"Query Inspector",查看当前指标数据中带有的标签信息,如下的metric的object对象内容,然后就可以从这个对象中获取对应的标签,进行完善告警内容。

image.png

修改告警“Message”内容如下:

image.png

image.png

视频课程&PPT获取

视频课程:

https://www.bilibili.com/video/BV16g41147NG/?spm_id_from=333.999.0.0

课件获取:

关注公众号“数栈研习社”,后台私信“ChengYing”获得直播课件


想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szalykfz

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
目录
相关文章
|
2月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
1天前
|
消息中间件 数据采集 运维
一份运维监控的终极秘籍!监控不到位,宕机两行泪
【10月更文挑战第25天】监控指标的采集分为基础监控和业务监控。基础监控涉及CPU、内存、磁盘等硬件和网络信息,而业务监控则关注服务运行状态。常见的监控数据采集方法包括日志、JMX、REST、OpenMetrics等。Google SRE提出的四个黄金指标——错误、延迟、流量和饱和度,为监控提供了重要指导。错误监控关注系统和业务错误;延迟监控关注服务响应时间;流量监控关注系统和服务的访问量;饱和度监控关注服务利用率。这些指标有助于及时发现和定位故障。
17 1
|
12天前
|
运维 Prometheus 监控
运维之眼:监控的艺术与实践
在信息技术飞速发展的今天,运维监控已成为保障系统稳定运行的关键。本文将探讨运维监控的重要性,介绍常用的监控工具和方法,并通过实际案例分析,展示如何有效地实施监控策略,以确保系统的高可用性和性能。
|
17天前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
35 1
|
22天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
2月前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
2月前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践指南
在当今数字化时代,企业对运维(Operations)的需求日益增长。运维不仅仅是保持系统运行那么简单,它涉及到监控、日志管理、故障排除、性能优化和自动化等多个层面。本文将从实际操作的角度出发,详细探讨如何构建一个高效的运维体系。通过具体案例,我们将了解不同运维工具和方法的应用,以及它们是如何帮助企业提高生产效率和降低运营风险的。无论你是刚接触运维的新手,还是经验丰富的专家,这篇文章都将为你提供宝贵的参考和启示。
|
1月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的实践之路
在当今信息技术飞速发展的时代,运维作为保障企业信息系统稳定运行的关键环节,其重要性日益凸显。本文将探讨如何通过构建高效的运维体系,实现从被动响应到主动预防的转变,以及如何利用自动化工具提升运维效率和质量。我们将从运维的基本概念出发,逐步深入到监控、自动化和安全管理等方面,为企业提供一套实用的运维优化方案。
55 0
|
2月前
|
存储 运维 监控
构建高效运维体系:从监控到自动化的全方位实践
在当今信息技术飞速发展的时代,运维作为保障信息系统稳定运行的关键环节,其重要性不言而喻。本文将围绕如何构建一个高效的运维体系进行深入探讨,内容涵盖从监控、日志分析到自动化运维工具的选择与应用,以及在实际工作中的经验和案例分享。通过本文的介绍,读者将能够了解到如何在复杂多变的技术环境中,确保系统的高可用性、高性能和安全性,为业务连续性提供坚实保障。
|
3月前
|
数据采集 运维 监控
自动化运维:用Python打造简易监控系统
【8月更文挑战第31天】在追求高效的IT世界里,自动化运维不再是奢侈品而是必需品。本文将通过一个Python示例,展示如何构建一个简单的系统监控工具。从数据采集到警报触发,我们将一步步解锁自动化的秘密,让你的服务器管理变得轻松而高效。

热门文章

最新文章