百度百科:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视的企业级开源解决方案,
可以监视各种的网络参数,保证服务器的安全运营,并提供灵活的通知机制让系统管理员快速定位/解决存在的各种问题
以下的总结和问题部分来自网上:http://blog.51cto.com/zhang789/1868880
为什么需要监控?
在实际的上线的应用中,假如没有监控,上线业务中的部分情况是未知的,我们需要花费大量的人力物力,对出错的地方进行排查
严格的来说,线上的服务必须在监控下才能上线,对运维而言,要实时的了解线上平台的运行状态,对主要服务的监控可以使得我们在第一时间内对服务进行故障修复
什么是运维?
运维是指大型组织已经建立好的网络软硬的维护,保证线上的业务的上线与运作的正常
运维的岗位又有很多种:DBA运维 网站运维 监控运维 游戏运维
大部分的时候都是通过各种工具来完成特定的维护和安全的
运维大体有三个部分:运维开发 业务运维 系统运维
运维开发:为业务运维进行提供一些必要的工具
业务运维:对业务上出现的故障进行及时的排查和补救,保证业务的7*24小时的运行
系统运维:为业务运维提供相应的环境和网络环境的
总结:zabbix简单来说就是一个集实时监控和灵活报警机制与一身的强大的监控软件
通过简单的配置,可以使得对后台监控服务器有实时的动态的监控通过WEB的界面将其以图形展示出来
对于大型的机器的监控可以引入zabbix_proxy通过分布式的部署减轻后端的zabbix_server的负担
结合流行的onealrt平台对监控的机器进行多种方式的补救和告警
5款常用的监控软件的利弊评估:http://www.ttlsa.com/monitor-safe/monitor-software-5/
1.smokeping
smokeping是rrdtool的作者Tobi Oetiker的作品,使用Perl写得,
主要功能: 监控网络的性能, 常用规则种的ping 用echoping监控www服务器的性能 监视dns查询性能 监视ssh性能等
优点: 化图非常好看 延迟什么的用颜色和阴影表示,直观
缺点: 在企业种运用较少
2.cacti
cacti是一套基于php mysql snmp及rrdtool 开发的网络流量检测图形分析工具
使用SNMP协议获取远端网络设备和相关的信息 通过rrdtool的绘图工具经过php展示出来
展示出对监控对象一段时间内的状态或者性能趋势图
优点:基于rrdtool使用者更方便的使用该软件 除了基于snmp的流量和系统的咨询外
cacti可以使用外挂的script加上templates做出各种各样的监控图
缺点:在故障报警方面不是很擅长
3.nagios
nagios是一款开源的免费网络监视工具,有效监控多种os的主机状态 交换机 路由器等
在系统异常时第一时间通知网站的运维人员,在恢复后发出正常的邮件或者短信的通知
主要的功能: 监控网络服务 SMTP PING HTTP NNTP
监控主机资源
并行的服务检查机制
可以定义一些处理程序
自动日志滚动功能
可选WEB界面用于查看当前的网络状态,通知和故障历史,日志文件等
缺点:数据图形展示的功能薄弱
4.ntop
监控网络流量的工具,使用ntop显示网络的使用情况比其他一些网络管理软件更加的直观,详细
ntop可以列出每个节点计算机的网络带宽利用率
优点: 灵活的 功能其全的 用于姐姐局域网的问题的工具 ntop于nprobe配合使用 功能更显著
主要的功能:
自动从网络种识别有用的信息
将截获的数据转为易于识别的格式
对网络环境种通信失败情况进行分析
探测网络通信的时间和过程
5.zabbix
zabbix是一个基于WEB界面的分布式系统的监控开源的企业级软件
融合了cacti 和 nagios的大部分功能
主要功能:
监控各种网络参数,保证服务器的正常运行
灵活的通知机制,使得管理员快速的定位解决各种的问题
通过SNMP agent ping 端口监视对远程的服务器进行监视,数据收集
运行的平台众多,linux等
配置简单
可视化WEB界面
免费开源
支持中文
自动发现
分布式监控
实时绘图
以下的总结基于:https://blog.csdn.net/scott_bing/article/details/78613194
zabbix的监控组件:
zabbix的监控组件主要包括:zabbix_server zabbix_proxy zabbix_agent
其中zabbix_server包括: WEB GUI Database zabbix_server
每个组件的功能:
zabbix_server:负责接收agent发送的的报告的信息的核心组件,统计数据,操作数据均有server进行完成
Datatbase:用户存储配置信息,以及用来存储zabbix_server收到的数据,
WEB interface:zabbix的GUI接口,通常于zabbix_server运行在同一主机上
zabbix_Proxy: 常用于分布式的监控环境中,当后台检测的服务数大于500台时,使用zabbix_proxy代理对agent的数据进行收集,
将收集的数据同一的放送到zabbix_server端,以便减轻zabbix_server的压力
zabbix_agent:部署到被监控的主机上,负责本地数据的采集发往server或者proxy
zabbix的监控原理:
agent被安装在监控的主机上,agent负责定期收集客户端本地的数据,通过一定的监控模式(主动 被动)并将数据发送到zabbix_server端
zabbix_server端收到数据以后,将数据整合处理,并存储到数据库中,用户基于zabbix WEB可以看到数据在前端的实时图像的变化
当监控某一个具体的项目时,用户可以自定义一个项目的阀值,当被监控的项目超过该触发器的阀值时
会进行一些必要的动作:发送信息(邮件,微信,短信,)发送命令(shell命令 rebooe restart 等)
zabbix监控在系统的部署,包含常见的五个程序:zabbix_server zabbix_agentd zabbix_proxy
zabbix_get zabbix_sender等zabbix_java_gateway是可选的
五个程序的功能如下:
zabbix server :zabbix进程的守护者,其中其他的四个进程收集的数据最终都会提交到zabbix server上
zabbix agentd :客户端的守护进程,负责采集客户端的数据(收集cpu负载 内存 磁盘的使用情况等)
zabbix proxy:zabbix分布式代理守护进程,通常大于500台主机时需要分布式监控架构部署
zabbix get :zabbxi工具,单独使用的命令,通常在server或者Proxy端执行获取远程客户端信息的命令
例如:在server端获取不到客户端的内存数据,就可以使用zabbix_get获取客户端的内容方式
zabbix sender:zabbix数据发送工具 用户发送数据给srever或proxy端 通常用户耗费时将较长的检查
耗时较长,通常会导致zabbix超时,于是在脚本执行完毕之后,使用sender主动提交数据
zabbix_java_gateway: java网关,类似于agentd 但是只应用于java方面,
需要特别注意的是只能主动去获取数据,不能被动获取数据,数据最终会给server或者proxy
zabbix的监控方式:
zabbix分布式监控系统监控客户端的方式有三种:agent SNMP IPMI JMX
agnet:zabbix可以基于自身zabbix_agent客户端插件控制OS的状态,例如CPU 内存硬盘网卡 文件
SNMP:利用简单网络管理协议 监控网络设备或主机 通过设定的相关参数将相关的数据传送到服务器 交换机 防火墙
IPMI:智能平台管理接口 主要应用于设备的物理特性 包括:温度 电压 电扇 电源以及机箱入侵
其最大的优势在于无论OS是开机还是关机状态,只要解通电源就可以实现对服务器的监控
zabbix监控客户端分为主动模式和被动模式,
zabbix的监控端默认为被动模式,可以修改为主动模式,在配置文件中StartAgents=0
主动模式:
agent主动向server端获取需要监控的项目列表,并主动将监控项内需要检测的数据提交给serer/proxy
zabbix agent首先向serverActive的IP请求获取监控项 获取并提交active items数据提交至srever/proxy
被动模式:
server向agent请求获取监控项的数据,agent返回数据,server会打开一个TCP连接,
server发送请求agent ping ,agent接收到请求并响应,server处理收到的数据
zabbx监控概念:
主机(host): 被监控的网络设备,可以写IP或者DNS
主机组(host group): 主机组用于管理主机,可以批量设置权限
监控项(item): 具体监控项,item值由keys进行识别
触发器(trigger): 为某个items设置触发器,用于判断某项的值是否超过正常的范围
事件(event): 监控项中的数值超过规定的阀值,启动某个触发器的过程,称为事件
动作(action): 对于事件发生后应执行的处理方法称为动作 例如:发送信息 邮件 等
报警升级(escalation): 发送报警在一定时间内并没有得到有效的处理,就会在一定的时间内上升报警的级别
媒介(media): 发送通知的方式 支持mail Script
通知(notification): 通过设置的媒介向用户发送有关事件的信息
远程命令: 管理人员可以通过远程的接口,在监控端执行命令,
模版(template): 可以快速监控被监控端 模版包含:item trigger graph screen application
web场景: 用于检测web站点的可用性 监控HTTP关键词;
图形(graph): 监控图形
屏幕(screeens): 屏幕显示
幻灯(slide show): 幻灯显示