自作ツールでシステム管理†
- 主旨
- システムの「常態」を知ろう。
... 異常を検知するためには、システムの通常の状態を知る → 一定期間にわたって測定を行い、傾向を把握。
... サーバ毎に特徴があり、特徴を把握
... 自作のツール / 一般のツールを組み合わせて使う。
SAGとは?†
System Activity Grapher ... 自作ツール
- 特徴
- システムの稼働状態を記録し、グラフ表示
- ロードアベレージ, ネットワーク流量, 時刻同期, メモリ, ディスク使用量
- プロセス生成回数, ファン回転数, ケース内温度, etc... (Linux Only)
- サンプル ... kaw.ath.cx, plamo.linet.gr.jp
- データは、/proc/*, コマンド (sysctl, netstat, du ...)から取得 ... 一般ユーザ権限で取得できる情報を使用
- グラフ表示をカスタマイズできる ... gnuplotスクリプト
- 伝送路は特に規定なし ... HTTPとかが手軽。scpとかでも可。
- 低いリソース消費 ... Linux/98 on 486/66MHz, 14MB mem, 320MB HDD
- 欠点
- 実装
- 構成
- Perl script, Shell script, Gnuplot, NetPBM で構成
- 動作内容 ... cronにて駆動
- データ取得 ..... 任意の間隔
- データ集計 ..... パース + 集計 + グラフ集計
- 日変わり処理 ... ローテート / キャッシュ再生成
- 低プライオリティで動作 ... renice -15
- 競合状態の排除 ... 同じタイミングでの動作は逐次実行される
- ローテート中のファイルに測定データを追加
pingscan ... もう一つの自作ツール†
- 監視するホストに順次pingを投げ、結果をPostgreSQLで記録
- 社内LANのホスト, リモートサイト, アップストリームの死活監視。
netcheck=> select count(*) from pingscan;
count
----------
27937286
(1 row)
netcheck=> select daytime,dsthost,seq,ttl,rtt from pingscan order by daytime limit 5;
daytime | dsthost | seq | ttl | rtt
------------------------+--------------+-----+-----+-------
2005-06-01 00:00:02+09 | 172.16.xx.yy1| 0 | 0 | 0
2005-06-01 00:00:02+09 | 172.16.xx.yy2| 0 | 64 | 0.724
2005-06-01 00:00:02+09 | 172.16.xx.yy4| 0 | 255 | 0.815
2005-06-01 00:00:02+09 | 172.16.xx.y37| 0 | 0 | 0
2005-06-01 00:00:02+09 | 172.16.xx.y38| 0 | 0 | 0
(5 rows)
|
ウェブベースのU/I |
運用例†
実際には、その他のツールと併用して運用すると効果的。
|
構成例 |
- LAN
- DMZ
- snort, ntop, SAG ... promiscモードで動作するソフトと併用するとトラフィック全体を計測できる
- ntpd, SAG
- ISP
ルータトラブル†
- NTPのRTTが増大
- ネットワークの輻輳はなし
- 時刻誤差も正常値
- ...で、原因は?
Squid Web Proxy Cacheのキャッシュ調整†
スパム攻撃1†
スパム攻撃2†
- snortによるレポート ... 「TCP port sweep / TCP port scan」増大
メールサーバ過負荷†