Agents and modules generated
The plugin creates an Application Gateway Connection module for each monitored Application Gateway. This module has value 1 when the resource is available and value 0 when a resource stored in the entity cache no longer appears in Azure.
If Create one agent per Application Gateway is enabled, one agent is created for each discovered Application Gateway. The agent name is built using the configured Application Gateway agent prefix plus the Application Gateway name.
Example:
Application Gateway agent prefix: Azure Application Gateway
Application Gateway name: agw-production-frontend
Agent name: Azure Application Gateway agw-production-frontend
If Create one agent per Application Gateway is disabled, all modules are sent to the agent configured in Target agent. In this mode, the Application Gateway name is added as a prefix to each module name to avoid collisions.
The available modules are:
Application Gateway Connection: Azure Application Gateway resource status (1=UP, 0=DOWN). Created as generic_proc.
CPU Utilization: Application Gateway CPU usage.
Current Connections: Number of current connections.
Failed Requests: Number of failed requests.
HTTP Status: HTTP status code count.
Throughput: Average Application Gateway throughput.
Total Requests: Total number of requests.
Healthy Host Count: Number of healthy backend hosts.
Unhealthy Host Count: Number of unhealthy backend hosts.
Average Request Count Per Healthy Host: Average request count per healthy backend host.
Backend Connect Time: Backend connection time.
Backend First Byte Response Time: Time to first backend response byte.
Backend Last Byte Response Time: Time to last backend response byte.
Application Gateway Total Time: Total time processed by Application Gateway.
Client RTT: Client round trip time.
Bytes Sent: Bytes sent.
Bytes Received: Bytes received.
TLS Protocol: TLS protocol count.
Compute Units: Compute units. Only applies to v2 SKUs.
Capacity Units: Capacity units. Only applies to v2 SKUs.
Estimated Billed Capacity Units: Estimated billed capacity. Only applies to v2 SKUs.
Fixed Billable Capacity Units: Fixed billable capacity. Only applies to v2 SKUs.
New Connections Per Second: New connections per second. Only applies to v2 SKUs.
Backend HTTP Status: HTTP status codes returned by backend servers.
WAF Matched Count: WAF matches. Only applies to WAF SKUs.
WAF Blocked Requests: Requests blocked by WAF. Only applies to WAF SKUs.
WAF Blocked Count: WAF block count. Only applies to WAF SKUs.
WAF Total Requests: Total requests processed by WAF. Only applies to WAF SKUs.
WAF Security Rule: WAF security rule matches. Only applies to WAF SKUs.
WAF Custom Rule: WAF custom rule matches. Only applies to WAF SKUs.
WAF Bot Protection: WAF bot protection events. Only applies to WAF SKUs.
Backend TLS Negotiation Error: Backend TLS negotiation errors.
Rejected Connections: Rejected connections.
Application Gateway Count: Discovered Application Gateway resource count.
WAF JS Challenge Request Count: WAF JS challenge requests. Only applies to WAF SKUs.
WAF Penalty Box Hits: WAF penalty box hits. Only applies to WAF SKUs.
WAF Penalty Box Size: WAF penalty box size. Only applies to WAF SKUs.
WebSocket Active Connections: Active WebSocket connections.
WebSocket Specific Close Status Code: WebSocket close status codes.
WAF Captcha Challenge Request Count: WAF CAPTCHA challenge requests. Only applies to WAF SKUs.
Module type mapping
| Metric | Pandora FMS module type | Azure aggregation | Description |
|---|---|---|---|
| Application Gateway Connection | `generic_proc` | Azure Application Gateway resource status. Value 1 when available and 0 when it is not discovered in the current execution. | |
| CPU Utilization | `generic_data` | Average | Application Gateway CPU usage. |
| Current Connections | `generic_data` | Average | Current connections. |
| Failed Requests | `generic_data` | Total | Failed requests. |
| HTTP Status | `generic_data` | Total | HTTP status count. |
| Throughput | `generic_data` | Average | Average throughput. |
| Total Requests | `generic_data` | Total | Total requests. |
| Backend and latency metrics | `generic_data` | Average or Total | Backend, latency, traffic, security, capacity, WAF and WebSocket metrics returned by Azure Monitor. |
Allow and deny regexp
The module filter is applied to the final module name, after the prefix configured in Modules prefix has been applied. Each textarea line is interpreted as a regular expression.
Example Modules allow regexp:
CPU|Throughput
Backend.*
With this configuration, only modules whose name matches CPU|Throughput or Backend.* are created.
Example Modules deny regexp:
Bytes
WAF.*
With this configuration, all modules whose name contains Bytes or starts with WAF are discarded.
If both filters are configured, the module must match the allow filter and must not match the deny filter. The deny filter can be used to discard specific modules even when the general group is enabled.
Discovered entity cache
The plugin uses a temporary entities_list file to store discovered Application Gateways. This logic allows the plugin to detect resources that existed in previous executions and later disappeared from Azure.
When an Application Gateway is stored in the entity file but no longer appears in the current discovery, the plugin keeps its agent and generates the Application Gateway Connection module with value 0. This allows Pandora FMS to alert about the missing resource instead of silently removing it from monitoring.
If Enable entities file re-scan interval is enabled, the entities file is refreshed when the interval configured in Entities re-scan interval is exceeded. If it is disabled, the discovered entity list is preserved to detect disappeared resources.