Zabbix 是一个企业级的分布式开源监控方案。前端
zabbix重要的不是部署,而是学会操做使用,因此推荐你们进行一键部署。git
手动部署可参考官方文档:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_packagesgithub
一键部署可参考:https://github.com/BillWang139967/zabbix_managerweb
docker上一键部署:https://github.com/BillWang139967/zabbix_install/wiki/server_dockerdocker
一个监控系统运行的大概的流程是这样的:数据库
zabbix agent须要安装到被监控的主机上,它负责按期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展示和绘图。这里agent收集数据分为主动和被动两种模式:服务器
主动:agent请求server获取主动的监控项列表,并主动将监控项内须要检测的数据提交给server/proxy网络
被动:server向agent请求获取监控项的数据,agent返回数据。架构
主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细的报表图表绘制并发
监控主机zabbix有专用的agent,能够监控Linux,Windows,FreeBSD等 。
监控网络设备zabbix经过SNMP,ssh(很少用)
可监控对象
C/P/S
客户端/代理端/服务器端/,这种适用于大规模系统
Zabbix server 是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。Zabbix Server是全部配置信息、统计信息和操做数据的核心存储器。
全部配置信息和Zabbix收集到的数据都被存储在数据库中。
为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。该界面是Zabbix Server的一部分,一般(但不必定)跟Zabbix Server运行在同一台物理机器上。
Zabbix proxy 能够替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;固然,Proxy代理服务器能够帮助单台Zabbix Server分担负载压力。
Zabbix agents监控代理 部署在监控目标上,可以主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
此外,了解Zabbix内部的数据流一样很重要。为了建立一个监控项用于采集数据,必须先建立一个主机。转换到Zabbix功能的其余部分,你必须先有一个监控项来建立触发器,你必须有一个触发器来建立动做。 所以,若是你想收到X服务器CPU负载太高的告警,你必须先为X服务器建立一个主机实体并关联一个用于对CPU进行监控的监控项,而后若是CPU负载过高便会激活触发器,接着会执行一个动做,给你发送告警邮件。虽然看起来有不少步骤,可是使用模板的话能够会很简单。同时,这个设计能够建立一个很是灵活的配置。
一、主机(host):要监控的网络设备,可由IP或DNS名称指定;
二、主机组(host group):主机的逻辑容器,能够包含主机和模板,但同一个组织内的主机和模板不能互相连接;主机组一般在给用户或用户组指派监控权限时使用;
三、监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每一个item都由"key"标识;
四、触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";
五、事件(event):触发一个值得关注的事情,好比触发器状态转变,新的agent或从新上线的agent的自动注册等;
六、动做(action):指对于特定事件事先定义的处理方法,如发送通知,什么时候执行操做;
七、报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;
八、媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;
九、通知(notification):经过选定的媒介向用户发送的有关某事件的信息;
十、远程命令(remote command):预约义的命令,可在被监控主机处于某特定条件下时自动执行;
十一、模板(template):用于快速定义被监控主机的预设条目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能够直接连接至某个主机;
十二、应用(application):一组item的集合;
1三、web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;
1四、前端(frontend):Zabbix的web接口;