参考:Zabbix教程(Zabbix监控系统精讲)

一、监控介绍

Cacti

Cacti 是一套基于PHP、MySQL、SNMP以及RRD Tool开发的监测图形分析工具,Cacti 是使用轮询的方式由主服务器向设备发送数据请求来获取设备上状态数据信息的,如果设备不断增多,这个轮询的过程就非常的耗时,轮询的结果就不能即时的反映设备的状态了。Cacti 监控关注的是对数据的展示,却不关注数据异常后的反馈。如果凌晨3点的时候设备的某个数据出现异常,除非监控人员在屏幕前发现这个异常变化,否则是没有任何报警机制能够让我们知道出现了异常。

Nagios

Nagios 是一款开源免费网络监控报警服务,能有效监控 Windows、Linux和Unix的主机状态、交换机、路由器和防火墙等网络设置,打印机、网络投影、网络摄像等设备。在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。Nagios有完善的插件功能,可以方便的根据应用服务扩展功能。

Nagios 已经可以支持由数万台服务器或上千台网络设备组成的云技术平台的监控,它可以充分发挥自动化运维技术特点在设备和人力资源减少成本。只是Nagios无法将多个相同应用集群的数据集合起来,也不能监控到集群中特殊节点的迁移和恢复。

适用场景:适合复杂IT环境的企业

优点:

  • 出错的服务器、应用和设备会自动重启,自动日志滚动
  • 配置灵活,可以自定义shell脚本,通过分布式监控模式
  • 支持以冗余方式进行主机监控,报警设置多样
  • 命令重新加载配置文件无需打扰Nagios的运行(配置文件热加载)

缺点:

  • 事件控制台功能很弱,插件易用性差
  • 对性能、流量等指标的处理不给力
  • 看不到历史数据,只能看到报警事件,很难追查故障原因
  • 配置复杂,初学者投入的时间、精力和成本比较大

Open-falcon

小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。

用户群体:目前有几十家企业用户不同程度使用

优点:

  • 自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持
  • 支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询
  • 高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用
  • 单机支撑200万metric的上报、归档、存储
  • 采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据
  • 多维度的数据展示,用户自定义Screen
  • 通过各种插件目前支持Linux、Windows、Redis、Memache、RabbitMQ和交换机监控。

缺点:

  • 由于发布时间较短,很多基础的服务监控插件(如Tomcat、Apache等)还不支持,很多功能还在不断完善中,另外由于缺少专门的支持,虽然有开放社区,但是解决问题的效率相对较低。

Zenoss

优点:

  • Zenoss比较出色的地方在于它的Dashboard,可以配置很多portlet
  • 每个用户的界面都是分开管理的,自定义dashboard不会影响其他用户
  • 强大监控功能支持服务器、路由交换、防火墙、存储、数据库、中间件监控
  • 采用基于HBASE的opentsdb存储任意时间段的数据
  • 将状态监控,性能监控,资源管理,良好的报告机制进行有机的整合

缺点:

  • 对资源要求较高,即使只管理少数几台设备,也需要消耗大量硬件及内存等附加资源
  • 针对windows系统,开源版只提供SNMP,通过WMI检测CPU,Disk,软硬件和性能只在收费版提供

监控宝

监控宝是云智慧为用户提供IT性能监控(IT Performance Monitoring)的SaaS产品,包含网站监控、服务器监控、中间件监控、数据库监控、应用监控、API监控和页面性能监控等功能。包含免费版、畅享版和企业版,目前用户约40万,监控宝app也是国内唯一提供移动监控服务的产品。

用户群体:覆盖电子商务、移动互联网、广告传媒、在线游戏、教育医疗等行业的几十万用户,小米、陌陌、高德用友、金山、途牛、聚美优品、陆金所、中国平安、建行信用卡中心、春雨医生、畅游、国家电网、中国电信、滴滴打车、春秋航空、凤凰网等各行业领先企业和中国互联网百强企业超过30%在使用监控宝。

Ganglia

Ganglia 是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个web前端。

主要是用来监控系统性能,如:CPU、内存、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用,目前是监控Hadoop的官方推荐服务。

Zabbix

Zabbix 是一个基于 WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制,让系统管理员快速定位/解决存在的各种问题。

Zabbix 是由Alexei Vladishev 创建,目前由Zabbix SIA在持续开发和支持。

Zabbix 是一个企业级的分布式开源监控方案。

Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件。

Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题,基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

Zabbix 支持主动轮询和被动捕获。

Zabbix 所有的报告、统计信息和配置参数都可以通过Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。

Zabbix 是免费的。Zabbix 是很具GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用,商业支持由Zabbix公司提供。

二、监控区别

  • Nagios 图形不是特别好,也可以安装图形插件,但是也不怎么好看
  • Nagios 一般情况下如果需要图形可以和 Cacti 配合使用
  • Cacti 的监控是轮询监控,效率低,图形相对 Nagios 比较好看
  • Zabbix 和 Nagios 因为是并发监控,对CPU的要求更高
  • Zabbix 在性能和功能上都强大很多
  • Zabbix 的图形相当漂亮
  • 支持多种监控方式 Zabbix-agent snmp等等
  • 支持分布式监控,能监控的agent非常多
  • Zabbix 有图形的web配置界面,配置简洁
  • Zabbix 支持自动发现功能

三、Zabbix监控介绍

3.1、监控架构

3.2、优缺点

