vlambda博客
学习文章列表

IT系统监控平台安心之选:Zabbix

无监控,不运维


近期为一家传统企业做信息运维咨询,发现已采购一套运维管理系统,具备监控、工单、大屏展示等功能,界面很花梢,客户本来对产品抱有极高期望,部署之后却基本弃之不用。经了解,发现系统落地存在问题,厂家只管部署升级,所谓的监控几乎使用默认配置,满屏可有可无监控项,每天产生上万条无关紧要的报警,根本不接地气。要达到运维监控效果,切合实际运维场景,就必须整个重新配置。经历一系列尝试后,遭遇一些bug、各种奇葩逻辑,果断弃坑,建议客户尝试新方案,开源监控平台就成首选。


01

开源监控平台


按照支持开源的精神(折腾的原则),一线大厂的号召(至少前面有人踩坑),首选选择prometheus,看看能否落地


prometheus


Prometheus 是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于 Kubernetes 的项目。


  • 强大的多维度数据模型,基于时间序列数据通过 metric 名和键值对来区分

  • 灵活而强大的查询语句(PromQL),在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作

  • 易于管理,Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储

  • 使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics

  • 可以通过服务发现或者静态配置去获取监控的 targets

  • 有多种可视化图形界面



按照网上的指引,配置,部署是蛮快的,简单启动。但接下来,路就漫长,开始添加监控的目标设备,使用文本拼接方式批量添加,还能接受,由于网络设备,肯定要用SNMP,部署snmp-exporter,添加项上就头疼,先要编写yml文件,再生成,再重新加载,更头疼的是oid,两三次下来,只能放弃。

想学学大厂的运维,要让星星之火燎原,不是那么容易。


open-falcon


自然相到的是小米开源的open-falcon,借鉴前人在分布式监控的经验,小米、滴滴等实践,看到详细(复杂)的架构图,想着集成度应该蛮高,查阅官方文档,再次搭起来环境,可启动后,尝试不到半个小时,没有搞清逻辑,再次放弃。

IT系统监控平台安心之选:Zabbix


不是open-falcon不好,实在是骨骼清奇,本人能力有限未能理解,简单尝试后就放弃(也许被prometheus的简单贯坏了)


02


入坑Zabbix


在选择监控之时,已经被大厂洗过脑,他们是觉得Zabbix不行(之前版本对容器、云支持不够),才另起炉灶,按照开源的规律(套路),那自然是要甩Zabbix几条街的,一开始我就没关注,坑不能再踩呀,但折腾一番后,发现没有选择,无奈只好回归Zabbix



Zabbix是一款老牌的监控系统,当然界面可能有着浓浓的时代风格,尤其是图表,总之,提不起兴趣,但看其官方网站zabbix.com,渐渐有些好感,号称支持云、IOT,甚至监控一切1

UNLIMITED CAPABILITIES IN AN ALL-IN-ONE   MONITORING SOLUTION
一套监控方案,无限可能

从此一入Zabbix深似海。


03


Zabbix使用体会


在花费近一个月在监控平台选择的折腾,渐渐发现走偏的原因。没有贴合实际:单位几乎传统的公司的信息化

  • 规模较小,机房也就10个机柜

  • 网络设备监控需求强烈,60台交换机,网络不通影响较大

  • 服务器采用私有云,vmware的虚拟化和基于KVM的超融合

  • 业务部署在windows server上,基本IIS,几乎没有linux

  • 少量数据库采用MS SQL和Oracle,

  • 核心系统使用AIX,独立设备


之前有个监控就行,基本没有人员关注,有问题用户会报,监控看了徒增烦恼,监控也简单:监控网络设备状态、监控服务器状态cpu、mem、磁盘状态等,因此,基于容器、云的监控系统,prometheus等很难发挥其优势,相对容器,传统IT的监控类型实在太多样,太复杂


Zabbix相对优势:

  • 部署简单,架构也简单,传统的数据库、服务、web服务

  • 开箱即用,有web界面(略丑,推荐调成暗黑模式)

  • 适用多种传统监控设备,尤其网络、服务器等

  • 支持多种类型,SNMP、客户端、服务器底层、java的管理

  • 支持虚拟化服务的监控,可以适用企业未来发展

  • 支持web监控、webservice等,可以逐渐做到业务层面的监控

  • 使用模板,简化配置

  • 多用户支持,详细的权限管理

  • 定制化规则、告警

  • ...


Zabbix的特别适合小规模的信息化监控,尤其是中小企业,简单实用。由于高度定制化,对于有个性化监控需求,内置模板、函数、插件、api,充分给予发挥想象力的空间。