I am trying to setup PMM Client on a dedicated server of mine, which only has a public IPv4 and public IPv6 IP.
However, for some reason beyond my understanding, PMM Client insists that there is a private address somewhere when I run this:
pmm-admin config --server pmm-server.example.com
Detected address ‘172.19.0.4’ is not locally bound.
This usually happens when client and server are on the different networks.
Use --bind-address flag to set locally bound address, usually a private one, while client address is public.
The bind address should correspond to the detected client address via NAT and you would need to configure port forwarding.
PMM server should be able to connect to the client address ‘172.19.0.4’ which should translate to a local bind address.
What ports to map you can find from “pmm-admin check-network” output once you add instances to the monitoring.
I found another forum post that suggested me to do this instead:
pmm-admin config --server PMM-SERVER-IP --bind-address PMM-CLIENT-IP --client-address PMM-CLIENT-IP
So when I ran that, with PMM-CLIENT-IP being the PMM Client host public IPv4 address, it continues:
OK, PMM server is alive.
PMM Server | pmm-server.example.com
Client Name | pmm-client.example.com
Client Address | PMM-CLIENT-IP
However, it does not actually function:
pmm-admin add mysql --create-user
[linux:metrics] Error adding linux metrics: Unexpected response code: 400 (Request decode failed: EOF)
Can you please explain me what I am doing wrong here, if any, and why would PMM Client insist so much on using a private IP address I don’t have configured?