پیادهسازی یک راهکار کارآمد برای مانیتورینگ و تحلیل دادههای عملکرد، یکی از بخشهایی است که اغلب در استراتژیهای دیجیتال سازمانها نادیده گرفته میشود، درحالیکه بسیاری از ابزارهای مانیتورینگ موجود، با هزینههای سنگین، مانعی جدی برای استفاده عموم کاربران هستند. در چنین شرایطی، یک ابزار متن-باز و رایگان مانند ابزار Netdata میتواند در استراتژی یک کسب و کار بسیار کاربردی باشند. با توجه به اینکه برای رفع سریع مشکلات و بهینهسازی عملکرد، دادهها باید بهصورت لحظهای جمعآوری و تحلیل شوند، ابزار Netdata دقیقا با همین هدف طراحی شده تا بدون پیچیدگی و هزینههای گزاف، نگاهی دقیق و زنده به تمام اتفاقات سیستمها و برنامههای شما ارائه دهد.
Netdata چیست؟
در پاسخ به این پرسش که Netdata چیست، میتوان گفت ابزار Netdata یک راهکار توزیعشده برای مانیتورینگ لحظهای عملکرد و سلامت سیستمها و اپلیکیشنها بهشمار میرود. این ابزار در واقع یک ایجنت بسیار بهینهسازیشده است که روی تمام سیستمها و کانتینرهای شما نصب میشود تا دادهها را جمعآوری کند. نتدیتا با استفاده از داشبوردهای وب تعاملی، یک دید عمیق و زنده از تمام اتفاقات درحالوقوع روی سیستمها، شامل وبسرورها، پایگاههای داده، اپلیکیشنها و… فراهم میکند.
این ابزار میتواند بهصورت مستقل و بدون نیاز به هیچ کامپوننت جانبی کار کند، یا با ابزارهای مانیتورینگ دیگر مانند Prometheus، Grafana و Kafka یکپارچه شود. این انعطافپذیری، نتدیتا را به گزینهای ایدهآل برای تکمیل ابزارهای مانیتورینگ شبکه و زیرساخت شما تبدیل میکند.
ابزار Netdata چطور کار میکند؟
فلسفه طراحی ابزار Netdata بر چهار اصل کلیدی استوار است:
- جمعآوری داده در هر ثانیه برای تمام معیارها: برای نظارت بر یک سرویس که باید در کمتر از ۲ ثانیه پاسخ دهد، نمیتوان به معیارهایی که هر ۱۰ ثانیه یک بار جمعآوری میشوند اکتفا کرد.
- جمعآوری و نمایش تمام معیارها از همه منابع ممکن: برای عیبیابی دقیق و سریع کندیها، به تمام دادههای موجود نیاز است. ابزار مانیتورینگ باید همه معیارها را بشناسد، نه اینکه کاربر مجبور به تعریف آنها باشد.
- ارائه معنادار دادهها برای تشخیص بصری ناهنجاریها: معیارها چیزی فراتر از یکسری اسم و مقدار در طول زمان هستند. ابزار باید بتواند آنها را بهشکلی قابلفهم نمایش دهد.
- نتایج فوری؛ فقط نصب و استفاده کنید: از آنجایی که بیشتر زیرساختها استاندارد هستند، نباید نیازی به پیکربندی تکتک معیارها باشد.
برخلاف سایر راهکارهای مانیتورینگ که صرفا بر نمایش دادهها تمرکز دارند، ابزار Netdata به شما کمک میکند تا بدون نیاز به دسترسی مستقیم به کنسول سرور، مشکلات و کندیهای سیستم را ریشهیابی و برطرف کنید.
چه چیزهایی را میتوان با ابزار Netdata مانیتور کرد؟
قابلیت جمعآوری داده در ابزار Netdata کاملا توسعهپذیر است؛ این یعنی شما میتوانید هر چیزی را که بتوان از آن یک معیار استخراج کرد، مانیتور کنید. API پلاگین این ابزار از تمام زبانهای برنامهنویسی پشتیبانی میکند. به عبارت دیگر، هر اسکریپتی در زبانهای Bash، پایتون، پرل، Node.js، جاوا، Go، روبی و… میتواند به یک پلاگین برای نتدیتا تبدیل شود.
برای دستیابی به بهترین عملکرد، اکثر پلاگینهای مرتبط با سیستم، مانند پردازنده، حافظه، دیسکها، فایلسیستمها، شبکه و… با زبان C نوشته شدهاند. از طرف دیگر، برای سرعت بخشیدن به فرآیند توسعه و مشارکت آسانتر، بیشتر پلاگینهای مرتبط با اپلیکیشنها، مانند پایگاههای داده، وبسرورها و… با زبان پایتون توسعه داده شدهاند.
به این ترتیب، فرقی نمیکند که شما یک وبسایت ساده را مدیریت کنید یا راهبری یک زیرساخت پیچیده شامل چندین سرور اختصاصی ایران را برعهده داشته باشید؛ در هر صورت، دست شما برای مانیتور کردن هر بخشی از سیستم کاملا باز است و این یک مزیت بزرگ در مقایسه با ابزارهای گرانقیمت تجاری بهشمار میرود.
آموزش نصب ابزار Netdata
نصب ابزار Netdata بسیار ساده است و شما میتوانید بسته به سیستمعامل خود، از روشهای مختلفی برای این کار استفاده کنید. در ادامه، به بررسی متداولترین روشهای نصب این ابزار میپردازیم.
نصب با یک خط دستور
یکی از سریعترین و راحتترین روشها برای نصب ابزار Netdata، استفاده از اسکریپت نصب خودکار است. این روش، ابزار را مستقیما از سورس اصلی کامپایل و نصب کرده و همچنین آن را بهصورت خودکار با آخرین نسخهها بهروز نگه میدارد. این روش برای نصب سریع روی سرور مجازی لینوکس یا هر سیستم لینوکسی دیگری ایدهآل است.
برای این کار، کافی است دستور زیر را در ترمینال خود اجرا کنید:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
نصب با داکر
اگر از علاقهمندان به تکنولوژی کانتینر هستید، میتوانید ابزار Netdata را بهسادگی و بهسرعت با استفاده از داکر راهاندازی کنید. این روش به شما اجازه میدهد که نتدیتا را در یک محیط ایزوله، مستقیم روی سیستمعامل اصلی اجرا کنید.
برای شروع، کافی است دستور زیر را اجرا کنید تا کانتینر Netdata ایجاد و اجرا شود. پس از اجرای این دستور، داشبورد در آدرس http://HOST:19999 در دسترس خواهد بود (HOST آدرس IP سرور شما است).
docker run -d --name=netdata \ -p 19999:19999 \ -v /etc/passwd:/host/etc/passwd:ro \ -v /etc/group:/host/etc/group:ro \ -v /proc:/host/proc:ro \ -v /sys:/host/sys:ro \ -v /etc/os-release:/host/etc/os-release:ro \ --cap-add SYS_PTRACE \ --security-opt apparmor=unconfined \ netdata/netdata
برای مدیریت آسانتر، میتوانید دستور بالا را به یک فایل docker-compose.yml تبدیل کنید. این فایل به شما کمک میکند تا پیکربندی را بهشکلی خواناتر و قابل مدیریتتر ذخیره کنید:
version: '3' services: netdata: image: netdata/netdata hostname: example.com # نام دامنه یا هاست خود را وارد کنید ports: - 19999:19999 cap_add: - SYS_PTRACE security_opt: - apparmor:unconfined volumes: - /etc/passwd:/host/etc/passwd:ro - /etc/group:/host/etc/group:ro - /proc:/host/proc:ro - /sys:/host/sys:ro
دسترسی به داشبورد Netdata
پس از اینکه ابزار Netdata را با موفقیت نصب کردید، زمان آن رسیده که داشبورد قدرتمند آن را مشاهده کنید. برای این منظور، مرورگر وب خود را باز کرده و به آدرس http://YOUR-HOST:19999 بروید. فراموش نکنید که YOUR-HOST را با آدرس IP یا نام دامنه سروری که نتدیتا را روی آن نصب کردهاید، جایگزین کنید. بهمحض باز کردن این آدرس، به دنیای دادههای لحظهای سیستم خود وارد خواهید شد.
آشنایی با بخشهای مختلف داشبورد استاندارد
پس از نصب ابزار Netdata، اولین سوالی که برای کاربران پیش میآید این است که داشبورد Netdata چیست و چگونه باید با انبوه اطلاعات آن کار کرد؟ داشبورد Netdata، با وجود ارائه حجم عظیمی از دادههای لحظهای، ساختاری بسیار منظم و قابلفهم دارد. فراتر از نمودارها و چارتهای گوناگون، این داشبورد را میتوان به سه بخش کلیدی تقسیم کرد که به شما در پیدا کردن سریع اطلاعات مورد نیاز کمک میکنند:
- بخشها
- منوها و زیرمنوها
- منوی نودها
در ادامه هر یک از این موارد را بررسی میکنیم.
بخشها
صفحه اصلی داشبورد نتدیتا به بخشهای مختلفی تقسیمبندی شده است که هر کدام مجموعهای از معیارهای مرتبط را نمایش میدهند. بخشهایی مانند System Overview، CPU، Disk و موارد دیگر، نمونههایی از این دستهبندیها هستند.
درون هر بخش، نمودارهای متعددی وجود دارد که خودشان به کانتکسها و فمیلیهای مختلف تقسیم میشوند. تمام این بخشها و نمودارهای مرتبط با آنها در یک صفحه واحد قرار دارند، بنابراین برای مشاهده بخشهای مختلف کافی است صفحه را به بالا و پایین اسکرول کنید. اما برای دسترسی سریعتر، بهتر است از منوها استفاده نمایید.
منوها و زیرمنوها
منوها در سمت راست داشبورد استاندارد ابزار Netdata قرار دارند. نتدیتا به ازای هر بخش، یک منو ایجاد میکند که با کلیک روی آن، مستقیما به همان بخش در صفحه هدایت میشوید.
بسیاری از آیتمهای منو، چندین ورودی زیرمنو نیز دارند. این زیرمنوها نمایانگر فمیلیهای مختلف در آن بخش هستند.
برای مثال، در منوی Disks، شما زیرمنوهایی برای هر درایو دیسک و پارتیشنی که نتدیتا شناسایی کرده، مشاهده خواهید کرد. این زیرمنوها بهصورت خودکار توسط ابزار ایجاد میشوند.
منوی نودها
منوی نودها، در گوشه بالا سمت چپ داشبورد قرار دارد و با نام هاست سیستمی که ابزار Netdata در حال مانیتور کردن آن است، مشخص شده.
با کلیک روی این منو، یک لیست کشویی باز میشود که تمام نودها یا سرورهایی را که از طریق رجیستری Netdata به این داشبورد متصل کردهاید، نمایش میدهد. بهصورت پیشفرض، این لیست خالی است، اما شما میتوانید با استفاده از نودهای دمو، نحوه کارکرد این منو را امتحان کنید.
هنگامی که شما نودهای دیگری را از طریق Netdata Cloud یا یک رجیستری خصوصی اضافه کنید، در این منو ظاهر خواهند شد. همچنین، اگر استریم دادهها را پیکربندی کرده باشید، این منو سرور اصلی و تمام سرورهای فرعی که دادههای خود را به آن ارسال میکنند، نمایش میدهد.
شخصیسازی داشبورد استاندارد
نتدیتا اطلاعات مربوط به هر نمودار، از جمله تیترهای بخشها و زیربخشها، توضیحات، رنگها، عناوین، راهنماهای ابزار و سایر اطلاعات لازم برای نمایش در داشبورد را در فایلی به نام dashboard_info.js ذخیره میکند. برای مثال، بخش System Overview در این فایل به شکل زیر تعریف شده است:
netdataDashboard.menu = {
'system': {
title: 'System Overview',
icon: '<i class="fas fa-bookmark"></i>',
info: 'Overview of the key system metrics.'
},
اگر قصد دارید این اطلاعات را شخصیسازی کنید، یک نکته بسیار مهم وجود دارد و آن هم این است که هرگز نباید فایل dashboard_info.js را مستقیما ویرایش کنید. این تغییرات پایدار نخواهند بود؛ زیرا با هر بار بهروزرسانی ابزار Netdata، این فایل بازنویسی شده و تمام تغییرات شما از بین خواهد رفت.
راه حل صحیح این است که یک فایل جدید برای اعمال شخصیسازیهای خود ایجاد کنید و تغییرات را در آن فایل تعریف نمایید. به این ترتیب، تنظیمات شما حتی پس از آپدیت شدن نتدیتا نیز حفظ خواهند شد.
جمعبندی
ابزار Netdata راهکاری قدرتمند است که مانیتورینگ لحظهای و دقیق را از انحصار ابزارهای گرانقیمت و پیچیده خارج میکند. نتدیتا با تمرکز بر سادگی، عملکرد بهینه و ارائه دادههای قابلفهم، به یکی از محبوبترین ابزارهای متن-باز در این حوزه تبدیل شده است. فلسفه اصلی این ابزار بر چهار پایه استوار شده که عبارتاند از جمعآوری تمام معیارها در هر ثانیه، نمایش بصری برای تشخیص سریع ناهنجاریها، عدم نیاز به پیکربندیهای پیچیده و توسعهپذیری بالا. از نصب آسان از طریق داکر یا با یک خط کد گرفته تا داشبورد تعاملی و قابلفهم آن، همه چیز در ابزار Netdata برای شروعی سریع و بدون دردسر آماده است. اکنون میدانید Netdata چیست و چه مدیر یک سرور مجازی کوچک باشید و چه مسئول نگهداری یک زیرساخت گسترده، نتدیتا این قدرت را به شما میدهد که با دیدی عمیق و زنده، سلامت و عملکرد سیستمهای خود را تحت نظر بگیرید. با توجه به اینکه Netdata کاملا رایگان و متن-باز است، هیچ دلیلی برای بهتعویق انداختن استفاده از آن وجود ندارد. همین امروز آن را نصب کرده و کنترل کامل عملکرد زیرساخت خود را به دست بگیرید.










