案例|九江银行Zabbix监控系统实践

news2024/11/16 1:40:54

Zabbix监控平台建设历程

九江银行Zabbix监控系统实践,共分为三个部分:

1.Zabbix监控平台的建设历程

2.Zabbix实践经验分享

3.对未来监控的展望。

项目背景

建立新的一体化基础监控平台。为适应数字化转型的需要、新技术发展的需要及业务连续性的需要。以提高运维自动化、智能化的水平,提高安全生产运营的水平和能力。

图片

原有监控平台的痛点共有四个方面:

1.部分功能较弱

2.缺乏自动化手段

3.对新技术的适应性差

4.厂商支持力度不够。

图片

基础监控平台的选型:综合自主可控、周期、成本、及运行风险等因素,并结合我行的实际情况,选择开源基础监控平台,外加人力服务或项目的模式,减少实施和运行过程中的风险。

图片

通过比较和选型,我们选择Zabbix做为一个基础监控平台,优势如下:

Zabbix能完全满足对于基础监控品的需求;

Zabbix功能性、架构体系、服务体系可以媲美商业基础监控软件;

Zabbix在国内有完善的服务支持渠道和培训支持体系;

Zabbix解决方案,社区版和收费版无区别。

图片

Zabbix监控平台建设阶段共分为4个阶段:调研、建设、深化和拓展。

建设阶段,搭建了Zabbix的技术监控平台、统一事件平台、智能分析平台;

深化阶段做了平台的对接并完善了平台的基本功能,目前完成了新老基础监控平台的迁移;

探索阶段是在逐步探索智能分析,系统根因分析、故障自愈等自动化的运维场景。

图片

图片

基础监控平台项目的收益

1.实现了基础监控指标的全覆盖;

2.实现基础监控的规范化、标准化和自动化;

3.提高运维效率,解放运维生产力;

4.提升数字化运营水平和安全运营水平。

Zabbix实践经验分享

Zabbix实践经验的分享,这是Zabbix监控平台的架构设计。整体上我们采用Server proxy分布式架构,监控对象是连接多个proxy,server是采用单组主被动模式,数据库则采用双组的数据复制的模式,然后通过table level组件实现在server和数据库的故障无缝切换,中间是Zabbix跟其他系统的对接,通过export、API以及SQL语句等多种方式来实现。

图片

目前Zabbix的监控对象:包括操作系统、数据库、中间件和硬件设备等。监控对象是的非常全面,其中操作系统、数据库、应用、都采用agent自定义脚本的方式,中间件是采用JMX、agent自定义脚本来实现,VMware使用Zabbix自带的监控模板,服务器跟网络设备采用SNMP协议进行监控,存储设备的监控协议较多,包括SNMP、SNMP Trap、SSH、 Rest API等等。

图片

生产的现有监控规模,主机9,500多台,监控项58万,触发器36万,Proxy4种模板有98个,用户数64个。众多主机、巨量的监控项,实际上生产的NVPS是1,800,如按照NVPS的十倍计算是18,000,主机监控9万台主机规模是很庞大的。

图片

Zabbix实践经验分享——生产故障案例

生产的服务器光模块常出问题,有时重启也无法解决问题,两种情况:

1.彻底的损坏,失去链路冗余,有一定的运行风险;

2.超时,造成业务运行缓慢,解决方法是:通过光纤交换机来监控主机和存储的光链路,专门有一台光纤交换机的管理机部署采集程序,管理机关联相关的模板就可以全自动发现主机和监控项,管理机将采集到的监控数据通过Zabbix Sender工具送达服务端实行监控告警。

Zabbix是很好的工具,大家可以在自己日常的监控中灵活使用。

图片

Zabbix对接统一事件平台和智能分析平台实现统一报警管理、趋势预测和更新分析。将采集到这个数据利用架构设计Zabbix Server的real time export功能(实时导出),通过Firebeat实时推送到ES中,提供统一事件平台和智能分析平台来消费,这是一个整体流程。

