ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ DFS Replication Π² Zabbix

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈ достаточно большой ΠΈ распрСдСлСнной инфраструктурС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ DFS Π² качСствС Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ DFSR для Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π¦ΠžΠ” ΠΈ сСрвСрами Ρ„ΠΈΠ»ΠΈΠ°Π»ΠΎΠ², Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° состояния этой Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
Π’Π°ΠΊ совпало, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ сразу послС Π½Π°Ρ‡Π°Π»Π° использования DFSR, ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Zabbix с Ρ†Π΅Π»ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… инструмСнтов ΠΈ привСсти ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ инфраструктуры ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ, ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ. Об использовании Zabbix для наблюдСния Π·Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ DFS ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ DFS Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ для контроля Π·Π° Π΅Π΅ состояниСм. НаиболСС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ β€” backlog. Π’ Π½Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ синхронизированы с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ dfsrdiag, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉΡΡ вмСстС с Ρ€ΠΎΠ»ΡŒΡŽ DFSR. Π’ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€ backlog Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΡƒΠ»ΡŽ. БоотвСтствСнно, большиС значСния количСства Ρ„Π°ΠΉΠ»ΠΎΠ² Π² backlog ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ практичСской сторонС вопроса.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ backlog Ρ‡Π΅Ρ€Π΅Π· Zabbix Agent, Π½Π°ΠΌ понадобятся:

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ dfsrdiag для прСдоставлСния Π² Zabbix ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° backlog,
  • Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, сколько Π³Ρ€ΡƒΠΏΠΏ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π½Π° сСрвСрС, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠ½ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Π΅ сСрвСра Π² Π½ΠΈΡ… входят (ΠΌΡ‹ ΠΆΠ΅ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Π±ΠΈΠ²Π°Ρ‚ΡŒ всС это Π² Zabbix Ρ€ΡƒΠΊΠ°ΠΌΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра, ΠΏΡ€Π°Π²Π΄Π°?),
  • ВнСсСниС этих скриптов ΠΊΠ°ΠΊ UserParameter Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΠ°Ρ†ΠΈΡŽ Π°Π³Π΅Π½Ρ‚Π° Zabbix для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° с сСрвСра ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°,
  • Запуск слуТбы Π°Π³Π΅Π½Ρ‚Π° Zabbix ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ backlog,
  • Π¨Π°Π±Π»ΠΎΠ½ для Zabbix, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ настроСно ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π° Π°Π»Π΅Ρ€Ρ‚ΠΎΠ² ΠΏΠΎ Π½ΠΈΠΌ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚-парсСр

Для написания парсСра я Π²Ρ‹Π±Ρ€Π°Π» VBS ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΎ всСх вСрсиях Windows Server. Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта проста: ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку имя Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ, ΠΈ ΠΈΠΌΠ΅Π½Π° sending ΠΈ receiving сСрвСров. Π”Π°Π»Π΅Π΅ эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² dfsrdiag, ΠΈ Π² зависимости ΠΎΡ‚ Π΅Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° выдаСтся:
Число Ρ„Π°ΠΉΠ»ΠΎΠ² β€” Ссли ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ сообщСниС ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² backlog,
0 β€” Ссли ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ сообщСниС ΠΎΠ± отсутствии Ρ„Π°ΠΉΠ»ΠΎΠ² Π² backlog (Β«No BacklogΒ»),
-1 β€” Ссли ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ сообщСниС ΠΎΠ± ошибкС dfsrdiag ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ("[ERROR]").

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

Π‘ΠΊΡ€ΠΈΠΏΡ‚ обнаруТСния

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Zabbix сам опрСдСлял всС Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° сСрвСрС, ΠΈ сам ΠΆΠ΅ выяснял всС Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для запроса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (имя ΠΏΠ°ΠΏΠΊΠΈ, ΠΈΠΌΠ΅Π½Π° сСрвСров-сосСдСй), Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π² понятном для Zabbix Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ инструмСнт discovery, выглядит Ρ‚Π°ΠΊ:

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

...

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

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ ΠΆΠ΅ нас ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ всСго Ρ‡Π΅Ρ€Π΅Π· WMI, Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΠ² Π΅Π΅ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² DfsrReplicationGroupConfig. Π’ ΠΈΡ‚ΠΎΠ³Π΅ родился скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ запрос ΠΊ WMI ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ список Π³Ρ€ΡƒΠΏΠΏ, ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈ сСрвСров Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

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

