Zabbix 3.0入门到企业实战二(zabbix介绍与安装)

Zabbix的简介

1.1 什么是zabbix?

  • Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。Zabbix是一个C语言写的监控服务。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  • zabbix由2部分构成,zabbix server与可选组件zabbix agent。

  • zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

  •  使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。
  • 在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。

1.2:zabbix的功能和特性

  • (1)安装与配置简单。
  • (2)可视化web管理界面。
  • (3)免费开源。
  • (4)支持中文。
  • (5)自动发现。
  • (6)分布式监控。
  • (7)实时绘图。

1.3: Zabbix的架构

  • 1.  Zabbix Server:负责接收Agent发送的报告信息,组织所有配置、数据和操作。
  • 2.  Database Storage:存储配置信息以及收集到的数据。
  • 3.  Web Interface:Zabbix的GUI 接口,通常与Server运行在同一台机器上。
  • 4.  Proxy:可选组件,常用于分布式监控环境中。
  • 5.  Agent:部署在被监控主机上,负责收集数据发送给Server。

 1.4 Zabbix的默认程序

  • 默认情况下zabbix包含5个程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。下面来分别介绍下他们各自的作用。
  1. zabbix_agentd客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。 
  2. zabbix_getzabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。 
  3. zabbix_senderzabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。 
  4. zabbix_serverzabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server  备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。 
  5. zabbix_proxyzabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?。
  6. zabbix_java_gatewayzabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

 1.5 Zabbix逻辑关系图

  • zabbix官网: https://www.zabbix.com
  • zabbix 主要由2部分构成 zabbix server和 zabbix agent
  • zabbix proxy是用来管理其他的agent,作为代理

1.6 Zabbix监控范畴

  1. 硬件监控 :Zabbix IPMI Interface
  2. 系统监控 :Zabbix Agent Interface
  3. Java 监控:ZabbixJMX Interface
  4. 网络设备监抟:Zabbix SNMP Interface
  5. 应用服务监控:Zabbix Agent UserParameter
  6. MySQL 数据库监控:percona-monitoring-pldlgins
  7. URL监控:Zabbix Web监控

 1.7 Zabbix的常用术语含义

  • 主机(host): 一台你想监控的网络设备,用IP或域名表示。
  • 主机组(host group): 主机的逻辑组,它包含主机和模板。
  • 监控项(item): 你想要接收的主机的特定数据,一个度量数据。
  • 触发器(trigger): 一个被用于定义问题阀值和评估监控项接收到的数据的逻辑表达式。
  • 事件(event): 单次发生的需要注意的事情。
  • 异常(problem): 一个处在异常状态的触发器。
  • 动作(action): 一个对事件作出反应的预定义的操作。
  • 升级(escalation): 一个在动作内执行操作的自定义场景。
  • 媒介(media): 发送报警通知的手段。
  • 通知(notification): 利用已选择的媒体途径把事情相关信息发送给用户。
  • 远程命令(remote command): 预先定义好的,满足一定条件后,可在被监控主机上自动执行的命令。
  • 模板(template): 一组可以被应用到一个或多个主机上的实体的集合。
  • 应用(application): 一组监控项组成的逻辑分组。
  • Web场景(Web scenario): 利用一个或多个HTTP请求来检查网站的可用性。
  • 前端(frontend): Zabbix提供的Web界面。
  • Zabbix API: Zabbix API允许你使用JSON RPC协议来创建、更新和获取Zabbix对象信息或执行任何其他的自定义的任务。
  • Zabbix server: Zabbix软件监控的核心程序,主要功能是与Zabbix proxies和agent进行交互、触发器计算、发送告警通知,并将数据集中保存等。
  • Zabbix agent: 部署在监控对象上,能够主动监控本地资源和应用。
  • Zabbix proxy: 帮助Zabbix server收集数据,分担Zabbix server的负载。
posted @ 2018-04-10 16:29  Egrep  阅读(380)  评论(0编辑  收藏  举报