深度定制的意义

综合来讲,Zabbix是一个非常强大的监控平台,简单拿来完成监控一些Hosts,没有什么问题,而且,目前国内大部分客户都是这么做的,基本上是安装完后,网上找到一些相关模板,配置后把Hosts监控起来就差不多了,当然也不乏像PPTV、携程、唯品会等这样优秀的互联网公司,做了深度定制和改造。

一个剥离的工具平台

Zabbix的所有监控对象都被认为是Host,包括主机、网络设备、中件间和数据库等等,这样除了做监控之后的运维管理工作就很不方便了,比如说配置管理、统计报表、权限、知识库、业务服务管理、CFIA等都会受影响。所以,原生的Zabbix仍然是一个原生的高度剥离的工具平台。

 

其他问题

1. 性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,每秒1万个指标,据说4.0每秒40万个指标

2. 项目二次开发,需要分析MySQL表结构,表结构非常复杂,对开发能力有较高要求。

3. 内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化

4. 图形功能较为单一、简陋

5. 使用有难度,要求操作人员的技术水平很丰富且全面, 需要熟悉被监控对象, 已经具备相当的开发能力

6. API介绍比较粗糙,如果数据库表结构更改可能会影响api调用

7. Zabbix 监控的模板比较复杂,没有一个比较简洁易懂监控模板创建的向导,使得模板配置比较困难

8. Zabbix 的用户权限控制粒度不够

9. Zabbix的交互界面还不美观,操作不人性化

当然,还有那些你没有深入使用,永远也发现不了的坑

显性化的需求

在界面展示上,目前使用较多的Grafana+Zabbix,能达到一定的展示效果,实施效果如下图:

 

也有58同城运维团队开源的Zatree插件,实施效果如下

 

如果要求再高一些,就有些困难了,经常可以看到希望可以用ECharts展示Zabbix数据的需求,甚至可以看到不少Zabbix数据与第三方商业显示插件的集成需求。

深度集成的需求

监控软件于信息化体系不是孤立存在的,把监控平台独立成一个信息孤岛,是不符合信息化的初衷,可能存在的集成系统列举如下:

1. 其他运维工具:ITSM(也可能是独立的工单系统、服务台系统、CMDB或资产管理系统)、动环管理系统、APM系统、DevOps系统、自动化运维工具平台、日志平台、端对端拨测系统、安全系统、4A系统、审计系统私有云平台等;

2. 消息通知:短信、微信、邮件、钉钉、内部IM系统等;

3. 组织架构系统:组织架构、人员同步、权限系统、单点登录系统等

4. 统一展示:Portal系统、投屏、OA系统、微信公众号、业务数据统一呈现等

5. 其他:组织APP、企业知识库、音视频交互平台、大数据平台等

信息系统的集成是信息化建设非常困难的一环,数据信任、源数据稳定、接口对接、例外处理,考验着信息化整合架构能力和信息系统质量。

业务保障的需要

监控的核心意义在于保障业务系统高可用性,尤其是核心业务系统的高可用性,而不只是监控那些Hosts,完成那些Host的监控只是完成了第一步,还需要做好两道必选题:

1. Hosts和业务系统存在怎样的关系

2. 业务系统出现故障时,哪些Hosts的状态和性能存在什么直接或间接影响

3. 当前Hosts的告警,到底对哪些其他Hosts或业务系统存在怎样的影响

 

像MIUI一样做Zabbix二次开发(3)——Zabbix深度定制的意义的更多相关文章

  1. Zabbix二次开发_02获取数据

    最近准备写一个zabbix二次页面的呈现.打算调用zabbix api接口来进行展示. 具体流程以及获取的数据. 1.  获得认证密钥    2.  获取zabbix所有的主机组    3.  获取单 ...

  2. Zabbix二次开发_03api列表_中文版

    基于ZABBIX 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference 参考方法 本节提供了的zabbix提供的功能的概述 ...

  3. Zabbix二次开发_03api列表

    基于zabbix 3.0 https://www.zabbix.com/documentation/3.0/manual/api/reference Method reference This sec ...

  4. Zabbix二次开发_01基础

    最近有个想法:想做一个zabbix数据的二次呈现,所以来写一下Zabbix的api的内容. 先说下zabbix api的认证基础. Zabbix API简介 Zabbix API开始扮演着越来越重要的 ...

  5. 如何用Qt做SolidWorks二次开发

    这个问题困扰了我2年了,之前找到的教程都是MFC的,ATL导入向导或是通过导入类型库的方式来调用控件,我一直都搞不明白. 最近学习了ActiveQT以及通过ActiveQT控制EXCEL.Word.P ...

  6. 基于Zabbix API文档二次开发与java接口封装

    (继续贴一篇之前工作期间写的经验案例) 一.           案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...

  7. (50)zabbix API二次开发使用与介绍

    zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php. ...

  8. 自学Zabbix14.1 二次开发API

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix14.1 二次开发API Zabbix API我们可以做很多,自己开发web界面. ...

  9. 【phpcms-v9】phpcms-v9二次开发所必须知道的步骤(转载)

    一.做phpcms-v9二次开发时,我们经常需要用到如下代码,所以有必须在这里注释说明一下 defined('IN_PHPCMS') or exit('No permission resources. ...

  10. 最好最实用的PHP二次开发教程

    ◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...

随机推荐

  1. grafana嵌入iframe,websoket连接报错400或403(nginx代理)

    1.custom.ini配置文件修改allowed_origins=* 2. nginx中增加配置,如下:

  2. python生成csv并发送邮件

    python版本3.9.4 1.生成csv的方法 #make_csv.py# import csv def produce_csv(): # 1. 创建文件对象 f = open('temp.csv' ...

  3. 使用shell判断文件夹中是否包含文件

    #!/bin/bash directory="/path/to/directory" if [ $(ls -A $directory) ]; then echo "有文件 ...

  4. 2022-04-27内部群每日三题-清辉PMP

    1.对一个关键项目的要求是产品的持续可追溯性,质量团队建议在制造过程的每个步骤创建检查点.然而,这些检查点耗费了宝贵的时间和资源.项目经理应执行什么类型的分析来确定适当的检查点数量? A.备选方案分析 ...

  5. ecplise项目启动出现permgen space异常内存不够

    1. java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域 ...

  6. 「postOI」Lost Array

    题意 有一个序列 \(A=\{a_1, a_2, ..., a_n\}\),按如下方式构造一个 \((n + 1) \times (n + 1)\) 的矩阵 \(B\): \(B_{i0}=0\)(\ ...

  7. oracle job的使用

    select job, next_date, next_sec, failures, broken from user_jobs; create or replace sequence END_RES ...

  8. go 语言操作es示例

    使用高度封装的 orm 查询 package main import ( "context" "fmt" "log" "os&qu ...

  9. 4.git的指令应用

    1.stash 应用:   应用场景:在当前分支开发代码,开发到一半,代码没有提交,你想在当前分支的基础上切换到别的分支:或者创建新的分支,所以需要把当前开发的内容进行藏匿起来. 1.1藏匿指令:   ...

  10. SAP SD VA01 销售订单中的自动价格更新

    场景 :当用户使用假定物料" A"创建销售订单时,确定了价格,但随后用户意识到需要更改物料,因此他们更改了订单中的物料. 现在,它显示价格已经重新确定,但是在项目条件页面中时,他们 ...