摘要:告警功能是各大云平台必不可少的模块,个性化的告警配置,为帮助用户和运维人员及时发现问题发挥着重要作用。

本文分享自华为云社区《GaussDB(DWS) 数据库智能监控系统告警框架上线啦!》,作者:codefulture。

本文将从一下几个方面介绍DMS告警框架:

  • 数据库智能监控系统告警框架的来源
  • 告警框架的实现
  • 告警框架的不足和期望

一、数据库智能监控系统告警框架的简介

告警功能是各大云平台必不可少的模块,包括阿里云、腾讯云,乃至华为云本身都提供了十分丰富的告警功能。个性化的告警配置,为帮助用户和运维人员及时发现问题发挥着重要作用。

数据库智能监控系统(简称DMS)告警框架(以下简称告警框架)用于监控数据仓库的集群信息,且基于8.1.1以上版本的集群进行开发,如果您的集群版本低于8.1.1或没有安装DMS,则不能适用次告警功能。

告警功能是结合产品自身需求、业务需求、客户需求独立进行设计与开发,为了能够让用户更快速的熟悉和使用次功能,告警功能在设计之处也参照了其他平台的使用方式、相关概念,并结合自身情况进行调整,完成了初版的设计与开发。

二、告警框架的实现与使用

1. 告警框架的实现

在说具体实现之前,先了解下告警框架中涉及的相关概念。

  • 告警指标:告警指标是实际监控的内容,如:CPU使用率、磁盘使用率、IO等。
  • 告警策略:告警策略是触发告警的最小单元,每一条策略针对一种告警指标。告警策略分为阈值策略、状态策略等。
  • 告警规则:告警规则是实际监测(任务调度)的最小单元,是告警策略的集合。告警规则包含自默认规则和自定义规则。
  • 默认告警规则:默认规则是系统提供的基础告警项,用户只需根据业务简单的配置,即可收到告警信息。
  • 义告警规则:当默认告警规则不能满足实际需求时,用户可根据自己的实际需求创建自定义告警规则。
  • 规则、告警策略、告警指标三者关系:一个告警规则(默认/自定义)可包含多个告警策略,并且规则中的策略存在不同关系,当前已知策略关系如下:
  1. 相互独立(或):策略之间并无实际联系,只要一个策略满足条件则发送告警;
  2. 优先级:一般指同一规则下,所有策略监控的指标项相同,但触发的阈值不同,按照阈值递减顺序判断是否发送告警;
  3. 与:所有策略都满足条件则发送告警。

了解了以上概念,再来说下告警框架的组成,告警框架主要分为三大部分,监控指标采集、告警策略定制、告警任务调度。

1-1. 监控指标采集

监控数据库,必须要对数据库各指标数据进行采集,通过合理的统计查询,获得实时或周期性的数据库和集群的状态,结合告警策略触发告警。

1-2. 告警策略定制

下图所示是告警策略的组成,通过各配置项的不同组合,达成多样化的配置,后续版本的迭代中,会加入更多的可配置项,以支持更多的业务场景。

1-3. 告警任务调度

监控指标是周而复始的过程,需要一个稳定的调度器支撑告警框架的任务调度,目前采用的是分布式调度框架Quartz。下图所示是调度任务的执行逻辑。

2. 告警框架的使用

DMS告警框架位于【数据仓库服务】中的【告警管理】菜单中。

首页提供了告警统计功能,包含了一周内发生的告警,用户可查看统计数字和告警详细信息。

点击【查看告警规则】查看告警规则列表。

告警框架提供了自定义告警规则和默认告警规则,默认告警规则未系统内置,用户可根绝自身需求添加自定义告警。

点击【创建规则】或【修改】按钮进入配置页面。

目前可修改的内容只有“绑定集群”、“阈值”、“持续周期”、“抑制条件”、“告警级别”,其他选项,将在后续的版本中放开为用户提供更丰富的配置选择。

2-1. 各修改项说明

  1. 修改绑定集群可以设置次告警规则适用的集群范围,默认为全部,可多选;
  2. 修改阈值可以调整触发告警的上限或下限,每种指标默认提供了阈值范围,可按照页面提示和实际情况进行合理修改。
  3. 修改持续周期,可以拉长或缩短指标数据的查询范围,检测的是长周期的指标变化趋势,还是某时刻的指标异常变化。
  4. 修改抑制条件可以控制告警的发送频率,处于抑制期的告警不会重复发送。

告警框架的不足与期望

DMS告警框架还在建设当中,存在诸多不足,譬如:还需提供更多的监控指标,支持多种策略配置方式,告警项的拓展不够便捷等。

除了解决上述的痛点,更多的希望告警框架能够和系统的功能模块联动起来,让监控系统更“智能”。

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~

点击关注,第一时间了解华为云新鲜技术~

