监控系统选型之细谈监控

一、背景



随着互联网的迅速发展,各个云商不断崛起,5年前上万规模的互联网公司可能不超过200家,最近几年来,这个数字在不断上涨,而且增长的速度惊人,尤其是虚拟化、容器技术的出现,十万级别的服务器规模应该也会慢慢普及。兵马未动,监控先行。监控的重要性不必多说,有认曾经将监控比喻成运维之眼,作为一名运维人员,如果没有监控,就相当于在"瞎忙活"。但是对于一个强大的监控软件,到底需要哪些功能,要怎样展现才能更加让大众接受以及在实现上有哪些难点.....等等一系列问题,你是否考虑过呢?

二、分析



一个强大的监控系统,如下一些功能必不可少。

1.数据批量采集和优化处理(原始数据收集以及处理)

2.集中展示(图表展示和数字展示以及个性化展示)

3.告警(指定告警、告警升级、以及告警抑制)

4.权限分离(用户权限隔离)

5.审计(安全审计)

三、详解



1、数据采集和处理

如同炒菜,你首先需要去把食材买来,然后才能开工烹饪。监控系统他也需要食材----数据。他首先需要从各地采集海量数据。如:cpu、内存、网络、磁盘等数据,当然还有其他数据:包括服务器uptime、os信息等等。采集到数据后,集中存储到中央,也就是数据库,然后进行统一处理。这里就有一个问题,是不是所有数据需要全部存储到数据库呢?如果是全部数据都需要存储的话,空间可能是个问题,也许你认为现在磁盘硬件很便宜了,但是如果原始数据不经过加工,他的增长速度是你无法想象的。

我们来做个简单计算:假设我们有6000个监控项(大约60个host,每个host100个item),每60s采集一次,也就是每秒需要采6000/60=100,也就是数据库每一秒需要新增100个值。而这些值需要在数据库保持一定的时间,通常是几个月、半年、或者是一年。每个新的数据和索引值需要一定的磁盘空间,这里假如我们保持最少时间:30天。我们每秒现在新增100个值,30天累计下来:(30*24*3600)*100=259,200.000,或约260M。根据所使用的数据库引擎,接收到的值类型(浮点型,整型,字符串,日志文件等),磁盘空间保持一个单一的值可能会有所不同,从40字节到几百个字节。通常情况下,每个值大约是50个字节。在我们的案例中,这意味着260M的值将需要260M * 50字节= 13GB的磁盘空间。也就是说,60台主机,每个主机100个监控项,一个月的量基本上就可以达到13GB的磁盘空间,以此类推,如果是6000台,每台100个监控项,数据需要保持半年,那就是13GB的600倍,也就是7800GB了。如果是6万台、16万台呢,而且这里的监控项平均100个,已经是按最少的进行计算了。

是不是一定需要把每分钟的数据进行保存呢?我个人认为,除了一些关键性的业务外(如:计费类),其他大部分都是可以进行稀疏处理的。比如,采集的时候是一分钟采集一次,数据线也是一分钟一个点,但是到了后期,时间一长,我们可能不需要这么精细,而只是需要查看一个趋势图而已,我们一般可以这样处理:比如一个星期,我们可以每小时一个点(计算一小时的平均值、最大值、最小值),而一个月,我们可以一天一个点或者半天一个点这样处理,这里都是取时间段的平均值、最大值、最小值。

2、数据展示和分析

作为数量这么庞大的监控系统,每天采集到大量的服务器数据,但是,光采集了数据并进行存储,也是毫无用处的。我们需要集中展示和挖掘,才能将这些数据转化成商业价值,通过这些数据挖掘和分析,可以指导我们线上生产环境,并作出一些成本预算、趋势分析。比如:服务器选型、故障判断、流量分析、用户分布、游戏活动效果、资源需求等等。这些对于降低成本、故障处理以及线上运营有非常大的指导作用。当然,这里需要用大数据的思维去思考,我们也就不分析的那么高深了。哈哈,主要是我目前还没达到那个水平。

3、告警

如果我们需要对某个游戏进程的存活与否进行监控告警,需要如何实现呢?通常做法就是写个脚本,然后再做个定时任务,定时去执行这个脚本扫描进行是否存在,一旦检测都进程不存在,则进行短信和邮件通知。但是这种原始的方式还是存在许多问题的:

1.如果需要每台机器都去写脚本、然后做定时任务,你可能就会每天都奔波于脚本和定时任务之间

2.如果需要服务器维护,然后你又去每台机器停掉定时任务,继续奔波于每台机器的定时任务

3.如果有一天又来了新的需求,需要在监控到进行宕掉后,进行进程的拉起,你可能又会进入下一轮脚本和定时任务之间了

一个伟大的运维人员就甘愿每天被这样轮么?

4、权限分离

当机器已经达到一定规模,也就意味着机器的使用者也达到了一定规模,这个时候,如果不同部门的人需要只查看自己负责项目的机器信息,也是你需要考虑权限分离的时候了。同时,权限分离,包括查看、使用、报警、报警屏蔽、模板设定等一系列权限的分离。

5、审计

审计是任何一个系统都必须具备的,也就是对于本系统使用者的任何操作有有迹可循,需要记录哪个用户在哪个时间点干了哪些事。

至此,一个强大的监控系统必备功能就分析完了,接下来我们看看目前有哪些监控系统供我们选项,当然,这里选项只限于在开源系统中,至于为什么要选择开源,后面会详谈。

时间: 2024-10-07 06:38:50

监控系统选型之细谈监控的相关文章

监控系统选型