优点:

  • 开源、无软件成本投入
  • Server对设备性能要求低
  • 支持设备多,自带多种监控模板
  • 支持分布式集中管理,有自动发现功能,可以实现自动化监控
  • 开放式接口,扩展性强,插件编写容易
  • 当监控的item比较多、服务器队列比较大时可以采用被动状态,被监控客户端主动从server端去下载需要监控的item,然后取数据上传到server端,这种方式对服务器的负载比较小。

缺点:

  • 需要在被监控主机上安装agent,所有数据都存在于数据库里,产生的数据量很大,瓶颈主要在数据库
  • 项目批量修改不方便
  • 社区虽然成熟,但是中文资料相对较少,服务支持有限
  • 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发,难度较大。
  • 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐;
  • 缺少数据汇总功能,如无法查看一些服务器平均值,需进行二次开发。

3.3、监控对象

类别 示例 备注
数据库 MySQL、MariaDB、Oracle、SQL Server agent
应用软件 Nginx、Apache、PHP、Tomcat agent
集群 LVS、Keepalived、HAproxy、RHCS、F5 agent
虚拟化 VMware、KVM、XEN、docker、k8s agent
操作系统 Linux、Unix、Windows性能参数 agent
硬件 服务器、存储、网络设备 IPMI
网络 网络环境(内网环境、外网环境) SNMP

3.4、监控方式

3.4.1、被动模式

被动检测:相对于agent而言;server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server。

3.4.2、主动模式

主动检测:相对于agent而言;agent(active)agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server

主动监控极大节约监控server的资源。

— 业精于勤荒于嬉,行成于思毁于随 —

zabbix - [01] 概述的更多相关文章

  1. kafka详解(01) - 概述

    kafka详解(01) - 概述 定义:Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域. 消息队列 MQ传统应用场景之异步处理 使用消 ...

  2. Zookeeper详解(01) -概述

    Zookeeper详解(01) -概述 概念 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分 ...

  3. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

  4. Redis数据库 01概述| 五大数据类型

    1.NoSQL数据库简介 解决应用服务器的CPU和内存压力:解决数据库服务的IO压力: ----->>> ① session存在缓存数据库(完全在内存里),速度快且数据结构简单: 打 ...

  5. Hive 01 概述、安装配置

    概述 数据仓库:是一个面向主题的.集成的.不可更新的.随时间不变化的数据集合,它用于支持企业或组织的决策分析处理. 数据仓库的结构和建立过程: 数据源 数据存储及管理 ETL Extract 提取 T ...

  6. zabbix基本概述

    #zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 #官网地址 #官方网站 http://www.zabbix.com #zabbix4.2 ...

  7. 【OracleDB】 01 概述和基本操作

    实例概念: Oracle有一个特殊的概念 Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例 实例处理Oracle的请求,调用文件系统 然后返回结果响应给客户端 单实例和多 ...

  8. 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成

    一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...

  9. Headfirst JSP 01 (概述)

    HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...

  10. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

随机推荐

  1. 技术实践|Hive数据迁移干货分享

    导语 Hive是基于Hadoop构建的一套数据仓库分析系统,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能.它的优点是可以通过类SQL语句快速实现简单的MapReduce统计,不 ...

  2. 序列化与反序列化的概念、基于django原生编写5个接口、drf介绍和快速使用、cbv源码分析

    目录 一.序列化反序列化 二.基于django原生编写5个接口 三.drf介绍和快速使用 概念 安装 代码 四.cbv源码分析 一.序列化反序列化 api接口开发,最核心最常见的一个过程就是序列化,所 ...

  3. django目录结构、app概念和三板斧的初步介绍

    目录 一.django app(应用)的概念 概念 命令行创建应用 pycharm创建应用 创建应用注意事项 二.django主要目录结构 三.django小白必会三板斧 一.django app(应 ...

  4. MySQL百万级数据量分页查询方法及其优化

    1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count 当起始页较小时,查询没有性能问题, ...

  5. JDBC核心6步

    1JDBC简介 java DataBase Connectivity,又称java数据库连接 是独立于任何数据库管理系统的api java提供接口规范,由各个数据库厂商提供接口的实现,厂商提供的实现封 ...

  6. Qt/C++路径轨迹回放/回放每个点信号/回放结束信号/拿到移动的坐标点经纬度

    一.前言说明 在使用百度地图的路书功能中,并没有提供移动的信号以及移动结束的信号,但是很多时候都期望拿到移动的哪里了以及移动结束的信号,以便做出对应的处理,比如结束后需要触发一些对应的操作.经过搜索发 ...

  7. Qt音视频开发34-不同库版本不同位数的库和头文件的引用

    一.前言 做开发过程中难免遇到需要引入第三方库的时候,而且需要在不同库版本.不同系统.不同位数下都需要.第三方的库版本众多,一般在大版本中的小版本都是兼容的,但是大版本不兼容,比如ffmpeg目前就有 ...

  8. 【狂神说Java】Java零基础学习笔记-异常

    [狂神说Java]Java零基础学习笔记-异常 异常01:Error和Exception 什么是异常 实际工作中,遇到的情况不可能是非常完美的.比如:你写的某个模块,用户输入不一定符合你的要求.你的程 ...

  9. JMeter 线程组全家桶教程

    宝子们,今天咱就来唠唠 JMeter 里那些超重要的线程相关的玩意儿,学会了它们,你就能在性能测试的世界里 "横冲直撞" 啦! 一.线程组 -- 性能测试的主力军 想象一下,你开了 ...

  10. Canal同步MySQL增量数据

    引言 在现在的系统开发中,为了提高查询效率 , 以及搜索的精准度, 会大量的使用 redis .memcache 等 nosql 系统的数据库 , 以及 solr . elasticsearch 类似 ...