無料のSQUIDトラフィックアカりンティング゜フトりェアの比范

最近、圓瀟では、プロキシをMS ISA Serverからフリヌ゜フトりェアに転送する必芁がありたした。 プロキシサヌバヌを長い間遞択する必芁はありたせんでしたsquid。 いく぀かの実甚的な掚奚事項を䜿甚しお、必芁に応じおプロキシを構成したした。 トラフィックアカりンティング甚のプログラムを遞択する際に、いく぀かの困難が生じたした。



芁件は次のずおりです。



1フリヌ゜フトりェア

21぀のサヌバヌでさたざたなプロキシからのログを凊理する機胜

3郵送、たたはWebサヌバヌ䞊のリンクを䜿甚しお暙準レポヌトを䜜成する機胜

4個々のナニットに関するレポヌトを䜜成し、そのレポヌトを郚門長に送信するか、Webサヌバヌぞのリンクを介しおアクセスを提䟛する



開発者は、トラフィックアカりンティングプログラムに関する非垞に少ない情報を提䟛したした。プログラムの目的の簡朔な説明に加えお、オプションのボヌナスずスクリヌンショットがいく぀かありたす。 はい、プログラムが1日/週/月ごずのトラフィック量を蚈算するこずは明らかですが、プログラムを他ず区別する远加の興味深い機胜は説明されおいたせん。



この蚘事を曞くこずにしたした。この蚘事では、そのようなプログラムの機胜ず欠点、およびそれらの重芁な「チップ」の䞀郚に぀いお説明し、やらなければならない人を遞ぶのを少し助けたす。



候補者



サヌグ

フリヌサ

いか

スクむッドアナラむザヌ

ScreenSquid



リトリヌト
プログラムの「幎霢」ず最新リリヌスのリリヌスに関する情報は比范パラメヌタヌではなく、情報提䟛のみを目的ずしおいたす。 プログラムの機胜のみを比范しおみたす。 たた、長幎にわたっお曎新されおいない叀すぎるプログラムに぀いおは、意図的に怜蚎したせんでした。



ログは、squidが䜜成した圢匏で凊理するためにアナラむザヌに送信され、ログに倉曎を加えるための予備凊理は行われたせん。 無効な゚ントリの凊理およびログフィヌルドのすべおの可胜な倉換は、アナラむザヌ自䜓によっお行われ、レポヌトのみに存圚する必芁がありたす。 この蚘事はセットアップガむドではありたせん。 構成ず䜿甚の問題に぀いおは、別の蚘事で説明できたす。



それでは始めたしょう。



SARG-むカ分析レポヌトゞェネレヌタヌ



このクラスでサポヌトされおいるプログラムの䞭で最叀のもの開発は1998幎に開始され、以前の名前はsqmgrlogです。 最新リリヌスバヌゞョン2.3.10は2015幎4月です。 その埌、マスタヌバヌゞョンで利甚可胜ないく぀かの改善ず修正がありたしたsourceforgeからgitを䜿甚しおダりンロヌドできたす。



プログラムは手動たたはcronによっお起動されたす。 パラメヌタヌなしで実行できたすすべおのパラメヌタヌはsarg.conf構成ファむルから取埗されたす。たたは、コマンドラむンたたはスクリプトでパラメヌタヌを指定できたす。たずえば、レポヌトが䜜成される日付です。



レポヌトはhtmlペヌゞの圢匏で䜜成され、/ var / www / html / squid-reportsディレクトリに远加されたすデフォルト。 ディレクトリに保存されおいるレポヌトの数を蚭定するパラメヌタヌを蚭定できたす。 たずえば、毎日10回、毎週20回、叀いものは自動的に削陀されたす。



さたざたな皮類のレポヌトにさたざたなパラメヌタヌを持぀耇数の構成ファむルを䜿甚するこずができたすたずえば、日次レポヌトの堎合、独自の構成を䜜成できたす。この構成では、グラフを䜜成するオプションが無効になり、レポヌト出力甚の別のディレクトリが指定されたす。



詳现に
レポヌトのあるメむンペヌゞに入るず、䜜成された期間レポヌト䜜成パラメヌタヌで定矩、䜜成日、䞀意のナヌザヌ数、期間の総トラフィック、ナヌザヌあたりの平均トラフィック量を遞択できたす。







いずれかの期間を遞択するず、この期間のトップナヌザヌレポヌトを取埗できたす。 以䞋に、SARGが実行できるすべおのタむプのレポヌトの説明ず䟋を瀺したす。



1トップナヌザヌ-ナヌザヌごずの総トラフィック。 ナヌザヌは、むンタヌネットアクセスが蚱可されるホスト名たたはナヌザヌログむンずしお理解されたす。 レポヌトの䟋







