什么是zabbix?

2021-07-22 18:09:02 浏览数 (1)

一.Zabbix介绍

zabbix 简介

Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。

zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

zabbix主要由2部分构成zabbix server和zabbix agent,可选组建zabbix proxy

zabbix server可以通过SNMP,zabbix agent,fping端口监视等方法对远程服务器或网络状态完成监视,数据收集等功能。同时支持Linux以及Unix平台,Windows平台只能安装客户端

zabbix 功能

  • 具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、性能监控、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)
  • 支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)
  • 支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)
  • 支持分布式,能集中展示、管理分布式的监控点
  • 扩展性强,server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现)编写插件容易,可以自定义监控项,报警级别的设置。
  • 数据收集
  • 可用和性能检测
  • 支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET
  • 自定义的检测
  • 自定义收集数据的频率
  • 服务器/代理和客户端模式
  • 灵活的触发器
  • 可以定义非常灵活的问题阈值,称为触发器,从后端数据库的参考值
  • 高可定制的报警
  • 发送通知,可定制的报警升级,收件人,媒体类型
  • 通知可以使用宏变量有用的变量
  • 自动操作包括远程命令
  • 实时的绘图功能
  • 监控项实时的将数据绘制在图形上面  WEB 监控能力  ZABBIX 可以模拟鼠标点击了一个网站,并检查返回值和响应时间

Api 功能

应用api功能,可以方便的和其他系统结合,包括手机客户端的使用。 更多功能请查看 http://www.zabbix.com/documentation.php 3.zabbix版本 Zabbix 3.0 Manual Zabbix 2.4 Manual Zabbix 2.2 Manual Zabbix 2.0 Manual 下载地址:http://www.zabbix.com/documentation.php 本次采用yum安装,安装zabbix3.0.使用Centos7

zabbix优缺点

优点

  1. 开源,无软件成本投入
  2. 自动发现服务器和网络设备,并套用模板监控
  3. 分布式的监控体系和集中式的web管理,对大型监控扩展有很好的支持
  4. 支持多种协议设备监控
  5. 可以针对报警默认进行固定操作,降低人为操作失误风险以及人员成本
  6. Api 的支持,方便与其他系统结合

缺点

  1. 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。

二.原理和环境

zabbix监控原理

Zabbix 通过C/S 模式采集数据,通过B/S模式在web 端展示和配置。

被监控端:主机通过安装agent 方式采集数据,网络设备通过SNMP 方式采集数据

Server 端:通过收集SNMP 和agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过php apache 在web 前端展示。

名词解析

zabbix-server:zabbix的控制中心,收集数据,写入数据 zabbix-agent:部署在被监控端的一个程序,用于收集本机信息给服务端 host:服务器 item:监控项,例如监控cpu平均负载就是一个监控项,每隔一段时间获取一个值反馈到服务端 trigger:触发器,一些逻辑规则的组合,他有三个值,正常,异常,未知。当监控项获取的值达到设定的阈值的时候,就会触发 action:当trigger符合某个值的时候,就会触发操作,比如发送邮件

zabbix 运行条件

Server:Zabbix Server 需运行在LAMP(Linux Apache Mysql PHP)环境下(或者LNMP),对硬件要求低

Agent:目前已有的agent 基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、 windows

SNMP:支持各类常见的网络设备 SNMP(Simple Network Management Protocol,简单网络管理协议

监控类型

硬件监控 适用于物理机、远程管理卡(iDRAC),IPMI(只能平台管理接口) ipmitools:,MegaCli(查看Raid磁盘) 系统监控: 监控cpt:lscpu、uptime、top、vmstat 1 、mpstat 1、htop 监控内存: free -m、 监控硬盘: df -h、iotop 监控网络: iftop、netstat、ss 应用服务监控: nfs、MySQL、nginx、apache、php、rsync 更详细的监控类型可以参考:http://www.abcdocker.com/abcdocker/1376

引入zabbix

所有监控范畴,都可以整合到Zabbix中 硬件监控:Zabbix、IPMI、lnterface 系统监控:Zabbix、Agent、Interface Java监控:Zabbix、JMX、lnterface 网络设备监控:Zabbix、SNMP、lnterface 应用服务监控:Zabbix、Agent、UserParameter MySQL数据库监控:percona-monitoring-plulgins URL监控:Zabbix Web监控

zabbix进程

zabbix_agentd 客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等

zabbix_get zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。

zabbix_sender zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_server zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server 备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

zabbix_proxy zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

zabbix_java_gateway zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。

jQuery AJAX 实例

什么是 AJAX?

AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。

简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。

使用 AJAX 的应用程序案例:谷歌地图、腾讯微博、优酷视频、人人网等等。

您可以在我们的 jQuery Ajax 参考手册学会 jQuery Ajax 的具体应用。

您可以在我们的 AJAX 教程中学到更多有关 AJAX 的知识。


关于 jQuery 与 AJAX

jQuery 提供多个与 AJAX 有关的方法。

通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本、HTML、XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中。

如果没有 jQuery,AJAX 编程还是有些难度的。编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现并不相同。这意味着您必须编写额外的代码对浏览器进行测试。不过,jQuery 团队为我们解决了这个难题,我们只需要一行简单的代码,就可以实现 AJAX 功能。

0 人点赞