一、常用的监控方案

开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等

1、Cacti

官方网站:https://www.cacti.net/https://github.com/Cacti/cacti

Cacti是基于LAMP平台展现的网络流量监测及分析工具,通过SNMP技术或自定义脚本从目标设备/主机获取监控指标信息;其次进行数据存储,调用模板将数据存到数据库,使用rrdtool存储和更新数据,通过rrdtool绘制结果图形;最后进行数据展现,通过Web方式将监控结果呈现出来,常用于在数据中心监控网络设备。

2、Nagios

官方网站:https://www.nagios.org/

Nagios用来监视系统和网络的开源应用软件,利用其众多的插件实现对本机和远端服务的监控,当被监控对象发生异常时,会及时向管理员告警,提供一批预设好的监控插件,用户可以之间调用,也可以自定义Shell脚本来监控服务,适合各企业的业务监控,可通过Web页面显示对象状态、日志、告警信息,分层告警机制及自定义监控相对薄弱。

3、SmokePing

官方网站:https://oss.oetiker.ch/smokeping/

Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况。

4、Open-falcon

官方网站:https://www.open-falcon.org/https://github.com/XiaoMi/open-falcon

小米公司开源出来的监控软件open-falcon(猎鹰),监控能力和性能较强。

5、夜莺

官方网站:https://n9e.didiyun.com/

一款经过大规模生产环境验证的、分布式高性能的运维监控系统,由滴滴基于open-falcon二次开发后开源出来的分布式监控系统。

6、Zabbix

官方网站:https://www.zabbix.com/cn/

目前使用较多的开源监控软件,可横向扩展、自定义监控项、支持多种监控方式、可监控网络与服务等。

7、Prometheus(普罗米修斯)

官方网站: https://prometheus.io/

prometheus是由谷歌研发的一款开源的监控软件,是一款主要针对容器环境的开源监控软件。

8、商业监控解决方案:

二、zabbix介绍

1、概述

Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。

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

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。

Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。

2、zabbix功能介绍

  • 数据采集
  • 可用性和性能检查
    支持SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware监控;
    自定义检查;
    按照自定义的时间间隔采集需要的数据;
    通过Server/Proxy和Agents来执行数据采集;
    灵活的阈值定义;
    触发器(可以参考后端数据库定义非常灵活的告警阈值);
    高度可配置化的告警;
    可以更具递增计划、接受者、媒介类型自定义发送告警通知;
    使用宏变量可以使告警通知变得更加高效有用;
    自动操作包括远程执行命令。
  • 实时图形
    使用内置图形功能可以将监控项实时绘制成图形。
  • web监控功能
    zabbix可以追逐模拟鼠标在web网站上的点击操作,来检查web网站的功能和响应时间。
  • 丰富的可视化选项
    可以组合多个监控项到单个视图中,创建自定义图表。
  • 网络拓扑图
    以仪表盘样式展示自定义聚合图形和幻灯片演示。
  • 报表
    监控资源的更高层次展示视图(业务视图)。
  • 历史数据存储
    存储在数据库中的数据;
    历史配置;
    内置数据管理机制(housekeeping)。
  • 配置简单
    将被监控设备添加为主机;
    主机一旦添加到数据库中,就会采集数据用于监控;
    将模板用于监控设备。
  • 使用模板
    模板中分组检查;
    模板可以管理模板,继承已关联的模板属性。
  • 网络发现
    自动发现网络设备;
    zabbix agent发现设备后自动注册;
    自动发现文件系统、网络接口和SNMP OIDs值。
  • 快捷的web界面
    基于 PHP 的 Web 前端;可以从任何地方访问;您可以定制自己的操作方式;您可以通过审计日志来查看你的操作。
  • zabbix API
    Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。
  • 权限管理系统
    安全的用户身份验证;
    指定的用户只能查看指定权限范围内的视图。
  • 功能强大且易于扩展的 Zabbix Agent
    部署于被监控对象上;
    支持Linux和Windows。
  • 二进制守护进程
    为了更好的性能和更少的内存占用,采用C语言编写。
    便于移植。
  • 适应更复杂的环境
    使用zabbix proxy代理,可以轻松实现分布式远程监控。