Tagging Guide

Introduction

Tags (also known as labels) are a way of associating names with topology so it can be filtered.

Defining Tags

Below are StackState’s tagging restrictions, requirements, and suggestions:

  1. Tags must start with a letter and after that may contain the characters listed below:

    • Alphanumerics
    • Underscores
    • Minuses
    • Colons
    • Periods
    • Slashes

    Other special characters are converted to underscores.

    Note: A tag cannot end with a colon, for example tag:

  2. Tags can be up to 200 characters long and support Unicode.

  3. Tags are converted to lowercase. Therefore, CamelCase tags are not recommended.

  4. A tag can be in the format value or <KEY>:<VALUE>. For optimal functionality, we recommend constructing tags in the <KEY>:<VALUE> format. Commonly used tag keys are env, instance, and name. The key always precedes the first colon of the global tag definition, for example:

    TagKeyValue
    customer:US:acmecustomerUS:acme
    customer:acmecustomeracme
  5. Tags shouldn’t originate from unbounded sources, such as EPOCH timestamps, user IDs, or request IDs. Doing so may infinitely increase the number of tags in StackState.

Assigning Tags

Tags may be assigned using any (or all) of the following methods.

MethodAssign tags
Configuration FilesManually in your main agent configuration files, or in your integrations configuration file.
StackPack InheritanceAutomatically with supported StackPacks after setup

Configuration Files

The hostname (tag key host) is assigned automatically by the StackState Agent. To customize the hostname, use the Agent configuration file, stackstate.yaml:

# Set the hostname (default: auto-detected)
# Must comply with RFC-1123, which permits only:
# "A" to "Z", "a" to "z", "0" to "9", and the hyphen (-)
hostname: mymachine.mydomain

The Agent configuration file (stackstate.yaml) is also used to set host tags which apply to all data forwarded by the StackState Agent (see YAML formats below).

Tags for the integrations installed with the Agent are configured via YAML files located in the conf.d directory of the Agent install.

YAML formats

In YAML files, use a tag dictionary with a list of tags you want assigned at that level. Tag dictionaries have two different yet functionally equivalent forms:

tags: <KEY_1>:<VALUE_1>, <KEY_2>:<VALUE_2>, <KEY_3>:<VALUE_3>

or

tags:
    - <KEY_1>:<VALUE_1>
    - <KEY_2>:<VALUE_2>
    - <KEY_3>:<VALUE_3>

It is recommended you assign tags as <KEY>:<VALUE> pairs, but simple tags are also accepted.

StackPack Inheritance

The most efficient method for assigning tags is to rely on your StackPacks. Tags assigned to your Amazon Web Services components, Azure components, and more are all automatically assigned to the topology when they are brought into StackState.

Using Tags

After you have assigned tags at the host and integration level, start using them to create views.