自作ツールでシステム管理†
- 主旨
- システムの「常態」を知ろう。
... 異常を検知するためには、システムの通常の状態を知る → 一定期間にわたって測定を行い、傾向を把握。
... サーバ毎に特徴があり、特徴を把握
... 自作のツール / 一般のツールを組み合わせて使う。
SAGとは?†
System Activity Grapher ... 自作ツール
- 特徴
- Perl script, Shell script, Gnuplot, NetPBM で構成
- ロードアベレージ, プロセス生成回数, ネットワーク流量, 時刻同期, メモリ, ディスク使用量, ファン回転数, ケース内温度, etc...
- データは、/proc/*, コマンド (sysctl, netstat, du ...)から取得 ... 一般ユーザ権限で動作
- グラフ表示をカスタマイズできる ... gnuplotスクリプト
- 伝送路は特に規定なし ... HTTPとかが手軽。scpとかでも可。
- 低いリソース消費 ... Linux/98 on 486/66MHz, 14MB mem, 320MB HDD
- 欠点
- 実装
- 構成
- データ取得 ..... 任意の間隔
- データ集計 ..... パース + 集計 + グラフ集計
- 日変わり処理 ... ローテート / キャッシュ再生成
- 低プライオリティで動作 ... 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」増大
メールサーバ過負荷†