Abojuto ti o rọrun ti ẹda DFS ni Zabbix

Ifihan

Pẹlu awọn amayederun ti o tobi pupọ ati pinpin ti o lo DFS gẹgẹbi aaye kan ti iraye si data ati DFSR fun atunkọ data laarin awọn ile-iṣẹ data ati awọn olupin ẹka, ibeere naa dide ti ibojuwo ipo ti ẹda yii.
Lairotẹlẹ, o fẹrẹẹ lẹsẹkẹsẹ lẹhin ti a bẹrẹ lilo DFSR, a bẹrẹ imuse Zabbix pẹlu ibi-afẹde ti rirọpo zoo ti wa tẹlẹ ti awọn irinṣẹ lọpọlọpọ ati mu ibojuwo amayederun si alaye diẹ sii, pipe ati fọọmu ọgbọn. A yoo sọrọ nipa lilo Zabbix lati ṣe atẹle ẹda DFS.

Ni akọkọ, a nilo lati pinnu iru data nipa ẹda DFS nilo lati gba lati ṣe atẹle ipo rẹ. Atọka ti o yẹ julọ jẹ ẹhin. O ni awọn faili ti ko ti muuṣiṣẹpọ pẹlu awọn ọmọ ẹgbẹ miiran ti ẹgbẹ ẹda. O le wo iwọn rẹ nipa lilo ohun elo naa dfsrdiag, fi sori ẹrọ pẹlu DFSR ipa. Ni ipo isọdọtun deede, iwọn ẹhin yẹ ki o sunmọ odo. Nitorinaa, awọn nọmba nla ti awọn faili ninu apo ẹhin tọka awọn iṣoro pẹlu ẹda.

Bayi nipa awọn wulo ẹgbẹ ti oro.

Lati le ṣe atẹle iwọn ti afẹyinti nipasẹ Aṣoju Zabbix, a yoo nilo:

  • Iwe afọwọkọ ti yoo ṣe itupalẹ abajade dfsrdiag lati pese awọn iye iwọn ẹhin ikẹhin si Zabbix,
  • Iwe afọwọkọ ti yoo pinnu iye awọn ẹgbẹ atunwi ti o wa lori olupin naa, awọn folda wo ni wọn tun ṣe ati kini awọn olupin miiran wa ninu wọn (a ko fẹ lati tẹ gbogbo eyi sinu Zabbix pẹlu ọwọ fun olupin kọọkan, otun?),
  • Ṣafikun awọn iwe afọwọkọ wọnyi bi UserParameter si iṣeto aṣoju Zabbix fun pipe atẹle lati ọdọ olupin ibojuwo,
  • Bibẹrẹ iṣẹ aṣoju Zabbix gẹgẹbi olumulo ti o ni awọn ẹtọ lati ka iwe-ẹhin,
  • Awoṣe fun Zabbix, ninu eyiti wiwa ti awọn ẹgbẹ, sisẹ data ti a gba ati fifunni awọn itaniji lori wọn yoo tunto.

Atọka iwe afọwọkọ

Lati kọ parser, Mo yan VBS gẹgẹbi ede agbaye julọ ti o wa ni gbogbo awọn ẹya ti Windows Server. Imọye ti iwe afọwọkọ jẹ rọrun: o gba orukọ ti ẹgbẹ ẹda, folda ti a ṣe atunṣe, ati awọn orukọ ti fifiranṣẹ ati gbigba awọn olupin nipasẹ laini aṣẹ. Awọn paramita wọnyi lẹhinna kọja si dfsrdiag, ati da lori abajade rẹ o gbejade:
Nọmba awọn faili - ti o ba gba ifiranṣẹ kan nipa wiwa awọn faili ninu apo ẹhin,
0 - ti o ba gba ifiranṣẹ kan nipa isansa ti awọn faili ninu apo ẹhin (“Ko si Afẹyinti”),
-1 - ti o ba ti gba ifiranṣẹ aṣiṣe kan dfsrdiag nigbati o ba n ṣiṣẹ ibeere ("[ERROR]").

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

Awari akosile

Ni ibere fun Zabbix lati pinnu gbogbo awọn ẹgbẹ ẹda ti o wa lori olupin ati lati wa gbogbo awọn aye ti o nilo fun ibeere (orukọ folda, awọn orukọ ti awọn olupin adugbo), a nilo lati, ni akọkọ, gba alaye yii, ati keji, ṣafihan rẹ. ni a kika yeye to Zabbix. Ọna kika ti irinṣẹ wiwa ni oye dabi eyi:

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

...

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

