统一运维监控平台设计思路

简介: 一、 监控平台的思路二、 ganglia的安装三、 yum方式安装ganglia

统一运维监控平台设计思路

 

内容介绍:

一、     监控平台的思路

二、     ganglia的安装

三、     yum方式安装ganglia

 

一、   监控平台的思路

做一个监控平台,不是通过一个软件或者两个软件就是一个监控平台,那么如何去设计一个适合自己的监控平台呢?


思路方面是非常重要的,要了解一个完善的监控平台具备哪些功能,包括用什么软件去实现,这个是必须去掌握的一个内容,通过这个思路可以看出来之前介绍的软件,比如nagionszabbixcentreo,它仅仅是做统一监控平台的一个部分。


构建一个智能的运维监控平台,必须以运行监控和故障报警这两个方面为重点,将所有业务系统中所涉及的网络资源、硬件资源、软件资源、数据库资源等纳入统一的运维监控平台中,并通过消除管理软件的差别,数据采集手段的差别,对各种不同的数据来源实现统一管理、统一规范、统一处理、统一展现、统一用户登录、统一权限控制,最终实现运维规范化、自动化、智能化的大运维管理。

智能监控平台,设计架构从低到高可以分为6层,每层又分三个模块,监控报警模块,数据提取模块,数据收集模块。


用户展示管理层

同一用户管理、集中监控、集中维护

 

 

 

监控报警模块

 

 

监控报警模块

报警事件生成层

 

实时记录报警事件、形成分析图表

报警规则配置层

 

报警策略设置、报警阀值设置

 

数据提取层

定时采集数据到监控报警模块

 

数据提取模块

数据展示层

 

数据生成曲线图直观显示

 

数据收集模块

数据收集层

 

网络数据、业务系统数据、数据库数据、操作系统数据

1、数据收集层

最底层是数据收集层,数据收集层的主要含义就是做数据的收集,第一步对系统本机的数据一个收据,比如操作系统的数据,网路,CPU,内存,磁盘等数据都要收集


做一个监控,这是基本的数据基础。还有一个是业务数据,它是在操作系统的业务之上,业务的数据也要收集起来,业务数据有很多,一部分包含日志,另外一部分是业务性能状态,比如技能状态,服务的状态,这是关于业务数据,还有一部分是数据库的数据,它主要涉及到数据库的状态,还有就是网络数据,比如网络带宽,网路io


在整个监控平台里面做的一些基础的数据收集,在数据收集层,有四个数据是必须要收集到的,将数据收集到要对数据进行查看和判断。

 

2、数据展示层

数据收集之后,对数据进行查看和观看。怎么样才能清晰的判断呢?领导比较喜欢,比如柱状图、条形图、饼图,领导和运维人员都比较喜欢这数据显示。


数据展示层,通过手段比如程序的方式,把数通过曲线的方式展示出来,通过各种软件rdrucejd生成各种个样的图展示出来,这对数据人员,还是老板都是一个非常喜欢的方式。

 

3、数据提取

数据收集到了,也展示到了,对用用户还是不够,关注的点是要把这些数据做一个对比,数据出现问题也要进行报警,如果要报警,怎么把数据进行提取呢?


数据收集到后肯定是要对数据进行提取,拿来对数据进行对比的。这就是第三层,数据提取层,就是把收集到的数据,利用一些插件,命令来提取出来把提取出来的数据进行对比,校验等操作。

这一层的作用是定时或实时采集数据,发送到报警规则配置层

 

4、报警规则配置层

数据提取完毕,就是报警规则配置层。数据已经提取到了,要对数据进行一个比对和验证。怎么样验证呢?


数据就有一个层次,对数据阀值的设置和比量那就是第四层报警规则配置层,配置数值在什么时候是正常的,值要是超过阀值,就是不正常的,配置这些东西把这些配置完,第四层的功能就完成了。

 

5、报警事件生成层

把规则配置完成之后是不是就完成了呢?

