pmm-admin config --server 192.168.x.x: Detected address ‘10.17.1.4’ is not locally bound.
I’m really at a loss as to the implementation of PMM regarding “locally bound” addresses. The error message continues with “This usually happens when client and server are on the different networks.”
Why does this matter that the client and the server are on separate subnets when the client and server can connect to each other via routing? It is a client/server application and clients and server(s) should be expected to potentially be on separate networks.
There are technology considerations that may affect the solution. I’m running PMM in docker swarm containers which is on top of Openstack Magnum (cluster orchestration). The server is reachable from the client and the client does not issues reaching other servers, including the Openstack apis which are not locally bound. Openstack uses floating IP addresses to expose cluster vms; however, these IPs are not on the same network as the PMM server, regardless. I anticipate the server to monitor several cluster vms in different clusters externally exposed to different subnets. Creating a new server for each subnet is not scalable even if the servers were to be placed on each cluster’s external network.
Other suggestions such as ‘pmm-admin config --server PMM-SERVER-IP --bind-address PMM-CLIENT-IP --client-address PMM-CLIENT-IP’ do not work either because the client and server are on different subnets. As a note, the required server ports for linux and mysql monitoring are bound to each cluster vm using host mode publishing, e.g.:
ports:
- target: ${PMM_LINUX_PORT}
published: ${PMM_LINUX_PORT}
protocol: tcp
mode: host - target: ${PMM_MYSQL_PORT}
published: ${PMM_MYSQL_PORT}
protocol: tcp
mode: host
How do I get PMM clients to connect to the server which is not on the same subnet?