Introduction
The Alemca Agent is a flexible, modular solution designed to streamline communication between the various Alemca services and your devices. Written in Golang, it runs on Linux, Windows, and macOS.
Overview
Feature | Details |
---|---|
Language | Go ≥ 1.22 |
Operating systems | Linux, Windows, macOS |
Deployment mode | Static binary or Docker container (official image: registry.alemca.com/public/agent-alemca:latest ) |
Control channel | TLS 1.3-encrypted WebSocket to the Alemca backend |
Extensibility | Compiled plugins + IOT modules + dynamic Lua scripts |
Why Go?
- Native concurrency (goroutines).
- Cross-platform static binaries with no shared dependencies.
- Smaller memory footprint than an equivalent Java/.NET runtime.
Key Features
Function | What you get |
---|---|
End-to-end security | AES-256/GCM encryption + mutual X.509 authentication. |
On-demand tunnels | SSH, RDP, HTTP(S), VNC access via the Remote plugin. |
Real-time monitoring | Collect CPU, RAM, disks, containers via Metrics. |
Lua automation | Scheduled tasks and remote commands. |
Industrial protocols | Modbus RTU/TCP, CAN, HTTP, serial, etc. via IOT. |
Use Cases
- Edge Monitoring: Deploy the agent on an ARM64 gateway to report system metrics and Modbus values from an inverter.
- Off-site Intervention: Trigger a Remote tunnel to an isolated programmable logic controller (PLC).
- Smart Automation: Write a Lua script that shuts down a motor if the temperature > 90 °C for 30 s and pushes a metric.
Plugins
Plugins add targeted capabilities to the agent, each addressing a specific need. Below is an overview of the plugins bundled with the Alemca Agent.
IOT
The IOT plugin communicates with a wide range of devices using protocols such as Modbus, HTTP, and more. It collects data from sensors, actuators, or other connected hardware and forwards it to the Alemca service for analysis and processing. Business logic and actions are defined with Lua scripting.
- Modules: Extensions of the IOT plugin that add support for specific protocols (Modbus, HTTP, CAN, …). Each module is configured separately.
- Lua scripts: The IOT plugin’s business logic is driven by Lua scripts that act on the collected data.
See the IOT page for detailed configuration and usage instructions.
Commands
The IOT plugin can execute Lua scripts on demand, enabling highly flexible interaction with your devices. Scripts can be triggered directly from the Alemca admin interface under the Commands tab.
Metrics
The Metrics plugin monitors device performance. It automatically gathers CPU, memory, disk status, and more—depending on the operating system—and sends the metrics to Alemca for centralized supervision. For details, see the Metrics page.
Remote
The Remote plugin lets you take control of your devices by creating a secure tunnel between the agent and the Alemca service. You can connect locally or over the network and perform remote maintenance.
Typical scenarios:
- Remote troubleshooting and diagnostics.
- Updating and configuring devices without travelling on-site.
- Accessing local web interfaces (or TCP/HTTP/HTTPS/VNC protocols) through an authenticated, encrypted tunnel.