广告
返回顶部
首页 > 资讯 > 数据库 >zabbix如何监控mysql
  • 531
分享到

zabbix如何监控mysql

2023-06-15 08:06:18 531人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关zabbix如何监控mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,

这篇文章将为大家详细讲解有关zabbix如何监控mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、监控规划

在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是提出监控的需求。

需求一:监控Mysql的状态,当状态发生异常,发出报警;

需求二:监控mysql的操作,并用图表展现;

2、自定义脚本监控扩展Agent

Zabbix Server与Agent之间监控数据的采集主要是通过Zabbix Server主动向Agent询问某个Key的值,Agent会根据Key去调用相应的函数去获取这个值并返回给Server端。Zabbix 2.4.7的Agent本并没有内置Mysql的监控功能(但是Server端提供了相应的Template配置),所以我们需要使用Zabbix的User Parameters功能,为MySQL添加监控脚本。

3、授权mysql登录用户(agent端)

mysql> grant usage on *.* to zabbix@127.0.0.1 identified by '123456';mysql> flush privileges;

4、agent端配置

存活检测

利用UserParameter参数自定义Agent Key。
对于需求一 ,我们采用mysqladmin这个工具来实现,命令如下:

# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping mysqld is alive

如果MySQL状态正常,会显示mysqld is alive,否则会提示连接不上。对于服务器端,mysqld is alive这样的句子不好理解,服务器端最好只接收1和0,1表示服务可用,0表示服务不可用。那么再改进一下这个命令,如下:

# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping |grep -c alive1

用户名和密码放在命令中对于以后的维护不好,所以我们在/var/lib/zabbix/下创建一个包含MySQL用户名和密码的配置文件“.my.cnf”,如下:

user=zabbixhost=127.0.0.1passWord='123456'

有了这个文件后的命令变更为

HOME=/var/lib/zabbix/ mysqladmin ping |grep -c alive1

做完这一步后需要做的就是,将这个监控命令添加到Zabbix Agent中,并与一个Key对应,这样Zabbox Server就能通过这个Key获取MySQL的状态了。我们使用mysql.ping作为MySQL状态的Key。

首先在去除/etc/zabbix/zabbix_agentd.conf中

“Include=/etc/zabbix_agentd.d/” 这一行的注释符。

其次,在/etc/zabbix/zabbix_agentd.d/目录下创建userparameter_mysql.conf文件。在文件中添加如下命令:

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive

使用下面的命令测试是否正常工作。

# /usr/sbin/zabbix_agentd -t mysql.pingmysql.ping                                    [t|1]

其他性能指标

添加userparameter_mysql

vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf####监控mysql性能的脚本UserParameter=mysql.status[*],/etc/zabbix/zabbix_agentd.d/check_mysql.sh $1#####mysql版本UserParameter=mysql.version,mysql -V

check_mysql.sh

#!/bin/bash# -------------------------------------------------------------------------------# FileName: check_mysql.sh# Revision: 1.0# -------------------------------------------------------------------------------# Copyright:# License: GPL# 用户名MYSQL_USER='zabbix'# 密码MYSQL_PWD='zabbix@123'# 主机地址/IPMYSQL_HOST='ip'# 端口MYSQL_PORT='3306'# 数据连接MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"# 参数是否正确if [ $# -ne "1" ];thenecho "arg error!"fi# 获取数据case $1 inUptime)result=`${MYSQL_CONN} status 2>/dev/null |cut -f2 -d":"|cut -f1 -d"T"`echo $result;;Com_update)result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_update"|cut -d"|" -f3`echo $result;;Slow_queries)result=`${MYSQL_CONN} status  2>/dev/null  |cut -f5 -d":"|cut -f1 -d"O"`echo $result;;Com_select)result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_select"|cut -d"|" -f3`echo $result;;Com_rollback)result=`${MYSQL_CONN} extended-status  2>/dev/null   |grep -w "Com_rollback"|cut -d"|" -f3`echo $result;;Questions)result=`${MYSQL_CONN} status   2>/dev/null |cut -f4 -d":"|cut -f1 -d"S"`echo $result;;Com_insert)result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_insert"|cut -d"|" -f3`echo $result;;Com_delete)result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_delete"|cut -d"|" -f3`echo $result;;Com_commit)result=`${MYSQL_CONN} extended-status   2>/dev/null  |grep -w "Com_commit"|cut -d"|" -f3`echo $result;;Bytes_sent)result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_sent" |cut -d"|" -f3`echo $result;;Bytes_received)result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Bytes_received" |cut -d"|" -f3`echo $result;;Com_begin)result=`${MYSQL_CONN} extended-status  2>/dev/null  |grep -w "Com_begin"|cut -d"|" -f3`echo $result;;*)echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)";;esac

