Nhanganyaya
Iine yakakura uye yakagovaniswa zvivakwa zvinoshandisa DFS sechinhu chimwe chete chekuwana data uye DFSR yekudzokorodza data pakati penzvimbo dzedata nemaseva ebazi, mubvunzo unomuka wekutarisa mamiriro ekudzokorora uku.
Sezvineiwo, nguva pfupi mushure mekunge tatanga kushandisa DFSR, takatanga kushandisa Zabbix nechinangwa chekutsiva iyo zoo iripo yezvishandiso zvakasiyana uye kuunza kutariswa kwezvivakwa kune imwe nzira inodzidzisa, izere uye ine musoro. Tichataura nezve kushandisa Zabbix kutarisa DFS kudzokorora.
Chekutanga pane zvese, isu tinofanirwa kusarudza kuti ndeapi data nezve DFS kudzokorora inoda kuwanikwa kuti itarise chimiro chayo. Chiratidzo chakanyanya kukosha ndeye backlog. Iine mafaera asina kuwiriraniswa nedzimwe nhengo dzeboka rekudzokorora. Unogona kuona saizi yayo uchishandisa utility dfsrdiag, yakaiswa pamwe nebasa reDFSR. Mune yakajairika kudzokorora mamiriro, saizi yekumashure inofanira kusvika zero. Saizvozvo, nhamba huru yemafaira ari kumashure anoratidza matambudziko nekudzokorora.
Zvino nezve divi rinoshanda renyaya.
Kuti titarise saizi yekumashure kuburikidza neZabbix Agent, isu tichada:
- Script ino patsanura zvabuda dfsrdiag kupa yekupedzisira backlog saizi kukosha kuZabbix,
- Chinyorwa chinotarisa kuti mangani mapoka ekudzokorora aripo pane sevha, ndeapi maforodha avanodzokorora uye ndeapi mamwe maseva anosanganisirwa mavari (hatidi kuisa zvese izvi muZabbix neruoko kune yega sevha, handiti?),
- Kuwedzera zvinyorwa izvi seMushandisiParameter kune iyo Zabbix mumiriri kumisikidzwa yekuzotevera kufona kubva kune yekutarisa server,
- Kutanga iyo Zabbix mumiriri sevhisi semushandisi ane kodzero yekuverenga iyo yekumashure,
- A template yeZabbix, umo kuonekwa kwemapoka, kugadzirisa data yakagamuchirwa uye kupa zviyeuchidzo pavari zvichagadziriswa.
Script parser
Kunyora parser, ndakasarudza VBS semutauro wepasirese uripo mune ese mavhezheni eWindows Server. Iyo logic yescript iri nyore: inogamuchira zita reboka rekudzokorora, iyo yakadzokororwa folda, uye mazita ekutumira uye kugamuchira maseva kuburikidza nemutsara wekuraira. Aya ma parameter anobva apfuudzwa dfsrdiag, uye zvichienderana nekubuda kwayo kwainoburitsa:
Nhamba yemafaira - kana meseji yakagamuchirwa nezve kuvapo kwemafaira mubacklog,
0 - kana meseji ikagamuchirwa nezvekushayikwa kwemafaira mubacklog ("Hapana Kumashure")
-1 - kana meseji yekukanganisa yagamuchirwa dfsrdiag paunenge uchiita chikumbiro ("[ERROR]").
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
Discovery script
Kuti Zabbix itarise mapoka ese ekudzokorodza aripo pane sevha uye kuti awane ese maparamita anodiwa pakukumbira (zita refolda, mazita emaseva evavakidzani), isu tinoda, kutanga, kuwana ruzivo urwu, uye chechipiri, kuhuratidza. muchimiro chinonzwisisika kuZabbix. Iyo fomati inonzwisiswa nemudziyo wekutsvagisa inoita seizvi:
"data":[
{
"{#GROUP}":"Share1",
"{#FOLDER}":"Folder1",
"{#SENDING}":"Server1",
"{#RECEIVING}":"Server2"}
...
"{#GROUP}":"ShareN",
"{#FOLDER}":"FolderN",
"{#SENDING}":"Server1",
"{#RECEIVING}":"ServerN"}]}
Nzira iri nyore yekuwana ruzivo rwatiri kufarira ndeye kuburikidza neWMI, kuidhonza kubva muzvikamu zvinoenderana zveDfsrReplicationGroupConfig. Nekuda kweizvozvo, script yakazvarwa iyo inoburitsa chikumbiro kuWMI uye inoburitsa rondedzero yemapoka, maforodha avo uye maseva mune inodiwa fomati.
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
Ndinobvuma, script inogona kusapenya nekunaka kwekodhi uye zvimwe zvinhu mairi zvinogona kurerutswa, asi inoita basa rayo guru - kupa ruzivo pamusoro pemaparamita emapoka ekudzokorora nenzira inonzwisisika neZabbix.
Kuwedzera zvinyorwa kune Zabbix agent configuration
Zvese pano zviri nyore kwazvo. Wedzera mitsara inotevera kumagumo eiyo agent configuration file:
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"
Zvechokwadi, tinogadzirisa nzira kune avo vatine zvinyorwa. Ini ndinoaisa mune imwechete folda iyo iyo agent inoiswa.
Mushure mekuita shanduko, tangazve iyo Zabbix mumiriri sevhisi.
Kuchinja mushandisi pasi peiyo Zabbix Agent sevhisi inomhanya
Kuti uwane ruzivo kuburikidza dfsrdiag, zvinoshandiswa zvinofanirwa kuitwa pasi peakaundi ine kodzero dzekutonga kune vese kutumira uye kugamuchira nhengo dzeboka rekudzokorora. Iyo Zabbix mumiriri sevhisi, inoshanda nekumisikidza pasi peiyo system account, haizokwanisa kuita chikumbiro chakadaro. Ini ndakagadzira yakaparadzana account mudura, ndakaipa kodzero dzekutonga pamaseva anodiwa, uye ndikagadzirisa sevhisi kuti iite pasi payo pamaseva aya.
Unogona kuenda neimwe nzira: nekuti dfsrdiag, chaizvoizvo, inoshanda kuburikidza neWMI imwe chete, saka unogona kushandisa
Monitoring template
Kubva pane data yandakagamuchira, ndakagadzira template iyo:
- Inomhanyisa kuwanikwa kwemapoka ekudzokorora kamwe paawa,
- Inotarisa saizi yekumashure yeboka rega rega kamwe pamaminetsi mashanu,
- Iine trigger inopa yambiro kana saizi yebacklog yeboka chero ripi zvaro inodarika zana kwemaminetsi makumi matatu. Iyo inokonzeresa inotsanangurwa se prototype iyo inowedzerwa otomatiki kumapoka anoonekwa,
- Inovaka backlog saizi magirafu kune yega yega boka rekudzokorora.
Unogona kudhawunirodha template yeZabbix 2.2
Mugumisiro
Mushure mekutumira template muZabbix uye kugadzira account ine kodzero dzinodiwa, isu tichangoda kukopa zvinyorwa kumaseva efaira atinoda kutarisa kuDFSR, wedzera mitsara miviri kugadziriso yeagent pavari uye tangazve basa remumiriri weZabbix. , kuigadzira kuti imhanye seakaundi inodiwa. Hapana mamwe magadzirirwo emaoko anodiwa kuti DFSR itarise.
Source: www.habr.com