Skip to content

Connect an external instance

Add general external services

You can collect metrics from an external (custom) exporter on a node when:

  • there is already a pmm-agent instance running and,
  • this node has been configured using the pmm-admin config command.

Usage

pmm-admin add external --service-name=<service-name> --listen-port=<listen-port> --metrics-path=<metrics-path> --scheme=<scheme>
pmm-admin add external-serverless --external-name=<external-service-name> --host=<hostname> --listen-port=<listen-port> --metrics-path=<metrics-path> --scheme=<scheme>

Get data from external exporters

There two ways to get metrics from other exporters:

  • external will collect metrics from the exporter that is run on the same host as PMM Client’s connection to it by a port. (See more details with pmm-admin add external --help.)

  • external-serverless is useful for collecting metrics from cloud services. You need a host and port number to add it to PMM Server. (See more details with pmm-admin add external-serverless --help.)

Here are the differences between external and external-serverless types.

Connection schema of external exporter:

!

Connection schema of external serverless exporter:

!

Add a service not supported by PMM

PMM can collect any metrics in Open metrics or Prometheus exposition format. You must specify the host and port of these metrics using the pmm-admin add external or pmm-admin add external-serverless commands.

From this point, PMM will collect and store available metrics.

To browse and visualize collected metrics as a first step, we can look at the Advanced Data Exploration dashboard and select informative services and metrics.

!

Another way is to create a new Grafana Dashboard to PMM as needed.

One more way is to search for an already created dashboard at https://grafana.com/grafana/dashboards for the added exporter and import it into PMM.

Third-party exporters

You can find more exporters on the official Prometheus page.

Custom exporter

You can write a custom external exporter or extend your application to expose metrics in Prometheus format.

For more details see https://prometheus.io/docs/instrumenting/writing_exporters/.

Example
root@mysql1:~# pmm-admin add external --group=processes  --listen-port=9256
External Service added.
Service ID  : /service_id/6485f4fd-745b-4dfb-8b72-328e300f8b50
Service name: mysql1-processes
Group       : processes
  • Add an exporter running on local port 9256 to the group called processes.
  • Use the group and host names to automatically generate a service name.
  • Use the default scheme and metrics path.

Add an external service via UI

To add an external service via PMM UI:

  1. In the PMM web interface, go to Configuration PMM Inventory Add Instance.

  2. Select External Service – Add a remote instance.

    !

  3. Fill the form and set the external service endpoint.

    The endpoint can be set manually:

    !

    or by parsing required data from a URL string, in which case you only need to pass a valid URL.

    !

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.