zabbix监控windows dhcp server Scope

zabbix监控windows dhcp server 作用域

这里省略 agent安装 和 zabbix添加主机步骤

步骤:

1、准备两个脚本,check_dhcpscop.ps1 和 check_dhcpscop_value.ps1

check_dhcpscop.ps1
#获取DHCP作用域,输出结果要为json格式,key值格式必须为{
    
    #NAME},必须大写
$scops = Get-DhcpServerv4Scope |select @{
    
    name="{#SCOPNAME}";expression={
    
    $_.Name.replace(' ','')}}|ConvertTo-Json

@"
{
    
    "data":$scops}
"@
check_dhcpscop_value.ps1
Param($scopname, $propname)

#获取DHCP作用域当前状态及IP分配情况
$scops = Get-DhcpServerv4Scope |select Name,@{
    
    name="ScopeID";expression={
    
    $_.ScopeID.IPAddressToString}},State

$scops_ipusages = Get-DhcpServerv4ScopeStatistics |Select @{
    
    name="ScopeID";expression={
    
    $_.ScopeID.IPAddressToString}},PercentageInUse

#将两个对象合并为一个
foreach ($scop in $scops)
    {
    
    
    $scop_ipusage = $scops_ipusages | Where-Object {
    
    $_.ScopeID -eq $scop.ScopeID}
   $scop | Add-Member -MemberType NoteProperty -Name PercentageInUse -Value $scop_ipusage.PercentageInUse -Force
    }

($scops | ? {
    
    $_.Name.replace(' ','') -eq ($scopname + $ID)}).$propname

两个脚本都放在dhcp服务器的 c:\zabbix\script\ 

2、zabbix_agentd.conf中自定义用户参数 UserParameter

找到zabbix Agent的安装目录,修改zabbix_agentd.conf文件

UserParameter=check_dhcpscop,powershell c:\zabbix\script\check_dhcpscop.ps1
UserParameter=check_dhcpscop_value[*],powershell c:\zabbix\script\check_dhcpscop_value.ps1 $1 $2
zabbix的用户参数限制使用特殊字符和空格,假设你的作用域名字是Vlan 10(带有空格),则会出现传参错误。
这里在check_dhcpscop.ps1里做了修改,会将空格去除。

3、在zabbix监控windows模板里创建自动发现规则

创建模板 windows DHCP Server by Zabbix agent —> 创建自动发现规则 DHCP Scope Discovery
在这里插入图片描述
在这里插入图片描述

4、创建监控项

创建监控项 DHCP Scope State_{#SCOPNAME}

在这里插入图片描述
在这里插入图片描述

 创建监控项 DHCP Scope PerCentageInUse_{#SCOPNAME}

在这里插入图片描述
在这里插入图片描述

5、创建触发器

创建触发器{#SCOPNAME} Scope Static Inactice 和 {#SCOPNAME} Scope usag95%
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42906357/article/details/128631225