Page MenuHomeVyOS Platform

Prometheus Exporters (Blackbox, FRR, Node) Fail to Start with IPv6 Listen Address Configuration
Closed, ResolvedPublicBUG

Description

Summary

When configuring the Blackbox Exporter/FRR Exporter/Node Exporter service to use an IPv6 address as the listen-address, the service fails to start and reports an error due to improper formatting of the address. The error message indicates that there are "too many colons in address," which is a result of the systemd unit not enclosing the IPv6 address in brackets.

This could be considered to be a regression of https://vyos.dev/T4680.

Error Message

The following error is logged when the Node Exporter attempts to start with an IPv6 address:

Sep 07 17:15:55 <redacted> node_exporter[6798]: time=2025-09-07T17:15:55.599Z level=ERROR source=node_exporter.go:247 msg="listen tcp: address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:1:9100: too many colons in address"

Systemd Unit Status

The service status indicates a failure:

# systemctl status node_exporter
× node_exporter.service - Node Exporter
     Loaded: loaded (/etc/systemd/system/node_exporter.service; disabled; preset: enabled)
     Active: failed (Result: exit-code) since Sun 2025-09-07 17:15:55 UTC; 31s ago
   Duration: 386ms
       Docs: https://github.com/prometheus/node_exporter
    Process: 6798 ExecStart=/usr/sbin/node_exporter --web.listen-address=XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:1:9100 (code=exited, status=1/FAILURE)
   Main PID: 6798 (code=exited, status=1/FAILURE)
        CPU: 340ms

Root Cause

The issue arises from the systemd service unit template service.j2 located at this path in vyos-1x. The template does not include checks for IPv6 addresses and fails to add the necessary brackets ([]) around the address.

Steps to Reproduce

To replicate the issue, use one of the following configurations:

set service monitoring prometheus blackbox-exporter listen-address ::1
set service monitoring prometheus frr-exporter listen-address ::1
set service monitoring prometheus node-exporter listen-address ::1

Suggested Fix

Modify the service.j2 template to include | bracketize_ipv6 for the {{ address }} (so it becomes {{ address | bracketize_ipv6 }}) so that it automatically adds brackets around IPv6 listen-addresses. This will ensure that the various exporter service can start successfully when configured with an IPv6 address.

Details

Version
VyOS 1.5-stream-2025-Q2
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

I have created a pull request to address the bug mentioned above: https://github.com/vyos/vyos-1x/pull/4701

Unknown Object (User) triaged this task as Normal priority.Sep 8 2025, 10:54 AM