docs: enhance environment variables documentation and add Prometheus metrics examples for Remnawave Panel

This commit is contained in:
kastov
2026-04-09 19:21:48 +03:00
parent 593a5285a5
commit 284f5d3c48
2 changed files with 471 additions and 14 deletions

View File

@@ -138,11 +138,238 @@ node_online_users * on(node_uuid) group_left(node_name) node_basic_info
You can use the updated Grafana dashboard compatible with v2.7.0 metrics: [Remnawave Panel Dashboard](https://grafana.com/grafana/dashboards/25064-remnawave-monitoring-dashboard/)
<details>
<summary>Prometheus Metrics sample</summary>
```
# HELP remnawave_node_online_users Number of online users on a node
# TYPE remnawave_node_online_users gauge
remnawave_node_online_users{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",app="remnawave"} 0
remnawave_node_online_users{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",app="remnawave"} 0
remnawave_node_online_users{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 0
remnawave_node_online_users{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 0
# HELP remnawave_node_status Node connection status (1 - connected, 0 - disconnected)
# TYPE remnawave_node_status gauge
remnawave_node_status{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",app="remnawave"} 0
remnawave_node_status{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",app="remnawave"} 0
remnawave_node_status{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1
remnawave_node_status{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1
# HELP remnawave_users_status Counter for users statuses, updated every 1 minute
# TYPE remnawave_users_status gauge
remnawave_users_status{status="ACTIVE",app="remnawave"} 80000
remnawave_users_status{status="DISABLED",app="remnawave"} 4
remnawave_users_status{status="LIMITED",app="remnawave"} 0
remnawave_users_status{status="EXPIRED",app="remnawave"} 4
# HELP remnawave_users_online_stats Counter for online stats of distinct users, updated every 1 minute
# TYPE remnawave_users_online_stats gauge
remnawave_users_online_stats{metricType="onlineNow",app="remnawave"} 0
remnawave_users_online_stats{metricType="lastDay",app="remnawave"} 0
remnawave_users_online_stats{metricType="lastWeek",app="remnawave"} 1
remnawave_users_online_stats{metricType="neverOnline",app="remnawave"} 80002
# HELP remnawave_users_total Total number of users, updated every 1 minute
# TYPE remnawave_users_total gauge
remnawave_users_total{type="all",app="remnawave"} 80008
# HELP remnawave_node_inbound_upload_bytes Inbound upload bytes, updated every 30 seconds
# TYPE remnawave_node_inbound_upload_bytes counter
remnawave_node_inbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="VLESS_TCP_REALITY",app="remnawave"} 1778
remnawave_node_inbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="REMNAWAVE_API_INBOUND",app="remnawave"} 583
# HELP remnawave_node_inbound_download_bytes Inbound download bytes, updated every 30 seconds
# TYPE remnawave_node_inbound_download_bytes counter
remnawave_node_inbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="VLESS_TCP_REALITY",app="remnawave"} 5439
remnawave_node_inbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="REMNAWAVE_API_INBOUND",app="remnawave"} 1043
# HELP remnawave_node_outbound_upload_bytes Outbound upload bytes, updated every 30 seconds
# TYPE remnawave_node_outbound_upload_bytes counter
remnawave_node_outbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="BLOCK",app="remnawave"} 0
remnawave_node_outbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="DIRECT",app="remnawave"} 1740
# HELP remnawave_node_outbound_download_bytes Outbound download bytes, updated every 30 seconds
# TYPE remnawave_node_outbound_download_bytes counter
remnawave_node_outbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="BLOCK",app="remnawave"} 0
remnawave_node_outbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="DIRECT",app="remnawave"} 5437
# HELP remnawave_process_rss_bytes Process resident set size in bytes.
# TYPE remnawave_process_rss_bytes gauge
remnawave_process_rss_bytes{instance_id="0",instance_name="processor",app="remnawave"} 178515968
remnawave_process_rss_bytes{instance_id="0",instance_name="api",app="remnawave"} 247222272
remnawave_process_rss_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 178470912
remnawave_process_rss_bytes{instance_id="1",instance_name="api",app="remnawave"} 248770560
# HELP remnawave_process_heap_used_bytes Process heap used in bytes.
# TYPE remnawave_process_heap_used_bytes gauge
remnawave_process_heap_used_bytes{instance_id="0",instance_name="processor",app="remnawave"} 79360240
remnawave_process_heap_used_bytes{instance_id="0",instance_name="api",app="remnawave"} 84165184
remnawave_process_heap_used_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 79288240
remnawave_process_heap_used_bytes{instance_id="1",instance_name="api",app="remnawave"} 82517568
# HELP remnawave_process_heap_total_bytes Process total heap size in bytes.
# TYPE remnawave_process_heap_total_bytes gauge
remnawave_process_heap_total_bytes{instance_id="0",instance_name="processor",app="remnawave"} 90984448
remnawave_process_heap_total_bytes{instance_id="0",instance_name="api",app="remnawave"} 89411584
remnawave_process_heap_total_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 95440896
remnawave_process_heap_total_bytes{instance_id="1",instance_name="api",app="remnawave"} 93343744
# HELP remnawave_process_external_bytes Process external memory in bytes (C++ objects bound to JS).
# TYPE remnawave_process_external_bytes gauge
remnawave_process_external_bytes{instance_id="0",instance_name="processor",app="remnawave"} 4040229
remnawave_process_external_bytes{instance_id="0",instance_name="api",app="remnawave"} 4066479
remnawave_process_external_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 4021582
remnawave_process_external_bytes{instance_id="1",instance_name="api",app="remnawave"} 7595484
# HELP remnawave_process_array_buffers_bytes Process ArrayBuffers memory in bytes.
# TYPE remnawave_process_array_buffers_bytes gauge
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="processor",app="remnawave"} 197378
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="api",app="remnawave"} 222529
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 171671
remnawave_process_array_buffers_bytes{instance_id="1",instance_name="api",app="remnawave"} 3751534
# HELP remnawave_process_event_loop_delay_ms Mean event loop delay in milliseconds.
# TYPE remnawave_process_event_loop_delay_ms gauge
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="processor",app="remnawave"} 20.104262477732792
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="api",app="remnawave"} 20.102243096774195
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="scheduler",app="remnawave"} 20.095705651821863
remnawave_process_event_loop_delay_ms{instance_id="1",instance_name="api",app="remnawave"} 20.109312
# HELP remnawave_process_event_loop_p99_ms Event loop delay p99 in milliseconds.
# TYPE remnawave_process_event_loop_p99_ms gauge
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="processor",app="remnawave"} 20.627455
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="api",app="remnawave"} 20.316159
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="scheduler",app="remnawave"} 20.414463
remnawave_process_event_loop_p99_ms{instance_id="1",instance_name="api",app="remnawave"} 20.381695
# HELP remnawave_process_active_handles Number of active resource handles.
# TYPE remnawave_process_active_handles gauge
remnawave_process_active_handles{instance_id="0",instance_name="processor",app="remnawave"} 145
remnawave_process_active_handles{instance_id="0",instance_name="api",app="remnawave"} 29
remnawave_process_active_handles{instance_id="0",instance_name="scheduler",app="remnawave"} 48
remnawave_process_active_handles{instance_id="1",instance_name="api",app="remnawave"} 29
# HELP remnawave_process_uptime_seconds Process uptime in seconds.
# TYPE remnawave_process_uptime_seconds gauge
remnawave_process_uptime_seconds{instance_id="0",instance_name="processor",app="remnawave"} 264694.362842572
remnawave_process_uptime_seconds{instance_id="0",instance_name="api",app="remnawave"} 264694.512636422
remnawave_process_uptime_seconds{instance_id="0",instance_name="scheduler",app="remnawave"} 264694.569192717
remnawave_process_uptime_seconds{instance_id="1",instance_name="api",app="remnawave"} 264694.753156229
# HELP remnawave_node_network_rx_bytes_per_sec Node network receive speed in bytes per second
# TYPE remnawave_node_network_rx_bytes_per_sec gauge
remnawave_node_network_rx_bytes_per_sec{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 197.8021978021978
remnawave_node_network_rx_bytes_per_sec{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 197.60479041916167
# HELP remnawave_node_network_tx_bytes_per_sec Node network transmit speed in bytes per second
# TYPE remnawave_node_network_tx_bytes_per_sec gauge
remnawave_node_network_tx_bytes_per_sec{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 197.8021978021978
remnawave_node_network_tx_bytes_per_sec{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 197.60479041916167
# HELP remnawave_node_network_rx_bytes_total Node network total received bytes since boot from default interface
# TYPE remnawave_node_network_rx_bytes_total gauge
remnawave_node_network_rx_bytes_total{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1812802415
remnawave_node_network_rx_bytes_total{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 28468345531
# HELP remnawave_node_network_tx_bytes_total Node network total transmitted bytes since boot from default interface
# TYPE remnawave_node_network_tx_bytes_total gauge
remnawave_node_network_tx_bytes_total{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1528776659
remnawave_node_network_tx_bytes_total{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 18385221081
# HELP remnawave_node_memory_total_bytes Node total memory in bytes
# TYPE remnawave_node_memory_total_bytes gauge
remnawave_node_memory_total_bytes{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 32853663744
remnawave_node_memory_total_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1008193536
# HELP remnawave_node_memory_free_bytes Node free memory in bytes
# TYPE remnawave_node_memory_free_bytes gauge
remnawave_node_memory_free_bytes{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 31891734528
remnawave_node_memory_free_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 540762112
# HELP remnawave_node_uptime_seconds Node OS uptime in seconds
# TYPE remnawave_node_uptime_seconds gauge
remnawave_node_uptime_seconds{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1655366.32
remnawave_node_uptime_seconds{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 2171673.48
# HELP remnawave_node_cpu_count Node CPU count
# TYPE remnawave_node_cpu_count gauge
remnawave_node_cpu_count{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 16
remnawave_node_cpu_count{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1
# HELP remnawave_node_system_info Node system info
# TYPE remnawave_node_system_info gauge
remnawave_node_system_info{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",arch="x64",cpu_model="AMD EPYC-Genoa Processor",hostname="remnanode",platform="linux",release="6.8.0-52-generic",version="#53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025",app="remnawave"} 1
remnawave_node_system_info{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",arch="x64",cpu_model="Intel Core Processor (Broadwell, IBRS)",hostname="remnanode",platform="linux",release="6.8.0-101-generic",version="#101-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 9 10:15:05 UTC 2026",app="remnawave"} 1
# HELP remnawave_node_basic_info Node basic info
# TYPE remnawave_node_basic_info gauge
remnawave_node_basic_info{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",node_name="tester-1",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",node_name="tester-2",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",node_name="tester-3",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",node_name="tester-4",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
````
</details>
#### 3. New optional variable
```bash title=".env"
PANEL_DOMAIN=panel.domain.com
```
````
Used for generating direct links (e.g. in Telegram notifications with inline buttons).

View File

@@ -158,17 +158,17 @@ JWT_API_TOKENS_SECRET=strong_secret_key
Each notification variable uses the unified format: `chat_id:thread_id`, where `thread_id` is optional.
| Variable | Description | Default | Possible values |
| ----------------------------------- | ---------------------------------------------- | ------- | --------------- |
| `IS_TELEGRAM_NOTIFICATIONS_ENABLED` | Disable/Enable Telegram notifications | `false` | `true`, `false` |
| `TELEGRAM_BOT_TOKEN` | The token for the Telegram bot | | |
| `TELEGRAM_BOT_API_ROOT` | Custom Telegram Bot API root URL (optional) | `https://api.telegram.org` | |
| `TELEGRAM_BOT_PROXY` | Proxy for Telegram Bot (optional) | | `protocol://user:password@host:port` |
| `TELEGRAM_NOTIFY_USERS` | Notifications about user events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_NODES` | Notifications about node events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_CRM` | Notifications about CRM events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_SERVICE` | Notifications about service events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_TBLOCKER` | Notifications about Torrent Blocker events | | `chat_id` or `chat_id:thread_id` |
| Variable | Description | Default | Possible values |
| ----------------------------------- | ------------------------------------------- | -------------------------- | ------------------------------------ |
| `IS_TELEGRAM_NOTIFICATIONS_ENABLED` | Disable/Enable Telegram notifications | `false` | `true`, `false` |
| `TELEGRAM_BOT_TOKEN` | The token for the Telegram bot | | |
| `TELEGRAM_BOT_API_ROOT` | Custom Telegram Bot API root URL (optional) | `https://api.telegram.org` | |
| `TELEGRAM_BOT_PROXY` | Proxy for Telegram Bot (optional) | | `protocol://user:password@host:port` |
| `TELEGRAM_NOTIFY_USERS` | Notifications about user events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_NODES` | Notifications about node events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_CRM` | Notifications about CRM events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_SERVICE` | Notifications about service events | | `chat_id` or `chat_id:thread_id` |
| `TELEGRAM_NOTIFY_TBLOCKER` | Notifications about Torrent Blocker events | | `chat_id` or `chat_id:thread_id` |
:::note
Telegram Group Chat ID always starts with `-100`.
@@ -208,8 +208,8 @@ TELEGRAM_NOTIFY_TBLOCKER=change_me
| ------------------- | ---------------------------------------------- | --------------------- | -------- |
| `SUB_PUBLIC_DOMAIN` | The domain and path of public subscription URL | `example.com/api/sub` | Yes |
| Variable | Description | Default | Required |
| -------------- | ---------------------------------------------------------------------------------- | ------- | -------- |
| Variable | Description | Default | Required |
| -------------- | --------------------------------------------------------------------------------------------- | ------- | -------- |
| `PANEL_DOMAIN` | Panel domain for generating direct links (e.g. in Telegram notifications with inline buttons) | | No |
`SUB_PUBLIC_DOMAIN` is used to set the public subscription URL in RestAPI responses/UI in dashboard.
@@ -304,6 +304,235 @@ scrape_configs:
password: change_me
```
You can use the ready-made Grafana dashboard to visualize collected metrics: [Remnawave Panel Dashboard](https://grafana.com/grafana/dashboards/25064-remnawave-monitoring-dashboard/)
<details>
<summary>Prometheus Metrics sample</summary>
```
# HELP remnawave_node_online_users Number of online users on a node
# TYPE remnawave_node_online_users gauge
remnawave_node_online_users{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",app="remnawave"} 0
remnawave_node_online_users{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",app="remnawave"} 0
remnawave_node_online_users{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 0
remnawave_node_online_users{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 0
# HELP remnawave_node_status Node connection status (1 - connected, 0 - disconnected)
# TYPE remnawave_node_status gauge
remnawave_node_status{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",app="remnawave"} 0
remnawave_node_status{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",app="remnawave"} 0
remnawave_node_status{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1
remnawave_node_status{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1
# HELP remnawave_users_status Counter for users statuses, updated every 1 minute
# TYPE remnawave_users_status gauge
remnawave_users_status{status="ACTIVE",app="remnawave"} 80000
remnawave_users_status{status="DISABLED",app="remnawave"} 4
remnawave_users_status{status="LIMITED",app="remnawave"} 0
remnawave_users_status{status="EXPIRED",app="remnawave"} 4
# HELP remnawave_users_online_stats Counter for online stats of distinct users, updated every 1 minute
# TYPE remnawave_users_online_stats gauge
remnawave_users_online_stats{metricType="onlineNow",app="remnawave"} 0
remnawave_users_online_stats{metricType="lastDay",app="remnawave"} 0
remnawave_users_online_stats{metricType="lastWeek",app="remnawave"} 1
remnawave_users_online_stats{metricType="neverOnline",app="remnawave"} 80002
# HELP remnawave_users_total Total number of users, updated every 1 minute
# TYPE remnawave_users_total gauge
remnawave_users_total{type="all",app="remnawave"} 80008
# HELP remnawave_node_inbound_upload_bytes Inbound upload bytes, updated every 30 seconds
# TYPE remnawave_node_inbound_upload_bytes counter
remnawave_node_inbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="VLESS_TCP_REALITY",app="remnawave"} 1778
remnawave_node_inbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="REMNAWAVE_API_INBOUND",app="remnawave"} 583
# HELP remnawave_node_inbound_download_bytes Inbound download bytes, updated every 30 seconds
# TYPE remnawave_node_inbound_download_bytes counter
remnawave_node_inbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="VLESS_TCP_REALITY",app="remnawave"} 5439
remnawave_node_inbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="REMNAWAVE_API_INBOUND",app="remnawave"} 1043
# HELP remnawave_node_outbound_upload_bytes Outbound upload bytes, updated every 30 seconds
# TYPE remnawave_node_outbound_upload_bytes counter
remnawave_node_outbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="BLOCK",app="remnawave"} 0
remnawave_node_outbound_upload_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="DIRECT",app="remnawave"} 1740
# HELP remnawave_node_outbound_download_bytes Outbound download bytes, updated every 30 seconds
# TYPE remnawave_node_outbound_download_bytes counter
remnawave_node_outbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="BLOCK",app="remnawave"} 0
remnawave_node_outbound_download_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",tag="DIRECT",app="remnawave"} 5437
# HELP remnawave_process_rss_bytes Process resident set size in bytes.
# TYPE remnawave_process_rss_bytes gauge
remnawave_process_rss_bytes{instance_id="0",instance_name="processor",app="remnawave"} 178515968
remnawave_process_rss_bytes{instance_id="0",instance_name="api",app="remnawave"} 247222272
remnawave_process_rss_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 178470912
remnawave_process_rss_bytes{instance_id="1",instance_name="api",app="remnawave"} 248770560
# HELP remnawave_process_heap_used_bytes Process heap used in bytes.
# TYPE remnawave_process_heap_used_bytes gauge
remnawave_process_heap_used_bytes{instance_id="0",instance_name="processor",app="remnawave"} 79360240
remnawave_process_heap_used_bytes{instance_id="0",instance_name="api",app="remnawave"} 84165184
remnawave_process_heap_used_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 79288240
remnawave_process_heap_used_bytes{instance_id="1",instance_name="api",app="remnawave"} 82517568
# HELP remnawave_process_heap_total_bytes Process total heap size in bytes.
# TYPE remnawave_process_heap_total_bytes gauge
remnawave_process_heap_total_bytes{instance_id="0",instance_name="processor",app="remnawave"} 90984448
remnawave_process_heap_total_bytes{instance_id="0",instance_name="api",app="remnawave"} 89411584
remnawave_process_heap_total_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 95440896
remnawave_process_heap_total_bytes{instance_id="1",instance_name="api",app="remnawave"} 93343744
# HELP remnawave_process_external_bytes Process external memory in bytes (C++ objects bound to JS).
# TYPE remnawave_process_external_bytes gauge
remnawave_process_external_bytes{instance_id="0",instance_name="processor",app="remnawave"} 4040229
remnawave_process_external_bytes{instance_id="0",instance_name="api",app="remnawave"} 4066479
remnawave_process_external_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 4021582
remnawave_process_external_bytes{instance_id="1",instance_name="api",app="remnawave"} 7595484
# HELP remnawave_process_array_buffers_bytes Process ArrayBuffers memory in bytes.
# TYPE remnawave_process_array_buffers_bytes gauge
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="processor",app="remnawave"} 197378
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="api",app="remnawave"} 222529
remnawave_process_array_buffers_bytes{instance_id="0",instance_name="scheduler",app="remnawave"} 171671
remnawave_process_array_buffers_bytes{instance_id="1",instance_name="api",app="remnawave"} 3751534
# HELP remnawave_process_event_loop_delay_ms Mean event loop delay in milliseconds.
# TYPE remnawave_process_event_loop_delay_ms gauge
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="processor",app="remnawave"} 20.104262477732792
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="api",app="remnawave"} 20.102243096774195
remnawave_process_event_loop_delay_ms{instance_id="0",instance_name="scheduler",app="remnawave"} 20.095705651821863
remnawave_process_event_loop_delay_ms{instance_id="1",instance_name="api",app="remnawave"} 20.109312
# HELP remnawave_process_event_loop_p99_ms Event loop delay p99 in milliseconds.
# TYPE remnawave_process_event_loop_p99_ms gauge
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="processor",app="remnawave"} 20.627455
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="api",app="remnawave"} 20.316159
remnawave_process_event_loop_p99_ms{instance_id="0",instance_name="scheduler",app="remnawave"} 20.414463
remnawave_process_event_loop_p99_ms{instance_id="1",instance_name="api",app="remnawave"} 20.381695
# HELP remnawave_process_active_handles Number of active resource handles.
# TYPE remnawave_process_active_handles gauge
remnawave_process_active_handles{instance_id="0",instance_name="processor",app="remnawave"} 145
remnawave_process_active_handles{instance_id="0",instance_name="api",app="remnawave"} 29
remnawave_process_active_handles{instance_id="0",instance_name="scheduler",app="remnawave"} 48
remnawave_process_active_handles{instance_id="1",instance_name="api",app="remnawave"} 29
# HELP remnawave_process_uptime_seconds Process uptime in seconds.
# TYPE remnawave_process_uptime_seconds gauge
remnawave_process_uptime_seconds{instance_id="0",instance_name="processor",app="remnawave"} 264694.362842572
remnawave_process_uptime_seconds{instance_id="0",instance_name="api",app="remnawave"} 264694.512636422
remnawave_process_uptime_seconds{instance_id="0",instance_name="scheduler",app="remnawave"} 264694.569192717
remnawave_process_uptime_seconds{instance_id="1",instance_name="api",app="remnawave"} 264694.753156229
# HELP remnawave_node_network_rx_bytes_per_sec Node network receive speed in bytes per second
# TYPE remnawave_node_network_rx_bytes_per_sec gauge
remnawave_node_network_rx_bytes_per_sec{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 197.8021978021978
remnawave_node_network_rx_bytes_per_sec{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 197.60479041916167
# HELP remnawave_node_network_tx_bytes_per_sec Node network transmit speed in bytes per second
# TYPE remnawave_node_network_tx_bytes_per_sec gauge
remnawave_node_network_tx_bytes_per_sec{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 197.8021978021978
remnawave_node_network_tx_bytes_per_sec{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 197.60479041916167
# HELP remnawave_node_network_rx_bytes_total Node network total received bytes since boot from default interface
# TYPE remnawave_node_network_rx_bytes_total gauge
remnawave_node_network_rx_bytes_total{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1812802415
remnawave_node_network_rx_bytes_total{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 28468345531
# HELP remnawave_node_network_tx_bytes_total Node network total transmitted bytes since boot from default interface
# TYPE remnawave_node_network_tx_bytes_total gauge
remnawave_node_network_tx_bytes_total{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1528776659
remnawave_node_network_tx_bytes_total{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 18385221081
# HELP remnawave_node_memory_total_bytes Node total memory in bytes
# TYPE remnawave_node_memory_total_bytes gauge
remnawave_node_memory_total_bytes{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 32853663744
remnawave_node_memory_total_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1008193536
# HELP remnawave_node_memory_free_bytes Node free memory in bytes
# TYPE remnawave_node_memory_free_bytes gauge
remnawave_node_memory_free_bytes{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 31891734528
remnawave_node_memory_free_bytes{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 540762112
# HELP remnawave_node_uptime_seconds Node OS uptime in seconds
# TYPE remnawave_node_uptime_seconds gauge
remnawave_node_uptime_seconds{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 1655366.32
remnawave_node_uptime_seconds{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 2171673.48
# HELP remnawave_node_cpu_count Node CPU count
# TYPE remnawave_node_cpu_count gauge
remnawave_node_cpu_count{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",app="remnawave"} 16
remnawave_node_cpu_count{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",app="remnawave"} 1
# HELP remnawave_node_system_info Node system info
# TYPE remnawave_node_system_info gauge
remnawave_node_system_info{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",arch="x64",cpu_model="AMD EPYC-Genoa Processor",hostname="remnanode",platform="linux",release="6.8.0-52-generic",version="#53-Ubuntu SMP PREEMPT_DYNAMIC Sat Jan 11 00:06:25 UTC 2025",app="remnawave"} 1
remnawave_node_system_info{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",arch="x64",cpu_model="Intel Core Processor (Broadwell, IBRS)",hostname="remnanode",platform="linux",release="6.8.0-101-generic",version="#101-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 9 10:15:05 UTC 2026",app="remnawave"} 1
# HELP remnawave_node_basic_info Node basic info
# TYPE remnawave_node_basic_info gauge
remnawave_node_basic_info{node_uuid="d86d8c63-944c-4398-9cf4-c3882a54a5d5",node_name="tester-1",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="966e6378-ec47-4998-939e-123d9616b1dd",node_name="tester-2",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="ed1727fd-5cdc-4ebb-8a24-71823714f6ad",node_name="tester-3",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
remnawave_node_basic_info{node_uuid="e31adcc0-5edb-463f-ba2e-9f3cb5ac69cf",node_name="tester-4",node_country_emoji="🏴‍☠️",provider_name="Test",tags="",app="remnawave"} 1
````
</details>
## Webhook
| Variable | Description | Default | Possible values |
@@ -396,3 +625,4 @@ USER_USAGE_IGNORE_BELOW_BYTES=0
```
</details>
````