-
Notifications
You must be signed in to change notification settings - Fork 0
Health Checks
This page lists every check SPSWeather runs against each farm in scope, what it reports, and the ExclusionRules key that disables it (see Configuration → ExclusionRules).
| Check | Reports | ExclusionRules key |
|---|---|---|
| SharePoint version | Build/version of each SharePoint server | (always) |
| Servers | The SharePoint servers of the farm | (always) |
| Upgrade status | Whether a configuration upgrade action is required | (always) |
| Health Analyzer | Failing Health Analyzer rules surfaced in Central Administration | HealthStatus |
| Trust farm API | HTTP status of the trusted-farm REST API | APIHttpStatus |
| Site collections | HTTP status of the monitored site collections | SPSiteHttpStatus |
| Failed timer jobs | Timer-job failures over a lookback window, with a failure-ratio threshold | FailedTimerJob |
| Solutions (WSP) | Farm solution deployment status | WSPStatus |
| Content databases | Status and size of each content database | (always) |
| User Profile audiences | Audience compilation status | (always) |
| Check | Reports | ExclusionRules key |
|---|---|---|
| Crawl status | Last crawl status per content source | (always) |
| Crawl logs | Crawl log error/warning counts | (always) |
| Search topology | State of the search topology components | (always) |
| Check | Reports | ExclusionRules key |
|---|---|---|
| Distributed Cache | AppFabric / Distributed Cache instance status | (always) |
| IIS application pools | State of the IIS application pools | (always) |
| IIS worker processes |
w3wp.exe resource usage |
IISW3WPStatus |
| IIS site certificates | TLS certificate validity/expiry per IIS site | (always) |
| Last reboot | Last reboot time of each server | (always) |
| .NET version | Installed .NET Framework version | (always) |
| Application event errors | Recent errors in the Windows Application event log | EvtViewerStatus |
| Disk usage | Drive size and free space | (always) |
SQL data is collected from a SharePoint server with dependency-free ADO.NET
(System.Data.SqlClient — no SqlServer module needed). The SQL servers are
discovered from Get-SPDatabase, so checks follow the farm's own databases. The
service account needs VIEW SERVER STATE and read access to master/msdb. An
unreachable instance produces a single red row instead of failing the run.
| Check | Reports | ExclusionRules key |
|---|---|---|
| Alias mapping | cliconfg alias → real server\instance, protocol (TCP/NP), port, bitness (32/64); declared-vs-discovered validation | SQLAliasStatus |
| Instances | Edition/version/build, MAXDOP (advisory if ≠ 1), max server memory, TempDB file count vs CPUs | SQLInstanceStatus |
| Databases | State, recovery model, data/log size, last full backup age, compatibility level, AutoShrink/AutoClose | SQLDatabaseStatus |
| Disk volumes | Free space per volume hosting SQL files (sys.dm_os_volume_stats) |
SQLDiskStatus |
| Availability | AlwaysOn AG replica sync health and recent failed SQL Agent jobs | SQLAvailabilityStatus |
SharePoint best practice is to reach SQL through cliconfg client aliases, so
Get-SPDatabase returns the alias rather than the real server. The alias is
enough to connect (System.Data.SqlClient resolves it via SNI on the SharePoint
server, exactly like SharePoint), and SPSWeather additionally resolves the
alias from the registry to show the real target. You can optionally declare the
SQL alias(es)/server(s) per farm with a SqlServers array in the config; SPSWeather
then cross-checks declared vs discovered and flags any mismatch (and 32/64-bit
alias inconsistencies) as advisories.
SQL alert thresholds are configurable in the environment config: SQLDiskFreeThresholdPercent
(default 15) and SQLBackupMaxAgeDays (default 3). Database offline state, a
missing/old full backup, low volume free space, an unhealthy AG replica, a failed
backup job, or an unreachable instance raise an alert; best-practice deviations
(MAXDOP, memory, TempDB, AutoShrink/AutoClose) are shown as orange advisories
without raising the global alert.
Every check returns rows flagged as informational or not (an internal IsInfo flag). When any collected check contains at least one non-informational (failed) row, SPSWeather:
- tags the email subject with
[ALERT](otherwise[INFO]), and - raises the email priority to High, and
- writes a Warning (event ID 2000) to the SPSWeather Event Log.
In the HTML report, failing rows use the tdfailed (red) style, below-threshold timer-job failures use tdwarning (orange), and healthy rows use tdsuccess (green).
Add the corresponding key to ExclusionRules in your config to skip a check. Authorized values:
None, APIHttpStatus, SPSiteHttpStatus, EvtViewerStatus, IISW3WPStatus, HealthStatus, WSPStatus, FailedTimerJob, SQLAliasStatus, SQLInstanceStatus, SQLDatabaseStatus, SQLDiskStatus, SQLAvailabilityStatus.
Checks marked (always) above are not individually excludable.
-
Configuration — the
config.psd1reference - Usage — running, scheduling, the event log and troubleshooting
Navigation
Project