# No Registered Transform Agents

### Issue Overview

The Bindplane Transform Agent is required for [Live Preview](https://docs.bindplane.com/how-to-guides/broken-reference). 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](https://docs.bindplane.com/how-to-guides/broken-reference).

### 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
transformAgent:
  transformAgentsFolder: /var/lib/bindplane/transform-agents
```

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

```bash
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` 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 with [Support](https://docs.bindplane.com/how-to-guides/broken-reference).

### Docker

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

```bash
$ 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.

```ini
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.

```bash
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](https://docs.bindplane.com/how-to-guides/broken-reference).

### Kubernetes

On Kubernetes, the Transform Agent is fully managed by the [Bindplane Helm Chart](https://github.com/observIQ/bindplane-op-helm).

Make sure the Transform Agent containers are running.

```bash
$ 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.

```bash
$ 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.

{% tabs %}
{% tab title="StatefulSet" %}

```javascript
kubectl logs -f sts/bindplane
```

{% endtab %}

{% tab title="Deployment" %}

```bash
kubectl logs -f deploy/bindplane
```

{% endtab %}
{% endtabs %}

If the Transform Agent is running, and the Transform Agent clusterIP service has a valid endpoint, it is recommended to engage with [Support](https://docs.bindplane.com/how-to-guides/broken-reference).
