zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息收集。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据。

一、搭建Zabbix监控环境

要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
【部署环境说明】:

1、环境准备(在zabbix server上)

(1)安装LAMP环境:由于zabbix界面是php写的,所以这里显示需要安装LAMP开发环境,mysql5.6已经安装,直接用yum安装apache简单省事。

[root@monitor ~]# yum install httpd php -y

(2)开启相关服务,主要httpd,mysqld

[root@monitor ~]# chkconfig httpd on
[root@monitor ~]# /etc/init.d/httpd start

(3)安装zabbix server需要的依赖包

[root@monitor ~]#  yum install  gcc net-snmp-devel  mysql-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml  -y

(4)创建zabbix运行账户

[root@monitor ~]# groupadd zabbix
[root@monitor ~]# useradd -r -g zabbix -s /sbin/nologin zabbix

2、安装zabbix server(192.168.245.133)

[root@monitor software]# tar zxvf zabbix-2.4..tar.gz
[root@monitor software]#cd zabbix-2.4.
[root@monitor zabbix-2.4.]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
[root@monitor zabbix-2.4.]# make install

3、安装fping

用于同时ping多台主机。下载地址:http://www.fping.org/dist/

[root@monitor software]# tar zxvf fping-3.13.tar.gz
[root@monitor software]# cd fping-3.13
[root@monitor fping-3.13]# ./configure && make install
[root@monitor fping-3.13]# chown root.zabbix /usr/local/sbin/fping
[root@monitor fping-3.13]# chmod /usr/local/sbin/fping

4、配置zabbix

zabbix server配置与启动大概需要以下几个步骤:

(1)创建zabbix数据库和mysql用户

mysql>  create database zabbix character set utf8;
Query OK, row affected (0.22 sec)
mysql>  grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

(2)导入zabbix数据库初始化数据

[root@monitor software]# cd /home/software/zabbix-2.4./database/mysql/
[root@monitor mysql]# /data/mysql/bin/mysql -uzabbix -pzabbix zabbix <schema.sql
[root@monitor mysql]# /data/mysql/bin/mysql -uzabbix -pzabbix zabbix <images.sql
[root@monitor mysql]# /data/mysql/bin/mysql -uzabbix -pzabbix zabbix <data.sql

注意:以上导入的顺序不能乱。

(3)编辑zabbix配置文件

编辑zabbix server的配置文件/usr/local/zabbix/etc/zabbix_server.conf,修改参数如下:

ListenPort=                                     #zabbix server监听的端口
LogFile = /usr/local/zabbix/logs/zabbix_server.log #日志所在路径
PidFile = /usr/local/zabbix/logs/zabbix_server.pid #pid所在目录
DBHost = 192.168.245.133 #数据库所在ip,默认是localhost,如果是localhost那么会根据DBSocket的socke连接mysql,开始我用localhost,报错提示老是用/var/lib/mysql/mysql.sock连接,下面我配置的是/tmp/mysql.sock
DBName = zabbix #数据库名字,默认是zabbix
DBUser = zabbix #数据库用户,默认是zabbix,我们上面授权的也是zabbix用户
DBPassword = zabbix #默认数据库密码
DBPort = #默认数据库端口
DBSocket = /tmp/mysql.sock # sock 文件所在目录
FpingLocation = /usr/local/sbin/fping #fping命令路径

(4)配置zabbix服务

从安装目录复制zabbix相关脚本到/etc/init.d下

[root@monitor core5]# cp /home/software/zabbix-2.4./misc/init.d/fedora/core5/zabbix_* /etc/init.d/
[root@monitor core5]# chmod +x /etc/init.d/zabbix_*
[root@monitor core5]# mkdir -p /usr/local/zabbix/logs
[root@monitor core5]# chown -R zabbix.zabbix /usr/local/zabbix/
[root@monitor core5]# vim /etc/init.d/zabbix_server
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server" #必须是zabbix的安装目录
[root@monitor core5]# vim /etc/services
#确保有以下配置
zabbix-agent /tcp #Zabbix Agent
zabbix-agent /udp #Zabbix Agent
zabbix-trapper /tcp #Zabbix Trapper
zabbix-trapper /udp #Zabbix Trapper

(5)启动和停止zabbix

[root@monitor logs]# /etc/init.d/zabbix_server start
Starting Zabbix Server: [ OK ]
[root@monitor logs]# /etc/init.d/zabbix_server stop
Stopping Zabbix Server: [ OK ]

(6)配置zabbix server开机自动启动

[root@monitor logs]# chkconfig --add zabbix_server
[root@monitor logs]# chkconfig --level zabbix_server on

5、配置zabbix web

(1)将zabbix web文件复制到apache web目录中

