Nleba anya dị mfe nke DFS Replication na Zabbix

Okwu Mmalite

Site na akụrụngwa buru ibu ma kesaa nke ọma nke na-eji DFS dị ka otu ebe ịnweta data na DFSR maka ntinye data n'etiti ebe data na sava alaka, ajụjụ na-ebilite nke nyochaa ọnọdụ nke mmegharị a.
Ọ dabara na, ihe fọrọ nke nta ka ọ bụrụ ozugbo anyị malitere iji DFSR, anyị malitere itinye Zabbix na ebumnuche nke iji dochie anụ ọhịa dị iche iche nke ngwaọrụ dị iche iche na iweta nlekota akụrụngwa na ụdị ihe ọmụma, zuru oke na ezi uche. Anyị ga-ekwu maka iji Zabbix nyochaa mmeghari DFS.

Nke mbụ, anyị kwesịrị ikpebi ihe data gbasara DFS replication kwesịrị inweta iji nyochaa ọnọdụ ya. Ngosipụta kachasị mkpa bụ azụ azụ. Ọ nwere faịlụ na-emekọrịtabeghị na ndị otu ndị ọzọ na-emegharị ahụ. Ị nwere ike ịlele nha ya site na iji akụrụngwa dfsrdiag, arụnyere na ọrụ DFSR. N'ọnọdụ mmụgharị nkịtị, nha azụ azụ kwesịrị ịbịaru nso efu. N'ihi ya, ọnụ ọgụgụ buru ibu nke faịlụ dị na backlog na-egosi nsogbu na mmegharị.

Ugbu a banyere akụkụ bara uru nke okwu ahụ.

Iji nyochaa nha nke backlog site na Zabbix Agent, anyị ga-achọ:

  • Edemede nke ga-atụgharị nsonaazụ dfsrdiag iji nye Zabbix ụkpụrụ nha azụ azụ ikpeazụ,
  • Edemede nke ga-ekpebi ole otu mmegharị dị na ihe nkesa ahụ, kedu folda ha na-emegharị na ihe sava ndị ọzọ gụnyere n'ime ha (anyị achọghị iji aka tinye ihe a niile na Zabbix maka nkesa ọ bụla, nri?),
  • Ịgbakwunye edemede ndị a dị ka UserParameter na nhazi onye ọrụ Zabbix maka oku na-esote site na ihe nkesa nlekota.
  • Malite ọrụ onye nnọchi anya Zabbix dị ka onye ọrụ nwere ikike ịgụ ndekọ azụ azụ,
  • A template maka Zabbix, nke nchọpụta nke otu, nhazi nke natara data na inye alerts na ha ga-ahazi.

Ntụsa edemede

Iji dee nzacha, ahọpụtara m VBS ka asụsụ kacha nke ụwa niile dị na ụdị Windows Server niile. Echiche nke edemede ahụ dị mfe: ọ na-anata aha nke otu mmegharị, folda a na-emegharị, na aha nke izipu na ịnweta sava site na akara iwu. A na-ebufekwa paramita ndị a na dfsrdiag, na dabere na mmepụta ya ọ na-emepụta:
Ọnụọgụ faịlụ - ọ bụrụ na enwetara ozi gbasara ọnụnọ faịlụ na ndekọ azụ azụ,
0 - ọ bụrụ na enwetara ozi gbasara enweghị faịlụ na ndekọ azụ ("Ọ dịghị Backlog"),
-1 - ọ bụrụ na enwetara ozi njehie dfsrdiag mgbe ị na-eme arịrịọ ("[ERROR]").

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

Edemede nchọpụta

Ka Zabbix wee chọpụta ụdị mmegharị niile dị na sava ahụ yana ịchọpụta paramita niile achọrọ maka arịrịọ ahụ (aha nchekwa, aha sava ndị agbata obi), nke mbụ, nweta ozi a, nke abụọ, gosi ya. n'ụdị nke Zabbix ghọtara. Usoro nke ngwa nchọpụta na-aghọta dị ka nke a:

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

...

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

