首页 > 专栏

linux系统性能指标采样脚本

更新时间:2023-12-09 21:31:23 阅读: 评论:0

2023年12月9日发(作者:古代成语故事)

-

linux系统性能指标采样脚本

linux系统性能指标采样脚本

以下脚本写于redmine性能排查时,用于定位系统性能瓶颈的采样,源地址为~/performanceLog/中,计划放入github的代码片段库中.

注: 如果mysql的地址或者目录更换,此脚本中dstat 的mysql相关数据的采集需要重写其插件的mysql连接部分的代码。 注: 如果mysql的地址或者目录有更

换,又想使用以下脚本采集数据,需要重写其mysql连接部分的代码,才能让脚本中dstat 的mysql相关数据的采集正常获取。

#!/bin/bash

cd /home/pt/performanceLog/

#create dir for today

today=`date "+%Y%m%d"`

if [ ! -d $today ]; then

mkdir $today;

fi

cd $today

#declare var to remember current hour.

hour=`date "+%H"`

echo "current hour is: "$hour

postfix="_"

filenameOfDstat=$hour"_"$today"_dstat"$postfix".csv"

echo $filenameOfDstat

filenameOfIostat=$hour"_"$today"_iostat"$postfix

echo $filenameOfIostat

filenameOfPidstat=$hour"_"$today"_pidstat"$postfix

echo $filenameOfPidstat

filenameOfFree=$hour"_"$today"_free"$postfix

echo $filenameOfFree

filenameOfMemInfo=$hour"_"$today"_meminfo"$postfix

echo $filenameOfMemInfo

filenameOfUptime=$hour"_"$today"_Uptime"$postfix

echo $filenameOfUptime

filenameOfMpstat=$hour"_"$today"_mpstat"$postfix

echo $filenameOfMpstat

filenameOfIOtop=$hour"_"$today"_iotop"$postfix

echo $filenameOfIOtop

filenameOfSar=$hour"_"$today"_sar"$postfix

echo $filenameOfSar

#the process id which we are intrested in.: mysqld

pidMysqld=`ps -e| grep |awk 'NR==1 {print $1}'`

pidRuby=`ps -e| grep |awk 'NR==1 {print $1}'`

export DSTAT_MYSQL_USER='root'

export DSTAT_MYSQL_PWD='1111'

nohup dstat -t --mysql5-cmds --mysql5-io --mysql5-keys $@ -df --disk-util --disk --mem --proc --top-cpu --top-latency --top-bio --io --sys --filesystem --tcp --vm --output $filenameOfDstat 1 3600 &

nohup pidstat -p $pidMysqld -u -d -w -h 2 1800 > $filenameOfPidstat &

nohup mpstat -P ALL 2 1800 > $filenameOfMpstat &

nohup iotop -p $pidMysqld -n 1800 -d 2 > $filenameOfIOtop &

nohup iostat -dxk 2 1800 > $filenameOfIostat &

#nohup sar -o $filenameOfSar 2 1800 &

#nohup free > $filenameOfFree &

#nohup cat /proc/meminfo > $filenameOfMemInfo &

#nohup uptime > $filenameOfUptime &

# in every day at april ,run the shell script at 1 min past each hour.

#1 * * 4 * /root/shift_my_

#1 * * 4 * /home/pt/performanceLog/

crontab设置成每小时启动,并依照脚本中设定的频率采集数据:

1 0,4,10-23 * 4 * /home/pt/performanceLog/

* * * 4 * /usr/local/bin/mycheckpoint --ur=root --password=1111 --socket=/redmine/mysql/tmp/ --databa=mycheckpoint

产生此方案的关键系统指标展示:

pidstat:可以针对特定的进程,比如:mysql 或者其它进程

mpstat:用于查看高峰时段某些cpu的idle是否异常。dstat io:用于记录每次采集的时间点,并统筹全局的cpu mem io net mysql的指标信息

-

linux系统性能指标采样脚本

本文发布于:2023-12-09 21:31:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1702128683241137.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:linux系统性能指标采样脚本.doc

本文 PDF 下载地址:linux系统性能指标采样脚本.pdf

标签:脚本   采集   数据   系统   采样
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|