前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是zabbix?

什么是zabbix?

原创
作者头像
陈不成i
修改2021-07-22 18:09:02
2.9K0
修改2021-07-22 18:09:02
举报
文章被收录于专栏:ops技术分享

一.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 功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.Zabbix介绍
    • zabbix 简介
      • zabbix 功能
        • Api 功能
          • zabbix优缺点
          • 二.原理和环境
            • zabbix监控原理
              • 名词解析
                • zabbix 运行条件
                  • 监控类型
                    • 引入zabbix
                      • zabbix进程
                      • jQuery AJAX 实例
                      • 什么是 AJAX?
                      • 关于 jQuery 与 AJAX
                      相关产品与服务
                      应用性能监控
                      应用性能监控(Application Performance Management,APM)是一款应用性能管理平台,基于实时多语言应用探针全量采集技术,为您提供分布式性能分析和故障自检能力。APM 协助您在复杂的业务系统里快速定位性能问题,降低 MTTR(平均故障恢复时间),实时了解并追踪应用性能,提升用户体验。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档