当然不是,还要做一些历史事件的查询,比如这周,这月系统发生了多少次报警,这就是第五层报警事件生成层。应该比较专业的运维平台,就是要把每一次报警做一个记录。


纵观全局去判断比如一个月多长时间内它的一个故障状态是什么样的,它的一个安全状态是一个什么样子的,这些都是要记录的。整体的一个思路是要考虑的,使用这个思路做一个报警系统,就是把每一次的报警进行归纳总结,然后在一年后做一个报表,给运维管理人员做一个参考,或者给领导的一个交代,这一年当中只发生一次两次的失误,安全率在99.99%,这也是对工作的一个肯定,所以在这个运维模块里面必须要有一个报警事件生成层,对所有报警事件做记录。

 

6、用户展示管

这些层在对用户的相关的结果,在最后要让用户能够去配置,去管理,必须要有和用户相关的接口ui,最后一层叫用户展示管理层。通过用户展示管理层,可以配这个展示报警的规则,也可以查看报警事件的生成结果去统一实现一个监控,统一实现一个维护,当然在这个用户展示层,也有用户角色的定义,比如在这个城市里面会定义多种用户,不同的用户,登陆到平台里面所展示的内容是不一样的,比如领导登陆进来之后,给它的第一个页面就是当前有多少台服务器在运行,一个月,三个月,五个月它的故障率是多少,都通过图形的方式给领导做一个展示,针对运维人员打开这个界面之后,看见的第一点就是服务器整个资源运营状态,哪个服务器有故障,关注的是这个点,这就是用户展示管理层,就是经常说的ui界面。

 

7架构图

这六个层次如果是从纵向去区分,分成三大模块,第一层二层可以分为数据收集模块,第三层可以分为数据提取模块,第四五六层可以分为监控报警模块,报警规则去进行一个报警,并且进行一个事件的展示。


完整的监控报警平台就是要通过这六个方面三大模块去实现,

事件完成之后看一下部署的架构图

image.png

这个图是一个整体的拓扑图,刚才那个是设计图,在这个拓扑图上,主要是有三个模块组成。


左边最大的是一个数据收集模块,专门有一数据收集服务器,主要作用就是在一堆服务器集群里面去收集各种各样的数据,汇总存储到数据收集服务器,另外块是数据提取模块衔接数据收集模块和监控报警模块,它的作用是从数据收集服务器里面把数据根据规则提取出来,传到监控报警模块里面去,在这个监控报警模块里面可以设置一些报警规则,比如说设置一个报警的阀值,设置一个报警的策略,通过邮件报警,还是手机报警。策略都是在监控报警里面去进行设置的,整个架构基本就起来了,有做数据收集的,有做数据提取的,有做监控报警的。


架构图其实就是设计图当中的一个拓扑实现。这是关于统一报警监控平台的设计机制以及它的一个实现原理,通过这个图可以看到开源监控软件在哪一层实现,数据收集模块有比如常见的ccdiGanglia都可以当数据收集模块来使用。数据提取模块比较隐蔽,比如zabbix就充当了一个数据提取模块的功能,监控报警模块zabbix ui就是监控报警模块,centreo也可以充当以恶搞监控报警模块,这是关于哪个软件在哪个层次可以实现。


关于数据提取模块,刚才在框架中有个Gangliacentreo,那么它的一个数据提取模块实现通过一个专业的接口去实现,不但可以通过Ganglia的客户端去实现,也可以通过第三方的一些程序,比如通过php程序,后续都会介绍到,也会推荐几个数据提取模块的脚本。

 

二、ganglia的安装

1Ganglia的常用架构,Ganglia监控系统有三部分组成,分别是 gmondgmetadwebfrontendGmond客户端,gmetad服务端,webfrontend web端。

(图形如下:)

image.png

