Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Exchange 2010 DAG Mailbox check
0.2
2013-09-11
- Nagios 1.x
- Nagios 2.x
- Nagios 3.x
- Nagios XI
- Nagios Fusion
42830
File | Description |
---|---|
MailboxHealth.ps1 | MailboxHealth.ps1 |
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
Use this plugin to check the status of the mailbox copies in your Exchange 2010 DAG. You'll need a proxy host to run your Powershell commands (or they can be run directly from the Exchange server(s)).
More info here: http://www.nsclient.org/nscp/discussion/topic/637
Only parameter you need to pass is the mailbox server name. It will return a warning if the indexstate is damaged on any of your mailbox DBs, or critical if they're unmounted or unhealthy.
Reviews (1)
There appears to be a syntax error (or at least when executed on my system Server 2008 R2 Exch 2010)
When running on my exchange server, Mounted and Dismounted databases report as OK.
If you change:
if(($state.status -match "Mounted") -or ($state.status -match "Healthy")){
to:
if(($state.status -match '^Mounted') -or ($state.status -match '^Healthy')){
and
if(($ContentIndexState.status -match "Healthy") -or ($ContentIndexState.status -match "Mounted")){
to:
if(($ContentIndexState.status -match '^Healthy') -or ($ContentIndexState.status -match '^Mounted')){
It then works properly for me.
Other than that great script. Thanks.
When running on my exchange server, Mounted and Dismounted databases report as OK.
If you change:
if(($state.status -match "Mounted") -or ($state.status -match "Healthy")){
to:
if(($state.status -match '^Mounted') -or ($state.status -match '^Healthy')){
and
if(($ContentIndexState.status -match "Healthy") -or ($ContentIndexState.status -match "Mounted")){
to:
if(($ContentIndexState.status -match '^Healthy') -or ($ContentIndexState.status -match '^Mounted')){
It then works properly for me.
Other than that great script. Thanks.
Owner's reply
Thanks for that! I'll update the uploaded script with your correction. Cheers.