zabbix监控

zabbix 是什么?

· zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

· zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

· zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

· zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。

· zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

zabbix 监控原理:

zabbix监控_第1张图片

zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。

zabbix 监控部署在系统中,包含常见的五个程序:

zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。

· zabbix server:zabbix 服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server;

· zabbix agent:客户端守护进程,负责收集客户端数据,例如:收集 CPU 负载、内存、硬盘使用情况等;

· zabbix proxy:zabbix 分布式代理守护进程,通常大于 500 台主机,需要进行分布式监控架构部署;

· zabbix get:zabbix 数据接收工具,单独使用的命令,通常在 server 或者 proxy 端执行获取远程客户端信息的命令;

· zabbix sender:zabbix 数据发送工具,用户发送数据给 server 或 proxy 端,通常用户耗时比较长的检查。

zabbix监控优势

· 开源,无软件成本投入

· Server 对设备性能要求低

· 支持设备多,自带多种监控模板

· 支持分布式集中管理,有自动发现功能,可以实现自动化监控

· 开放式接口,扩展性强,插件编写容易

· 当监控的 item 比较多服务器队列比较大时可以采用主动状态,被监控客户端主动 从server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。

· Api 的支持,方便与其他系统结合

zabbix监控劣势

· 需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据据很大,瓶颈主要在数据库。

· 项目批量修改不方便

· 社区虽然成熟,但是中文资料相对较少,服务支持有限;

· 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大

· 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐;

· 缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发;

Zabbix 监控系统监控对象

· 数据库: MySQL,MariaDB,Oracle,SQL Server agent

· 应用软件:Nginx,Apache,PHP,Tomcat agent

· 集群: LVS,Keepalived,HAproxy,RHCS,F5 agent

· 虚拟化: VMware,KVM,XEN ,docker,k8s agent

· 操作系统:Linux,Unix,Windows性能参数 agent

· 硬件: 服务器,存储,网络设备 IPMI

· 网络: 网络环境(内网环境,外网环境) SNMP

zabbix监控_第2张图片

 

 

你可能感兴趣的:(运维开发,运维)