Gmond客户端,在右边的黄色圆圈,表示的是要监控的服务器,它会去收集本地的数据,它还收集其他的数据,第一个Gmond不但可以收集自己的数据,也可以收集下面Gmond的数据,它的数据收集方式可以是单播也可以通过多播,如果通过多个去实现,每个gmond的点上都有局域网或者一个网段内所有服务器节点的数据制度。这是通过多播或者主播的方式去实现的。


好处是收集点统一,每个客户端都有所有节点的数据,在获取数据的时候就不用担心它某一个数据出现问题,服务端会定期去gmond去拉数据,这个图有问题,是拉的方式,不是推的方式,拉数据也是有规则的可以设置通过一个节点去拉,也可以通过多个节点去拉,比如是三个节点,通过gmond1gmond2gmond3三个节点去拉,当gmond1节点当掉,可以去gmond2拉取数据,因为它们的数据都是相同的,这样就能解决的性能和安全性。不会因为某一个节点拉不到数据而产生故障,这个是gmondgmetad的实现机制,实现完之后把数据汇总 到服务端,利用rrdtool databases这个绘图工具来实现一个绘图,它实现绘图的工具的php script绘图,完成绘图之后就利用浏览器ui去展示,浏览器打开就可以去访问,apache php展示。

 

同时,Ganglia支持多种监控架构,这是由 gmetad的特性决定的

gmetad可以周期性地去多个gmond节点收集数据,这就是ganglia的两层架构。同时,gmetad不但可以从gmond收集数据,也可以从其他的gmetad得到数据,这就形成了Gnaglia的三层架构。多种架构方式也体现了Ganglia 作为分布式监控系统的灵活性和扩展性。比如服务端它可以分为一级,也可以分为二级,通过这种树形架构就实现了多层架构。这是实现它的一个结构。

 

2、它是一个流向图,也是分布式架构的一个图,它是一个分布式架构的一个图形。


Cluster1Cluster2就相当于是两个地点,可以认为它是分布在两地的两个机房,Cluster1是北京机房,Cluster2是广州机房,可以这么去认为,最大的服务端叫一级服务端,gmetad可以认为它在上海机房,可以是这么一个架构,在北京这个机房它是两层架构,它的二级服务端从gmond去拉取数据,拉取完进行汇总,汇总之后就把数据交给到上一级,一级服务端,也就是上海机房,同理Cluster2广州节点它也是一样,在自己的机房里收集到的数据传到gmetad上面去,然后在对数据进行统一的展示,这就是一个完整的分布式架构。

 

中间还有一些细节性的东西,比如它数据的实现展示方式,是通过tcp协议,它也可以通过别的方式,比如在一个局域网内部可以完全通过多播的方式来实现,比如udp协议去实现数据的传输,跨机房传输一般是通过tcp协议,因为它是保障数据安全,一定要使用一个可靠的连接来实现,它传输的格式是xml格式,这就是一个分布式架构。看到这个架构就知道扩展性是非常灵活。

image.png

 

三、yum方式安装ganglia

两种方式去安装,一种是通过rpm包,另一种是通过yum的方式安装。


如果是新手建议通过yum的方式安装,因为非常简单,一个步骤就完成了,但通过源码去安装就比较麻烦,需要安装很多的软件和工具。CentOs系统中默认的yum源并没有包含Ganglia,所以我们必须安装扩展的yum源。从下面这个地址下载Linux附加软件包(EPEL),然后安装扩展yum :

[ root@node1~]#wgethttp://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm[root@node1~]#rpm -ivhepel-release-5-4.noarch.rpm

完成yum源安装,就可以直接通过yum方式安装Ganglia了。

Ganglia的安装分为两个部分,分别是gmetadgmondgmetad安装在监控管理端,gmond安装在需要监控的客户端主机,对应的 yum包名称分别为 ganglia-gmetadganglia-gmond

下面介绍通过yum方式安装 Ganglia的过程。

 

以下操作是在监控管理端进行的,