图片

图片

容量分析

首先采集监控数据,将数据入库,通过SQL语句定期抽取容量数据,放到历史库中。如:虚拟机在Zabbix中显示的是实时虚拟机的信息,从这个层面上历史库是必要的,可以使数据保存的时间更久,后续能更好地进行分析。目前容量分析有两个场景:

1.每天对即将超过阈值的容量信息进行分析,并发送邮件提醒,提前进行清理和扩容。如此便不会被值班电话吵醒;

2.容量分析报告。通过容量分析报告避免抓瞎,明年该买多少服务器该买多少存储,这种困扰我们已久的问题都可以解决。

图片

文件系统和空间自动扩容——故障自愈。自动扩容的机制是采用Zabbix强大的故障检测、动作执行的能力。当检测到操作系统的文件系统数据库的ASM磁盘空间、Oracle的数据表空间的使用达到一定的条件的阈值,便触发脚本动作,通过SSH的协议,对接存储设备,VMware平台以及操作系统,实现存储分配,磁盘识别、添加等操作最终实现文件系统和表空间的真空。目前生产实践过ASM扩容30秒左右,表空间文件系统的扩容在10秒以内,效率提升至少10倍以上。

图片

统计报表通过Grafana来展现,展现内容:CPU的使用率的告警次数、内存使用率告警次数、SWAP空间使用率告警次数,TOP 100告警排名等等,统计报表数据大多通过SQL语句从数据库中取。此外还有操作系统统计,软件版本统计等等只要把SQL语句写出来就可以找到数据。

关于Zabbix数据库表结构的分析可以从用户Debug mode、官方文档API参考、Zabbix数据库创建 语句、Zabbix源码等途径进行分析,以达到写出想要的SQL语句的效果。

图片

实践经验分享——监控优化

1.监控配置优化,包括去掉不必要的监控项、触发器、图形和自动发现规则,合理制定监控项的采集频率,合理使用主动被动的模式,合理制定历史和趋势数据的保存周期,触发器规则应该尽量简单,监控像尽可能使用数词的类型,模板中的变量使用宏变量来配置管理。当端口监控的超时,经过配置优化以显示Zabbix LLD和预处理的功能;

2.自定义脚本。建议在脚本里面添加超时参数或者增加nodata告警,对于这种超时现象需要及时发现。

实践经验分享——版本优化

1.生命周期内定期升级Sever和Proxy的小版本.在生产中遇到过以下故障:当时是5.0.4版本,故障为数据偶尔出现丢失,自己查了好久也跟官方这边联系帮着查找,一直没有查出什么原因,最后实在没办法升级了小版本,升级完之后就解决掉了;

2.需要关注大版本的功能,评估是否需要进行升级。监控的标准化,包括监控管理的标准化,命名的标准化、部署的优化,部署优化相对较多,包括采用高可用部署的模式,使用SSD以及数据库以及参数的优化。

图片

Zabbix实践经验分享——日常运维

1.Zabbix的性能,需要经常关注队列中超过10分钟的镜像的数量,做好监控Zabbix Server Proxy日志和自身的性能,使用Zabbix官方有相关的模板;

2.Zabbix的无效监控。包括不支持的监控项、自动发现规则、未知的触发器;禁用的主机、监控项、自动发现规则、触发器等;

3.Zabbix监控校验,包括命名规范、时钟同步、主机未纳入到监控、主机未添加相应组件监控模板等等,需要进行校验;

4.数据库。需要经常关注数据库的状态,包括数据库日志、数据库高可用、数据库分区表、备份、性能等是否有异常;

5.应用面板。活用Dashboard、Grafana等可视化组件以及应用视角定制面板。

对未来监控的展望

在这里插入图片描述

对未来监控的展望——从运维走向运营

1.是解放思想,思想意识上要以业务为导向,以数据为依据,让监控更好的服务业务,实现监控的数字化转型;

