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,借鉴前人在分布式监控的经验,小米、滴滴等实践,看到详细(复杂)的架构图,想着集成度应该蛮高,查阅官方文档,再次搭起来环境,可启动后,尝试不到半个小时,没有搞清逻辑,再次放弃。
不是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,充分给予发挥想象力的空间。