ืืืื
ืขื ืชืฉืชืืช ืื ืืืืื ืืืืืืจืช ืืืฉืชืืฉืช ื-DFS ืื ืงืืืช ืืืฉื ืืืช ืื ืชืื ืื ืื-DFSR ืืฉืืคืื ื ืชืื ืื ืืื ืืจืืื ื ืชืื ืื ืืฉืจืชื ืกื ืืคืื, ืขืืื ืืฉืืื ืฉื ื ืืืืจ ืืฆื ืืฉืืคืื ืืื.
ืืืงืจื, ืืืขื ืืื ืืืืจ ืฉืืชืืื ื ืืืฉืชืืฉ ื-DFSR, ืืชืืื ื ืืืืฉื ืืช Zabbix ืืืืจื ืืืืืืฃ ืืช ืื ืืืืืช ืืงืืื ืืืืื ืฉืื ืื ืืืืืื ืืช ื ืืืืจ ืืชืฉืชืืืช ืืฆืืจื ืืื ืคืืจืืืืืืช, ืืืื ืืืืืื ืืช ืืืชืจ. ื ืืืจ ืขื ืฉืืืืฉ ื- Zabbix ืื ืืืืจ ืฉืืคืื DFS.
ืงืืื ืื, ืขืืื ื ืืืืืื ืืืื ื ืชืื ืื ืขื ืฉืืคืื DFS ืฆืจืืืื ืืืชืงืื ืืื ืื ืืจ ืืช ืืืฆื ืฉืื. ืืืื ืืืงืืืจ ืืจืืืื ืื ืืืืชืจ ืืื ืคืืืืจ. ืืื ืืืื ืงืืฆืื ืฉืื ืกืื ืืจื ื ืขื ืืืจืื ืืืจืื ืืงืืืฆืช ืืฉืืคืื. ืืชื ืืืื ืืจืืืช ืืช ืืืืื ืืืืฆืขืืช ืืื ืืฉืืจืืช dfsrdiag, ืืืชืงื ืขื ืืชืคืงืื DFSR. ืืืฆื ืฉืืคืื ืจืืื, ืืืื ืืขืืืก ืฆืจืื ืืืชืงืจื ืืืคืก. ืืืชืื ืืื, ืืกืคืจ ืจื ืฉื ืงืืฆืื ืืฆืืจ ืืฆืืืข ืขื ืืขืืืช ืืฉืืคืื.
ืขืืฉืื ืืืื ืืฆื ืืืขืฉื ืฉื ืื ืืฉื.
ืขื ืื ืช ืืขืงืื ืืืจ ืืืื ืืขืืืก ืืืืฆืขืืช Zabbix Agent, ื ืฆืืจื:
- ืกืงืจืืคื ืฉืื ืชื ืืช ืืคืื dfsrdiag ืืกืคืง ืขืจืื ืืืื ืคืืืืจ ืกืืคืืื ื- Zabbix,
- ืกืงืจืืคื ืฉืืงืืข ืืื ืงืืืฆืืช ืจืคืืืงืฆืื ืืฉ ืืฉืจืช, ืืืื ืชืืงืืืช ืื ืืฉืืคืืืช ืืืืื ืฉืจืชืื ื ืืกืคืื ืืืืืื ืืื (ืื ืื ื ืื ืจืืฆืื ืืืื ืืก ืืช ืื ืื ื-Zabix ืืื ืืช ืขืืืจ ืื ืฉืจืช, ื ืืื?).
- ืืืกืคืช ืกืงืจืืคืืื ืืื ื-UserParameter ืืชืฆืืจืช ืืกืืื ืฉื Zabbix ืืฆืืจื ืงืจืืื ื ืืกืคืช ืืฉืจืช ืื ืืืืจ,
- ืืคืขืืช ืฉืืจืืช ืืกืืื ืฉื Zabbix ืืืฉืชืืฉ ืฉืืฉ ืื ืืืืืืช ืืงืจืื ืืช ืฆืืจ ืืืืื ืืช,
- ืชืื ืืช ื-Zabix, ืื ืืืืืจ ืืืชืืจ ืงืืืฆืืช, ืขืืืื ื ืชืื ืื ืฉืืชืงืืื ืืืืฆืืช ืืชืจืืืช ืขืืืื.
ืื ืชื ืกืงืจืืคืืื
ืืื ืืืชืื ืืช ืืื ืชื, ืืืจืชื ื-VBS ืืฉืคื ืืืื ืืืจืกืืืช ืืืืชืจ ืืงืืืืช ืืื ืืืจืกืืืช ืฉื Windows Server. ืืืืืืื ืฉื ืืกืงืจืืคื ืคืฉืื: ืืื ืืงืื ืืช ืฉื ืงืืืฆืช ืืฉืืคืื, ืืชืืงืื ืืืฉืืืคืืช ืืฉืืืช ืืฉืจืชืื ืืฉืืืืื ืืืืงืืืื ืืจื ืฉืืจืช ืืคืงืืื. ืคืจืืืจืื ืืื ืืืขืืจืื ืืืืจ ืืื ืื dfsrdiag, ืืืืชืื ืืชืคืืงื ืฉืื ืืื ืืืืฆืจ:
ืืกืคืจ ืงืืฆืื - ืื ืืชืงืืืช ืืืืขื ืขื ืืืืฆืืืช ืงืืฆืื ืืฆืืจ,
0 - ืื ืืชืงืืืช ืืืืขื ืขื ืืืขืืจ ืงืืฆืื ืืฆืืจ ืืืืื ืืช ("ืืื ืคืืืืจ"),
-1 - ืื ืืชืงืืืช ืืืืขืช ืฉืืืื dfsrdiag ืืขืช ืืืฆืืข ืืงืฉื ("[ืฉืืืื]").
get-Backlog.vbs
strReplicationGroup=WScript.Arguments.Item(0)
strReplicatedFolder=WScript.Arguments.Item(1)
strSending=WScript.Arguments.Item(2)
strReceiving=WScript.Arguments.Item(3)
Set WshShell = CreateObject ("Wscript.shell")
Set objExec = WSHshell.Exec("dfsrdiag.exe Backlog /RGName:""" & strReplicationGroup & """ /RFName:""" & strReplicatedFolder & """ /SendingMember:" & strSending & " /ReceivingMember:" & strReceiving)
strResult = ""
Do While Not objExec.StdOut.AtEndOfStream
strResult = strResult & objExec.StdOut.ReadLine() & "\"
Loop
If InStr(strResult, "No Backlog") > 0 then
intBackLog = 0
ElseIf InStr(strResult, "[ERROR]") > 0 Then
intBackLog = -1
Else
arrLines = Split(strResult, "\")
arrResult = Split(arrLines(1), ":")
intBackLog = arrResult(1)
End If
WScript.echo intBackLog
ืชืกืจืื ืืืืื
ืขื ืื ืช ืฉ-Zabix ืชืืื ืืงืืืข ืืช ืื ืงืืืฆืืช ืืฉืืคืื ืืงืืืืืช ืืฉืจืช ืืืืจืจ ืืช ืื ืืคืจืืืจืื ืื ืืจืฉืื ืืืงืฉื (ืฉื ืชืืงืื, ืฉืืืช ืฉื ืฉืจืชืื ืฉืื ืื), ืขืืื ื, ืจืืฉืืช, ืืืฉืื ืืืืข ืื, ืืฉื ืืช, ืืืฆืื ืืืชื ืืคืืจืื ืืืืื ืืืืืืงืก. ืืคืืจืื ืฉืืื ืืืืืื ืืืื ื ืจืื ืื:
"data":[
{
"{#GROUP}":"Share1",
"{#FOLDER}":"Folder1",
"{#SENDING}":"Server1",
"{#RECEIVING}":"Server2"}
...
"{#GROUP}":"ShareN",
"{#FOLDER}":"FolderN",
"{#SENDING}":"Server1",
"{#RECEIVING}":"ServerN"}]}
ืืืจื ืืงืื ืืืืชืจ ืืืฉืื ืืช ืืืืืข ืฉืื ื ืืขืื ืืื ืื ืื ืืื ืืืืฆืขืืช WMI, ืืืฆืืชื ืืืกืขืืคืื ืืืชืืืืื ืฉื DfsrReplicationGroupConfig. ืืชืืฆืื ืืื, ื ืืื ืกืงืจืืคื ืฉืืืฆืจ ืืงืฉื ื-WMI ืืืืฆืื ืจืฉืืื ืฉื ืงืืืฆืืช, ืืชืืงืืืช ืืืฉืจืชืื ืฉืืื ืืคืืจืื ืื ืืจืฉ.
DFSRDiscovery.vbs
dim strComputer, strLine, n, k, i
Set wshNetwork = WScript.CreateObject( "WScript.Network" )
strComputer = wshNetwork.ComputerName
Set oWMIService = GetObject("winmgmts:\" & strComputer & "rootMicrosoftDFS")
Set colRGroups = oWMIService.ExecQuery("SELECT * FROM DfsrReplicationGroupConfig")
wscript.echo "{"
wscript.echo " ""data"":["
n=0
k=0
i=0
For Each oGroup in colRGroups
n=n+1
Set colRGFolders = oWMIService.ExecQuery("SELECT * FROM DfsrReplicatedFolderConfig WHERE ReplicationGroupGUID='" & oGroup.ReplicationGroupGUID & "'")
For Each oFolder in colRGFolders
k=k+1
Set colRGConnections = oWMIService.ExecQuery("SELECT * FROM DfsrConnectionConfig WHERE ReplicationGroupGUID='" & oGroup.ReplicationGroupGUID & "'")
For Each oConnection in colRGConnections
i=i+1
binInbound = oConnection.Inbound
strPartner = oConnection.PartnerName
strRGName = oGroup.ReplicationGroupName
strRFName = oFolder.ReplicatedFolderName
If oConnection.Enabled = True and binInbound = False Then
strSendingComputer = strComputer
strReceivingComputer = strPartner
strLine1=" {"
strLine2=" ""{#GROUP}"":""" & strRGName & ""","
strLine3=" ""{#FOLDER}"":""" & strRFName & ""","
strLine4=" ""{#SENDING}"":""" & strSendingComputer & ""","
if (n < colRGroups.Count) or (k < colRGFolders.count) or (i < colRGConnections.Count) then
strLine5=" ""{#RECEIVING}"":""" & strReceivingComputer & """},"
else
strLine5=" ""{#RECEIVING}"":""" & strReceivingComputer & """}]}"
end if
wscript.echo strLine1
wscript.echo strLine2
wscript.echo strLine3
wscript.echo strLine4
wscript.echo strLine5
End If
Next
Next
Next
ืื ื ืืกืืื, ืืืื ืืชืกืจืื ืื ืืืจื ืืืืื ืืืืช ืฉื ืงืื ืืืืืื ืืคืฉืจ ืืคืฉื ืืื ืืืจืื ืื, ืืื ืืื ืืืฆืข ืืช ืชืคืงืืื ืืขืืงืจื - ืืชื ืืืืข ืขื ืืคืจืืืจืื ืฉื ืงืืืฆืืช ืฉืืคืื ืืคืืจืื ืืืืื ื-Zabix.
ืืืกืคืช ืกืงืจืืคืืื ืืชืฆืืจืช ืกืืื Zabbix
ืืื ืืื ืคืฉืื ืืืืชืจ. ืืืกืฃ ืืช ืืฉืืจืืช ืืืืืช ืืกืืฃ ืงืืืฅ ืืชืฆืืจื ืฉื ืืกืืื:
UserParameter=check_dfsr[*],cscript /nologo "C:Program FilesZabbix Agentget-Backlog.vbs" $1 $2 $3 $4
UserParameter=discovery_dfsr[*],cscript /nologo "C:Program FilesZabbix AgentDFSRDiscovery.vbs"
ืืืืื, ืื ื ืืชืืืืื ืืช ืื ืชืืืื ืืืื ืฉืืื ืืฉ ืื ื ืกืงืจืืคืืื. ืฉืืชื ืืืชื ืืืืชื ืชืืงืื ืฉืื ืืกืืื ืืืชืงื.
ืืืืจ ืืืฆืืข ืฉืื ืืืื, ืืคืขื ืืืืฉ ืืช ืฉืืจืืช ืืกืืื ืฉื Zabbix.
ืฉืื ืื ืืืฉืชืืฉ ืฉืชืืชืื ืคืืขื ืฉืืจืืช Zabbix Agent
ืขื ืื ืช ืืงืื ืืืืข ืืจื dfsrdiag, ืืฉ ืืืคืขืื ืืช ืืื ืืฉืืจืืช ืชืืช ืืฉืืื ืฉืืฉ ืื ืืืืืืช ื ืืืื ืื ืืืืจืื ืืฉืืืืื ืืื ืืืงืืืื ืืงืืืฆืช ืืฉืืคืื. ืฉืืจืืช ืืกืืื Zabbix, ืืคืืขื ืืืจืืจืช ืืืื ืชืืช ืืฉืืื ืืืขืจืืช, ืื ืืืื ืืืฆืข ืืงืฉื ืืื. ืืฆืจืชื ืืฉืืื ื ืคืจื ืืืืืืื, ื ืชืชื ืื ืืืืืืช ื ืืืื ืืฉืจืชืื ืืืจืืฉืื, ืืืืืจืชื ืืช ืืฉืืจืืช ืื ืฉืืคืขื ืชืืชืื ืืฉืจืชืื ืืื.
ืืชื ืืืื ืืืืช ืืืจื ืืืจืช: ืื dfsrdiag, ืืืขืฉื, ืขืืื ืืจื ืืืชื WMI, ืื ืืชื ืืืื ืืืฉืชืืฉ
ืชืื ืืช ื ืืืืจ
ืขื ืกืื ืื ืชืื ืื ืฉืงืืืืชื, ืืฆืจืชื ืชืื ืืช ืฉ:
- ืืคืขืื ืืืืื ืืืืืืื ืฉื ืงืืืฆืืช ืฉืืคืื ืคืขื ืืฉืขื,
- ืืืืง ืืช ืืืื ืืคืืืืจ ืขืืืจ ืื ืงืืืฆื ืืืช ื-5 ืืงืืช,
- ืืืื ืืจืืืจ ืฉืืืฆืื ืืชืจืื ืืืฉืจ ืืืื ื-backlog ืขืืืจ ืื ืงืืืฆื ืืื ืืืชืจ ื-100 ืืืฉื 30 ืืงืืช. ืืืจืืืจ ืืชืืืจ ืืื ืืืคืืก ืฉืืชืืืกืฃ ืืืืืืืืช ืืงืืืฆืืช ืฉืืืื,
- ืืื ื ืืจืคืื ืฉื ืืืื ืฆืืจ ืขืืืจ ืื ืงืืืฆืช ืฉืืคืื.
ืืชื ืืืื ืืืืจืื ืืช ืืชืื ืืช ืขืืืจ Zabbix 2.2
ืกื ืืื
ืืืืจ ืืืืื โโืืชืื ืืช ืืชืื Zabbix ืืืฆืืจืช ืืฉืืื ืขื ืืืืืืืช ืืืจืืฉืืช, ื ืฆืืจื ืจืง ืืืขืชืืง ืืช ืืกืงืจืืคืืื ืืฉืจืชื ืืงืืฆืื ืฉื ืจืฆื ืื ืืจ ืขืืืจ DFSR, ืืืืกืืฃ ืฉืชื ืฉืืจืืช ืืชืฆืืจืช ืืกืืื ืขืืืื ืืืืคืขืื ืืืืฉ ืืช ืฉืืจืืช ืืกืืื Zabbix. , ืืืืืจืื ืืืชื ืืคืขืื ืืืฉืืื ืืจืฆืื. ืืื ืฆืืจื ืืืืืจืืช ืืื ืืืช ืืืจืืช ืขืืืจ ื ืืืืจ DFSR.
ืืงืืจ: www.habr.com