No Registered Transform Agents

Troubleshooting the "No Registered Transform Agents" Error in Bindplane.

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 withthe 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.

transformAgent:
  transformAgentsFolder: /var/lib/bindplane/transform-agents

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

sudo systemctl status bindplane
   bindplane.service - Bindplane is an observability pipeline
    Loaded: loaded (/usr/lib/systemd/system/bindplane.service; disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/service.d
            └─10-timeout-abort.conf
    Active: active (running) since Fri 2024-08-09 19:03:52 EDT; 39min ago
        Docs: https://bindplane.com/docs/getting-started/quickstart-guide
    Main PID: 30302 (bindplane)
    Tasks: 96 (limit: 153408)
    Memory: 88.8M
        CPU: 12.391s
    CGroup: /system.slice/bindplane.service
            ├─30302 /usr/local/bin/bindplane serve --config /etc/bindplane/config.yaml
            ├─30769 /var/lib/bindplane/transform-agents/bta-v1.57.2-linux-amd64 --host 127.0.0.1 --port 42201
            ├─30790 /usr/bin/dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
            └─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 andsudo 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 with Support.

Docker

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

$ sudo docker ps

CONTAINER ID   IMAGE                                                         COMMAND                  CREATED         STATUS         PORTS                                       NAMES
581f4cf5567f   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
f952edf1c326   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
752461ad1460   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.

BINDPLANE_TRANSFORM_AGENT_ENABLE_REMOTE=true
BINDPLANE_TRANSFORM_AGENT_REMOTE_AGENTS=transform:4568

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

sudo 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 with Support.

Kubernetes

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

Make sure the Transform Agent containers are running.

$ kubectl get pod -o wide

NAME                                        READY   STATUS    RESTARTS   AGE     IP
bindplane-0                                 1/1     Running   0          4m50s   10.244.0.6
bindplane-prometheus-0                      1/1     Running   0          4m50s   10.244.0.4
bindplane-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.

$ kubectl describe service bindplane-transform-agent

Name:              bindplane-transform-agent
Namespace:         default
Type:              ClusterIP
IP Family Policy:  SingleStack
IP Families:       IPv4
IP:                10.98.171.116
IPs:               10.98.171.116
Port:              http  4568/TCP
TargetPort:        http/TCP
Endpoints:         10.244.0.3:4568
Session Affinity:  None
Events:            <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.

kubectl 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 with Support.

Last updated

Was this helpful?