J'allais depuis longtemps configurer la surveillance du service de réplication DFS sur notre Zabbix, mais je n'ai trouvé aucun modèle prêt à l'emploi sur le réseau. Je suis tombé sur plusieurs projets abandonnés ici et ici , mais le premier auteur ne l'a pas terminé, et dans le second, le lien pour télécharger le modèle n'a pas fonctionné. En outre, les deux se limitaient uniquement au suivi des arriérés, bien qu'en fait, il existe beaucoup plus de paramètres. J'ai donc décidé de fabriquer mon vélo avec un guidon rond et un gabarit de turbines avec découverte et scripts. J'ai commencé il y a longtemps, mais mes mains n'ont pas atteint la fin. Comme le dit le proverbe, il y a une lueur d'espoir: dans un endroit éloigné en auto-isolement, je l'ai finalement terminé. Beaucoup de travail a été fait, mais je ne suis pas gourmand, donc je partage. :)
Avant que tu commences
Plus loin dans le texte, sous l' hôte, je veux dire le serveur avec le rôle DFSR, pour lequel la surveillance est configurée.
Parfois, par souci de concision, j'utiliserai les abréviations RG et RF au lieu du groupe de réplication et du dossier répliqué .
Global
Tout d'abord, il était nécessaire de déterminer ce qu'il fallait surveiller et comment surveiller.
Il m'a été facile de répondre à la deuxième question. Bien sûr, cela sera surveillé par un agent avec LLD et des scripts personnalisés. En choisissant un langage de script, je me suis, sans hésitation, opté pour PowerShell. Beaucoup d'opportunités, Microsoft fait activement la promotion, on m'aime beaucoup :). Il y avait aussi une pensée pour le faire dans VBScript pour la légèreté de la compatibilité avec les anciennes versions de Windows, mais, après réflexion , a abandonné cette idée.
Il existe deux scripts PS dans la solution: Get-DFSRObjectDiscovery.ps1 et Get-DFSRObjectParam.ps1
, - (item Zabbix), - . WMI-. , .. .
" ?" . DFSR , , DFSR, , .
, :
;
;
;
DFSR;
;
.
.
DFSR, . , Active Directory MyRG3, , . .
Microsoft.
Zabbix 2.2 5.0 Windows 2008R2 SP1 2019, Zabbix 3.4, Zabbix 5.0 Windows 2012 R2.
(value mapping), Zabbix.
(DFS Replication Groups)
:
(outbound connections);
(inbound connections);
(number of folders);
(blank schedule).
DFS Replication Groups LLD.
, , , . , , . . , , 1, 0.
, . , .
(DFS Replicated Folders)
:
(backlog size);
(state)
(enabled)
" " ('read-only' mode)
" " ('remove deleted' enabled)
(redundancy)
, (stage quota)
(stage used)
(stage free (percentage))
, (conflict quota)
(conflict used)
(conflict free (percentage))
;
DFS Replicated Folders Backlog LLD. . -, DFSR - , , , DFSR-. , , = , , . -, , , , , .
3 :
{$BACKLOGMAXWARNING} - warning- ( 10);
{$BACKLOGMAXAVERAGE} - average- ( 100);
{$BACKLOGPERIOD} - ( 15 ).
, 10 15 , warning-. 100, average-.
, DFSR, , Managment Pack SCOM ("" Microsoft) . , . :
( ) DFS Replicated Folders LLD. , state redundancy.
State - , :
Uninitialized (0)
Initialized (1)
Initial Sync (2)
Auto Recovery (3)
Normal (4)
In Error (5)
Redundancy - , Normal. , , .
stage free (percentage) conflict free (percentage), . , , , zabbix-.
5% , . 5% {$STAGEDIRPFREEMIN} {$CONFLICTDIRPFREEMIN}.
DFS Replicated Folders PerfCounters LLD. , .., , , . , . , , .
, , Conflict Files Generated, , RF. . :
{$CONFLICTSGENERATEDCHANGEWARNING} - , warning- ( 10);
{$CONFLICTSGENERATEDCHANGEAVERAGE} - average- ( 100);
{$CONFLICTSGENERATEDPERIOD} - , , ( 5 ).
, 5 10- , warning-, 100 - average-.
? . , DFSN \\abc.com\Share. ( ): \\server1\Share \\server2\Share. + . AD- ( Office1 Office2). Office1, \\abc.com\Share, server1, Office2 - server2 (, , , ). \\abc.com\Share\_.xlsx ( - ) . , , , , , , Ctrl+S 5 , . , , , , .
, , - , - , DFS-. , .
RF 4 :
(conflict space usage)
(stage space usage)
, (received bytes)
(received files and conflicts)
(DFS Replication Connections)
:
(state);
(enabled);
(blank schedule);
.
: DFS Replication Connections LLD - , DFS Replication Connections PerfCounters LLD - .
State - , :
Connecting (0)
Online (1)
Offline (2)
In Error (3)
Enabled - .
Blank schedule - RG. , , RG.
RF, , bytes received per second, :
DFSR (DFS Replication Service Volumes)
:
(state);
.
: DFS Replication Service Volumes LLD DFS Replication Service Volumes PerfCounters LLD. - state, :
Initialized (0)
Shutting Down (1)
In Error (2)
Auto Recovery (3)
.
(DFS Replication Partners)
:
PING (ping check);
WMI (WMI check).
DFS Replication Partners LLD. , : , "" ICMP WMI. WMI , - zabbix-. WMI- - , DFSR- backlog size redundancy ( ). , zabbix- . , WMI- , - . :
(General)
:
DFSR (DFS Replication role installed);
, (Number of replication groups);
DFSR (DFSR Event Log);
(DFS Replication service state);
(DFS Replication service uptime);
(DFSR Service Version);
DFSR (DFSR Provider Version);
DFSR (DFSR Monitoring Provider Version);
.
, Items .
. 3 , :
DFSR Event Log: number of warnings
DFSR Event Log: number of errors
DFSR Event Log: number of critical errors
, - PS-. (, , ) , . , . , . :
{$DFSRLOGCRITICALMAX} - "" DFSR, high- ( 0);
{$DFSRLOGERRORSMAX} - "" DFSR, average- ( 0);
{$DFSRLOGWARNINGSMAX} - "" DFSR, warning- ( 0);
{$DFSRLOGPERIOD} - ( 1 )
:
Service Starting (0)
Service Running (1)
Service Degraded (2)
Service Shutting Down (3)
Stopped (100)
Not Found (101)
, .
, RG Zabbix- RG , .
:
- RF: Zabbix "perf_counter[\XXX\YYY]" is not supported: Cannot obtain performance information from collector. Windows (perfmon, typeperf, Get-Counter) . Zabbix Agent. RF-, (, ) .
.
Get-DFSRBacklog (Technet gallery)
DFS Replication Backlog Discovery
DFS Replication Management Pack for Windows Server 2008 R2
Optional configuration for the DFS Replication Management Pack
PowerShell — Zabbix — Json ConvertTo-Json2
Displaying Unicode in Powershell
powershell : changing the culture of current session