لفترة طويلة كنت سأقوم بتكوين مراقبة خدمة DFS Replication على Zabbix لدينا ، لكنني لم أجد أي قوالب جاهزة على الشبكة. جئت عبر العديد من المشاريع تخلى هنا و هنا ، ولكن المؤلف الأول يتم إكمال ذلك، وفي الثانية على الرابط لتحميل القالب لا يعمل. بالإضافة إلى ذلك ، اقتصر كلاهما على مراقبة الأعمال المتراكمة فقط ، على الرغم من وجود مقاييس أكثر في الواقع. لذلك ، قررت أن أصنع دراجتي بمقود دائري وقالب توربينات مع اكتشاف ونصوص. لقد بدأت منذ وقت طويل ، لكن يدي لم تصل إلى النهاية. كما يقول المثل ، هناك جانب مضيء: في مكان بعيد في عزلة ذاتية ، أكملته أخيرًا. تم إنجاز الكثير من العمل ، لكنني لست جشعًا ، لذلك أشارك. :)
قبل ان تبدأ
كذلك في النص ، تحت المضيف ، أعني الخادم مع دور DFSR ، والذي تم تكوين المراقبة من أجله.
في بعض الأحيان، على الإيجاز، وسوف تستخدم الاختصارات RG و RF بدلا من مجموعة النسخ المتماثل و مجلد تكرارها .
شاملة
أولا وقبل كل شيء، كان من الضروري تحديد ما لمراقبة و كيفية مراقبة.
كان من السهل علي أن أجيب على السؤال الثاني. بالطبع ، سيتم مراقبة هذا بواسطة وكيل باستخدام LLD والبرامج النصية المخصصة. باختيار لغة البرمجة النصية ، استقرت دون تردد على PowerShell. العديد من الفرص ، تقوم Microsoft بالترويج بنشاط ، نحن نحبني كثيرًا :). كان هناك أيضًا فكرة للقيام بذلك في VBScript لخفة التوافق مع الإصدارات القديمة من Windows ، ولكن عند التفكير ، تخليت عن هذه الفكرة.
هناك نوعان من نصوص PS في الحل: Get-DFSRObjectDiscovery.ps1 و Get-DFSRObjectParam.ps1
نظرًا لأنه من السهل فهمه من الاسم ، فإن الأول هو اكتشاف الكائنات المراقبة ( عنصر أو عنصر بيانات في مصطلحات 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