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

注: 如果mysql的地址或者目录更换,此脚本中dstat 的mysql相关数据的采集需要重写其插件的mysql连接部分的代码。 注: 如果mysql的地址或者目录有更换,又想使用以下脚本采集数据,需要重写其mysql连接部分的代码,才能让脚本中dstat 的mysql相关数据的采集正常获取。

#!/bin/bash
cd /home/pset/performanceLog/#create dir for today
today=`date "+%Y%m%d"`if [ ! -d $today ]; then
mkdir $today;
ficd $today#declare var to remember current hour.
hour=`date "+%H"`echo "current hour is: "$hourpostfix="_nohup.log"filenameOfDstat=$hour"_"$today"_dstat"$postfix".csv"
echo $filenameOfDstatfilenameOfIostat=$hour"_"$today"_iostat"$postfix
echo $filenameOfIostatfilenameOfPidstat=$hour"_"$today"_pidstat"$postfix
echo $filenameOfPidstatfilenameOfFree=$hour"_"$today"_free"$postfix
echo $filenameOfFreefilenameOfMemInfo=$hour"_"$today"_meminfo"$postfix
echo $filenameOfMemInfofilenameOfUptime=$hour"_"$today"_Uptime"$postfix
echo $filenameOfUptimefilenameOfMpstat=$hour"_"$today"_mpstat"$postfix
echo $filenameOfMpstatfilenameOfIOtop=$hour"_"$today"_iotop"$postfix
echo $filenameOfIOtopfilenameOfSar=$hour"_"$today"_sar"$postfix
echo $filenameOfSar#the process id which we are intrested in.: mysqld ruby.bin
pidMysqld=`ps -e| grep mysqld.bin|awk 'NR==1 {print $1}'`
pidRuby=`ps -e| grep ruby.bin|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_times.sh#1 * * 4 * /home/pset/performanceLog/collectLog.shcrontab设置成每小时启动,并依照脚本中设定的频率采集数据:
1 0,4,10-23 * 4 * /home/pset/performanceLog/collectLogs.sh
* * * 4 * /usr/local/bin/mycheckpoint --user=root --password=1111 --socket=/redmine/mysql/tmp/mysql.sock --database=mycheckpoint

产生此方案的关键系统指标展示:
pidstat:可以针对特定的进程,比如:mysql 或者其它进程
mpstat:用于查看高峰时段某些cpu的idle是否异常。
dstat io:用于记录每次采集的时间点,并统筹全局的cpu  mem  io  net  mysql的指标信息

相关页面: http://www.cnblogs.com/ToDoToTry/p/4462609.html

linux 系统性能指标采样脚本相关推荐

  1. 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt

    [9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...

  2. Linux系统通过Shell脚本实现一个全方面的系统性能分析系统

    Linux系统通过Shell脚本实现一个全方面的系统性能分析系统 文章目录 Linux系统通过Shell脚本实现一个全方面的系统性能分析系统 1.利用select循环实现系统工具箱 2.命令技巧 3. ...

  3. Linux系统端口检测脚本

    Linux系统端口检测脚本 执行脚本一键检测服务器上中间件端口是否存在 #!/bin/bash #端口连通性检测 #加入字典变量 PORT_LIST="3306 9200 9876 6379 ...

  4. Linux系统自动备份脚本,供参考的Linux系统中自动执行分段备份脚本

    供参考的Linux系统中自动执行分段备份脚本 发布时间:2014-04-21 15:49:00来源:红联作者:tioced 以下脚本仅做学习参考,需加到/etc/crontab文件,每天执行一次的脚本 ...

  5. Linux系统巡检shell脚本

    #!/bin/bash #主机信息每日巡检IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}') #环境变量PATH没 ...

  6. linux shell用户,Linux 系统 利用shell脚本获取所有用户

    # useradd –d /usr/sam -m sam 此命令创建了一个sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的主目录所在的父目录). # use ...

  7. linux系统中shell脚本最全详解二shell条件判断语法介绍函数分析

    目录 一.shell判断句 1.if条件判断语句 2.test判断 二.语法介绍 1.shell运算符 2.shell循环语句 三.shell函数 一.shell判断句 1.if条件判断语句 if语法 ...

  8. linux自动巡检截图,Linux系统巡检shell脚本

    #!/bin/bash #主机信息每日巡检 IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}') #环境变量PATH ...

  9. Linux系统监控shell脚本

    开源项目 https://github.com/atarallo/TECMINT_MONITOR #! /bin/bash # unset any variable which system may ...

最新文章

  1. Why Sleeping May Be More Important Than Studying
  2. 手机进水的正确处理方法?
  3. 实战 MDT 2012(六)---基于MAC地址的部署
  4. springboot + mysql + mybatis配置
  5. php session bug,thinkphp2.x中session的BUG及解决办法
  6. Vmware 连接局域网通过桥接方式
  7. linux nona怎么用_Linux nano编辑器命令常用方法
  8. 关于minigui的皮肤控件无法显示问题
  9. 2017-01-20_dp测试
  10. 计算机术语中bug指的是,BUG是什么意思?为什么用bug代指漏洞?
  11. 2022N1叉车司机题库及在线模拟考试
  12. “女人~,你在玩火”一个有磁性的声音说道——常用自动化测试工具
  13. openMP编程详解(囊括所有基本指令)
  14. 广东理工学院计算机组成原理,20年广东理工学院成人高考期末考试 计算机组成原理 复习资料(7页)-原创力文档...
  15. IPv6, DAD 工作原理详解
  16. 水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:1^3+5^3+3^3=153
  17. (附源码)计算机毕业设计SSM流浪动物管理系统
  18. C# 文件操作类大全(转摘)
  19. 中国市级食品药品监督管理局将使用区块链技术以保证质量
  20. ac远程web管理 r470gp tl_折腾家庭局域网,TP-LINK R470AC1200 晒单

热门文章

  1. 条件注解 @ConditionalOnBean 的正确使用姿势
  2. 我的机器学习入门清单及路线!
  3. Datawhale与Tianchi助力产学研融合-华北电力大学专场
  4. 大数据的相关技术(Technology)
  5. 刚刚:2021软科世界大学学术排名发布!哈佛第一!国内有157所高校上榜!
  6. 学好C++,一个项目就够
  7. 清华旷视:让VGG再次伟大!
  8. 欧拉、欧几里得、笛卡尔都没能解决的数学问题,他探索了新的方案
  9. 尤佳轩、何恺明等提出新型图表示法,新视角理解图结构如何影响预测性能
  10. GitHub 热榜:中国博士开发可交互全球疫情地图,登上柳叶刀!