2.运维工具平台化,进一步完善、整合现有各种工具链,实现运维数据标准化和 运维工具平台化,进一步加强监控的自助化服务能力;

3.可观察性监控体系。构建基于指标、日志、调用链的可观测性监控体系;

4.智能化监控。利用大数据技术,结合海量运维监控数据,通过机器学习、 智能算法实现告警根因分析、故障自愈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于使用Lombok的注意事项

文章目录 1、Lombok简介2、使用Lombok的问题2.1 驼峰问题2.2 相同的字符串不同的大小写 3、关于使用Lombok的总结4、写在最后 1、Lombok简介 Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而为你优化Java代码。通过注解的方式代替我们手…

注入攻击(二)--------HTML(有源码)

前序文章 注入攻击(一)--------SQL注入(结合BUUCTF sqli-labs) 目录 示例网站搭建1.搭建LAMP开发环境1. MySQL2. PHP3. Apache 写在示例前示例1.反射型HTML注入页面效果源码 示例2.钓鱼表单页面效果源码 示例3.存储型HTML注入页面效果源码 示例网站搭建 …

【Docker】使用 Docker 部署 Maven 仓库

在本文中,将介绍如何使用 Docker 部署一个 Maven 本地私服。Maven 私服可以帮助我们管理和共享本地的 Maven 依赖,提高开发效率。本文将使用 Sonatype Nexus 作为 Maven 私服,并使用 Docker Compose 来部署和管理容器。 准备工作 在开始之前…

mysql数据库在windows服务器下安装

