[FreeBSD] SNMP 統計流量分析 mrtg

最近處理系上伺服器,安裝的是 FreeBSD 7.0 Release 版本,想說來裝個 mrtg 來統計流量,因為目前 SNMP 已經納入 FreeBSD base 系統裡面了,所以在安裝 mrtg 就相當方便了,我之前有寫過三篇關於統計流量的教學 MRTG Server performace [Linux] Mrtg 實做 war3 線上人數統計 [FreeBSD] 安裝基本mrtg主機流量統計圖 [FC4] snmpd + mrtg 安裝教學「注意事項」 Continue reading “[FreeBSD] SNMP 統計流量分析 mrtg”

[Linux] Mrtg 實做 war3 線上人數統計

應大家觀眾要求,來寫一下教學 當然我不想怎麼安裝mrtg了,搜尋一下本站就會找到教學 相信mrtg最主要是他的設定檔 cfg檔,先來看看 這個cfg檔怎麼寫
# Created by
#          Appleboy 2006/09/25

WorkDir: /usr/local/www/data-dist
Language: big5

Target[bnet_person]: `/usr/local/etc/mrtg/mrtg.person.sh`
MaxBytes[bnet_person]: 10000
Options[bnet_person]: gauge, nopercent, growright
YLegend[bnet_person]: Online Users
ShortLegend[bnet_person]: 人
LegendI[bnet_person]:   線上人數 :
LegendO[bnet_person]:   遊戲數目 :
Title[bnet_person]: 小熊戰網 上線人數統計表
先來解釋
WorkDir: /usr/local/www/data-dist
這個是來存放mrtg統計圖的資料夾,請對應到相關可以放html的資料夾
Target[bnet_person]: `/usr/local/etc/mrtg/mrtg.person.sh`
以下是 mrtg.person.sh 這個檔案
#!/bin/sh
# 這個程式主要在計算有多少人以 bnetd 的方式連線進我們的主機!

# 1. 計算線上的數目
cat /~pvpgn/server.dat  | grep "Users" | cut -d "=" -f2

# 2. 計算遊戲數目
cat /~pvpgn/server.dat  | grep "Games" | cut -d "=" -f2

# 3. 輸出時間咚咚
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $UPtime
echo bnet.dearbear.net
要先來看看war3在啟動的時候,會把線上人數 寫在 server.dat 檔案裏面,下面是該檔案的模式
[STATUS] Version=1.8.0 Uptime=9 hours 20 minutes 0 seconds Games=62 Users=323 Channels=8 UserAccounts=1909
所以我們最主要需要下面這2個值
Games=62 Users=323
所以當我執行下面這道指令
cat /~pvpgn/server.dat  | grep "Users" | cut -d "=" -f2
就會計算出線上人數有多少傳回mrtg圖表裏面 bnet_person-day

[FreeBSD] 安裝基本mrtg主機流量統計圖

  • 主機資訊 FreeBSD 6.1-RELEASE
  • 安裝步驟
cd /usr/ports/net-mgmt/net-snmp; make install clean

cd /usr/ports/net-mgmt/mrtg; make install clean
這2個安裝好,其實基本上就已經可以使用了 在 /etc/rc.conf 加上
snmpd_enable="YES"
snmpd_flags="-a -p /var/run/snmpd.pid"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
修改 snmpd.conf 檔 目錄在 /usr/local/share/snmp/snmpd.conf
com2sec local localhost public com2sec lan 192.168.100.0/24 public group RWGroup v1 local group ROGroup v1 lan view all included .1 80 access RWGroup “” any noauth prefix all all all access ROGroup “” any noauth prefix all none none
紅色部份,盡量不要用 public ,因為這樣別人可以猜到你的mrtg設定 修改好存檔
/usr/local/etc/rc.d/snmpd start
然後進行流量偵測,網路卡流量 cfgmaker public@localhost 如果沒有錯誤訊息,那就是成功了,把結果輸出到資料夾 cfgmaker public@localhost > /usr/local/etc/mrtg/mrtg.cfg 修改 /usr/local/etc/mrtg/mrtg.cfg # for UNIX Language:Big5 =============================================== 修改好存檔,然後執行,產生mrtg報表
/usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg vi /etc/crontab 加入 */5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg #每5分鐘統計一遍
產生mrtg的index.htm
indexmaker 
--title='MRTG - 網路流量分析' 
--addhead='' 
--output /usr/local/www/data-dist/mrtg/index.htm 
--columns=1 
--nolegend 
/usr/local/etc/mrtg/mrtg.cfg
Photobucket - Video and Image Hosting

[FC4] 限制connection 連線數目「架設war3伺服器」

fc4作業系統 預設 有連線數目的限制 還有使用者連線的限制 不過解決方法很容易 http://www.ithome.com.tw/plog/index.php?op=ViewArticle&articleId=761&blogId=131 我查到的解決方式 我改完之後如下
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals (-i) 16255 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 819200 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 102400 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
ulimit:顯示(或設定)用戶可以使用的資源限制 ulimit -a 顯示用戶可以使用的資源限制 ulimit unlimited 不限制用戶可以使用的資源,但本設定對可打開的最大文件數(max open files) 和可同時執行的最大進程數(max user processes)無效 ulimit -n <可以同時打開的檔案數> 設定用戶可以同時打開的最大檔案數(max open files) 例如:ulimit -n 8192 如果本參數設定過小,對於併發訪問量大的網站,可能會出現too many open files的錯誤 ulimit -u <可以執行的最大併發進程數> 設定用戶可以同時執行的最大進程數(max user processes) 例如:ulimit -u 1024