Mataʻituina faigofie o le DFS Replication i Zabbix

Faatomuaga

Faʻatasi ai ma se faʻataʻitaʻiga tele ma tufatufa faʻaoga e faʻaogaina ai le DFS o se tasi o avanoa i faʻamatalaga ma le DFSR mo faʻamatalaga faʻamaumauga i le va o nofoaga autu o faʻamaumauga ma faʻaumau lala, o le fesili e tulaʻi mai i le mataʻituina o le tulaga o lenei toe kopi.
Faʻafuaseʻi, toetoe lava o le taimi lava na amata ai ona matou faʻaaogaina le DFSR, na amata ona matou faʻatinoina le Zabbix ma le sini o le suia o le faleoloa o loʻo i ai nei o meafaigaluega eseese ma aumaia le mataʻituina o atinaʻe i se faʻamatalaga sili atu, atoatoa ma talafeagai. O le a matou talanoa e uiga i le faʻaaogaina o Zabbix e mataʻituina le faʻasologa o le DFS.

Muamua lava, e tatau ona tatou filifili pe o le a le faʻamatalaga e uiga i le DFS replication e manaʻomia ona maua e mataʻituina lona tulaga. Ole fa'ailoga sili ona talafeagai ole backlog. O lo'o i ai faila e le'i fa'amaopoopoina ma isi sui o le vaega fa'afoliga. E mafai ona e vaʻai i lona tele e faʻaaoga ai le aoga dfsrdiag, fa'apipi'i i le matafaioi DFSR. I se tulaga masani toe faia, o le tele o backlog e tatau ona latalata i le zero. E tusa ai, o le tele o faila i le backlog o loʻo faʻaalia ai faʻafitauli i le toe faia.

Ia e uiga i le itu aoga o le mataupu.

Ina ia mataʻituina le tele o le backlog e ala i le Zabbix Agent, matou te manaʻomia:

  • Mau o le a fa'avasega le mea e fai dfsrdiag e tuʻuina atu faʻamaumauga mulimuli o le tele o faʻamaumauga i Zabbix,
  • O se tusitusiga e iloa ai pe fia le tele o vaega faʻapipiʻi o loʻo i luga o le 'auʻaunaga, o a laupepa latou te toe faia ma pe o a isi 'auʻaunaga o loʻo aofia ai i totonu ia i latou (matou te le manaʻo e faʻaulu uma nei mea i totonu o le Zabbix i le lima mo server taʻitasi, saʻo?),
  • Faʻaopoopoina o nei tusitusiga e avea ma UserParameter i le Zabbix agent configuration mo le valaʻau mulimuli mai le server mataʻituina,
  • Amataina le tautua a le Zabbix o se tagata faʻaoga e iai aia tatau e faitau ai le backlog,
  • O se faʻataʻitaʻiga mo Zabbix, lea o le a faʻapipiʻiina ai le suʻesuʻeina o vaega, faʻagaioiga o faʻamaumauga maua ma tuʻuina atu faʻasalalauga.

Fa'amatala tusitusiga

Ina ia tusia le parser, na ou filifilia le VBS o le gagana sili ona lautele o loʻo i ai i vaega uma o le Windows Server. E faigofie le faʻaogaina o le tusitusiga: e maua ai le igoa o le vaega faʻapipiʻi, le faila faʻapipiʻi, ma igoa o le auina atu ma le mauaina o sapalai e ala i le laina o le poloaiga. Ona pasi atu ai lea o vaega nei i dfsrdiag, ma faʻalagolago i lona gaosiga e maua ai:
Numera o faila - pe a maua se feʻau e uiga i le iai o faila i le backlog,
0 - pe a maua se feʻau e uiga i le leai o ni faila i le backlog ("No Backlog"),
-1 - pe a maua se savali sese dfsrdiag pe a fa'atino se talosaga ("[ESE]").

maua-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

Mau maua

Ina ia mafai e Zabbix ona fuafua uma vaega faʻapipiʻi o loʻo i luga o le 'auʻaunaga ma suʻesuʻe uma tapulaʻa manaʻomia mo le talosaga (igoa faila, igoa o 'auʻaunaga tuaoi), matou te manaʻomia, muamua, maua lenei faʻamatalaga, ma lona lua, tuʻuina atu. i se faatulagaga e malamalama i ai Zabbix. O le faatulagaga o loʻo malamalama i ai le meafaigaluega suʻesuʻe e pei o lenei:

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

...

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

