Softprober Plugins 🏆

function Update # Use COM object to query Windows Update $Session = New-Object -ComObject Microsoft.Update.Session $Searcher = $Session.CreateUpdateSearcher() $SearchResult = $Searcher.Search("IsInstalled=0") $PendingCount = $SearchResult.Updates.Count

Place this script in plugins\scripts\ , add a corresponding .ini with Interval=3600 (once per hour), and SoftProber will immediately display a gauge showing pending updates. Multi-Metric Plugins A single plugin can return multiple metrics by writing to a shared memory block or returning a JSON array. Example: a MySQL plugin that returns queries per second, slow queries, and thread count in one execution. Stateful Plugins Plugins can maintain state between updates (e.g., storing last value to compute delta, or caching a session token). SoftProber provides a plugin_state folder where plugins can read/write small files without interfering with each other. Alert Correlation Plugins can raise “soft” alerts with metadata. For instance, a log file plugin detecting ERROR in a log can return: softprober plugins

PendingUpdates.ps1

Introduction: What is SoftProber? Before diving into its plugin architecture, it is essential to understand the host application. SoftProber is a powerful, real-time system and network monitoring utility designed primarily for Windows environments, though its agents and probes can extend to Linux, macOS, and network devices via SNMP. Unlike heavier solutions like PRTG or Nagios, SoftProber is lightweight, agent-based, and highly visual, offering a dashboard that updates live with CPU loads, memory usage, disk I/O, network throughput, and process-level details. function Update # Use COM object to query

param($action, $configPath) function Init # Load config if needed return $true Stateful Plugins Plugins can maintain state between updates