2008-04-19
CJKwidth on screen
20080406:19:05 <@mhsin_bsd> sunpoet: ^A:cjkwidth on
20080406:19:06 <@mhsin_bsd> sunpoet: 然後你的 terminal emulator(PuTTY, rxvt, etc.)也要設相對應的 ambiguous width 設定
20080406:19:19 <NotExist> sunpoet: putty的話Windows->Translation右邊有Treat CKJ as wide
20080406:19:21 <@mhsin_bsd> sunpoet: 看到會加空白 => screen cjkwidth 沒開;符號變成窄版的 => terminal emulator 的 ambiguous width 沒設成寬字元
20080406:20:57 <@sunpoet> mhsin_bsd: NotExist: thanks,我少測了同時設 cjkwidth on 跟 Treat CJK as wide 的情形,現在解決了。
* * *
20080418:00:02 <@sunpoet> 原來之前改錯地方,現在 screenrc 裡面可以用 -b/-g 指定該視窗要哪個 encoding 啦。
20080418:00:09 <NotExist> sunpoet: 你用哪版@@ 我man沒看到 囧rz
20080418:00:14 <@sunpoet> NotExist: 自己 patch ...
20080418:00:19 <@sunpoet> NotExist: http://sunpoet.net/FreeBSD/screen-big5-gbk
20080418:00:20 <@sunpoet> 像這樣連大神的站 screen -b -t abpe 2 env LANG=C LC_ALL=en_US.ISO8859-1 telnet abpe.org
20080418:00:23 < NotExist> sunpoet: XD 感謝
20080418:00:24 <@sunpoet> NotExist: 因為我懶惰 :p
20080418:00:24 < NotExist> sunpoet: 科技始終來自於惰性 :p<
20080418:06:55 @Eintisy> sunpoet: 雖然只對 big5 的人有用,但 telnet 好像大部分也是 big5 的 bbs 會用... 這個 patch 幹得好啊~ :)
* * *
18:48 <@ijliao> 好像該來把 shell 環境弄成 utf-8 的...
18:48 <@ijliao> 不過不知道要怎麼上 bbs orz 用 screen 再轉嗎 @_@
18:49 <@mhsin_bsd> ^A:encoding big5?
18:49 <@mhsin_bsd> 設 key binding 快速切換?
18:50 <@mhsin_bsd> ijliao: 可以考慮留幾個窗設在 big5 專門上 B
18:50 <@ijliao> hmmm... 是個好主意
19:48 <@sunpoet> ijliao: 用 screen 轉啊,我現在上小鹿鹿跟 ptt/ptt2 都是這樣
20:04 <@knight> sunpoet: screen 怎麼 default utf8 然後下參數開 big5 window?
20:06 <@mhsin_bsd> ^A:defencoding utf8 ?
20:07 <@mhsin_bsd> 我都開窗之後再改 encoding
20:07 <@vvlng> 不是有人有 keybinding 的 config ?
20:07 <@vvlng> bind b encoding big5 utf-8
20:07 <@vvlng> bind u encoding utf-8 utf-8
20:08 <@vvlng> ctrl-a b 就變成 big5 window
20:23 <@lwhsu> 不過這樣有些 asciiart 看起來會怪怪的 @@
20:23 <@knight> y
20:23 <@knight> 不過那不是重點, 重點是想要搞 auto start script :~
20:23 <@knight> .screenrc 裡好像沒辦法自動開 big5 window
20:24 <@lwhsu> 多按一兩個鍵還可以接受 但是畫面醜是好幾個小時的事阿 :~
20:24 <@Jedi_> 腦內補完吧 *誤*
20:25 <@lwhsu> 我還是乖乖另外開一個 terminal 用 big5...
20:25 <@yinjieh> 不能開完再弄 encoding ?
20:25 <@mhsin_bsd> lwhsu: 因為沒上 cjkwidth?
20:25 <@mhsin_bsd> knight: 改 defencoding 再開?
20:25 <@knight> ...
20:26 <@lwhsu> mhsin_bsd: 你是說這個 option? CJK "Treat CJK ambiguous characters as full width" OFF
20:26 <@lwhsu> 我不確定我這台有沒有開...
20:26 <@knight> 就是想要 default utf8 然後用 screenrc 自動開一兩個窗 big5
20:27 <@mhsin_bsd> lwhsu: 那是 PuTTY 那邊的選項,然後 screen 也有個 cjkwidth 要調
20:28 <@lwhsu> mhsin_bsd: 我丟的那個是 sysutils/screen/Makefile 裡面的阿 @@
20:28 <@mhsin_bsd> knight: 改 defencoding、開窗、再改回來不行嗎?
20:28 <@lwhsu> mhsin_bsd: putty 裡面也有? 我找一下
20:28 <@mhsin_bsd> lwhsu: 喔喔看錯了 XDrz
20:29 <@mhsin_bsd> lwhsu: 對,Makefile 那個 KNOB 要開,然後 screen 就會有個 cjkwidth {on|off} 可以調
20:29 <@lwhsu> mhsin_bsd: 我剛看到了, 正在試
20:29 <@mhsin_bsd> 和 PuTTY 的都開起來
20:30 <@lwhsu> mhsin_bsd: 開了以後也很糟阿 XD
20:31 <@lwhsu> mhsin_bsd: 是都變 wide 了沒錯, 但是畫面還是會亂 @@
20:31 <@yinjieh> 開 make config 會很炫喔
20:32 <@knight> mhsin_bsd: 你說的方法似乎有效哩, thx :)
20:33 <@yinjieh> 賀
20:34 <@yinjieh> http://flickr.com/photos/37036611@N00/1676416856/
20:35 <@vvlng> yinjieh: refan's patch 也上一下吧
20:36 <@yinjieh> oh ok
20:36 <@mhsin_bsd> knight: :p
20:37 <@mhsin_bsd> lwhsu: 這...可能是吃到 UAO 字 / 一字雙色吧 @_@
20:37 <@lwhsu> mhsin_bsd: 嗯, 我想也是那些惡搞的東西 XD
20:38 <@mhsin_bsd> yinjieh: ncurses 表格是個很麻煩的東西
20:38 <@yinjieh> mhsin_bsd: yes, 所以我還是暫時都關掉 沒辦法 XD
20:38 <@mhsin_bsd> 上次好像研究過,忘了結論是什麼(ncurses 要 patch?)
20:39 <@yinjieh> ncurses 又在 base ? XD
20:40 <@mhsin_bsd> 呃還是 curses?
20:40 < rafan> 我自己是 patch screen
20:41 <@mhsin_bsd> rafan: how?
20:41 <@mhsin_bsd> 印象中是 curses 把表格當 half-width 造成的(?)
20:43 <@rafan> 換成 -+| XD
20:43 <@rafan> http://www.rafan.org/patch/big5/screen/files/patch-poorman-drawing
20:44 <@sunpoet> knight: 你是要寫在 screenrc 裡面自動開 big5/gbk 視窗嘛?
20:45 <@sunpoet> 最近的心得 PuTTY Treak CJK ambiguous characters as full 要選,screenrc 裡面加 defencoding utf8 , cjkwidth on
20:45 <@sunpoet> 編的時候要 WiTH_CJK
20:46 <@knight> sunpoet: y
20:46 <@knight> 那個我倒還沒這麼介意
20:47 <@sunpoet> knight: 請取用這個 patch, http://sunpoet.net/FreeBSD/screen-big5-gbk
20:47 <@knight> sunpoet: thx
20:47 <@rafan> 不是可以用 keybinding 設嗎?
20:48 <@sunpoet> knight: 然後在 screenrc 裡面的 screen 可以加 -b/-g 指定 big5/gbk
20:48 <@sunpoet> rafan: 那個還要手按,這個 patch 是可以直接在 screenrc 裡面指定
20:48 <@knight> !
20:48 <@sunpoet> rafan: 兩種不衝突啊,我都用了
20:48 <@knight> sunpoet: 這個就是我要的啊啊啊
20:49 <@sunpoet> knight: 因為我也需要,所以 ... :P
20:49 <@knight> 這個應該不限是在哪個版本吧
20:49 <@sunpoet> knight: 不限,我是拿 4.03 改的
20:50 <@sunpoet> 其實就只是做 encoding big5 utf8 的動作 :P
20:51 <@knight> y
20:56 <@mhsin_bsd> rafan: 喔我懂了,就跟 PuTTY 的 poorman's drawing 一樣 XD
20:59 <@rafan> mhsin_bsd: 不過 putty poorman's 我每次都用不成功 orz
--
2008/10/14 Updated: sunpoet 的 patch 換到 http://sunpoet.net/FreeBSD/screen-big5-gbk
2008-04-08
【FreeBSD 7】HFS-Http File Server
【前言】
[HFS ~ HTTP File Server] 為 [rejetto] 利用 [Delphi - Wikipedia] 所撰寫的,本軟體非常輕巧 (550 KByte) 且靈活的特色 (Download and upload、Virtual file system、HTML template...),拿來臨時分享檔案也不失為一個很好的解決方案,本次實作為利用 FreeBSD 7(OS) + KDE(X-Win) + VNC(Remote Control) + Wine(Run Win program) + HFS(main) 來達成。
[HFS ~ HTTP File Server] 支援特色如下:
- Download and upload
- Virtual file system
- Highly customizable
- HTML template
- Bandwidth control
- Easy/Expert mode
- Log
- Full control over connections
- Accounts
- Dynamic DNS updater

