一、Ksar:

1)下载ksar地址:https://github.com/vlsi/ksar/releases/tag/v5.2.4-snapshot.10-gf068072

2)启动:java -jar ksar-5.2.4-b396_gf0680721-SNAPSHOT-all.jar

注意,如果是手动将sa文件转储到sar文件中,执行sar命令时要加LANG=C,即:

# LANG=C /usr/bin/sar -A -f /tmp/jaylin_sa> /tmp/jaylin_sar

不加LANG=C,sar文件显示的时间为12小时制;加LANG=C之后,sar文件显示的时间为24小时制。Ksar工具只能识别24小时制的sar文件,所以切记执行转储时要加此环境变量。

3)默认,读取远程机器上的sar数据配置:(远程机器已经安装sar命令--安装方法如下二)

加载完如下:可以看各种数据

二、sar:

sar 是属于sysstat包中的一个工具

安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为:

# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1
# generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A

这里用到了两个命令/usr/lib/sa/sa1 /usr/lib/sa/sa2

sa1:是调用sadc(二进制文件),将数据收集到二进制日志文件的一个Shell脚本。sa1命令还确保每天使用不同的文件。每隔十分钟运行一次该命令,最好不要改这个值,这是对一般系统折中的值。二进制日志文件存放在/var/log/sa/目录下,命名为sa${DATE}。

sa2:是将当日二进制日志文件中所有的数据转储到文本文件(sar)的另一个Shell脚本,然后它将清除七天之前的所有日志文件。参数-A指定了从二进制文件中提取哪些数据转储到文本文件中。转储的文件存放在/var/log/sa/目录下,命名为sar${DATE}。

这两个命令要配合着使用。

查看一下/usr/lib/sa/sa1脚本,里面执行这样一句命令:

/usr/lib/sa/sadc -F -L 1 1 -

-F:强制指定一个储存文件,如果文件已存在,就将其转换成sa的二进制文件形式。
-L:给sa文件加互斥锁,不能让两个sadc进程同时写一个sa文件。

跟据sa1脚本中的命令,我们也可以手动的创建sa二进制文件,使用/usr/lib/sa/sadc命令,

# /usr/lib/sa/sadc 1 10 /tmp/jaylin_sa

上述命令的作用是:每隔1s写一条记录,写10条,存放到二进制文件/tmp/jaylin_sa中。

查看一下/usr/lib/sa/sa2脚本,里面执行这样一句命令:

/usr/bin/sar -A -f /var/log/sa/sa${DATE} > /var/log/sa/sar${DATE}

-A:列出所有存储在/var/log/sa/sa${DATE}里的统计信息。
-f:指定将要转储的sa文件,默认的参数值为/var/log/sa/sa${DATE}。

根据sa2脚本中的命令,我们也可以手动将sa文件(二进制)转储到sar文件(ASCII文本)中,使用/usr/bin/sar命令,

# /usr/bin/sar -A -f /tmp/jaylin_sa> /tmp/jaylin_sar

我们可以通过cat等命令查看sar文件的内容。但是我们也可以通过sar命令读取sa的二进制文件。

# sar
03:00:01 PM CPU %user %nice %system %iowait %steal %idle
03:10:01 PM all 1.02 0.00 2.33 0.39 0.00 96.25
03:20:01 PM all 1.85 0.00 3.29 0.32 0.00 94.54
03:30:02 PM all 1.63 0.06 3.81 2.05 0.00 92.45
03:40:02 PM all 9.31 0.00 8.10 3.39 0.00 79.20
03:50:01 PM all 8.64 0.00 7.73 2.27 0.00 81.36
04:00:01 PM all 0.84 0.00 2.12 1.81 0.00 95.23
Average: all 3.88 0.01 4.56 1.71 0.00 89.84

其中:

%user:CPU花费在用户进程(如应用程序、Shell脚本或该用户进行的交互)上的时间的百分比。
%nice:CPU用来执行有用户级别优先级别的任务的时间的百分比。
%system:CPU用来执行核心任务的时间的百分比。
%iowait:CPU等待块设备输入或输出的时间的百分比。
%steal:CPU等待管理程序(hypervisor)处理其他任务的时间的百分比。
%idle:CPU未进行任何有用操作的时间的百分比。

最后一行是所有数据的平均值。然而,因为大多数系统都会在忙时间段后经历空闲时间段,所以平均值并不能反映完整的情况。

其他度量参数:

-b:显示了缓冲区信息和使用缓冲区与必须写磁盘的比率。
-c:显示了系统调用分解为一些常用的调用,如fork()、exec()、read()和write()。高进程 创建会导致较差的性能,并且这是可能需要将一些应用程序转移到其他计算机的信号。
-p 和 -w:显示了分页(交换)活动。高分页操作是内存缺乏的信号。特别地,-w 选项 显示了进程切换的次数:高的数值表示计算机上运行的内容过多,该计算机在切换任务 上花费了比实际工作更多的时间。
-q:显示了运行队列的大小,它与当时的平均负载相同。
-r:显示了一段时间的可用内存和交换空间。

它们显示每一列的含义请查看sar的man page。

我们也可以查看指定的某一时间段内的记录

