System Activity Grapher - 概要

機能概要

SAG (System Activity Grapher)は、システムの動作状態を測定・記録し、 各測定項目をグラフ化して表示するスクリプト集です。 SAGの生成するグラフを定期的に監視することで、 システムリソースの使用状況の解析や動作異常の検出に 活用することができます。

特徴

シンプルな実装
小さなスクリプトを組み合わせて実装しているため、改造が容易です。データの取得方法さえ分かれば、新しい測定項目を追加することもできます。
低負荷なデータ取得
データの取得動作は、基本的にはデータをファイルに追記するだけで、特別な加工は行いません。また取得プロセスは低優先度で実行されるので、システムの本来の動作に与える影響はわずかです。Linux/PC98が動作する486DX 66MHz、メモリ14MB、HDD 340MBという低スペックマシンでの動作実績もあります。
少ない占有容量
スクリプトは合計で10キロバイトほどです。取得データは圧縮されアーカイブされます。記録されたデータを含めても、最大で10メガバイト程度です。
長期間の傾向把握
最大999日間の期間を分解能1分で記録します。データは一時間単位で集約・表示されますので、システムの長期にわたる動作傾向を把握するのが容易です。逆に、グラフ作成は一時間に一回だけなので、リアルタイムでの監視には向いていません。

対応システム

SAGは、Shellスクリプト、Perlスクリプトで記述されており、 これらの言語処理系がインストールされたUnix系OSで動作します。

SAGの動作には、以下のものが必要です。

現在提供しているスクリプトでは、以下のシステムをサポートしています;

測定項目

現在SAGがサポートしている測定機能は以下のとおりです。

項目測定間隔表示値使用コマンド
ロードアベレージ1分最小・平均・最大sysctl
ネットワークトラフィック1分送受信それぞれの平均・最大netstat
メモリ使用状況5分Active/Total/Free/Cache/Swaptop
ディスク使用率1時間各パーティションの使用率df
カーネルクロック1時間真値からの偏差ntpctl
NTP同期5分各パーティションの使用率ntpctl

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

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



Front page   New Page list Search Recent changes   Help   RSS of recent changes