# 一、Zabbix简介
Zabbix是基于Web界面的分布式系统监控的企业级开源软件。可以监控各种系统与设备,网络参数,保证服务器设备安全运营;提供灵活的通知机制。
## (1)Zabbix功能
CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监控。
Zabbix逻辑图:
![7-2](http://pded8ke3e.bkt.clouddn.com/7-2.png)
## (2)Zabbix server
1、Zabbix server是整个Zabbix软件的核心程序。
2、Server通过轮询和捕获数据,计算是否满足触发器条件,向用户发送通知。它是Zabbix监控代理和Proxy代理报告系统可用性和完整性数据的核心组件。Server自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务)。
3、Sever是一个包含了被存储了所有配置,统计方面的和可操作数据的中央仓库,它是监控系统问题升级以至于激活警告管理器的Zabbix中的实体。
4、基本的Zabbix服务器起作用分三个不同的组件;他们是:Zabbix服务器,Web前端和数据库存储。
5、Zabbix的所有配置信息都存储在服务器和Web前端进行交互的数据库中。Zabbix的所有配置信息都存储在服务器和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个条目时,它会被添加到数据库的item表里。然后,Zabbix服务器以每分钟一次的频率查询item表中的活动列表,接着将它存储在Zabbix服务器中的缓存里。这就是为什么Zabbix前端所做的任何更改最多需要花费两分钟才能显示在最新的数据段的原因。
## (3)Zabbix agent
Zabbix agents可以执行被动(passive)和主动(active)两种检查方式。
1、在passive check 模式中agent应答数据请求,Zabbix server(或者proxy)询问agent数据,如CPU 的负载情况,然后Zabbix agent回送结果。
2、Active checks 处理过程将相对复杂。 Agent必须首先从Zabbix sever索取监控项列表以进行独立处理,然后周期性地发送新的值给server。
3、执行被动或主动检查是通过选择相应的监测项目类型来配置的。item type. Zabbix agent处理监控项类型有’Zabbix agent’和’Zabbix agent (active)’。
## (4)Zabbix支持的平台
由于安全要求和服务器关键任务的操作, UNIX系统是唯一能够提供必要性能,容错和恢复能力的操作系统. Zabbix运转也是市场领先版本.
Zabbix server支持以下平台:
Linux
Solaris
AIX
HP-UX
Mac OS X
FreeBSD
OpenBSD
NetBSD
SCO Open Server
Tru64/OSF1
Zabbix agent支持以下平台:
Linux
IBM AIX
FreeBSD
NetBSD
OpenBSD
HP-UX
Mac OS X
Solaris: 9, 10, 11
Windows: 支持2000后所有桌面和服务器版。
# 二、Zabbix 概述
## (1)组件概述
- Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行。
- Database Storage:专用于存储所有配置信息,以及由Zabbix收集的数据。
- Web interface:Zabbix的GUI接口,通常与Server运行在同一台主机上。
- Proxy:可选组件,常用于分布式监控环境中,代理Server收集部分被监控端的监控数据并统一发往server端。
- Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端。
## (2)Zabbix web接口概览
- Monitoring:与“监控”功能相关的页面大多都在此处,如graphs、triggers、screens及maps等。
- Inventory:主机资产清单。
- Reports:提供强大且直观报告功能。
- Configuration:监控系统的所有配置功能均位于此处,例如定义主机组、模板、主机等。
- Administration:与Zabbix自身相关功能,如认证方法、用户、权限、脚本、媒介类型(media type)、审计、通知及全局配置等。
## (3)Zabbix常用术语
- 主机(host):要监控的网络设备,可由IP或DNS名称指定;
- 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用。
- 监控项(item):一个特定监控指标的相关的数据,这写些数据来自于被监控对象;item是zabbix进行数据收集的核心,没有item,将没有数据;相对某监控对象来说,每个item都由“key”进行标示。
- 触发器(trigger):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值;接收到的数据量大于阀值时,触发器状态将从“ok”转变为“problem”,当数据量再次回归到合理范围时,其状态将从“problem”转换回“ok”。
- 事件(event):即发生的一个值得关注的事情,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等。
- 动作(action):指定与特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)。
- 报警升级(escalation):发送报警或执行远程命令的自定义方案,如每隔5分钟发送一次报,共发送5次等
- 媒介(media):发送通知的手段或通道,如email,jabber或sms等。
- 通知(notification):通过选定的媒介向用户发送的有关某事件的信息。
- 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行。
- 模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、srceen、application以及low-level discovery rule;模板可以直接链接至单个主机。
- 应用(application):一组item的集合
- web场景(web scennario):用于检测web站点可用性的一个或多个http请求。
- 前端(frontend):Zabbix的web接口。
## (4)Zabbix的逻辑架构
![7-3](http://pded8ke3e.bkt.clouddn.com/7-3.png)
- 献给我的朋友们
- 一、个人对学习的看法
- 二、运维技能图谱
- 三、运维常用技能
- 3.1 Vim(最好用的编辑器)
- 3.2 Nginx & Tengine(Web服务)
- 1. Nginx介绍和部署
- 2. Nginx配置解析
- 3. Nginx常用模块
- 4. Nginx 的session 一致性问题
- 3.3 Tomcat(Web中间件)
- 3.4 Keepalived(负载均衡高可用)
- 3.5 Memcache(分布式缓存)
- 3.6 Zookeeper(分布式协调系统)
- 3.7 KVM(开源虚拟化)
- 1. 虚拟化介绍
- 2. KVM基础
- 3. 设置VNC和时间同步
- 4. kvm虚拟机快照备份
- 5. kvm虚拟机在线扩展磁盘
- 6. kvm虚拟机静态迁移
- 7. kvm虚拟机动态迁移
- 8. kvm虚拟机存储池配置
- 9. cpu添加虚拟化功能
- 3.8 GitLab(版本控制)
- 3.8.1 GitLab安装与汉化
- 3.9 Jenkins(运维自动化)
- 3.10 WAF(Web防火墙)
- 3.10.1初探WAF
- 四、常用数据库
- 4.1 MySQL(关系型数据库)
- 1. MySQL源码安装
- 4.2 Mongodb(适用与大数据分析的数据库)
- 4.3 Redis(非关系数据库)
- 五、自动化运维工具
- 5.1 Cobbler(系统自动化部署)
- 5.2 Ansible(自动化部署)
- 5.3 Puppet(自动化部署)
- 5.4 SaltStack(自动化运维)
- 六、存储
- 6.1 GFS(文件型存储)
- 6.2 Ceph(后端存储)
- 七、运维监控工具
- 7.1 对监控的理解
- 7.2 Zabbix(运维监控)
- 7.2.1 Zabbix简介
- 7.2.2 Zabbix服务部署
- 1. Zabbix服务端部署
- 2. Zabbix客服端部署
- 3. 配置前端展示
- 4. zabbix告警配置
- 7.2.3 Zabbix监控服务
- 1. 监控网络设备
- 2. 自定义Nginx监控
- 7.3 云镜(安全监控)
- 7.4 ELK(日志收集展示)
- 八、运维云平台
- 8.1 OpenStack(开源云操作系统)
- 8.1.1 OpenStack简介
- 8.1.2 实验架构设计
- 8.1.3 集群环境准备
- 8.1.4 controller节点部署
- 1. 安装Mariadb Galera Cluster集群
- 2. 安装RabbitMQ Cluster集群
- 3. 安装Pacemaker
- 4. 安装HAProxy
- 5. 安装配置Keystone
- 6. 安装配置glance
- 1. 制作镜像模板
- 7. 安装配置nova
- 8. 安装配置neutron
- 1. 配置虚拟机网络
- 9. 安装Dashboard
- 10. 安装配置cinder
- 8.1.5 compute节点部署
- 1. 安装相关软件包
- 2. 安装Neutron
- 3. 配置cinder
- 4. 创建第一个虚拟机
- 8.1.6 OpenStack报错处理
- 1. cinder僵尸卷删除
- 8.1.7 快速孵化虚拟机方案
- 8.1.8 Kolla容器化部署OpenStack
- 1. 单点部署
- 2. 多节点部署
- 8.2 Tstack(腾讯云平台)
- 8.3 K8s(微服务容器化)
- 九、运维编程技能
- 9.1 Shell(运维必会语言)
- 9.2 Python(万能的胶水语言)
- 十、Devops运维
- 10.1 理念
- 10.2 Devops实战