设为首页收藏本站我的广告

运维网

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
总共321条微博

每日一博

查看: 9505|回复: 0

【重大新闻】 Zabbix高级应用二、监控磁盘阵列、Exchange队列、DAG【顶】

[复制链接]

该用户从未签到

cn2015 发表于 2018-3-20 02:02:45 | 显示全部楼层 |阅读模式
【站长推荐】上一篇简单介绍了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 FilesCompaqHpacucliBinhpacucli.exe

用法:ctrl all show confi取得阵列卡信息,观察其中逻辑卷状态

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

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

3、判断上步结果:

这样的结果,zabbix看起来是臃肿的,使用powershell进行判断,如果逻辑卷OK,则返回0,其他返回1,脚本如下。脚本路径 D:PSraid.health.ps1

1
2
3
4
5
6
7
8
9
10
11
12
cd "C:Program FilesCompaqHpacucliBin"
$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中测试并添加

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

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


添加项目,数据更新间隔可以写大一些(阵列卡2小时监测一次足矣 7200秒),展示值自定义


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

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


5、同理添加邮箱队列及数据库,我直接将脚本贴在下面。

邮箱队列

1
2
3
4
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时间改大

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

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

数据库挂载状态(DAG)

1
2
3
4
5
6
7
8
9
10
11
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
   }



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

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

至此我们就可以在一个页面中看到所有Exchange状态了。极大的方便了排错等工作,后续可以添加一些自定义报警。希望可以帮到您。

PS:

今早在消息中看到推荐上首页,没看到在推荐博文中也没看到推荐的标 ┑( ̄Д  ̄)┍

运维网 感谢您的阅读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|sitemap|手机版|小黑屋|Archiver|运维网 ( 京ICP备16008201号  

GMT+8, 2018-11-19 08:50 , Processed in 0.061617 second(s), 33 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表