统一运维监控平台设计思路| 学习笔记

简介: 快速学习统一运维监控平台设计思路。

开发者学堂课程【企业运维监控平台架构设计与实现统一运维监控平台设计思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/384/detail/4820


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

 

内容介绍:

一、 监控平台的思路

二、 ganglia 的安装

三、 yum 方式安装 ganglia

 

一、 监控平台的思路

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

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

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

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


用户展示管理层

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

 

 

 

监控报警模块

 

 


报警事件生成层

 

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

报警规则配置层

 

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

 

数据提取层

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

 

数据提取模块

数据展示层

 

数据生成曲线图直观显示

 

数据收集模块

数据收集层

 

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


1、数据收集层

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

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

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

2、数据展示层

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

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

3、数据提取

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

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

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

4、报警规则配置层

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

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

5、报警事件生成层

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

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

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

6、用户展示管

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

7、架构图

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

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

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

image.png

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

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

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

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

 

二、ganglia 的安装

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

(图形如下:)

image.png

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

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

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

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

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

Cluster1、Cluster2 就相当于是两个地点,可以认为它是分布在两地的两个机房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 的安装分为两个部分,分别是 gmetad 和 gmond,gmetad 安装在监控管理端,gmond 安装在需要监控的客户端主机,对应的 yum 包名称分别为 ganglia-gmetad 和 ganglia-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个子模块,实现机构、用户、角色管理、药品目录管理以及通用的字典管理;可以根据业务需要为各医疗机构定制病历模板和报表模板;可以对医疗机构收费外接设备进行参数设置,对业务进行配置;可以管理消息及售后信息等。
87 3
|
7月前
|
存储 运维 安全
2024-3-18隐语学习笔记:数据可信流通,从运维信任到技术信任
数据要素可信流通,重构技术信任体系。信任四要素:身份可确认,利益可依赖,能力有预期,行为有后果。外循环中四要素遭到破坏,导致信任降级甚至崩塌:责任主体不清,能力参差不齐,利益诉求不一致,责任链路难追溯。数据可信流通 需要从运维信任走向技术信任。
|
4月前
|
运维 Kubernetes 监控
|
4月前
|
存储 运维 Shell
运维.Linux.bash学习笔记.数组及其使用
运维.Linux.bash学习笔记.数组及其使用
36 0
|
5月前
|
弹性计算 运维 自然语言处理
属于Basis运维的、在Linux平台上运行的大模型测评 OS Copilot智能助手测评
OS Copilot是阿里云为Linux打造的智能操作系统助手,基于大模型,助用户进行自然语言问答、命令执行和系统运维。它简化了Linux操作,适合新手和运维人员。测评者作为IT架构师,发现OS Copilot使非技术背景人员也能操作Linux,接入命令可在官方文档找到。测试显示,通过"co"命令可与OS Copilot交互,实现生产任务融合。该工具提高了工作效率,尤其是对于遗忘具体命令时,非常有帮助。文档清晰,适合生产环境使用,值得进一步探索。
103 0
|
6月前
|
开发框架 运维 前端开发
构建一体化运维平台的八大功能
【6月更文挑战第6天】构建一体化运维平台的关键8个基本功能。
|
7月前
|
运维 算法 Java
springboot医院信息化云HIS运维平台源码
1、门诊部分 挂号及预约、划价及收费、门诊处方及病历、医生排班... 2、住院部分 入院及出院登记、住院收费、住院清单、出院结算、住院医生工作站、住院护士工作站... 3、电子病历 医嘱管理、护嘱管理、电子病历、护理病历、病历质控...
93 0
|
6月前
|
设计模式 运维 监控
运维一体化平台的能力要素
【6月更文挑战第7天】一体化运维平台的重要性,旨在建立覆盖运维全生命周期的统一平台,提升效率,保障业务连续性,实现数字化运维管理。
|
7月前
|
SQL 运维 前端开发
一款现代化、高颜值的一站式智能运维管理平台
orion-ops-pro —— 一款现代化、高颜值的一站式智能运维管理平台,集资产管理、资产授权、批量执行、计划任务、WebShell、WebSftp、角色管理、系统管理等功能于一体,致力于简化运维团队的治理工作。
88 1
一款现代化、高颜值的一站式智能运维管理平台
|
7月前
|
弹性计算 运维 监控
【阿里云云原生专栏】自动化运维的艺术:阿里云云原生平台的自动化运维工具集
【5月更文挑战第28天】阿里云云原生平台提供全面的自动化运维工具,涵盖监控告警、资源管理、部署更新、故障自愈、安全管理和数据备份等方面,简化运维工作,增强系统稳定性。通过智能工具集,运维人员能专注于业务优化,实现高效运维,为企业数字化转型提供有力支持。
256 3