# No Registered Transform Agents

### Issue Overview

The Bindplane Transform Agent is required for [Live Preview](/feature-guides/data-management/live-preview.md). 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/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
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/support/).

### 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/support/).

### 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/support/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bindplane.com/how-to-guides/data-collection-and-processing/no-registered-transform-agents.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
