Kutarisisa kuri nyore kweDFS Replication muZabbix

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 tsananguro, nzira yekupa domain account kodzero dzekuishandisa pasina kupa mvumo yekutonga, asi kana tiine mapoka akawanda ekudzokorora, saka kupa kodzero kuboka rega rega kuchanetsa. Nekudaro, kana isu tichida kutarisa Domain System Vhoriyamu kudzokororwa pane domain controllers, iyi inogona kunge iriyo yega sarudzo inogamuchirwa, sezvo kupa domain administrator kodzero kune yekutarisa sevhisi account haisi zano rakanaka.

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 pano.

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

Voeg