Ụzọ kachasị mfe iji nweta ozi anyị nwere mmasị na ya bụ site na WMI, na-ewepụ ya na ngalaba kwekọrọ na DfsrReplicationGroupConfig. N'ihi ya, a mụrụ edemede nke na-eme ka a rịọ WMI ma wepụta ndepụta nke otu, nchekwa ha na sava na usoro achọrọ.

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

Ekwenyere m, edemede ahụ nwere ike ọ gaghị enwu na koodu mara mma yana ụfọdụ ihe dị na ya nwere ike ime ka ọ dị mfe, mana ọ na-arụ ọrụ ya bụ isi - na-enye ozi gbasara paramita nke otu mmegharị n'ụdị nke Zabbix nwere ike ịghọta.

Na-agbakwụnye scripts na nhazi onye nnọchite Zabbix

Ihe niile ebe a dị nnọọ mfe. Tinye ahịrị ndị a na njedebe nke faịlụ nhazi onye nnọchi anya:

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"

N'ezie, anyị na-edozi ụzọ na ndị ebe anyị nwere scripts. M na-etinye ha na otu nchekwa ebe etinyere onye ọrụ.

Mgbe ịmechara mgbanwe, malitegharịa ọrụ nnọchite Zabbix.

Ịgbanwe onye ọrụ nke ọrụ Zabbix Agent na-arụ

Iji nweta ozi site na dfsrdiag, A ga-enwerịrị ike ịgba ọsọ n'okpuru akaụntụ nwere ikike nhazi maka izipu na ịnata ndị otu n'otu n'otu. Ọrụ onye nnọchi anya Zabbix, na-agba ọsọ na ndabara n'okpuru akaụntụ sistemụ, agaghị enwe ike ime ụdị arịrịọ ahụ. Emepụtara m akaụntụ dị iche na ngalaba ahụ, nye ya ikike nchịkwa na sava ndị dị mkpa, ma hazie ọrụ ka ọ na-agba ọsọ n'okpuru ya na sava ndị a.

Ị nwere ike ịga n'ụzọ ọzọ: n'ihi na dfsrdiag, n'ezie, na-arụ ọrụ site na otu WMI, mgbe ahụ ị nwere ike iji nkọwa, otu esi enye akaụntụ ngalaba ikike iji ya na-enyeghị ikike nchịkwa, mana ọ bụrụ na anyị nwere ọtụtụ ụdị mmegharị, mgbe ahụ ịnye ikike maka otu ọ bụla ga-esi ike. Otú ọ dị, ọ bụrụ na anyị chọrọ nyochaa Mpịakọta Mpịakọta Ngalaba na ndị na-ahụ maka ngalaba, nke a nwere ike ịbụ naanị nhọrọ a na-anabata, ebe ọ bụ na ịnye onye nchịkwa ngalaba ikike na akaụntụ ọrụ nlekota oru abụghị ezigbo echiche.

Nleba anya template

Dabere na data m nwetara, m mepụtara template nke:

  • Na-eme nchọpụta akpaka nke otu mmegharị otu ugboro kwa elekere,
  • Na-enyocha nha azụ azụ maka otu ọ bụla otu ugboro n'ime nkeji ise ọ bụla,
  • Nwere ihe mkpalite na-enye ọkwa mgbe ogo azụ azụ maka otu ọ bụla karịrị 100 maka nkeji iri atọ. A kọwapụtara ihe mkpalite dị ka ihe atụ nke etinyere ozugbo na otu achọpụtara.
  • Na-ewupụta eserese nha azụ azụ maka otu mmegharị ọ bụla.

Ị nwere ike budata ndebiri maka Zabbix 2.2 ebe a.

Nsonaazụ

Mgbe ibubata template ahụ na Zabbix ma mepụta akaụntụ nwere ikike dị mkpa, anyị ga-achọ naanị idetu ederede na sava faịlụ anyị chọrọ nyochaa maka DFSR, tinye ahịrị abụọ na nhazi ndị ọrụ na ha wee maliteghachi ọrụ nnọchiteanya Zabbix. , ịtọ ya ka ọ na-agba ọsọ dị ka akaụntụ achọrọ. Enweghị ntọala akwụkwọ ntuziaka ọzọ achọrọ maka nleba anya DFSR.

isi: www.habr.com

Tinye a comment