*自作ツールでシステム管理 [#v5c6a7ca] RIGHT:川俣 吉広, kaw@on.rim.or.jp RIGHT:2006, 5/20 @ EBUG 18th Meeting :主旨|システムの「常態」を知ろう。 -異常を検知するためには、システムの通常の状態を知る~ → 一定期間にわたって測定を行い、傾向を把握。 -サーバ毎に特徴があり、特徴を把握しておく -自作のツール / 一般のツールを組み合わせて使ってみる **SAGとは? [#wbaa1d74] [[System Activity Grapher>http://kaw.ath.cx/openbsd/?SAG]] ... 自作ツール -特徴 --システムの稼働状態を記録し、グラフ表示 ---ロードアベレージ, ネットワーク流量, 時刻同期, メモリ, ディスク使用量 ---プロセス生成回数, ファン回転数, ケース内温度, etc... (Linux Only) --サンプル ... [[kaw.ath.cx>http://kaw.ath.cx/sag/]], [[plamo.linet.gr.jp>http://plamo.linet.gr.jp/~kaw/sag/]] --データは、/proc/*, コマンド (sysctl, netstat, du ...)から取得 ... 一般ユーザ権限で取得できる情報を使用 --グラフ表示をカスタマイズできる ... gnuplotスクリプト --伝送路は特に規定なし ... HTTPとかが手軽。scpとかでも可。 -低いリソース消費 ... [[Linux/98 on 486/66MHz, 14MB mem, 320MB HDD>http://kaw.ath.cx/dl/misc/ebug/svstat/nonsugar.html]] -欠点 --リアルタイム監視には向かない ... 毎時間更新 -実装 --構成 ---Shell script / Perl script / Gnuplot / NetPBM で構成 --動作内容 ... cronにて駆動 ---データ取得 ..... 任意の間隔 ---データ集計 ..... パース + 集計 + グラフ集計 ---日変わり処理 ... ローテート / キャッシュ再生成 --低プライオリティで動作 ... renice -15 --競合状態の排除 ... 同じタイミングでの動作は逐次実行される --ローテート中のファイルに測定データを追加 **pingscan ... もう一つの自作ツール [#e06434f8] -監視するホストに順次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) |&ref(pingscan.gif);| |CENTER:ウェブベースのU/I| **運用例 [#t7980a7e] 実際には、その他のツールと併用して運用すると効果的。 |&ref(sags.gif);| |CENTER:構成例| -LAN --pingscan, tcpdump, SAG --[[内部サーバ>http://kaw.ath.cx/dl/misc/ebug/svstat/]] -DMZ --snort, [[ntop>http://kaw.ath.cx:25000/ntop/]], tcpdump, [[SAG>http://kaw.ath.cx:25000/mom/]] ... promiscモードで動作するソフトと併用するとトラフィック全体を計測できる --ntpd, pflogd, pflist, [[SAG>http://kaw.ath.cx:25000/hsv/]] -ISP --www, [[SAG>http://kaw.ath.cx/dl/misc/ebug/svstat/www.html]] **事例 [#mae49bd3] ***Squid Web Proxy Cacheのキャッシュ調整 [#j407ad6d] -オンメモリ・キャッシュの大きさは? -...[[スワップぎりぎりまで確保>http://kaw.ath.cx/dl/misc/ebug/svstat/wgw/0005mem.gif]]してみる ***スパム1 [#ifaeb77d] -NTPのDelay増大 ... [[pingscanによる測定>http://kaw.ath.cx/dl/misc/ebug/ping2.gif]] ***スパム2 [#ee26851f] -snortによるレポート ... [[「TCP port sweep / TCP port scan」増大>:SAG_sw]] -回線輻輳 ... [[SYN Packet測定>http://kaw.ath.cx/dl/misc/ebug/syn_count.txt]] ***ルータトラブル [#d2a8bdbe] -NTPのDelayが増大 ... [[pingscanによる測定>http://kaw.ath.cx/dl/misc/ebug/ping.gif]] -ネットワークの輻輳はなし -時刻誤差も正常値 -...で、[[原因>:SAG_rt]]は? ***メールサーバ過負荷 [#maee5405] -[[MUAで「メールの自動転送」を設定。エラーメールをループさせた奴がいた!>SAG/ギャラリー2]] **結論 [#e8b23820] ~ |長期における傾向把握が重要| |各種パラメータを横断的に見る| |データを見やすくカスタマイズ、は結構重要| |One Linerが書けたりすると良いです| CENTER:そして、なによりも |COLOR(red){''毎日見る''}|