[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


See also