一. 监控系统选型 1. nagio, 2. zabbix, 3. nagios + cacti, 4. 小米刚开源了自己的监控系统 open-falcon 可以看看 二. 纯日志采集与分析使用 ELK, 三件套的使用.

阿里P9架构师谈:高并发网站的监控系统选型、比较、核心监控指标

在高并发分布式环境下,对于访问量大的业务.接口等,需要及时的监控网站的健康程度,防止网站出现访问缓慢,甚至在特殊情况出现应用服务器雪崩等场景,在高并发场景下网站无法正常访问的情况,这些就会涉及到分布式监控系统,对于核心指标提前监控,防患于未然. 常见的开源监控系统 1.Zabbix Zabbix是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源运维平台,也是目前国内互联网用户中使用最广的监控软件. 入门容易.上手简单.功能强大并且开源免费. Zabbix易于管理和配置,能生成比

zabbix监控系统的介绍及zabbix监控系统的高级应用

监控系统:zabbix 数据的采集->存储->报警(告警)->展示 监控对象:包括主机,主机之间的数据流量 主机:硬件设备 系统指标:CPU,memory io(disk磁盘io network网络io) cpu:sys(系统空间的比例),usr(用户空间的比例) idle 业务指标: SNMP:简单网络管理协议 实现网络管理 jmx:java管理平台 tps:每秒的事务数 qps:每秒的查询书 采集: 多保留趋势数据,历史数据只保留最近几个月的时间 存储: 关系型数据库 rrd轮询存储

zabbix监控系统(四)创建监控项

一.添加监控项 所有监控项都按主机分组,点击 配置  -->>  主机  ,选择我们之前创建的主机  172.16.111.133 ,点击 监控项  -->> 创建监控项 对于我们的示例项目,输入的基本信息是: 名称 输入CPU1分钟负载 作为值.这将是列表和其他地方显示的项目名称. 键值 选择system.cpu.load作为值.这是识别将收集的信息类型的项目的技术名称. 信息类型 在这里选择数字(浮点数).该属性定义了预期数据的格式. 完成后,点击添加. 二.查看数据 定义一个

细述:Linux 监控系统 Linux-dash

Linux-dash 是一个低开销 Linux 服务器监控系统,基于 Web 的监控界面.Linux-dash 的界面提供了一个详细的概述您的服务器的所有重要方面,包括内存和磁盘使用情况,网络,安装软件,用户,运行的流程.所有信息被组织成widget 部件,你可以跳转到一个特定的部分使用的主要工具栏中的按钮.Linux Dash不是最先进的监控工具,但它可能是一个适合用户寻找一个光滑,轻便,易于部署应用程序. 特性 漂亮的操作面板 在线,按需监控 RAM, Load, Uptime, Disk

创业公司如何快速构建高效的监控系统?

12 月 7 日,在 2018 ArchSummit 全球架构师峰会·运维与监控专场,七牛云资深运维开发工程师贺强带来了主题为<如何快速构建高效的监控系统>的内容分享. 本文是对演讲内容的实录整理. 大家好,今天给大家带来的分享是如何在创业公司去搭建一套高效快速的运维系统.我演讲的主要内容有:谈到高效,我们如何来定义所谓的高效的监控系统:如何做好一个监控系统的选型和设计:七牛云内部的监控系统介绍:最后会和大家一起来探讨监控的发展趋势以及未来展望. 如何定义「高效」的监控系统? 在我认为,高效的

高清网络视频监控系统中交换机的选择

目前视频监控系统已经完成从传统模拟视频监控到数字视频监控的全面升级,并逐渐发展到高清网络数字视频监控阶段,利用现有的办公网络.行业专网.光纤专网,甚至互联网和无线网络等基础架构,搭建以区域安防.生产监视等不同目的的高清网络视频监控系统.其中百万级像素网络摄像机的大规模普及,既解决了传统模拟视频监控系统清晰度不足的尴尬局面也提高了监控系统的便捷性和安全性. 高清网络视频监控系统优势 先进性:利用现有的综合布线网络传输图像,进行实时监控系统所需的前端设备少,连线简洁,后端仅需一套软件系统即可; 可靠

基于Android平台的i-jetty网站智能农业监控系统

基于android平台i-jetty网站的智能农业监控系统 摘要:传统的监控系统,一般是基于PC的有线通信传输,其有很多不足之处,如功耗较高.布线成本高.难度大,适应性差,可扩展性不强,增加新的通信线路需要再次布线施工,而且维护起来也比较麻烦,一旦线路出问题,需要繁琐的检查.而嵌入式Web监控系统是基于物联网技术,其无线通信技术具有成本低廉.适应性强.扩展性强.信息安全.使用维护简单等优点. 智能农业中,种植大棚是通过大棚内安装温湿度以及光照传感器,来对农作物的环境参数进行实时采集,由Web监控

通常所说的网络远程监控系统是什么?

通常所说的远程监控系统是一款远程监控软件,是由一台主电脑控制端远程监控另一台被控电脑端,而所谓的远程一般是指通过局域网远程监控. 当操作者使用主控制端电脑监控被控端电脑时,就如同自己在使用被控端电脑一样,清晰看到被控端电脑当前屏幕操作,可以启动被控端电脑的程序.限制访问网址.限制聊天.上网.玩游戏.禁止U盘读取以及文件传输等操作,利用网络远程监控系统,被控端电脑操作行为皆掌握在自己手中.  有什么用途? 网络远程监控系统一般是用于正当用途,比如用于企业单位对上班员工电脑的管理.规范员工上班的不良