مانیتورینگ شبکه چیست، چه ضرورتی دارد و چگونه انجام میشود؟
پایش یا نظارت مستمر بر شبکه را اصطلاحا مانیتورینگ شبکه (Network Monitoring) مینامند. هر شخص، شرکت یا سازمانی که به کسبوکار یا کاربران و مشتریانش اهمیت میدهد، باید پیوسته بر عملکرد شبکه خود نظارت داشته باشد. بدون مانیتورینگ شبکه، حتی مدیر و مالک مجموعه نیز نخواهددانست که در شبکهاش چه میگذرد و آیا اجزای شبکه درست و طبق برنامه کار میکنند یا نه. لذا آموزش مانیتورینگ شبکه را جدی بگیرید. با فالنیک همراه باشید.
فهرست محتوا
مانیتورینگ شبکه روشهای مختلفی دارد که یکی از کارآمدترین آنها استفاده از سیستم یا نرم افزار مانیتورینگ شبکه است. در ادامه توضیح داده میشود که مانیتورینگ شبکه چیست، چه ضرورتی دارد و چگونه انجام میشود. در همین راستا موضوعات مرتبط دیگری همچون نرمافزارها، راهکارها و پروتکلهای مانیتورینگ شبکه نیز بررسی خواهد شد. میتوانید مطلب “امنیت سایبری چیست و چطور می توان آن را تامین کرد؟“را مطالعه نمایید.
مانیتورینگ شبکه چیست؟
پایش یا مانیتورینگ شبکه (Network Monitoring) یعنی نظارت مستمر بر یک شبکه کامپیوتری جهت شناسایی هرگونه ایراد یا نقص احتمالی و اطمینان از اینکه شبکه درست به کار خود ادامه دهد. مثلا با کمک مانیورینگ شبکه میتوان وضعیت اجزای شبکه از جمله روترها، سوئیچها، فایروالها، سرورها و ماشینهای مجازی را تحت نظر گرفت. اگر عملکرد هر یک از این اجزاء کند یا مختل شود، نرمافزار مانیتورینگ شبکه موضوع را به مدیر شبکه اطلاع میدهد و در نتیجه مانع از کار افتادن شبکه میشود.
یکی از وجوه مهم مانیتورینگ شبکه این است که باید کنشگر (proactive) باشد، نه واکنشگر (reactive). یعنی فعالانه در جستجوی مشکلات و تنگناهای احتمالی شبکه باشد؛ نه اینکه منتظر بماند تا مشکلی پیش آید و بعد بخواهد آن را شناسایی کند. با این رویکرد میتوان مشکلات را در همان مرحله اول شناسایی کرد. مانیتورینگ کنشگرانه میتواند از قطعی یا معیوب شدن شبکه جلوگیری کند.
ضرورت وجود مانیتورینگ شبکه
مانیتورینگ شبکه چه ضرورتی دارد؟ مانیتورینگ شبکه داخلی، وضعیت جاری شبکه و اجزای آن را بهاطلاع مدیر شبکه میرساند. برای آگاهی از نحوه عملکرد اجزای شبکه از جمله سلامت، دسترسیپذیری، میزان بازده، میزان مصرف پهنای باند، و ایرادها و نواقص احتمالی و بسیاری موارد دیگر، شبکه شما پیوسته باید پایش شود. کسی که بر شبکه خود نظارت ندارد چگونه میتواند بفهمد که در شبکهاش چه میگذرد و آیا تجهیزات متصل به شبکه و خدماتی که به کاربران و مشتریان ارائه میشود، درست و طبق برنامه پیش میرود یا نه؟ با اتخاذ شیوههای مناسب برای مانیتورینگ شبکه حتی میتوان از برخی مشکلات امنیتی در شبکه نیز آگاه شد و پیش از وارد آمدن خسارتهای سنگین درصدد مقابله با آن برآمد.
مزایای مانیتورینگ شبکه
شاید بتوان گفت مهمترین مزیت مانیتورینگ شبکه این است که شما را از وضعیت جاری شبکه مطلع میکند تا بتوانید بر مبنای آن شبکه را تنظیم یا مشکلات آن را حل کنید. با در نظر داشتن این مزیت کلی میتوان برخی از مزایای مانیتورینگ شبکه را چنین برشمرد:
1- کاهش هزینهها
بدون مانیتورینگ شبکه، عملکرد و بازده اجزا و بخشهای مختلف شبکه از چشمتان پنهان میماند. اگر نواقص و ایرادهای شبکه را دیر تشخیص دهید، احتمال قطعی شبکه و خدمات آن افزایش مییابد. در اینصورت، اعتبار حرفهایتان مخدوش میشود و در مواقعی حتی ناچار میشوید بابت قطع یا مختل شدن خدماتتان به مشتریان خسارت بپردازید. با کمک سیستم مانیتورینگ شبکه درمییابید که کدامیک از عناصر شبکه زیادی یا کدامیک کمتر از حد معمول کار میکنند. با آگاهی از چنین مواردی میتوانید جلوی هزینههای بیجا را بگیرید یا تجهیزاتی را که باید تعویض شوند شناسایی کنید.
2- افزایش بازده شبکه
مانیتورینگ شبکه یکی از بهترین راهها برای نظارت بر بازده شبکه و اجزای مختلف آن است. با مانیتورینگ کنشگر (proactive) میتوان مشکلات را زودتر و پیش از آنکه بر سازوکارهای شبکه اثر نامطلوب زیادی به جای بگذارند، شناسایی کرد. نرمافزارهای مانیتورینگ شبکه شاخصهای متعددی همچون مصرف پهنای باند، بستههای معیوب، تاخیر و… را بیدرنگ اندازه میگیرند. ارائه گزارشهای دقیق در این خصوص، به گروه مدیریت شبکه کمک میکند تا راحتتر به علت بروز مشکل پی ببرند.
3- کمک به ارتقای امنیت
وظیفه اصلی نرمافزارهای مانیتورینگ شبکه، تامین امنیت نیست اما کاری که انجام میدهند میتواند به بهبود امنیت شبکه کمک کند. برای مثال، اگر مانیتورینگ ترافیک شبکه گزارش دهد که ترافیک شبکه غیرعادی و ناگهانی افزایش یافته یا دستگاه ناآشنایی به شبکه متصل شده است، میتوان آن را نشانهای دال بر حملات سایبری تلقی کرد. ضمنا اگر شبکه درست مدیریت شود، کاربران را از دسترسی اتفاقی به وبسایتهای آلوده و مضر برای شبکه بازمیدارد.
4- تسریع عیبیابی
با کمک نرمافزارهای مانیتورینگ شبکه، زمان موردنیاز برای عیبیابی شبکه کاهش چشمگیری مییابد. نرمافزار مانیتورینگ درباره بازده عادی شبکه دادههای شفافی ارائه میدهد که نواقص را مشخص میکند و شما را در ریشهیابی مشکل و علت بروز آن بسیار یاری میدهد. با مانیتورینگ شبکه، مشکلات احتمالی در اجزای شبکه (مثل سرور) به محض وقوع، به مدیر گزارش میشود و او سریعتر میتواند علت بروز مشکل را پیدا کند. با استفاده از مانیتورینگ شبکه بهراحتی میتوان گفت که چه زمانی باید جزء خاصی از شبکه را تعویض یا تنظیم کرد.
مانیتورینگ شبکه چه چیزهایی را در شبکه پایش میکند؟
انتخاب اینکه نرمافزار مانیتورینگ شبکه باید بر چه چیزهایی در شبکه نظارت داشته باشد، بسیار مهم و موثر است. اگر انتخابها درست نباشند، استفاده از نرمافزار مانیتورینگ شبکه چنان که باید موثر نخواهد بود. تصمیمگیری در اینباره به عوامل مختلفی بستگی دارد اما معمولا در هر شبکهای، موارد زیر جزو اهداف همیشگی نرمافزارهای مانیتورینگ شبکه است:
- میزان مصرف پهنای باند: نظارت بر میزان مصرف پهنای باند، اینکه شرکتتان چقدر پهنای باند مصرف میکنند و اینکه مصرفتان تا چه اندازه بهینه و موثر است، کمکتان میکند تا اطمینان یابید همهچیز بهخوبی در حال اجرا است. تجهیزات یا برنامههایی که بیش از اندازه پهنای باند مصرف میکنند شاید باید عوض شوند.
- بازده اپلیکیشن: اپلیکیشنهایی که روی شبکهتان اجرا میشوند باید بهدرستی کار کنند، و سیستمهای مانیتورینگ شبکه میتوانند آنها را بیازمایند تا مشخص شود که آیا چنین هستند یا نه. سیستمها مانیتورینگ شبکه میتوانند زمان پاسخگویی و دسترسیپذیری پایگاهدادهها، ماشینهای مجازی، خدمات ابری و… را که مبتنی بر شبکه هستند آزمایش کنند تا مشخص شود که آیا مسبب کندی شبکهتان هستند یا نه.
- بازده سرور:ایمیلسرورها، وبسرورها، سرورهای دیاناس و… کلید بسیاری از عملکردها در کسبوکارتان هستند. لذا مهم است که آپتایم، اطمینانپذیری و یکدستی هر سرور را بیازمایید.
- پیکربندی شبکه: سیستمهای مانیتورینگ شبکه میتوانند انواع زیادی از تجهیزات را نظارت کنند از جمله، تلفنهای همراه، رایانههای رومیزی و سرورها. برخی سیستمها قابلیت کشف خودکار دارند که سبب میشود بتوانند تجهیزات را بهمحض اضافه شدن، تعویض شدن یا جدا شدن از شبکه پیوسته ثبت و ردیابی کنند. این ابزارها همچنین میتوانند تجهیزات را بسته به نوع، خدمات، آدرس آِپی یا محل فیزیکیشان تفکیک کنند. این کار به بهروز نگه داشتن نقشه شبکه و برنامهریزی برای توسعه آن در آینده کمک میکند.
مانیتورینگ شبکه چگونه انجام میشود؟
مانیتورینگ شبکه برای آزمودن دسترسیپذیری (availability) و بازده (performance) شبکه از تکنیکهای مختلفی بهره میبرد. برای آشنایی با نحوه محسبه دسترس پذیری مطلب “چگونه Availability را در شبکه محاسبه کنیم؟” را مطالعه کنید. دادههایی که نرمافزار مانیتورینگ شبکه برای بررسی و تحلیل وضعیت شبکه نیاز دارد، بهوسیله این تکنیکها گردآوری میشود. برخی از رایجترین تکنیکهای جمعآوری داده برای نرمافزارهای مانیتورینگ شبکه عبارتند از:
- Ping: پینگ از ابتداییترین تکنیکهایی است که نرمافزار مانیتورینگ برای ارزیابی هاستهای درون یک شبکه از آن بهره میبرد. در این شیوه، سیستم مانیتورینگ، به دستگاهی که باید پایش شود سیگنال میفرستند و اطلاعات مدنظرش را بر همین اساس دریافت و ثبت میکند (مثلا بررسی میکند که آیا سیگنال ارسال شده، در مقصد دریافت شد یا نه؛ یا چه مدت طول کشید تا سیگنال به مقصد برسد و آیا سیگنالی از دست رفت یا نه). سیستم مانیتورینگ شبکه سپس با تحلیل این دادهها مواردی همچون فعال یا غیرفعال بودن هاست، میزان بازده آن، زمان لازم برای انتقال سیگنال، و از دست رفتن بستههای داده هنگام ارتباط با هاست و… را درمییابد.
- SNMP: پروتکل مدیریت آسان شبکه یا SNMP تجهیزات متصل به شبکه را از طریق نرمافزار مانیتورینگ بررسی میکند. برای این منظور، همه تجهیزات باید نرمافزار مانیتورینگ را نصب شده داشته باشند تا بتوانند عملکرد خود را به مدیر شبکه گزارش دهند. مدیر شبکه این اطلاعات را در پایگاهدادهای گردآوری و آن را تحلیل میکند تا خطاهای احتمالی را کشف کند. پروتکل SNMP پرکاربردترین پروتکل در سیستمهای مدرن مدیریت شبکه است.
- Syslog: هرگاه اتفاقی رخ دهد که بر عملکرد یکی از تجهیزات تحت شبکه تاثیر بگذارد، سیستم مدیریت خودکار Syslog به مسئولان مربوطه پیغام میفرستد. تکنسینهای شبکه میتوانند تجهیزات را طوری تنظیم کنند که در صورت بروز خطا، قطعیهای غیرمنتظره، نقص در پیکربندی و… موضوع را از طریق Syslog به مدیر شبکه اطلاع دهند. این پیغامها اغلب حاوی اطلاعاتی هستند که برای سیستمهای مدیریت شبکه و سیستمهای امنیتی مفیدند.
- Script:اگر در شبکهای بهرغم استفاده از نرمافزار مانیتورینگ شبکه، هنوز شکافهایی باقی مانده بود، اسکریپتها میتوانند شکافهای کوچک را پر کنند. اسکریپتها برنامههای سادهای هستند که اطلاعات ابتدایی جمعآوری میکنند و به شبکه دستور میدهند تا تحت شرایط مشخص، کار خاصی انجام دهد. ریست شدن دستگاهی خاص طبق زمانبندی مشخص و پیکربندی مکرر و هر روزه یک کامپیوتر از رایجترین مثالهایی است که میتوان با کمک اسکریپتها انجام داد. البته اسکریپتها میتوانند برای سیستم مانیتورینگ شبکه نیز داده جمعآوری کنند.
نرم افزار مانیتورینگ شبکه چیست؟
نرم افزار یا سیستم مانیتورینگ شبکه ابزاری است که کمک میکند نظارتتان بر شبکه موثرتر باشد. ویژگیهای نرمافزار مانیتورینگ شبکه بسته به وسعت و نیازهای هر شرکت، بسیار متفاوت است.
ابزارهای مانیتورینگ شبکه در قالب نرم افزارهای متعددی طراحی و تولید شده است که از آن جمله میتوان Nagios و Zabbix را نام برد. نرمافزار اپنسورس ناگیوس (Nagios) برای اجرا روی سیستمعامل لینوکس طراحی شده است و میتواند تجهیزات لینوکسی، ویندوزی و یونیکسی را پایش کند. این نرمافزار نسخههای مختلفی دارد؛ از جمله نسخه رایگان Nagios Core، نسخه Nagios XI برای شبکههای بزرگ و سازمانی، و نسخه ابری Nagios Network Analyzer.
یکی دیگر از نرم افزارهای اپنسورس مانیتورینگ شبکه زابکیس (Zabbix) نام دارد. زابیکس شبکه، سرورها، ماشینهای مجازی و خدمات ابری را بیدرنگ (real-time) میپاید. ابزار مانیتورینگ شبکه Statistics Zabbix بر میزان استفاده از منابع شبکه، بار کاری پردازنده مرکزی و فضای دیسک نظارت میکند. زابیکس برای پایش شبکه، هم از روش مانیتورینگ مبتنی بر ایجنت (agent-based) و هم مانیتورینگ بدون ایجنت (agentless) بهره میبرد. ضمنا قابلیتهای آماده و از پیش طراحی شدهای دارد که میتواند کارکردهای مانیتورینگ شبکه را بسط دهد. چند نمونه دیگر از نرم افزارهای مانیتورینگ را در ادامه معرفی می کنیم.
- SolarWinds Network Performance Monitor: نرمافزار رایگانی است که از برای گردآوری بستههای داده از پروتکل SNMP و برای پایش شبکه از پروتکل WMI بهره میبرد.
- ManageEngine OpManager: نرمافزاری که تجهیزات سازگار با پروتکل SNMP از جمله سوئیچها، سرورها و خدمات شبکه مجازی را پایش میکند.
- Icinga: نرم افزار اپنسورس مانیتورینگ شبکه که نرمافزارهای مکمل (extension) نیز دارد.
- Site24x7:ابزاری برای پایش تجهیزات شبکه، وبسایتها، سرورها، اپلیکیشنها و…
انواع مانیتورینگ شبکه
مانیتورینگ شبکه به یکی از دو شیوه زیر یا ترکیبی از هر دو صورت میپذیرد:
- Agent monitoring یا مانیتورینگ ایجنتمحور
- Agentless monitoring یا مانیتورینگ بدون ایجنت
Agent monitoring یا مانیتورینگ ایجنتمحور یعنی چه؟
ایجنت (Agent) را میتوان «عامل نرمافزاری» معنا کرد. در حوزه مانیتورینگ شبکه، ایجنت، نرمافزار یا اپلیکیشن کوچکی است که روی تجهیزات متصل به شبکه نصب میشود تا آن تجهیزات بتوانند وضعیت خود را به نرمافزار مانیتورینگ شبکه اطلاع دهند. یکی از مهمترین مزایای ایجنت این است که میتواند درباره تجهیزاتی که پایش میشوند دادههای دقیقتری گرد آورد و درنتیجه کیفیت مانیتورینگ، هشدارها و گزارشها را ارتقا دهد.
در روش مانیتورینگ با ایجنت (Agent monitoring) هر دستگاه متصل به شبکه برای اینکه پایش شود، باید ایجنت را نصب شده داشته باشد. دادههای گردآوری شده توسط ایجنت، به ایستگاه مانیتورینگ ارسال میشود. بهترین ایجنت، ایجنتی است که دادههای موردنیاز نرمافزار مانیتورینگ را برای آن بفرستد و نه هر دادهای را. در اینصورت ایجنت اصطلاحا سبک خواهدبود (یعنی منابع زیادی مصرف نمیکند). ایجنت سبک میتواند درباره شاخصهای جزئی نیز داده گرد آورد و به ارتقای پایشها، گزارشها و هشدارها و عمیقتر شدن تحلیلها و عیبیابیهای شبکه کمک کند.
اما بعضی از ایجنتها بسیار سنگین هستند (یعنی زیاد از منابع شبکه استفاده میکنند). ایجنتهای سنگین به سرورهایی که باید پایش شوند، فشار وارد میآورند. ایجنتی که سیاستهای کاریش را خودش (و نه ایستگاه مانیتورینگ) مدیریت میکند، ممکن است بار کاری مضاعفی روی دوش سرورهای کلاینت بگذارد و بازده کلی سرورها و سرویسهای مربوطه را کاهش دهد. بسیاری از نرمافزارهای مدیریت و مانیتورینگ شبکه مثل IBM Tivoli، HP Openview، BMC، Patrol و CA Unicenter از مدل ایجنت بهره میبرند. گاهی سنگینی بیش از حد ایجنت سبب میشود کارکرد عکس بیابد؛ یعنی این شیوه مانیتورینگ بهجای آنکه به بهبود بازده شبکه کمک کند، خود موجب مصرف زیادی منابع شبکه و کاهش بازده سرورها شود. پس در صورت انتخاب مانیتورینگ ایجنتمحور باید از ایجنتهای سبک بهره برد که میتوانند درباره شاخصهای جزئیتر نیز دادههای عمیقی جمعآوری کنند اما به سرورها فشار نمیآورند.
Agentless monitoring یا مانیتورینگ بدون ایجنت یعنی چه؟
نرمافزارهای مانیتورینگ بدون ایجنت (Agentless monitoring)، روی تجهیزات شبکه، عامل نرمافزاری (ایجنت) خاصی نصب نمیکنند و بهجای آن از رابطهای صنعتی استاندارد بهره میبرند. همین موضوع سبب میشود تا نرمافزارهای مانیتورینگ بدون ایجنت (Agentless) نسبت به نرمافزارهای ایجنتمحور، سبکتر باشند. ضمنا تنظیم و بهکارگیری سیستمهای بدون ایجنت، آسانتر از سیستمهای ایجنتمحور است. اما در عوض، نرمافزارهای مانیتورینگ بدون ایجنت، بیشتر بر شاخصهای مهم و کلیدی تمرکز دارند و دادههایشان بهاندازه سیستمهای ایجنتمحور، جزءنگر و عمیق نیست.
مانیتورینگ بدون ایجنت به دو روش انجام میشود: یا با کمک API راه دور؛ یا با تحلیل مستقیم و بیواسطه بستههای شبکه که بین اجزا جریان دارند.
پروتکلهای مانیتورینگ شبکه
همانطور که انسانها در اموری همچون تحصیل، کار و رانندگی قواعد مشخصی دارند، شبکههای کامپیوتری نیز برای انجام کارهای مختلف از قواعد خاصی پیروی میکنند که به آنها پروتکل گفته میشود. پروتکلها فرمت و نحوه ارسال و دریافت دادهها بین تجهیزات مختلف شبکه و نیز نحوه پردازش دادهها را تعیین میکنند. برخی از پروتکلهای رایج در مانیتورینگ شبکه عبارتند از:
- Windows Management Instrumentation – WMI
پروتکل WMI به مدیران شبکه کمک میکند تا تجهیزات مبتنی بر سیستمعامل ویندوز را در شبکههای توزیعشده پایش و مدیریت کنند. پروتکل WMI را هم میتوان ایجنتمحور و هم بدون ایجنت پیادهسازی کرد.
- Simple Network Management Protocol – SNMP
بخشی از پروتکل TCP/IP است. با استفاده از پروتکل SNMP، تجهیزات ساخت شرکتهای مختلف میتوانند اطلاعات را بین یکدیگر به اشتراک نهند. پروتکل SNMP نیز مانند IPFIX، به محصولات شرکت خاصی منحصر نیست. لذا با تجهیزات ویندوزی، یونیکسی و لینوکسی سازگار است.
- Cisco Discovery Protocol – CDP
پروتکل Cisco Discovery Protocol یا بهاختصار CDP را شرکت سیسکو طراحی کرده است. این پروتکل اطلاعات را بین تجهیزات تحت شبکه سیسکو که به هم لینک مستقیم دارند به اشتراک مینهد.
- IP Flow Information Export – IPFIX
پروتکل IPFIX، اطلاعات جاری را از روترها، سوئیچها و دیگر تجهیزات شبکه گردآوری میکند. این اطلاعات برای مانیتورینگ شبکه به کار میرود. پروتکل به محصولات شرکت خاصی منحصر نیست.
- JFlow
پروتکل JFlow، اختصاصی شرکت جونیپر است و برای مانیتورینگ شبکه و نظارت بر روترها و سوئیچهی این شرکت به کار میرود.