Alert manager GUI does not open using IPV6 address

107 views
Skip to first unread message

Pavan Reddy

unread,
Jun 25, 2020, 9:44:29 AM6/25/20
to Prometheus Users
I am trying to access Alert manager gui using Ipv6 address, but it is not loading the alertmanager gui. Please find the attachment for the error message from the browser console.

We tried with this alertmanager rpm version.  16.2 and 20.0. In both version I am not able to access the alertmanager gui using ipv6 address. 

Please let me know if it is fixed in the latest versions?

alertmanger_gui_issue.png

Brian Candler

unread,
Jun 25, 2020, 3:27:13 PM6/25/20
to Prometheus Users
It works for me - and it's not polite to claim in public that something is broken unless you're 100% sure that's the case (i.e. you have a patch which fixes it).

The fact you're getting a 403 (forbidden) suggests you're running behind some sort of reverse proxy or load balancer.  It'll be that that's giving you the error.
Message has been deleted

Brian Candler

unread,
Jul 10, 2020, 2:51:47 PM7/10/20
to Prometheus Users
Can you show the command line options that you're running alertmanager with?

Why port 32109?  Are you behind some sort of proxy - e.g. k8s ingress controller, that sort of thing?

Divyashree A L

unread,
Jul 12, 2020, 2:34:59 AM7/12/20
to Prometheus Users
Yes, we are using k8s for deployment, 32109 is just the nodeport, we have disabled ingress.

We are trying to bring up alertmanager deployed on k8s environment with nodeport enabled. The same configuration works well with IPv4 cluster and we are able to view the alertmanager GUI properly. incase of Ipv6 the GUI page does not load.

Brian Candler

unread,
Jul 13, 2020, 9:59:49 AM7/13/20
to Prometheus Users
Then this probably isn't an alertmanager problem, it's a kubernetes problem.

Are you running dual-stack Kubernetes? This is an alpha feature (which means it's behind a feature gate): https://kubernetes.io/docs/concepts/services-networking/dual-stack/

I haven't tried it.  What I did find in a normal cluster is, when you bind to a port, k8s does bind() and listen() for the port on both protocols.  It then configures iptables traffic forwarding for IPv4 only.  This means the IPv6 address will establish a connection and block.  This is particularly painful for services bound to localhost, because typically /etc/hosts maps localhost to both ::1 and 127.0.0.1.  The client tries to connect to ::1, establishes a TCP connection, and then nothing happens :-(

Anyway, the problem seems most likely to do with kubernetes, so probably ought to move to a k8s forum.  You can use your browser console logs, and/or tcpdump, to isolate where the problem is.

Brian Candler

unread,
Jul 13, 2020, 10:03:39 AM7/13/20
to Prometheus Users
Alternatively, it could be that you haven't told alertmanager the URL to generate links with, using the command line option:

--web.external-url=http://[x:x:x::x]:32109

Some of the links it generates may use that URL.  You'll be able to tell by looking in your browser console logs, to see if it tries to access that address without using port 32109.

Venkata Bhagavatula

unread,
Jul 28, 2020, 1:10:53 PM7/28/20
to Brian Candler, Prometheus Users
Hi  Brian,

I have installed alertmanager on a VM. I am still seeing the same issue. Following is the command line argument we are using for starting alertmanager:
 /bin/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --storage.path=/alertmanager --log.level=debug --cluster.listen-address="" --web.listen-address="[x:x:x::x]:9093" --web.external-url="http:// [x:x:x::x] :9093/

while searching google found the following issue on Elm/Url module: https://github.com/elm/url/issues/12 . Can you let us know if it has any relevance? 

To rule out the routing/proxy issues, we have had a sample javascript page. The sample page is loading fine.. 

Can you please let us know how to proceed further?

Thanks n Regards,
Chalapathi.

--
You received this message because you are subscribed to the Google Groups "Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-users/3b040b65-4315-4025-b5ee-7fee00d0e649o%40googlegroups.com.

Brian Candler

unread,
Jul 28, 2020, 1:35:09 PM7/28/20
to Prometheus Users
IPv6 works for me, but I am using a DNS name: http://prometheus.xxx.xxx.net:9093/.  The name resolves to the IPv6 address (and the IPvFoo browser extension confirms it's connecting over IPv6)

I've never tried it with an IPv6 literal before.  Trying http://[x:x:x:x::x]:9093/ I just get a blank page.  So yes, it could well be a problem with some Javascript library being unable to parse IPv6 literals.  Incidentally, prometheus itself doesn't have this problem; http://[x:x:x:x::x]:9090/ works just fine as far as I can see.

I don't think any end-user should ever see or use an IPv6 literal, so I'd say the way to proceed is to create a DNS name with AAAA record, and use the name in the URL.

Once you've confirmed that works, then you can raise a ticket on github if being able to access the alertmanager web interface via IPv6 literal is important to you.  I expect this will be very low priority though, especially if it's a bug in a third-party library.

Brian Candler

unread,
Jul 28, 2020, 1:37:40 PM7/28/20
to Prometheus Users
I note that a change to elm/url was approved 4 days ago (but not yet merged):

Venkata Bhagavatula

unread,
Jul 29, 2020, 2:47:48 AM7/29/20
to Prometheus Users
Hi Brian,

Thanks for the response.
Can i raise a issue in alertmanager linking to the above Elm/Url issue? Once the Elm/url is fixed, then version can be upgraded in alertmanager.

Thanks n Regards,
Chalapathi
Reply all
Reply to author
Forward
0 new messages