在Linux上安装配置sar和ksar用于日常监控并生成PDF报告在Linux上安装配置sar和ksar用于日常监控并生成PDF报告在Linux上安装配置sar和ksar用于日常监控并生成PDF报告在Linux上安装配置sar和ksar用于日常监控并生成PDF报告
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

在Linux上安装配置sar和ksar用于日常监控并生成PDF报告

在此页

  1. 第 1 部分:安装 SAR 监控软件
  2. 第 2 部分:安装 KSAR
  3. 第 3 部分:监控脚本

本教程重点介绍功能强大的实用程序 sar 和 ksar 在 CentOS、Debian 和 Ubuntu 上的安装和配置,并展示了如何使用简单的 shell 脚本自动创建 PDF 报告,以便于日常监控服务器资源使用情况。

第 1 部分:安装 SAR 监测软件

SAR 表示系统活动报告。 SAR 是轻量级的实时系统监控工具。它可以根据我们的要求向服务器提供资源使用情况报告。默认情况下,它在终端上提供输出,并且它还按天存储信息,因此对于系统管理员来说,它将是一个非常方便和强大的实用程序。

SAR 可以安装在任何 Linux 版本中,它是 sysstat 包的一部分。

安装和配置 SAR

对于 Debian/Ubuntu

# sudo apt-get install sysstat

对于 RedHat/CentOS

# sudo yum install sysstat

从源安装最新的 sysstat。

wget http://pagesperso-orange.fr/sebastien.godard/sysstat-12.1.4.tar.bz2
tar -xvf sysstat-12.1.4.tar.bz2
cd sysstat-12.1.4/
./configure --enable-install-cron
make
make install

如果您从源代码安装 sar,那么它将在 /usr/local/bin/ 下安装 systat

安装后验证 SAR 版本

#:~$ sar -V
 sysstat version 11.2.0

之后确保验证 SAR 数据收集已启用。

在Ubuntu中

#sudo vi /etc/default/sysstat 
ENABLED="true"

然后重新启动 sar 服务并在系统启动时启用它。

# systemctl start sysstat
# systemctl enable sysstat

现在通过运行以下命令检查 sar 在系统中是否正常工作。这里有 2 秒的时间间隔和 4 次输出。

[ ~]$ sar 2 4 
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/22/2019     _x86_64_    (4 CPU)

12:18:13 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:18:15 AM     all      1.25      0.00      0.50      0.00      0.00     98.24
12:18:17 AM     all      2.50      0.00      0.38      0.00      0.00     97.12
12:18:19 AM     all      2.12      0.00      0.62      0.12      0.00     97.12
12:18:21 AM     all      1.75      0.00      0.50      0.00      0.00     97.75
 Average:       all      1.91      0.00      0.50      0.03      0.00     97.56

我们可以简单地运行 sar 命令来检查资源使用情况。

[ script]# sar
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/24/2019     _x86_64_    (4 CPU)

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      4.02      0.05      1.45      1.40      0.00     93.09
12:20:01 AM     all      6.27      0.02      1.82      0.56      0.00     91.33
12:30:01 AM     all     10.61      0.03      2.69      0.64      0.00     86.03
12:40:01 AM     all      9.26      0.05      2.45      0.59      0.00     87.65

默认情况下,sar 间隔设置为每 10 分钟一次。我们可以通过编辑以下文件来修改这个值。

vi /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

在上面的文件中,sa1 是用于在系统活动日数据文件中收集和存储二进制数据的 shell 脚本,sa2 是在一天结束时(上面的 23:53)将每日报告写入 /var/log/sa 的 shell 脚本定时作业)。

第 2 部分:安装 KSAR

KSAR 从 SAR 值生成一个图表,非常容易分析。 KSAR 基于 JAVA,因此我们必须在系统上安装 JDK 8 或更高版本。 KSAR 不是系统存储库的一部分,我们必须手动下载 KSAR。

一、在redhat/centos上安装java

sudo yum install java-1.8.0-OpenJDK.x86_64

现在在系统上下载并安装 KSar。

wget https://excellmedia.dl.sourceforge.net/project/ksar/ksar/5.0.6/kSar-5.0.6.zip
unzip kSar-5.0.6.zip
cd kSar-5.0.6/

现在使用以下命令收集 sar 命令统计信息。

LC_ALL=C sar -A -f /var/log/sa/sa21 > ~/Desktop/sar21
sudo chmod u+x run.sh
sh run.sh &

我们应该以普通用户身份执行 run.sh 脚本,不要以 root 用户身份运行 KSAR 脚本。

现在 KSAR 将显示简单的用户友好 GUI。

现在点击数据 -> 从文本文件加载 -> 选择 ~/Desktop/sar21 文件。

现在我们的 sar 文件加载到 KSAR 中。

现在我们可以将图形导出为 pdf、jpg、png、csv、txt 格式。这里我们以pdf格式导出图表,并在导出pdf时选择所有值。

现在打开那个 pdf,它会显示所有有用的服务器资源。

在这里我们可以在服务器上加载一天的 CPU。

这是一天的内存使用情况

这样我们就可以很容易地为日常监控任务生成 CPU、内存、处理器、I/O、交换、套接字和许多其他有用的系统资源图。

第 3 部分:监控脚本

KSAR GUI 非常人性化。但该脚本将更有效地生成每日 KSAR 图并节省时间。

在这一部分中,我们将创建两个脚本。

第一个脚本将每天生成一个图表。

vi sar_script.sh
#!/bin/bash
i=`date --date="1 days ago" +%d`
LC_ALL=C sar -A -f /var/log/sa/sa$i > /home/admin/sar_report/sardaily_report$i
cd /home/soham/Downloads/kSar-5.0.6/
java -jar kSar.jar -input /home/admin/sar_report/sardaily_report$i -outputPDF /home/admin/sar_report/sardaily$(date --date="1 days ago" +%b)$i.pdf
echo "Ksar graph successfully generated"
sudo chmod u+x sar_script.sh

以上脚本将生成单日系统资源报告。我们可以在 cronjob 中设置这个脚本来自动生成 pdf 格式的 sar 图。

crontab -e
* 10 * * * /bin/sh /home/admin/script/sar_script.sh

此 cronjob 在上午 10 点从 sar 值生成每日 pdf 图。

接下来,我们将生成整个月的 sar 统计报告。

#!/bin/bash

function sar_value(){
#This is set for 31 possible days.
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31; do
LC_ALL=C sar -A -f /var/log/sa/sa$i >> /home/admin/sar_report/sarmonthly$(date --date="1 days ago" +%b).txt
done
}

Function for script
sar_value

现在我们将该文本文件作为生成 pdf 图形的输入。

java -jar kSar.jar -input /home/admin/sar_report/sarmonthly$(date --date="1 days ago" +%b).txt -outputPDF /home/admin/sar_report/sar_monthly.pdf

这将在一个 pdf 文件中生成整个月的报告。

我们可以设置 cron 来自动生成报告,如上所示。如果我们想要从服务器到本地 pc 的直接 kSar 图形报告,那么我们可以在服务器和本地 pc 之间设置无密码 ssh,并通过在上面的脚本中添加 rsync 来设置自动化。

这样我们就可以使用非常强大的 sar 实用程序非常有效地进行系统日常监控任务。

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