Chinaunix首页 | 论坛 | 博客
  • 博客访问: 560345
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1749
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 16:13
个人简介

中国科学院大学计算机硕士,曾在新浪爱彩数据库组带DBA团队,现居新加坡。wx: lihui_dba

文章分类

全部博文(36)

文章存档

2020年(2)

2019年(3)

2017年(7)

2016年(1)

2015年(7)

2014年(11)

2013年(5)

分类: Mysql/postgreSQL

2013-08-20 17:49:35

近期要完善mysql监控,故整理出此文档以备查阅。
以下监控内容均为mysql部分,linux操作系统部分未整理

如下为需要部署至zabbix的监控项:

需发短信报警的项:
1.复制状态

需发邮件报警的项:
1.error日志
2.死锁

不需报警,仅绘图的项:
1.mysql连接数(Threads_connected
2.
复制延迟
3.QPS/TPS
注:以上3项需绘制screen,即多张图在一个屏幕上同时显示

如下为脚本部署的项:

1.慢sql日志  一周抽取一次 发邮件
   #!/bin/sh
 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin  #有的机器在crontab中执行mysqlsla时不出结果,加上PATH就好了,或者使用绝对路径
  export PATH
  CURRENT_DATE=`/bin/date +%y%m%d`
  WEEK_AGO=`/bin/date -d "1 week ago" +%y%m%d`
  for PORT in 3306
do
  sed -n '/^# Time: '"$WEEK_AGO"'/,/^# Time: '"$CURRENT_DATE"'/'p /mysqldata/$PORT/slow_statement.log > /tmp/slow_tmp_$PORT.txt
  mysqlsla /tmp/slow_tmp_$PORT.txt > /bak/slow_log/slow_log_113_$PORT.txt
done
  /usr/bin/rsync -az /dbdata/bak/slow_log/ 10.0.0.x::mysqlslowlog

 #!/bin/sh
  zip -jq /tmp/mysql_slow_log.zip /bak/mysql_db_bak/slow_log/*.txt
  mutt dba@xxx.com -s "mysql周例行慢sql日志分析" -a /tmp/mysql_slow_log.zip < /usr/local/bin/backup_script/mysql_slow_log_send.txt
  rm -f /tmp/mysql_slow_log.zip

2.数据库备份检查 一天抽取一次 发邮件
   备份监控的几项要求:
  1).显示备份大小,防止没备份到
  2).比较前一天的备份,是增长了还是减少了
  3).确认是不是当日备份
  4).当天共备份多少个数据库
#!/bin/sh
CURRENT_DATE=`/bin/date +%Y%m%d`
LAST_DATE=`date -d last-day +%Y%m%d`

ls -lh /dbserver_mysql_auto_bk |grep -E "$CURRENT_DATE|$LAST_DATE"  | awk '{print $5,$9}' | xargs -n4 |awk '{print $1"-->"$3"      "$4'} > /usr/local/bin/backup_script/mysql_daily_backup_check.txt
COUNT=`cat /usr/local/bin/backup_script/mysql_daily_backup_check.txt | wc -l`
echo 共备份$COUNT个数据库 >> /usr/local/bin/backup_script/mysql_daily_backup_check.txt
mutt dba@xx.com -s "mysql例行备份检查" < /usr/local/bin/backup_script/mysql_daily_backup_check.txt


如下为待定项,后续酌情添加:

1.innodb buffer命中率
2.Query Cache
3.Table Cache 状态量
4.Thread Cache
5.锁定状态
6.Tmp table
7.Binlog Cache
8.Innodb_log_waits 量
9.Threads_running
10.IOPS  
11.opened tables

如下是需要定期检查的项:

1.innodb共享表空间(如果有)
2.master和slave的复制点是否一致(曾经出现过slave监测无延迟,但已落后master一大截的情况,原因为网络带宽不足)
阅读(3982) | 评论(1) | 转发(2) |
1

上一篇:没有了

下一篇:[数据库]《高可用mysql》读书笔记

给主人留下些什么吧!~~

7大爷2013-08-21 09:43:14

不错~