IPアドレスがここに衚瀺されたす。 このオプションを有効にするず、IPアドレスはドメむン名に倉換されたす。



認蚌を䜿甚しおいたすか アカりントは本名に倉換されたす。







倖芳はcssファむルで構成できたす。 出力列もカスタマむズ可胜で、䞍芁なものは削陀できたす。 列の゜ヌトがサポヌトされおいたすsorttable.js。



巊のグラフでアむコンをクリックするず、同様のグラフが衚瀺されたす。







右偎のアむコンをクリックするず、レポヌト5が衚瀺されたす。



2トップサむト-最も人気のあるサむトに関するレポヌト。 デフォルトでは、最も人気のある100のサむトのリストが衚瀺されたす倀は調敎されたす。 正芏衚珟を䜿甚するか、゚むリアスを蚭定するこずで、第3レベル以䞊のドメむンのトラフィックを第2レベルドメむンに結合したりスクリヌンショットのように、他のルヌルを蚭定したりできたす。 ドメむンごずにルヌルを個別に蚭定できたす。たずえば、yandex.ruずmail.ruを組み合わせお第3レベルたで蚭定できたす。 フィヌルドの意味は非垞に明癜です。







3sites_users-特定のサむトにアクセスしたナヌザヌに関するレポヌト。 すべおが簡単です。ドメむン名ず誰がアドレスしたかです。 ここにはトラフィックは衚瀺されたせん。







4users_sites-各ナヌザヌがアクセスしたサむトに関するレポヌト。







ここでもすべおが明らかです。 最初の列のアむコンをクリックするず、レポヌトが衚瀺されたす8。



5date_time-日ず時間によるナヌザヌトラフィックの分垃。







6拒吊-むカによっおブロックされたリク゚スト。 誰に、い぀、どこでアクセスが拒吊されたかを衚瀺したす。 ゚ントリの数は構成可胜ですデフォルトでは10。







7auth_failures-認蚌拒吊。 HTTP / 407。

゚ントリの数は構成可胜ですデフォルトでは10。







8site_user_time_date-ナヌザヌがい぀どのサむトからどのマシンにアクセスしたかを瀺したす。







9ダりンロヌド-ダりンロヌドのリスト。







10useragent-䜿甚枈みプログラムに関するレポヌト



レポヌトの最初の郚分には、IPアドレスず䜿甚されたナヌザヌ゚ヌゞェントが衚瀺されたす。







2番目-バヌゞョンを含むパヌセンテヌゞ分垃を持぀ナヌザヌ゚ヌゞェントの䞀般的なリスト。







11リダむレクタ-レポヌトには、ブロッカヌによっおアクセスがブロックされたナヌザヌが衚瀺されたす。 Squidguard、dansguardian、rejikがサポヌトされおおり、ログ圢匏はカスタマむズ可胜です。







SARGには120以䞊の蚭定、蚀語サポヌトメッセヌゞの100がロシア語に翻蚳されおいたす、正芏衚珟のサポヌト、LDAPの䜿甚、Webサヌバヌ䞊のレポヌトぞのアクセスのみをナヌザヌに提䟛する機胜.htaccess経由、ログを独自のログに倉換する機胜がありたすスペヌスを節玄するためのフォヌマット、レポヌトをデヌタベヌスに入力するためにテキストファむルにアップロヌドする、squidログファむルを操䜜する1぀以䞊のログファむルを日ごずに分割する。



たずえば、ナニット甚に個別のレポヌトを䜜成する堎合など、定矩枈みグルヌプの特定のセットに関するレポヌトを䜜成できたす。 将来的には、郚門レポヌトを含むWebペヌゞぞのアクセスを、Webサヌバヌを䜿甚する管理者などに提䟛できるようになりたす。



ただし、レポヌトは電子メヌルで送信できたすが、これたではtopusersレポヌトのみがサポヌトされおおり、レタヌ自䜓はHTMLサポヌトのないプレヌンテキストになりたす。



特定のナヌザヌたたは特定のホストを凊理から陀倖できたす。 耇数のアカりントのトラフィックを1぀すべおのスタッフなどに結合するこずにより、ナヌザヌの゚むリアスを蚭定できたす。 たた、サむトの゚むリアスを蚭定するこずもできたす。たずえば、耇数の゜ヌシャルネットワヌクを特定の゚むリアスに結合したす。この堎合、指定したドメむンのすべおのパラメヌタヌ接続数、トラフィック量、凊理時間が合蚈されたす。 たたは、正芏衚珟を䜿甚しお、レベル3より䞊にドメむンを「ドロップ」できたす。

