diff --git a/roles/jabber-frontend/meta/main.yml b/roles/jabber-frontend/meta/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..f1ad4172678530117967095ac9e125aff77f13cf --- /dev/null +++ b/roles/jabber-frontend/meta/main.yml @@ -0,0 +1,5 @@ +--- + +dependencies: + - { role: account-automation-frontend } + diff --git a/roles/prosody/templates/prosody.cfg.lua.j2 b/roles/prosody/templates/prosody.cfg.lua.j2 index ac81b1084af87aafb9775fcdacb64f5c9d98f87b..7d690335ca7e42b0bd011a7afe2c13b2ababb4b2 100644 --- a/roles/prosody/templates/prosody.cfg.lua.j2 +++ b/roles/prosody/templates/prosody.cfg.lua.j2 @@ -37,6 +37,7 @@ modules_enabled = { --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 -- HTTP modules + "http"; -- Needed to serve the metrics "http_files"; -- Serve static files from a directory over HTTP -- "http_upload"; -- Enable XEP-0363 which let clients upload files over HTTP "http_upload_external"; -- Enable XEP-0363, which lets clients upload files over HTTP to an external web server. @@ -55,8 +56,22 @@ modules_enabled = { -- System-level modules "net_proxy"; + + -- Metrics + "http_openmetrics"; } +-- statistics and metrics +http_ports = { 5282 } +--- The http_openmetrics module exposes the metrics gathered by this internal +--- mechanism +statistics = "internal" +-- this is fine iff we have only one Prometheus instance +statistics_interval = "manual" + +-- This is needed to allow external services to query the openmetrics endpoint +openmetrics_allowed_cidr = "0.0.0.0/0" + allow_registration = false archive_expires_after = "1w" @@ -141,3 +156,5 @@ Component "conference.jabber.{{ domain }}" "muc" Component "proxy.jabber.{{ domain }}" "proxy65" {% endfor %} + +-- vim:set syntax=lua: diff --git a/services.im.yml b/services.im.yml index db59e069e9cae5e63e440d25dac33f79391e18a3..f766cb56046c8ac7d818f31949a02e467935e69e 100644 --- a/services.im.yml +++ b/services.im.yml @@ -12,6 +12,7 @@ jabber: - 5222 - 5269 - 5280 + - 5282 - 15222 - 15269 - 15280 @@ -43,6 +44,8 @@ jabber: public: 5269 - internal: 15280 public: 5280 + - internal: 5282 + public: 5282 datasets: - name: data @@ -59,5 +62,9 @@ jabber: params: compress: true + monitoring_endpoints: + - port: 5282 + scheme: http + systemd_services: - replds@acme.service