Host aliases and the @host tag

The @host tag is a special tag available in AppOptics that makes it easy to find and filter your hosts using whatever identifying attributes works best for you.

Hosts can have a large number of identifying attributes–EC2 Name tags, instance IDs, local hostnames, user-provided overrides–instead of needing to remember which tags apply to which metrics, AppOptics maps all available host tags to relevant metrics and provides @host to search across all of them:

host_aliases_dashboard

This document describes how you can use @host to seamlessly work across all of the labels commonly associated with hosts.

How can I set host names?

There are a lot of ways to identify hosts, and they’re all available as tags on metrics we’ve been able to associate with those hosts. This can lead to a number of tags existing on metrics, like hostname, hostname_alias, instance_id, and more.

If present, each of the following are fed into @host in AppOptics:

  • The hostname_alias configuration parameter in the host agent (tag: host_hostname_alias)
    • Read about how to set Global Tags in the Host Agent configuration docs.
  • The APPOPTICS_HOSTNAME_ALIAS configuration parameter on an APM agent (tag: apm_hostname_alias)
    • Read how to set up the Hostname Alias with some of the most common language agents: Java, .NET, PHP, Python.
  • Name tag in EC2 on the instance (tag: name)
  • Hostname on the OS (tag: hostname)
  • EC2 instance id from CloudWatch (tag: instanceid)

As metric data is received, the system matches metrics coming from CloudWatch that correspond to the same resources as metrics coming from host or APM agents, enriching the metrics with all relevant host identification tags. The @host tag then allows access across all of them.

host_aliases_tags

How are host names displayed?

When you’re looking for a host or filtering, use @host and it will automatically match on any identifying tag for the underlying metrics. When it’s time to display an @host value, we pick the “best” one according to our order of precedence (see above). Of course, the underlying tags are still there, so if you specifically want instance_id and only that, you can still use it.