如何做好运维监控

如何做好运维监控,第1张

统一监控平台,说到底本质上也是一个监控系统,监控的基本能力是必不可少的,回归到监控的本质,先梳理下整个监控体系:

① 监控系统的本质是通过发现故障、解决故障、预防故障来为了保障业务的稳定。

② 监控体系一般来说包括数据采集、数据检测、告警管理、故障管理、视图管理和监控管理6大模块。而数据采集、数据检测和告警处理是监控的最小闭环,但如果想要真正把监控系统做好,那故障管理闭环、视图管理、监控管理的模块也缺一不可。

一、数据采集

1、采集方式

数据采集方式一般分为Agent模式和非Agent模式;

Agent模式包括插件采集、脚本采集、日志采集、进程采集、APM探针等

非Agent模式包括通用协议采集、Web拨测、API接口等

2、数据类型

监控的数据类型有指标、日志、跟踪数据三种类型。

指标数据是数值型的监控项,主要是通过维度来做标识。

日志数据是字符型的数据,主要是从中找一些关键字信息来做监控。

跟踪型数据反馈的是跟踪链路一个数据流转的过程,观察过程中的耗时性能是否正常。

3、采集频率

采集频率分秒级、分钟级、随机三种类型。常用的采集频率为分钟级。

4、采集传输

采集传输可按传输发起分类,也可按传输链路分类。

按传输发起分类有主动采集Pull(拉)、被动接收Push(推)

按传输链路分类有直连模式、Proxy传输。

其中Proxy传输不仅能解决监控数据跨网传输的问题,还可以缓解监控节点数量过多导致出现的数据传输的瓶颈,用Proxy实现数据分流。

5、数据存储

对于监控系统来说,主要有以下三种存储供选择

① 关系型数据库

例如MySQL、MSSQL、DB2;典型监控系统代表:Zabbix、SCOM、Tivoli;

由于数据库本身的限制,很难搞定海量监控的场景,有性能瓶颈,只在传统监控系统常用

② 时序数据库

为监控这种场景设计的数据库,擅长于指标数据存储和计算;例如InfluxDB、OpenTSDB(基于Hbase)、Prometheus等;典型监控系统代表:TICK监控框架、 Open-falcon、Prometheus

③ 全文检索数据库

这类型数据库主要用于日志型存储,对数据检索非常友好,例如Elasticsearch。

二、数据检测

1 数据加工

① 数据清洗

数据清洗比如日志数据的清洗,因为日志数据是非结构化的数据,信息密度较低,因此需要从中提取有用的数据。

② 数据计算

很多原始性能数据不能直接用来判断数据是否产生异常。比如采集的数据是磁盘总量和磁盘使用量,如果要检测磁盘使用率,就需要对现有指标进行一个简单的四则运算,才能得到磁盘使用率。

③ 数据丰富

数据丰富就是给数据打上一些tags标签,比如打上主机、机房的标签,方便进行聚合计算。

④ 指标派生

指标派生指的是通过已有的指标,通过计算得出新的指标。

2 检测算法

有固定规则和机器学习算法。固定算法是较为常见的算法,静态阈值、同比环比、自定义规则,而机器学习主要有动态基线、毛刺检测、指标预测、多指标关联检测等算法。

无论是固定规则还是机器学习,都会有相应的判断规则,即常见的< > >=和and/or的组合判断等。

三、告警管理

1 告警丰富

告警丰富是为了后续告警事件分析做准备,需要辅助信息去判断该怎么处理、分析和通知。

告警丰富一般是通过规则,联动CMDB、知识库、作业历史记录等数据源,实现告警字段、关联信息的丰富;通过人工打Tags也是一种丰富方式,不过实际场景下由于人工成本高导致难以落地。

2 告警收敛

告警收敛有三种思路:抑制、屏蔽和聚合

① 抑制

即抑制同样的问题,避免重复告警。常见的抑制方案有防抖抑制、依赖抑制、时间抑制、组合条件抑制、高可用抑制等。

② 屏蔽

屏蔽可预知的情况,比如变更维护期、固定的周期任务这些已经知道会发生的事件,心里已经有预期。

③ 聚合

聚合是把类似或相同的告警进行合并,因为可能反馈的是同一个现象。比如业务访问量升高,那承载业务的主机的CPU、内存、磁盘IO、网络IO等各项性能都会飙升,这样把这些性能指标都聚合到一块,更加便于告警的分析处理。

3 告警通知

① 通知到人

通过一些常规的通知渠道,能够触达到人。

这样在没有人盯屏的时候,可以通过微信、短信、邮件触发到工作人员。

② 通知到系统

一般通过API推送给第三方系统,便于进行后续的事件处理

