Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
* [Galene] Re: Galene Turn
       [not found] <6AF7B2D8-D370-432F-BCB8-C714C1DED4CC@rouillier.fr>
@ 2021-04-09 15:12 ` Alexandre IOOSS
  2021-04-09 15:32   ` Fabrice Rouillier
  0 siblings, 1 reply; 24+ messages in thread
From: Alexandre IOOSS @ 2021-04-09 15:12 UTC (permalink / raw)
  To: Fabrice Rouillier, galene

On 4/9/21 4:37 PM, Fabrice Rouillier wrote:
> Server : in a linux 20.04 virtual box - behind a NAT (Freebox) and
> a reverse proxy (Traefik) launched with the command :
> 

Hello Fabrice,

In the NAT table, did you forward the external 1194 port to your server
1194 port in UDP and TCP?

On Galène web client, you can try to open the JavaScript console and
type `serverConnection.rtcConfiguration.iceServers[0].urls` to check
that the URLs here matches your public IP address.

Best,

-- 
Alexandre
Trying to help

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 15:12 ` [Galene] Re: Galene Turn Alexandre IOOSS
@ 2021-04-09 15:32   ` Fabrice Rouillier
  2021-04-09 15:37     ` Fabrice Rouillier
  2021-04-09 17:07     ` Alexandre IOOSS
  0 siblings, 2 replies; 24+ messages in thread
From: Fabrice Rouillier @ 2021-04-09 15:32 UTC (permalink / raw)
  To: Alexandre IOOSS; +Cc: galene

Hi Alexandre,

> In the NAT table, did you forward the external 1194 port to your server
> 1194 port in UDP and TCP?

I am using the DMZ

Freebox -> [DMZ] -> Server -> [Traefik] -> Galene


> On Galène web client, you can try to open the JavaScript console and
> type `serverConnection.rtcConfiguration.iceServers[0].urls` to check
> that the URLs here matches your public IP address.
> 

In the Chrome console, they do.

In the firefox console … the instruction does not exist.


Best


Fabrice




