Skip to content

Commit 845930c

Browse files
surikumatomba
authored andcommitted
Add METRICS.md
This files describes all existing metrics in eradius.
1 parent 5f0e44a commit 845930c

File tree

2 files changed

+187
-0
lines changed

2 files changed

+187
-0
lines changed

METRICS.md

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# eradius metrics
2+
3+
`eradius` uses exometer core to implement various operation metrics.
4+
For now, there are 3 groups of metrics:
5+
6+
* `server`
7+
* `nas` (server metrics separated per nas)
8+
* `client`
9+
10+
Collecting of each group can be enabled/disabled though setting `metrics` env for `eradius` application:
11+
12+
{metrics, [{enabled, [server, nas, client]}]},
13+
14+
By default it is `[server, nas, client]`.
15+
16+
### The following `server` metrics exist:
17+
18+
_All metrics start with `[eradius, radius]` prefix and the prefix is not included into table to save space._
19+
20+
| Metric | Type |
21+
| ------------------------------------------------------------------------------------------------- | --------- |
22+
| [request, invalid, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
23+
| [request, invalid, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
24+
| [request, malformed, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
25+
| [request, malformed, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
26+
| [request, dropped, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
27+
| [request, dropped, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
28+
| [request, retransmission, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
29+
| [request, duplicate, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
30+
| [request, duplicate, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
31+
| [request, bad_authenticator, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] `*` | histogram |
32+
| [request, bad_authenticator, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] `*` | counter |
33+
| [request, unknown_type, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
34+
| [request, unknown_type, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
35+
| [request, total, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
36+
| [request, total, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
37+
| [request, access, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | gauge |
38+
| [request, access, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | histogram |
39+
| [request, accounting, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
40+
| [request, accounting, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
41+
| [request, coa, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
42+
| [request, coa, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
43+
| [request, disconnect, server, $NAME, $IP, $PORT, total, undefined, undefined, gauge] | histogram |
44+
| [request, disconnect, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
45+
| [response, total ,server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
46+
| [response, access, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
47+
| [response, accounting, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
48+
| [response, access_accept, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
49+
| [response, access_reject, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
50+
| [response, access_challenge, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
51+
| [response, disconnect_ack, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
52+
| [response, disconnect_nak, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
53+
| [response, coa_ack, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
54+
| [response, coa_nak, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
55+
| [request, pending, server, $NAME, $IP, $PORT, total, undefined, undefined, counter] | counter |
56+
| [time, last_request, server, $NAME, $IP, $PORT, total, undefined, undefined, ticks] | gauge |
57+
| [time, since_last_request, server, $NAME, $IP, $PORT, total, undefined, undefined, ticks] | gauge |
58+
| [time, last_reset, server, $NAME, $IP, $PORT, total, undefined, undefined, ticks] | gauge |
59+
| [time, last_config_reset, server, $NAME, $IP, $PORT, total, undefined, undefined, ticks] | gauge |
60+
| [time, up, server, $NAME, $IP, $PORT, total, undefined, undefined, ticks] | gauge |
61+
62+
63+
`*` - these metrics exist but not been updating.
64+
65+
### The following `nas` metrics exist:
66+
67+
_All metrics start with `[eradius, radius]` prefix and the prefix is not included into table to save space._
68+
69+
70+
| Metric | Type |
71+
| ----------------------------------------------------------------------------------------------- | --------- |
72+
| [request, dropped, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
73+
| [request, dropped, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
74+
| [request, retransmission, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
75+
| [request, duplicate, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
76+
| [request, duplicate, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
77+
| [request, bad_authenticator, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] `*` | histogram |
78+
| [request, bad_authenticator, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] `*` | counter |
79+
| [request, unknown_type, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
80+
| [request, unknown_type, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
81+
| [request, total, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
82+
| [request, total, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
83+
| [request, access, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
84+
| [request, access, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
85+
| [request, accounting, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
86+
| [request, accounting, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
87+
| [request, coa, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
88+
| [request, coa, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
89+
| [request, disconnect, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, gauge] | histogram |
90+
| [request, disconnect, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
91+
| [response, total, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
92+
| [response, access, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
93+
| [response, accounting, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
94+
| [response, access_accept, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
95+
| [response, access_reject, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
96+
| [response, access_challenge, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
97+
| [response, disconnect_ack, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
98+
| [response, disconnect_nak, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
99+
| [response, coa_ack, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
100+
| [response, coa_nak, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
101+
| [request, pending, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, counter] | counter |
102+
| [time, last_request, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, ticks] | gauge |
103+
| [time, since_last_request, server, $NAME, $IP, $PORT, $NASID, $NASIP, undefined, ticks] | gauge |
104+
105+
`*` - these metrics exist but not been updating.
106+
107+
### The following `client` metrics exist:
108+
109+
_All metrics start with `[eradius, radius]` prefix and the prefix is not included into table to save space._
110+
111+
| Metric | Type |
112+
| ----------------------------------------------------------------------------------------------- | --------- |
113+
| [request, retransmission, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
114+
| [request, retransmission, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
115+
| [request, timeout, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
116+
| [request, timeout, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
117+
| [request, bad_authenticator, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] `*` | counter |
118+
| [request, malformed, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] `*` | counter |
119+
| [request, unknown_type, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] `*` | counter |
120+
| [request, dropped, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
121+
| [request, total, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
122+
| [request, total, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
123+
| [request, access, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
124+
| [request, access, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
125+
| [request, accounting, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
126+
| [request, accounting, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
127+
| [request, coa, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
128+
| [request, coa, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
129+
| [request, disconnect, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, gauge] | histogram |
130+
| [request, disconnect, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
131+
| [response, total, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
132+
| [response, access, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
133+
| [response, accounting, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
134+
| [response, access_accept, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
135+
| [response, access_reject, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
136+
| [response, access_challenge, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
137+
| [response, disconnect_ack, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
138+
| [response, disconnect_nak, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
139+
| [response, coa_ack, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
140+
| [response, coa_nak, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
141+
| [request, pending, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, counter] | counter |
142+
| [time, last_request, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, ticks] | gauge |
143+
| [time, since_last_request, client, $CNAME, $CIP, undefined, $SNAME, $SIP, $SPORT, ticks] | gauge |
144+
145+
`*` - these metrics exist but not been updating.
146+
147+
`$NAME` - Server name. `$IP:$PORT` or name from configuration if exists. For this configuration:
148+
149+
{servers, [
150+
{root, {"127.0.0.1", [1812, 1813]}}
151+
]}
152+
153+
`root` will be used as a name.
154+
155+
`$IP` - server listener IP from configuration.
156+
157+
`$PORT` - server listener port from configuration.
158+
159+
`$NASID` - `ID_$NASID` or `nas_id` from configuration if exists.
160+
161+
`$NASIP` - NAS-IP-Address from configuration.
162+
163+
{root, [
164+
{ {"NAS1", [arg1, arg2]},
165+
[{"10.18.14.2", <<"secret1">>}]},
166+
{ {"NAS2", [arg1, arg2]},
167+
[{{10, 18, 14, 3}, <<"secret2">>, [{nas_id, <<"name">>}]}]}
168+
]}]
169+
170+
The configuration above describes two NASes fro one root RADIUS server.
171+
For "NAS1" `$NASID` will be generated from ID an IP(`NAS1_10.18.14.2`), `$NASIP` = "10.18.14.2".
172+
For "NAS2" `nas_id` will be used for `$NASID`(`name`) `$NASIP` = "10.18.14.2".
173+
174+
`$CNAME` - name from `client_name` option fduring call `eradius_client:send_request/3` or `undefined` by default.
175+
176+
`$CIP` - `client_ip` from `eradius` enviroment.
177+
178+
`$SNAME` - name from `server_name` option fduring call `eradius_client:send_request/3` or `undefined` by default.
179+
180+
`$SIP` - IP address of destination server.
181+
182+
`$SPORT` - Port of destination server.
183+
184+
Histograms are created with `slot_period` = 100 and `time_span` = 60000.
185+
All timing values in the histograms are in microseconds (µs).

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ the build in metrics.
3232

3333
The handle time metrics are generated internally using histograms. These histograms
3434
all have a time span of 60s. The precise metrics are defined in `include/eradius_metrics`.
35+
36+
See more in [METRICS.md](METRICS.md).

0 commit comments

Comments
 (0)