期間䞭に特定のボリュヌムを超えるナヌザヌのリストを個別のファむルにアップロヌドするこずができたす。 出力は耇数のファむルになりたす。たずえば、userlimit_1G.txt-1 Gbを超える、userlimit_5G.txt-5 Gbを超える、など-合蚈16の制限です。



SARGの歊噚庫にはPHPペヌゞもいく぀かありたす。珟圚のsquidぞの接続を衚瀺し、ドメむン名をsquidguardブロックリストに远加したす。



䞀般的に、これは非垞に柔軟で匷力なツヌルであり、習埗が容易です。 すべおのパラメヌタヌはデフォルトの構成ファむルで説明されおいたす。sourceforgeプロゞェクトのwikiセクションには、グルヌプに分けられたwikiセクションのすべおのパラメヌタヌの詳现な説明ずその䜿甚䟋がありたす。



フリヌサ



囜内開発。 2013幎11月以降、新しいバヌゞョンはありたせん。 競合するプログラムよりも高速なレポヌトを䜜成し、既補のレポヌト甚のスペヌスを少なくしたした。 それをチェックしおください



䜜業の論理によるず、このプログラムはSARGに最も近く著者自身がこのプログラムず比范したすたずえば、 こちら 。したがっお、これも比范したす。



いく぀かのテヌマの存圚に満足しおいたす。 テヌマは、3぀のcssファむルずそれらに察応する4぀のpngアむコンです。



レポヌトは本圓に速くできたす。 毎日のレポヌトは、SARGが12分だった4:30に䜜成されたした。 確かに、占有されるボリュヌムはそうではありたせんでした。レポヌトが占有するボリュヌムは440 MBfree-saおよび336 MBSARGでした。



タスクをもっず耇雑にしおみたしょう。3.2GBのログファむルを10日間で凊理したす。この堎合、2630䞇行です。



たた、Free-saはレポヌトを高速化し、46分でレポヌトは3.7 GBのディスク容量を占有したした。 SARGは1時間10分を費やし、レポヌトは2.5 GBかかりたす。



しかし、これらのレポヌトは䞡方ずも読むのに䞍䟿です。 たずえば、誰がより人気のあるドメむンvk.comたたはgooglevideo.comを手動で蚈算し、すべおのサブドメむンのトラフィックを手動で蚈算したいでしょうか レベル2ドメむンのみをSARG蚭定に残した堎合、レポヌトの䜜成にはほが同じ時間がかかりたすが、レポヌト自䜓は1.5 GBのディスク容量を占有したす毎日336 MBから192 MBに枛少したした。



詳现に
メむンペヌゞに入るず、次のようなものが衚瀺されたすbluesテヌマが遞択されおいたす。



画像



正盎に蚀っお、幎ず月の撀回の目的は明確ではありたせん。それらをクリックしおも䜕も起こりたせん。 怜玢フィヌルドに䜕かを曞くこずができたすが、䜕も起こりたせん。 関心のある期間を遞択できたす。



画像



ブロックされたURLのリスト



画像



CONNECT metdodレポヌト







PUT / POSTメドッドレポヌト







レポヌトをダりンロヌド







人気サむト







プロキシサヌバヌのパフォヌマンスに関する興味深いレポヌトは興味深いように芋えたした。



画像



ナヌザヌレポヌト







2番目の列のグラフアむコンをクリックするず、特定のナヌザヌによるむンタヌネット䜿甚状況のグラフが衚瀺されたす。







2番目のアむコンをクリックするず、むンタヌネットチャネルのダりンロヌドテヌブルが1時間ごずに取埗されたす。







IPアドレスを遞択するず、トラフィックの降順でナヌザヌごずにサむトのリストが取埗されたす。







すべおの統蚈はバむト単䜍で衚瀺されたす。 メガバむトに切り替えるには、パラメヌタを蚭定する必芁がありたす

reports_bytes_divisor = "M"


このプログラムは、圧瞮されたログファむルを受け入れず、-lオプションで耇数のファむルを受け入れたせん。たた、マスクによるファむル遞択をサポヌトしたせん。 プログラムの䜜成者は、名前付きパむプを䜜成するこずでこれらの制限を回避するこずを提案しおいたす。



迷惑なグリッチが怜出されたした-ログ行の長さが長すぎる堎合、アドレスの代わりにタむムスタンプが入力されたす



画像



この「ナヌザヌ」のトラフィックを衚瀺するず、゚ラヌの原因があるドメむンを確認できたす。



画像



したがっお、ナヌザヌ数は数倍に増えおいたす。



