基于ZABBIX的空管数据中心运维监控系统

2021-11-10 14:32陈颖王浩然
科学与生活 2021年17期
关键词:数据源数据中心

陈颖 王浩然

摘要:随着空管数据中心信息化的不断深入,面临着各种数量众多的服务器和网络设备的运维监控问题。结合数据中心面临的现状,本文提供了一种基于Zabbix的数据中心运维监控平台,解决了监控各种不同种类设备和应用服务的问题,并利用开源可视化组件Grafana对接Zabbix的API接口数据源,建立了监控平台美观易用的可视化面板,解决了Zabbix监控数据前端展示问题。实践证明该运维监控平台可视化程度高,运维效率高,极大提高了空管数据中心的运维水平。

关键词:数据中心;运维监控;数据源

一、背景

随着信息化的不断深入,空管数据中心的各种服务器和网络设备数量越来越多,各种异构的信息系统也是层出不穷,数据中心面临着各种设备的运维监控问题。但目前数据中心的监控方式存在诸多问题: 首先,各种设备的监控方式不同,需使用各自的专用软件才能监控,无法在统一的平台上实现监控;再者,数据中心各种信息系统架构不一致,监控接口不同,不能在统一的平台上监控各个信息系统的运行状态; 最后,数据中心收集的各种监控数据无法在统一的平台上实现可视化分析和展示。

本文基于以上空管数据中心监控平台面临的问题,首先利用开源数据中心监控平台 Zabbix 实现对各种异构设备和信息系统的统一监控,然后结合开源可视化组件 Grafana 实现对 Zabbix 收集的各种监控数据的可视化展示和分析。

二、Zabbix开源运维监控平台介绍

Zabbix是一款由开源社区维护的数据中心设备,也是监控各种信息系统的开源监控平台。Zabbix主要由Zabbix Server、Zabbix Agent、Zabbix Web等组件组成。

Zabbix Server为服务端,利用C语言编写,主要功能是在服务器上开启多个信息采集进程,接收Agent发送的各种数据中心设备的监控报告信息,组织所有配置、数据和操作并存储在Zabbix的数据库中。Zabbix Server支持各种主流数据库存储收集的数据,如MySQl、PostgreSQL、Oracle或IBM DB2等。

Zabbix Agent 是收集监控数据的客户端,它可以安装在 Windows、Liunx 等各种操作系统上来收集主机的 CPU 负载、内存、磁盘 IO、网络流量等各种监控数据,在无法安装 Zabbix Agent 的网络设备上可以开启 SNMP 来对网络设备进行状态监控。

Zabbix Web 是 Zabbix 的前端管理界面,基于高效的 PHP 网页语言编写,其主要功能是可以对监控平台的数据进行展示,并可以对监控的各种参数和模板进行配置。

Zabbix Proxy 是代理 Zabbix Server 收集监控数据的中间组件,当 Zabbix 监控的设备和服务数量过多时可以采用分布式部署的方式,这时可以利用多个 Zabbix-Proxy收集监控数据后,定期发送到 Zabbix Server 来减轻 Zabbix Server 服务器的负载压力。

Zabbix Java Gateway 是一个充当监控 Java 运行性能的网关,可以用来监控基于 Java 开发的信息系统的运行性能,将收集的 Java 监控数据定期发送到 Zabbix Server。Zabbix 还可以自定义监控项,结合 Zabbix Agent UserParameter 的设置,可以实现对常用應用服务如 Apache、Nginx、Mysql 等应用服务的监控。Zabbix 还包括完善的报警机制,可以与第三方平台报警平台对接,如可以接入微信公众号、短信等各种信息推送平台。Zabbix 的体系结构如图 1所示。

三、 Grafana 开源数据可视化工具简介

Grafana 是利用 JavaScript 开发的强大的监控数据可视化工具,可以对接各种数据源,如 InfluxDB、OpenTSDB、Prometheus、Zabbix、Elasticsearch 等; 同时也支持各种美观易用的图表展现形式,如折线图、散点图、饼图、表格等,图表支持多 Y 轴、阈值告警对接邮箱、对数刻度等多种功能。当 Grafana 所提供的图表不满足要求时,还可以自定义模板来开发符合要求的数据展示图表。Grafana 可以针对监控主题使用Dashboard 对某一个主题的图表进行集中展示,在 Dashboard 里可以轻松拖拽改变图表的位置和布局,并可以通过图表的 tag 快速对图表进行定位和编辑。Grafana 的 Dashboard 可以通过导出为 Json 文档,快速保存、复制,并可以通过 Dashboard 的在线模板库选取符合要求的 Dashboard 模板。

四、数据中心监控对象介绍

空管数据中心需要监控的对象可以分为以下几类:

1、网络设备的监控 可以采用开启网络设备的 SNMP 功能,同时配置 Zabbix 的 SNMP 监控项来采集网络设备的监控数据;

2、服务器硬件的监控 可以开启服务器主板的 IPMI 功能,并配置 Zabbix IPMI 监控接口来收集硬件的各项数据如温度、硬盘故障情况等;

3、实体服务器的监控 这些服务器可以通过安装 Zabbix Agent 并配合 Zabbix 内置的 Linux与 Windows 的监控模板的配置,来收集主机的 CPU 负载、内存、磁盘 IO、网络流量,运行进程数等各种数据;

