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