如何在 Centos 上使用 Sysstat 监控系统如何在 Centos 上使用 Sysstat 监控系统如何在 Centos 上使用 Sysstat 监控系统如何在 Centos 上使用 Sysstat 监控系统
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Centos 上使用 Sysstat 监控系统

在此页

  1. 在 CentOS 上安装 Sysstat
  2. 使用 Sysstat 系统监视器

系统管理员的一项常见任务是监视和维护服务器。这在瞬间通知时很容易做到,但是如何随着时间的推移记录这些信息呢?监控服务器的一种方法是使用 Sysstat 包。

Sysstat 实际上是一组实用程序,旨在收集有关 Linux 安装性能的信息并随时间记录它们。

它也很容易安装,因为它作为一个包包含在许多发行版中。

在 CentOS 上安装 Sysstat

要在 Centos 6 或 CentOS 7 上安装 Sysstat,只需键入以下命令:

yum install sysstat

使用 Sysstat 系统监视器

我们现在已经在系统上安装了 sysstat 脚本。让我们试试 sar 命令。

sar
11:00:02 AM       CPU     %user     %nice   %system   %iowait     %idle
11:10:01 AM       all      0.00      0.00      0.00      0.00     99.99
Average:          all      0.00      0.00      0.00      0.00     99.99

报告了一些信息,例如 Linux 内核、主机名和日期。
更重要的是,显示了 CPU 时间在系统上花费的各种方式。

%user, %nice, %system 、%iowait 和 %idle 描述了 CPU 的使用方式。
%user 和 %nice 指的是您的软件程序,例如 MySQL 或 Apache。
%system 指的是内核的内部工作.
%iowait 是等待输入/输出所花费的时间,例如磁盘读取或写入。最后,由于内核占用了它可以调度的可运行时间的 100%,因此任何未使用的时间都会进入 %idle。

以上信息每隔 1 秒显示一次。我们如何随着时间的推移跟踪这些信息?
如果我们的系统在 %iowait 中一直运行很重,我们可能会推测磁盘过载或变坏。
至少,我们知道要进行调查.

那么我们如何随着时间的推移跟踪信息呢?我们可以安排 sar 定期运行,比如每 10 分钟一次。
然后我们指示它将输出发送到 sysstat 的特殊日志文件以供以后报告。
执行此操作的方法是使用Cron 守护进程。

通过在 /etc/cron.d 中创建一个名为 sysstat 的文件,我们可以告诉 cron 每天运行 sar。
幸运的是,yum 安装的 Systat 包已经为我们完成了这一步。

more /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

sa1 脚本将 sar 输出记录到 sysstat 的二进制日志文件格式中,sa2 以人类可读的格式将其报告回来。
报告被写入 /var/log/sa 中的文件。

ls /var/log/sa
sa17  sar17

sa17 是二进制 sysstat 日志,sar17 是报告。 (今天是17号)

sar 报告中包含相当多的信息,但有几个值可以告诉我们服务器的繁忙程度。
要注意的值是交换使用情况、磁盘 IO 等待和运行队列。
这些可以通过手动运行 sar 获得,这将报告这些值。

sar
11:00:02 AM       CPU     %user     %nice   %system   %iowait     %idle
11:10:01 AM       all      0.00      0.00      0.00      0.00     99.99
11:20:01 AM       all      0.00      0.00      0.00      0.00    100.00
11:30:02 AM       all      0.01      0.26      0.19      1.85     97.68
11:39:20 AM       all      0.00      2.41      2.77      0.53     94.28
11:40:01 AM       all      1.42      0.00      0.18      3.24     95.15
Average:          all      0.03      0.62      0.69      0.64     98.02

有一段时间 %iowait 列中的磁盘活动很高,但这种情况并没有持续太久。平均 0.64 已经很不错了。

我的交换空间使用情况如何,我的内存用完了吗?被换出对于 Linux 内核来说是正常的,它会时不时地换出。不断交换是不好的,通常意味着你需要更多的内存。

sar -W
11:00:02 AM  pswpin/s pswpout/s
11:10:01 AM      0.00      0.00
11:20:01 AM      0.00      0.00
11:30:02 AM      0.00      0.00
11:39:20 AM      0.00      0.00
11:40:01 AM      0.00      0.00
11:50:01 AM      0.00      0.00
Average:         0.00      0.00

不,我们看起来不错。没有发生持久交换。

系统负载如何?我的进程是否等待太长时间无法在 CPU 上运行?

sar -q
11:00:02 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
11:10:01 AM         0        47      0.00      0.00      0.00
11:20:01 AM         0        47      0.00      0.00      0.00
11:30:02 AM         0        47      0.28      0.21      0.08
11:39:20 AM         0        45      0.01      0.24      0.17
11:40:01 AM         0        46      0.07      0.22      0.17
11:50:01 AM         0        46      0.00      0.02      0.07
Average:            0        46      0.06      0.12      0.08

不,0.06 的平均负载确实不错。请注意,右侧有 1、5 和 15 分钟的间隔。通过三个时间间隔,您可以了解系统承载的负载量。 1 分钟平均值为 3 或 4 是可以的,但 15 分钟列中的相同数字可能表明工作没有清理干净,需要仔细观察。

这是对 Sysstat 包的简要介绍。

我们只查看了 sar 的三个属性的输出,但还有其他属性。现在,在您的工具箱中配备了 sar,您的系统管理工作就变得简单了一些。

©2015-2025 艾丽卡 support@alaica.com