首先通过yum命令查看下可用的Ganglia安装信息:[root@monitor~]tyum listganglia*安装gmetad需要rrdtool的支持,而通过yum方式,会自动查找gmetad依赖的安装包,自动完成安装,这也是yum方式安装的优势。最后在需要监控的所有客户端主机上安装gmond服务:[root@node1~]#yum -y installganglia-gmond.x86_64这样,Ganglia 监控系统就安装完成了。通过yum方式安装的 Ganglia 默认配置文件位于/etc/ganglia中。

但是通过yum安装的版本会比较低,如果要用比较新的版本,建议去通过源码包的方式去安装。

相关文章
|
7月前
|
运维 监控 Java
java乡镇卫生院、二甲医院云HIS运维平台源码
运营管理是综合管理系统的核心部分,由运营商和医疗机构管理人员使用,运营管理包括:机构管理、药品目录管理、用户管理、角色管理、字典管理、模板管理、参数设置、消息管理、售后服务、运营配置、外部系统11个子模块,实现机构、用户、角色管理、药品目录管理以及通用的字典管理;可以根据业务需要为各医疗机构定制病历模板和报表模板;可以对医疗机构收费外接设备进行参数设置,对业务进行配置;可以管理消息及售后信息等。
85 3
|
4月前
|
运维 Kubernetes 监控
|
5月前
|
弹性计算 运维 自然语言处理
属于Basis运维的、在Linux平台上运行的大模型测评 OS Copilot智能助手测评
OS Copilot是阿里云为Linux打造的智能操作系统助手,基于大模型,助用户进行自然语言问答、命令执行和系统运维。它简化了Linux操作,适合新手和运维人员。测评者作为IT架构师,发现OS Copilot使非技术背景人员也能操作Linux,接入命令可在官方文档找到。测试显示,通过"co"命令可与OS Copilot交互,实现生产任务融合。该工具提高了工作效率,尤其是对于遗忘具体命令时,非常有帮助。文档清晰,适合生产环境使用,值得进一步探索。
101 0
|
6月前
|
开发框架 运维 前端开发
构建一体化运维平台的八大功能
【6月更文挑战第6天】构建一体化运维平台的关键8个基本功能。
|
6月前
|
设计模式 运维 监控
运维一体化平台的能力要素
【6月更文挑战第7天】一体化运维平台的重要性,旨在建立覆盖运维全生命周期的统一平台,提升效率,保障业务连续性,实现数字化运维管理。
|
7月前
|
运维 算法 Java
springboot医院信息化云HIS运维平台源码
1、门诊部分 挂号及预约、划价及收费、门诊处方及病历、医生排班... 2、住院部分 入院及出院登记、住院收费、住院清单、出院结算、住院医生工作站、住院护士工作站... 3、电子病历 医嘱管理、护嘱管理、电子病历、护理病历、病历质控...
93 0
|
7月前
|
SQL 运维 前端开发
一款现代化、高颜值的一站式智能运维管理平台
orion-ops-pro —— 一款现代化、高颜值的一站式智能运维管理平台,集资产管理、资产授权、批量执行、计划任务、WebShell、WebSftp、角色管理、系统管理等功能于一体,致力于简化运维团队的治理工作。
86 1
一款现代化、高颜值的一站式智能运维管理平台
|
7月前
|
弹性计算 运维 监控
【阿里云云原生专栏】自动化运维的艺术:阿里云云原生平台的自动化运维工具集
【5月更文挑战第28天】阿里云云原生平台提供全面的自动化运维工具,涵盖监控告警、资源管理、部署更新、故障自愈、安全管理和数据备份等方面,简化运维工作,增强系统稳定性。通过智能工具集,运维人员能专注于业务优化,实现高效运维,为企业数字化转型提供有力支持。
251 3
|
7月前
|
运维 监控 druid
平台组成-运维监控模块
运维监控模块关注服务器、应用、数据库及Minio等状态,包括自研和开源组件。
|
7月前
|
运维 前端开发 JavaScript
运维管理平台实现与学习心得
运维管理平台实现与学习心得