Complimentary Gartner® Report! 'A CTO's Guide to Open-Source Software: Answering the Top 10 FAQs.'Read more

No Registered Transform Agents

Troubleshooting the "No Registered Transform Agents" Error in BindPlane OP.

Issue Overview

The BindPlane Transform Agent is required for Live Preview. When the Transform Agent is misbehaving, or there is a configuration issue, the user may be presented with the following error in the BindPlane UI or log.

failed to get transform agent client: there are no registered transform agents

Support

This error generally indicates a misconfiguration issue, however, if Live Preview was working in the past and is not working now, it is recommended that you engage with Support.

Linux

On Linux, the Transform Agent operates as a subprocess. Make sure your configuration file at /etc/bindplane/config.yaml has the following section.

yaml
1transformAgent:
2  transformAgentsFolder: /var/lib/bindplane/transform-agents

Run the following command to check if the BindPlane service is running:

bash
1sudo systemctl status bindplane
2●   bindplane.service - BindPlane OP is an observability pipeline
3    Loaded: loaded (/usr/lib/systemd/system/bindplane.service; disabled; preset: disabled)
4    Drop-In: /usr/lib/systemd/system/service.d
5            └─10-timeout-abort.conf
6    Active: active (running) since Fri 2024-08-09 19:03:52 EDT; 39min ago
7        Docs: https://observiq.com/docs/getting-started/quickstart-guide
8    Main PID: 30302 (bindplane)
9    Tasks: 96 (limit: 153408)
10    Memory: 88.8M
11        CPU: 12.391s
12    CGroup: /system.slice/bindplane.service
13            ├─30302 /usr/local/bin/bindplane serve --config /etc/bindplane/config.yaml
14            ├─30769 /var/lib/bindplane/transform-agents/bta-v1.57.2-linux-amd64 --host 127.0.0.1 --port 42201
15            ├─30790 /usr/bin/dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
16            └─30792 /var/lib/bindplane/prometheus/prometheus --config.file prometheus.yml

If the Transform Agent sub-process is missing, check the logs at /var/log/bindplane/bindplane.log and sudo journalctl -f --unit bindplane --lines 200.

It is expected that the Transform Agent always be running without additional configuration, so it is recommended to engage observIQ Support.

Docker

On Docker, check to see if the Transform Agent container is running.

bash
1$ sudo docker ps
2
3CONTAINER ID   IMAGE                                                         COMMAND                  CREATED         STATUS         PORTS                                       NAMES
4581f4cf5567f   ghcr.io/observiq/bindplane-ee:1.67.0                          "/bindplane serve"       3 seconds ago   Up 2 seconds   0.0.0.0:3001->3001/tcp, :::3001->3001/tcp   bindplane-server
5f952edf1c326   ghcr.io/observiq/bindplane-transform-agent:1.67.0-bindplane   "/bta --host 0.0.0.0…"   3 seconds ago   Up 2 seconds   0.0.0.0:4568->4568/tcp, :::4568->4568/tcp   bindplane-transform-agent
6752461ad1460   ghcr.io/observiq/bindplane-prometheus:1.67.0                  "/container-entrypoi…"   3 seconds ago   Up 2 seconds   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   bindplane-prometheus

If the Transform Agent is running, make sure BindPlane is configured with the following environment variables.

ini
1BINDPLANE_TRANSFORM_AGENT_ENABLE_REMOTE=true
2BINDPLANE_TRANSFORM_AGENT_REMOTE_AGENTS=transform:4568

If the environment is configured correctly, view the recent logs from the BindPlane container.

bash
1sudo docker logs -f bindplane-server -n 200

If the Transform Agent is running, and the environment is configured with the correct service name or hostname, it is recommended to engage observIQ Support.

Kubernetes

On Kubernetes, the Transform Agent is fully managed by the BindPlane OP Helm Chart.

Make sure the Transform Agent containers are running.

bash
1$ kubectl get pod -o wide
2
3NAME                                        READY   STATUS    RESTARTS   AGE     IP        
4bindplane-0                                 1/1     Running   0          4m50s   10.244.0.6
5bindplane-prometheus-0                      1/1     Running   0          4m50s   10.244.0.4
6bindplane-transform-agent-f487765bc-svfzk   1/1     Running   0          4m50s   10.244.0.3

If the Transform Agent container is running, check to see if it has an endpoint in the bindplane-transform-agent clusterIP service. Notice that in the example, the Transform Agent pod has the IP address 10.244.0.3.

Check for service endpoints for the pod's IP address.

bash
1$ kubectl describe service bindplane-transform-agent
2
3Name:              bindplane-transform-agent
4Namespace:         default
5Type:              ClusterIP
6IP Family Policy:  SingleStack
7IP Families:       IPv4
8IP:                10.98.171.116
9IPs:               10.98.171.116
10Port:              http  4568/TCP
11TargetPort:        http/TCP
12Endpoints:         10.244.0.3:4568
13Session Affinity:  None
14Events:            <none>

If the Transform Agent pod is running and contains a service endpoint, check the BindPlane server pod logs. Use the following commands as a reference. Select Deployment if operating BindPlane in high availability.

1kubectl logs -f sts/bindplane

If the Transform Agent is running, and the Transform Agent clusterIP service has a valid endpoint, it is recommended to engage observIQ Support.