Linuxマシン(CentOS 5)の毎日のネットワークトラフィックの統計を保持する必要があります。
標準/ネイティブのツールまたはユーティリティを使用して実行する方法はありますか?
または、そのための特別なソフトウェアをダウンロードする必要がありますか?
ありがとう。
Linuxマシン(CentOS 5)の毎日のネットワークトラフィックの統計を保持する必要があります。
標準/ネイティブのツールまたはユーティリティを使用して実行する方法はありますか?
または、そのための特別なソフトウェアをダウンロードする必要がありますか?
ありがとう。
回答:
Zypherがrrdtool(およびそれをバックエンドとして使用する他のもの-MRTG、Cactiなど)について言ったことはおそらく正しいでしょう。RRDToolは、「平均化された」履歴トレンド分析ツールとして設計されています。カウンターを平均化して保存するのは、時間をさかのぼるにつれて、徐々に増加する非固定的な増分です。
ただし、これはRRAを適切に設定することで構成可能です。ただし、これらの設定についてはまったく知らないことを告白し、個人的に標準セット(15分、8時間、1週間、1か月、1年)を超えて運がよかったことはありません。毎日の入力を期待し、netstatから帯域幅カウンターにフィードするようにRRAを構成することをお勧めします。いくつかの非常に優れた履歴データと使用パターンの洞察が得られます。
現在の問題に答えるために、毎日の帯域幅制限を超えないようにすることについて。問題のインターフェイスのnetstatカウンターを毎日取得することをお勧めします。時間tの昨日のトラフィックを時間tの今日のカウンターと比較し、転送された量を調べることができます。前の値のフラットテキストファイルストレージを備えた単純なスクリプトでおそらく十分です。その後、帯域幅の超過を検出した場合はインターフェースを無効にするか、終日監視して、制限に近づいている場合は管理者に通知します。
OSXシステムで入力バイトを取得するには、次のコマンドセットを使用できます。
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
逆に、出力は次の方法で取得できます。
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
関連するカウンタをどこかに保存されているフラットファイルにポップし、それを以下と比較できます。
#!/bin/bash
set -e # exit if any error occurs
previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`
if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage
システムに合わせてnetstat処理を調整するだけです(OSXを実行していないことがわかっているため)。
vnStat 1.6 by Teemu Toivola <tst at iki dot fi>
-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-l, --live show transfer rate in real time
eth0 / monthly
month rx | tx | total
-------------------------+--------------+--------------------------------------
Oct '09 225.70 GB | 798.52 GB | 1.00 TB %%%%:::::::::::::
Nov '09 138.46 GB | 616.54 GB | 755.01 GB %%::::::::::
eth0 / daily
day rx | tx | total
------------------------+-------------+----------------------------------------
31.12. 6.56 GB | 34.39 GB | 40.95 GB %%%::::::::::::::::
01.01. 1.13 GB | 746.92 MB | 1.86 GB
sysstatパッケージには、sarユーティリティが含まれています。Sarは、事前定義された間隔(cron)でさまざまな統計を収集する、より適切な用語がないため、非常に構成可能なシステム「プロファイラー」です。これらは毎日1つずつバイナリファイルに保存され、通常は毎週ローテーションされますが、構成は可能です。sarプログラムを使用してこれらのファイルから統計を引き出すことができ、これらの結果は任意のオフィスプログラムまたはgnuplot(私の個人的な好み)で簡単にグラフ化できます。
http://pagesperso-orange.fr/sebastien.godard/ <= Sar情報
http://www.gnuplot.info/ <= gnuplot info
ネットワークモニタリングツールであるMRTGが必要です。MRTGは、Webの周りに表示されるすべてのネットワークグラフを生成します(数字を写真に変換するrdtoolを使用)
設定したくない場合、または単純なものが必要な場合は、iptablesを使用してデータ転送を記録できます。
Muninは、セットアップが非常に簡単な別のRRDベースのツールです。デフォルトのネットワーク統計は非常に基本的ですが、追加のプラグインを追加するのは簡単です。サーバーの1つに、毎日および毎週の統計のコピーを添付しました。別のページで毎月および毎年の統計情報も取得できます。