3.授权:

chmod +x  /etc/zabbix/zabbix_agentd.d/check_mysql.shChown zabbix.zabbix  /etc/zabbix/zabbix_agentd.d/check_mysql.sh

4. zabbix_agent上测试:

zabbix_agentd -t mysql.ping

zabbix如何监控mysql

5.Zabbix_server测试

zabbix_get -s ip -P 端口 -k mysql.ping

zabbix如何监控mysql

5、在WEB端进行配置

**创建主机 **

zabbix如何监控mysql

zabbix如何监控mysql

关联模板

zabbix如何监控mysql

创建监控项

zabbix如何监控mysql

创建图形

zabbix如何监控mysql

查看监控图像

zabbix如何监控mysql

其他监控项以此配置完成

6、zabbix自带mysql监控项

version:数据库版本key_buffer_size:myisam的索引buffer大小sort_buffer_size:会话的排序空间(每个线程会申请一个)join_buffer_size:这是为链接操作分配的最小缓存大小,这些连接使用普通索引扫描、范围扫描、或者连接不适用索引max_connections:最大允许同时连接的数量max_connect_errors:允许一个主机最多的错误链接次数,如果超过了就会拒绝之后链接(默认100)。可以使用flush hosts命令去解除拒绝open_files_limits:操作系统允许mysql打开的文件数量,可以通过opened_tables状态确定是否需要增大table_open_cache,如果opened_tables比较大且一直还在增大说明需要增大table_open_cachemax-heap_tables_size:建立的内存表的最大大小(默认16M)这个参数和tmp_table_size一起限制内部临时表的最大值(取这两个参数的小的一个),如果超过限制,则表会变为innodb或myisam引擎,(5.7.5之前是默认是myisam,5.7.6开始是innodb,可以通过internal_tmp_disk_storage_engine参数调整)。max_allowed_packet:一个包的最大大小##########GET INNODB INFO#INNODB variablesinnodb_version:innodb_buffer_pool_instances:将innodb缓冲池分为指定的多个(默认为1)innodb_buffer_pool_size:innodb缓冲池大小、5.7.5引入了innodb_buffer_pool_chunk_size,innodb_doublewrite:是否开启doublewrite(默认开启)innodb_read_io_threads:IO读线程的数量innodb_write_io_threads:IO写线程的数量########innodb statusinnodb_buffer_pool_pages_total:innodb缓冲池页的数量、大小等于innodb_buffer_pool_size/(16*1024)innodb_buffer_pool_pages_data:innodb缓冲池中包含数据的页的数量########## GET MYSQL HITRATE1、查询缓存命中率如果Qcache_hits+Com_select<>0则为 Qcache_hits/(Qcache_hits+Com_select),否则为02、线程缓存命中率如果Connections<>0,则为1-Threads_created/Connections,否则为03、myisam键缓存命中率如果Key_read_requests<>0,则为1-Key_reads/Key_read_requests,否则为04、myisam键缓存写命中率如果Key_write_requests<>0,则为1-Key_writes/Key_write_requests,否则为05、键块使用率如果Key_blocks_used+Key_blocks_unused<>0,则Key_blocks_used/(Key_blocks_used+Key_blocks_unused),否则为06、创建磁盘存储的临时表比率如果Created_tmp_disk_tables+Created_tmp_tables<>0,则Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables),否则为07、连接使用率如果max_connections<>0,则threads_connected/max_connections,否则为08、打开文件比率如果open_files_limit<>0,则open_files/open_files_limit,否则为09、表缓存使用率如果table_open_cache<>0,则open_tables/table_open_cache,否则为0

关于“zabbix如何监控mysql”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: zabbix如何监控mysql

