基于Zabbix 和Grafana 的油田数据中心监控系统部署与优化
2022-11-16关鑫
关 鑫
(辽河油田勘探开发研究院,辽宁 盘锦 124000)
0 引言
数据中心是石油企业的核心基础设施,中国石油天然气集团有限公司大力推进数字化转型和智能化油田建设,数据中心稳定、高效运行,能为科研生产提供有力支撑。石油行业专业软件更新迭代速度加快,数据中心规模逐渐扩大,管理人员需要利用不同的软件监控设备的运行状态,造成了运维“孤岛”现象,也增大了运维工作的难度[1]。
1 相关技术和软件介绍
1.1 Zabbix
Zabbix 是一个企业级分布式开源监控解决方案,能够监控众多网络参数和服务器的健康度、完整度[2]。
1.2 Grafana
Grafana 是一款数据可视化的开源软件,可以结合数据监控软件将数据绘制成图,同时也支持将数据库数据直接绘制成图,采用Go 语言进行开发[3],数据来源多样,展示方式灵活,为官方库提供了丰富的仪表盘插件。
1.3 VMware vSphere
VMware vSphere 是VMware 的虚拟化平台,可将数据中心转换为包括中央处理器(Central Processing Unit,CPU)和网络资源在内的聚合计算基础架构,让硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理流程[4]。
1.4 SNMP
简单网络管理协议(Simple Network Management Protocol,SNMP)[5],主要用在管理局域网的设备,依靠用户数据报协议(User Datagram Protocol,UDP)传输数据,广泛应用于交换机、分布式存储的管理。
1.5 MariaDB
MariaDB 是MySQL 的一个分支,主要由开源社区维护,采用GPL(通用公共许可证)授权许可,兼容MySQL。
2 基于Zabbix 和Grafana 的油田数据中心监控系统规划
2.1 监控网络拓扑
数据中心内设备带外管理使用“管理网”vlan1,业务流量使用“科研网”vlan2,vlan1 与vlan2 在交换机上隔离,科研网通过防火墙连接外部办公网,具体监控网络拓扑方案如图1 所示。
图1 监控网络拓扑
2.2 监控系统规划方案
Zabbix 软件对系统性能需求不高,且数据库容量小,读库查询频率低,因此监控系统规划方案中只需要一台计算机,安装Zabbix、数据库、Grafana。
为了方便系统扩展,提高系统稳定性,可将全套软件部署在成熟的商业虚拟化平台VMware vSphere上,将Zabbix、数据库、Grafana 相分离,安装在不同的虚拟机上,可以根据需求随时调整性能配置,横向扩展只需要克隆虚拟机。管理网vlan1、科研网vlan2 各安装一套软件,管理网与业务流量分离,减少干扰,提高安全性。管理网和科研网的数据汇集到Grafana,实现可视化展示,办公网用户通过防火墙可安全查看设备状态,不需要直接连到数据中心内部,也不需要获得服务器管理权限。具体方案如图2 所示。
图2 监控系统规划方案
2.3 配置虚拟机
按照网络拓扑和应用规划,拆分Zabbix server、数据库、Grafana 后,共需5 个虚拟机。
在实际应用中,监控主机需100 个以上,监控项超过10 000 项,Zabbix server 要用到大量内存缓冲,8 GB 内存不足,虚拟机卡顿,改为16 GB 能大大缓解内存压力。数据库直写网络附属存储(Network Attached Storage,NAS),不需要考虑本地磁盘空间。虚拟机具体硬件配置如表1 所示。
表1 虚拟机硬件配置
3 基于Zabbix 和Grafana 的油田数据中心监控系统软件部署
3.1 准备虚拟机系统
创建虚拟机,安装CentOS 7 操作系统,可选桌面组件以方便调试,系统安装完成后,安装VMware Tools,关闭系统防火墙、SElinux,配置NTP、YUM 源,将虚拟机复制2 份。
3.2 安装Zabbix server
将虚拟机转移到有互联网接入的设备,使其在VMware Workstation 环境下运行。访问Zabbix 官网地址,配置Zabbix 软件仓库配置部署包,运行成功后,安装Zabbix server、Zabbix web 前端,执行命令为yum install Zabbix-server-mysql Zabbix-web-mysql。
3.3 安装MariaDB 数据库
启动第二个虚拟机,安装数据库,执行命令为yum install -y mariadb-server,启动数据库并设置为开机启动。登录MariaDB 数据库,创建数据库实例、账户,并授权,测试账户可用后,导入Zabbix 初始架构和数据。
3.4 安装Grafana
下载对应系统版本的rpm 文件,本地安装并启动,设置浏览器访问权限,修改默认密码。在官方社区下载仪表盘插件,复制到软件对应目录,重启Grafana。
3.5 Zabbix 相关软件配置
3.5.1 配置虚拟机
将虚拟机复制到VMware vSphere,克隆Zabbix、数据库所在的虚拟机,按安装MariaDB 数据库的要求修改配置,5 个虚拟机创建完成。
3.5.2 配置MariaDB
MariaDB 的默认数据存放在/var/lib/mysql/目录下,为方便扩展和避免存储空间不足,将此目录映射到NAS。停止数据库服务,将mysql 目录改名为mysql1,原位置新建mysql 目录,编辑/etc/fstab 文件,将mysql1 内文件复制到mysql 目录中,重启数据库服务。
3.5.3 配置Zabbix server
编辑zabbix_server.conf 文件,修改数据库位置、数据库实例、用户名、密码。编辑zabbix.conf 文件,修改时区,配置完成重启服务。浏览器访问ip/zabbix,进行安装设置。
3.5.4 安装并配置Zabbix agent
下载对应server 版本的agent 的rpm 包,本地安装。编辑zabbix_agentd.conf 文件,修改Zabbix 服务器位置、主机名,重启服务。
3.6 创建Zabbix 主机监控
3.6.1 添加监控主机
访问zabbix 管理页面,创建主机,定义主机名、网际互联协议(Internet Protocol,IP)地址、群组,套用自带模板,断开模板链接,清理掉不需要的监控项。手动运行,搜索成功后关闭此功能,手动添加对应的监控项。选择部分关键监控项设置触发器,复制主机,修改主机名、IP 地址、监控项名称,直接用于同类型的设备。
3.6.2 设置报警邮件
打开防火墙对应端口,允许报警邮件发送到企业内网邮箱,邮箱内设置自动转发功能,将报警邮件转发给所有运维人员的邮箱,在微信中设置邮件提醒,即可实现Zabbix 报警信息同步推送到微信。
3.6.3 设置Grafana
打开Grafana 前端网页,使用Admin 账户登录,添加2 个vlan 的Zabbix 数据源,创建监控页面,添加仪表盘,选择数据来源,即可实现监控数据可视化。
4 基于Zabbix 和Grafana 的油田数据中心监控系统优化
4.1 优化Zabbix 监控项
Zabbix 默认模板内容丰富,应针对不同服务器的不同用途,设置对应的监控逻辑。
第一,计算密集型服务器。CPU、内存随时能跑满,不宜设置报警提醒,应降低监控项采样频率,避免影响服务器性能。重点监控SNMP 数据、CPU 温度、风扇转速、系统功耗。
第二,软件应用服务器。多用户登录,主要消耗内存资源,CPU 占用率较低,应监控登录用户数、内存占用率并设置报警提醒,内存占用率超过阈值时触发器激活,自动执行清理内存脚本。
4.2 优化Zabbix agent 自定义监控项
Linux 环境,编辑zabbix_agentd.conf,自定义监控项使用shell脚本语句,不受Zabbix监控项本身限制,可以实现许可证监控、用户管理、存储目录监控、多项数据同时统计并计算。套用snmpwalk 工具查询指定主机的对象标识符(ObjectIdentifier,OID),shell 预处理返回结果,比直接用SNMP 监控更灵活高效。
4.3 优化Grafana 显示页面
只展示需要关注的信息,就不会出现异常的性能数据。明确CPU 内存占用率上下限,用graph 展示,设置阈值,低数值不显示,合并同类主机到一格,曲线一目了然;网络流量上下限差异极大,宜使用对数坐标轴;温度曲线,纵坐标起点可设为35℃,低负载低温设备不需要关注;用singlestat math 展示存储目录占用率,低数值赋予背景相近的灰色,高数值用橙色、红色提醒,方便查找异常设备。
5 结 语
基于Zabbix 和Grafana 的油田数据中心监控系统已上线运行3 年,从最初的测试环境到生产环境部署,经历了软件升级、硬件扩容、功能优化等阶段,系统运行稳定,无须人工干预,实现了集中监控系统的设计初衷,成为非常可靠的基础设施。该系统图形化展示数据,显著提高了巡检效率,降低了运维门槛;分析性能历史数据,为平台优化提供了帮助;即时报警,快速定位故障点,保障了业务连续运行。该系统监控重点从物理设备逐渐转向数据库、应用软件,高效、自动运行的监控系统在未来能得到更广泛的应用。