【PcBSD】HFS-圖解安裝 Http File Server
【前言】
[HFS ~ HTTP File Server] 為 [rejetto] 利用 [Delphi - Wikipedia] 所撰寫的,本軟體非常輕巧 (550 KByte) 且靈活的特色 (Download and upload、Virtual file system、HTML template...),拿來臨時分享檔案也不失為一個很好的解決方案,本次實作為利用 PcBSD(OS) + KDE(X-Win) + VNC(Remote Control) + Wine(Run Win program) + HFS(main) 來達成。
[HFS ~ HTTP File Server] 支援特色如下:
- Download and upload
- Virtual file system
- Highly customizable
- HTML template
- Bandwidth control
- Easy/Expert mode
- Log
- Full control over connections
- Accounts
- Dynamic DNS updater

2008-03-31
Finch-文字介面使用 IM
[Finch] 就是 [Pidgin] 的文字模式,什麼是 [Pidgin] 它是一個支援 multi-protocol Instant Messaging client,讓你很方便的可以利用它來登入不同的 IM、IRC...等,本次實作為利用 [Finch] 來登入 MSN,[Pidgin] 授權方式為 GNU General Public License (GPL) version 2.。
目前 [Pidgin] 支援的 IM 如下:
- AIM
- Bonjour
- Gadu-Gadu
- Google Talk
- Groupwise
- ICQ
- IRC
- MSN
- MySpaceIM
- SILC
- SIMPLE
- Sametime
- XMPP
- Yahoo!
- Zephyr
以下是 [Finch] 會常用到的快速鍵,詳細內容可參考 [Using Finch - Pidgin - Trac]
- Ctrl + o:選項視窗 (或 F10)
- Ctrl + c:離開 finch (詢問是否離開)
- Alt + n:切換視窗 (多視窗時使用)
- Alt + 1 ~ 9:多視窗切換 (快速切換)
- Alt + c:關閉目前視窗 (例如關掉對話窗)
- Alt + a:選項視窗 (ex.帳號清單)
- Alt + l:更新畫面
- Alt + q:直接離開 finch
【作業環境】
FreeBSD 5.4-RELEASE-p7
finch-2.4.0 - Finch multi-protocol messaging client (Console UI)
screen-4.0.2_1 - A multi-screen window manager
【安裝及設定】
Step1.安裝 finch 套件
#cd /usr/ports/net-im/finch //切換至安裝路徑
#make install clean //安裝套件並清除安裝過程中產生不必要檔案
Step2.安裝 screen 套件
screen 詳細用法可參考本 Wiki 內 Chapter 1. Customizing the User Environment 的 Hack 12 Use Multiple Screens on One Terminal。
#cd /usr/ports/sysutils/screen //切換至安裝路徑
#make install clean //安裝套件並清除安裝過程中產生不必要檔案
Step3.設定 putty 使用 UTF-8
設定 [putty] 或 [pietty] 使用 UTF-8 並且記得取消勾選 CJK
Step4.設定使用語系
登入後,您可選擇使用 en_US.UTF-8 或 zh_TW.UTF-8,以我使用 tcsh shell 為例修改 ~/.cshrc
setenv LANG en_US.UTF-8 //使用 en_US.UTF-8
setenv LC_ALL en_US.UTF-8
setenv LANG zh_TW.UTF-8 //使用 zh_TW.UTF-8
setenv LC_ALL zh_TW.UTF-8
修改完後存檔,使用 source 指令來載入語系 (以載入 zh_TW.UTF-8 為例)
#source ~/.cshrc //載入 shell 設定 #locale //查看語系設定LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_COLLATE="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_NUMERIC="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
LC_ALL=zh_TW.UTF-8
確定語系後使用 screen 指令來進入 screen 模式,進入 screen 後記得在查看語系確定一下。
Step5.設定 finch 來登入 MSN
5.1 新增帳號:利用 Tab 鍵切換到 Add 後按下 Enter 準備新增 MSN 帳號。
5.2 設定 MSN 帳號:利用上下鍵來切換通訊協定並選擇 MSN、填入 MSN 的帳號及密碼、儲存。
5.3 啟用 MSN 帳號:切換到剛才建立的 MSN 帳號按下空白鍵來啟用 MSN (登入)
【參考】
[Pidgin is a multi-protocol Instant Messaging client]
[helo_aBiNg@Linux: Finch登陆msn]
[CentOS 語系問題 (tw.bbs.comp.linux)]
[twbsd.org - 主題:關於安裝X-window所發生的問題]
[技術無憂(Pc51.Net)-安裝PHP(gd)擴展時出錯]
【Log】
初稿-2008/03/28
2008-02-25
簡介 #bsdchat 一些設定用法
以下步驟主要都是來自這篇《MiniHowToUTF8》,若已經有裝的就可以略過不理。
---
先裝 PieTTY (用 UTF-8 )或 PuTTY 設定的 Window -> Translation 裡,將 "Received data assumed to be in which character set" 設成 UTF-8
再裝 screen:
cd /usr/ports/sysutils/screen ; make install clean
進入 screen 的 Unicode 模式,打 screen -U,或在 ~/.screenrc 設定檔裡寫 defutf8 on。
(日後若要 attach 回 screen 則用 screen -rU )
最後裝 irssi (IRC client):
cd /usr/ports/irc/irssi ; make install clean
開始執行
env LANG=zh_TW.UTF-8 irssi -c irc.freenode.net
然後打(下面這些行若懶得設定的話,
可直接抓這檔案存為 ~/.irssi/config
ps.為了怕有人亂 autojoin 進進出出,這設定檔預設不 autojoin)
/set term_charset UTF-8
/set recode_fallback UTF-8
/set recode_out_default_charset UTF-8
/set recode_transliterate on
/recode add #bsdchat
/save
這時候開始打 /j bsdchat 以加入 #bsdchat。
(若還是看不到中文,請先按 ctrl + a 然後打 :encoding utf8 utf8 再按 enter 如下圖)

