嘗試縮寫 kSAR 的 PDF 輸出
我目前正在圍繞
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
以上正確生成了一個 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
上面的內容是在 中完成的
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
**答案並不是真正的答案:**對於那些在家裡跟隨的人,你會注意到我已經花了很長時間試圖
kSar
為我做這件事。我不懷疑 kSar 實際上有一個解決方案,但我得出了一個來之不易的結論,那kSar
就是有點糟糕。我不再使用非 Linux 平台(過去用於管理 Solaris,現在不多了),所以使用 SAR 數據的任何優勢現在都可以忽略不計,如果它仍然存在的話。我的個人解決方案:
從那以後,我將精力重新集中在解決這個問題上,
collectd
並且在過去 30 分鐘內取得的成功比我在斷斷續續地與kSar
. 這就是我在我的 RHEL5 和 RHEL6 伺服器(顯然是 YMMV)上所做的:1.確保EPEL儲存庫安裝在伺服器上。
2. 安裝
collectd
,collectd-web
,collectd-apache
, 和collectd-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>
4. 確保啟用了以下外掛
/etc/collectd.conf
:LoadPlugin apache LoadPlugin cpu LoadPlugin df LoadPlugin disk LoadPlugin fscache LoadPlugin interface LoadPlugin load LoadPlugin memory
5. 啟動
collectd
服務並下達service httpd reload
命令。等待一小段時間,並通過訪問
collectd-web
(用 編寫的第三方 Web 界面perl
)訪問:
- http : //MYHOSTNAME/collectd/bin/index.cgi
此後不久,我生成了他有興趣查看的所有圖表,而且這些圖表都不會讓他感到困惑。我還看到一些
collectd
統計數據可以以細節為導向,因此它也可能對我的目的有用。該
collectd-web
界面功能齊全,但外觀非常簡單,難以自定義。仍然只給他這個 URL 肯定更容易,所以我只會玩不同的前端。如果有人發布一個
kSar
特定的答案(或者如果我同時找到一個),我會接受它作為答案。但最終我認為是時候在 SAR 的棺材上放一朵黑玫瑰,最後讓它死去。編輯:
對於好奇,這裡有一些範例隨機圖表:
還有一些圖表用於磁碟的隊列合併和文件系統使用率,以及 CPU 的執行隊列大小和上下文切換。它似乎還支持門檻值違規通知。因此,它似乎是一個相當不錯的通用性能監控和容量規劃工具。
這是 kSar v5.0.6 中可用的 -graph 選項列表 -
all-cpu bond0-if1 bond0-if2 eth0-if1 eth0-if2 eth2-if1 eth2-if2 LinuxcswchSar LinuxioSar LinuxkbmemSar LinuxkbmiscSar LinuxkbswpSar LinuxloadSar LinuxnfsdSar LinuxnfsSar LinuxpageSar LinuxpgpSar LinuxprocSar LinuxsockSar LinuxswapSar lo-if1 lo-if2
這是我如何生成報告的範例 -
java -jar kSar.jar -input /apps/kSar-5.0.6/logs/sa01 -showCPUstacked -cpuFixedAxis -graph 'all-cpu bond0-if1 LinuxcswchSar LinuxioSar LinuxkbmemSar LinuxloadSar LinuxpgpSar LinuxprocSar' -outputPDF /apps/kSar-5.0.6/logs/sa01.pdf