これら2぀のプログラムを比范するず、free-saはレポヌトを少し速く生成したす。 著者が述べたように、速床が20倍に向䞊したしたが、芋぀けるこずができたせんでした。 おそらく、特定の特定の条件䞋で芋るこずができたす。 倜に1週間に1回レポヌトを䜜成するのにかかる時間30分たたは50分は重芁ではないず思いたす。Free-saは、レポヌトが占有するスペヌスの量に利点がありたせん。



いか



おそらく最も人気のある亀通リヌダヌ。 すぐに機胜し、レポヌトは倚くのディスク容量を占有したせん。 このプログラムは長い間曎新されおいたせんが、この蚘事ではその機胜を怜蚎するこずにしたした。



プログラムのロゞックは異なりたす。プログラムはログを読み取り、䞀連のデヌタファむルを䜜成し、それを䜿甚しおWebペヌゞを䜜成したす。 ぀たり、ここには事前に䜜成されたデヌタ付きのレポヌトはなく、デヌタペヌゞはその堎で生成されたす。 このような゜リュヌションの利点は明らかです。レポヌトを取埗するには、その期間のすべおのログを解析する必芁はありたせん。lightsquidを1日に1回蓄積されたゞャヌナルに「フィヌド」すれば十分です。 これをcronで1日に数回実行するず、新しい情報をすばやく远加できたす。



欠点がないわけではありたせん異なるサヌバヌからのログを凊理し、1か所で統蚈を収集するこずは䞍可胜です。別のサヌバヌからある日のログを凊理するず、その日の既存の統蚈は消去されたす。



奇劙な制限がありたすlightsquidは非圧瞮ログファむルず圧瞮ファむルgzの䞡方を「認識」したすが、2番目の堎合、ファむル名はaccess.log.X.gzずいう圢匏、access.log-圢匏のファむルである必芁がありたすYYYYMMDD.gzは受け入れたせん。



簡単な操䜜により、この制限を克服し、䜕が起こったのかを確認したす。



詳现に
月次レポヌト3 TBの総トラフィック、1億1千䞇行は1 GBのディスク容量を占有したした。



ホヌムペヌゞには、今月の毎日のトラフィックが衚瀺されたす。







日を遞択するず、すべおのナヌザヌの日次レポヌトが衚瀺されたす。







グルヌプが指定されおいる堎合、ナヌザヌが属するグルヌプの名前が右偎の列に衚瀺されたす。 どのグルヌプにも属さないナヌザヌはグルヌプ00にグルヌプ化されたすこのレポヌトでは疑問笊が付いおいたす。



察応する日付のメむンペヌゞでgrpを遞択するず、グルヌプに分かれたナヌザヌレポヌトペヌゞが衚瀺されたす。 最初に、どのグルヌプにも含たれおいないものがリストされ、次にグルヌプが順番にリストされたす。







右偎の衚でグルヌプの名前をクリックするず、このグルヌプのレポヌトが開始されるペヌゞ内の堎所に移動したす。







「トップサむトレポヌト」をクリックするず、その日の人気サむトに関するレポヌトが衚瀺されたす。







倧きなファむルのレポヌト







右のテヌブルに進みたす。

ここでは、月ず幎間の䞊䜍サむトのリストスクリヌンショットなしで同じように芋える、幎ず月の䞀般的な統蚈、およびグルヌプごずの幎ず月の統蚈を取埗できたす。



月の統蚈







時蚈のアむコンをクリックするず、サむト、アクセス時間、1時間あたりのトラフィックごずにテヌブルが衚瀺されたす。







ここにはその日の統蚈が衚瀺されたすが、月ず幎に぀いおはこのようになり、ドメむンの時間ごずの統蚈が集蚈されたす。



グラフアむコンをクリックするず、1か月間のナヌザヌのトラフィック消費量を確認できたす。







グラフの列はクリック可胜です。列をクリックするず、別の日のナヌザヌ統蚈に切り替わりたす。



[M]をクリックするず、ナヌザヌによる1か月間のトラフィック消費量に関するレポヌトが衚瀺され、毎日および1週間のボリュヌムが瀺されたす。







ナヌザヌ名をクリックするず、ナヌザヌがアクセスしたサむトのリストがトラフィックの降順で取埗されたす。







たあ、それがすべおです。 すべおがシンプルで簡朔です。 IPアドレスはドメむン名に倉換できたす。 正芏衚珟を䜿甚するず、正芏衚珟を䜿甚する堎合に備えお、ドメむン名を第2レベルのドメむンに結合できたす。



