Intshayelelo
Ngeziseko ezingundoqo ezifanelekileyo nezisasazwayo ezisebenzisa i-DFS njengendawo enye yokufikelela kwidatha kunye ne-DFSR yokuphindaphinda idatha phakathi kwamaziko edatha kunye neeseva zesebe, umbuzo uvela ekubekeni iliso kwimeko yokuphindaphinda.
Ngokuzenzekelayo, ngokukhawuleza emva kokuba siqalise ukusebenzisa i-DFSR, saqalisa ukusebenzisa i-Zabbix ngenjongo yokutshintsha indawo yogcino-zilwanyana ekhoyo yezixhobo ezahlukeneyo kunye nokuzisa ukujongwa kweziseko zophuhliso kwifomu yolwazi, epheleleyo kunye nengqiqo. Siza kuthetha ngokusebenzisa i-Zabbix ukujonga ukuphindaphinda kwe-DFS.
Okokuqala, kufuneka sithathe isigqibo sokuba yeyiphi idatha malunga nokuphindaphindwa kwe-DFS ekufuneka ifunyenwe ukujonga imeko yayo. Esona salathisi sifanelekileyo kukusilela. Iqulethe iifayile ezingadityaniswanga namanye amalungu eqela lophindaphindo. Ungajonga ubungakanani bayo usebenzisa into eluncedo dfsrdiag, efakwe kunye nendima ye-DFSR. Kwimeko eqhelekileyo yokuphindaphinda, ubungakanani obusemva kufuneka busondele ku-zero. Ngokufanelekileyo, amanani amakhulu eefayile kwi-backlog abonisa iingxaki ngokuphindaphinda.
Ngoku malunga necala elisebenzayo lomba.
Ukuze ujonge ubungakanani be-backlog nge-Agent ye-Zabbix, siya kufuna:
- Ushicilelo oluya kwahlula imveliso dfsrdiag ukubonelela amaxabiso obungakanani bokugqibela bokungasemva kwiZabbix,
- Iskripthi esiza kugqiba ukuba mangaphi amaqela okuphindaphinda akhoyo kumncedisi, zeziphi iifolda abaziphindaphindayo kwaye zeziphi ezinye iiseva ezifakwe kuzo (asifuni ukungena konke oku kwiZabbix ngesandla kumncedisi ngamnye, akunjalo?),
- Ukongeza ezi zikripthi njengoMsebenzisi weParameter kuqwalaselo lwearhente yeZabbix kumnxeba olandelayo ovela kumncedisi wokubeka iliso,
- Ukuqala inkonzo yearhente yeZabbix njengomsebenzisi onamalungelo okufunda ukusilela,
- Ithemplate ye-Zabbix, apho ukufunyanwa kwamaqela, ukuqhutyelwa kwedatha efunyenweyo kunye nokukhupha izilumkiso kuzo ziya kuqwalaselwa.
Umchazi weskripthi
Ukubhala umhlaseli, ndikhethe iVBS njengolona lwimi lukhoyo kwihlabathi liphela kuzo zonke iinguqulelo zeWindows Server. Ingqiqo yeskripthi ilula: ifumana igama leqela lokuphindaphinda, ifolda ephindaphindiweyo, kunye namagama abathumelayo nabafumanayo abancedisi ngelayini yomyalelo. Ezi parameters zigqithiselwe dfsrdiag, kwaye kuxhomekeke kwimveliso yayo eyivelisayo:
Inani leefayile - ukuba umyalezo ufunyenwe malunga nobukho beefayile kwi-backlog,
0 β ukuba umyalezo ufunyenwe malunga nokungabikho kweefayile kugcino olusemva (βAkukho semvaβ),
-1 - ukuba umyalezo wemposiso ufunyenwe dfsrdiag xa usenza isicelo ("[ERROR]").
fumana-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 sokufunyanwa
Ukuze i-Zabbix inqume onke amaqela okuphindaphinda akhoyo kumncedisi kunye nokufumana zonke iiparameters ezifunekayo kwisicelo (igama lefolda, amagama abancedisi abangabamelwane), kufuneka, okokuqala, sifumane olu lwazi, kwaye okwesibini, sibonise ngefomathi eqondakalayo kuZabbix. Ifomathi esiyiqondayo isixhobo sokufumanisa ibonakala ngolu hlobo:
"data":[
{
"{#GROUP}":"Share1",
"{#FOLDER}":"Folder1",
"{#SENDING}":"Server1",
"{#RECEIVING}":"Server2"}
...
"{#GROUP}":"ShareN",
"{#FOLDER}":"FolderN",
"{#SENDING}":"Server1",
"{#RECEIVING}":"ServerN"}]}
Eyona ndlela ilula yokufumana ulwazi esinomdla kulo kukusebenzisa i-WMI, ukuyikhupha kumacandelo ahambelanayo e-DfsrReplicationGroupConfig. Ngenxa yoko, iskripthi sazalwa esenza isicelo kwi-WMI kwaye sivelise uluhlu lwamaqela, iifolda zabo kunye neeseva kwifomathi efunekayo.
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
Ndiyavuma, iskripthi sinokungakhanyisi ngobuhle bekhowudi kwaye ezinye izinto ezikuyo ngokuqinisekileyo zinokwenziwa lula, kodwa zenza umsebenzi wayo ophambili - ukubonelela ngolwazi malunga neeparamitha zamaqela okuphindaphinda kwifomathi eqondakalayo nguZabbix.
Ukongeza izikripthi kuqwalaselo lwe-arhente ye-Zabbix
Yonke into elapha ilula kakhulu. Yongeza le migca ilandelayo ekupheleni kwefayile yoqwalaselo yomenzeli:
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"
Ewe kunjalo, sihlengahlengisa iindlela ukuya kwezo sinazo izikripthi. Ndibabeka kwifolda efanayo apho i-arhente ifakwe khona.
Emva kokwenza utshintsho, qalisa kwakhona inkonzo ye-arhente ye-Zabbix.
Ukutshintsha umsebenzisi apho inkonzo ye-Agent ye-Zabbix isebenza phantsi kwayo
Ukuze ufumane ulwazi nge dfsrdiag, usetyenziso kufuneka luqhutywe phantsi kweakhawunti enamalungelo olawulo ekuthumeleni nasekufumaneni amalungu eqela lokuphindaphinda. Inkonzo yomenzeli weZabbix, esebenza ngokungagqibekanga phantsi kweakhawunti yenkqubo, ayizukwazi ukwenza eso sicelo. Ndenze i-akhawunti eyahlukileyo kwi-domain, ndayinika amalungelo olawulo kwiiseva eziyimfuneko, kwaye ndilungiselele inkonzo ukuba iqhube phantsi kwayo kula maseva.
Ungahamba ngenye indlela: kuba dfsrdiag, enyanisweni, isebenza nge-WMI efanayo, emva koko ungasebenzisa
Itemplate yokubeka iliso
Ngokusekelwe kwidatha endiyifumeneyo, ndenze itemplate ethi:
- Iqhuba ukufunyanwa okuzenzekelayo kwamaqela okuphindaphinda kanye ngeyure,
- Qwalasela ubungakanani obusemva kwiqela ngalinye kanye ngemizuzu emi-5,
- Iqulethe i-trigger ekhupha isilumkiso xa ubungakanani obusemva kulo naliphi na iqela lingaphezulu kwe-100 kwimizuzu engama-30. I-trigger ichazwa njengeprototype eyongezwa ngokuzenzekelayo kumaqela afunyenweyo,
- Yakha ubungakanani begrafu esemva kwiqela ngalinye lophindaphindo.
Unokukhuphela ithempleyithi yeZabbix 2.2
Isiphumo
Emva kokungenisa i-template kwi-Zabbix kunye nokudala i-akhawunti ngamalungelo afunekayo, siya kufuna kuphela ukukopisha izikripthi kwiiseva zefayile esifuna ukuzijonga kwi-DFSR, yongeza imigca emibini kwi-ejenti yoqwalaselo kubo kwaye uqalise kwakhona inkonzo ye-agent ye-Zabbix. , icwangcisa ukuba iqhube njenge akhawunti efunwayo. Azikho ezinye iisetingi zesandla ezifunekayo kujongo lwe-DFSR.
umthombo: www.habr.com