标签:zabbix 磁盘阵列监控 powershell exchange监控 邮箱队列 dag
上一篇简单介绍了zabbix监控Exchange人数,服务等状态。对一些需要经过判断的数据则无能为力了。此时,就需借助powershell。看过本文后,可以实现两个激动人心的功能。
一、对远程无人值守机房的硬件监控(本文只涉及最重要的磁盘阵列)
二、通过powershell获取关注的值
小插曲,分公司因控制成本,均不配备IT人员,相应的机房检核也成了一纸空谈。尽管我们的标准配置为双电双网raid5+1块hot spare。一台生产环境服务器恰好坏了多块硬盘导致宕机,最终的数据恢复成本惊人。
环境:分公司服务器均为总部汰换下来的HP服务器,系统均为2008、2008R2、2012 64位
思路:
1、HP官方有推出 HP ProLiant Array Configuration Utility (CLI) for Windows(文中简称ACU)可以通过命令行的方式配置及查看阵列卡信息。
2、powershell调用上述工具,取出逻辑卷的状态,再进行判断,返回判断结果
3、zabbix_get测试,成功后添加自定义Key
监控阵列卡会稍微繁一点,多了第一步使用HP软件取值。监控队列、DAG则只需2 3两步即可。
大致思路确定后,就可以开始了
1、下载安装ACU(新版本地址、老版本地址)版本使用无差异,选择适配自己系统的版本即可。本文中使用的是新版本。
2、ACU的使用:
路径:C:\Program Files\Compaq\Hpacucli\Bin\hpacucli.exe
用法:ctrl all show confi取得阵列卡信息,观察其中逻辑卷状态
3、判断上步结果:
这样的结果,zabbix看起来是臃肿的,使用powershell进行判断,如果逻辑卷OK,则返回0,其他返回1,脚本如下。脚本路径 D:\PS\raid.health.ps1
cd "C:\Program Files\Compaq\Hpacucli\Bin" $content=.\hpacucli.exe ctrl all show config if(($content | select-string "logicaldrive").tostring() -match "logicaldrive.*OK") { write-host "0" } else { write-host "1" } #0=ok,1=bad
4、zabbix中测试并添加
添加项目,数据更新间隔可以写大一些(阵列卡2小时监测一次足矣 7200秒),展示值自定义
5、同理添加邮箱队列及数据库,我直接将脚本贴在下面。
邮箱队列
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 $server = "BJMX01" $queue = (get-queue -server $server |Measure-Object -Property messagecount -sum).sum echo $queue
powershell中调用exchange命令须先导入模块,此步骤需时较长,所以必须修改超时时间
/etc/zabbix/zabbix_server.conf
将Timeout时间改大
数据库挂载状态(DAG)
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 $server="bjmx11" $status=Get-MailboxDatabaseCopyStatus -Server $server |foreach {$_.status} if ($status | where-object{$_ -notmatch "Healthy|Mounted" -and $_ -ne""} ) { echo 1 } else { echo 0 }
至此我们就可以在一个页面中看到所有Exchange状态了。极大的方便了排错等工作,后续可以添加一些自定义报警。希望可以帮到您。
PS:
今早在消息中看到推荐上首页,没看到在推荐博文中也没看到推荐的标 ┑( ̄Д  ̄)┍
本文出自 “杂谈” 博客,请务必保留此出处http://jixing.blog.51cto.com/821242/1614061
Zabbix高级应用二、监控磁盘阵列、Exchange队列、DAG
标签:zabbix 磁盘阵列监控 powershell exchange监控 邮箱队列 dag
原文地址:http://jixing.blog.51cto.com/821242/1614061