Isingeniso
Ngengqalasizinda enkulu ngokwanele nesabalalisiwe esebenzisa i-DFS njengendawo eyodwa yokufinyelela kudatha kanye ne-DFSR yokuphindaphinda idatha phakathi kwezikhungo zedatha namaseva wamagatsha, uphakama umbuzo wokuqapha isimo salokhu mphindaphindo.
Ngokuqondana nje, cishe ngokushesha ngemva kokuba siqale ukusebenzisa i-DFSR, saqala ukusebenzisa i-Zabbix ngenhloso yokushintsha indawo ye-zoo ekhona yamathuluzi ahlukahlukene kanye nokuletha ukuqapha kwengqalasizinda kufomu elifundisayo, eliphelele nelinengqondo. Sizokhuluma ngokusebenzisa i-Zabbix ukuqapha ukuphindaphinda kwe-DFS.
Okokuqala, sidinga ukunquma ukuthi iyiphi idatha mayelana nokuphindaphinda kwe-DFS okudingeka itholwe ukuze kuqashwe isimo sayo. Inkomba efaneleke kakhulu wukusilela emuva. Iqukethe amafayela angazange avunyelaniswe namanye amalungu eqembu lokuphindaphinda. Ungabuka usayizi wayo usebenzisa insiza dfsrdiag, efakwe nendima ye-DFSR. Esimeni sokuphindaphinda esijwayelekile, usayizi we-backlog kufanele usondele ku-zero. Ngokufanelekile, izinombolo ezinkulu zamafayela ku-backlog zibonisa izinkinga ngokuphindaphinda.
Manje mayelana nohlangothi olusebenzayo lwendaba.
Ukuze kuqashwe usayizi we-backlog nge-Zabbix Agent, sizodinga:
- Iskriphthi esizoncozulula okukhiphayo dfsrdiag ukuhlinzeka ngosayizi wokugcina we-backlog amanani ku-Zabbix,
- Iskripthi esizonquma ukuthi mangaki amaqembu okuphindaphinda akhona kuseva, yimaphi amafolda abawaphindaphindayo nokuthi yimaphi amanye amaseva afakwe kuwo (asifuni ukufaka konke lokhu ku-Zabbix ngesandla kuseva ngayinye, akunjalo?),
- Ukwengeza le mibhalo njenge-UserParameter ekucushweni komenzeli we-Zabbix ngokushaya okulandelayo okuvela kuseva yokuqapha,
- Ukuqala isevisi ye-ejenti ye-Zabbix njengomsebenzisi onamalungelo okufunda okusalele emuva,
- Isifanekiso se-Zabbix, lapho ukutholwa kwamaqembu, ukucutshungulwa kwedatha eyamukelwe kanye nokukhipha izexwayiso kuwo kuzolungiswa.
Umhlaziyi weskripthi
Ukubhala umhlaseli, ngikhethe i-VBS njengolimi olutholakala emhlabeni wonke olukhona kuzo zonke izinguqulo zeWindows Server. I-logic yeskripthi ilula: ithola igama leqembu lokuphindaphinda, ifolda ephindiwe, namagama amaseva athumelayo nawamukelayo ngomugqa womyalo. Lawa mapharamitha abe esedluliselwa kuwo dfsrdiag, futhi kuye ngokukhiphayo elikhiqizayo:
Inombolo yamafayela - uma umlayezo utholwa mayelana nokuba khona kwamafayela ku-backlog,
0 β uma umlayezo wamukelwe mayelana nokungabikho kwamafayela ku-backlog (βAkukho Ukusalela emuvaβ),
-1 - uma umlayezo wephutha wamukelwe dfsrdiag lapho wenza isicelo ("[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
Iskripthi sokutholwa
Ukuze i-Zabbix inqume wonke amaqembu okuphindaphinda akhona kuseva futhi ithole yonke imingcele edingekayo yesicelo (igama lefolda, amagama amaseva angomakhelwane), sidinga, okokuqala, sithole lolu lwazi, futhi okwesibili, silwethule. ngefomethi eqondakalayo ku-Zabbix. Ifomethi eqondwa ithuluzi lokuthola ibonakala kanje:
"data":[
{
"{#GROUP}":"Share1",
"{#FOLDER}":"Folder1",
"{#SENDING}":"Server1",
"{#RECEIVING}":"Server2"}
...
"{#GROUP}":"ShareN",
"{#FOLDER}":"FolderN",
"{#SENDING}":"Server1",
"{#RECEIVING}":"ServerN"}]}
Indlela elula yokuthola ulwazi esiluthakaselayo ukusebenzisa i-WMI, ukuyikhipha ezigabeni ezihambisanayo ze-DfsrReplicationGroupConfig. Ngenxa yalokho, kwazalwa umbhalo okhiqiza isicelo ku-WMI futhi ukhiphe uhlu lwamaqembu, amafolda awo namaseva ngefomethi edingekayo.
I-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
Ngiyavuma, umbhalo ungase ungakhanyi ngobuhle bekhodi futhi ezinye izinto ezikuwo zingenziwa ngokuqinisekileyo zibe lula, kodwa zenza umsebenzi wawo oyinhloko - ukunikeza ulwazi mayelana nemingcele yamaqembu aphindaphindayo ngefomethi eqondakalayo yi-Zabbix.
Ukwengeza imibhalo ekucushweni komenzeli we-Zabbix
Konke lapha kulula kakhulu. Engeza imigqa elandelayo ekupheleni kwefayela lokumisa umenzeli:
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"
Yebo, silungisa izindlela eziya kulawo lapho sinemibhalo. Ngiwafaka kufolda efanayo lapho i-ejenti ifakwe khona.
Ngemva kokwenza izinguquko, qala kabusha isevisi yomenzeli we-Zabbix.
Ukushintsha umsebenzisi lapho isevisi ye-Zabbix Agent isebenza ngaphansi kwayo
Ukuze uthole ulwazi nge dfsrdiag, insiza kufanele isetshenziswe ngaphansi kwe-akhawunti enamalungelo okulawula kukho kokubili ukuthumela nokwamukela amalungu eqembu eliphindaphindayo. Isevisi yomenzeli we-Zabbix, esebenza ngokuzenzakalelayo ngaphansi kwe-akhawunti yesistimu, ngeke ikwazi ukwenza isicelo esinjalo. Ngidale i-akhawunti ehlukile esizindeni, ngiyinikeze amalungelo okuphatha kumaseva adingekayo, futhi ngalungisa isevisi ukuthi isebenze ngaphansi kwayo kulawa maseva.
Ungahamba ngenye indlela: ngoba dfsrdiag, empeleni, isebenza nge-WMI efanayo, bese ungasebenzisa
Isifanekiso sokuqapha
Ngokusekelwe kudatha engiyitholile, ngidale isifanekiso sokuthi:
- Isebenzisa ukutholwa okuzenzakalelayo kwamaqembu aphindaphindayo kanye ngehora,
- Ihlola usayizi we-backlog yeqembu ngalinye kanye njalo emizuzwini emi-5,
- Iqukethe i-trigger ekhipha isexwayiso uma usayizi ongemuva wanoma yiliphi iqembu ungaphezu kuka-100 imizuzu engu-30. I-trigger ichazwa njenge-prototype eyengezwa ngokuzenzakalelayo emaqenjini atholiwe,
- Yakha amagrafu kasayizi we-backlog yeqembu ngalinye lokuphindaphinda.
Ungalanda isifanekiso se-Zabbix 2.2
Umphumela
Ngemva kokungenisa isifanekiso ku-Zabbix nokudala i-akhawunti enamalungelo adingekayo, sizodinga kuphela ukukopisha imibhalo kumaseva wefayela esifuna ukuwaqapha ku-DFSR, sengeze imigqa emibili ekucushweni kwe-ejenti okukuyo bese siqalisa kabusha isevisi ye-ejenti ye-Zabbix. , ukuyimisa ukuthi iqalise njenge-akhawunti efunwayo. Azikho ezinye izilungiselelo ezenziwa ngesandla ezidingekayo ukuze kuqashwe i-DFSR.
Source: www.habr.com