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

[经验分享] zabbix实现mysql数据库的监控(一)

[复制链接]

尚未签到

发表于 2018-1-1 22:55:50 | 显示全部楼层 |阅读模式
  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代理服务器。
  【部署环境说明】:
DSC0000.png

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

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

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

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

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

[iyunv@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运行账户
  

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

  2、安装zabbix server(192.168.245.133)
  

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

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

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

  4、配置zabbix
  zabbix server配置与启动大概需要以下几个步骤:
  (1)创建zabbix数据库和mysql用户
  

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

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

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

  注意:以上导入的顺序不能乱。
  (3)编辑zabbix配置文件
  编辑zabbix server的配置文件/usr/local/zabbix/etc/zabbix_server.conf,修改参数如下:

DSC0001.gif
  

ListenPort=10051                                     #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 = 3306                                        #默认数据库端口
  
DBSocket = /tmp/mysql.sock                           # sock 文件所在目录
  
FpingLocation = /usr/local/sbin/fping                #fping命令路径
  


  (4)配置zabbix服务
  从安装目录复制zabbix相关脚本到/etc/init.d下

  

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


  (5)启动和停止zabbix
  

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

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

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

  5、配置zabbix web
  (1)将zabbix web文件复制到apache web目录中
  

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

  

  (2)apache配置
  

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

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

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

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

  (4)重新启动apache
  

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

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

DSC0003.png

DSC0004.png

DSC0005.png

DSC0006.png

DSC0007.png

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

  6、进行汉化zabbix
  在界面上点击Administration=》 Users =》 Admin =》Language =》Chinese(zh_CN),重新刷下浏览器即可。
  到此为止,zabbix服务器端就完成了。下面我们进行配置安装客户端
  7、Agent端的安装与配置
  上面我们已经安装完成服务端,但是还没有安装客户端,也就是我们真正想监控的server。对于客户端安装和服务端没有区别,只是在编译的时候只需要--enable-agent参数就行了。
  (1)安装agent软件
  

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

  (2)配置zabbix agent

  

[iyunv@node2 zabbix-2.4.6]# mkdir /usr/local/zabbix/logs -p  
[iyunv@node1 zabbix-2.4.6]# chown -R zabbix.zabbix /usr/local/zabbix/
  
[iyunv@node1 zabbix-2.4.6]# 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)
  

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

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

  

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


  (5)启动zabbix agent

  

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


  (6)配置开机自启动
  

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

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

[iyunv@monitor bin]# /usr/local/zabbix/bin/zabbix_get -s 192.168.245.129 -p 10050 -k agent.ping  
1
  
[iyunv@monitor bin]# /usr/local/zabbix/bin/zabbix_get -s 192.168.245.131 -p 10050 -k agent.ping
  
1
  

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

  

[iyunv@monitor bin]# ./zabbix_get --help  
Zabbix get v2.4.6 (revision 54796) (10 August 2015)
  

  
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 10050
  -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 10050 -k "system.cpu.load[all,avg1]"
  


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

运维网声明 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-430667-1-1.html 上篇帖子: Installing Zabbix 3.2 in Centos 6.8 Clean Install Dependencies Errors 下篇帖子: zabbix-3.2.6之snmp监控(无需安装agent也能监控)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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