Ọna to rọọrun lati gba alaye ti a nifẹ si ni nipasẹ WMI, fifaa jade lati awọn apakan ti o baamu ti DfsrReplicationGroupConfig. Bi abajade, a bi iwe afọwọkọ kan ti o ṣe agbejade ibeere kan si WMI ati ṣe agbejade atokọ ti awọn ẹgbẹ, awọn folda ati awọn olupin wọn ni ọna kika ti o nilo.

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

Mo gba, iwe afọwọkọ le ma tan pẹlu didara koodu ati diẹ ninu awọn nkan ti o wa ninu rẹ le jẹ irọrun, ṣugbọn o ṣe iṣẹ akọkọ rẹ - pese alaye nipa awọn aye ti awọn ẹgbẹ ẹda ni ọna kika ti o ni oye nipasẹ Zabbix.

Fifi awọn iwe afọwọkọ si iṣeto aṣoju Zabbix

Ohun gbogbo nibi jẹ lalailopinpin o rọrun. Ṣafikun awọn laini wọnyi si ipari faili iṣeto aṣoju:

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"

Nitoribẹẹ, a ṣatunṣe awọn ọna si awọn ibi ti a ni awọn iwe afọwọkọ. Mo fi wọn sinu folda kanna nibiti a ti fi oluranlowo sii.

Lẹhin ṣiṣe awọn ayipada, tun bẹrẹ iṣẹ aṣoju Zabbix.

Yiyipada olumulo labẹ eyiti iṣẹ Aṣoju Zabbix nṣiṣẹ

Lati gba alaye nipasẹ dfsrdiag, IwUlO gbọdọ wa ni ṣiṣe labẹ akọọlẹ kan ti o ni awọn ẹtọ iṣakoso si fifiranṣẹ ati gbigba awọn ọmọ ẹgbẹ ti ẹgbẹ ẹda. Iṣẹ aṣoju Zabbix, nṣiṣẹ nipasẹ aiyipada labẹ akọọlẹ eto, kii yoo ni anfani lati ṣiṣẹ iru ibeere kan. Mo ṣẹda akọọlẹ lọtọ ni agbegbe, fun ni awọn ẹtọ iṣakoso lori awọn olupin ti o nilo, ati tunto awọn olupin wọnyi lati ṣiṣẹ iṣẹ naa labẹ rẹ.

O le lọ ọna miiran: nitori dfsrdiag, ni otitọ, ṣiṣẹ nipasẹ WMI kanna, lẹhinna o le lo apejuwe, bawo ni a ṣe le fun iroyin agbegbe kan awọn ẹtọ lati lo laisi fifun awọn ẹtọ isakoso, ṣugbọn ti a ba ni ọpọlọpọ awọn ẹgbẹ atunṣe, lẹhinna fifun awọn ẹtọ si ẹgbẹ kọọkan yoo nira. Bibẹẹkọ, ni ọran ti a fẹ lati ṣe atẹle atunwi Iwọn Iwọn Eto Aṣẹ lori awọn oludari agbegbe, eyi le jẹ aṣayan itẹwọgba nikan, niwọn bi fifun awọn ẹtọ alabojuto agbegbe si akọọlẹ iṣẹ ibojuwo kii ṣe imọran to dara.

Awoṣe ibojuwo

Da lori data ti Mo gba, Mo ṣẹda awoṣe kan ti:

  • Ṣiṣẹ wiwa laifọwọyi ti awọn ẹgbẹ ẹda lẹẹkan fun wakati kan,
  • Ṣayẹwo iwọn ẹhin fun ẹgbẹ kọọkan lẹẹkan ni gbogbo iṣẹju 5,
  • Ni okunfa kan ti o funni ni itaniji nigbati iwọn ẹhin fun eyikeyi ẹgbẹ jẹ diẹ sii ju 100 fun ọgbọn išẹju 30. A ṣe apejuwe okunfa naa bi apẹrẹ ti a ṣafikun laifọwọyi si awọn ẹgbẹ ti a rii,
  • Ṣiṣe awọn aworan iwọn backlog fun ẹgbẹ ẹda kọọkan.

O le ṣe igbasilẹ awoṣe fun Zabbix 2.2 nibi.

Abajade

Lẹhin gbigbe awoṣe wọle sinu Zabbix ati ṣiṣẹda akọọlẹ kan pẹlu awọn ẹtọ to wulo, a yoo nilo lati daakọ awọn iwe afọwọkọ si awọn olupin faili ti a fẹ lati ṣe atẹle fun DFSR, ṣafikun awọn laini meji si iṣeto aṣoju lori wọn ki o tun bẹrẹ iṣẹ aṣoju Zabbix. , ṣeto rẹ lati ṣiṣẹ bi akọọlẹ ti o fẹ. Ko si awọn eto afọwọṣe miiran ti o nilo fun abojuto DFSR.

orisun: www.habr.com

Fi ọrọìwòye kun