-f:指定要读取的sa文件。
-s:开始的时间。注意,-s不是包含性的,所以必须从所选择的开始时间减去十分钟。
-e:结束的时间。

例如:

# # sar -f /var/log/sa/sa12 -s 14:50:00 -e 15:30:00
03:00:01 PM CPU %user %nice %system %iowait %steal %idle
03:10:01 PM all 1.02 0.00 2.33 0.39 0.00 96.25
03:20:01 PM all 1.85 0.00 3.29 0.32 0.00 94.54
Average: all 1.44 0.00 2.81 0.36 0.00 95.40

上述命令查看本月12日,15:00—15:30之间的记录。

sar与ksar使用显示监控数据的更多相关文章

  1. 基于Grafana的监控数据钻取功能应用实践

    互联网企业中,随着机器规模以及业务量的爆发式增长,监控数据逐渐成为一种大数据,对监控大数据的分析,包括数据采集.数据缓存.数据聚合分析.数据存储.数据展现等几个阶段.不同阶段有不同的解决方案及支撑工具 ...

  2. 使用python获取整月每一天的系统监控数据生成报表

    1.安装阿里开源监控工具tsar tsar官方网站 wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-c ...

  3. SpringCloud学习笔记(5):Hystrix Dashboard可视化监控数据

    简介 上篇文章中讲了使用Hystrix实现容错,除此之外,Hystrix还提供了近乎实时的监控.本文将介绍如何进行服务监控以及使用Hystrix Dashboard来让监控数据图形化. 项目介绍 sc ...

  4. Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)

    TIPS 本文基于Spring Boot 2.1.4,理论支持Spring Boot 2.x所有版本 众所周知,Spring Boot有个子项目Spring Boot Actuator,它为应用提供了 ...

  5. 分布式监控数据采集系统Ganglia实战

    一.什么是Ganglia 对于这个工具,大家可能比较陌生,但是它功能非常强大,如果我们想收集所有服务器.网络设备的数据,那么ganglia绝对是首选,在深入学习之前,还是先从基础概念了解起吧! Gan ...

  6. UAVStack JVM监控分析工具:图形化展示采集及分析监控数据

    摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 ...

  7. SpringCloud之监控数据聚合Turbine

    前言 SpringCloud 是微服务中的翘楚,最佳的落地方案. 使用 SpringCloud 的 Hystrix Dashboard 组件可以监控单个应用服务的调用情况,但如果是集群环境,可能就 不 ...

  8. sentinel控制台监控数据持久化【InfluxDB】

    根据官方wiki文档,sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alibaba/Sentinel/ ...

  9. sentinel控制台监控数据持久化【MySQL】

    根据官方wiki文档,sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alibaba/Sentinel/ ...

  10. 手把手教你轻松使用数据可视化BI软件创建某疾病监控数据大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以某疾病监控数据大屏为例为 ...

随机推荐

  1. twenty four

    vue基础代码 <script src="vue路径"></script> <script> const vm = new Vue({ //el ...

  2. Python学习:画K帮

    import datetime import pandas_datareader.data as web df_stockload = web.DataReader("600797.SS&q ...

  3. J V M大概理解

    jvm的大致流程:他把一个Class文件 通过类加载机制 装载到jvm里面,然后放到不同的运行时数据区(Runtime Data Areas),通过编译器来编译. 第一部分,我们可以关注class文件 ...

  4. 吴恩达老师机器学习课程chapter11——大规模机器学习

    吴恩达老师机器学习课程chapter11--大规模机器学习 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十七章. 这是这次整理 ...

  5. Cloud9 3.0 SDK安装

    Cloud9 IDE是一个基于Node.JS构建的JavaScript程序开发Web IDE.它拥有一个非常快的文本编辑器支持为JS, HTML, CSS和这几种的混合代码进行着色显示.Cloud9 ...

  6. C语言-Windows定时关机小程序

    整理文件发现以前写的定时关机小程序(Windows下) 1-效果 2-程序 #include <stdio.h> #include <stdlib.h> #include &l ...

  7. P7074 [CSP-J2020] 方格取数

    目录 题目 思路 code 题目 题目链接https://www.luogu.com.cn/problem/P7074 思路 用dp[i][j][0]表示在(i,j)从左边来的最大值 用dp[i][j ...

  8. Linux中的虚拟文件系统

    VFS的概念 LINUX下的文件系统可分为三大块: ①一是上层的文件系统的调用 ②二是虚拟文件系统交换器 ③三是挂载到VFS中各实际文件系统,例如ext2,jffs. VFS确切的叫法是"V ...

  9. 如何利用python的xlrd模块读取日期格式的Excel

    经常使用python操作Excel,就会遇到各种坑,比如,有时候你读取到的某一单元格的数据,你预想的结果本来应该是这样的,但是它却是这样的,真是很蛋疼.于是你会找各种解决办法,去解决这个问题!所以鄙人 ...

  10. 解决“chrome正受到自动测试软件的控制”信息栏显示问题

    在使用Selenium WebDriver启动谷歌浏览器Chrome时,在新启动的浏览器地址栏下方经常会显示一行提示信息:"chrome正受到自动测试软件的控制",英文的就是&qu ...