-天気予報コム-

Flag counter

« 2010/09/17今日のスキクダ買い物戦利品 | トップページ | Adobe Flash Playerのオフラインインストールファイル(install_flash_player_ax.exe, install_flash_player.exe) »

Untangle を導入してみたその17(日次統計用SQLを書いてみた)

 前回ネタはこちら。
 http://platon.cocolog-nifty.com/lovelovejank/2010/09/untangle-16arp-.html

 現行のUntangle 7.4だと統計データで日次の通信先(データ量・セッション数)ベスト10は表示されるのですが、11位以下は表示されません。以前(7.3系)は確かこれもちゃんとデータを取れてたのですが、何故か改悪されています。異常に通信量の多いホストを見つけてブロックする側としてはこの機能が使えなくなったのは痛いです。というかベスト10だけだとデータとして全然意味がないです、ホント。

 ということで、直接データベースであるPostgreSQLに接続してこれに相当するデータを取得できないか試行錯誤してみました。

 ということで正確性は保証しませんが、以下の方法で私が欲しい情報が得られたっぽいです。

●特定日におけるホスト毎の通信データサイズを降順に表示
SELECT host, SUM(content_length) FROM n_http_evt_req
WHERE TO_CHAR(time_stamp, 'yyyy-mm-dd') = '2010-09-19' AND
content_length <> 0
GROUP BY host ORDER BY SUM(content_length) DESC;


●特定日におけるホスト毎のアクセス回数を降順に表示
SELECT DISTINCT host, COUNT(host) FROM n_http_evt_req
WHERE TO_CHAR(time_stamp, 'yyyy-mm-dd') = '2010-09-19' AND
content_length <> 0
GROUP BY host ORDER BY COUNT(host) DESC;

 これを調査対象の日付を引数に取るスクリプトを作れば完璧です。あとpsql -A -F, -U postgres uvmのようにすればcsv出力に可能なようです。-Aは桁揃えなし、-Fセパレータの指定とのこと。
 さて、時間が出来ればスクリプトもアップロードしますかね。


 あと日次統計でポート番号毎のセッション数も同じように改悪されてるので、これも調査してみました。確証はないけど、以下でいいような気がします。

●特定日における宛先ポート番号毎のセッション数を降順に表示

SELECT s_server_port, COUNT(s_server_port)
FROM pl_endp
WHERE TO_CHAR(time_stamp, 'yyyy-mm-dd') = '2010-09-19'
GROUP BY s_server_port ORDER BY COUNT(s_server_port) DESC;

●特定日における宛先IPアドレス毎のセッション数を降順に表示
SELECT s_server_addr, COUNT(s_server_addr)
FROM pl_endp
WHERE TO_CHAR(time_stamp, 'yyyy-mm-dd') = '2010-09-19'
GROUP BY s_server_addr ORDER BY COUNT(s_server_addr) DESC;

 ただ、pl_endpのc_client~とs_client~の違い及びc_server~とs_server~の違いがイマイチよく分かりません。誰か教えてー。テーブル構成はこんな感じなんだけど。

uvm=# \d pl_endp
Table "events.pl_endp"
Column | Type | Modifiers
----------------+-----------------------------+-----------
event_id | bigint | not null
time_stamp | timestamp without time zone |
session_id | integer |
proto | smallint |
client_intf | smallint |
server_intf | smallint |
c_client_addr | inet |
s_client_addr | inet |
c_server_addr | inet |
s_server_addr | inet |
c_client_port | integer |
s_client_port | integer |
c_server_port | integer |
s_server_port | integer |
policy_id | bigint |
policy_inbound | boolean |
Indexes:
"pl_endp_pkey" PRIMARY KEY, btree (event_id)
"pl_endp_sid_idx" btree (session_id)
"pl_endp_ts_idx" btree (time_stamp)

« 2010/09/17今日のスキクダ買い物戦利品 | トップページ | Adobe Flash Playerのオフラインインストールファイル(install_flash_player_ax.exe, install_flash_player.exe) »

アルジェリア」カテゴリの記事

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« 2010/09/17今日のスキクダ買い物戦利品 | トップページ | Adobe Flash Playerのオフラインインストールファイル(install_flash_player_ax.exe, install_flash_player.exe) »

無料ブログはココログ
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31