您的位置:首页 > 运维架构

Zabbix高级应用二、监控磁盘阵列、Exchange队列、DAG

2015-02-12 15:01 411 查看
上一篇简单介绍了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:今早在消息中看到推荐上首页,没看到在推荐博文中也没看到推荐的标 ┑( ̄Д  ̄)┍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息