БогласСн, скрипт, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Π±Π»Π΅Ρ‰Π΅Ρ‚ изящСством ΠΊΠΎΠ΄Π° ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Π½Π΅ΠΌ навСрняка ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ, Π½ΠΎ Π³Π»Π°Π²Π½ΡƒΡŽ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ β€” Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π³Ρ€ΡƒΠΏΠΏ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, понятном Zabbix β€” ΠΎΠ½ выполняСт ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ВнСсСниС скриптов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π°Π³Π΅Π½Ρ‚Π° Zabbix

Π—Π΄Π΅ΡΡŒ всС ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ просто. Π’ ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π°Π³Π΅Π½Ρ‚Π° добавляСм строки:

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"

ΠŸΡƒΡ‚ΠΈ, разумССтся, ΠΏΡ€Π°Π²ΠΈΠΌ Π½Π° Ρ‚Π΅, Π³Π΄Π΅ Ρƒ нас Π»Π΅ΠΆΠ°Ρ‚ скрипты. Π― ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΠΈΡ… Π² Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΡƒΠ΄Π° установлСн Π°Π³Π΅Π½Ρ‚.

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ пСрСзапускаСм слуТбу Π°Π³Π΅Π½Ρ‚Π° Zabbix.

ИзмСнСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ слуТба Zabbix Agent

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· dfsrdiag, ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ административныС ΠΏΡ€Π°Π²Π° ΠΊΠ°ΠΊ Π½Π° sending, Ρ‚Π°ΠΊ ΠΈ Π½Π° receiving Ρ‡Π»Π΅Π½Π°Ρ… Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π‘Π»ΡƒΠΆΠ±Π° Π°Π³Π΅Π½Ρ‚Π° Zabbix, запущСнная ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄ систСмной ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью, Ρ‚Π°ΠΊΠΎΠΉ запрос Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ смоТСт. Π― создал ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Π² Π΄ΠΎΠΌΠ΅Π½Π΅, Π΄Π°Π» Π΅ΠΉ административныС ΠΏΡ€Π°Π²Π° Π½Π° Π½ΡƒΠΆΠ½Ρ‹Ρ… сСрвСрах ΠΈ настроил Π½Π° этих сСрвСрах запуск слуТбы ΠΈΠ·-ΠΏΠΎΠ΄ Π½Π΅Π΅.

МоТно ΠΏΠΎΠΉΡ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ dfsrdiag, ΠΏΠΎ сути, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‚ ΠΆΠ΅ WMI, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ описаниСм, ΠΊΠ°ΠΊ Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи ΠΏΡ€Π°Π²Π° Π½Π° Π΅Π³ΠΎ использованиС Π±Π΅Π· Π²Ρ‹Π΄Π°Ρ‡ΠΈ административных ΠΏΡ€Π°Π², Π½ΠΎ Ссли Ρƒ нас ΠΌΠ½ΠΎΠ³ΠΎ Π³Ρ€ΡƒΠΏΠΏ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ‚ΠΎ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Однако Π² случаС, Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠ»Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Domain System Volume Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Π΄ΠΎΠΌΠ΅Π½Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ СдинствСнным ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° администратора Π΄ΠΎΠΌΠ΅Π½Π° ΡƒΡ‡Π΅Ρ‚ΠΊΠ΅ слуТбы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° β€” Π½Π΅ самая Π»ΡƒΡ‡ΡˆΠ°Ρ идСя.

Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, я создал шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ:

  • Π Π°Π· Π² час запускаСт автоматичСскоС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ,
  • Π Π°Π· Π² 5 ΠΌΠΈΠ½ΡƒΡ‚ провСряСт Ρ€Π°Π·ΠΌΠ΅Ρ€ backlog для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹,
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€, Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠΉ Π°Π»Π΅Ρ€Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ backlog для ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±ΠΎΠ»Π΅Π΅ 100 Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 30 ΠΌΠΈΠ½ΡƒΡ‚. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€ описан ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски добавляСтся ΠΊ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ,
  • Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° backlog для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ шаблон для Zabbix 2.2 ΠΌΠΎΠΆΠ½ΠΎ здСсь.

Π˜Ρ‚ΠΎΠ³

ПослС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° шаблона Π² Zabbix ΠΈ создания ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ, Π½Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ достаточно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎ части DFSR, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π΅ строки Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π°Π³Π΅Π½Ρ‚Π° Π½Π° Π½ΠΈΡ… ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу Π°Π³Π΅Π½Ρ‚Π° Zabbix, настроив Π΅Π΅ запуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π½ΡƒΠΆΠ½ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи. Никаких ΠΈΠ½Ρ‹Ρ… Ρ€ΡƒΡ‡Π½Ρ‹Ρ… настроСк для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° DFSR Π½Π΅ потрСбуСтся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com