另外还需要支持自定义渠道扩展(比如企业里有自己的IM系统,可以自行接入)

四、故障管理

告警事件必须要处理有闭环,否则监控是没有意义的。

最常见还是人工处理:值班、工单、故障升级等。

经验积累可以把人工处理的故障积累到知识库里面,用于后续故障处理的参考。

自动处理,通过提取一些特定告警的固化的处理流程,实现特定场景的故障自愈;比如磁盘空间告警时把一些无用日志清掉。

智能分析主要是通过故障的关联分析、定位、预测等AI算法,进一步提升故障定位和处理的效率;

1 视图管理

视图管理也属于增值性功能,主要是满足人的心理述求,做到心中有底,面向的角色很多(领导、管理员、值班员等)。

大屏:面向领导,提供全局概览

拓扑:面向运维人员,提供告警关联关系和影响面视图

仪表盘:面向运维人员,提供自定义的关注指标的视图

报表:面向运维人员、领导,提供一些统计汇总报表信息,例如周报、日报等

检索:面向运维人员,用于故障分析场景下的各类数据检索

2 监控管理

监控管理是企业监控落地过程中的最大挑战。前5个模块都是监控系统对外提供的服务功能,而监控管理才是面向监控系统自身的管理和控制,关注真正落地的过程的功能呈现。主要有以下几个方面:

配置:简单、批量、自动

覆盖率:监控水平的衡量指标

指标库:监控指标的规范

移动端:随时随地处理问题

权限:使用控制

审计:管理合规

API:运维数据最大的来源,用于数据消费

自监控:自身稳定的保障

为了实现上述监控六大基础能力模块,我们可以按如下架构设计我们的统一监控平台。

主要分三层,接入层,能力层,功能层。

接入层主要考虑各种数据的接入,除了本身Agent和插件的采集接入,还需要支持第三方监控源的数据接入,才能算一个完整的统一监控平台。

能力层主要考虑监控的基础通用能力,包含数据采集模块、数据存储模块、数据加工模块、数据检测模块、AI分析模块。

功能层需要贴近用户使用场景,主要有管理、展示两类功能,在建设的过程中可以不断丰富功能场景。

另外,考虑到数据的关联关系,为未来的数据分析打下基础,监控和CMDB也需要紧密联动,所有的监控对象都应该用CMDB进行管理,另外,还可以配置驱动监控为指导理念,实现监控的自动上下线,告警通知自动识别负责人等场景,简化监控的维护管理。

为了统一监控平台能够在企业更好的落地,我们需要配备对应的管理体系,其中最重要的是指标管理体系。

指标管理体系的核心理念:

监控的指标体系是以CMDB为骨架,以监控指标为经脉,将整个统一监控平台的数据有机整合起来。

贯穿指标的生命周期管理,辅以指标的管理规范,保障监控平台长久有序的运行。

从企业业务应用的视角出发,一般将企业监控的对象分为6层,也可以根据企业自己的情况进行调整:

基础设施层

硬件设备层

*** 作系统层

组件服务层

应用性能层

业务运营层

数据库管理系统(database management system)是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。DBMS提供数据定义语言DDL(Data Definition Language)与数据 *** 作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等 *** 作。

数据库管理系统的功能:

1、数据定义功能 2、数据 *** 纵功能 3、数据库的运行管理功能 4、数据库的建立和维护功能(数据的安全性保护、数据的完整性控制、并发控制、数据库恢复)

如果您不太熟悉MySQL监控,开始可以看一看流行的监控软件。例如,下面列出了MySQL Cacti Plugin

Innodb Buffer Pool Activity

•Pages Created

•Pages Written

•Pages Read

Innodb Buffer Pool Pages

•Pool Size

•Database Pages

•Free Pages

•Modified Pages

Inoodb File I/O

•File Reads

•Files Writes

•Log Writes

•File Fsyncs

Innodb Pending I/O

•Aio Log Ios

•Aio Sync ios

•Buffer Pool Flushes

•Chkp Writes

•Ibuf Aio Reads

•Log Flushes

•Log Writes

•Normal Aio Reads

•Normal Aio Writes

Innodb Insert Buffer

•Inserts

•Merged

•Merges

Innodb Log

•Log Buffer Size

•Log Bytes Written

•Log Bytes Flushed

•Unflushed Log

Innodb Row Operations

•Rows Read

•Rows Deleted

•Rows Updated

•Rows Inserted

Innodb Semaphores

•Spin Rounds

•Spin Waits

•OS Waits

Innodb Transactions

•Innodb Transactions

•Current Transactions

•History List

•Read Views

MySQL Binary/Relay Logs

•Binlog Cache use

