Tlhokomelo e bonolo ea Replication ea DFS ho Zabbix

Selelekela

Ka mekhoa e metle e nang le mekhoa e metle le e ajoang e sebelisang DFS e le ntlha e le 'ngoe ea ho fumana data le DFSR bakeng sa ho pheta-pheta ha data pakeng tsa litsi tsa data le li-server tsa makala, potso e hlaha ea ho lekola boemo ba phetiso ena.
Ka tšohanyetso, hang ka mor'a hore re qale ho sebelisa DFSR, re ile ra qala ho kenya Zabbix ka sepheo sa ho nkela sebaka sa polokelo ea liphoofolo sebakeng sa lisebelisoa tse fapaneng le ho tlisa tlhahlobo ea mekhoa ea motheo ka mokhoa o rutang haholoanyane, o feletseng le o utloahalang. Re tla bua ka ho sebelisa Zabbix ho beha leihlo phetiso ea DFS.

Pele ho tsohle, re hloka ho etsa qeto ea hore na ke lintlha life mabapi le phetisetso ea DFS e lokelang ho fumanoa ho lekola boemo ba eona. Letšoao le amehang ka ho fetesisa ke tšubuhlellano. E na le lifaele tse so kang tsa amahanngoa le litho tse ling tsa sehlopha sa likopi. U ka sheba boholo ba eona u sebelisa sesebelisoa dfsrdiag, e kentsoeng ka karolo ea DFSR. Boemong bo tloaelehileng ba ho ikatisa, boholo bo saletseng morao bo lokela ho atamela zero. Ka hona, lifaele tse ngata tse ka morao li bontša mathata a ho ikatisa.

Joale ka lehlakore le sebetsang la taba.

Bakeng sa ho beha leihlo boholo ba ts'ebetso e saletseng morao ka Moemeli oa Zabbix, re tla hloka:

  • Script e tla hlalosa tlhahiso dfsrdiag ho fana ka litekanyetso tsa ho qetela tsa backlog ho Zabbix,
  • Script e tla khetholla hore na ho na le lihlopha tse kae tsa ho pheta-pheta ho seva, ke li-folders life tseo li li kopitsang le hore na ke lisebelisoa life tse ling tse kenyelletsoeng ho tsona (ha re batle ho kenya tsena tsohle ho Zabbix ka letsoho bakeng sa seva ka seng, ho joalo?),
  • Ho kenyelletsa mangolo ana e le UserParameter ho tlhophiso ea moemeli oa Zabbix bakeng sa mohala o latelang o tsoang ho seva sa tlhokomelo,
  • Ho qala ts'ebeletso ea moemeli oa Zabbix joalo ka mosebelisi ea nang le litokelo tsa ho bala tse saletseng morao,
  • Setšoantšo sa Zabbix, moo ho tla hlophisoa ho lemoha lihlopha, ho sebetsana le lintlha tse amoheloang le ho fana ka litlhokomeliso ho tsona.

Mohlahlobi oa script

Ho ngola mohlahlobi, ke khethile VBS e le puo e fumanehang hohle liphetolelong tsohle tsa Windows Server. Maikutlo a script a bonolo: e amohela lebitso la sehlopha sa ho pheta-pheta, foldara e phetoang, le mabitso a li-server tse romellang le tse amohelang ka mohala oa taelo. Joale li-parameter tsena li fetisetsoa ho dfsrdiag, mme ho latela tlhahiso ea eona eo e e hlahisang:
Palo ea lifaele - haeba molaetsa o amoheloa ka boteng ba lifaele ka morao,
0 - haeba molaetsa o amoheloa mabapi le ho ba sieo ha lifaele ka morao ("No Backlog")
-1 - haeba molaetsa wa phoso o amohetswe dfsrdiag ha o etsa kopo ("[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

Mongolo oa ho sibolla

E le hore Zabbix e tsebe hore na ke lihlopha life tsa ho pheta-pheta tse teng ho seva le ho fumana litekanyo tsohle tse hlokahalang bakeng sa kopo (lebitso la folda, mabitso a li-server tse haufi), re hloka, pele, ho fumana tlhahisoleseding ena, 'me ea bobeli, re e hlahise. ka mokhoa o utloisisehang ho Zabbix. Sebopeho seo sesebelisoa sa ho sibolla se se utloisisang se shebahala tjena:

        "data":[
                {
                        "{#GROUP}":"Share1",
                        "{#FOLDER}":"Folder1",
                        "{#SENDING}":"Server1",
                        "{#RECEIVING}":"Server2"}

...

                        "{#GROUP}":"ShareN",
                        "{#FOLDER}":"FolderN",
                        "{#SENDING}":"Server1",
                        "{#RECEIVING}":"ServerN"}]}

