Provided by: Algorithmia
Algorithmia is an MLOps platform that includes capabilities for data scientists, application developers, and IT operators to deploy, manage, govern, and secure machine learning and other probabilistic models in production.
Algorithmia Insights is a feature of Algorithmia Enterprise and provides a metrics pipeline that can be used to instrument, measure, and monitor your machine learning models.
This template allows you to stream operational metrics and user-defined, inference-related metrics from Algorithmia to InfluxDB using Telegraf and Kafka.
In the InfluxDB UI, go to Settings->Templates and enter this URL: https://raw.githubusercontent.com/influxdata/community-templates/master/algorithmia/algorithmia.yml
If you have your InfluxDB credentials configured in the CLI, you can install this template with:
influx apply -u https://raw.githubusercontent.com/influxdata/community-templates/master/algorithmia/algorithmia.yml
This template includes the following:
- 1 Bucket:
insights
- 1 Dashboard:
Algorithmia - ML Model Performance Metrics
- 1 Telegraf configuration
This template allows you to monitor and visualize metrics from Algorithmia when a model that has Insights enabled is queried. Each JSON payload from Algorithmia includes operational metrics and inference-related metrics that can be analyzed in InfluxDB.
- From your Algorithmia instance, configure Algorithmia Insights to connect to a Kafka broker and specify a Kafka topic.
- Start Telegraf using the configuration included in this template.
- In Algorithmia, instrument your algorithm and publish a version that has Insights enabled.
- When your model is queried in Algorithmia, it will send metrics to InfluxDB where you can monitor and visualize relevant model performance metrics.
The Telegraf configuration requires the following environment variables to be defined:
-
INFLUX_HOST
- The URL for your InfluxDB host. -
INFLUX_TOKEN
- The token with the permissions to read Telegraf configs and write data to thetelegraf
bucket. You can use your operator token to get started. -
INFLUX_ORG
- The name of your organization in InfluxDB. -
KAFKA_BROKER
- The URL for your Kafka broker. -
KAFKA_TOPIC
- The Kafka topic that Algorithmia Insights is configured to use.
You MUST set these environment variables before running Telegraf using something similar to the following commands:
-
This is the URL for your InfluxDB host and should be in the following format:
export INFLUX_HOST=http://1.2.3.4:8086/
-
This can be found on the
Load Data
>Tokens
page in InfluxDB:export INFLUX_TOKEN=TOKEN
-
Your organization name can be found on the
Settings
page in InfluxDB:export INFLUX_ORG=my_org
-
This is the URL for your Kafka broker and should be in the following format:
export KAFKA_BROKER=1.2.3.4:9092
-
The Kafka topic should be the same topic that you configured in Algorithmia:
export KAFKA_TOPIC=insights
Note that this dashboard uses the duration_milliseconds
metric, which is one
of the operational metrics that is included in the default JSON payload from
Algorithmia. The other metrics used in the dashboard (risk_score
and
approved
) were defined by the algorithm developer and will be different
depending on your particular algorithm and use case.
Additional metrics can include any user-defined, inference-related metrics that are specified in Algorithmia by the algorithm developer then analyzed in InfluxDB.
Author: Kristopher Overholt, https://algorithmia.com/
Github: @koverholt