•Binlog Cache Disk Use

•Binary Log Space

•Relay Log Space

MySQL Command Counters

•Questions

•SELECT

•DELETE

•INSERT

•UPDATE

•REPLACE

•LOAD

•DELETE MULTI

•INSERT SELECT

•UPDATE MULTI

•REPLACE SELECT

MySQL Connections

•Max Connections

•Max Used Connections

•Aborted Clients

•Aborted Connects

•Threads Connected

•Connections

MySQL Files and Tables

•Table Cache

•Open Tables

•Open Files

•Opened Tables

MySQL Network Traffic

•Bytes Received

•Bytes Sent

MySQL Processlist

•State Closing Tables

•State Copying to Tmp Table

•State End

•State Freeing Items

•State Init

•State Locked

•State Login

•State Preparing

•State Reading From Net

•State Sending Data

•State Sorting Result

•State Statistics

•State Updating

•State Writing to Net

•State None

•State Other

MySQL Query Cache

•Queries In Cache

•Hits

•Inserts

•Not Cached

•Lowmem Prunes

MySQL Query Cache Memory

•Query Cache Size

•Free Memory

•Total Blocks

•Free Blocks

MySQL Replication

•Slave Running

•Slave Stopped

•Slave Lag

•Slave Open Temp Tables

•Slave Retried Transactions

MySQL Select Types

•Select Full Join

•Select Full Range Join

•Select Range

•Select Range Check

•Select Scan

MySQL Sorts

•Sort Rows

•Sort Range

•Sort Merge Passes

•Sort Scan

MySQL Table Locks

•Table Locks Immediate

•Table Locks Waited

•Slow Queries

MySQL Temporary Objects

•Created Tmp Tables

•Created Tmp Disk Tables

•Created Tmp Files

MySQL Threads

•Thread Cache Size

•Threads Created

数据库安全审计主要用于监视并记录对数据库服务器的各类 *** 作行为,通过对网络数据的分析,实时地、智能地解析对数据库服务器的各种 *** 作,并记入审计数据库中以便日后进行查询、分析、过滤,实现对目标数据库系统的用户 *** 作的监控和审计。它可以监控和审计用户对数据库中的数据库表 、视图、序列、包、存储过程、函数、库、索引、同义词、快照、触发器等的创建、修改和删除等,分析的内容可以精确到SQL *** 作语句一级。它还可以根据设置的规则,智能的判断出违规 *** 作数据库的行为,并对违规行为进行记录、报警。由于数据库安全审计系统是以网络旁路的方式工作于数据库主机所在的网络,因此它可以在根本不改变数据库系统的任何设置的情况下对数据库的 *** 作实现跟踪记录、定位,实现数据库的在线监控,在不影响数据库系统自身性能的前提下,实现对数据库的在线监控和保护,及时地发现网络上针对数据库的违规 *** 作行为并进行记录、报警和实时阻断,有效地弥补现有应用业务系统在数据库安全使用上的不足,为数据库系统的安全运行提供了有力保障。

一、数据库安全审计主要功能包括:

· 实时监测并智能地分析、还原各种数据库 *** 作。

· 根据规则设定及时阻断违规 *** 作,保护重要的数据库表和视图。

· 实现对数据库系统漏洞、登录帐号、登录工具和数据 *** 作过程的跟踪,发现对数据库系统的异常使用。

· 支持对登录用户、数据库表名、字段名及关键字等内容进行多种条件组合的规则设定,形成灵活的审计策略。

· 提供包括记录、报警、中断和向网管系统报警等多种响应措施。

· 具备强大的查询统计功能,可生成专业化的报表。

二、数据库安全审计主要特点

· 采用旁路技术,不影响被保护数据库的性能。

· 使用简单,不需要对被保护数据库进行任何设置。

· 支持SQL-92标准,适用面广,可以支持Oracle、MS SQL Server、Sybase、Informix等多类数据库。

· 审计精细度高,可审计并还原SQL *** 作语句。

· 采用分布式监控与集中式管理的结构,易于扩展。

· 完备的"三权分立"管理体系,适应对敏感内容审计的管理要求。

数据库管理系统:是由实现数据库管理功能的许多系统程序组成的集合。

数据库管理系统(DatabaseManagementSystem)是一种 *** 纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。

它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。

功能:

①定义数据库

DBMS提供数据定义语言DDL(DataDefinitionLanguage),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。

②管理数据库:

管理多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。

③维护数据库:

数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

④数据通讯功能、实现数据的传送:

DBMS具有与 *** 作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。

以上就是关于如何做好运维监控全部的内容,包括:如何做好运维监控、什么是数据库管理系统(DBMS)它有什么功能、mysql监控哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10131668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存