设为首页 收藏本站
查看: 1242|回复: 0

[经验分享] Zabbix基于Proxy分布式部署实现Web监控

[复制链接]

尚未签到

发表于 2018-1-2 07:38:55 | 显示全部楼层 |阅读模式
前言
  在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能。但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具有Cacti、Nagios(Icinga)、Zabbix等。本文带来的是Zabbix基于Proxy分布式部署实现Web监控。

Zabbix

简介
  Zabbix是一个基于Web界面提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

基本功能
  数据采集方式:zabbix agent,agent(active),SNMP,SSH等
  数据存储方式:RDBMS,如MySQL,Pgsql等
  数据展示方式:php,web,gui
  报警功能:支持报警升级

组件及基础架构
DSC0000.jpg

  Zabbix主要由zabbix server和zabbix agent组成
  server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展示,并触发相关报警
  agent端负责监控数据的采集,并发送给server端
  数据采集方式除了在被监控主机上部署agent程序外,还可通过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式可以监控web页面的下载速率和响应时间等重要参数
  Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责一定区域内的数据采集工作,然后定期将数据一次性发送给server,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求
  一些Zabbix相关教程集合
  Ubuntu 14.04下Zabbix2.4.5 源码编译安装  http://www.iyunv.com/Linux/2015-05/117657.htm
  安装部署分布式监控系统Zabbix 2.06 http://www.iyunv.com/Linux/2013-07/86942.htm
  《安装部署分布式监控系统Zabbix 2.06》 http://www.iyunv.com/Linux/2013-07/86942.htm
  CentOS 6.3下Zabbix安装部署 http://www.iyunv.com/Linux/2013-05/83786.htm
  Zabbix分布式监控系统实践 http://www.iyunv.com/Linux/2013-06/85758.htm
  CentOS 6.3下Zabbix监控apache server-status http://www.iyunv.com/Linux/2013-05/84740.htm
  CentOS 6.3下Zabbix监控MySQL数据库参数 http://www.iyunv.com/Linux/2013-05/84800.htm
  64位CentOS 6.2下安装Zabbix 2.0.6   http://www.iyunv.com/Linux/2014-11/109541.htm

实现过程

实验拓扑
DSC0001.jpg

  

#系统环境:CentOS6.6  
#Zabbix Server为LAMP环境
  
#Zabbix Proxy需数据库支持
  
#Zabbix Server与Zabbix Proxy需时间同步,全部节点已做同步
  

Zabbix Server配置
  快速构建LAMP
  

[iyunv@node4 ~]# yum install httpd mysql mysql-libs php php-mysql mysql-server php-bcmath  
php-gd php-mbstring -y
  

  安装Zabbix Server所需软件包
  

[iyunv@node4 ~]# cd zabbix-2.4/  
[iyunv@scholar zabbix-2.4]# ls
  
zabbix-2.4.0-1.el6.x86_64.rpm              zabbix-sender-2.4.0-1.el6.x86_64.rpm
  
zabbix-agent-2.4.0-1.el6.x86_64.rpm        zabbix-server-2.4.0-1.el6.x86_64.rpm
  
zabbix-get-2.4.0-1.el6.x86_64.rpm          zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm
  
zabbix-proxy-2.4.0-1.el6.x86_64.rpm        zabbix-web-2.4.0-1.el6.noarch.rpm
  
zabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm  zabbix-web-mysql-2.4.0-1.el6.noarch.rpm
  
