监控系统
监控系统介绍 (P1)
什么是监控系统
监控系统资源以及性能的硬件或者软件
监控软件又分为单一监控程序和分布式监控程序
为什么需要监控系统
为用户提供稳定、高效、安全的服务
监控系统功能
告警是监控的重要功能,告警功能主要是由告警策略和告警发送两部分组成
监控系统组成
开源监控系统现状
Grafana是可以非常美观的展示和分析监控数据的工具
监控系统趋势
如何选择监控系统
Zabbix发展介绍 (P2)
- Zabbix有两个显著的特点
- 一个是监控任何东西 monitor anything就是监控任何设备资源
- 可以无线扩展、分布式部署、高可用并且注重安全
zabibix是由前端、服务端、代理段、客户端、Java监控网关几个组件完成
zabbix是一个跨平合的软件。可以在windows、limux、Unix等操作系统上部署
Zabbix-Monitor Anything
创建者:Alexei vladishev
开发维护:Zabbix LLC
n)s8|2城举
码im6Pieg s
开发语言:C、PHP、JAVA
操作系统:跨平台
许可协议:GPLv2
官网:www.zabbix.com
zabbix版本
开源软件介绍
第一个是Linux内核和Git的创始人,第二个是GNU开源软件的创始人
开源软件许可协议
Apache Licence鼓励代码共享就是允许代码修改在发布可以作为开源或商业软件发布
GPL协议是不允许修改后和衍生的代码作为闭源的商业软件发布和销售
Zabbix4.0+ 功能介绍 (P3)
Zabbix 数据收集
zabbix客户端占用的系统资源很少开源获取CPU、内存网卡、磁盘、日志等信息
对于无法安装zabbix客户端它支持通过SNMP(简单玩好咯管理协议)获取监控数据不仅可以监控网络设备也可以监控打印机、存储、UPS
只要是联网的设备都可以通过SNMP协议获取,也支持通过IPMI获取硬件的温度、风扇、硬盘、电源等
IPMI(智能平台管理接口)是一个开放的硬件管理接口标准
通过IPMI不仅可以获取监控数据也可以管理硬件设备,重启、关机、获取硬件日志等等
有的服务不支持客户都按安装同时也不支持SNMP这类服务我们可以通过Zabbix自带的检测进行监控支持TCP、ICMP、SSH、Telnet检测方式
Zabbix支持自定义监控通过shell、python、ruby、perl、powershell任何可执行的脚本收集监控数据
Zabbix数据展示
Zabbix故障检测
Zabbix支持8种运算符,29个函数可以任意组合使用,完全可以满足我们的告警阈值设置需求
Zabbix告警发送
zabbix提供了告警关联分析功能,可以有效降低告警风暴同时让技术人员只关注事件的根本原因
Zabbix安全和认证
Zabbix支持多种认证方式可以是本地用户,HTTP基础认证,LDAP认证
Zabbix任意两个组件之间都可以通过TLS加密传输数据这种设置一般是多地域、多机房的情况会用到避免数据在传输过程中被窃听或者篡改
TLS全称是Transport Layer Security 传输层安全性协议.SSL是TLS的前身
Zabbix自动化
-
针对海量设备Zabbix提供两个自动化手段帮助设备监控
- 网络扫描,通过网络扫描发现网段中满足条件的设备比如安装了Agent、打开了SNMP,开启了特定的服务满足条件的这些设备可以设置操作自动加入监控应用对应的监控模板或者是执行某个处理脚本
- Agent自动注册,只要安装了Agent的设备并且配置为主动上报模式,Zabbix服务端会根据客户端传过来的信息执行监控
-
如果监控系统的内部比如网卡流量、挂在的文件系统这就是用到了Zabbix的LLD低级自动发现的功能,低级发现功能可以自动发现并创建监控项、告警策略、图表
Zabbix API
通过Zabbix API 可以获取监控数据,自动化配置管理与第三方系统联动,开发自己的监控API等
Zabbix 4.0+特性
Zabbix 架构组成 (P4)
Zabbix 架构
主要组件
- Zabbix Agent:Zabbix客户端、负责数据收集上传
- Zabbix Server:Zabbix的服务端,负责数据汇总、处理告警策略、告警发送等
- Zabbix Web:Zabbix前端页面,提供了有好多展示和操作界面,负责数据的展示、监控系统的配置管理、用户权限管理等等
- DataBase:数据和配置存储数据库、Zabbix支持多种数据库包括MySQL、Oracle、DB2
- Java GateWay:Java网关、负责通过JMX监控收集Java应用程序性能数据
- Zabbix Proxy:Zabbix代理,分布式部署架构会用到主要是收集设备的监控数据并将数据发送给对应的Zabbix Server
数据通过Zabbix客户端收集并发送给Zabbix服务端,Zabbix服务端负责存储、分析数据、触发告警等等,用户或管理员可以通过Zabbix前端页面进行数据展示;如果涉及到多设备可以通过Zabbix Proxy实现分布式架构部署
Zabbix Server组成
- Poller进程主要是负责Server主动拉取类型的监控数据
- Trapper进程主要负责Agent主动上报的监控数据
- Http Poller进程主要负责URL 监控类型的数据收集
- icmp pinger进程负责ping存活监控数据的收集
- java gateway进程负责和Java Gateway通信处理数据
- java poller进程负责拉取JMX类型数据获取
- ipmi poller 进程负责IPMI类型数据获取
- timer进程负责处理和时间有关的数据以及告警
- VMware collector 进程负责收集VMware虚拟化环境监控数据
- unreachable poller 负责处理无法到达类的监控处理
- preprocessing进程会对监控数据进行预处理然后服务端的history syncer 进程负责将数据分析并保存到数据库中
- housekeeper进程负责定期清理历史数据
- 告警是通过alerter进程处理发送的,而alerter manager是负责管理alerter进程的
- escalator进程是负责处理告警过程中的各个步骤,比如有告警升级之类的
- 分布式通信是由proxy poller进程负责的
- discovery process是负责设备自动发现功能
Zabbix基本数据 (P5)
组件功能
监控收集
value processing 监控项数据预处理就是数据再存入数据库之前按照规定预处理
宏可以认为是一个变量
数据展示
screen聚合图表
告警相关
认证和授权
UserType Zabbix提供三种用户类型普通用户、管理员、超级管理员