本文链接: https://www.lsjlt.com/news/278945.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • zabbix如何监控mysql
    这篇文章将为大家详细讲解有关zabbix如何监控mysql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,...
    99+
    2023-06-15
  • 如何使用zabbix监控MySQL
    这篇文章将为大家详细讲解有关如何使用zabbix监控MySQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。        &nb...
    99+
    2022-10-18
  • zabbix监控MySQL详解
    注意事项:实验环境CentOS Linux release 7.0.1406 (Core)[root@localhost scripts]# mysql -vWelcome to the MariaDB m...
    99+
    2022-10-18
  • zabbix监控mysql性能
    今天来看看zabbix如何监控mysql性能,这边使用mysql自带的模板,可以监控如下内容:OPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽,最后会附上相应的监控图!编写check_my...
    99+
    2022-10-18
  • 部署zabbix监控mysql (一) 安装zabbix
    部署zabbix监控mysql(1)安装LAMP环境[root@localhost ~]# yum -y installmysql-server http php(2)安装zabbix web所需要的依赖包...
    99+
    2022-10-18
  • zabbix监控mysql数据库
    这篇文章主要介绍“zabbix监控mysql数据库”,在日常操作中,相信很多人在zabbix监控mysql数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”zabbix监控...
    99+
    2022-10-18
  • Zabbix如何监控Oracle
    本篇内容主要讲解“Zabbix如何监控Oracle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Zabbix如何监控Oracle”吧!Orabbix简介   Orabbix是...
    99+
    2023-06-04
  • 【MySQL】数据库监控--fpmmm(zabbix)
    官网:http://www.fromdual.com  fpmmm(FromDual Performance Monitor for MySQL and MariaDB) [root@wallet01 ~...
    99+
    2022-10-18
  • 使用percona监控插件在zabbix中监控MySQL
    下载并安装percona源,以后用percona toolkit或者innobackup能用到wget -N --no-check-certificate  rpm ...
    99+
    2022-10-18
  • zabbix中如何监控oracle
    这篇文章主要介绍了zabbix中如何监控oracle,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我的zabbix版本为2.0.6,orac...
    99+
    2022-10-19
  • zabbix如何监控系统
    这篇文章将为大家详细讲解有关zabbix如何监控系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。zabbix 监控系统Zabbix是一个企业级的、开源的、分布式的监控套...
    99+
    2022-10-19
  • Zabbix监控PostgreSQL
    Zabbix监控PostgreSQL学习 PostgreSQL zabbixZabbix监控PostgreSQL1. 安装libzbxpgsql2. 配置zabbix配置文件zabbix...
    99+
    2022-10-18
  • Zabbix 监控 AlwaysOn
    基于生产环境 SQL Server 业务数据库的特性,需要针对 SQL Server 生产环境几组 AlwaysOn AG 的 Primary Replica 部署如下监控:&...
    99+
    2022-10-18
  • zabbix监控mongdb
       查找了很多的监控文章,但是还是遇到不少问题,没有能够按照文章做下来就能成功的例子。本文旨在说明一下遇到的问题以及解决方法。    下载mongodb的插件和模...
    99+
    2022-10-18
  • Zabbix 监控 MongoDB
    Zabbix 监控 MongoDB 从zabbix共享站点,找到了一个MongoDB的模板:https://share.zabbix.com/databases/mongodb/mongodb-f...
    99+
    2022-10-18
  • Zabbix MongoDB监控
    去年监控mongodb设置的模板,包括mongodb连接数,内存,复制延迟,是否Master的监控,下面是一些监控图形示例我们还有一些触发器,比如mongodb实例是否可用,mongodb副本集的角色是否切...
    99+
    2022-10-18
  • zabbix 监控 3com
    zabbix 可以监控cisco 但是不可以监控H3C 但是我的SNMP一切正常。(不要嫉妒我这个snmp好用的软件,我一会给大家附上。)为啥不行呢,答案,因为h3c太懒没有写zabbix template,所以 zabbix 不支持它。为...
    99+
    2023-01-31
    zabbix
  • zabbix------3-----监控
    监控的方式有:snmpwindowns版本的agent下载源码包到windows上面1、新建一个zabbix目录2、把解压出来的文件夹中,/bin/win64/下面的所有内容拷贝到新建的目录zabbix里面3、把解压文件夹中的config文...
    99+
    2023-01-31
    zabbix
  • zabbix-----3------监控
    首先我们要安装上tomcat+jdk我这里使用rpm包直接安装的:[root@zabbix-node2 ~]# rpm -ivh jdk-8u102-linux-x64.rpm  Preparing...                  ...
    99+
    2023-01-31
    zabbix
  • zabbix监控MySQL多实例实践
    一、实践背景:一台机器上部署了多个MySQL实例,每个实例使用不同的端口,需要通过zabbix将其都纳入监控中。 二、实践方法及原理说明:1.在Zabbix上创建监控MySQL数据库使用的模版,导入案例模版...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作