暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql 指标监控脚本

数据库这点小事 2019-11-21
1237

mysqladmin extended-status获取mysql的监控指标情况:

万能的网友们整理出来的参数介绍(部分)

    Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
    Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
    Connections 试图连接MySQL服务器的次数。
    Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
    Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
    Delayed_writes 用INSERT DELAYED写入的行数。
    Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
    Flush_commands 执行FLUSH命令的次数。
    Handler_delete 请求从一张表中删除行的次数。
    Handler_read_first 请求读入表中第一行的次数。
    Handler_read_key 请求数字基于键读行。
    Handler_read_next 请求读入基于一个键的一行的次数。
    Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
    Handler_update 请求更新表中一行的次数。
    Handler_write 请求向表中插入一行的次数。
    Key_blocks_used 用于关键字缓存的块的数量。
    Key_read_requests 请求从缓存读入一个键值的次数。
    Key_reads 从磁盘物理读入一个键值的次数。
    Key_write_requests 请求将一个关键字块写入缓存次数。
    Key_writes 将一个键值块物理写入磁盘的次数。
    Max_used_connections 同时使用的连接的最大数目。
    Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
    Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
    Open_tables 打开表的数量。
    Open_files 打开文件的数量。
    Open_streams 打开流的数量(主要用于日志记载)
    Opened_tables 已经打开的表的数量。
    Questions 发往服务器的查询的数量。
    Slow_queries 要花超过long_query_time时间的查询数量。
    Threads_connected 当前打开的连接的数量。
    Threads_running 不在睡眠的线程数量。
    Uptime 服务器工作了多少秒。
    Com_select/s:平均每秒select语句执行次数
    Com_insert/s:平均每秒insert语句执行次数
    Com_update/s:平均每秒update语句执行次数
    Com_delete/s:平均每秒delete语句执行次数
    innodb_rows_deleted: 平均每秒从innodb表删除的行数
    innodb_rows_inserted: 平均每秒从innodb表插入的行数
    innodb_rows_read: 平均每秒从innodb表读取的行数
    innodb_rows_updated: 平均每秒从innodb表更新的行数

    监控脚本:

      mysqladmin -P3306 -uroot -p -r -i 1 extended-status |\
      awk -F"|" \
      "BEGIN{ count=0; }"\
      '{ if($2 ~ Variable_name/ && ((++count)%20 == 1)){\
      print "----------|---------|--- MySQL Command Status --|----- Innodb Row Operation ----|-- Buffer Pool Read --";\
      print "---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical";\
      }\
      else if ($2 ~ Queries/){queries=$3;}\
      else if ($2 ~ /Com_select /){com_select=$3;}\
      else if ($2 ~ /Com_insert /){com_insert=$3;}\
      else if ($2 ~ /Com_update /){com_update=$3;}\
      else if ($2 ~ /Com_delete /){com_delete=$3;}\
      else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\
      else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\
      else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\
      else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\
      else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\
      else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}\
      else if ($2 ~ /Uptime / && count >= 2){\
      printf(" %s |%9d",strftime("%H:%M:%S"),queries);\
      printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);\
      printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\
      printf("|%10d %11d\n",innodb_lor,innodb_phr);\
      }}'


      脚本参考:https://www.cnblogs.com/ajiangg/p/6565748.html


      文章转载自数据库这点小事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论