通常我们服务搭建成功 但不清楚服务器的运行状况,这时候就需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。
利用一个优秀的监控软件,我们可以:
●通过一个友好的界面进行浏览整个网站所有的服务器状态
●可以在 Web 前端方便的查看监控数据
●可以回溯寻找事故发生时系统的问题和报警情况
一、zabbix 简述
1.1 zabbix 是什么?
●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
●zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
除了zabbix,还有哪些其它的监控软件?
- cacti 网络和绘图
- nagios 网络监控
- ganglia 分布式监控系统
●zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
●zabbix server 可以通过 SNMP,zabbix agent,ping,ssh,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
●zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
通过 C/S 模式 采集数据 ,通过 B/S模式(浏览器/服务器模式) 在 web端 展示 和配置
zabbix server 10051端口,zabbix agent 10050端口
1.2 zabbix的主要特点
- 安装配置简单 学习成本比较低
- 支持多语言 包括中文
- 免费开源
- 自动发现服务器与网络设备
- 分布式监控以及web集群中的管理功能
- email 功能通知 短信 语音 微信 钉钉
1.3 监控哪些主要功能
CPU 负载 内存使用 磁盘使用率 网络状态 端口监视 日志监视 插件开发自定义
1.4 zabbix 运行机制
zabbix-agent 数据采集 ----> zabbix-server (数据分析/报警) ----> 数据库(数据存储) ----> zabbix-web(数据展示)
zabbix的监控对象:
硬件监控、系统监控、网络监控、java 监控、应用服务监控、数据库监控、url监控、vmware 监控虚拟机运行状况
监控模式
- 被动监控 :server向 agent发起连接
- 主动监控 :agent向 server 发起连接
1.5 zabbix 监控原理
zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像。
当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、install 等)。
1.6 zabbix 监控部署常见程序
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 台主机,需要进行分布式监控架构部署