Deploy Time Series Analytics Microservice#
This guide describes how to build, start, and stop the Time Series Analytics Microservice (TSAM) as part of the ViPPET stack, and how to configure it with a sample Wind Turbine anomaly detection UDF.
Prerequisites#
Docker and Docker Compose installed
makeavailable on the hostwgetinstalled (required to download UDF packages)
Configure Environment Variables - Build, Start, and Stop#
Build#
Build all required Docker images:
make build-experimental
Start#
Start all services, including the Time Series Analytics Microservice:
make run-experimental
Stop and Clean#
Stop all running services and clean any artifacts:
make stop-experimental
make clean-experimental
Deploy the Wind Turbine anomaly detection UDF#
Once the services are running, follow the steps below to deploy the Wind Turbine anomaly detection UDF into the TSAM.
The TSAM Swagger UI is available at http://localhost:5000/docs.
Step 1. Download the UDF package#
Download the pre-built Wind Turbine UDF tar archive:
wget https://raw.githubusercontent.com/open-edge-platform/edge-ai-resources/main/timeseries-udf-deployment-packages/wind-turbine-anomaly-detection.tar
Step 2. Upload the UDF package#
Open http://localhost:5000/docs in a browser.
Navigate to POST /udfs/package.
Click Try it out.
Under Choose File, select the downloaded
wind-turbine-anomaly-detection.tarfile.
Click Execute.
A successful response returns the message: UDF deployment package 'wind-turbine-anomaly-detection.tar' uploaded successfully.
Step 3. Apply the configuration#
Open http://localhost:5000/docs in a browser.
Navigate to POST /config.
Click Try it out.
In the Request Body field, paste the following configuration:
{
"udfs": {
"name": "windturbine_anomaly_detector",
"models": "windturbine_anomaly_detector.pkl",
"device": "cpu"
}
}

Click Execute.
A successful response returns the message: Configuration updated successfully.
Step 4. Verify the Time Series Analytics Microservice logs#
Check that processing is running correctly:
docker logs -f ia-time-series-analytics-microservice
You should see output similar to the following:
2026-05-26 04:43:45,599 - classifier_startup - INFO - Connected to Kapacitor on port 9092
2026-05-26 04:43:45,621 - classifier_startup - INFO - Kapacitor initialized successfully
2026-05-26 04:43:46,201 - classifier_startup - INFO - HTTP service listening on [::]:9092
2026-05-26 04:43:46,201 - classifier_startup - INFO - Started task windturbine_anomaly_detector
INFO: 172.18.0.7:52784 - "POST /input HTTP/1.1" 200 OK
INFO: 172.18.0.7:52786 - "POST /input HTTP/1.1" 200 OK