重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“Zabbix主要功能和优劣势有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Zabbix主要功能和优劣势有哪些”这篇文章吧。
创新互联是一家专注于成都网站设计、网站制作与策划设计,泗洪网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:泗洪等地区。泗洪做网站价格咨询:028-86922220
一、Zabbix主要功能和优劣势说明
1、Zabbix主要功能:
1)Application monitoring 应用监控
数据库/SSH/Apache/Nginx等应用程序的监控。
2)Server monitoring 服务器监控
CPU,内存,SWAP,磁盘空间,网卡流量的监控等,可以通过浏览器实时查看Graphs。
3)Network monitoring 网络设备监控
支持Cisco, Juniper, 3Com等网络设备,网络设备通过SNMP(SNMP (v1,v2,v3) devices)协议进行监控。
4)添加自定义监控,对于Zabbix无法满足的监控,可以添加自定义监控。
2、Zabbix 优势:
1)安装配置简单,支持多种语言,包括中文。
2)系统自带多种监控模板,可以直接使用。
3)支持分布式部署和WEB集中管理(通过WEB页面设置或查看报警结果)。
4)自动发现主机和网络设备(discovery of file systems,network interfaces,hosts and netwrok devices)。
5)WEB监控:可以监控WEB下载速度,返回码及响应时间。
6)提供实时和历史的监控分析数据。
7)EMAIL报警,按照故障级别|服务器类型|业务类型发送EMAIL邮件到相关负责人。
3、Zabbix 劣势:
1)需要在被监控机器上面安装agent。
2)All configuration information都存储在数据库里面,数据库是整个监控平台的瓶颈。
二、Zabbix分布式部署需求分析
1、软件需求
官方推荐的软件配置
1)MySQL5.0.3 or laterRequired if MySQLis used as Zabbix back end database,InnoDB engine isrequired.
2)PHP 5.3.0 or later
3)Apache 1.3.12 or later
2、硬件需求
官方推荐的最小硬件配置:
三、Zabbix分布式部署实施
1、分布式部署拓扑图
补充说明:
当proxy部署为主动模式(Active)时,Zabbix Server的负载最小。
1)Server:负责把数据写入到数据库,然后通过Apache|Nginx +php在WEB前端显示。
2)Proxy:帮助server采集被监控端的数据,并把采集到的数据主动传送给Server,proxy只负责数据收集。
3)Database:所有的配置信息都存储在数据库里面,Zabbix server数据库和proxy数据库必须独立。
4)Agent:agent的作用就是获取host数据,然后将收集到的数据发送给server(主动模式),或者是server主动来拿取数据(被动模式)。
5)Email:通过Qmail|postfix的SMTP负责报警邮件的发送(故障邮件和故障恢复邮件)。
2、Zabbix分布式安装部署:
1)Mysql 数据库安装(参照:http://sfzhang88.blog.51cto.com/4995876/900846)
2)LNMP + Zabbix server 安装(参照:http://sfzhang88.blog.51cto.com/4995876/978686)
3)Zabbix proxy 安装(略)
4)Zabbix agent 安装
[root@www20 shell]# cat zabbix_agentd_install.sh #!/bin/sh #Create by sfzhang 2014.02.27 yum -y install net-snmp yum -y install net-snmp-devel BASE_DIR="/data/software" TAR="zabbix-2.2.1.tar.gz" tar -zxvf $BASE_DIR/$TAR -C$BASE_DIR cd $BASE_DIR/zabbix-2.2.1 ./configure--prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent make && make install groupadd zabbix useradd zabbix -g zabbix cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd chmod 700/etc/init.d/zabbix_agentd chown zabbix.zabbix/etc/init.d/zabbix_agentd sed -i "/BASEDIR=/s#/.*#/usr/local/zabbix#" /etc/init.d/zabbix_agentd sed -i"s#bin/zabbix_agentd#sbin/zabbix_agentd#" /etc/init.d/zabbix_agentd sed -i"s#Server=127.0.0.1#Server=192.168.161.129#"/etc/zabbix/zabbix_agentd.conf sed -i"s#ServerActive=127.0.0.1#\#ServerActive=127.0.0.1#"/etc/zabbix/zabbix_agentd.conf sed -i "/Hostname=/s#=.*#"=$HOSTNAME#""/etc/zabbix/zabbix_agentd.conf sed -i"s#\#/tmp/zabbix_agentd.pid#/data/logs/zabbix_agentd.pid#"/etc/zabbix/zabbix_agentd.conf sed -i"s#/tmp/zabbix_agentd.log#/data/logs/zabbix_agentd.log#"/etc/zabbix/zabbix_agentd.conf sed -i "s#\#Timeout=3#Timeout=30#" /etc/zabbix/zabbix_agentd.conf cat>>/etc/services<四、Zabbix WEB前端配置
1、配置proxy代理
2、添加Groups和hosts
通常Groups按照频道或者是WEB,MYSQL,memcache等服务类型分组的,提供相同服务的服务器分为一组,便于后期的维护和管理。
3、自定义监控模板,监控项和触发器
五、zabbix主要功能展示
1、服务器监控
1)CPU负载监控
2)内存空间的监控
3) 磁盘空间的监控
4)交换分区的监控
5) 网卡流量的监控
除此之外,还有服务器重启的监控,添加删除用户时的监控,主机存活状态的监控(ICMP ping协议)等。
2、应用程序的监控
Zabbix有很多系统自带的模板,在添加主机的时候Link相关的模板即可。
当停止主机的上面的SSH服务或者Apache服务的时候会产生报警。
3、WEB Monitoring
Web Monitoring是用来监控web程序的,可以监控到web程序的下载速度、返回码及响应时间。当返回码不为200的时候也可以产生报警。
4、Zabbix Screens
Screen将多种信息放在一起展示,便于集中展示某个主机的监控信息。
5、Zabbix maps
Zabbix的maps用来图形化显示监控设备的拓扑图,并且以不同的标记显示故障事件,通过该图表很直观的显示设备的整体情况。
六、Zabbix自定义监控
在实际应用当中,好多监控系统都满足不了实际的需求,需要根据实际的需求添加自定义监控。比如说:监控应用服务器tuxedo排队,当队列大于2000的时候报警。监控apache,mysql链接数,当大于2000的时候报警等等,此时Zabbix需要借助scripts来完成。
实例:监控http和mysql ESTABLISHED和TIME_WAIT连接数,当大于100的时候报警,并在WEB页面实时查看连接数。
1、在要监控的服务器上面编写Shell/python脚本,取出ESTABLISHED和TIME_WAIT连接数。
[root@monitor scripts]# catcheckservices.sh #!/bin/sh #Create by sfzhang 2014.02.10 ARGS=1 if [ $# -ne "$ARGS"];then echo "Please input one arguement"; fi case $1 in EST_80) result=`netstat -anp | grep :80 | grep EST | wc -l` echo$result ;; TIME_OUT_80) result=`netstat-anp | grep :80 | grep TIME_WAIT | wc -l` echo$result ;; EST_3306) result=`netstat -anp | grep :3306 | grep EST | wc -l` echo $result ;; TIME_OUT_3306) result=`netstat -anp | grep:3306 | grep TIME_WAIT | wc -l` echo $result ;; EST_11211) result=`netstat -anp | grep :11211 | grep EST | wc -l` echo $result ;; TIME_OUT_11211) result=`netstat -anp | grep:11211 | grep TIME_WAIT | wc -l` echo $result ;; *) echo"Usage:$0(EST_80|TIME_OUT_80|EST_3306|TIME_OUT_3306|EST_11211|TIME_OUT_11211)" ;; esac2、在Zabbix_agentd.conf里面添加UserParameter,格式如下,对于Zabbix来说,脚本其实就是一个插件。
UserParameter=checkservices.sh[*],/etc/zabbix/scripts/checkservices.sh $1 $2重启agentd服务器,然后在zabbix server用zabbix_get就可以取到值。
3、要监控的服务器有多台的时候,最简单的方法是先编写一个Templates(模板),在Link到要监控的服务器上面。
4、给新添加的模板Linux_service_templates添加Applications。
5、给新添加的模板Linux_service_templates添加Items(监控项)。下面是添加http ESTABLISHED监控条目。
6、给新添加的模板Linux_service_templates添加Triggers(触发器)。下面是添加 http ESTABLISHED触发器,当连接数大于2000的时候报警,故障级别为High。
7、要在WEB前端实时查看http的连接情况,必须配置Graph。在一个Graph里面可以添加多个Item数据。
8、要查看Graphs在要监控的主机上面Link刚才的模板Linux_service_templates。
9、在WEB前端查看实时连接情况。
Http连接情况:
Mysql连接情况:
七、Zabbix discovery
1、Network discovery
Zabbix network discovery能自动发现网络中存活的主机,可用通过proxy代理或者Zabbix server 发现网络中存活的主机,并按照Actions里面定义的条件自动添加到Zabbix监控里面。
1)首先:添加Discovery rule,可以通过proxy代理或者zabbix server添加rule。
2)然后create Actions,指定Actions的Conditions,必须具备下列条件才能自动添加,Discover
rule:规则为 Local network,system.uname的值中包含Linux,Zabbix agentd服务必须正常运行。
3) 配置Actions的operations,将Actions里面符合条件的主机添加到shwww组里面并Link要监控的模板。
4)查看Discover自动发现的主机自动添加到Zabbix里面。
2、Zabbix Low-level discovery
Zabbis Low-level discovery 可以自动创建监控项,触发器和图像的方法。Zabbix可以自动发现主机上面的文件系统或者网络接口,不需要对每个文件系统和网络接口手动创建监控项,触发器和图像。Zabbix 还可以自动删除不需要的监控项,比如:上例当中的,当agentd宕机超过24小时的时候可以自动删除监控,只需在action里面配置即可。
实例:监控服务器上面所有TCP端口,就可以通过Low-level discovery轻松实现。
八、Zabbix报警邮件机制
1、基于业务类型发送报警邮件
当数据库服务器出问题时发给DBA组,当系统出问题时发给System组。
2、基于故障级别或者时间发送邮件
九、Zabbix资产管理
Zabbix可以自动收集主机的hostname,OS,cpu信息,MAC等信息。需要在添加主机的时候开启Host inventory Automatic功能,并按照官方手册添加Item即可。
以上是“Zabbix主要功能和优劣势有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享题目:Zabbix主要功能和优劣势有哪些
网站链接:http://cqcxhl.com/article/gejopo.html