^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 15:32   ` Fabrice Rouillier
@ 2021-04-09 15:37     ` Fabrice Rouillier
  2021-04-09 17:07     ` Alexandre IOOSS
  1 sibling, 0 replies; 24+ messages in thread
From: Fabrice Rouillier @ 2021-04-09 15:37 UTC (permalink / raw)
  To: Alexandre IOOSS; +Cc: galene

>> On Galène web client, you can try to open the JavaScript console and
>> type `serverConnection.rtcConfiguration.iceServers[0].urls` to check
>> that the URLs here matches your public IP address.
>> 


Sorry, match also in firefox.


Best,

Fabrice



> 
> In the Chrome console, they do.
> 
> In the firefox console … the instruction does not exist.
> 
> 
> Best
> 
> 
> Fabrice
> 
> 
> 


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 15:32   ` Fabrice Rouillier
  2021-04-09 15:37     ` Fabrice Rouillier
@ 2021-04-09 17:07     ` Alexandre IOOSS
  2021-04-09 17:36       ` Fabrice Rouillier
  1 sibling, 1 reply; 24+ messages in thread
From: Alexandre IOOSS @ 2021-04-09 17:07 UTC (permalink / raw)
  To: Fabrice Rouillier; +Cc: galene

On 4/9/21 5:32 PM, Fabrice Rouillier wrote:
> I am using the DMZ
> 
> Freebox -> [DMZ] -> Server -> [Traefik] -> Galene

I don't think the fact that you are using a reverse proxy (Traefik) is
causing the problem. If the DMZ is doing what I think, you should not
even need a TURN if all UDP port from 10000 to 65535 are open.

Are you running Galène in a container, or directly on the machine?
Does your server have a firewall that would restrict 1194 in TCP/UDP?

I don't really now how Galène TURN server works, but maybe because you
are passing your public IP address, it's going to try to listen on a
interface with this public address which you don't have (because of DMZ).

Last idea that might help to find the issue: you can try to scan for
open ports on your public IP using `nmap`. You should see "openvpn" service.

```
$ sudo nmap -sS -1194 PUBLIC_IP
Starting Nmap 7.80 ( https://nmap.org ) at 2021-04-09 19:05 CEST
Nmap scan report for PUBLIC_IP
Host is up (0.014s latency).

PORT     STATE SERVICE
1194/tcp open  openvpn

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
```

Best,

-- 
Alexandre

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 17:07     ` Alexandre IOOSS
@ 2021-04-09 17:36       ` Fabrice Rouillier
  2021-04-09 18:17         ` Fabrice Rouillier
  0 siblings, 1 reply; 24+ messages in thread
From: Fabrice Rouillier @ 2021-04-09 17:36 UTC (permalink / raw)
  To: Alexandre IOOSS; +Cc: galene

First : I have founded a solution using a second server (still in a VM behind my rooter) implementing coturn, so I have now a working solution without any additional material.

But I am interesting in using the builtin turn so I will pay time to test and try to understand.

> Are you running Galène in a container, or directly on the machine?

Directly on the machine.

> Does your server have a firewall that would restrict 1194 in TCP/UDP?
> 
No.

> Last idea that might help to find the issue: you can try to scan for
> open ports on your public IP using `nmap`. You should see "openvpn" service.
> 
Good idea, I will try.

Best,

Fabrice.

> ```
> $ sudo nmap -sS -1194 PUBLIC_IP
> Starting Nmap 7.80 ( https://nmap.org ) at 2021-04-09 19:05 CEST
> Nmap scan report for PUBLIC_IP
> Host is up (0.014s latency).
> 
> PORT     STATE SERVICE
> 1194/tcp open  openvpn
> 
> Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
> ```
> 
> Best,
> 
> -- 
> Alexandre


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 17:36       ` Fabrice Rouillier
@ 2021-04-09 18:17         ` Fabrice Rouillier
  2021-04-10 14:19           ` Juliusz Chroboczek
  0 siblings, 1 reply; 24+ messages in thread
From: Fabrice Rouillier @ 2021-04-09 18:17 UTC (permalink / raw)
  To: Alexandre IOOSS; +Cc: galene

A complement due to my last try : the coturn server  and the  Galene server can co-exist on the same machine and everything works fine.

So one should concentrate on the -turn  EXTERNAL_IP:1194 that does not work properly with such a specific configuration.
 
Cheers,

Fabrice.

> Le 9 avr. 2021 à 19:36, Fabrice Rouillier <fabrice@rouillier.fr> a écrit :
> 
> First : I have founded a solution using a second server (still in a VM behind my rooter) implementing coturn, so I have now a working solution without any additional material.
> 
> But I am interesting in using the builtin turn so I will pay time to test and try to understand.
> 
>> Are you running Galène in a container, or directly on the machine?
> 
> Directly on the machine.
> 
>> Does your server have a firewall that would restrict 1194 in TCP/UDP?
>> 
> No.
> 
>> Last idea that might help to find the issue: you can try to scan for
>> open ports on your public IP using `nmap`. You should see "openvpn" service.
>> 
> Good idea, I will try.
> 
> Best,
> 
> Fabrice.
> 
>> ```
>> $ sudo nmap -sS -1194 PUBLIC_IP
>> Starting Nmap 7.80 ( https://nmap.org ) at 2021-04-09 19:05 CEST
>> Nmap scan report for PUBLIC_IP
>> Host is up (0.014s latency).
>> 
>> PORT     STATE SERVICE
>> 1194/tcp open  openvpn
>> 
>> Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
>> ```
>> 
>> Best,
>> 
>> -- 
>> Alexandre
> 


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Galene Turn
  2021-04-09 18:17         ` Fabrice Rouillier
@ 2021-04-10 14:19           ` Juliusz Chroboczek
       [not found]             ` <DA9640E4-A6E5-4748-A03B-3BB587E60E0E@rouillier.fr>
  0 siblings, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-10 14:19 UTC (permalink / raw)
  To: Fabrice Rouillier; +Cc: galene

> A complement due to my last try : the coturn server and the Galene
> server can co-exist on the same machine and everything works fine.  So
> one should concentrate on the -turn EXTERNAL_IP:1194 that does not work
> properly with such a specific configuration.

The problem is probably that your NAT doesn't implement hairpinning, so
Galène and the TURN server cannot communicate.  Coturn is probably
connecting over IPv6, which the built-in server doesn't handle.

Could you please check Galène's log for mentions of a relay test?  If the
server-side relay test (the one in Galène's log) fails, that's probably
indicative of a problem with hairpinning.

Fabrice — if your instance of Galène is behind NAT, then I strongly
recommend running an instance of coturn on a host that is not behind NAT.
Twiddling with NAT rules is fragile and error-prone, I doubt you'll be
able to run a robust service in that way.

-- Juliusz


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
       [not found]                 ` <833a546d-dbe2-00c4-273e-16bc6664a9f8@umontpellier.fr>
@ 2021-04-12  8:07                   ` Antonin Décimo
  2021-04-12 11:31                     ` Juliusz Chroboczek
  0 siblings, 1 reply; 24+ messages in thread
From: Antonin Décimo @ 2021-04-12  8:07 UTC (permalink / raw)
  To: Rémy Dernat, galene

> Then, I also added a configuration file to source in
> /etc/default/galene, containing (after creating the /var/log
> directories) :
>
> ARGS=" -memprofile /var/log/galene/mem.log -cpuprofile
> /var/log/galene/cpu.log"

I'm not sure if it's really useful to benchmark Galène, unless you
really want to use the profiler data to try to further optimize
Galène.

> By the way, if anyone knows how to use these {cpu,mem} profile files
> ...?

Try:
- https://golang.org/doc/diagnostics#profiling for an introduction;
- https://blog.golang.org/pprof for the complete tutorial.

-- Antonin

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
       [not found]               ` <AB725304-0B9D-4608-AA56-717A9BDC63D0@rouillier.fr>
       [not found]                 ` <833a546d-dbe2-00c4-273e-16bc6664a9f8@umontpellier.fr>
@ 2021-04-12 11:30                 ` Juliusz Chroboczek
       [not found]                   ` <9A33A220-E732-4284-9159-34391BDD78A6@rouillier.fr>
  2021-04-12 15:14                   ` [Galene] ephemeral port range config Michael Ströder
  1 sibling, 2 replies; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 11:30 UTC (permalink / raw)
  To: Fabrice Rouillier; +Cc: galene

> https://gitlab.inria.fr/rouillie/visio/-/tree/master/galene

Thanks a lot, Fabrice.

1. I could easily add an option to Galène to restrict the range of
   ephemeral ports used — for example, you could set the range of ports to
   50000-60000, and only these ports would need to be forwarded.  Let me
   know if you think this is useful.

2. If you're using the built-in TURN server behind NAT (not recommended),
   you need to set up hairpinning in your NAT.  I don't see any good way
   around it.  Please mention it in the README.

Thanks again,

-- Juliusz


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
  2021-04-12  8:07                   ` [Galene] Re: Installation Script Antonin Décimo
@ 2021-04-12 11:31                     ` Juliusz Chroboczek
       [not found]                       ` <85037a41-4903-4342-195b-5f5160f45823@umontpellier.fr>
  0 siblings, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 11:31 UTC (permalink / raw)
  To: Antonin Décimo; +Cc: Rémy Dernat, galene

>> ARGS=" -memprofile /var/log/galene/mem.log -cpuprofile
>> /var/log/galene/cpu.log"

> I'm not sure if it's really useful to benchmark Galène, unless you
> really want to use the profiler data to try to further optimize Galène.

I agree.

-- Juliusz


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Statistics [was: Installation Script]
       [not found]                       ` <85037a41-4903-4342-195b-5f5160f45823@umontpellier.fr>
@ 2021-04-12 14:42                         ` Juliusz Chroboczek
  2021-04-12 15:45                           ` [Galene] Re: Statistics Michael Ströder
                                             ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 14:42 UTC (permalink / raw)
  To: Dernat Rémy; +Cc: galene

> Would it be possible (if it is not already possible) to add these kind of
> data/output in a log flat file ?

Similar things have been discussed before, see for example here:

  https://github.com/jech/galene/pull/23

The problem is that nobody seems to have a clear idea what statistics need
to be provided, and how to provide statistics without sacrificing user
privacy -- I administer three instances of Galène right now, and I don't
want to know who is having a discussion with whom, it's none of my business.

What is more, Galène is designed to scale well on multicore systems, and
the patches to add statistics tend to introduce additional points of
contention.  (Since Go doesn't provide either CPU-local or thread-local
data, you'll need to implement sharding at the application level.)

So if you have a clear idea of what statistics are (1) useful to the
administrator, (2) don't impair user privacy, (3) are cheap to compute,
please outline your design, and we'll think together about how to
implement it without creating a point of contention.

-- Juliusz

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
       [not found]                   ` <9A33A220-E732-4284-9159-34391BDD78A6@rouillier.fr>
@ 2021-04-12 14:44                     ` Juliusz Chroboczek
  2021-04-12 15:01                       ` Toke Høiland-Jørgensen
  2021-04-12 15:11                     ` Michael Ströder
  1 sibling, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 14:44 UTC (permalink / raw)
  To: Fabrice Rouillier; +Cc: galene

> It might be useful to make possible the use of 2 distincts coturn servers 
> In my case I would like one for nextcloud and one for Galène.

> Nextcloud uses the use-auth-secret authentification and it turns out
> that I was unable to use it with Galene, event setting "credentialType":
> "hmac-sha1 » as described in your README file.

Strange.  Toke, can you confirm that it works for you?

> The installation script  do not the use the built-in  turn but install and
> configure coturn. Galene is launched with the « -turn auto » option.

Ah, I see.

> Would you like me to add this information ?

Please do.

-- Juliusz

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
  2021-04-12 14:44                     ` Juliusz Chroboczek
@ 2021-04-12 15:01                       ` Toke Høiland-Jørgensen
  0 siblings, 0 replies; 24+ messages in thread
From: Toke Høiland-Jørgensen @ 2021-04-12 15:01 UTC (permalink / raw)
  To: Juliusz Chroboczek, Fabrice Rouillier; +Cc: galene

Juliusz Chroboczek <jch@irif.fr> writes:

>> It might be useful to make possible the use of 2 distincts coturn servers 
>> In my case I would like one for nextcloud and one for Galène.
>
>> Nextcloud uses the use-auth-secret authentification and it turns out
>> that I was unable to use it with Galene, event setting "credentialType":
>> "hmac-sha1 » as described in your README file.
>
> Strange.  Toke, can you confirm that it works for you?

Yup:
Apr 07 20:35:28 video galene[172961]: 2021/04/07 20:35:28 Relay test successful in 40.204714ms, RTT = 335.309<C2><B5>s

ice-servers.json contains:
[
    {
        "urls":["turn:my.turn.server:500",
		"turn:my.turn.server:443?transport=tcp"],
        "username":"galene",
        "credential":"censored",
        "credentialType":"hmac-sha1"
    }
]

and my.turn.server has this in turnserver.conf:

listening-port=500
tls-listening-port=443
use-auth-secret
static-auth-secret=censored

-Toke

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
       [not found]                   ` <9A33A220-E732-4284-9159-34391BDD78A6@rouillier.fr>
  2021-04-12 14:44                     ` Juliusz Chroboczek
@ 2021-04-12 15:11                     ` Michael Ströder
  2021-04-12 15:17                       ` Fabrice Rouillier
  1 sibling, 1 reply; 24+ messages in thread
From: Michael Ströder @ 2021-04-12 15:11 UTC (permalink / raw)
  To: galene

On 4/12/21 4:40 PM, Fabrice Rouillier wrote:
> Nextcloud uses the use-auth-secret 
> 
> Authentification and it turns out that I was unable to use it with
> Galene, event setting "credentialType": "hmac-sha1 » as described in
> your README file.

It works for me every day.

Did you really comment out lt-cred-mech and add use-auth-secret in your
turnserver.conf? And did you correctly add the shared secret?

Ciao, Michael.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] ephemeral port range config
  2021-04-12 11:30                 ` [Galene] Re: Installation Script Juliusz Chroboczek
       [not found]                   ` <9A33A220-E732-4284-9159-34391BDD78A6@rouillier.fr>
@ 2021-04-12 15:14                   ` Michael Ströder
  1 sibling, 0 replies; 24+ messages in thread
From: Michael Ströder @ 2021-04-12 15:14 UTC (permalink / raw)
  To: galene

On 4/12/21 1:30 PM, Juliusz Chroboczek wrote:
> 1. I could easily add an option to Galène to restrict the range of
>    ephemeral ports used — for example, you could set the range of ports to
>    50000-60000, and only these ports would need to be forwarded.  Let me
>    know if you think this is useful.

Being a big fan of explicit configs I'd highly appreciate to have such a
config option.

Ciao, Michael.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Installation Script
  2021-04-12 15:11                     ` Michael Ströder
@ 2021-04-12 15:17                       ` Fabrice Rouillier
  0 siblings, 0 replies; 24+ messages in thread
From: Fabrice Rouillier @ 2021-04-12 15:17 UTC (permalink / raw)
  To: Michael Ströder; +Cc: galene

> 
> It works for me every day.
> 
> Did you really comment out lt-cred-mech and add use-auth-secret in your
> turnserver.conf? And did you correctly add the shared secret?
> 

Made another try few minutes ago, it works. Sorry for the noise, I did certainly mix things between many combinations.


Fabrice


> Ciao, Michael.
> _______________________________________________
> Galene mailing list -- galene@lists.galene.org
> To unsubscribe send an email to galene-leave@lists.galene.org


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics
  2021-04-12 14:42                         ` [Galene] Statistics [was: Installation Script] Juliusz Chroboczek
@ 2021-04-12 15:45                           ` Michael Ströder
  2021-04-12 16:10                             ` Juliusz Chroboczek
       [not found]                           ` <2181a7f4-ccd5-6688-75fa-047def644e42@umontpellier.fr>
  2021-04-12 16:44                           ` Alexandre IOOSS
  2 siblings, 1 reply; 24+ messages in thread
From: Michael Ströder @ 2021-04-12 15:45 UTC (permalink / raw)
  To: galene

On 4/12/21 4:42 PM, Juliusz Chroboczek wrote:
> So if you have a clear idea of what statistics are (1) useful to the
> administrator, (2) don't impair user privacy, (3) are cheap to compute,
> please outline your design, and we'll think together about how to
> implement it without creating a point of contention.

Current logging and statistics is poor when trying to solve issues.

In my case I'd often like to see which user has e.g. a long downstream
RTT. Because I can then correlate that with user's feedback.

How about showing usernames in /stats instead of just the raw ID but use
the operator role to authorize who can see details of a certain group?
Then the group operator can only see the group users which he/she can
already see while being in the group.

Ciao, Michael.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics [was: Installation Script]
       [not found]                           ` <2181a7f4-ccd5-6688-75fa-047def644e42@umontpellier.fr>
@ 2021-04-12 16:07                             ` Juliusz Chroboczek
  0 siblings, 0 replies; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 16:07 UTC (permalink / raw)
  To: Dernat Rémy; +Cc: galene

> (1) The way I see it, useful stats would be to add something that allow an
> admin to check the hardware/VM load compare to the number of rooms*users.

> eg: %%TIMESTAMP%% 4 rooms with a total of 130 users with a mean resolution ...
> and bandwidth ...

> A data with %users{Mic On/Webcam On} would also be useful, as well as % of drop
> packets.

You've got that already in /stats.  It would be quite easy to add
averages, although I'm not sure if the average is useful (the number of
outliers, as suggested by Michael, is perhaps more useful).

There should be no issue with periodically dumping them to a file (say,
every 30s or so).

-- Juliusz

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics
  2021-04-12 15:45                           ` [Galene] Re: Statistics Michael Ströder
@ 2021-04-12 16:10                             ` Juliusz Chroboczek
  2021-04-12 16:19                               ` Michael Ströder
  0 siblings, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-12 16:10 UTC (permalink / raw)
  To: Michael Ströder; +Cc: galene

> How about showing usernames in /stats instead of just the raw ID

Using the id instead of the username is deliberate -- I want to be able to
check what's going on without knowing who is speaking with whom.  The latter,
I feel, would be a violation of privacy.

This is doubtless my personal feeling, so please feel free to add that
kind of monitoring to your copy of Galène.  For privacy reasons, however,
I won't be adding it to either the instances I deploy or to the master branch.

Sorry for that.

-- Juliusz

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics
  2021-04-12 16:10                             ` Juliusz Chroboczek
@ 2021-04-12 16:19                               ` Michael Ströder
  0 siblings, 0 replies; 24+ messages in thread
From: Michael Ströder @ 2021-04-12 16:19 UTC (permalink / raw)
  To: galene

On 4/12/21 6:10 PM, Juliusz Chroboczek wrote:
>> How about showing usernames in /stats instead of just the raw ID
> 
> Using the id instead of the username is deliberate -- I want to be able to
> check what's going on without knowing who is speaking with whom.  The latter,
> I feel, would be a violation of privacy.
> 
> This is doubtless my personal feeling, so please feel free to add that
> kind of monitoring to your copy of Galène.  For privacy reasons, however,
> I won't be adding it to either the instances I deploy or to the master branch.

I'd argue you get the best privacy by running your own Galène instance.

For this reason it should be more easy for an admin to sort out issues.
Otherwise people will switch over to whatever video-conferencing hosted
by a 3rd party.

You could make it configurable.

Ciao, Michael.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics [was: Installation Script]
  2021-04-12 14:42                         ` [Galene] Statistics [was: Installation Script] Juliusz Chroboczek
  2021-04-12 15:45                           ` [Galene] Re: Statistics Michael Ströder
       [not found]                           ` <2181a7f4-ccd5-6688-75fa-047def644e42@umontpellier.fr>
@ 2021-04-12 16:44                           ` Alexandre IOOSS
       [not found]                             ` <2a066161-4589-97b5-2062-733b5b9304d4@umontpellier.fr>
  2 siblings, 1 reply; 24+ messages in thread
From: Alexandre IOOSS @ 2021-04-12 16:44 UTC (permalink / raw)
  To: Juliusz Chroboczek, Dernat Rémy; +Cc: galene

On 4/12/21 4:42 PM, Juliusz Chroboczek wrote:
>> Would it be possible (if it is not already possible) to add these kind of
>> data/output in a log flat file ?
> 
> Similar things have been discussed before, see for example here:
> 
>    https://github.com/jech/galene/pull/23
> 
> The problem is that nobody seems to have a clear idea what statistics need
> to be provided, and how to provide statistics without sacrificing user
> privacy -- I administer three instances of Galène right now, and I don't
> want to know who is having a discussion with whom, it's none of my business.

What about showing on /stats:

  * Total number of users that joined a group since the instance started 
(incremental counter),
  * Total number of audio/video streams since the instance started,
  * Total connection to the TURN since the instance started,
  * Min/Max/Average RTT (this would be CPU heavy...?).

I believe we don't want to expose more as it would introduce privacy 
concerns.

> What is more, Galène is designed to scale well on multicore systems, and
> the patches to add statistics tend to introduce additional points of
> contention.  (Since Go doesn't provide either CPU-local or thread-local
> data, you'll need to implement sharding at the application level.)

`/stats` already exists. We could make it more easy to parse by a 
script. Do we need HTML on this page?

I am not really fan of having Galène pushing logs to a file, I would 
much rather keep the current "pull" system in which an admin has to go 
to `/stats`. It is then possible to fetch this page and save it to a log 
file (e.g. cron, systemd timer, monitoring system...).

Best,

-- 
Alexandre

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics [was: Installation Script]
       [not found]                             ` <2a066161-4589-97b5-2062-733b5b9304d4@umontpellier.fr>
@ 2021-04-13 10:20                               ` Juliusz Chroboczek
       [not found]                                 ` <3e2b9b92-0a1a-9946-9112-8ed4be9df183@umontpellier.fr>
  0 siblings, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-13 10:20 UTC (permalink / raw)
  To: Dernat Rémy; +Cc: Alexandre IOOSS, galene

> BTW, I will double check it, but I may have an issue on my /stats page, as I do
> not see any metric.

The stats page gives instantaneous information: you won't see anything if
there are no media flows flowing through Galène.  On a busy server, you'll
see a small number of statistics on every media flow (throughput, packet
loss, RTT, and jitter).

-- Juliusz

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics [was: Installation Script]
       [not found]                                 ` <3e2b9b92-0a1a-9946-9112-8ed4be9df183@umontpellier.fr>
@ 2021-04-13 12:11                                   ` Juliusz Chroboczek
  2021-04-13 12:58                                     ` Michael Ströder
  0 siblings, 1 reply; 24+ messages in thread
From: Juliusz Chroboczek @ 2021-04-13 12:11 UTC (permalink / raw)
  To: Dernat Rémy; +Cc: Alexandre IOOSS, galene

> the html page might be difficult to parse (need web scraping ?) to get
> those data for a longer period.

Solution 1: add a /stats.json in addition to /stats

Solution 2: create /stats.json, and replace /stats with a piece of
            JavaScript that fetches /stats.json and formats it.

Preferences?  Other ideas?

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Galene] Re: Statistics [was: Installation Script]
  2021-04-13 12:11                                   ` Juliusz Chroboczek
@ 2021-04-13 12:58                                     ` Michael Ströder
  0 siblings, 0 replies; 24+ messages in thread
From: Michael Ströder @ 2021-04-13 12:58 UTC (permalink / raw)
  To: galene

On 4/13/21 2:11 PM, Juliusz Chroboczek wrote:
>> the html page might be difficult to parse (need web scraping ?) to get
>> those data for a longer period.
> 
> Solution 1: add a /stats.json in addition to /stats
> 
> Solution 2: create /stats.json, and replace /stats with a piece of
>             JavaScript that fetches /stats.json and formats it.
> 
> Preferences?  Other ideas?

/stats?fmt=metrics

Prometheus/grafana combo is quite popular today.

https://prometheus.io/docs/guides/go-application/

https://github.com/prometheus/client_golang

Problem is to get the metrics labeling right because currently the
streams are grouped by random IDs in /stats. And many random labels
will result in separate many time-series...

Ciao, Michael.

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2021-04-13 12:58 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <6AF7B2D8-D370-432F-BCB8-C714C1DED4CC@rouillier.fr>
2021-04-09 15:12 ` [Galene] Re: Galene Turn Alexandre IOOSS
2021-04-09 15:32   ` Fabrice Rouillier
2021-04-09 15:37     ` Fabrice Rouillier
2021-04-09 17:07     ` Alexandre IOOSS
2021-04-09 17:36       ` Fabrice Rouillier
2021-04-09 18:17         ` Fabrice Rouillier
2021-04-10 14:19           ` Juliusz Chroboczek
     [not found]             ` <DA9640E4-A6E5-4748-A03B-3BB587E60E0E@rouillier.fr>
     [not found]               ` <AB725304-0B9D-4608-AA56-717A9BDC63D0@rouillier.fr>
     [not found]                 ` <833a546d-dbe2-00c4-273e-16bc6664a9f8@umontpellier.fr>
2021-04-12  8:07                   ` [Galene] Re: Installation Script Antonin Décimo
2021-04-12 11:31                     ` Juliusz Chroboczek
     [not found]                       ` <85037a41-4903-4342-195b-5f5160f45823@umontpellier.fr>
2021-04-12 14:42                         ` [Galene] Statistics [was: Installation Script] Juliusz Chroboczek
2021-04-12 15:45                           ` [Galene] Re: Statistics Michael Ströder
2021-04-12 16:10                             ` Juliusz Chroboczek
2021-04-12 16:19                               ` Michael Ströder
     [not found]                           ` <2181a7f4-ccd5-6688-75fa-047def644e42@umontpellier.fr>
2021-04-12 16:07                             ` [Galene] Re: Statistics [was: Installation Script] Juliusz Chroboczek
2021-04-12 16:44                           ` Alexandre IOOSS
     [not found]                             ` <2a066161-4589-97b5-2062-733b5b9304d4@umontpellier.fr>
2021-04-13 10:20                               ` Juliusz Chroboczek
     [not found]                                 ` <3e2b9b92-0a1a-9946-9112-8ed4be9df183@umontpellier.fr>
2021-04-13 12:11                                   ` Juliusz Chroboczek
2021-04-13 12:58                                     ` Michael Ströder
2021-04-12 11:30                 ` [Galene] Re: Installation Script Juliusz Chroboczek
     [not found]                   ` <9A33A220-E732-4284-9159-34391BDD78A6@rouillier.fr>
2021-04-12 14:44                     ` Juliusz Chroboczek
2021-04-12 15:01                       ` Toke Høiland-Jørgensen
2021-04-12 15:11                     ` Michael Ströder
2021-04-12 15:17                       ` Fabrice Rouillier
2021-04-12 15:14                   ` [Galene] ephemeral port range config Michael Ströder

Galène videoconferencing server discussion list archives

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://lists.galene.org/galene

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 galene galene/ https://lists.galene.org/galene \
		galene@lists.galene.org
	public-inbox-index galene

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git