如何查询sar(sysstat)超过一天的数据点

时间:2018-02-19 14:37:45

标签: linux monitoring network-monitoring sar iostat

  1. 我没有看到'sar'命令接受日期和时间作为starttime(-s)或endtime(-e)而不仅仅是时间。那么,如何通过传递较旧的日期时间值来查询'sar'超过一天的数据点(-f这里不会有帮助)。 'sar'命令的输出也应该具有数据点的日期值 - 而不仅仅是小时和分钟的时间。
  2. 我看到sysstat每天分割saXX数据文件。是否可以修改默认的sysstat cron条目,以便每周在单个sa文件中收集sysstat(sa1 / sa2)数据?
  3. sysstat config:

    allSet("jump")
    
     * -> ["", "j", "ju", "jm", "jp", "jmu", "jmp", "jpu", "jmpu", "u", "m", "p", "mu", "mp", "pu", "mpu"]
     */
    

    sysstat cron条目:

    var allSet = function(str) {
      let result = [];
      let strCopy = str.split('');
      strCopy = strCopy.slice();
    
      for (var i = 0; i < str.length; i++) {
        result.push(str[i]);
      }
    
      result = result.concat(allSet(strCopy));
    
      return result;
    };
    
    allSet("jump");

1 个答案:

答案 0 :(得分:0)

你不能直接用 sar 工具来做。 有多种工具可以加载 sar 数据并显示跨日期的数据。

例如ksar 一个 Java 工具 https://en.wikipedia.org/wiki/Ksar_(Unix_sar_grapher)

  1. 将 sar 二进制数据转换为文本形式
   for day in $(seq 27 31) $(seq -f %02g 1 4); do
       LC_ALL=C sar -A -f /var/log/sa/sa$day > /tmp/sa$day.ALL.$(hostname);
   done;
   tar -zcvf /tmp/sar_for_$(hostname).tgz /tmp/sa*.$(hostname)
  1. scp/rsync 使用 ksar 将 .tgz 复制回主机并提取

  2. 加载每个 sar 文件

* Data > Load file
    e.g. load sa29.ALL.host1 
* Repeat:
  Data > Append from file 
    e.g. load sa30.ALL.host1 sa31.ALL.host1 sa01.ALL.host1 ...

如果按正确的日期顺序追加会更快。

是的,这很烦人,也有点痛苦。 我已经尝试将文件附加到一个文件中,到目前为止,这是最好的方法。 很晚才回答但好问题,应该在互联网上的某个地方有答案!

several days of data, up to a month loaded into ksar