[root@monitor html]# mkdir -p /var/www/html/zabbix
[root@monitor php]# cp -r /home/software/zabbix-2.4./frontends/php/* /var/www/html/zabbix

(2)apache配置

[root@monitor html]# vim /etc/httpd/conf/httpd.conf
ServerName 192.168.245.133:80 #开启该参数并改为本机ip地址

(3)php配置

/etc/php.ini配置必须如下,否则web界面安装zabbix时会失败。

[root@monitor html]# vim /etc/php.ini

date.timezone = Asia/Shanghai
max_execution_time =
post_max_size = 32M
max_input_time =

(4)重新启动apache

[root@monitor html]#  /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

(5)在浏览器输入http://192.168.245.133/zabbix进行安装,步骤如下截图:






当然以上这些步骤完全可以手工创建zabbix.conf.php来代替。配置完成后使用默认的用户admin,以及密码zabbix即可登录zabbix。

 6、进行汉化zabbix

在界面上点击Administration=》 Users =》 Admin =》Language =》Chinese(zh_CN),重新刷下浏览器即可。

到此为止,zabbix服务器端就完成了。下面我们进行配置安装客户端

7、Agent端的安装与配置

上面我们已经安装完成服务端,但是还没有安装客户端,也就是我们真正想监控的server。对于客户端安装和服务端没有区别,只是在编译的时候只需要--enable-agent参数就行了。

(1)安装agent软件

[root@node1 zabbix-2.4.]# groupadd zabbix
[root@node1 zabbix-2.4.]# useradd -r -g zabbix -s /sbin/nologin zabbix
[root@node1 software]# tar zxvf zabbix-2.4..tar.gz
[root@node1 software]# cd zabbix-2.4.
[root@node1 zabbix-2.4.]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
[root@node1 zabbix-2.4.]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

(2)配置zabbix agent

[root@node2 zabbix-2.4.]# mkdir /usr/local/zabbix/logs -p
[root@node1 zabbix-2.4.]# chown -R zabbix.zabbix /usr/local/zabbix/
[root@node1 zabbix-2.4.]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
EnableRemoteCommands=0
Server=192.168.245.133 #服务端ip
ListenPort=10050
StartAgents=8
ServerActive=192.168.245.133 #服务端ip
Timeout=30
Hostname=node1 #主机名可以自己给,后面可以根据这个主机名添加自动发现主机
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1

(3)配置zabbix agent系统服务启动脚本(一定要修改,否则启动报错not install)

[root@node1 zabbix-2.4.]# vim /etc/init.d/zabbix_agentd
ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

(4)如果有设置防火墙,则开启端口10050

#查看是否开启防火墙
[root@node1 zabbix-2.4.]# service iptables status
iptables:未运行防火墙。
#如果开启了则需要执行下面命令来添加10050端口
[root@node1 zabbix-2.4.]# iptables -A INPUT -p tcp --dport -j ACCEPT
[root@node1 zabbix-2.4.]# /etc/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

(5)启动zabbix agent

[root@node1 zabbix-2.4.]# /etc/init.d/zabbix_agentd start
正在启动 Zabbix Agent: [确定]
[root@node1 zabbix-2.4.]# netstat -nltp | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
[root@node1 zabbix-2.4.]# netstat -nltp | grep mysqld
tcp ::: :::* LISTEN /mysqld
tcp        0      0 :::3307                     :::*                        LISTEN      23078/mysql

(6)配置开机自启动

[root@node2 sbin]# chkconfig --add zabbix_agentd
[root@node2 sbin]# chkconfig --level zabbix_agentd on

(7)测试zabbix agent是否正常工作(在zabbix server--192.168.245.133上做如下操作)

[root@monitor bin]# /usr/local/zabbix/bin/zabbix_get -s 192.168.245.129 -p  -k agent.ping

[root@monitor bin]# /usr/local/zabbix/bin/zabbix_get -s 192.168.245.131 -p  -k agent.ping

我们看到返回1表示正常工作了,返回0表示不正常。

zabbix_get用法:

[root@monitor bin]# ./zabbix_get --help
Zabbix get v2.4.6 (revision ) ( August ) usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key> Options:
-s --host <host name or IP> Specify host name or IP address of a host
-p --port <port number> Specify port number of agent running on the host. Default is
-I --source-address <IP address> Specify source IP address -k --key <key of metric> Specify key of item to retrieve value for -h --help Display help information
-V --version Display version number Example: zabbix_get -s 127.0.0.1 -p -k "system.cpu.load[all,avg1]"

到这里,我们就把整个mysql集群机器都部署了zabbix了,下一章我们就开始真正的mysql数据库监控之旅吧。

