Extend Cloudmon monitoring beyond built-in integrations using custom scripts. Collect metrics from any device, service, or application and surface them alongside your existing monitoring data.
Plugins allow teams to monitor virtually anything that cannot be covered by Cloudmon's built-in integrations. Each plugin is a script, written in Python or PowerShell, that collects metrics from a target device or service and reports them back to Cloudmon. Once a plugin is registered and running, Cloudmon tracks its availability, surfaces all collected metrics, and makes them available for charting, alerting, and historical analysis, exactly like any other monitored resource.
Navigate to Servers → Plugin to view all registered plugins. The plugin list shows each plugin's name, discovery status, discovery message, version, assigned template, license status, last seen time, and last discovered time. A Tree View groups plugins by their script template, making it easy to see how many instances of each plugin type are running across the environment.
The summary tiles at the top of the list show the total plugin count alongside counts for Down, Unlicensed, Critical, and Discovery Failures, giving an immediate health overview across all plugins.
Each plugin is built around a script template, which defines what the plugin collects and how it runs. The script executes on the Cloudmon agent at a configured interval, collects numerical and textual metrics from the target, and returns them to Cloudmon. Cloudmon stores both the current values and the historical time-series data for every metric the script returns.
Because each plugin is driven by its own script, the metrics it collects and the sections available within its detail view are specific to what that script monitors. A GPU monitoring plugin will surface driver versions, memory usage, power draw, and temperature. A database plugin will surface uptime, connection counts, operation latencies, and replication status. A storage plugin will surface volume status and usage percentages. The plugin framework is the same in every case; the content is entirely determined by the script.
Clicking into any plugin opens its detail view, which always includes an availability gauge, downtime count, and the device information panel showing the name, vendor, category, IP address, network, boot time, and last seen time of the device the plugin is running on. The side panel shows the plugin version, discovery message, assigned template, instance name, last seen time, status, and state.
The Current Statistics of Numerical Metrics table shows the latest collected value and unit for every numerical metric the script returns. A Last Polled Data of Textual Metrics section captures string values such as software versions, configuration identifiers, or status labels that cannot be represented as numbers. Beyond these, each plugin exposes additional sections specific to its monitoring scope. Some examples of what this looks like in practice:
Plugins are discovered automatically as soon as their script runs and reports data, so there is no manual Add step. To adjust an existing plugin's settings, open the plugin from the list and click Edit. The Edit Plugin panel is organized into three sections: Monitor Details, Configuration Details, and Alert Settings.
Monitor Details: basic identification details for this plugin.
| Field | Description |
| Display Name | The name shown for this plugin instance throughout Cloudmon. |
Configuration Details: timeout, interval, and tags.
| Field | Description |
| Timeout (sec) | The maximum time the script is allowed to run before the check is considered failed. |
| Interval | How frequently the script executes and reports new data. |
| Tags | Optional labels for grouping and filtering this plugin in dashboards and reports. |
Alert Settings: configure alarm rules, user groups, and third party services.
| Field | Description |
| Alarm Rule | Select an alarm rule to apply to this plugin from the existing alarm rules configured under Settings → Configurations → Alarm Rules. |
| User Groups | The user groups that should be notified when an alarm is raised for this plugin. |
| Third Party Services | Third-party integrations (such as Slack, Teams, or ITSM tools) to notify when an alarm is raised for this plugin. User Groups and Third Party Services set here at the plugin level are automatically inherited by the attached alarm rule. |
Click Save to apply the changes.
Every plugin includes a Log Reports section that captures the raw output from each script execution. This is the first place to look when investigating a discovery failure or unexpected metric value, as it shows exactly what the script returned and whether it encountered any errors during collection.
Alarm triggers can be configured on any numerical metric a plugin collects, using the same threshold and severity system as all other Cloudmon resources. This means custom script metrics benefit from the same alerting infrastructure as built-in monitoring, with no additional configuration required beyond setting the threshold. To apply an alarm rule to a specific plugin, open its Edit panel and select the desired profile from the Alarm Rule field under Alert Settings. Learn more.
| Symptom | Likely Cause | Fix |
| Plugin showing as Discovery Failure | The script encountered an error during execution or could not reach its target | Review the Log Reports section for that plugin to see the raw script output and identify the error |
| Metrics showing stale or missing values | The agent is not running, or the script is failing silently without a discovery error | Confirm the Cloudmon agent is active on the host and check the Log Reports for recent execution output |
| Plugin showing as Down | The target device or service the script monitors is unreachable or has gone offline | Verify the target device is online and accessible from the agent host, then check the discovery message for detail |
| Plugin showing as Unlicensed | The plugin count has exceeded the licensed limit for the Cloudmon account | Review the active plugin count and contact Cloudmon support to adjust the license if needed |
| Timeout or Interval changes in Edit Plugin do not seem to take effect | The script itself may have a hardcoded execution time longer than the new Timeout, or a cached schedule is still running | Confirm the change was saved successfully, then allow one full Interval cycle to pass; if the issue persists, check the Log Reports for timeout errors from the script |