当前位置: 首页 > 科技观察

认识Zabbix在即:企业级分布式系统监控部署

时间:2023-03-19 19:51:27 科技观察

【编者按】Zabbix是一个基于WEB界面的企业级开源解决方案,提供分布式系统监控和网络监控功能。借助Zabbix,可以减轻运维人员繁重的服务器管理任务,实现业务系统的持续运行。在本文中,作者张士峰以公司实际机房分布在多个城市的案例为基础,总结了Zabbix分布式部署实施方案的全过程。最近在研究Zabbix监控。由于机房分布在多个城市,因此采用zabbixproxy作为监控方案。每个节点上都部署了zabbixproxy,zabbixproxy收集agentd数据,然后主动将收集到的数据推送到zabbixserver。zabbixserver将数据存储在数据库中,并显示在WEB前端。一、Zabbix主要功能及优缺点描述1、Zabbix主要功能:1)应用监控应用监控数据库/SSH/Apache/Nginx等应用监控。2)服务器监控服务器监控CPU、内存、SWAP、磁盘空间、网卡流量监控等,可以通过浏览器实时查看Graphs。3)网络监控网络设备监控支持Cisco、Juniper、3Com等网络设备,通过SNMP(SNMP(v1、v2、v3)设备)协议对网络设备进行监控。4)添加自定义监控。对于Zabbix不能满足的监控,可以添加自定义监控。2、Zabbix的优点:1)安装配置简单,支持多种语言,包括中文。2)系统自带多种监控模板,可直接使用。3)支持分布式部署和WEB集中管理(通过WEB页面设置或查看报警结果)。4)自动发现主机和网络设备(文件系统、网络接口、主机和网络设备的发现)。5)WEB监控:可以监控WEB下载速度、返回码、响应时间。6)提供实时和历史监测分析数据。7)EMAIL告警,根据故障级别发送EMAIL邮件给相关负责人|服务器类型|业务类型。3、Zabbix的缺点:1)需要在被监控机器上安装Agent。2)所有的配置信息都保存在数据库中,这是整个监控平台的瓶颈所在。二、Zabbix分布式部署需求分析1、软件需求官方推荐的软件配置1)MySQL5.0.3或更高版本如果使用MySQL作为Zabbix后端数据库,则需要InnoDBengine。2)PHP5.3.0或更高版本3)Apache1.3.12或以后2。硬件要求官方推荐的最低硬件配置:#p#三、Zabbix分布式部署实现1、分布式部署拓扑图补充说明:当proxy部署为主动模式(Active)时,ZabbixServer的负载最小。1)服务器:负责将数据写入数据库,然后通过Apache|Nginx+php显示在WEB前端。2)Proxy:帮助服务器收集被监控端的数据,并主动将收集到的数据传输给服务器。代理只负责数据收集。3)数据库:所有的配置信息都保存在数据库中,Zabbixserver数据库和proxy数据库必须是独立的。4)代理:代理的作用是获取主机数据,然后将采集到的数据发送给服务器(主动模式),或者服务器主动获取数据(被动模式)。5)邮件:通过Qmail|postfix的SMTP发送告警邮件(失败邮件和故障恢复邮件)。2、Zabbix分布式安装部署:1)Mysql数据库安装(参考:http://sfzhang88.blog.51cto.com/4995876/900846)2)LNMP+Zabbixserver安装(参考:http://sfzhang88.blog.51cto.com/4995876/978686)3)Zabbix代理安装(略)4)Zabbix代理安装[root@www20shell]#catzabbix_agentd_install.sh#!/bin/sh#Createbysfzhang2014.02.27yum-yinstallnet-snmpyum-yinstallnet-snmp-develBASE_DIR="/data/software"TAR="zabbix-2.2.1.tar.gz"tar-zxvf$BASE_DIR/$TAR-C$BASE_DIRcd$BASE_DIR/zabbix-2.2.1./configure--prefix=/usr/local/zabbix--sysconfdir=/etc/zabbix--enable-agentmake&&makeinstallgroupaddzabbixuseraddzabbix-gzabbixcpmisc/init.d/fedora/core/zabbix_agentd/etc/init.d/zabbix_agentdchmod700/etc/init.d/zabbix_agentdchownzabbix.zabbix/etc/init.d/zabbix_agentdsed-i"/BASEDIR=/s#/.*#/usr/local/zabbix#"/etc/init.d/zabbix_agentdsed-i"s#bin/zabbix_agentd#sbin/zabbix_agentd#"/etc/init.d/zabbix_agentdsed-i"s#Server=127.0.0.1#Server=192.168.161.129#"/etc/zabbix/zabbix_agentd.confsed-i"s#ServerActive=127.0.0.1#\#ServerActive=127.0.0.1#"/etc/zabbix/zabbix_agentd.confsed-i"/Hostname=/s#=.*#"=$HOSTNAME#""/etc/zabbix/zabbix_agentd.confsed-i"s#\#/tmp/zabbix_agentd.pid#/data/logs/zabbix_agentd.pid#"/etc/zabbix/zabbix_agentd.confsed-i"s#/tmp/zabbix_agentd.log#/data/logs/zabbix_agentd.log#"/etc/zabbix/zabbix_agentd.confsed-i"s#\#Timeout=3#Timeout=30#"/etc/zabbix/zabbix_agentd.confcat>>/etc/services<