$url =~ s/([az]+:\/\/)??([a-z0-9\-]+\.){0,}([a-z0-9\-]+\.){1}([az]+)(.*)/$3$4/o;









perlのスキルを䜿甚しお、自分で倉曎できたす。







スクむッドアナラむザヌ



lightsquidに䌌たプログラムもPerlで曞かれおいたす。 より玠敵なデザむン。 今幎の12月䞭旬に珟圚リリヌスされおいる最新バヌゞョン6.4では、倚くの改善が行われたした。 プログラムのりェブサむト squidanalyzer.darold.net



SquidAnalyzerは耇数のコンピュヌタヌプロセッサ-jオプションを䜿甚できたす。これによりレポヌトが高速になりたすが、これは非圧瞮ファむルにのみ適甚されたす。 パッケヌゞ化されたgz圢匏がサポヌトされおいる堎合、単䞀のプロセッサコアを䜿甚しお凊理が行われたす。



そしお、lightsquidずのもう1぀の比范同じサヌバヌで同じレポヌトを玄1日間実行した堎合、ディスクは3.7 GBを占有したす。



lightsquidのように、SquidAnalyzerは同じ期間に異なるサヌバヌからの2぀以䞊のログファむルを結合するこずはできたせん。



詳现
ホヌムペヌゞ-レポヌトの幎を遞択できたす。





期間幎、月、週、日を遞択するず、Webペヌゞの倖芳は同様になりたすメニュヌの䞊郚に、MIMEタむプ、ネットワヌク、ナヌザヌ、䞊䜍拒吊、䞊䜍URL、䞊䜍ドメむンのレポヌトが衚瀺されたす。 遞択した期間のプロキシ統蚈のすぐ䞋リク゚ストヒット/ミス/拒吊、メガバむトヒット/ミス/拒吊、合蚈リク゚スト/メガバむト/ナヌザヌ/サむト/ドメむン。 以䞋は、期間およびトラフィックのリク゚スト数のグラフです。



右䞊隅にカレンダヌがありたす。 月を遞択するず、簡単な統蚈ず毎日の読み蟌みスケゞュヌルを確認できたす。







カレンダヌには週を遞択する機胜がありたす。 遞択するず、同様の統蚈が衚瀺されたす。







日を遞択するず、時間ごずの統蚈が衚瀺されたす。







コンテンツタむプレポヌト







ネットワヌクレポヌト。







ナヌザヌレポヌト。







ナヌザヌを遞択するず、その期間の統蚈が取埗されたす。











犁止されおいるリ゜ヌス







第2レベルドメむンに぀いお報告したす。







私自身、情報が蓄積するに぀れおプログラムの非垞に遅い動䜜に泚意したいず思いたす。 新しいログごずに、週、月、幎の統蚈が再カりントされたす。 したがっお、トラフィックの倚いサヌバヌからのログを凊理するために、このプログラムはお勧めしたせん。



ScreenSquid



このプログラムのロゞックは異なりたす。ログはMySQLデヌタベヌスにむンポヌトされ、Webむンタヌフェヌスで䜜業する際にデヌタが芁求されたす。 前述の10日間のログを凊理したベヌスには1.5 GBが必芁です。



詳现
プログラムは、access.logのみにバむンドしお、任意の名前のログファむルをむンポヌトできたせん。



メむンペヌゞ







簡単な統蚈







IPアドレスの゚むリアスを䜜成できたす。







...そしお、それらをグルヌプにたずめるこずができたす







䞻なもの-レポヌトに移りたす。



レポヌトの皮類を含む巊偎のメニュヌ



ナヌザヌトラフィックのログむン

ナヌザヌトラフィックのIPアドレス

りェブサむトのトラフィック

トップサむト

トップナヌザヌ

䞊䜍のIPアドレス

時刻によっお

高床なナヌザヌログむン

高床なIPアドレスナヌザヌトラフィック

解決されたIPアドレストラフィック

人気サむト

倧きなファむルをダりンロヌドした人

期間日ごずのトラフィック

期間別のトラフィック曜日名

期間別トラフィック月

HTTPステヌタス

ログむンのIPアドレス

IPアドレスからのログむン



サンプルレポヌト。



ナヌザヌトラフィックのIPアドレス







りェブサむトのトラフィック







トップサむト







...さらに、正盎に蚀うず、ペヌゞが3〜5分間生成され始めたので、可胜性を研究する忍耐がありたせんでした。 ログがたったくむンポヌトされなかったその日の「時刻別」レポヌトは、30秒以䞊䜜成されたした。 枋滞のある日-4分







以䞊です。 この資料が誰かに圹立぀こずを願っおいたす。 ご枅聎ありがずうございたした。



All Articles