diff --git a/docs/docs/configuration/index.md b/docs/docs/configuration/index.md index bddced7ac..ad52e7972 100644 --- a/docs/docs/configuration/index.md +++ b/docs/docs/configuration/index.md @@ -625,7 +625,7 @@ ui: # Optional: Telemetry configuration telemetry: - # Optional: Enabled network interfaces for bandwidth stats monitoring (default: shown below) + # Optional: Enabled network interfaces for bandwidth stats monitoring (default: empty list, let nethogs search all) network_interfaces: - eth - enp @@ -640,6 +640,7 @@ telemetry: # Enable Intel GPU stats (default: shown below) intel_gpu_stats: True # Enable network bandwidth stats monitoring for camera ffmpeg processes, go2rtc, and object detectors. (default: shown below) + # NOTE: The container must either be privileged or have cap_net_admin, cap_net_raw capabilities enabled. network_bandwidth: False # Optional: Enable the latest version outbound check (default: shown below) # NOTE: If you use the HomeAssistant integration, disabling this will prevent it from reporting new versions diff --git a/frigate/config.py b/frigate/config.py index 6a8d6ce69..dc9902902 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -107,7 +107,7 @@ class StatsConfig(FrigateBaseModel): class TelemetryConfig(FrigateBaseModel): network_interfaces: List[str] = Field( - default=["eth", "enp", "eno", "ens", "wl", "lo"], + default=[], title="Enabled network interfaces for bandwidth calculation.", ) stats: StatsConfig = Field( diff --git a/frigate/util/services.py b/frigate/util/services.py index 0d5de327d..2ffddcacf 100644 --- a/frigate/util/services.py +++ b/frigate/util/services.py @@ -143,6 +143,9 @@ def get_cpu_stats() -> dict[str, dict]: def get_physical_interfaces(interfaces) -> list: + if not interfaces: + return [] + with open("/proc/net/dev", "r") as file: lines = file.readlines() @@ -171,6 +174,7 @@ def get_bandwidth_stats(config) -> dict[str, dict]: ) if p.returncode != 0: + logger.error(f"Error getting network stats :: {p.stderr}") return usages else: lines = p.stdout.split("\n")