Mau oyamba
Pokhala ndi zomangamanga zazikulu komanso zogawidwa zomwe zimagwiritsa ntchito DFS ngati malo amodzi opezera deta ndi DFSR kwa kubwereza deta pakati pa malo opangira deta ndi ma seva a nthambi, funso likubwera poyang'anira momwe kubwereza uku.
Mwachidziwitso, pafupifupi titangoyamba kugwiritsa ntchito DFSR, tinayamba kugwiritsa ntchito Zabbix ndi cholinga chosintha malo osungiramo nyama omwe alipo a zida zosiyanasiyana ndikubweretsa kuwunikira kwachitukuko kukhala chidziwitso, chokwanira komanso chomveka. Tikambirana za kugwiritsa ntchito Zabbix kuyang'anira kubwereza kwa DFS.
Choyamba, tiyenera kusankha kuti ndi data iti yokhudza kubwereza kwa DFS yomwe iyenera kupezedwa kuti tiwone momwe ilili. Chizindikiro chofunikira kwambiri ndikubwerera mmbuyo. Lili ndi mafayilo omwe sanagwirizanitsidwe ndi mamembala ena agulu lobwereza. Mutha kuwona kukula kwake pogwiritsa ntchito zofunikira dfsrdiag, yoyikidwa ndi gawo la DFSR. M'malo obwerezabwereza, kukula kwa zotsalira kuyenera kuyandikira zero. Chifukwa chake, kuchuluka kwa mafayilo omwe akutsalira kumawonetsa zovuta pakubwereza.
Tsopano za mbali yothandiza ya nkhaniyi.
Kuti muwone kukula kwa zomwe zatsalira kudzera mu Zabbix Agent, tidzafunika:
- Script yomwe iwonetsa zotsatira zake dfsrdiag kuti apereke kukula komaliza kwa Zabbix,
- Zolemba zomwe zidzatsimikizire kuti ndi magulu angati obwereza omwe ali pa seva, ndi mafoda otani omwe amabwereza ndi ma seva ena omwe akuphatikizidwamo (sitikufuna kulowetsa zonsezi mu Zabbix ndi dzanja pa seva iliyonse, chabwino?),
- Kuwonjezera zolemba izi ngati UserParameter ku kasinthidwe ka wothandizira wa Zabbix kuti muyitane kuchokera pa seva yowunikira,
- Kuyambitsa ntchito ya Zabbix ngati wogwiritsa ntchito yemwe ali ndi ufulu wowerenga zotsalira,
- Template ya Zabbix, momwe kuwonekera kwa magulu, kukonza kwa data yolandilidwa ndikupereka zidziwitso pa iwo kudzakhazikitsidwa.
Script parser
Kuti ndilembe chowerengeracho, ndinasankha VBS ngati chilankhulo chapadziko lonse lapansi chomwe chilipo m'mitundu yonse ya Windows Server. Lingaliro la script ndi losavuta: limalandira dzina la gulu lobwerezabwereza, foda yobwerezabwereza, ndi mayina a ma seva otumiza ndi kulandira kudzera pamzere wolamula. Ma parameter awa amaperekedwa dfsrdiag, ndipo kutengera zotsatira zake zomwe zimapanga:
Chiwerengero cha mafayilo - ngati uthenga walandilidwa za kupezeka kwa mafayilo kumbuyo,
0 - ngati uthenga walandilidwa za kusakhalapo kwa mafayilo pazotsalira ("Palibe Zobwerera")
-1 - ngati uthenga wolakwika walandiridwa dfsrdiag pochita pempho ("[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 adziwe magulu onse obwereza omwe alipo pa seva ndikupeza magawo onse ofunikira pa pempho (dzina la chikwatu, mayina a ma seva oyandikana nawo), tifunika, choyamba, kupeza izi, ndipo kachiwiri, kuziwonetsa. m'njira yomveka bwino ku Zabbix. Mawonekedwe omwe chida chotulukira chimamvetsetsa chikuwoneka motere:
"data":[
{
"{#GROUP}":"Share1",
"{#FOLDER}":"Folder1",
"{#SENDING}":"Server1",
"{#RECEIVING}":"Server2"}
...
"{#GROUP}":"ShareN",
"{#FOLDER}":"FolderN",
"{#SENDING}":"Server1",
"{#RECEIVING}":"ServerN"}]}
Njira yosavuta yopezera zambiri zomwe tikufuna ndi kudzera pa WMI, kuzikoka kuchokera m'magawo ofanana a DfsrReplicationGroupConfig. Zotsatira zake, script idabadwa yomwe imapanga pempho kwa WMI ndikutulutsa mndandanda wamagulu, mafoda awo ndi ma seva mumtundu wofunikira.
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
Ndikuvomereza, malembawo sangawala ndi kukongola kwa code ndipo zinthu zina mmenemo zikhoza kukhala zosavuta, koma zimagwira ntchito yake yaikulu - kupereka chidziwitso cha magawo a magulu obwerezabwereza mumtundu womveka bwino ndi Zabbix.
Kuonjezera zolembera ku kasinthidwe ka wothandizira Zabbix
Chilichonse apa ndi chophweka kwambiri. Onjezani mizere iyi kumapeto kwa fayilo yosinthira wothandizira:
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"
Inde, timasintha njira zomwe tili ndi zolemba. Ndidawayika mufoda yomweyi pomwe wothandizira amayikidwa.
Mukasintha, yambitsaninso ntchito ya Zabbix.
Kusintha wogwiritsa ntchito momwe ntchito ya Zabbix Agent imayendera
Kuti mulandire zambiri kudzera dfsrdiag, ntchitoyo iyenera kuyendetsedwa pansi pa akaunti yomwe ili ndi ufulu woyang'anira kutumiza ndi kulandira mamembala a gulu lobwerezabwereza. Utumiki wa Zabbix wothandizira, womwe ukuyenda mwachisawawa pansi pa akaunti ya dongosolo, sungathe kuchita zomwezo. Ndinapanga akaunti yosiyana m'derali, ndinapatsa ufulu wolamulira pa ma seva ofunikira, ndikukonza ntchitoyo kuti ikhale pansi pa ma seva awa.
Mutha kupita njira ina: chifukwa dfsrdiag, kwenikweni, imagwira ntchito kudzera mu WMI yomweyo, ndiye mutha kugwiritsa ntchito
Monitoring template
Kutengera zomwe ndalandira, ndidapanga template kuti:
- Imayendetsa zodziwikiratu zamagulu obwereza kamodzi pa ola,
- Kuyang'ana kukula kwa zotsalira za gulu lirilonse kamodzi mphindi zisanu zilizonse,
- Lili ndi choyambitsa chomwe chimapereka chenjezo ngati kukula kwa zotsalira za gulu lililonse kupitilira 100 kwa mphindi 30. Choyambitsacho chikufotokozedwa ngati choyimira chomwe chimangowonjezeredwa kumagulu odziwika,
- Imamanga ma graph a backlog kukula kwa gulu lililonse lobwereza.
Mutha kutsitsa template ya Zabbix 2.2
Zotsatira
Pambuyo potumiza template ku Zabbix ndikupanga akaunti yokhala ndi ufulu wofunikira, tidzangofunika kukopera zolembedwa ku ma seva omwe tikufuna kuwayang'anira DFSR, onjezerani mizere iwiri ku kasinthidwe ka wothandizira pa iwo ndikuyambitsanso ntchito yothandizira Zabbix. , kuyiyika kuti igwire ntchito ngati akaunti yomwe mukufuna. Palibe makonda ena apamanja omwe amafunikira pakuwunika kwa DFSR.
Source: www.habr.com