Server tagging makes it easy to query, filter, and compare related servers using custom metadata. You can tag related servers based on OS, location, tier, owner, or any other relevant criteria. Server tags provide additional context to server metrics.

For example, you might want to specify deployment-version tags to the servers in a specific cluster; then you can use these tags to identify anomalies in server metrics during a new deployment. 

Server Tagging requires a Server Visibility license. Server Tagging is currently available for Linux, Windows, and Solaris. 


Server Visibility can import the following tags automatically.

SourceTagsController / Agent Requirements
Custom

Server Visibility can import

  • Controller 4.4 or higher
  • Standalone Machine Agent 4.4 or higher
Machine Agent

These tags appear in the Server Dashboard under Tags.

  • OS Architecture
  • OS Kernel
  • AppDynamics Agent Version
  • Controller 4.4 or higher
  • Standalone Machine Agent 4.2 or higher
Amazon Web Services

These tags appear in the Server Dashboard under Tags as AWS|<tag>. See Importing Tags from Amazon Web Services below.

  • resource-id
  • availability-zone
  • region
  • ami-id
  • instance-type
  • security-group
  • Controller 4.4 or higher
  • Standalone Machine Agent 4.4 or higher
Docker

Server Visibility can import user-defined tags and system container-level tags. These appear under Container Details > Tags as Docker|<tag>.

The exact set of tags imported can vary depending on the system on which the container is running.

  • Controller 4.4.3 or higher
  • Standalone Machine Agent 4.4.3 or higher

Kubernetes

OpenShift

Server Visibility can import ReplicaSet and pod tags. These appear under Container Details > Tags as K8s|<tag>.
  • Controller 4.4.3 or higher
  • Standalone Machine Agent 4.4.3 or higher


Viewing Servers by Tag in the Controller UI

View filter servers by tag in the Servers list, click the Filters button and add the criteria you want for the tag filer. If you specify multiple criteria, the filter performs an AND search (for criteria with different keys) and an OR search (for criteria with the same key). In the following example, the tag criteria filters all servers with

  1. Tier tag that equals ECommWeb OR ECommInventory, AND
  2. An OS Architecture tag that equals x86_64.

Defining and Viewing Tags for a Server

You can specify custom tags as a set of key/value strings in the agent config directory. Each agent can support up to 50 tags by default.

Note the following good practices for defining server tags:

  • If an agent is deployed in Amazon Web Services, the agent can auto-detect and import tags defined in AWS. The Controller also auto-assigns a set of default tags to each server.
    The primary use case for custom tags is to specify information that is not already specified in AWS and auto-assigned tags. Before you specify custom tags in the agent config directory, it is good practice to review the current set of tags: go to the Server Dashboard and view the Tags pane at the bottom of the page.

    Be careful not to define duplicate tags in the YML file.


Configure the following option in <machine_agent_home>/extensions/ServerMonitoring/ServerMonitoringConfig.yml :

SettingDescription

tag

A list of user-defined tags for the individual server. You can use these tags to query, filter, aggregate, and compare related servers.
Each tag is specified by a key-value pair. You can define tag names up to 127 Unicode characters and tag values up to 255 Unicode characters. Define each key on a separate line. All key/value strings should be within single quotes. If a key has multiple values, delineate the list with commas:
<key>: [ <value> ]  
tags:
    'Location': ['NYC', 'Data Center', 'Server Room 7']
    'Environment': ['preProduction']


Importing Tags from Amazon Web Services

Detailed information about Amazon Web Services is outside the scope of AppDynamics documentation. The following links are provided as a convenience and might not work if Amazon reorganizes its website or documentation.


Before Server Visibility can import tags from AWS, you must set up IAM roles:
  1. Log in to the AWS console: https://console.aws.amazon.com/iam/
  2. Create a role that has read access to EC2 tags.
    Specifically, the role must have an AWS Managed Policy with the required permissions (such as AmazonEC2ReadOnlyAccess) attached. 
  3. Add this role to your EC2 instance.
    For information about these two steps, search for "To create an IAM role using the IAM console" and "Attaching an IAM Role to an Instance" in the following page:
     http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
  4. Run the Machine Agent with Amazon Web Services enabled.

Configuration Options for Server Tagging

To edit these settings, log in to the Controller administration console using the root user password. See Access the Administration Console.

Server Visibility PropertyDescriptionDefault
sim.machines.tags.enabled

Enable/disable server tags for all servers.

True
sim.machines.tags.aws.enabledEnable/disable the collection of AWS tags for all servers.True
sim.machines.tags.aws.pollingInterval

Length of time in milliseconds between each polling of AWS tags

21600000
(6 hours)  

sim.machines.tags.maxPerMachineMaximum number of unique tags per account. 50
sim.machines.tags.maxPerAccount

Maximum number of unique tags per account.

 500


Configuration Options for Docker Tags

The machine agent can be configured to collect different types of tags. By default, all tags are collected. To turn off tag collection, set dockerTagsEnabled to "false".

  1. Edit the <machine_agent_home>/extensions/DockerMonitoring/DockerMonitoringConfig.yml file.
  2. Under the containerMonitoringConfig section, set dockerTagsEnabled: "false"

    # WARNING: Before making any changes to this file read the following section carefully
    # 
    # After editing the file, make sure the file follows the yml syntax. Common issues include
    # - Using tabs instead of spaces
    # - File encoding should be UTF-8
    #
    # The safest way to edit this file is to copy paste the examples provided and make the
    # necessary changes using a plain text editor instead of a WYSIWYG editor.
    #
    
    # samplingInterval indicates how often to gather metric data. Units in milliseconds.
    samplingInterval: 30000
    
    containerMonitoringConfig:
        # containerProcessSelectorRegex defines regular expression to evaluate the processes in
        # each running container to be monitored by the machine agent. The regular expression is
        # compared against each process full command line within running
        # If the pattern matches, then the machine agent start monitoring it.
        containerProcessSelectorRegex: ".*[ ]-Dappdynamics.*"
        dockerTagsEnabled: "false" 
    CODE

Configuration Options for AWS Tags

The machine agent can be configured to collect different types of tags. By default, all tags are collected. To turn off tag collection, set awsTagsEnabled to "false".

  1. Edit the <machine_agent_home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml file.
  2. Set awsTagsEnabled: "false" 

 

//ServerMonitoring.yml
# WARNING: Before making any changes to this file read the following section carefully
# 
# After editing the file, make sure the file follows the yml syntax. Common issues include
# - Using tabs instead of spaces
# - File encoding should be UTF-8
#
# The safest way to edit this file is to copy paste the examples provided and make the
# necessary changes using a plain text editor instead of a WYSIWYG editor.
#
awsTagsEnabled: "false"
# samplingInterval indicates how often to gather metric data. Units in milliseconds.
samplingInterval: 30000
...
CODE


Configuration Options for Kubernetes and OpenShift Tags

The machine agent can be configured to collect different types of tags. By default, all tags are collected. To turn off tag collection, set k8sTagsEnabled to "false".

  1. Edit the <machine_agent_home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml file.
  2. Set k8sTagsEnabled: "false"
//ServerMonitoring.yml
# WARNING: Before making any changes to this file read the following section carefully
# 
# After editing the file, make sure the file follows the yml syntax. Common issues include
# - Using tabs instead of spaces
# - File encoding should be UTF-8
#
# The safest way to edit this file is to copy paste the examples provided and make the
# necessary changes using a plain text editor instead of a WYSIWYG editor.
#
k8sTagsEnabled: "false"
# samplingInterval indicates how often to gather metric data. Units in milliseconds.
samplingInterval: 30000
...
CODE