[iyunv@node4 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.e
  
l6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-se* zabbix-web-* -y
  

  数据库准备
  

[iyunv@node4 ~]# vim /etc/my.cnf  

  
[mysqld]
  
default-character-set = utf8   #此项可确保zabbix中文界面不乱码
  

  
[iyunv@node4 ~]# service mysqld start
  
Starting mysqld:                                           [  OK  ]
  

  
#授权
  
mysql> create database zabbix;
  
Query OK, 1 row affected (0.01 sec)
  


  
mysql> grant all on zabbix.* to 'zbuser'@localhost>  
Query OK, 0 rows affected (0.09 sec)
  

  
mysql> flush privileges;
  
Query OK, 0 rows affected (0.00 sec)
  

  
#导入zabbix数据
  
[iyunv@node4 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.0/create/
  
[iyunv@node4 create]# mysql --default-character-set=utf8 zabbix < schema.sql
  
[iyunv@node4 create]# mysql --default-character-set=utf8 zabbix < images.sql
  
[iyunv@node4 create]# mysql --default-character-set=utf8 zabbix < data.sql
  

  
#--default-character-set=utf8 此项为防止中文乱码,不用中文则可忽略
  

  配置Zabbix Server
  

[iyunv@node4 ~]# vim /etc/zabbix/zabbix_server.conf  

  
DBHost=localhost        #指定数据库
  
DBName=zabbix           #数据库名
  
DBUser=zbuser           #数据库用户
  
DBPassword=zbpass       #数据库密码
  

  
#其他参数根据实际需求修改即可
  

  
[iyunv@node4 ~]# vim /etc/zabbix/zabbix_agentd.conf
  
#配置本身agent用以监控自己
  

  
Server=127.0.0.1,172.16.10.126
  
ServerActive=127.0.0.1,172.16.10.126
  
Hostname=node4.scholar.com
  

  
[iyunv@node4 ~]# vim /etc/php.ini   #配置时区
  

  
date.timezone = Asia/Shanghai
  

  
[iyunv@node4 ~]# service httpd restart
  
Stopping httpd:                                            [  OK  ]
  
Starting httpd:                                            [  OK  ]
  
[iyunv@node4 ~]# service zabbix-server start
  
Starting Zabbix server:                                    [  OK  ]
  
[iyunv@node4 ~]# service zabbix-agent start
  
Starting Zabbix agent:                                     [  OK  ]
  

  开始安装
  访问http://172.16.10.126/zabbix
DSC0002.jpg

  安装检测,如有错误,安装所需依赖包即可
DSC0003.jpg

  填写数据库信息
DSC0004.jpg

  Name可自定义
DSC0005.jpg

  Next-Next-Finish即可完成安装
  登陆界面如下,默认用户admin,密码zabbix
DSC0006.jpg

  zabbix2.4默认屏蔽了中文显示,设置显示中文
  

[iyunv@node4 ~]# vim /usr/share/zabbix/include/locales.inc.php  
#将false改为true
  
'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => true),
  

  
#为防止乱码用楷体替换默认字体
  
[iyunv@node4 ~]# mv simkai.ttf /usr/share/zabbix/fonts/
  
[iyunv@node4 ~]# vim /usr/share/zabbix/include/defines.inc.php
  

  
define('ZBX_GRAPH_FONT_NAME', 'simkai');
  
define('ZBX_FONT_NAME', 'simkai');
  

  
[iyunv@node4 ~]# service httpd restart
  
Stopping httpd:                                            [  OK  ]
  
Starting httpd:                                            [  OK  ]
  

  修改语言
DSC0007.jpg

  Zabbix Server配置先到这里,接下来我们去配置Proxy和Agent

Zabbix Proxy配置
  安装Zabbix Proxy所需软件包
  

[iyunv@node3 ~]# cd zabbix-2.4/  
[iyunv@node3 zabbix-2.4]# ls
  
zabbix-2.4.0-1.el6.x86_64.rpm              zabbix-sender-2.4.0-1.el6.x86_64.rpm
  
zabbix-agent-2.4.0-1.el6.x86_64.rpm        zabbix-server-2.4.0-1.el6.x86_64.rpm
  
zabbix-get-2.4.0-1.el6.x86_64.rpm          zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm
  
zabbix-proxy-2.4.0-1.el6.x86_64.rpm        zabbix-web-2.4.0-1.el6.noarch.rpm
  
zabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm  zabbix-web-mysql-2.4.0-1.el6.noarch.rpm
  
[iyunv@node3 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6
  
.x86_64.rpm zabbix-proxy-* -y
  

  数据库准备
  

#Proxy端已有数据库  
mysql> create database zabbix_proxy;
  
Query OK, 1 row affected (0.00 sec)
  


  
mysql> grant all on zabbix_proxy.* to 'zbuser'@localhost>  
Query OK, 0 rows affected (0.00 sec)
  

  
mysql> flush privileges;
  
Query OK, 0 rows affected (0.06 sec)
  

  
#导入数据
  
[iyunv@node3 ~]# mysql zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.0/create/schema.sql
  

  配置Zabbix Proxy
  

[iyunv@node3 ~]# vim /etc/zabbix/zabbix_proxy.conf  

  
Server=172.16.10.126             #指向Zabbix Server
  
Hostname=node3.scholar.com       #主机名
  
DBHost=localhost                 #指定数据库
  
DBName=zabbix_proxy              #数据库名
  
DBUser=zbuser                    #数据库用户
  
DBPassword=zbpass                #数据库密码
  
ConfigFrequency=60               #配置文件同步间隔
  
DataSenderFrequency=5            #数据同步间隔
  

  
#其他参数根据自己实际需求修改即可
  

  
[iyunv@node3 ~]# service zabbix-proxy start
  
Starting Zabbix proxy:                                     [  OK  ]
  

Zabbix Agent配置
  安装Zabbix Agent所需软件包
  

[iyunv@node1 ~]# cd zabbix-2.4/  
[iyunv@node1 zabbix-2.4]# ls
  
zabbix-2.4.0-1.el6.x86_64.rpm              zabbix-sender-2.4.0-1.el6.x86_64.rpm
  
zabbix-agent-2.4.0-1.el6.x86_64.rpm        zabbix-server-2.4.0-1.el6.x86_64.rpm
  
zabbix-get-2.4.0-1.el6.x86_64.rpm          zabbix-server-mysql-2.4.0-1.el6.x86_64.rpm
  
zabbix-proxy-2.4.0-1.el6.x86_64.rpm        zabbix-web-2.4.0-1.el6.noarch.rpm
  
zabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm  zabbix-web-mysql-2.4.0-1.el6.noarch.rpm
  
[iyunv@node1 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.e
  
l6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm -y
  

  
#两个Agent端都执行此安装操作
  

  配置Zabbix Agent
  

[iyunv@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf  

  
Server=172.16.10.125           #指向proxy
  
ServerActive=172.16.10.125
  
Hostname=node1.scholar.com
  

  
[iyunv@node1 ~]# service zabbix-agent start
  
Starting Zabbix agent:                                     [  OK  ]
  

  
#全部Agent节点都执行以上配置
  

添加监控
  添加代理
DSC0008.jpg

  添加监控主机,选择代理监控
DSC0009.jpg

DSC00010.jpg

  添加模板
DSC00011.jpg

  

#两台监控主机都执行以上添加操作  

  查看监控图表,验证是否被监控
DSC00012.jpg

  已经可以获取监控主机的信息,Proxy分布式监控部署成功
  创建web监控
  点击应用集(Applications),创建应用集
DSC00013.jpg

  点击web场景,自定义场景
DSC00014.jpg

  创建相关步骤
DSC00015.jpg

  

#两台需要监控的web主机都需创建  

  查看web状态
DSC00016.jpg

DSC00017.jpg

DSC00018.jpg

  以上便是Zabbix基于Proxy分布式部署实现Web监控的简单过程,时间有限,就不往下继续具体完善了,有兴趣的朋友可以继续实现报警功能

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-430696-1-1.html 上篇帖子: zabbix使用mysql数据库 对表分区 下篇帖子: centos 6.4 下安装配置 zabbix 3.2 的过程 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表