Monitor tags

Overview

Monitor tags are intentionally versatile to support a variety of use-cases.

  • Data quality reporting and SLAS: report on specific monitors, rather than all monitors for a set of tables on the upcoming Data quality dashboard.
  • Critical data elements: report on a set of validations or metric monitors for a critical data element, applying tags like cde:total_revenue.
  • Enforcing data contracts: we recommend using a tag with key data-contract in order to be picked up by Atlan data contracts.
  • Data quality dimensions: on the near-term roadmap is a separate, dedicated field for storing a data quality dimension. If you are using tags for data quality dimensions, we recommend using the key data-quality-dimension for easy migration to that functionality when available.
  • Team organization: for monitors that are owned by the finance team, applying tags like team:finance.
  • Use case organization: for organizing specific use-cases or data products, applying tags like data-product:salesforce_revenue or project:revenue_reliability.

Leveraging monitor tags

Monitor tags can be viewed in the detail page of a monitor as well as the upcoming Data quality dashboard. If you'd like to use monitor tags in other parts of the product, please let us know.

Applying monitor tags

When creating a new monitor, you can specify one or more tags in the Send notifications section of custom monitor configuration.

  • Monitor tags can have have a key / value pair or just a key.
  • Monitor tags are stored and can be referenced again by any user. This can help reduce typos and other duplication of tags.
  • Monitor tags can only be created or updated by users with the permission to create/edit/delete monitors. See more in the Authorization documentation.
  • Freshness and volume monitors cannot be tagged, except explicit thresholds through monitors as code.
  • Schema monitors cannot be tagged.

Applying monitor tags via monitors as code

Monitor tags simply uses the tags key in monitors as code. Use the name and value for applying the individual tag. Each name and value is on a new line.

Please note that labels in monitors as code refers to 🧑‍🎓 Audiences, not tags.

tags:
  - name: my_key
    value: my_value
  - name: only_a_key

See more at Monitors as Code.

Applying monitor tags via API

🚧

All or nothing

When updating a monitor's tags, it is “all or nothing.” You must include existing tags if updating the monitor or existing tags will be removed.

For an existing monitor:

  1. Get the existing monitor monitorUuid , monitorType, and existing tags.
  2. Add tag (with any existing tags) to monitor
  3. Get the existing monitor to see the tag applied.
## Get an existing monitor

  query getAllCustomMonitors($uuids: [String]) {
    getMonitors(
      uuids: $uuids
    ) {
      uuid
      monitorType
      tags {
        name
        value
      }
    }
  }

  ### variables 
  {
    "uuids": ["3b682f48-9233-4b1b-881e-0598c2c8b685"]
  }

## Update the monitor's tags

  mutation updateMonitorTags($monitorUuid: UUID!, $monitorType: String!, $tags: [TagKeyValuePairInput!]!) {
    updateMonitorTags(
      monitorUuid: $monitorUuid
      monitorType: $monitorType
      tags: $tags
    ) {
      success
    }
  }

  ### variables 
  {
    "monitorType": "custom_sql",
    "monitorUuid": "3b682f48-9233-4b1b-881e-0598c2c8b685",
    "tags": [
      {
        "name": "my-tag",
        "value": "my-tag-value"
      }
    ]
  }