# VisualEdge Receiver

<table><caption class="sr-only">VisualEdge Receiver</caption><thead><tr><th scope="col">Status</th><th scope="col"></th></tr></thead><tbody><tr><td>Stability</td><td>Development</td></tr><tr><td>Telemetry</td><td>Metrics</td></tr></tbody></table>

`visualedgereceiver` is a custom OpenTelemetry Collector receiver that reads VisualEdge installation metadata from the local filesystem and emits OTLP-friendly metrics.

Supported pipeline types: Metrics

## Getting Started

The receiver polls the local filesystem and emits:

-   `visualedge.installation.available`
-   `visualedge.release.info`
-   `visualedge.licence.info`
-   `visualedge.licence.days_remaining`

Runtime startup requires the `pho_license` Collector extension to be enabled and to grant at least one `visualedgereceiver` seat.

Example config:

```
extensions:
  pho_license:
    file: /etc/otelcol/license.json

receivers:
  visualedgereceiver:
    collection_interval: 30s
    timeout: 10s
    ui_dir: /opt/VisualEdge/server/webapps/ROOT/VisualEdgeUI
    gui_version_file: /opt/VisualEdge/server/webapps/ROOT/VisualEdgeUI/VisualEdgeGUIVersion.txt
    servlet_lib_dir: /opt/VisualEdge/server/webapps/ROOT/VisualEdgeServlet/WEB-INF/lib
    mosaicoapi_jar: /opt/VisualEdge/server/webapps/ROOT/VisualEdgeServlet/WEB-INF/lib/MosaicOAPI-jar-with-dependencies.jar
    license_file: /opt/VisualEdge/licence.txt

service:
  extensions: [pho_license]
```

## Telemetry Mapping

-   `visualedge.installation.available`: gauge with `visualedge.status`
-   `visualedge.release.info`: info-style gauge with version, release time, and JAR version attributes
-   `visualedge.licence.info`: info-style gauge with licence end date attribute
-   `visualedge.licence.days_remaining`: numeric gauge in days
