#author("2023-06-08T16:42:17+09:00;2023-06-03T17:33:29+09:00","default:kaw","kaw")
#author("2024-02-03T13:31:47+09:00;2023-06-03T17:33:29+09:00","default:kaw","kaw")
#navi(SAG)
*System Activity Grapher - 概要 [#b6da9120]
*機能概要 [#re7e78c6]
SAG (System Activity Grapher)は、システムの動作状態を測定・記録し、
各測定項目をグラフ化して表示するスクリプト集です。
SAGの生成するグラフを定期的に監視することで、
システムリソースの使用状況の解析や動作異常の検出に
活用することができます。
**特徴 [#qf45682e]
:シンプルな実装|小さなスクリプトを組み合わせて実装しているため、改造が容易です。データの取得方法さえ分かれば、新しい測定項目を追加することもできます。
:低負荷なデータ取得|データの取得動作は、基本的にはデータをファイルに追記するだけで、特別な加工は行いません。また取得プロセスは低優先度で実行されるので、システムの本来の動作に与える影響はわずかです。Linux/PC98が動作する486DX 66MHz、メモリ14MB、HDD 340MBという低スペックマシンでの動作実績もあります。
:少ない占有容量|スクリプトは合計で10キロバイトほどです。取得データは圧縮されアーカイブされます。記録されたデータを含めても、最大で10メガバイト程度です。
:長期間の傾向把握|最大999日間の期間を分解能1分で記録します。データは一時間単位で集約・表示されますので、システムの長期にわたる動作傾向を把握するのが容易です。逆に、グラフ作成は一時間に一回だけなので、リアルタイムでの監視には向いていません。
**対応システム [#t500eb11]
SAGは、Shellスクリプト、Perlスクリプトで記述されており、
これらの言語処理系がインストールされたUnix系OSで動作します。

SAGの動作には、以下のものが必要です。
-Perlインタプリタ
-Bourne Shell系のコマンドインタプリタ
-グラフ生成ソフト gnuplot
//-画像ファイル変換ユティリティ netpbm (ppmtogifコマンドを使用)
-システムの状態を取得するためのインタフェース
//--Linux互換の/procファイルシステム
--又は、同様な情報を取得できるシステムコマンド

現在提供しているスクリプトでは、以下のシステムをサポートしています;
//-Linux 2.0 - 2.4
//-Linux 2.6
//-SunCobalt RaQ3, RaQ550
-OpenBSD 5.5以降
**測定項目 
現在SAGがサポートしている測定項目は以下のとおりです。
|項目|測定間隔|表示値|使用コマンド|
|ロードアベレージ|1分|最小・平均・最大|sysctl|
|ネットワークトラフィック|1分|送受信それぞれの平均・最大|netstat|
|メモリ使用状況|5分|Active/Total/Free/Cache/Swap|top|
|ディスク使用率|1時間|各パーティションの使用率|df|
|カーネルクロック|1時間|真値からの偏差|ntpctl|
|NTP同期|5分|各パーティションの使用率|ntpctl|
|NTP同期|5分|NTPのRTT, Jitter, Offset|ntpctl|
//|プロセス起動数|1分|最小・平均・最大|Linuxのみ対応|
//|CPU温度|5分|最小・平均・最大|Sun Cobaltのみ対応|
//|ファン回転数|5分|最小・平均・最大|Sun CobaltRaQ 550 のみ対応|

データ取得は、上の表のように項目毎に一定の間隔で
行われ、一時間に一回、集計結果をグラフ画像として生成します。

上の表で「最小・平均・最大」とあるのは、
1分または5分間隔で取得したデータの一時間あたりの最小値、
平均値、最大値を算出し、3本のグラフとして描くという意味です。
#navi(SAG)

Front page   Edit Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes