关于监控系统的一些想法心得

我这篇文章[http://blog.csdn.net/u014654002/article/details/54345381]里写过的kairosdb,那是我开始接触监控系统的第一步,它帮助我了解了时序数据库在监控端的优秀表现。

kairosdb算是相当优秀的监控系统存储后端,并且支持使用grafana(一款可视化效果极佳的数据可视化软件)作为数据展示端。同时也支持使用Tcollector(openTSDB专用的数据采集工具,集成了大量的数据采集脚本,覆盖面很广泛)作为数据采集端,并且在我学习kairosdb的过程中,发现其api很清晰,适合配合各种插件进行二次开发。

如果仅仅是做数据展示,那么kairosdb无疑是很合适的,但是监控系统往往还需要对监控的数据做告警监控,这样才是一个完整的监控系统,而在当时我学习kairosdb的过程中,没有发现有合适的插件能完成这样一个功能,自己去写的话无疑会耗费很长的时间。grafana自身也带有一些告警功能,但是功能很单一,配置起来也不方便,所以也放弃了这个方法。

后来想到可以使用与kairosdb很相似的时序数据库OpenTSDB,因为OpenTSDB的实际存储是HBase,可以使用大数据的一些插件完成数据计算从而实现报警。使用OpenTSDB,因为之前没有接触过大数据相关的东西,所以Hbase的部署、配置给我带来不少问题。最后使用OpenTSDB的过程中,发现grafana对OpenTSDB的支持和对接更友好,使用起来很方便,Tcollector更不用说了,这个采集器本身就是为OpenTSDB写的。所以数据展示这部分实现起来很高效。

在使用OpenTSDB实现报警功能的阶段,发现并没有像想象中那么简单···

最后是找到了open-falcon来实现我们监控系统的报警功能。open-falcon是近两年出现的监控系统,其发展势头和功能、架构都很不错,并且其支持使用

OpenTSDB作为存储后端,这样使得我们前面做的事情都没有白费。我们数据展示端使用原来的Tcollector+OpenTSDB+grafana的形式,本来是想直接使用Tcollector将数据发到open-falcon的数据转接组件transfer中,但是open-falcon只允许其他插件将数据传给Falcon-agent,再由agent传给transfer,所以我们Tcollector需要修改传输协议,是的数据格式与agent端对应。

最后形成的结果是Tcollector+agent+OpenTSDB+(grafana、open-falcon),从而构成整个监控系统。

而使用Tcollector+agent两个采集端,会显得结果有点冗余,这个只能后面再进行优化。

就目前部署的情况来看,这个系统架构基本能实现对系统、机器、数据库服务等的监控。但是由于监控需求的不同,需要花费一定的时间去修改Tcollector采集器,需要花费时间去制作grafana的Dashboard。

grafana毕竟是模板化的工具,在使用上比之自行开发会存在一些限制,但胜在部署方便、快速,也基本能满足需求。

时间: 2024-07-29 03:11:24

关于监控系统的一些想法心得的相关文章

开源监控系统中 Zabbix 和 Nagios 哪个更好?

监控平台的话,各有优劣,但基本都可以满足需求.等达到一定监控指标后,发现,最困难的是监控项目的管理. CMDB中小规模(服务器<=1k):Zabbix大规模(1k>=服务器<=10k):Nagios进行二次开发超大规模(服务器>=10k):开发适应自己平台的监控软件吧另推荐个牛逼的东西:http://prometheus.io 作者:好撑链接:https://www.zhihu.com/question/19973178/answer/131911060来源:知乎著作权归作者所有.

支持万台服务器分布式监控系统原始手稿

作者:付炜超 如果你本来打算做一个特别牛的东西,最终不管什么原因没做到,但是你实现的也够cool了! 需求分析: 随着现在的企业不断的发展壮大,大多数的企业都出现了分公司.办事处这类的分支机构,由于总公司还要求对下面子公司的网络设备.主机等资源的状态有着相关的了解,所以就要求IT运维部门对不在同一地域的网络.主机等资源都要进行监控. 功能分析: 1.一个监控系统往往需要集成资产管理,可以从逻辑上展示业务和功能的信息,通过对其进行数据分析,做到对投资与回报的一个反馈展示,为资产的合理规划与使用提供

监控开发之如何开发简单高性能扩展性强的监控系统

关于如何快速开发一套属于自己的运维监控系统. 记得刚入行的时候,对于监控方面,用的是nagios和cacti,现在大多数中小公司好多都开始搞zabbix了,熟悉zabbix的人,知道他的性能的瓶颈其实主要还是在数据库上,尤其是zabbx_server 针对数据库一些不高效逻辑的查询和写入引起的. 同事针对zabbix开发也搞了半年了,和他交流了下,有很多的想法. zabbix 有些查询完全可以从缓存里面取值,比如redis.memcached,不用非要从数据库里面来搞个消耗性能的大查询,有些监控

庖丁解牛(一):监控系统

好朋友"雪糕"是前Baidu的高工,当年我们一起参与构建了一个庞大的运维自动化系统Noah.转载一些他的关于监控系统的感悟,我也深有同感. 我们在后来也用Python写了个简易版:51reboot/rebootMon-4 · GitHub 最近借着出去分享的机会,画了张简化的监控系统架构图: 写在前面 我从事运维自动化相关的工作,也已经8年了.当初刚开始做的时候,运维开发(devops)这词还不火.很少人知道.国内对运维的理解,也就是机房.服务器.苦逼的7*24小时值班.甚至当时还流传

庖丁解牛之监控系统(二)

欢迎大家加入运维开发讨论交流群来交流,群号 365534424 关于扩展性的定义 可伸缩性(可扩展性)是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能. 可伸缩性和纯粹性能调优有本质区别, 可伸缩性是高性能.低成本和可维护性等诸多因素的综合考量和平衡,可伸缩性讲究平滑线性的性能提升,更侧重于系统的水平伸缩,通过廉价的服务器实现分布式

建筑智能化综合监控系统数据点解剖

文章来源:公众号-智能化IT系统. 智能化监控的数据不是流式数据,其数据都是对应着具体的监控点,这些点的数据形式一般只有三种,布尔型,数值型,以及字符串型,其中以布尔型和数值型居多. 我们下文按照监控子系统为例,来具体的分析.其中每一个监控点后面都加以说明,以([数据类型],[数值含义])表示. 1. BAS 又称为设备监控系统,在集成系统中充当着最重要的角色,任何智能建筑不可少.其主要监控数据如下: ---空调系统(通过水阀调节温度,过滤网净化空气,并通过风机换风) a.送风机部分 压差开关(

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢

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

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

zabbix(一):zabbix自动化监控系统搭建详解

一.监控系统机制 1.监控工具工作机制 监控是通过传感器采集数据,在经过数据的存储加工后,进行展示.一般采集的数据为时间序列数据,即随时间变化而动态变化的数据:当采集到的数据超出阈值将会报警.监控功能的实现可基于专用agent.ssh.SNMP协议.IPMI(专业级监控接口IntelligentPlatform Management Interface,指挥平台管理接口) 2.SNMP协议 Simple Network Management Protocol,简单网络管理协议.由一组网络管理的标