PageViews: 3,042 / 2,737 / 2,359 hits / 225 nets since Jun 29 2020
home updates download manual documents feedback search stats ITS more
DeleGateIcon

Access Counter and Statitics

DeleGate/9.9.13
2024-11-13/15:42:41
Nets Hits Refs Mail info manual SHTML source
Access Counters and Statistics by DeleGate
PageViews: 2,737 hits / 225 nets

Access counter and statistics by DeleGate

Yutaka Sato @ DeleGate.ORG
May 11, 2006

Basic functionality for access counters and real-time statistics were built-into DeleGate/9.2.0. It is applied not only to access count from clients but also to general counts including Referers, errors, and more, in future. So far, the following counters have been implemented.

  • count for each requested URL on origin/proxy HTTP DeleGate (example)
  • count for each Referer URL on origin/proxy HTTP DeleGate (example)
  • count for each transferred file on origin FTP DeleGate (example)
  • count for each error or rejection in SMTP DeleGate (example)
  • count for each session of FTP, SMTP, NNTP DeleGate (example)
  • count for each packet incoming to DNS DeleGate (example)
This built-in counter is intended to be used to show real-time statistics of DeleGate servers too. It will be convenient to be able to get statistics in real-time and without keeping a large volume of log files.


Basic Usage

Counters are enabled with the COUNTER parameter, as follows in the simplest.

    COUNTER=do

A SSI tag "COUNTER" is introduced to show values in counters. The simplest example is the access counter of the SHTML page including the tag.

    <!--#echo var=COUNTER -->
    3042
There are three types of counters based on (client's) IP address; the first one is incremented on every hit, the second one is incremented excluding repetitive hit by the same IP address, and the third one is incremented excluding repetitive hit by one of last ten IP addresses. Each counter is represented with %T, %U, and %V respectively in a format string given by the fmt="formatString" attribute.
    <!--#echo var=COUNTER fmt="%T : %U : %V hits / %N nets (since %tC)" -->
    3042 : 2737 : 2359 hits / 225 nets (since Jun 29 2020)
Yet another count is "network count" which is represented as "%N" in the format string. It is introduced to be a metrics of the coverage or distribution of (client's) IP addresses on the address space. It is not a counter incremented on each hit, but the number of bits in a bit map of network addresses. In the current implementation, the width of the network mask is 10 bits, therefore the logical maximum number of "%N" is 1024. The map of networks can be shown with "%M" as follows.
    <!--#echo var=COUNTER fmt="%M" -->
    
      0.0.0.0 -------X ----XXXX ----XXXX -------- --XX---- -------- ----X--X --------
     16.0.0.0 ----XX-X XXXX---- X--X---- ----XXX- X------- -------- -------- ----X---
     32.0.0.0 -------- -X-X-X-X ------X- --X--X-- -X-----X ---X---- ---5XXX- X-XXXX--
     48.0.0.0 ----X--- -X---X-X XXXX---- XXXX---- ------2- ---X-X-- ------X- ---X----
     64.0.0.0 XX--XX-- --XX---- ------X- -------- -X------ -X------ -X---X-X XXX-----
     80.0.0.0 ------XX --X----- X--XX--X -------X -X-XX-X- --X---XX ---X--XX X-X--7X0
     96.0.0.0 -----X-- -------- X---X--- --X----X X-X----- -XXXX--- -----X-- -----X-X
    112.0.0.0 ----X--X -X-X---- --XXXXXX ----X-X- ----X--- ----XX-- --XXX--- --------
    128.0.0.0 -------- ---X---- ----X-X- -X----X- --X3--X- -X-XX--- -----X-- --X----X
    144.0.0.0 -X-X---- -----X-X -------X -X---X-- X------- 8------- ----XX-X -X---XXX
    160.0.0.0 ---X---- X--X---- -------- -X---X-- --X----- ---X---- -------X --------
    176.0.0.0 X------- X-X----- --X----- X------X XX--X-6X X-X----- X-X----- -----XX-
    192.0.0.0 XX----XX ---X-XXX -X----X- -X-X-X-X -X------ ---X-XX- ------X- ----X--X
    208.0.0.0 ----X-X- ---X---X -XX---X- -------- XX-4-XX- X------- --X----1 -------X
    
In the map, each true bit is marked with 'X' while false bit is marked with '-'. The recent ten networks are marked with a digit from '0' to '9'. The recent ten IP addresses can be shown with "%L" as follows.
    <!--#echo var=COUNTER fmt="%L" -->
    
    LAST[0][  1] 5FD00006  95.D
    LAST[1][  0] DDC0002F 221.D
    LAST[2][  0] 39800008  57.C
    LAST[3][  0] 88F000D5 136.D
    LAST[4][  0] D8F000F7 216.D
    LAST[5][  0] 2CC000C4  44.D
    LAST[6][  1] B9B00007 185.C
    LAST[7][  0] 5F5000EF  95.B
    LAST[8][  0] 9A3000A2 154.A
    LAST[9][  0] 9A30000F 154.A
    
This table of recent 10 addresses is managed in the LRU order, that is the entry of the least recentry hit is pushed out from the table.

    <!--#echo var=COUNTER fmt="Hits %T : %mHT/hour, %mdT/day, %mmT/month" -->
    Hits 3042 : 0.1/hour, 1.9/day, 59.0/month

PageViews: 2,737 hits / 225 nets
[ The source of this SHTML file (986 hits) ]