4、虚拟机的监控 Zabbix 内置了 VMware 的虚拟机监控模板,可以结合该模板通过VCenter 远程 SDK 来直接采集 Vmware 虚拟机的 CPU 负载、内存、磁盘使用情况等各种运行信息;

5、Web 服务的监控 数据中心常用的 Web 服务有 Apache、Nginx 等,监控此类 Web 服务可以编写客户端执行的采集 shell 脚本,并配合 Zabbix 配置自定义 Web 监控项来采集 Web 应用的各项性能数据;

6、数据库的监控 数据中心一般常见的数据库有 mysql、oracle 等,这些数据库可以直接在 Zabbix配置相应的内置监控项,并通过 Zabbix 的监控接口来实现对数据库运行状态、运行性能等数据的采集;

7、对基于 Java 的应用服务的监控 数据中心常见的 Java 应用一般以 Tomcat 为主,要收集此类监控数据需要安装 Zabbix Java Gateway,并开启监控端的 JMX 协议,最后在 Zabbix Server 上配置 JMX 监控模板就可以实现 Java 应用程序的监控。

五、数据中心监控系统实施研究

依据上述 Zabbix 对数据中心各种监控对象的监控方法,基本可以对数据中心绝大多数需要监控的对象实现统一监控。Zabbix 虽然提供了各种图形可视化功能,但是图表的种类比较少,不能满足空管分局数据中心监控平台的可视化要求。Grafana 是利用 JavaScript 开发的强大的監控数据可视化工具,可以利用 Grafana 来对接 Zabbix 的监控数据源,对 Zabbix 采集的各种数据进行展示和分析。通过安装 Grafana 对接的 Zabbix 中的 plugins,可以直接对接 Zabbix 的数据源,然后通过自定义数据中心的每一种监控对象的 Dashboard 模板,来实现对数据中心每一类对象监控数据的可视化展示。

以数据中心虚拟机的监控模板 Dashboard 的创建为例,先基于数据源的各种监控变量,如 CPU 使用量、内存占用量、网络 IO 流量、磁盘读写情况来设置各种Dashboard 相应的 Panel,如 CPU 使用情况图、内存占用率图、网络 IO 图等。再将设置好的 panel 布局组合成数据中心虚拟机监控的 Dashboard,在此 Dashboard 中可以对数据中心的各项关键指标进行监控。其他数据中心监控对象的 Dashboard 都可以按照这个流程来进行创建。数据中心服务器监控Dashboard 的效果如图 2所示。

六、数据中心监控平台建设

由于空管数据中心设备和各种应用服务众多,该数据中心运维监控平台采用分布式的部署方式,具体部署方法如下: Zabbix Server 是采集监控数据的核心组件,为保障其可靠性,采用 2 台服务器作为 Zabbix Server HA 集群来收集各中监控端发来的数据。第一台服务器作为 Zabbix Web 前端来对 zabbix 进行配置和管理。为防止单点故障和保障数据可靠性,在第二台服务器中安装 mysql 负载均衡集群,作为 zabbix Server存储监控数据的后端数据库。第二台服务器作为 Zabbix Proxy 用来中转 Zabbix Agent 发送的数据。一台部署在主机房,一台部署在分区机房,分别收集各个区域的监控对象的数据,减轻 Zabbix Server 直接搜集监控数据的压力。Grafana 采用一台服务器进行安装,作为数据中心监控平台的前端可视化服务。数据中心的各个监控对象,可以按照之前所定义的分类分别进行相应的配置,来收集各种对象的监控数据。空管数据中心运维监控平台架构如图 3 所示。

综上所述,通过上述架构建立的监控平台基本可以实现对空管数据中心各种监控对象的状态数据收集和可视化展示,解决空管数据中心设备和信息系统监控所面临的难题,提高空管数据中心的运维效率。

七、结束语

Zabbix 是一种可以对数据中心各类监控对象进行状态数据收集的监控平台,除了具有多种常见数据中心监控对象的监控能力,还可以自定义监控脚本和监控项,对监控对象的类型进行扩展,拥有 Grafana 强大的可视化功能。该平台适用于空管数据中心的各种监控场景,为其提供高效、高可视化、低成本的数据中心运维监控平台。可有效解决空管数据中心运维监控效率低下、监控对象类型少、监控数据可视化程度低等问题,实现空管设备集成化监控。

参考文献

[1]刘远超,李树彬.基于Zabbix和微信企业号实现网络监控的研究[J],山东科学,2017(04)

[2]吴兆松.Zabbix企业级分布式监控系统[M].电子工业出版社,2014

[3]刘思尧.基于Zabbix的自动化巡检系统的研究与实现[J].电力信息与通信技术,2014(12)

[4]杨厚云.Centos下Zabbix的配置与使用[J].北京信息科技大学学报,2015(01)

[5]王宗敏,基于Zabbix的分布式服务器监控应用研究[J].通信学报,2013(S2)

[6]王晓锋.刘渊.基于云平台的网络安全试验管理系统[J]. 现代计算机 ,2020(01)

猜你喜欢
数据源数据中心
关于间接蒸发冷机组在数据中心中应用的节能分析
2018年数据中心支出创新高
图表中的交互 数据钻取还能这么用
北京科创新型云数据中心
2017第十届中国数据中心大会榜单
Word邮件合并功能的高级应用
信息系统集成与数据集成策略研究
Word邮件合并应用浅析
数据有增加 图表自适应
基于角色控制的异构数据展示在企业门户中的应用