# Discovery

This plugin can be used from Pandora FMS *Discovery*.

Upload the corresponding `.disco` package from the Pandora FMS library or from the console plugin management view. After that, Azure SQL monitoring tasks can be created from the Cloud/Application Discovery section.

The **Azure credentials** step asks for:

- **Tenant ID:** Azure tenant used by the Service Principal.
- **Subscription ID:** Azure subscription where resources will be discovered.
- **Client ID:** Service Principal application identifier.
- **Client secret:** Service Principal secret.
- **API endpoint:** Azure management endpoint. Leave it empty for standard public Azure.
- **Login endpoint:** Azure authentication endpoint. Leave it empty for standard public Azure.

The **SQL discovery** step controls resource discovery and agent creation:

- **Resource group:** optional filter to limit discovery to one resource group.
- **SQL server name:** optional filter to limit discovery to one SQL server.
- **Database name:** optional filter to monitor one database.
- **Create agent per database:** when enabled, each database creates its own Pandora FMS agent. When disabled, all modules are sent to **Target agent**.
- **Target agent:** destination agent used only when **Create agent per database** is disabled.
- **Agent prefix:** optional prefix for agents created per database.
- **Module prefix:** optional prefix for generated module names.
- **Agent interval:** interval assigned to created or updated agents.
- **Timeout:** HTTP timeout for Azure calls. Values below `30` are treated as `30` seconds.
- **Scan databases:** queries Azure to discover databases.
- **Enable entities file re-scan interval:** enables periodic refresh of the discovered entities file.
- **Re-scan entities file interval:** interval used to rebuild the entity cache when re-scan is enabled.
- **Skip master database:** prevents the `master` database from being monitored.

The **Modules** step enables or disables module groups:

- **Performance modules:** creates CPU, DTU, physical data read, log write, sessions, and workers percentage modules.
- **Storage modules:** creates data space used, data space used percentage, and allocated data storage modules.
- **Connection modules:** creates successful, failed, and firewall-blocked connection modules.
- **Tempdb and XTP modules:** creates `tempdb` data size, `tempdb` log size, `tempdb` log used percentage, and XTP storage modules.
- **Deadlock modules:** creates the deadlock count module.

Successful executions include a summary similar to:

- **resources_discovered:** number of databases discovered in the current run.
- **resources_vanished:** number of previously stored databases that no longer appear in the current discovery.
- **modules:** total number of generated modules.
- **errors:** number of errors detected during execution.