Zabbix基于Proxy分布式部署实现Web监控

前言

在平常运维工做中,不免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障缘由,保证业务不受影响,我想这应该是作好一个运维必需要掌握的技能。但人力不可能实时掌控系统的变化,因而监控系统应运而生,监控即是运维的眼睛,把监控和性能管理作好后,运维就是一件很轻松的事情。目前比较流行的开源监控工具备Cacti、Nagios(Icinga)、Zabbix等。本文带来的是Zabbix基于Proxy分布式部署实现Web监控。php

Zabbix

简介

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

基本功能

数据采集方式:zabbix agent,agent(active),SNMP,SSH等mysql

数据存储方式:RDBMS,如MySQL,Pgsql等linux

数据展现方式:php,web,guiios

报警功能:支持报警升级web

组件及基础架构

Zabbix主要由zabbix server和zabbix agent组成sql

server端负责从agent端收集监控数据,并存储在数据库中,同时对数据进行分析展现,并触发相关报警数据库

agent端负责监控数据的采集,并发送给server端apache

数据采集方式除了在被监控主机上部署agent程序外,还可经过ICMP/IPMI/SNMP等协议对网络设备进行监控,同时配置web监控方式能够监控web页面的下载速率和响应时间等重要参数vim

Zabbix proxy是在大规模分布式监控场景中,采用的一种用以分担server端压力的分层结构,Proxy只负责必定区域内的数据采集工做,而后按期将数据一次性发送给server,极大的减轻了server的负载压力,使得能够支持更大规模的监控需求

一些Zabbix相关教程集合

Ubuntu 14.04下Zabbix2.4.5 源码编译安装  http://www.linuxidc.com/Linux/2015-05/117657.htm

安装部署分布式监控系统Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统Zabbix 2.06》 http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3下Zabbix安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3下Zabbix监控apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3下Zabbix监控MySQL数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

64位CentOS 6.2下安装Zabbix 2.0.6   http://www.linuxidc.com/Linux/2014-11/109541.htm

实现过程

实验拓扑

Zabbix基于Proxy分布式部署实现Web监控

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

Zabbix Server配置

快速构建LAMP

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

安装Zabbix Server所需软件包

[root@node4 ~]# cd zabbix-2.4/ [root@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 [root@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

数据库准备

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

[mysqld]
default-character-set = utf8 #此项可确保zabbix中文界面不乱码 [root@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 identified by 'zbpass'; Query OK, 0 rows affected (0.09 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) #导入zabbix数据 [root@node4 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.0/create/ [root@node4 create]# mysql --default-character-set=utf8 zabbix < schema.sql [root@node4 create]# mysql --default-character-set=utf8 zabbix < images.sql [root@node4 create]# mysql --default-character-set=utf8 zabbix < data.sql #--default-character-set=utf8 此项为防止中文乱码,不用中文则可忽略

配置Zabbix Server

[root@node4 ~]# vim /etc/zabbix/zabbix_server.conf DBHost=localhost #指定数据库 DBName=zabbix #数据库名 DBUser=zbuser #数据库用户 DBPassword=zbpass #数据库密码 #其余参数根据实际需求修改便可 [root@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 [root@node4 ~]# vim /etc/php.ini #配置时区 date.timezone = Asia/Shanghai [root@node4 ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [root@node4 ~]# service zabbix-server start Starting Zabbix server: [ OK ] [root@node4 ~]# service zabbix-agent start Starting Zabbix agent: [ OK ]

开始安装

访问http://172.16.10.126/zabbix

安装检测,若有错误,安装所需依赖包便可

填写数据库信息

Name可自定义

Next-Next-Finish便可完成安装

登录界面以下,默认用户admin,密码zabbix

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

[root@node4 ~]# vim /usr/share/zabbix/include/locales.inc.php #将false改成true 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true), #为防止乱码用楷体替换默认字体 [root@node4 ~]# mv simkai.ttf /usr/share/zabbix/fonts/ [root@node4 ~]# vim /usr/share/zabbix/include/defines.inc.php define('ZBX_GRAPH_FONT_NAME', 'simkai'); define('ZBX_FONT_NAME', 'simkai'); [root@node4 ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]

修改语言

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

Zabbix Proxy配置

安装Zabbix Proxy所需软件包

[root@node3 ~]# cd zabbix-2.4/ [root@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 [root@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 identified by 'zbpass'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.06 sec) #导入数据 [root@node3 ~]# mysql zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.0/create/schema.sql

配置Zabbix Proxy

[root@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 #数据同步间隔 #其余参数根据本身实际需求修改便可 [root@node3 ~]# service zabbix-proxy start Starting Zabbix proxy: [ OK ]

Zabbix Agent配置

安装Zabbix Agent所需软件包

[root@node1 ~]# cd zabbix-2.4/ [root@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 [root@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

[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf Server=172.16.10.125 #指向proxy ServerActive=172.16.10.125 Hostname=node1.scholar.com [root@node1 ~]# service zabbix-agent start Starting Zabbix agent: [ OK ] #所有Agent节点都执行以上配置

添加监控

添加代理

添加监控主机,选择代理监控

添加模板

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

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

已经能够获取监控主机的信息,Proxy分布式监控部署成功

建立web监控

点击应用集(Applications),建立应用集

点击web场景,自定义场景

建立相关步骤

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

查看web状态

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

相关文章
相关标签/搜索