如果仍然看不到中文或沒辦法輸入 UTF-8 中文,最好檢查一下是否少做了什麼步驟。尤其是 LANG 或 LC_ALL 應該要設成 zh_TW.UTF-8 或 screen 的 UTF-8 模式要開啟之類的...
◆ 記得為自己在 IRC 上所用的 nickname 註冊
請打
/msg nickserv register 想要設定的密碼
來進行註冊,其餘用法請打 /msg chanserv help register 參閱相關說明
◆ QA時間...
(感謝 Cpyang, gslin, Jedi_, jnlin, Eintisy, evilc, llwang 諸位頻眾大德惠賜妙方)
Q:nickserv 跟 chanserv 這是?
A:關於帳號的是 nickserv,關於頻道動作的是 chanserv
Q:關於 nickname 的密碼設定、忘記密碼、被人搶走相關問題,該怎麼辦?
A:/msg nickserv help
Q:怎麼設定類似自動 op?
A: 找有緣人授予 lv 即可 (作法就類似 /msg chanserv access #bsdchat add chinsan 30)
然後 op 部份只要有 lv 一定程度以上,一進頻 chanserv 就會自動給了
Q:為何我一樣是 lv 30 但要發給對方 lv 30 會出現說"You cannot add an access level greater than [29]" ?
A:你現在是 30 就只能給 30 以下的,頂多到 29
Q: 但我下次進來的時候... level 還在嗎?level 不會 reset ?
A: 仍然會在,不會 reset, 只要妳重新登入 freenode 時, 有先打
/msg nickserv IDENTIFY 你所設定的密碼
認證過了,就會自動發 op..
另外,等級夠高的人若被 deop 而沒 op,也可以隨時 /msg chanserv op 要回 op。
Q:何為 op?
A:以下有很妙的回答 XD
16:44 @Jedi_> 表示是接線生
16:44 @Jedi_> 如果你被困在 Matrix 出不來,就要趕快找這些人
16:44 @Jedi_> 請他們告訴你最近的出口在哪裡
16:44 @Jedi_> 這很重要喔,不要忘了
16:44 @Jedi_> 也就是說,生死攸關~
:
:
17:10 mathiss> operator: 我要訂 pizza
Q:recode 只能指定 channel 不能指定 network+channel 嗎?
A:請用 /recode add networkname/channelname UTF-8,
比方說 /recode add freenode/#bsdchat UTF-8
Q:如何設定 channel mode 為 nst ?
A:/msg chanserv set #bsdchat mlock +nst
Q:有等級設定相關說明嗎?
A:/msg chanserv help level 以及 /msg chanserv level #bsdchat list
2008-02-24
#bsdchat 移到 freenode 去(UTF-8 頻道)
2008-02-16
台灣的 IRCNET server 又爆炸了
目前已知可正常連線的有 us.ircnet.org(但略為不穩) 以及 ircnet.eversible.com 也可以進來
ps.還好狡兔有多窟,又分別以不同 irc server 連上去 :p
2008-01-31
Darkstat-統計指定網卡的封包流量
[Darkstat - Nework Traffic Analyzer] 簡單來說就是把通過指定網卡的封包利用圖表統計方式呈現,讓您可以很簡單的了解現在網卡上進、出的流量。
Darkstat 特色:
- 使用圖表方式來呈現 Host、Port。
- 使用嵌入式網頁伺服器 (因此不需安裝 Web Server)。
- 預設使用 DNS 來解析分析到的 Host。
- 體積小、可攜式、單執行緒、高效率、不複雜。
Darkstat 成果展示畫面:
[Darkstat Hostnames Screenshots]
【作業環境】
FreeBSD 5.4-RELEASE-p7
darkstat-3.0.707
【安裝及設定】
Step1.安裝 darkstat 套件
#cd /usr/ports/net-mgmt/darkstat //切換到安裝路徑
#make install clean //安裝套件並清除安裝中不必要的檔案
Step2.編輯 /etc/rc.conf
編輯 /etc/rc.conf 來達到開機啟動 Darkstat 及指定要監聽的網卡名稱
#vi /etc/rc.conf
darkstat_enable="YES" //開機啟動 Darkstat service
darkstat_interface="em0" //指定監聽的網卡名稱
Step3.啟動 darkstat
#/usr/local/etc/rc.d/darkstat.sh start
Starting darkstat.
darkstat 3.0.707 (built with libpcap 2.4)
darkstat (03360): starting up
darkstat (03360): daemonizing to run in the background!
darkstat (03360): parent waiting
darkstat (03361): I am the main process
darkstat (03362): set uid/gid to 65534/65534
darkstat (03361): DNS child has PID 3362
darkstat (03361): caplen is 54
darkstat (03361): capturing in promiscuous mode
darkstat (03361): listening on 0.0.0.0:667
darkstat (03361): loaded 131 protos
darkstat (03361): loaded 1002 tcp and 968 udp servs, from total 1975
darkstat (03361): chrooted into: /var/run/darkstat
darkstat (03361): set uid/gid to 65534/65534
darkstat (03361): local_ip update(em0) = 61.60.59.58
darkstat (03361): entering main loop
darkstat (03360): parent done reading, calling waitpid
darkstat (03360): waitpid ret 0, status is 0
檢查 darkstat service 是否啟動
#/usr/local/etc/rc.d/darkstat.sh status
darkstat is running as pid 3361.
檢查 darkstat service 是否開啟服務的 Port (Default 667)
#sockstat |grep 667
nobody darkstat 3361 10 tcp4 *:667 *:*
檢查 darkstat process 是否執行中
#ps ax |grep darkstat
3361 ?? Ss 0:00.01 /usr/local/sbin/darkstat -i em0 --chroot /var/run/darkstat --pidfile darkstat.pid --user nobody
3362 ?? Is 0:00.00 darkstat: DNS child (darkstat)
補充參數說明
參數 | 說明 |
-i interface | 指定監聽的網路卡名稱 |
--debug | 開啟除錯模式 |
--no-promisc | 不使用混亂模式(promiscuous mode ) |
--no-dns | 不使用 DNS 來解析 IP -> Hostname 名稱 |
-p port | 指定 embedded webserver 使用的 Port (預設為 667) |
-b bindaddr | 指定 embedded webserver 使用的 IP Address 預設使用 0.0.0.0 |
-f filter | 指定過濾 (packet filter),詳細過濾語法請參考 man tcpdump |
-l network/netmask | 定義本地網段(local network),所以進入及出去的封包將會顯示在圖表(Graphs)中 |
--chroot dir | 指定 Chroot 資料夾 |
--user username | 指定執行服務的使用者 (預設使用 nobody) |
--daylog filename | 指定 daily Log traffic statistics (必須配合 --chroot 設定) |
--import filename | 匯入 darkstat database |
--export filename | 匯出 darkstat database(必須配合 --chroot 設定) |
--pidfile filename | 建立 darkstat process ID |
【Me FAQ】
Q1.無法安裝 darkstat?
Error Meaage:
無法安裝 darkstat 並出現如下錯誤訊息
#cd /usr/ports/net-mgmt/darkstat ; make install clean
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE}
in make.conf.On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE. *** Error code 1 Stop.
Ans:
因 為本次安裝的機器為 FreeBSD 5.4-RELEASE-p7 而訊息也很清楚說明,若你在更新 Port tree 後且您的 FreeBSD 版本為 6.2 以前的話,那麼若是在安裝此套件時會安裝 X11 套件或不想安裝的話可以把相關的參數加到 /etc/make.conf 內。
#vi /etc/make.conf //視個人需求加入吧
X11BASE=${LOCALBASE} //會安裝 X11 相關套件
USE_NONDEFAULT_X11BASE=yes //不安裝 X11 相關套件
【參考】
[Darkstat - Nework Traffic Analyzer or Network Monitor and Screenshots]
[苗栗縣大湖鄉大南國民小學FreeBSD 全球資訊網路架站日誌 - 流量統計 darkstat]
【Log】
初稿-2008/01/31
2008-01-23
【CentOS】最近玩的一些筆記
- CentOS 5.1-初始環境設定
- VNC-VNC Server遠端連線伺服器
- APC UPS-安裝PowerChute Network Shutdown
- MegaCLI-查看Dell PowerEdge 1950 RAID Controller PERC 5i
- SSM-查看Dell PowerEdge 1950 RAID Controller PERC 5i
- IPTables-Linux Firewall
- Lighttpd-輕量級 Web Server
- visitors-利用ApacheLog達成流量統計圖表化
- lighttpd php mysql-LAMP 架設
- phpmyadmin-Web 介面控制 Mysql
- phpsysinfo-觀看主機各項資源
- Squid-Web Cache Server
- Lightsquid-利用SquidLog達成流量統計圖表化
- bind9-提供Domain Name與IP對應的服務
Visitors-利用 web log達成流量統計圖表化
[Visitors - fast web log analyzer] 設計為可快速分析 Linux、Windows、Unix-link 等架設 Web 伺服器的 Log,使用方式很簡單只要使用命令列並指定 Log 名稱及輸出流量分析報告格式 (Txt / Html) 即可,因此很適合線上即時查看流量。
Visitors 特色如下
- 不需安裝,每秒可處理 150,000 行 (視機器效能而定,但至少比其它分析軟體快多了)
- 設計上採用指令模式並可輸出 (Txt / Html),因此使用 SSH 登入主機時能夠非常方便且即時查看流量
- 從 Visitors v0.3 以後便支援即時統計、遊客流量統計
- 可清鬆指定產生的流量分析報表項目,相對應參數請參考 [Visitors on line documentation]
- Visitors 為可攜式 C 語言程序,因此可方便使用在不同的系統中。
- 產生的 HTML 報表並不包含圖片或外部的 CSS,因此能方便的將報表透過電子郵件來寄送。
- Visitors 為使用 GPL 授權的自由軟體,所以使用它並不用付費,如果您有興趣想訂製符合您需要的報表歡迎與原作者連絡 antirez (at) invece (dot) org
[Visitors - on line documentation for 0.7]
【作業環境】
FreeBSD 6.2-RELEASE
visitors-0.7.0_1
【安裝及設定】
Step1.安裝 visitors 套件
#cd /usr/ports/www/visitors //切換至安裝路徑
#make install clean //安裝並清除安裝過程中不必要的檔案
Step2.產生分析圖表
接下來就是開始分析報表吧。
- -A:分析所有報表項目
- -m 10:項目最多顯示 10 行 (Requested pages、Requested images and CSS...)
- Web Log:200801.log
- -o html:輸出的報表格式
- /home/web/200801.html 為報表輸出的路徑及檔案名稱
若在你的 web log 中有您不想分析的網站時 (例如自已的網站),可加上參數 ex. -P http://your.site.com 即可。
#/usr/local/bin/visitors -A -m 10 200801.log -o html > /home/web/200801.html
--
7055 lines processed in 1 seconds
0 invalid lines, 0 blacklisted referers
我測試一下我使用的機器處理效能,大概是每秒 6.3 萬行左右。
CPU: Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz (1867.21-MHz 686-class CPU)
real memory = 2146299904 (2046 MB)
以下是測試分析不同行數的 web log 分析速度
#wc -l 200708.log | awk '{print$1}'
56133 //5.6 萬行
#/usr/local/bin/visitors -A -m 50 200708.log -o html > /home/web/200708.html
--
56133 lines processed in 1 seconds //分析時間花費 1 秒
0 invalid lines, 0 blacklisted referers
#wc -l 2007.log | awk '{print$1}'
318290 //31 萬行
#/usr/local/bin/visitors -A -m 100 2007.log -o html > /home/web/2007.html
--
318290 lines processed in 5 seconds //分析時間花費 5 秒
0 invalid lines, 0 blacklisted referers
Step3.排程
因為我的 web log 都是每天產生的,所以就寫個簡單的 shell 然後排程執行吧。
#vi /usr/local/sbin/visitors.sh //建立 shell 檔內容如下
#!/bin/sh
TODAY=`date +%Y%m%d`
LOG="/home/log/apache"
DES="/home/web"
VISITORS=/usr/local/bin/visitors
SHOW="50"
${VISITORS} -A -m ${SHOW} ${LOG}/${TODAY}.log -o html > ${DES}/${TODAY}.html
#chmod +x /usr/local/sbin/visitors.sh
再來就是設定排程
#crontab -e
55 23 * * * /usr/local/sbin/visitors.sh //每天 23:55 執行
【參考】
[Visitors - fast web log analyzer]
[Visitors, on line documentation for 0.7]
[1秒で10万行を処理するフリーの超高速なログ解析ソフト「Visitors」 - GIGAZINE - IT四重奏]
[GIS Notes by Rupert » Blog Archive » HTTP access_log analysis]
[Birds Of a Feather | ログ解析ツール Visitors のプチ改造]
【Log】
初稿-2008/01/18
2008-01-19
6.3 發公告了
03:45 <@evi1c> [FreeBSD-Announce] FreeBSD 6.3-RELEASE Available
03:45 <@evi1c> rafan: 手快 (Y)
ref: http://lists.freebsd.org/pipermail/freebsd-announce/2008-January/001167.html