公司在各地分公司都有多台域控制器,相互之间同步抄写数据。
成功会显示为successful,失败或错误会显示failed和error。
偶然发现发现有一台没怎么用的域控制器长期同步失败,因为这个同步检查很少出问题,就算出现问题也很难察觉。
比较直观的就是repadmin /replsum可以得出最近的同步结果。
这个总体统计,查看错误和失败的数量,以及错误原因。
找了一下其他命令的用法,找到一个参数 /showrepl,会返回林中每个域控制器最近一次同步的结果。
那么只需要统计失败和错误的计数,就可以知道同步是否出错。
接下来准备监控的脚本。
一,zabbix客户端上。
1.在域控制器上写两个bat脚本,内容为repadmin /showrepl和repadmin /replsum。
将这两个bat脚本的路径加入系统path以执行。
2.然后在zabbix agent上添加脚本和查询参数。
编辑C:\Program Files\Zabbix Agent\zabbix_agent.conf末尾加入
Include=C:\Program Files\Zabbix Agent\scripts\ADReplication\repadmin_showrepl.conf
3.编辑Include=C:\Program Files\Zabbix Agent\scripts\ADReplication\repadmin_showrepl.conf内容为:
#查找同步失败的计数
UserParameter=repadmin.showreplfailed,repadmin_showrepl.bat | find /C "failed"
#查找同步错误的计数。
UserParameter=repadmin.showreplerror,repadmin_showrepl.bat | find /C "error"
#统计合计信息。
UserParameter=repadmin.replsum,repadmin_replsum.bat
4.在域控制器上重启zabbix agent。
二,zabbix服务端。
1.新增AD repadmin的模板。
2.在模板中新增应用级AD repadmin。
3.在模板中加入三个监控项。
a.replication sum
键值:repadmin.replsum
信息类型:文本
b.Replication error
键值:repadmin.showreplerror
信息类型:数字
c.Replication failed
键值:repadmin.showreplfailed
信息类型:数字
4.新增触发器。
a.Replication error
表达式:{AD repadmin:repadmin.showreplerror.last()}<>0
严重性:一般严重。
b.Replication failed
表达式:{AD repadmin:repadmin.showreplfailed.last()}<>0
严重性:一般严重。
刚好周末有一个site机房搬迁,设备会关机,验证该脚本可以达到效果。
监控项确定正常运作后,加入trigger,发送报警通知。
评论
发表评论