Mokhoa o bonolo oa ho fumana tlhaiso-leseling eo re e ratang ke ka WMI, ho e hula ho tsoa likarolong tse tsamaellanang tsa DfsrReplicationGroupConfig. Ka lebaka leo, ho ile ha hlaha script e hlahisang kopo ho WMI le ho hlahisa lethathamo la lihlopha, li-folders tsa bona le li-server ka mokhoa o hlokahalang.

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

Kea lumela, mongolo o ka 'na oa se ke oa khanya ka bokhabane ba khoutu' me lintho tse ling ho oona ka sebele li ka nolofatsoa, ​​empa o etsa mosebetsi oa oona o ka sehloohong - o fana ka tlhahisoleseding e mabapi le mekhahlelo ea lihlopha tsa ho pheta-pheta ka mokhoa o utloisisoang ke Zabbix.

Ho kenya mangolo ho tlhophiso ea moemeli oa Zabbix

Tsohle mona li bonolo haholo. Kenya mela e latelang qetellong ea faele ea litlhophiso tsa moemeli:

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"

Ehlile, re lokisa litsela ho ea moo re nang le mangolo. Ke li kenya foldareng e le 'ngoe moo moemeli a kentsoeng teng.

Ka mor'a ho etsa liphetoho, qala hape tšebeletso ea moemeli oa Zabbix.

Ho fetola mosebelisi eo tšebeletso ea Zabbix Agent e sebetsang tlas'a eona

E le hore u fumane boitsebiso ka dfsrdiag, ts'ebeliso e tlameha ho tsamaisoa tlasa ak'haonte e nang le litokelo tsa tsamaiso bakeng sa ho romella le ho amohela litho tsa sehlopha sa boikaketsi. Tšebeletso ea moemeli oa Zabbix, e sebetsang ka ho sa feleng tlas'a akhaonto ea tsamaiso, e ke ke ea khona ho phethahatsa kopo e joalo. Ke thehile akhaonto e arohaneng sebakeng sa marang-rang, ka e fa litokelo tsa tsamaiso ho li-server tse hlokahalang, 'me ke lokiselitse tšebeletso hore e sebetse tlas'a eona ho li-server tsena.

O ka ya ka tsela e nngwe: hobane dfsrdiag, ha e le hantle, e sebetsa ka WMI e tšoanang, joale u ka e sebelisa tlhaloso, mokhoa oa ho fana ka akhaonto ea domain litokelo tsa ho e sebelisa ntle le ho fana ka litokelo tsa tsamaiso, empa haeba re e-na le lihlopha tse ngata tsa ho pheta-pheta, joale ho fana ka litokelo ho sehlopha ka seng ho tla ba thata. Leha ho le joalo, haeba re batla ho beha leihlo ho pheta-pheta ha Volume ea Domain System ho balaoli ba li-domain, ena e ka 'na ea e-ba eona feela khetho e amohelehang, kaha ho fana ka litokelo tsa mookameli oa domain name ho akhaonto ea tšebeletso ea tlhokomelo hase khopolo e ntle.

Monitoring template

Ho latela lintlha tseo ke li fumaneng, ke thehile template e reng:

  • E sebetsa ka boiketsetso ba lihlopha tse ikatisang hang ka hora,
  • Lekola boholo ba tšupiso bakeng sa sehlopha ka seng hang metsotsong e meng le e meng e 5,
  • E na le "trigger" e fanang ka tlhokomeliso ha boholo bo saletseng morao bakeng sa sehlopha sefe kapa sefe bo feta 100 bakeng sa metsotso e 30. The trigger e hlalosoa e le prototype e kenyelletsoang ka bo eona ho lihlopha tse lemohileng,
  • E aha li-graph tsa boholo bo saletseng morao bakeng sa sehlopha ka seng sa boikatiso.

U ka khoasolla template ea Zabbix 2.2 mona.

Phello

Kamora ho kenya template ho Zabbix le ho theha ak'haonte e nang le litokelo tse hlokahalang, re tla hloka feela ho kopitsa mangolo ho li-server tsa faele tseo re batlang ho li beha leihlo bakeng sa DFSR, eketsa mela e 'meli ho tlhophiso ea moemeli ho bona ebe o qala ts'ebeletso ea moemeli oa Zabbix hape. , ho e beha hore e sebetse joalo ka akhaonto e batloang. Ha ho litlhophiso tse ling tsa matsoho tse hlokahalang bakeng sa tlhahlobo ea DFSR.

Source: www.habr.com

Eketsa ka tlhaloso