O le auala pito sili ona faigofie e maua ai faʻamatalaga matou te fiafia i ai e ala i le WMI, toso ese mai vaega tutusa o DfsrReplicationGroupConfig. O le iʻuga, na fanau mai ai se faʻamatalaga e faʻatupuina ai se talosaga i le WMI ma faʻaalia se lisi o vaega, o latou faila ma sapalai i le faatulagaga manaʻomia.

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

Ou te ioe, o le tusitusiga atonu e le susulu i le lalelei o le tulafono ma o nisi mea i totonu e mautinoa lava e faafaigofieina, ae o loʻo faʻatinoina lana galuega autu - tuʻuina atu faʻamatalaga e uiga i vaega o faʻasologa o vaega i se faatulagaga e malamalama i ai Zabbix.

Fa'aopoopoina tusitusiga i le fa'atulagaina o sui sooupu a Zabbix

O mea uma iinei e matua faigofie lava. Faaopoopo laina nei i le pito o le faila fetuutuunaiga sui:

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"

Ioe, matou te fetuutuuna'i auala ia i latou e iai a matou tusitusiga. Ou te tuʻuina i totonu o le pusa lava e tasi o loʻo faʻapipiʻi ai le sooupu.

A maeʻa ona fai suiga, toe amata le Zabbix agent service.

Suia le tagata faʻaoga o loʻo faʻaogaina ai le tautua a le Zabbix Agent

Ina ia maua faʻamatalaga e ala i dfsrdiag, o le aoga e tatau ona faʻatautaia i lalo o se teugatupe o loʻo i ai aia tatau faʻapitoa i le auina atu ma le mauaina o sui o le vaega toe kopi. O le auaunaga a le sui sooupu a Zabbix, o loʻo faʻaogaina e ala i le faaletonu i lalo o le tala faʻapipiʻi, o le a le mafai ona faʻatinoina sea talosaga. Na ou fatuina se tala ese i totonu o le vaega, tuʻuina atu i ai aia tatau faʻapitoa i luga o sapalai talafeagai, ma faʻatulagaina le auaunaga e faʻatautaia i lalo i luga o nei sapalai.

E mafai ona e alu i se isi auala: aua dfsrdiag, i le mea moni, galue i le WMI tutusa, ona mafai lea ona e faʻaogaina fa'amatalaga, faʻafefea ona tuʻuina atu i le domain account le aia tatau e faʻaaoga ai e aunoa ma le tuʻuina atu o aia tatau faʻapitoa, ae afai e tele a tatou vaega faʻapipiʻi, ona tuʻuina atu lea o aia tatau i vaega taʻitasi o le a faigata. Ae peita'i, i le tulaga tatou te mana'o e mata'itūina le Domain System Volume replication i luga ole domain controllers, atonu e na'o le pau lea o le filifiliga e talia, talu ai o le tu'uina atu o aia tatau a le pule ile teuga tupe e le o se manatu lelei.

Fa'ata'ita'iga mata'ituina

Faʻavae i luga o faʻamatalaga na ou mauaina, na ou faia se faʻataʻitaʻiga e:

  • Fa'atino le su'esu'eina otometi o vaega fa'atusa fa'atasi i le itula,
  • Siaki le tele o tua mo vaega ta'itasi ta'i 5 minute,
  • O lo'o i ai se fa'aoso e tu'uina atu ai se mataala pe a o'o atu i le 100 minute le tele o tua i so'o se vaega mo le 30 minute. O le faʻaoso o loʻo faʻamatalaina o se faʻataʻitaʻiga e otometi ona faʻaopoopo i vaega e iloa,
  • Fausia kalafi lapopo'a o tua mo vaega ta'itasi toe faia.

E mafai ona e sii maia le mamanu mo Zabbix 2.2 iinei.

Le iʻuga

A maeʻa ona faʻaulufaleina le faʻataʻitaʻiga i totonu o Zabbix ma fatuina se tala faʻatasi ma aia tatau, e naʻo le manaʻomia o le kopiina o tusitusiga i faila faila matou te manaʻo e mataʻituina mo le DFSR, faʻaopoopo laina se lua i le faʻatulagaina o sui i luga oi latou ma toe amata le auaunaga a le sui sooupu a Zabbix. , fa'atulaga e fa'agasolo e pei o le tala e mana'omia. Leai se isi tusi tusi e mana'omia mo le mata'ituina o le DFSR.

puna: www.habr.com

Faaopoopo i ai se faamatalaga