Discovery Filters


Overview

Applications Manager allows you to discover resources in a monitor type based on various filtering conditions. You can choose to filter resources for discovery based on the regex filters for the particular monitor. It discovers resources that matches the specified regex filter from the server and monitors their performance and availability.

Note: This option is only available in the Docker, VMware ESXi, RabbitMQ, and Microsoft Azure monitors.

Syntax

<ModuleType>_<AttributeName>=[Regex]

where,
<ModuleType> - Module type to be monitored.
<AttributeName> - Name of the attribute to be monitored.
[Regex] - Regex value to be specified.

Following are the list of points that are to be noted for entering a valid regex filter:

  • Users can provide multiple filters separated by comma and provide appropriate conditions/symbols such as "||" (OR), "&&" (AND) and "[]" between the filters with different attribute names to create multiple options.
  • Users should not use the characters _ [ ] in the regex value as they are used as a separator and for grouping functionality.
  • Users can provide discovery filter regex for multiple Module Types of the same monitor type. However, they cannot group multiple Module Types in the Discovery Filter regex. Example: CONTAINER_NAME=tomcat.* && NODE_NAME=test.*
  • In case the user provides any invalid module type or an attribute name that is not supported, an error message will be shown during the monitor addition.
  • Attribute names, module names and regex are case-sensitive.

Supported monitor types

Following are the list of monitor types that support discovery filters:

Monitor NameModule Type (Child / Tabular Resources)Attributes Name
Docker CONTAINER NAME, IMAGE, STATE
VMware ESXi / vCenter VIRTUALMACHINE NAME
RabbitMQ QUEUE NAME, STATE
EXCHANGE NAME,TYPE
CONNECTION STATE
CHANNEL NAME,USER
Microsoft Azure VirtualMachines




















Name, ResourceGroupName
StorageAccounts
PremiumStorageAccount
SQLDatabases
ServiceBus
KubernetesServices
SQLManagedInstance
LoadBalancer
AzurePostgreSQLServer
AzureAppService
AzureSynapseAnalytics
AzureFunctions
AzureVirtualNetwork
AzureVMScaleSets
AzureRedisCache
AzureCosmosDB
AzureMariaDBServer
AzureMySQLServer
AzureNetworkInterface
AzureExpressRouteCircuit
AzurePublicIPAddress
AzureVNetGateway
AzureApplicationGateway
AzureDNSZone
AzurePrivateDNSZone
AzureFirewall
AzureTrafficManagerProfile
AzureConnection
AzureNetworkWatcherConnection
AzureFrontDoorAndCDNProfile

Examples

Following are some examples by which regex filters can be specified:

S.No.Monitor NameDiscovery RegexBehavior
1 Docker CONTAINER_NAME=tomcat.* Discovers all the containers starting with the name 'tomcat'.
2 Docker CONTAINER_NAME=tomcat.*, NODE_NAME=test.* Discovers all the containers starting with the name 'tomcat' and node name starting with 'test'.
3 Docker CONTAINER_NAME=tomcat.* && CONTAINER_IMAGE=tomcat8.* Discovers the container starting with the name 'tomcat' and image starting with 'tomcat8'.
4 Docker CONTAINER_NAME=tomcat.* || CONTAINER_IMAGE=tomcat8.* Discovers the container starting with the name 'tomcat' or the image starting with 'tomcat8'.
5 Docker CONTAINER_NAME=tomcat.* && [CONTAINER_IMAGE=tomcat8.* || CONTAINER_PATH=cont1.*] Discovers the container starting with the name 'tomcat' if container image starts with 'tomcat8' or the path starts with 'cont1'.
6 Docker CONTAINER_NAME=tomcat.* , [CONTAINER_IMAGE=tomcat8.* || CONTAINER_PATH=cont1.*] Discovers all the container starting with name 'tomcat' and the container whose image starts with 'tomcat8' or the path start with 'cont1'.
7 Docker CONTAINER_NAME=tomcat.* && CONTAINER_STATE=running.* Discovers the container starting with the name 'tomcat' and is in 'running' state.
8 Docker CONTAINER_NAME=tomcat.* || CONTAINER_STATE=exited.* Discovers the container starting with the name 'tomcat' or is in 'exited' state.
9 Microsoft Azure VirtualMachines_Name=cloud.* && VirtualMachines_ResourceGroupName=apm.* Discovers all the Virtual Machines whose names start with 'cloud' under the resource groups whose names start with 'apm'.
10 Microsoft Azure StorageAccounts_Name=^(?!prod).* && StorageAccounts_ResourceGroupName=^(?!prod).* Discovers all Storage Accounts having name not starting with 'prod' under the resource group having a name not starting with 'prod'.
11 Microsoft Azure SQLDatabases_Name=(^(Apm|Cloud).*$) || SQLDatabases_ResourceGroupName=DB.* Discovers all the SQL Databases having a name starting with either 'Apm' or 'Cloud' and will also discover all the SQL Databases under the resource group having a name starting with DB.
12 Microsoft Azure ServiceBus_Name=APM.* || ServiceBus_NAME=.*APM Discovers all Service Bus namespaces having a name that starts or ends with APM.
13 Microsoft Azure KubernetesServices_ResourceGroupName=Cloud.*APM, SQLManagedInstance_Name=MI.*, LoadBalancer_NAME=.*alb.* Discovers all the Kubernetes clusters under the resource group having a name starting with 'Cloud' and ending with 'APM', all the SQL Managed Instances having a name starting with 'MI', and the Load Balancer names containing 'alb'.