Faros Tags

What are Faros tags and paths?

Faros tags (faros_Tag) is a model in the Faros schema that allows you to arbitrarily organize data within Faros.

"Universal tag"
type faros_Tag @model(key: ["uid"]) {
  "The unique identifier for the tag across key and value"
  uid: ID

  "The key of the tag"
  key: String

  "The value of the tag"
  value: String
}

Supported Models

The entities that can be organized with tags are listed in the supported models table below. The models that appear in the columns under faros_Tag are the many-to-many association models that are used to link a tag to a desired entity. If a model that you would like to organize is not in the list, please reach out to Faros support for next steps on getting it added to the schema!

Modelfaros_Tag
compute_Applicationcompute_ApplicationTag

How do I associate a Faros tag with an entity?

An entity is associated with a Faros tag if an instance of the model listed in the faros_Tag columns of the Supported Models table associates the entity with the desired faros_Tag.

Faros Tag Example

If the following compute_Application exists in my Faros graph

{
  "compute_Application": {
  	"name": "solaris-app",
  	"platform": "AWS"
  }
}

And a faros_Tag exists in my Faros graph that indicates if something is not customer facing

{
  "faros_Tag": {
    "uid": "Customer Facing__false",
  	"key": "Customer Facing",
  	"value": "false"
  }
}

Note: The tag's uid is Customer Facing__false so that it is unique across key and value.

We can add a compute_ApplicationTag to tag solaris-app as not customer facing

{
  "compute_ApplicationTag": {
    "compute_Application": {
      "name": "solaris-app",
      "platform": "AWS"
    },
    "faros_Tag": {
      "uid": "Customer Facing__false"
    }
  }
}

How to use Faros tags in dashboards?

Once entities in your graph are associated with the desired faros_Tags and faros_Paths the next step is to use these associations to organize the data within your dashboards. Faros exposes three tables (Faros Tag, Faros Tags, and Faros Path) that are used to join in tag and path information for desired entities. To join with these tables, you will need to join the ID field of the entity that you would like to augment with tags/paths with the Entity ID field on the tag/path table.

The Faros Tag table should only be used if you care about a single tag per entity. There are exceptions, but the reason we suggest this is because it will explode the number of returned rows by the number of tags per entity. If you are interested in more than one tag per entity, but you want all the tags on a single row, you will need to use the Faros Tags table with custom columns that performs regex extracts to isolate the tag values that you care about.

Faros Tag Example

We can join the Deployment table with the Faros Tag table by joining the Application ID field with the Entity ID field. This will explode the deployment rows with one row per application tag.

Note: Filtering by '1-Prod' to illustrate the two row explosion. One per tag for 'solaris-app'.

Note: Filtering by '1-Prod' to illustrate the two row explosion. One per tag for 'solaris-app'.

Because of the row explosion per tag, we should now filter to avoid double counting deployments. In this example, let's filter to only the deployments of applications that are not customer facing.

Faros Tags Example

We can join the Deployment table with the Faros Tags table to augment each row with all of the application's tags. To do this, we join the Application ID field with the Entity ID field.

 Note: Tags for 'solaris-app' appear on a single row as `{Green Blue:true}{Customer Facing:false}`

Note: Tags for 'solaris-app' appear on a single row as {Green Blue:true}{Customer Facing:false}

We can now extract the values of the tags that we care about using a custom column with a regex extract formula. Replace <tag_key> with your desired tag key.

regexextract([Faros Tags β†’ Tags], "<tag_key>:([^\}]+)")
Note: The values for `Customer Facing` and `Green Blue` appear in their respective custom columns

Note: The values for Customer Facing and Green Blue appear in their respective custom columns