一、mysql安装包下载 官网下载地址:mysql安装包下载 如图所示: 二、配置my.ini文件 解压后的文件尽量不要放在C盘(内存小),解压后如下图所示 在上图所示根目录下配置my.ini文件 1、右键创建一个文本(.text…

pikachu靶场-Unsafe Upfileupload

文件上传漏洞简述 什么是文件上传漏洞?  ​ 凡是存在文件上传的地方均有可能存在文件上传漏洞,关于上传文件操作的时候对方代码写的是否完整、是否安全,一旦疏忽了某个地方可能会造成文件上传漏洞。 文件上传的原理 网站Web应用都有一些文件…

1.SpringBoot基础篇

SpringBoot 文档更新日志 版本更新日期操作描述v1.02021/11/14A基础篇 前言 ​ 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程——SpringBoot。一句话介绍这个技术,…

华为pbr双出口外线,指定内网单个vlan绑定单个出口外线上网

公司两条外线,vlan 10用nat走上面转发出去上网,vlan 20 走下面那条外线出去nat上网 AR2: interface GigabitEthernet0/0/0 ip address 6.6.6.1 255.255.255.0 interface GigabitEthernet0/0/1 ip address 154.1.2.3 255.255.255.0 interface…

Python+Selenium4环境搭建

set集合 怎么把列表种相同的数据和不同的数据取出来 1.把列表转为set集合 2.按照集合的交集 selenium 自动化测试:自动化测试就是通过代码或者是工具模拟人的行为来进行对WEB(APP)来进行操作。 QTP (HP公司):以录制回放的模式…

集7大模态(视频、图片、音频、文本、深度图、热力图、惯性)的IMAGEBIND

论文:IMAGEBIND: One Embedding Space To Bind Them All GitHub:https://github.com/facebookresearch/ImageBind Meta AI 提出了 ImageBind,它通过利用多种类型的图像配对数据来学习单个共享表示空间。该研究不需要所有模态相互同时出现的数…

《Kubernetes证书篇:基于cfssl工具集一键生成二进制kubernetes集群相关证书(方法一)》

一、背景信息 Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果你是使用 kubeadm 安装的 Kubernetes, 则会自动生成集群所需的证书。如果你是使用二进制安装的 Kubernetes,则需要自己手动生成集群所需的证书。 1、首先从etcd算起 1、etcd CA…

百度地图绘制地区的棱柱效果-定位-自定义点-文本标记-信息弹窗

文章目录 百度地图webgl使用自定义地图样式地区镂面棱柱效果绘制点信息以及信息弹窗 百度地图webgl使用 在项目的index.html中引入 <script type"text/javascript" src"//api.map.baidu.com/api?typewebgl&v1.0&ak你的AK秘钥"></script…

花式反转字符串

文章目录 简单反转字符串题目详情分析Java完整代码 反转链表进阶问题题目详情分析Java完整代码 左旋转字符串题目详情分析Java完整代码 反转字符串中的单词题目详情分析Java完整代码 本文对常见的反转字符串题目进行串烧整理。 简单反转字符串 题目详情 编写一个函数&#xf…

9. 对象指针与对象数组

一、对象指针 声明形式&#xff1a; 类名 *对象指针名; Clock c(8, 3, 10); Clock *ptr; ptr &c;通过指针访问对象成员&#xff08;一般类的属性都是封装起来的&#xff0c;因此通常是通过指针访问成员函数&#xff09; 对象指针名->成员名 ptr->getHour();相当于(*…

linux0.12-8-7-signal.c

[334页] (-:这一小节很难理解。但我基本都理解了&#xff0c;哈哈。 1、为什么signal不可靠&#xff0c;而sigaction可靠&#xff1b; 2、 为什么系统调用会被打断&#xff1f; 3、 sys_signal&#xff0c;sys_sigaction&#xff0c;函数作用&#xff1f; 4、 do_signal&#x…

【高项】高级项目管理与组织管理(第4版教材第20-23章,管理科学知识)

文章目录 【高项系列】知识复习1、高级项目管理&#xff08;组织级管理&#xff0c;项目集管理&#xff0c;项目组合管理&#xff0c;量化项目管理&#xff0c;项目成熟度模型&#xff09;1.1 组织级项目管理&#xff08;项目组合项目集, 战略方向一致&#xff0c;0-1分&#x…

python并发编程:并发编程中是选择多线程呢?还是多进程呢?还是多协程呢?

❝ Python对并发编程的支持非常丰富&#xff0c;可以使用多线程、多进程、协程等方式进行并发编程。那么&#xff0c;应该如何选择呢&#xff1f; ❞ Python并发编程有哪些方式 Python并发编程有三种方式: 多线程 Thread 多进程 Process 多协程 Coroutine 什么是CPU密集型计算、…

《花雕学AI》Poe 一站式 AI 工具箱:ChatGPT4 体验邀请,亲,不要错过哦!

你有没有想过&#xff0c;如果你能在同一个平台上体验多种不同的 AI 模型&#xff0c;和他们进行有趣、有用、有深度的对话&#xff0c;甚至还能轻松地分享你的对话给其他人&#xff0c;那该有多好&#xff1f;如果你有这样的想法&#xff0c;那么你一定不能错过 Poe 一站式 AI…

winsows10 下 wsl2 使用 rviz 报错 Segmentation fault 段错误 (核心已转储) 的另一可能解决方案

问题 今天在 wsl 里使用 rviz 时突然报错 Segmentation fault 无法使用了, 报错如下 (base) rootXAIR14:~ $ rviz QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to /tmp/runtime-root [ INFO] [1683702959.671174856]: rviz version 1.13.29 [ INFO] [1683702959.67…

SpringMVC中使用form:form表单标签报500错误

在做数据验证的时候出现了一点bug,先看一下网页报错信息 再看一下后台日志信息 11: 12: <body> 13: 14: <form:form modelAttribute"user" action"/user/login" method"post"> 15: <table> 16: <tr> 17:…

Babel 总结

文章目录 Babel 总结概述安装使用一、添加配置文件二、编写源代码三、配置package.json四、编译代码 对比代码 Babel 总结 概述 Babel 是一个 JavaScript 编译器&#xff0c;主要用于在当前和旧的浏览器或环境中&#xff0c;将 ECMAScript 2015 代码转换为 JavaScript 向后兼…