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分NTPのRTT, Jitter, Offsetntpctl

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

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


recent(50)
2024-06-04 2024-05-24 2024-05-13 2024-05-05 2024-04-22 2024-04-09 2024-02-17 2024-01-31 2023-11-05 2023-10-04 2023-08-28 2023-06-21 2023-06-19 2023-06-03 2023-05-30 2023-05-01 2023-04-30 2023-04-23 2023-04-13 2023-04-12 2023-03-17 2023-02-24 2023-02-23 2023-02-22 2022-12-23 2022-12-13 2022-11-17 2022-11-15 2022-11-14 2022-11-13 2022-11-05

Front page   Edit Freeze Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes
Last-modified: 2023-06-03 (Sat) 17:33:29