---
title: Monitoring jobs for custom metrics
description: To use custom metrics with external data sources, monitoring job definitions allow DataRobot to pull feature data and predictions from outside of DataRobot and into your defined custom metrics for monitoring on the Custom Metrics tab.
section_name: MLOps
maturity: public-preview

---

# Monitoring jobs for custom metrics {: #monitoring-jobs-for-custom-metrics }

!!! info "Availability information"
    Monitoring jobs for custom metrics are off by default. Contact your DataRobot representative or administrator for information on enabling this feature.

    <b>Feature flag:</b> Enable Custom Metrics Job Definitions

Monitoring job definitions allow DataRobot to pull calculated custom metric values from outside of DataRobot into the custom metric defined on the [Custom Metrics](custom-metrics) tab, supporting custom metrics with external data sources. For example, you can create a monitoring job to connect to Snowflake, fetch custom metric data from the relevant Snowflake table, and send the data to DataRobot for analysis through a custom metric you created.

To create the monitoring jobs for custom metrics: 

1. Click **Deployments** and select a deployment from the inventory.

2. On the selected deployment's **Overview**, click **Job Definitions**.

3. On the **Job Definitions** page, click **Monitoring Jobs**, and then click **Add Job Definition**.

4. On the **New Monitoring Job Definition** page, configure the following options:

    ![](images/monitoring-job-custom-metrics.png)

    |                        | Field name |  Description  |
    |------------------------|------------|---------------|
    | ![](images/icon-1.png) | Monitoring job definition name | Enter the name of the monitoring job that you are creating for the deployment. |
    | ![](images/icon-2.png) | Monitoring data source | Set the [source type](#set-monitoring-data-source) and [define the connection](data-conn) for the data to be scored.  |
    | ![](images/icon-3.png) | Monitoring options | Configure [custom model monitoring options](#set-custom-model-monitoring-options).  |
    | ![](images/icon-4.png) | Jobs schedule | Configure whether to run the job immediately and whether to [schedule the job](#schedule-monitoring-jobs).|
    | ![](images/icon-5.png) | Save monitoring job definition | Click this button to save the job definition. The button changes to **Save and run monitoring job definition** if **Run this job immediately** is enabled. Note that this button is disabled if there are any validation errors. |

## Set monitoring data source {: #set-monitoring-data-source }

In the **Monitoring data source** section, select a **Source type** (called an [intake adapter](intake-options)) and complete the appropriate authentication workflow for the source type in the **Connection details** section. 

Select a connection type below to view field descriptions:

!!! note
    When browsing for connections, invalid adapters are not shown.

**Database connections**

* [JDBC](../../api/reference/batch-prediction-api/intake-options.html#jdbc-scoring)
    
**Cloud Storage Connections**
    
* [Azure](intake-options#azure-blob-storage-scoring)
* [GCP](intake-options#google-cloud-storage-scoring) (Google Cloud Platform Storage)
* [S3](intake-options#amazon-s3-scoring)

**Data Warehouse Connections**

* [BigQuery](intake-options#bigquery-scoring)
* [Snowflake](intake-options#snowflake-scoring)
* [Synapse](intake-options#synapse-scoring)

**Other**

* [AI Catalog](intake-options#ai-catalog-dataset-scoring) 

After you set your monitoring source, DataRobot validates that the data applies to the deployed model.

!!! note
    DataRobot validates that a data source is compatible with the model when possible, but not in all cases. DataRobot validates for AI Catalog, most JDBC connections, Snowflake, and Synapse.

## Set custom model monitoring options {: #set-custom-model-monitoring-options }

In the **Monitoring options** section, click **Custom Metrics** and configure the following options:

![](images/monitoring-options-custom-metrics.png)

Field             | Description
------------------|------------
Custom metric     | Select the custom metric you want to monitor from the current deployment.
Value column      | Select the column in the dataset containing the calculated values of the custom metric.
Timestamp column  | Select the column in the dataset containing a timestamp.
Date format       | Select the date format used by the timestamp column.


## Schedule monitoring jobs {: #schedule-monitoring-jobs }

You can schedule monitoring jobs to run automatically on a schedule. When outlining a monitoring job definition, enable **Run this job automatically on a schedule**, then specify the frequency (daily, hourly, monthly, etc.) and time of day to define the schedule on which the job runs.

![](images/batch-7.png)

For further granularity, select **Use advanced scheduler**. You can set the exact time (to the minute) you want to run the monitoring job.

![](images/batch-8.png)

After setting all applicable options, click **Save monitoring job definition**.