Home server stats

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Home server stats

Phil Mayers
All,

I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a
stats query of the following form:

FreeRADIUS-Statistics-Type = 0x81
FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233
FreeRADIUS-Stats-Server-Port = 1812
Message-Authenticator = 0x00

...which returns an empty success packet on 3.x but works on 2.2.x. A
quick gdb session suggests that home_server_find is returning null in
stats.c:

https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/main/stats.c#L742

...but I am sure that the home server is defined in proxy.conf:

home_server roaming1 {
         type            = auth
         ipaddr          = 194.83.56.233
         port            = 1812
         secret          = <secret>
         status_check    = status-server
         num_answers_to_alive = 3
}

home_server_pool eduroam {
         type = client-port-balance
         home_server = roaming0
         home_server = roaming1
         home_server = roaming2
}

realm EDUROAM {
        auth_pool = eduroam
        nostrip
}

Interestingly "radmin" shows the stats as "unknown" continually as far
as I can tell, but does know about the server:

radmin> show home_server list
194.83.56.233 1812 udp auth unknown 0

Is there some obvious config I'm missing?

Cheers,
Phil
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Alan Buxey
When I was last looking at that stuff I noted that you had to turn on
verbose/debug in the radclient options to get values out. YMMV

Alan

On 4 Jul 2017 5:40 pm, "Phil Mayers" <[hidden email]> wrote:

> All,
>
> I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a stats
> query of the following form:
>
> FreeRADIUS-Statistics-Type = 0x81
> FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233
> FreeRADIUS-Stats-Server-Port = 1812
> Message-Authenticator = 0x00
>
> ...which returns an empty success packet on 3.x but works on 2.2.x. A
> quick gdb session suggests that home_server_find is returning null in
> stats.c:
>
> https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/
> src/main/stats.c#L742
>
> ...but I am sure that the home server is defined in proxy.conf:
>
> home_server roaming1 {
>         type            = auth
>         ipaddr          = 194.83.56.233
>         port            = 1812
>         secret          = <secret>
>         status_check    = status-server
>         num_answers_to_alive = 3
> }
>
> home_server_pool eduroam {
>         type = client-port-balance
>         home_server = roaming0
>         home_server = roaming1
>         home_server = roaming2
> }
>
> realm EDUROAM {
>         auth_pool = eduroam
>         nostrip
> }
>
> Interestingly "radmin" shows the stats as "unknown" continually as far as
> I can tell, but does know about the server:
>
> radmin> show home_server list
> 194.83.56.233   1812    udp     auth    unknown 0
>
> Is there some obvious config I'm missing?
>
> Cheers,
> Phil
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list
> /users.html
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Alan DeKok-2
In reply to this post by Phil Mayers
On Jul 4, 2017, at 12:40 PM, Phil Mayers <[hidden email]> wrote:
> I'm poking at a difference b/w 2.2.x and 3.0.x, specifically using a stats query of the following form:
>
> FreeRADIUS-Statistics-Type = 0x81
> FreeRADIUS-Stats-Server-IP-Address = 194.83.56.233
> FreeRADIUS-Stats-Server-Port = 1812
> Message-Authenticator = 0x00

  That *should* work...

> ...which returns an empty success packet on 3.x but works on 2.2.x. A quick gdb session suggests that home_server_find is returning null in stats.c:
>
> https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/src/main/stats.c#L742

  And the home_server_find() function looks up the home server in an rbtree, which makes it difficult to debug where things are going wrong.

> Interestingly "radmin" shows the stats as "unknown" continually as far as I can tell, but does know about the server:
>
> radmin> show home_server list
> 194.83.56.233 1812 udp auth unknown 0

  That uses a different API to get the home servers...

> Is there some obvious config I'm missing?

  Nope.

  I'm not sure what's going on here.

  Which version are you using?

  Alan DeKok.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Phil Mayers
3.0.14 but I've seen similar things in earlier 3.0.x - I always assumed I'd missed something and never had time to look into it.

Context is we use this in our monitoring to see if the upstream servers are alive.

If there's nothing trivially obvious I'm missing (like a global) I'll try to make a simple testbed, it's entirely possible something in the large config we're running is tickling it, I can always debug the rbtree if necessary.
--
Sent from my mobile device, please excuse brevity and typos
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Alan DeKok-2
On Jul 4, 2017, at 2:01 PM, Phil Mayers <[hidden email]> wrote:
>
> 3.0.14 but I've seen similar things in earlier 3.0.x - I always assumed I'd missed something and never had time to look into it.

  OK.

> Context is we use this in our monitoring to see if the upstream servers are alive.
>
> If there's nothing trivially obvious I'm missing (like a global) I'll try to make a simple testbed, it's entirely possible something in the large config we're running is tickling it, I can always debug the rbtree if necessary.

  No, it should work...

  My guess is that the home server is being inserted into the tree, but for some reason it's unable to find it.  i.e. the data being used for add / find are different.

  Maybe you have src_ipaddr set in the home server configuration?  The stats lookup assumes the the source IP is INADDR_ANY.

  Alan DeKok.



-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Phil Mayers
On 04/07/17 19:10, Alan DeKok wrote:

> No, it should work...
>
> My guess is that the home server is being inserted into the tree, but
> for some reason it's unable to find it.  i.e. the data being used for
> add / find are different.
>
> Maybe you have src_ipaddr set in the home server configuration?  The
> stats lookup assumes the the source IP is INADDR_ANY.

No src_ipaddr set.

Seems to happen with an almost-exactly-stock 3.0.14 config on a pair of
hosts. Same thing, nothing in the stats.

I'll have to dig into the debugging.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Alan DeKok-2
On Jul 5, 2017, at 12:14 PM, Phil Mayers <[hidden email]> wrote:
> No src_ipaddr set.

  :(

> Seems to happen with an almost-exactly-stock 3.0.14 config on a pair of hosts. Same thing, nothing in the stats.

  That's not nice.

> I'll have to dig into the debugging.

  If you could, I'd be grateful.  I'm currently tracking down other issues.

  Alan DeKok.


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Home server stats

Phil Mayers
On 05/07/17 19:14, Alan DeKok wrote:

>    If you could, I'd be grateful.  I'm currently tracking down other issues.

Finally found time to look at this, simple 1-liner, have submitted a
pull request; CI currently running.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Loading...