zabbix实现mysql数据库的监控(一)的更多相关文章

  1. zabbix实现mysql数据库的监控(三)

    上面一章“zabbix实现mysql数据库的监控(二)”使用MPM来监控mysql,但是遇到安装问题始终解决不了,这里改用percona-monitoring-plugins进行zabbxi上监控my ...

  2. zabbix实现mysql数据库的监控(二)

    上章我们把zabbix的服务端和客户端都部署完成了,本章接着进行两部分的设置: 1  添加对mysql数据库主机的监控 2  添加对mysql数据库的监控 一.对数据库服务器主机监控 1 创建主机 步 ...

  3. zabbix实现mysql数据库的监控(四)

    前面介绍的内容都是用第三方开发好的插件进行mysql监控的,可能有些我们关心的监控内容并不在其中,这时一种常用的方法就是定义我们自己的脚本并将它整合到zabbix中,从而在原有监控的基础上进行有力的补 ...

  4. centos 7中监控mysql 数据库脚本(监控端口)

    centos 7中监控mysql 数据库脚本(监控端口) 监控mysql数据库的方法如下: 1.监控端口 netstat -nltp |grep 3306 2.监控进程 ps -ef |grep 33 ...

  5. MySQL数据库重点监控指标

    MySQL数据库重点监控指标 QPS queries per seconds 每秒中查询数量 show global status like 'Question%'; Queries/seconds ...

  6. Zabbix检测Mysql数据库的主从同步

    在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节 ...

  7. Zabbix导入MySQL数据库报错ERROR 1046 (3D000) at line 1: No database selected

    使用如下命令导入Zabbix数据库时报错 解决办法: 1.先把原始的数据库压缩包备份 cd /usr/share/doc/zabbix-server-mysql-4.0.7/ cp create.sq ...

  8. zabbix使用mysql数据库 对表分区

    zabbix删除历史数据 mysql 表自动分区.删除 ----2016年终总结 二 zabbix清理历史数据是个比较蛋疼的问题,尤其在监控数据较多时,一方面无法彻底释放历史数据空间,一方面数据库删除 ...

  9. mysql数据库变更监控(canal)

    背景: 1. 一些项目的基础功能会有Audit Trace, 以记录系统用户所做过的所有记录. 2. 实时备份数据,比如mysql主从复制,一个用于面向应用,一个用于对应用数据库的实时备份. 3. 实 ...

随机推荐

  1. Gradle学习小结

    build.gradle(依赖配置) // 普通java工程 apply plugin: 'java' // Idea工程 apply plugin: 'idea' // war工程,需要有webap ...

  2. apk文件反编译

    apk文件的反编译,需要的工具apktool(反编译资源文件)和dex2jar-0.0.7.9-SNAPSHOT(反编译源码) 1.  下载相关软件 1)Apktool,下载地址:http://cod ...

  3. 关于Android项目中的分层,参考eoecn开源项目(8.29)

    以下为eoecn开源项目的分层情况: ├ cn.eoe.app --存放程序全局性类的包├ cn.eoe.app.adapter --存放适配器的实现类的包 ├ cn.eoe.app.adapter. ...

  4. 工作总结 页面通过ajax 动态绑定 列表页面 列表每一项的事件 事件触发多次

    遇到一个问题 困惑了两天  页面的事件不知道为什么触发多次 试了各种办法 对比了之前的页面 各种测试 不是js css 外部链接 重复加载问题  也不是嵌套的 div 问题 各种都试过 最终发现 是 ...

  5. docker pull net/http: TLS handshake timeout错误解决

    docker pull  net/http: TLS handshake timeout  出现这个错误,原因很明显,我们在围城里,有两种解决办法,一种是用梯子爬围墙,一种是用国内源,下面用国内源 e ...

  6. SQL 根据表获取字段字符串

    SQLSERVER查询单个数据表所有字段名组合成的字符串脚本 --SQLSERVER查询单个数据表所有字段名组合成的字符串脚本 --应用场合: 用于生成SQL查询字符串中select 字段名列表1 f ...

  7. 【Linux 驱动】设备驱动程序再理解

    学习设备驱动编程也有一段时间了,也写过了几个驱动程序,因此有对设备驱动程序有了一些新的理解和认识,总结一下.学习设备驱动编程也有一段时间了,也写过了几个驱动程序.因此有对设备驱动程序有了一些新的理解和 ...

  8. Linux Suse 查看wwn号码的方法

     查看wwn号码 cat /sys/class/fc_host/host*/port_name *代表全部host目录

  9. Android studio 百度地图开发(3)地图导航

    Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是Android S ...

  10. Zxing二维码解析——图文转换

    一:文字转化为二维码图片. package com.xhm.tool; import java.util.Hashtable; import android.graphics.Bitmap; impo ...