一、什么是Zabbix?
zabbix由AlexeiVladishev首先开发,目前在维护的是Zabbix SIA。ZABBIX是一个企业级的开源分布式监控解决方案。
zabbix为监控网络和服务器的健康和完整提供了很多参数。使用一个灵活的通知机制,允许用户配置基于email的报警,几乎支持所有的事件。这可以快速的反应服务器的问题。zabbix基于存储的数据提供了极好的报告和数据可视化特性。这使得zabbix容量很好的规划。
zabbix支持轮循和捕获。所有zabbix的报告和数据以及配置参数,都是基于一个web前端界面。一个基于web的界面可以确保网络的状态和服务器的健康状态可以从任何地址获知。 适当的配置,zabbix在监控ip基础设施起到一个很重要的角色。
世界各地的组织使用zabbix作为主要的监控平台。
二、Zabbix的组成
zabbix由几个主要的软件组件构成
server: zabbix server是一个核心组件,agent可以向它报告可用性和完整性信息和统计数据。该server所有的配置,数据和业务数据都存在数据库中。
数据库存储:所有的配置信息包括采集的数据都被zabbix存储在数据库中。
Web界面: 通过一个基于web的平台,我们可以从任何一个地方访问zabbix。这个web是zabbix server的一部分,通常跟server运行在同一台物理机上。(SQLite必须得配置在同一台物理机上)
Proxy: proxy可以代替server收集性能和可用性的数据。proxy是一个可选的部分,但它对于减弱zabbix server的负载非常有用。
agent: zabbix agent被部署在监控的目标上,主机监控本地的资源和应用并汇报数据给zabbix server。
三、Zabbix几个定义组件
host: 你要监控的网络设备,使用ip/域名.
host group: 主机的逻辑分组,可能包含主机和模板。主机组内的主机和模板是不以任何方式彼此连接。为不同的用户分配权限时,使用主机组。
item: 你想从监控主机获取到的某些数据
trigger: 定义一个阀值来看看从item中接收的数据是否有问题,使用逻辑表达式。当接收一个超过比阀值的,trigger从ok变成problem。当接收的数据低于阀值,trigger变成ok状态。
event:一些值得关注的例如trigger状态变化或者发现机制,agent自动注册发生了。
action: 基于事件一个预定义的装置.一个action包含条件和操作(发送一个邮件)。
escalation: 在action的操作中自定义,发送通知/远程执行命令
media: 发送通知的一种手段。
notification: 一个事件经由选择的媒体发送给用户.
remote command: 当一些条件触发时,预定义的远程命令执行.
template: 准备被应用到一台或多台主机的实体(items, triggers, graphs, screens,applications, low-level discovery rules, web scenarios),模板加快了监控的部署。大规模的更改应用到监测任务。模板直接关联到主机。
application: item的逻辑分组
web scenario: 一个或多个HTTP请求来检查网站的可用性
frontend: zabbix提供的web界面
zabbix api: Zabbix API允许你使用json rpc协议来创建,更新和获取zabbix对象(likehosts, items, graphs and others) 或执行其它自定义任务.
zabbix server: zabbix软件的中心,用来执行监控,跟proxy和agent交互,计算trigger,发送通知,中央数据存储。
zabbix agent:一个进程部署在监控主机上,主动监控本地资源和应用。
zabbix proxy:代替zabbix server采集数据,代替server承受些压力。
四、Zabbix硬件配置
Zabbix所需硬件配置举例:
NamePlatformCPU/MemoryDatabaseMonitored hostsSmall CentOS Virtual Appliance MySQL InnoDB 100
Medium CentOS 2 CPU cores/2GB MySQL InnoDB 500
Large RedHat Enterprise Linux 4 CPU cores/8GB RAID10 MySQL InnoDB or PostgreSQL >1000
Very large RedHat Enterprise Linux 8 CPU cores/16GB Fast RAID10 MySQL InnoDB or PostgreSQL >10000
五、Zabbix Server端安装配置
我们这里使用repository安装,使用MySQL分支MariaDB数据库。
1> 环境介绍