ubuntu开启sar记录日志
Posted 小刀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu开启sar记录日志相关的知识,希望对你有一定的参考价值。
背景
之前一直用CentOS系统,最近换到了ubuntu的,sar日志对分析系统状态和基本性能比较有帮助,发现在ubuntu上默认是不记录sar日志的
安装
apt-get install sysstat
开启服务
编辑/etc/default/sysstat文件,内容如下
#
# Default settings for /etc/init.d/sysstat, /etc/cron.d/sysstat
# and /etc/cron.daily/sysstat files
#
# Should sadc collect system activity informations? Valid values
# are "true" and "false". Please do not put other values, they
# will be overwritten by debconf!
ENABLED="true"
ENABLED的值修改成true
重启sysstat服务sudo systemctl restart sysstat.service
修改定时任务
sar记录日志是通过cron定时任务执行的
现在修改成每分钟记录一次
编辑/etc/cron.d/sysstat
# The first element of the path is a directory where the debian-sa1
# script is located
PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin
# Activity reports every 10 minutes everyday
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
将5-55/10 即5-55分之间,每10分钟记录一次改成*/1即每分钟记录一次
日志路径
和centos不一样的是
centos的路径在/var/log/sa
ubuntu的日志路径在/var/log/sysstat
慢查询日志
环境: ubuntu14.04 mysql5.7
当查询超过一定时间没有返回结果的时候,才会记录慢查询日志
慢查询日志可以找到执行效率缓慢的sql语句,为数据库优化做提供帮助
慢查询日志默认不开启也不必一直开启,需要进行采样分析时手动开启
相关参数
slow-querg-log=on/off -- 是否开启慢查询日志 slow_query_log_file=filename 指定慢查询日志保存路径及文件名,默认存放/usr/local/mysql/data/hostname-slow.log long_query_time=2 -- 指定2秒后未返回结果的的查询语句属于慢查询 long-queries-not-using-indexes -- 记录所有没有使用到索引的查询语句 min_examined_row_limit=1000 -- 记录那些由于查找了多余1000次而引发的慢查询 log-slow-admin-statements -- 记录那些慢的OPTIMIZE TABLE,ANAKYZE TABLE和ALTER TABLE语句 log-slow-slave-statements -- 记录由slave所产生的慢查询
一、启动
-参数中写入my.cnf文件中,需重启
-不重启修改慢查询配置
SET global.slow_query_log=1 开启慢查询日志 SET global.long_query_time=3 3秒后未返回结果的的查询语句属于慢查询 其他命令可以通过以下命令查阅 > show variables like ‘%slow%‘;
二、慢查询日志分析工具
1.mysqldumpslow
mysql自带分析工具,不宜看出,只做简单统计
2.mysqlsla
backmysql.com 出品的分析工具
·下载
官网下载或在系统提示符下下载
# wget http://backmysql.com/scripts/mysqlsla-2.03.tar.gz
·解压
# tar zxvf mysqlsla-2.03.tar.gz mysqlsla-2.03/ mysqlsla-2.03/Changes mysqlsla-2.03/INSTALL mysqlsla-2.03/README mysqlsla-2.03/Makefile.PL mysqlsla-2.03/bin/ mysqlsla-2.03/bin/mysqlsla mysqlsla-2.03/META.yml mysqlsla-2.03/lib/ mysqlsla-2.03/lib/mysqlsla.pm mysqlsla-2.03/MANIFEST # cd mysqlsla-2.03/ //进入安装目录//
·执行perl脚本检查包依赖关系
# perl Makefile.PL //配置//
·编译 安装
# make # make install
使用方法
# mysqlsla -lt slow nengjian-slow.log Report for slow logs: nengjian-slow.log 2 queries total, 1 unique Sorted by ‘t_sum‘ Grand Totals: Time 7 s, Lock 0 s, Rows sent 2, Rows Examined 0 ______________________________________________________________________ 001 Count : 2 (100.00%) Time : 7.001213 s total, 3.500606 s avg, 3.000447 s to 4.000766 s max (100.00%) Lock Time (s) : 0 total, 0 avg, 0 to 0 max (0.00%) Rows sent : 1 avg, 1 to 1 max (100.00%) Rows examined : 0 avg, 0 to 0 max (0.00%) Database : Users : [email protected] : 100.00% (2) of query, 100.00% (2) of all users Query abstract: SET timestamp=N; SELECT sleep(N); Query sample: SET timestamp=1464159700; select sleep(3);
3.percona-toolkit (未)
依赖包
percona-toolkit
perl-IO-Socket-SSL
perl-Net-libIDN
perl-Net-SSLesy
三、删除慢查询日志
慢查询日志会不断的增长。因此只在做采样分析这样的特别工作时才开启,其他时候则是关闭的,无用的慢查询日志要及时删除。
1.关闭慢查询日志
注释掉my.cnf 配置文件中关于慢查询日志的参数
2.删除日志文件
# rm -f /usr/local/mysql/data/hostname-slow.log
以上是关于ubuntu开启sar记录日志的主要内容,如果未能解决你的问题,请参考以下文章