精华内容
下载资源
问答
  • zabbix监控mysql数据库

    2019-03-25 14:09:25
    zabbix监控mysql数据库详细配置,含监控mysql脚本;
  • zabbix监控mysql

    2017-08-03 14:33:29
    利用zabbix监控mysql,方便好用,不需要在被监控端安装或执行任何脚本
  • zabbix 监控mysql的方法

    2021-01-09 00:07:07
    监控mysql,首先要先安装mysql [root@localhost ~]# yum -y install mariadb mariadb-server 2.编写mysql监控项的脚本 在zabbix-agent先授权个用户 不然测试时没有权限 [root@localhost ~]# mysql Welcome to the ...
  • Zabbix监控MySQL的模板
  • 主要介绍了zabbix--监控MySQL主从状态的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • mysql-master、zabbix-agent 192.168.1.115 mysql-slave、zabbix-agent 192.168.1.116 二、MySQL数据库主从搭建 1、关闭防火墙(主从库均需关闭) [root@master ~]# systemctl stop firewalld [root@master ~]#...
  • Zabbix 监控 Mysql 的安装,此文档对于安装zabix 监控 Mysql 有非常大的作用,里面配置了 监控启动脚本,脚本内容非常完善,对于安装 zabbix 有非常大作用。
  • 一、直接给zabbix-server添加自带的mysql监控项 可以看到监控项及其触发器图形都是很少的,这在企业中是远远不够的 二、需要导入自己的mysql服务的监控模版 测试数据库是正常的 [root@server1 zabbix]# ...

    一、直接给zabbix-server添加自带的mysql监控项
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    可以看到监控项及其触发器图形都是很少的,这在企业中是远远不够的
    二、需要导入自己的mysql服务的监控模版

    测试数据库是正常的
    [root@server1 zabbix]# mysqladmin -uzabbix -pwestos -h127.0.0.1 ping | grep -c alive
    1
    

    在这里插入图片描述

    [root@server1 zabbix]# cat  .my.cnf
    [mysql]
    host = localhost
    user = root
    password = westos
    socket = /var/lib/mysql/mysql.sock
    
    
    [mysqladmin]
    host = localhost
    user = root
    password = westos
    socket = /var/lib/mysql/mysql.sock
    
    重启agent服务
    [root@server1 zabbix]# systemctl restart zabbix-agent.service
    

    获取模版,percona是开源的mysql分析工具

     [root@client Desktop]# scp percona-zabbix-templates-1.1.8-1.noarch.rpm server1:
    root@server1's password: 
    percona-zabbix-templates-1.1.8-1.noarch.rpm   100%   28KB   7.7MB/s   00:00    
    

    在这里插入图片描述
    复制percona的监控模版到被监控的服务器也就是server1上的zabbix-agent的相应目录下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    通过脚本获取数据
    k和键值存放位置
    在这里插入图片描述

    给定k(gk)获取键值:读取的是上图中的文件
    [root@server1 ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk
    2197
    

    向zabbix监控的web界面中导入监控mysql的模版percona
    选择导入

    [root@client Desktop]# ls
      zbx_percona_mysql_template.xml
    

    在客户端导入
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    删除之前的链接的系统自带的mysql模版
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    更新完成,查看zabbix server的监控项,可以看到导入percona模版后的监控项数量变为297个,监控项,图形,触发器数量大大增加;更有利于我们在生产环境中对数据库进行全面监控。
    在这里插入图片描述
    在这里插入图片描述
    上图没有数据,登陆数据库
    在这里插入图片描述
    在这里插入图片描述
    查询量过小,显示效果不明显
    在这里插入图片描述

    展开全文
  • zabbix 监控 mysql

    万次阅读 2021-03-13 17:49:38
    需求一:监控MySQL的状态,当状态发生异常,发出报警; 需求二:监控MySQL的操作,并用图表展现; 2、自定义脚本监控扩展Agent Zabbix Server与Agent之间监控数据的采集主要是通过Zabbix Server主动向Agent询问某个...

    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 alive
    1
    
    

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

    user=zabbix
    host=127.0.0.1
    password='123456'
    
    

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

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

    做完这一步后需要做的就是,将这个监控命令添加到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.ping
    mysql.ping                                    [t|1]
    

    其他性能指标

    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
    
    2.check_mysql.sh
    #!/bin/bash
    # -------------------------------------------------------------------------------
    # FileName: check_mysql.sh
    # Revision: 1.0
    # -------------------------------------------------------------------------------
    # Copyright:
    # License: GPL
    
    # 用户名
    MYSQL_USER='zabbix'
    
    # 密码
    MYSQL_PWD='zabbix@123'
    
    # 主机地址/IP
    MYSQL_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" ];then
    echo "arg error!"
    fi
    
    # 获取数据
    case $1 in
    Uptime)
    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.sh
    
    Chown zabbix.zabbix  /etc/zabbix/zabbix_agentd.d/check_mysql.sh
    
    4. zabbix_agent上测试:

    zabbix_agentd -t mysql.ping

    在这里插入图片描述

    5.Zabbix_server测试

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

    在这里插入图片描述

    5、在web端进行配置

    **创建主机 **

    在这里插入图片描述
    在这里插入图片描述
    关联模板

    在这里插入图片描述

    创建监控项

    在这里插入图片描述

    创建图形

    在这里插入图片描述
    查看监控图像

    在这里插入图片描述

    其他监控项以此配置完成

    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_cache
    max-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 variables
    innodb_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 status
    innodb_buffer_pool_pages_total:innodb缓冲池页的数量、大小等于innodb_buffer_pool_size/(16*1024)
    innodb_buffer_pool_pages_data:innodb缓冲池中包含数据的页的数量
    ########## GET MYSQL HITRATE
    1、查询缓存命中率
    如果Qcache_hits+Com_select<>0则为 Qcache_hits/(Qcache_hits+Com_select),否则为0
    
    2、线程缓存命中率
    如果Connections<>0,则为1-Threads_created/Connections,否则为0
    
    3、myisam键缓存命中率
    如果Key_read_requests<>0,则为1-Key_reads/Key_read_requests,否则为0
    
    4、myisam键缓存写命中率
    如果Key_write_requests<>0,则为1-Key_writes/Key_write_requests,否则为0
    
    5、键块使用率
    如果Key_blocks_used+Key_blocks_unused<>0,则Key_blocks_used/(Key_blocks_used+Key_blocks_unused),否则为0
    
    6、创建磁盘存储的临时表比率
    如果Created_tmp_disk_tables+Created_tmp_tables<>0,则Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables),否则为0
    
    7、连接使用率
    如果max_connections<>0,则threads_connected/max_connections,否则为0
    
    8、打开文件比率
    如果open_files_limit<>0,则open_files/open_files_limit,否则为0
    
    9、表缓存使用率
    如果table_open_cache<>0,则open_tables/table_open_cache,否则为0
    
    展开全文
  • 文章目录zabbix 监控mysql 复制一、使用percona 提供的插件监控1.1 搭建主从复制环境1.2 在slave 上安装procona1.3 安装环境依赖1.4 配置并且调用percona 插件脚本1.5 验证1.6 可能遇到的坑二、 自己编写 脚本 监控...

    zabbix 监控mysql 复制

    一、使用percona 提供的插件监控

    1.1 搭建主从复制环境

    master:192.168.1.107

    vim  /etc/mysql/mariadb.conf.d/50-server.cnf
    bind-address            = 0.0.0.0
    server-id=107
    log-bin=/data/mysql/master-log
    
    grant replication slave ,replication client  on *.*  to rsync@'192.168.1.%' identified by '123456' ;
    
    create database linux37 ;
    
    mysqldump -A --single_transaction --flush-logs --master-data=1  > /opt/backup.sql
    

    slave:192.168.1.105

    server-id=105
    
    CHANGE MASTER TO MASTER_HOST='192.168.1.107',MASTER_USER='rsync',MASTER_PASSWORD='123456', MASTER_LOG_FILE='master-log.000003', MASTER_LOG_POS=368;
    
    start slave ;;
    

    验证:

    show slave status \G ;
    
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    

    并且可以看到刚才创建的数据库

    1.2 在slave 上安装procona

    mark

    mark

    官方文档及下载地址:

    插件下载地址:https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

    安装教程:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html

    wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/debian/artful/x86_64/percona-zabbix-templates_1.1.8-1.artful_all.deb
    
    dpkg -i  percona-zabbix-templates_1.1.8-1.artful_all.deb 
    
    root@z5:~# dpkg -c percona-zabbix-templates_1.1.8-1.artful_all.deb 
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./usr/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./usr/share/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./usr/share/doc/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./usr/share/doc/percona-zabbix-templates/
    -rw-r--r-- root/root       360 2018-01-10 22:46 ./usr/share/doc/percona-zabbix-templates/changelog.Debian.gz
    -rw-r--r-- root/root       989 2018-01-10 22:46 ./usr/share/doc/percona-zabbix-templates/copyright
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/lib/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/lib/zabbix/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/lib/zabbix/percona/
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/lib/zabbix/percona/scripts/
    -rwxr-xr-x root/root      1251 2018-01-10 22:46 ./var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
    -rw-r--r-- root/root     60679 2018-01-10 22:46 ./var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
    drwxr-xr-x root/root         0 2018-01-10 22:46 ./var/lib/zabbix/percona/templates/
    -rw-r--r-- root/root     18866 2018-01-10 22:46 ./var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
    -rw-r--r-- root/root    269258 2018-01-10 22:46 ./var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
    

    1.3 安装环境依赖

    安装 zabbix-agent php-mysql php5.6 (7版本会使得监控项取的返回值类型有问题)

    apt-get install -y software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    apt-get update
    apt-get install -y php5.6
    apt-get install -y php5.6-mysql
    

    1.4 配置并且调用percona 插件脚本

    复制脚本自定义的参数

     cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf  /etc/zabbix/zabbix_agentd.conf.d/
    

    确认agent.conf 有这项配置

    Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf

    配置 让php 能连接数据库

    vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
    
    <?php
    $mysql_user = 'root';
    $mysql_pass = '';
    

    zabbix 调用shell ,而shell 脚本会调用php 的程序

    root@z5:/var/lib/zabbix/percona/scripts# ll
    total 76
    drwxr-xr-x 2 root root  4096 Apr 16 13:47 ./
    drwxr-xr-x 4 root root  4096 Apr 16 11:37 ../
    -rwxr-xr-x 1 root root  1251 Jan 10  2018 get_mysql_stats_wrapper.sh*
    -rw-r--r-- 1 root root 60679 Jan 10  2018 ss_get_mysql_stats.php
    -rw-r--r-- 1 root root    46 Apr 16 13:32 ss_get_mysql_stats.php.cnf
    

    测试脚本能否在本机agent取到值 , 0 也是有值

    root@z5:/var/lib/zabbix/percona/scripts# bash get_mysql_stats_wrapper.sh  gg
    0
    root@z5:/var/lib/zabbix/percona/scripts# bash get_mysql_stats_wrapper.sh  gk
    5
    

    调用脚本的过程中,会产生一个临时文件。

    root@z5:~# ll /tmp/localhost-mysql_cacti_stats.txt 
    -rw-r--r-- 1 root root 1240 Apr 16 13:53 /tmp/localhost-mysql_cacti_stats.txt
    
    root@z5:~# chown zabbix.zabbix  /tmp/localhost-mysql_cacti_stats.txt  
    

    重启agent, 在proxy 或 server 上测试

    root@z2:~# zabbix_get -s 192.168.1.105 -p 10050 -k  "MySQL.Key-read-requests"
    0
    root@z2:~# zabbix_get -s 192.168.1.105 -p 10050 -k  "MySQL.history-list"
    5
    

    然后导入模板

    cd /var/lib/zabbix/percona/templates/
    sz zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml 
    

    注意有些模板选项不支持(时间太久了),需要修改后再导入。

    之后关联到主机就可以了

    1.5 验证

    mark

    1.6 可能遇到的坑

    执行 bash -x get_mysql_stats_wrapper.sh gg 取不到值,可能是与脚本中的TIMEOUT值有关,因为缓存文件的存在

    可以把 /tmp/localhost-mysql_cacti_stats.txt 删除了,把TIMEOUT=300 调成100 改小些,再试一下

      TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt`
        TIMENOW=`date +%s`
        if [ `expr $TIMENOW - $TIMEFLM` -gt 10 ]; then
            rm -f $CACHEFILE
            $CMD 2>&1 > /dev/null
        fi
    

    二、 自己编写 脚本 监控

    2.1 思路

    主要是监控 Slave_IO_Running 和 Slave_SQL_Running 的值是否同时为yes, Seconds_Behind_Master 的值 取当从服务器 复制延的秒数

    2.2 脚本内容

    #!/bin/bash
    host=127.0.0.1
    Seconds_Behind_Master(){
            NUM=`mysql -uroot -h$host  -e "show slave status\G;"  | grep "Seconds_Behind_Master:" | awk -F: '{print $2}'`
            echo $NUM
    }
    
    master_slave_check(){
    NUM1=`mysql -uroot -h$host -e "show slave status\G;"  | grep "Slave_IO_Running" | awk -F:  '{print $2}' | sed 's/^[ \t]*//g'`
    #echo $NUM1
    NUM2=`mysql -uroot -h$host -e "show slave status\G;"  | grep "Slave_SQL_Running:" | awk -F:  '{print $2}' | sed 's/^[ \t]*//g'`
    #echo $NUM2
    if test $NUM1 == "Yes" &&  test $NUM2 == "Yes";then
        echo 50
    else
        echo 100
    fi
    }
    
    main(){
        case $1 in
            Seconds_Behind_Master)
               Seconds_Behind_Master;
               ;;
            master_slave_check)
               master_slave_check
               ;;
        esac
    }
    main $1
    
    

    使用locahost 虽然 在本机测试不报错,但是通过zabbix_get 调用时,总会报权限问题,所以我选择用127.0.0.1 登录

    create user 'root'@'127.0.0.1' identified by '';
    grant all  on *.*  to 'root'@'127.0.0.1'
    
    skip-name-resolve
    

    在监控Slave_IO_Running 和 Slave_SQL_Running 的值是否同时为yes 时,就可以设置触发>55 就报警

    为啥不用50 ? 因为触发器的监控线 和 返回结果的线会重合

    2.3 调用测试脚本

    agent.conf

    UserParameter=mysql[*],/etc/zabbix/zabbix_agentd.d/monitor_mysql.sh  "$1"
    

    在本机测

    root@z5:/etc/zabbix/zabbix_agentd.d# bash monitor_mysql.sh  master_slave_check
    50
    root@z5:/etc/zabbix/zabbix_agentd.d# bash monitor_mysql.sh  Seconds_Behind_Master
    0
    
    

    在server 测

    root@z2:~# zabbix_get -s 192.168.1.105 -p 10050 -k  mysql[master_slave_check]
    50
    root@z2:~# zabbix_get -s 192.168.1.105 -p 10050 -k mysql[Seconds_Behind_Master]
    0
    

    2.4 创建模板、创建监控项、创建触发器、创建图形、关联模板

    创建模板

    mark

    创建监控项 主从同步检查

    mark

    创建监控项 主从同步复制延迟

    mark

    创建触发器

    mark

    2.5 验证结果

    stop slave;

    mark

    微信报警已经收到结果

    mark

    展开全文
  • 详细的讲述了在Linux下配置zabbix 监控mysql 的步骤,包括从安装开始,一步一步带着你做,每一个命令都有,很具体
  • zabbix监控mysql各项指标

    千次阅读 2020-10-23 16:59:15
    zabbix-server(服务端 ip:192.168.176.138) zabbix-agent(客户端 ip:192.168.176.139) 两台分别上传zabbix.repo到/etc/yum.repos.d下面 安装前工作 // 关闭防火墙 systemctl stop firewalld setenforce 0 // ...

    准备两台虚拟机

    zabbix-server(服务端 ip:192.168.176.138)

    zabbix-agent(客户端 ip:192.168.176.139)

    两台分别上传zabbix.repo到/etc/yum.repos.d下面

    安装前工作

    // 关闭防火墙
    systemctl stop firewalld
    setenforce 0
    // 时间同步
    yum -y install ntpdate
    ntpdate pool.ntp.org
    

    服务端

    [root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb mariadb-server
    [root@localhost ~]# systemctl start mariadb
    [root@localhost ~]# mysql
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
    MariaDB [(none)]> flush privileges;
    MariaDB [(none)]> Ctrl-C -- exit!
    [root@localhost ~]# zcat  /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz |mysql -uzabbix -pzabbix zabbix
    [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
    [root@localhost ~]# cat  /etc/zabbix/zabbix_server.conf |grep -v "^#"|sed '/^$/d'|grep DB
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    [root@localhost ~]# systemctl start httpd zabbix-server zabbix-agent
    [root@localhost ~]# netstat  -lptnu|egrep "80|10050|10051"
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2710/zabbix_agentd  
    tcp6       0      0 :::10050                :::*                    LISTEN      2710/zabbix_agentd  
    tcp6       0      0 :::80                   :::*                    LISTEN      2704/httpd 
    [root@localhost ~]# vim /etc/php.ini
    date.timezone =Asia/Shanghai //修改时区,tips:前面的分号去掉
    [root@localhost ~]# systemctl restart httpd //修改完时区一定重启httpd
    

    http;//192.168.176.137/zabbix 访问

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    客户端

    [root@localhost ~]# yum -y install zabbix-agent mariadb mariadb-server httpd bc
    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    [root@localhost ~]# cat /etc/zabbix/zabbix_agentd.conf |grep -v "^#"|sed '/^$/d'
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=192.168.176.138 //改为服务端ip
    ServerActive=192.168.176.138 //改为服务端ip
    Hostname=Zabbix server
    [root@localhost ~]# systemctl start zabbix-agent mariadb httpd
    [root@localhost ~]# mkdir -p /etc/zabbix/scripts
    [root@localhost ~]# cd /etc/zabbix/scripts/
    [root@localhost scripts]# vim mysql_byte.sh
    [root@localhost scripts]# cat mysql_byte.sh 
    #!/bin/bash
    case $1 in
    byte_sent)
    	mysqladmin  extended-status|grep -w "Bytes_sent"|awk  '{print $4}'
    	;;
    byte_recv)
    	mysqladmin  extended-status|grep -w "Bytes_received"|awk  '{print $4}'
    	;;
    esac
    [root@localhost scripts]# vim mysql_in_r.sh
    [root@localhost scripts]# cat mysql_in_r.sh 
    #!/bin/bash
    
    mysql -e "show global status like 'innodb%read%';" | grep Innodb_buffer_pool_read_requests | awk '{print $2}'
    [root@localhost scripts]# vim pv_uv.sh
    [root@localhost scripts]# cat pv_uv.sh 
    #!/bin/bash
    case $1 in
    	uv|UV)
    		cat /var/log/httpd/access_log |awk '{print $1}'|sort|uniq|wc -l
    	;;
    	pv|PV)
    		cat /var/log/httpd/access_log |awk '{print $1}' |wc -l
    	;;
    esac
    [root@localhost scripts]# vim mysql_qps.sh
    [root@localhost scripts]# cat mysql_qps.sh 
    #!/bin/bash
    q1=`mysql -s -e 'show global status like "Question%";'|awk '{print $NF}'`
    t1=`uptime |awk '{print $5}'|sed "s/,//g"|awk -F ":" '{print $1*3600+$2*60}'`
    
    n=`echo "scale=4;$q1/$t1"|bc`
    echo $n
    [root@localhost scripts]# vim mysql_tps.sh
    [root@localhost scripts]# cat mysql_tps.sh 
    #!/bin/bash
    c1=`mysql -s -e "show global status like 'Com_commit';"|awk '{print $NF}'`
    r1=`mysql -s -e "show global status like 'Com_rollback';"|awk '{print $NF}'`
    t1=`uptime |awk '{print $5}'|sed "s/,//g"|awk -F ":" '{print $1*3600+$2*60}'`
    
    n1=$(($c1+$r1))
    n=`echo "scale=4;$n1/$t1"|bc`
    
    echo $n
    [root@localhost scripts]# vim /etc/zabbix/zabbix_agentd.d/mysql.conf 
    [root@localhost scripts]# cat /etc/zabbix/zabbix_agentd.d/mysql.conf 
    UserParameter=mysql.byte[*],/bin/bash /etc/zabbix/scripts/mysql_byte.sh $1
    UserParameter=mysql.in.r,/bin/bash /etc/zabbix/scripts/mysql_in_r.sh  $1
    UserParameter=pv_uv[*],/bin/bash /etc/zabbix/scripts/pv_uv.sh $1
    UserParameter=qps,/bin/bash /etc/zabbix/scripts/mysql_qps.sh $1
    UserParameter=tps,/bin/bash /etc/zabbix/scripts/mysql_tps.sh $1
    
    //服务端安装zabbix-get
    [root@localhost ~]# yum -y install zabbix-get
    [root@localhost ~]# zabbix_get -s 192.168.176.139 -k mysql.byte[byte_sent]
    ZBX_NOTSUPPORTED: Unsupported item key. //出错
    //出错解决 客户端上操作
    [root@localhost scripts]# chmod -R 777 /etc/zabbix/scripts/
    [root@localhost scripts]# systemctl restart zabbix-agent
    //服务端
    [root@localhost ~]# zabbix_get -s 192.168.176.139 -k mysql.byte[byte_sent]
    40258
    

    zabbix网页监控数据

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • zabbix监控mysql连接数

    2020-04-21 15:34:07
    新增zabbix监控mysql触发器 先起名 点击添加进行输入表达式 最后点击添加
  • 文章目录实现zabbix监控mysql服务给zabbix-server添加自带的mysql监控项导入自己的mysql服务的监控模版server1(zabbix server) 实现zabbix监控mysql服务 给zabbix-server添加自带的mysql监控项 步骤如下: ...
  • zabbix 监控mysql数据库

    2020-10-10 13:21:07
    1.监控mysql,首先要先安装mysql [root@localhost ~]# yum -y install mariadb mariadb-server 2.编写mysql监控项的脚本 在zabbix-agent先授权个用户 不然测试时没有权限 [root@localhost ~]# mysql Welcome to the...
  • zabbix监控mysql死锁

    千次阅读 2019-03-06 10:42:47
    Percona MySQL Server Template算是比较常用的zabbix监控mysql的模板了,监控项也比较齐全,但是没有监控mysql死锁的监控项,如果有需求,就需要另外创建模板或者监控项来监控死锁,这里打算用监控日志的方法来监控...
  • 使用zabbix监控Mysql数据库

    万次阅读 2019-02-13 15:14:42
    一、本文测试环境 zabbix server:3.4、4.0 ... 监控模板: Template DB MySQLzabbix自带模板) 二、先决条件及基本工作原理 先决条件:mysql服务器已安装zabbix agent,可参看《zabbix agent安装手册》 基...
  • Zabbix监控MySQL状态

    2019-06-14 18:09:48
    Zabbix监控MySQL 概述 Zabbix版本4.0 MySQL版本8 使用Zabbix自带模板监控MySQL基本信息 使用Zabbix自定义模板监控主从状态 使用Zabbix模板监控MySQL状态 创建.my.cnf文件 在/etc/zabbix/目录下创建.my.cnf文件 #vim ...
  • zabbix监控MySQL

    2020-12-11 20:34:18
    1. 数据库服务器配置 1.1 安装并启动数据库 [root@localhost ~]# yum -y install mariadb mariadb-server [root@localhost ~]# systemctl start mariadb ...zabbix监控端配置 监控原理: zabbix-server
  • zabbix监控mysql四大性能指标

    万次阅读 2018-06-23 11:00:14
    一、zabbix监控mysql四大性能指标 查询吞吐量 查询执行性能 连接情况 缓冲池使用情况
  • Zabbix监控Mysql主从同步状态

    千次阅读 2018-11-09 16:12:33
    现在Zabbix和Mysql是企业里用的越来越多的两款开源软件了,这里的话简单的介绍一下怎么用Zabbix监控Mysql,Zabbix和Mysql的搭建网上很多教程,这里就不写了 环境介绍: 机器:阿里云主机 (阿里云上的服务器默认有些端口是...
  • 一、zabbix监控mysql 1、给Zabbix server主机添加zabbix自带的mysql监控模版 配置 —>主机 —> Zabbix servers —>模板 —>选择 —>Template DB MySQl —> 选择 —> 添加(顶上去) —> ...
  • Zabbix监控MySQL5.7配置

    2020-05-21 08:13:25
    添加mysql模板配置文件/usr/local/zabbix/etc/template_db_mysql.conf UserParameter=mysql.ping,HOME=/usr/local/zabbix mysqladmin -h"$1" -P"$2" ping UserParameter=mysql.get_status_variables[*],H.
  • zabbix3.2 监控mysql模板

    2018-06-11 18:50:56
    zabbix监控mysql pecona模板 zabbix 3.0版本可用 zabbix 3.0版本可用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,129
精华内容 8,451
关键字:

zabbix监控mysql

mysql 订阅