Merge pull request #840 from lionelnicolas/feature/prometheus-port

Add ability to configure prometheus listener port
This commit is contained in:
Gustavo Garcia 2022-07-29 01:03:58 +02:00 committed by GitHub
commit ecdc8893ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 7 deletions

View File

@ -281,10 +281,13 @@ Flags:
check: across the session, all requests must have the same
main ORIGIN attribute value (if the ORIGIN was
initially used by the session).
--prometheus Enable prometheus metrics. By default it is
disabled. Would listen on port 9641 unther the path /metrics
--prometheus Enable prometheus metrics. By default it is
disabled. Would listen on port 9641 under the path /metrics
also the path / on this port can be used as a health check
--prometheus-port Prometheus listener port (Default: 9641).
-h Help.
Options with values:

View File

@ -422,13 +422,16 @@ The flag that sets the origin consistency
check: across the session, all requests must have the same
main ORIGIN attribute value (if the ORIGIN was
initially used by the session).
.RS
.TP
.B
\fB\-\-prometheus\fP
Enable prometheus metrics. By default it is
disabled. Would listen on port 9641 unther the path /metrics
disabled. Would listen on port 9641 under the path /metrics
also the path / on this port can be used as a health check
.TP
.B
\fB\-\-prometheus\-port\fP
Prometheus listener port (Default: 9641).
.RE
.TP
.B

View File

@ -173,6 +173,7 @@ TURN_CREDENTIALS_NONE, /* ct */
0, /* user_quota */
#if !defined(TURN_NO_PROMETHEUS)
0, /* prometheus disabled by default */
DEFAULT_PROM_SERVER_PORT, /* prometheus port */
#endif
///////////// Users DB //////////////
{ (TURN_USERDB_TYPE)0, {"\0"}, {0,NULL, {NULL,0}} },
@ -557,8 +558,9 @@ static char Usage[] = "Usage: turnserver [options]\n"
" The connection string has the same parameters as redis-userdb connection string.\n"
#endif
#if !defined(TURN_NO_PROMETHEUS)
" --prometheus Enable prometheus metrics. It is disabled by default. If it is enabled it will listen on port 9641 unther the path /metrics\n"
" --prometheus Enable prometheus metrics. It is disabled by default. If it is enabled it will listen on port 9641 under the path /metrics\n"
" also the path / on this port can be used as a health check\n"
" --prometheus-port <port> Prometheus metrics port (Default: 9641).\n"
#endif
" --use-auth-secret TURN REST API flag.\n"
" Flag that sets a special authorization option that is based upon authentication secret\n"
@ -787,6 +789,7 @@ enum EXTRA_OPTS {
CHANNEL_LIFETIME_OPT,
PERMISSION_LIFETIME_OPT,
PROMETHEUS_OPT,
PROMETHEUS_PORT_OPT,
AUTH_SECRET_OPT,
NO_AUTH_PINGS_OPT,
NO_DYNAMIC_IP_LIST_OPT,
@ -902,6 +905,7 @@ static const struct myoption long_options[] = {
#endif
#if !defined(TURN_NO_PROMETHEUS)
{ "prometheus", optional_argument, NULL, PROMETHEUS_OPT },
{ "prometheus-port", optional_argument, NULL, PROMETHEUS_PORT_OPT },
#endif
{ "use-auth-secret", optional_argument, NULL, AUTH_SECRET_OPT },
{ "static-auth-secret", required_argument, NULL, STATIC_AUTH_SECRET_VAL_OPT },
@ -1534,6 +1538,9 @@ static void set_option(int c, char *value)
case PROMETHEUS_OPT:
turn_params.prometheus = 1;
break;
case PROMETHEUS_PORT_OPT:
turn_params.prometheus_port = atoi(value);
break;
#endif
case AUTH_SECRET_OPT:
turn_params.use_auth_secret_with_timestamp = 1;

View File

@ -318,7 +318,8 @@ typedef struct _turn_params_ {
vint total_quota;
vint user_quota;
#if !defined(TURN_NO_PROMETHEUS)
int prometheus;
int prometheus;
int prometheus_port;
#endif

View File

@ -60,7 +60,7 @@ int start_prometheus_server(void){
promhttp_set_active_collector_registry(NULL);
struct MHD_Daemon *daemon = promhttp_start_daemon(MHD_USE_SELECT_INTERNALLY, DEFAULT_PROM_SERVER_PORT, NULL, NULL);
struct MHD_Daemon *daemon = promhttp_start_daemon(MHD_USE_SELECT_INTERNALLY, turn_params.prometheus_port, NULL, NULL);
if (daemon == NULL) {
return -1;
}