以下脚本写于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;
fi cd $today #declare var to remember current hour.
hour=`date "+%H"` echo "current hour is: "$hour postfix="_nohup.log" 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 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='' 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 &
nohup pidstat -p $pidMysqld -u -d -w -h > $filenameOfPidstat &
nohup mpstat -P ALL > $filenameOfMpstat &
nohup iotop -p $pidMysqld -n -d > $filenameOfIOtop &
nohup iostat -dxk > $filenameOfIostat &
#nohup sar -o $filenameOfSar & #nohup free > $filenameOfFree &
#nohup cat /proc/meminfo > $filenameOfMemInfo &
#nohup uptime > $filenameOfUptime & # in every day at april ,run the shell script at min past each hour.
# * * * /root/shift_my_times.sh # * * * /home/pset/performanceLog/collectLog.sh crontab设置成每小时启动,并依照脚本中设定的频率采集数据:
,,- * * /home/pset/performanceLog/collectLogs.sh
* * * * /usr/local/bin/mycheckpoint --user=root --password= --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系统开机自启动脚本。

    其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...

  2. shell脚本监控Linux系统性能指标

    2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出 ...

  3. linux系统带宽监测脚本

    服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需 ...

  4. linux系统初始化——启动脚本是如何工作的

    启动脚本是如何工作的 Linux 使用的是基于 运行级(run-levels) 概念的称为 SysVinit 的专用启动工具.它在不同的系统上可能是完全不一样的,所以不能认为一个脚本在某个 Linux ...

  5. 关于linux系统安全配置脚本

    本脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到Linux服务器上,执行sh ...

  6. linux系统执行mysql脚本:Can't connect to local MySQL server through socket '/tmp/mysql.sock'

    问题原因:系统找不到临时文件夹下的.sock文件了 解决办法:看一下是不是其他目录下有mysl的.sock文件,使用命令指定到该文件 mysql --socket=/home/mysql/mysql- ...

  7. linux 系统性能指标

    一.查看CPU使用情况 cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait. 平均负载(loadaverage)是指某段时 ...

  8. 监控linux系统的简易脚本

    我先把脚本粘贴在这吧,方便大家观看,其中也是借鉴了不少其他大神的东西,这个脚本主要是用来监控服务器.用户.日志,还得创建备份,等等等等.最近学的shell比较多,就用这个来练练手了,比较简单,大家凑合 ...

  9. Linux 系统监控shell脚本

    比较粗略的一个脚本:主要监控系统磁盘.CPU.内存.网络流量.tcp连接数等 代码如下: [root@test system_monitor_shell_script]# cat system_mon ...

随机推荐

  1. 公网IP映射修改后,原先的图片访问却不行了

    描述:www与img在一个公网的nginx下时,www访问img没问题   ip:*.*.*.26 www与jimg同样还在同一组nginx,改另一个公网IP映射进来的时候,却访问不了  ip:*.* ...

  2. Python 中 sqlite3的使用

    Python 中 sqlite3的使用 一.sqlite安装 下载地址 http://www.sqlite.org 1.数据库生成 sqlite3.exe testdb 2.创建表格,插入数据 3.在 ...

  3. 我的Win32开发抉择,Delphi老将复出

    这两天在开发公司的一个教学软件客户端,因为要考虑到给PHP.平面设计等班的同学使用,为了避免安装.Net Framework.JRE的麻烦(如果把.Net Framework.JRE打包到安装包,也会 ...

  4. MongoDB安装及shell简介

    MongoDB安装 MongoDB具有跨平台的优良特性,提供了对主流的操作系统支持,我们可以根据自己使用的操作系统,选择下载对应的安装包. 图 1. MongoDB支持各个版本的操作系统 MongoD ...

  5. Dynamic CRM 2013学习笔记(三十)Linq使用报错 A proxy type with the name account has been defined by another assembly

    在CRM中使用linq时,有时会报这个错误: A proxy type with the name account has been defined by another assembly. Curr ...

  6. 剑指offer 面试题6:重建二叉树

    重建二叉树 题目 输入某二叉树的前序遍历和中序遍历,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含有重复的数字. 例如,前序遍历序列:{1,2,3,7,3,5,6,8},中序遍历序列:{ ...

  7. nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.

    1缺少jar包 2spring配置文件里http://www.springframework.org/schema/beans/spring-beans-3.2.xsd的版本与实际jar包不一致

  8. 虚拟机VirtualBox中centos6.5网络设置

    一.虚拟机网络配置 默认只是设置了网卡1:方式NAT(对应ifcfg-eth0) 我们还可以设置网卡2,网卡3.可以在系统安装完成后设置. 网卡2设置回环网卡,实现虚拟机与宿主机组成局域网(对应ifc ...

  9. 大姨吗向左,美柚向右,女性健康APP路在何方?

    日前,中国IT研究中心发布了<2016Q3中国女性健康管理APP市场研究报告>,报告显示大姨吗与美柚占据了整个行业的绝对优势,大姨吗的行业用户覆盖率最高,美柚则在月活用户数方面领先. 不过 ...

  10. 看大众点评V9新版如何为O2O止血 带领行业下半场回归理性

    前不久,美团点评CEO王兴提出的“中国互联网进入下半场”观点一直在持续发酵,并引发了整个互联网圈对于进入下半场该如何改革,如何迎战的深刻反思.在互联网的上半场,大家依托的是人口红利,但是到了下半场,用 ...