#author("2024-02-03T13:31:47+09:00;2023-06-03T17:33:29+09:00","default:kaw","kaw") #author("2024-07-10T09:58:58+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分|最小・平均・最大|sysctl| |ネットワークトラフィック|1分|送受信それぞれの平均・最大|netstat| |メモリ使用状況|5分|Active/Total/Free/Cache/Swap|top| |ディスク使用率|1時間|各パーティションの使用率|df| |カーネルクロック|1時間|真値からの偏差|ntpctl| |NTP同期|5分|NTPのRTT, Jitter, Offset|ntpctl| //|プロセス起動数|1分|最小・平均・最大|Linuxのみ対応| //|CPU温度|5分|最小・平均・最大|Sun Cobaltのみ対応| //|ファン回転数|5分|最小・平均・最大|Sun CobaltRaQ 550 のみ対応| データ取得は、上の表のように項目毎に一定の間隔で 行われ、一時間に一回、集計結果をグラフ画像として生成します。 上の表で「最小・平均・最大」とあるのは、 1分または5分間隔で取得したデータの一時間あたりの最小値、 平均値、最大値を算出し、3本のグラフとして描くという意味です。 #navi(SAG)