尝试缩写 kSAR 的 PDF 输出

Bra*_*ley 6 linux performance sar

我目前正在围绕kSar的命令行(非 GUI)选项编写 cronjob ,以便生成 PDF。我只是打算每天午夜后通过电子邮件将前一天活动的 PDF 发送给不同的网站管理员(基本上只是一个高级用户)。

这是我尝试使用的命令:

java -jar /usr/local/ksar/kSar.jar -cpuFixedAxis \ 
      -input /var/log/sa/sa$(date +"%d" -d yesterday) \
      -outputPDF /tmp/SAR-$(date +"%d-%m-%Y" -d yesterday).pdf
Run Code Online (Sandbox Code Playgroud)

以上正确生成了一个 PDF 文档,我可以通过电子邮件将其发送给我想要的任何人。

问题是,有很多上还有比我真的觉得他需要和我真的见到他感到困惑,要么要我帮他了解它,还是无视电子邮件,亲自查验我,每当他有一个关于负载或性能问题的更多信息(这将是很多)。

我看到 kSar 有一个-graph选项可以只生成特定的图形子集,但我不知道如何使用它,而且它在任何地方都不在线。-help说要向它提供我想要生成的图表列表,但没有说明我应该如何弄清楚每个图表在技术上的名称。我以为-showOnlygraphName是我的救星,但这只是弹出了相关 SAR 的常规非 PDF GUI,它看起来与我离开时相同-showOnlygraphName

在这一点上,我正在抓紧稻草,所以任何帮助将不胜感激。

编辑:

当我在评论中说我尝试过@derobert 建议的图形名称时,您可以看到我使用的语法:

$ java -jar kSar.jar -graph SWAP -input sar31 -outputPDF out.pdf
time to parse: 695ms number of line: 4073 line/msec: 5.0
jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSar-5.0.6
$ echo $?
0
jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSar-5.0.6
$ ls out.pdf
ls: cannot access out.pdf: No such file or directory
$ java -jar kSar.jar -graph LOAD -input sar31 -outputPDF out.pdf ; ls out.pdf
time to parse: 681ms number of line: 4073 line/msec: 5.0
ls: cannot access out.pdf: No such file or directory
Run Code Online (Sandbox Code Playgroud)

上面的内容是在 中完成的cygwin,但如果我只是不尝试限制要生成的图形,则语法有效(即生成 PDF 输出)。我还尝试了各种大小写和引用样式。

编辑#2:

在这方面取得了部分成功。我找到了这个页面并按照它的说明我能够生成一个只有CPU 活动的 PDF :

jadavis@XXX-R9ZN2ZV /cygdrive/c/Documents and Settings/JADAVIS/Documents/kSa                            r-5.0.6
$ java -jar kSar.jar -input sar31 -outputPDF out.pdf -graph all-cpu; ls -l out.pdf                          time to parse: 712ms number of line: 4073 line/msec: 5.0
-rwx------+ 1 jadavis mkpasswd 112772 Apr  3 18:51 out.pdf
Run Code Online (Sandbox Code Playgroud)

Bra*_*ley 1

答案并不是真正的答案:对于那些在家里关注的人,你会注意到我花了很长时间试图kSar为我做这件事。我毫不怀疑 kSar 确实有一个解决方案,但我得出了来之不易的结论:kSar有点糟糕。我不再使用非 Linux 平台(用于管理 Solaris,现在不那么频繁了),因此使用 SAR 数据的任何优势(如果它仍然存在的话)现在都可以忽略不计。

我个人的解决方案:

从那时起,我重新将精力集中在让它发挥作用上,collectd并且在过去 30 分钟内取得的成功比我在三天内时断时续地与kSar. 这是我在 RHEL5 和 RHEL6 服务器上所做的(显然是 YMMV):

1. 确保服务器上安装了EPEL 存储库。

2. 安装collectdcollectd-webcollectd-apachecollectd-mysql软件包。

3. 编辑/etc/httpd/conf.d/collectd.conf文件如下:

ScriptAlias /collectd/bin/ /usr/share/collectd/collection3/bin/
Alias /collectd/ /usr/share/collectd/collection3/

<Directory /usr/share/collectd/>
AddHandler cgi-script .cgi
DirectoryIndex bin/index.cgi
Order Deny,Allow
Deny from all
Allow from 192. 10.
</Directory>
Run Code Online (Sandbox Code Playgroud)

4. 确保以下插件已启用/etc/collectd.conf

LoadPlugin apache
LoadPlugin cpu
LoadPlugin df
LoadPlugin disk
LoadPlugin fscache
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
Run Code Online (Sandbox Code Playgroud)

5.启动collectd服务并发出service httpd reload命令。

等待短暂的采样期,然后通过访问访问collectd-web(用 编写的第三部分 Web 界面perl):

  • http : //MYHOSTNAME/collectd/bin/index.cgi

此后不久,我生成了他有兴趣查看的所有图表,而且没有一个会让他感到困惑。我还发现一些collectd统计数据可以以细节为导向,因此它也可能对我的目的有用。

collectd-web界面功能齐全,但外观相当朴素且难以定制。不过,给他这个 URL 肯定更容易,所以我会尝试不同的前端。

如果有人发布kSar具体答案(或者如果我同时找到一个答案),我会接受该答案。但最终我认为是时候在 SAR 的棺材上放一朵黑玫瑰,然后让它死去。

编辑:

对于好奇的人来说,这里有一些示例随机图表:

collectd-web 生成的图表

还有一些磁盘的队列合并和文件系统利用率以及 CPU 的运行队列大小和上下文切换的图表。它似乎还支持关于阈值违规的通知。因此,它似乎是用于通用性能监控和容量规划的相当不错的工具。