有了这个告警系统,DBA提前预警不是难题的更多相关文章

  1. DBA成长路线

    从开发转为数据库管理,即人们称为DBA的已经有好几年,有了与当初不一样的体会.数据是企业的血液,数据是石油,数据是一切大数据.云计算的基础.作为DBA是数据的保卫者.管理者,是企业非常重要的角色.对于 ...

  2. MySQL监控和预警

    https://blog.csdn.net/zhaowenbo168/article/details/53219860 1.摘要 本人从事Java Web开发,在项目开发中会用到很多中间件,本文主要介 ...

  3. 提前体验让人"回归Windows怀抱"的Windows Terminal

    前言 在一年一度的微软开发者大会Build 2019登场的Windows Terminal饱受好评,大家对其也是充满了兴趣和热情,程序员的朋友圈都被微软发布的最新终端 windows Terminal ...

  4. Sentinel Slot扩展实践-流控熔断预警实现

    前言 前几天公司生产环境一个服务由于流量上升触发了 Sentinel 的流控机制,然后用户反馈访问慢,定位发现是 task 定时任务导致,后面 task 优化之后发布,流量恢复正常. 这是一个再正常不 ...

  5. 数据库日常维护-CheckList_03有关数据库数据文件大小检查

    日常数据维护中容量规划是每个DBA的基础工作之一,也是非常重要的工作.在生产环境中一些比较重要的业务数据库会用前期容量规划不足,或出现意外的爆发式的数据增长,直至盛满整个磁盘空间,系统会无法使用,最终 ...

  6. SQL Server自动化运维系列——监控性能指标脚本(Power Shell)

    需求描述 一般在生产环境中,有时候需要自动的检测指标值状态,如果发生异常,需要提前预警的,比如发邮件告知,本篇就介绍如果通过Power shell实现状态值监控 监控值范围 根据经验,作为DBA一般需 ...

  7. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  8. SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...

  9. SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  10. MYSQL一次性能优化实战经历[转]

    每次经历数据库性能调优,都是对性能优化的再次认识.对自己知识不足的有力验证,只有不断总结.学习才能少走弯路. 一.性能问题描述 应用端反应系统查询缓慢,长时间出不来结果.SQLServer数据库服务器 ...

随机推荐

  1. HttpWebResponse获取DOM数据注意之ContentEncoding

    public string GetKaiJ(string type = "ssq") { /*1.通过WebBrowser控件&HttpWebRequest获得网站信息*/ ...

  2. P4870 [BalticOI 2009 Day1]甲虫 题解

    题目链接 简要题意 在一个数轴上有 \(n\) 滴露水,每滴露水初始水量为 \(m\),每秒会蒸发一滴水,一个甲虫初始在原点,速度为 1,水能瞬间喝完,问它最多能喝到几滴水. 题目分析 对于这种移动区 ...

  3. 一篇搞定Sentinel-搭建Spring Cloud Alibaba服务组件Sentinel实现服务资源控制

    1.Sentinel介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式.多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由.流量控制.流量整形 ...

  4. Java Web程序在Tomcat上是如何运行的

    https://blog.csdn.net/fuzhongmin05/article/details/104379514 一个JVM是一个进程,JVM上跑Tomcat,Tomcat上可以部署多个应用. ...

  5. 一篇文章带你了解Python基础测试工具——UnitTest

    一篇文章带你了解Python基础测试工具--UnitTest 测试人员一般使用Python作为主语言脚本来进行自动化开发,而Python自带的UnitTest脚本通常就是测试人员首先掌握的 那么本篇文 ...

  6. C#winform中使用SQLite数据库

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SQLite简介 SQLite是一种轻量级的关系型数据库管理系统(RDBMS),它以一个C库的形式提供.以下是SQLite数据库的一些关键 ...

  7. C/C++ Zlib库封装MyZip压缩类

    Zlib是一个开源的数据压缩库,提供了一种通用的数据压缩和解压缩算法.它最初由Jean-Loup Gailly和Mark Adler开发,旨在成为一个高效.轻量级的压缩库,其被广泛应用于许多领域,包括 ...

  8. 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析

    本文分享自华为云社区<基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析>,作者:yd_263841138 . 1. 引言 Slurm(Simple Linux Ut ...

  9. 使用javafx,结合讯飞ai,搞了个ai聊天系统

    第一步:先在讯飞ai那边获取接入的api 点进去,然后出现这个页面: 没有的话,就点击免费试用,有了的话,就点击服务管理: 用v2.0的和用3的都行,不过我推荐用2.0版本 文档位置:星火认知大模型W ...

  10. 写入数据或者通过EXCEl批量导入到数据库时报类型转换异常问题

    报错日志如下(此处我用的是达梦,实际MySQL和oracle也会有类似的问题): Cause: org.apache.ibatis.type.TypeException: Error setting ...