1.zabbix是一个机遇web界面的提供分布式系统监控的企业级开源解决方案。
zabbix能监控各种网络参数,并提供灵活的通知机制以让运维人员快速定位并解决存在的各种问题。
Zabbix监控的优点:
1)自动发现服务器和网络设备
2)底层自动发现(如自动发现多实例mysql、tomcat进程等)
3)分布式的监控体系和集中式的web管理
4)支持主动监控和被动监控模式
5)支持多种操作系统linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD等
6)高效的Agent支持linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,windows NT4.0,window2000等
7)无Agent监控等多种监控方法(如:用SNMP协议监控路由或交换机、IPMI检测硬件温度等)
8)安全的用户认证模式
9)灵活的用户权限设置
10)基于web的管理方法,支持自由的定义事件和邮件发送
11)高水平的业务视图监控资源,支持日志审计
缺点:
1)性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,官网给出的单机上限5000台,届时就需要增加proxy,增加成本。
2)Zabbix采集数据有pull方式,也就是server主动模式,当目标机器量大之后,pull任务会出现积压。采集数据会延迟
3)项目二次开发,需要分析MySQL表结构,表结构比较复杂,通过API开发对开发能力有要求。
4)内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化
2.zabbix监控的组件
完整的zabbix分布式监控系统,由以下几个组件构成:
zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
web interface:zabbix的GUI接口,通常与server运行在同一台主机上;
proxy:可选组件,常用于分布监控环境中,代理server收集部分被监控端的监控数据并统一发往Server端;
zabbix agent:部署在被监控主机上,负责收集本地数据并发往server或proxy端;
zabbix工作流程图:
监控流程图:
Zabbix常用术语
host(主机):要监控的网络设备,可由IP或DNS名称指定
host group(主机):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用
item(监控项):一个特定监控指标的相关数据,这些数据来自于被监控对象;item是zabbix进行数据收集的核心,将没有数据;相对某监控对象来说,每个item都有“key”进行标识
tigger(触发器):一个表达式,用于评估某监控对象的某特定item内所接受到的数据是否在合理范围内,即阈值;接受到的数据大于阀值时,触发器状态从OK转变成Problem,当数据量再次回归合理范围时,器其状态将从Problem转换会OK
event(事件):即发生的一个值得关注的时间,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等
action(动作):指对于特定事件事先定义的处理方法,通过包含操作(如发通知)和条件(何时执行操作)
escalation(报警升级):发送警报或执行远程命令的自定义方案,如每隔5min发送一次警报,共发送5次等
media(媒介):发送通知的手段和通道,如Email、Jabber或SMS
notification(通知):通过选定的媒介向用户发送有关某事件的信息
remote command(远程命令):预定义的命令,可在被监控主机处于某个特定条件下时自行执行
template(模板):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至单个主机
application(应用):一组item的集合
web scennaro(web场景):用于检测web站点可用性的一个或多个http请求
frontend(前端):zabbix的web接口
3.zabbix中文汉化以及乱码
1)检查数据库导入前是否是utf-8字符集,需要修改成utf-8模式
改完之后备份zabbix数据库,并删除原数据库,重新创建,再导入备份的数据库
修改导入zabbix.sql文件里的latin1为utf8
sed -i 's#latin1#utf8#g' zabbix.sql
然后导入数据库即可
然后刷新zabbix界面查看,如出现下列问题
解决方法:从windows下控制面板->字体->选择一种中文字体库,例如“楷体” 把它拷贝至zabbix的web端的fonts目录下,例如:/var/www/html/zabbix/fonts