❤️دوستان عزیز ❤️بخاطر افزایش حجم سفارشات ، یکسری از سفارشات ممکن هستش با تاخیر همراه باشند ، نگران نباشید حتما تقدیم شما خواهد شد
٪85 تخفیف

دانلود کتاب آموزشی مانیتورینگ Cacti جلد اول

دسته‌بندی: برچسب: تاریخ به روز رسانی: 28 مهر 1404 تعداد بازدید: 499 بازدید

دوره 100% عملی و کاربردی تدریس شده

پشتیبانی تلگرام پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۳۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۷۵,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

دوره آموزشی Cacti که یکی از ابزارهای رایگان و متن‌باز برای مانیتورینگ و گراف‌سازی از ترافیک شبکه است، معمولاً شامل سرفصل‌هایی به شرح زیر می‌شود:


بخش 1. مقدمه به Cacti

 

فصل 1. معرفی Cacti

  • توضیح اینکه Cacti چیست و چه کاربردی دارد.
  • هدف اصلی استفاده از Cacti در مدیریت شبکه.
  • نقش Cacti در بهبود کارایی مانیتورینگ شبکه.

فصل 2. کاربردهای Cacti

  • استفاده برای نظارت بر پهنای باند شبکه.
  • تحلیل عملکرد سرورها، سوئیچ‌ها و روترها.
  • شناسایی مشکلات شبکه پیش از وقوع بحران.
  • تولید گراف‌های تصویری برای مشاهده لحظه‌ای و تاریخی داده‌ها.

فصل 3. تاریخچه Cacti

  • بررسی پیشینه و تاریخچه ابزار Cacti.
  • معرفی تیم توسعه‌دهنده یا جامعه متن‌باز آن.
  • نسخه‌های مختلف Cacti و تحولات آن در طول زمان.

فصل 4. ویژگی‌های کلیدی Cacti

  • رابط کاربری گرافیکی آسان و کاربر پسند.
  • پشتیبانی از SNMP برای جمع‌آوری داده‌ها.
  • قابلیت ایجاد گراف‌های پیچیده و سفارشی.
  • پشتیبانی از شبکه‌های کوچک تا بزرگ.
  • یکپارچه‌سازی با سایر ابزارهای مانیتورینگ شبکه.

فصل 5. مزایای استفاده از Cacti

  • رایگان و متن‌باز بودن.
  • سازگاری با انواع سیستم‌عامل‌ها (لینوکس، ویندوز).
  • انعطاف‌پذیری بالا برای سفارشی‌سازی.
  • جامعه کاربری گسترده و پشتیبانی قوی.
  • امکان ایجاد گزارش‌ها و هشدارهای سفارشی.

فصل 6. تفاوت Cacti با سایر ابزارهای مانیتورینگ

  • مقایسه Cacti با ابزارهایی مانند Zabbix، Nagios و Grafana.
  • بررسی نقاط قوت و ضعف Cacti نسبت به سایر ابزارها.
  • مواردی که Cacti به‌طور خاص برای آن‌ها مناسب‌تر است.

فصل 7. معماری Cacti

  • بررسی ساختار و اجزای اصلی Cacti (پایگاه داده، رابط کاربری، موتور Polling).
  • معرفی تکنولوژی‌های مورد استفاده در Cacti (PHP، MySQL، SNMP).

فصل 8. کاربردهای خاص در صنایع مختلف

  • نحوه استفاده از Cacti در شرکت‌های بزرگ.
  • کاربرد در دیتاسنترها و شبکه‌های سازمانی.
  • استفاده در شبکه‌های کوچک و خانگی.

فصل 9. ابزارها و مفاهیم مرتبط

  • معرفی ابزارها و پروتکل‌های مرتبط با Cacti مانند SNMP، RRDTool.
  • بررسی چگونگی استفاده از RRDTool برای گراف‌سازی داده‌ها.

فصل 10. چالش‌ها و محدودیت‌ها

  • مشکلات احتمالی در استفاده از Cacti.
  • محدودیت‌های مربوط به مقیاس‌پذیری در شبکه‌های بسیار بزرگ.
  • روش‌های مقابله با این چالش‌ها.

بخش 2. نصب و راه‌اندازی Cacti

 

فصل 1. پیش‌نیازهای نرم‌افزاری و سخت‌افزاری

  • حداقل نیازمندی‌های سخت‌افزاری (CPU، RAM، Storage).
  • نسخه‌های مورد نیاز از PHP، MySQL، Apache یا Nginx.
  • بررسی قابلیت SNMP در دستگاه‌های شبکه.

فصل 2. دانلود و نصب Cacti

  • دانلود آخرین نسخه از وب‌سایت رسمی Cacti.
  • انتخاب بین بسته‌های نصبی یا نصب دستی.
  • بررسی تفاوت‌ها در روش نصب در سیستم‌عامل‌های مختلف (لینوکس و ویندوز).

فصل 3. پیکربندی وب‌سرور

  • تنظیمات Apache برای پشتیبانی از Cacti:
    • ویرایش فایل‌های VirtualHost.
    • تنظیم دایرکتوری‌های دسترسی.
  • تنظیمات اولیه Nginx (در صورت استفاده).
  • تنظیم دسترسی به فایل‌های PHP از طریق وب‌سرور.

فصل 4. نصب پایگاه داده

  • نصب MySQL/MariaDB و ایجاد پایگاه داده Cacti.
  • تنظیم دسترسی‌های لازم برای کاربر پایگاه داده.
  • وارد کردن جداول اولیه از فایل‌های نصب Cacti.

فصل 5. نصب و پیکربندی PHP

  • بررسی افزونه‌های ضروری PHP (مانند PHP GD، PHP PDO).
  • ویرایش فایل php.ini برای پیکربندی:
    • تنظیم مقدار max_execution_time.
    • مقدار memory_limit.
    • فعال کردن file_uploads.

فصل 6. راه‌اندازی Cacti

  • دسترسی به رابط وب برای نصب.
  • انجام مراحل گام به گام نصب از طریق رابط کاربری:
    • وارد کردن اطلاعات پایگاه داده.
    • پیکربندی اولیه SNMP.
    • بررسی وضعیت سرویس‌ها و وابستگی‌ها.

فصل 7. بررسی و فعال‌سازی SNMP

  • نصب و پیکربندی SNMP روی سرور Cacti.
  • فعال‌سازی SNMP روی دستگاه‌های شبکه (مانند روترها و سوئیچ‌ها).
  • تست ارتباط SNMP بین سرور Cacti و دستگاه‌های شبکه.

فصل 8. تنظیمات پس از نصب

  • تنظیمات مربوط به زمان‌بندی جمع‌آوری داده‌ها (Polling Interval).
  • ایجاد و فعال‌سازی وظایف Cron برای به‌روزرسانی داده‌ها.
  • بررسی دسترسی و امنیت اولیه (رمز عبور مدیریت، فایروال).

فصل 9. رفع مشکلات نصب

  • بررسی خطاهای رایج در مراحل نصب:
    • خطاهای مربوط به پایگاه داده.
    • مشکلات دسترسی به وب‌سرور.
    • بررسی خطاهای SNMP.
  • استفاده از لاگ‌های سرور برای شناسایی مشکلات:
    • لاگ‌های Apache/Nginx.
    • لاگ‌های PHP.

بخش 3. آشنایی با رابط کاربری Cacti

 

فصل 1. معرفی کلی رابط کاربری

  • آشنایی با ساختار کلی داشبورد.
  • معرفی منوهای اصلی و تب‌های کاربردی.
  • نحوه دسترسی به ماژول‌های مختلف.

فصل 2. داشبورد (Dashboard)

  • نمایش اطلاعات کلی شبکه.
  • نحوه سفارشی‌سازی ویجت‌های داشبورد.
  • مشاهده گراف‌ها و دستگاه‌های مانیتور شده.

فصل 3. منوی Devices

  • نمایش لیست دستگاه‌های اضافه شده به Cacti.
  • فیلتر و دسته‌بندی دستگاه‌ها.
  • نحوه ویرایش مشخصات دستگاه‌ها.

فصل 4. منوی Graph Management

  • مشاهده لیست گراف‌های ایجاد شده.
  • فیلتر کردن گراف‌ها بر اساس دستگاه یا دسته‌بندی.
  • ویرایش گراف‌ها و تنظیمات مربوطه.

فصل 5. تنظیمات SNMP

  • آشنایی با SNMP در رابط کاربری.
  • پیکربندی سریع SNMP برای دستگاه‌ها.
  • تست و عیب‌یابی تنظیمات SNMP.

فصل 6. پیکربندی گراف‌ها

  • نحوه ایجاد گراف‌های ساده.
  • استفاده از قالب‌های گراف (Graph Templates).
  • تغییر تنظیمات گراف‌ها برای بهینه‌سازی نمایش.

فصل 7. صفحه تنظیمات (Settings)

  • آشنایی با تنظیمات عمومی Cacti.
  • پیکربندی پایگاه داده و فواصل Polling.
  • سفارشی‌سازی تنظیمات نمایش گراف‌ها.

فصل 8. منوی Reports

  • تولید گزارش‌های سفارشی.
  • مشاهده تاریخچه گزارش‌ها.
  • تنظیم و دانلود گزارش‌ها.

فصل 9. مدیریت کاربران (User Management)

  • ایجاد و مدیریت حساب‌های کاربری.
  • تعریف نقش‌ها و دسترسی‌های کاربران.
  • مشاهده تاریخچه فعالیت کاربران.

فصل 10. منوی Logs

  • مشاهده لاگ‌های سیستمی.
  • فیلتر کردن رویدادها بر اساس زمان و نوع.
  • عیب‌یابی مشکلات از طریق گزارش‌های لاگ.

فصل 11. نمایش عملکرد

  • نمایش داده‌های مربوط به وضعیت شبکه.
  • مشاهده ترافیک لحظه‌ای دستگاه‌ها.
  • تحلیل گراف‌های وضعیت و مصرف منابع.

فصل 12. ماژول‌های اضافی

  • آشنایی با افزونه‌های کاربردی در رابط کاربری.
  • نحوه دسترسی به ماژول‌های گسترش‌یافته.
    • استفاده از ویژگی‌های پیشرفته مثل Auto Discovery.

بخش 4. پیکربندی دستگاه‌ها و منابع

 

فصل 1. اضافه کردن دستگاه‌ها به Cacti

  • مفهوم دستگاه‌ها (Devices) در Cacti.
  • مراحل افزودن یک دستگاه جدید:
    • وارد شدن به بخش مدیریت دستگاه‌ها (Devices Management).
    • وارد کردن اطلاعات دستگاه (نام، آدرس IP یا هاست، توضیحات).
  • تنظیم نوع دستگاه (Generic SNMP-enabled Device، Cisco Router، Linux Server و غیره).
  • ذخیره اطلاعات اولیه دستگاه.

فصل 2. تنظیمات SNMP

  • مفهوم SNMP (Simple Network Management Protocol) و کاربرد آن در Cacti.
  • انواع نسخه‌های SNMP (v1، v2c، v3) و انتخاب مناسب برای دستگاه.
  • وارد کردن اطلاعات SNMP:
    • SNMP Community (برای نسخه‌های v1 و v2c).
    • SNMP Username، Authentication و Encryption (برای نسخه v3).
  • آزمایش ارتباط SNMP با دستگاه:
    • استفاده از ابزارهای داخلی Cacti برای بررسی دسترسی به دستگاه از طریق SNMP.

فصل 3. کشف خودکار دستگاه‌ها

  • مفهوم کشف خودکار (Auto Discovery) در Cacti.
  • مراحل انجام کشف خودکار:
    • تعیین محدوده آدرس‌های IP برای کشف.
    • انتخاب تنظیمات SNMP برای کشف دستگاه‌ها.
  • اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها.
  • رفع مشکلات رایج در کشف دستگاه‌ها (مانند مشکلات شبکه یا تنظیمات SNMP).

فصل 4. دسته‌بندی و مدیریت دستگاه‌ها

  • ایجاد دسته‌بندی‌های مختلف برای دستگاه‌ها (مانند سرورها، روترها، سوئیچ‌ها).
  • انتقال دستگاه‌ها به دسته‌بندی‌های مناسب.
  • استفاده از فیلترها برای جستجوی سریع دستگاه‌ها.
  • ویرایش اطلاعات دستگاه‌ها:
    • تغییر نام، توضیحات یا تنظیمات SNMP.

فصل 5. تعریف منابع داده برای دستگاه‌ها

  • مفهوم منابع داده (Data Sources) در Cacti.
  • تعریف منابع داده برای هر دستگاه:
    • انتخاب نوع داده‌ها (مانند پهنای باند، CPU، حافظه).
    • تنظیمات دقیق مربوط به هر منبع داده.
  • استفاده از قالب‌های پیش‌فرض برای تعریف سریع منابع داده.
  • رفع مشکلات در منابع داده:
    • خطاهای مربوط به SNMP یا تنظیمات نادرست.

فصل 6. اعتبارسنجی و تست پیکربندی

  • اطمینان از صحت پیکربندی دستگاه‌ها.
  • بررسی اتصال دستگاه‌ها با Cacti:
    • استفاده از ابزار Poller برای دریافت داده‌ها.
  • تست عملکرد منابع داده:
    • نمایش داده‌های خام برای اطمینان از صحت تنظیمات.

فصل 7. نکات بهینه‌سازی پیکربندی

  • استفاده از دسته‌بندی‌ها و گروه‌بندی دستگاه‌ها برای مدیریت بهتر.
  • تنظیم زمان Polling مناسب برای منابع داده.
  • کاهش بار سرور با محدود کردن منابع غیرضروری.
[cdb_course_lessons title=”بخش 1. مقدمه به Cacti”][cdb_course_lesson title=”فصل 1. معرفی Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”Cacti چیست و چه کاربردی دارد؟” subtitle=”توضیحات کامل”]Cacti یک ابزار متن‌باز (Open-Source) و رایگان برای مانیتورینگ شبکه و گراف‌سازی داده‌ها است. این نرم‌افزار بر پایه RRDTool توسعه یافته و به مدیران شبکه کمک می‌کند تا عملکرد سرورها، روترها، سوئیچ‌ها و سایر تجهیزات شبکه را به‌صورت لحظه‌ای و تاریخی تحلیل کنند.

Cacti با استفاده از SNMP (Simple Network Management Protocol) و سایر روش‌های جمع‌آوری داده، اطلاعات مربوط به پهنای باند، استفاده از منابع سخت‌افزاری (CPU، RAM، دیسک)، نرخ ارسال و دریافت بسته‌ها، و بسیاری از پارامترهای دیگر را دریافت و به‌صورت نمودارهای گرافیکی نمایش می‌دهد.


کاربردهای Cacti

Cacti یک ابزار قدرتمند برای مانیتورینگ شبکه و سرورها است که در محیط‌های سازمانی، دیتاسنترها، ISPها و حتی شبکه‌های خانگی کاربرد دارد. برخی از مهم‌ترین استفاده‌های Cacti عبارت‌اند از:

🔹 مانیتورینگ پهنای باند شبکه – بررسی مصرف پهنای باند توسط روترها، سوئیچ‌ها و سرورها.
🔹 تحلیل عملکرد سخت‌افزارها – نمایش میزان استفاده از پردازنده، حافظه رم، فضای دیسک و سایر منابع.
🔹 ردیابی مشکلات شبکه – شناسایی مشکلات و نقاط ضعف قبل از وقوع بحران.
🔹 ایجاد داشبوردهای گرافیکی – نمایش اطلاعات به‌صورت گراف‌های تصویری لحظه‌ای و تاریخی.
🔹 اعلان و هشدار – امکان تنظیم هشدارهای سفارشی برای رویدادهای مهم مانند افزایش ناگهانی مصرف منابع.
🔹 مدیریت و نظارت بر دیتاسنترها – مانیتورینگ سرویس‌های حیاتی و تجهیزات کلیدی.


نحوه عملکرد Cacti

Cacti برای جمع‌آوری داده‌ها و نمایش آن‌ها از سه بخش اصلی تشکیل شده است:

🟢 Polling Engine – این بخش وظیفه جمع‌آوری اطلاعات از دستگاه‌های شبکه را بر عهده دارد. Cacti معمولاً از SNMP برای این کار استفاده می‌کند.
🟢 RRDTool Database – داده‌های جمع‌آوری‌شده در پایگاه داده RRD (Round-Robin Database) ذخیره می‌شوند که امکان پردازش و نگهداری طولانی‌مدت اطلاعات را فراهم می‌کند.
🟢 Web Interface – داشبورد تحت وب Cacti امکان مشاهده گراف‌ها، مدیریت دستگاه‌ها و پیکربندی تنظیمات را فراهم می‌کند.


تفاوت Cacti با سایر ابزارهای مانیتورینگ

Cacti در کنار ابزارهای مشابهی مانند Zabbix، Nagios، Grafana و PRTG استفاده می‌شود، اما تفاوت‌هایی با آن‌ها دارد:

نقاط قوت Cacti:

  • محیط ساده و کاربرپسند برای ایجاد گراف‌های مانیتورینگ
  • عملکرد سبک و کم‌مصرف در مقایسه با ابزارهای پیچیده‌تر
  • پشتیبانی قوی از SNMP برای مانیتورینگ تجهیزات شبکه
  • امکان سفارشی‌سازی گراف‌ها و افزودن افزونه‌های مختلف

نقاط ضعف Cacti:

  • فاقد سیستم پیشرفته هشداردهی و نوتیفیکیشن (در مقایسه با Zabbix و Nagios)
  • مناسب‌تر برای گراف‌سازی داده‌ها تا مدیریت رخدادهای شبکه
  • نیاز به پیکربندی دستی SNMP برای جمع‌آوری اطلاعات از برخی دستگاه‌ها

جمع‌بندی

Cacti یک ابزار رایگان، متن‌باز و قدرتمند برای مانیتورینگ و گراف‌سازی اطلاعات شبکه است که به مدیران شبکه کمک می‌کند تا عملکرد تجهیزات را نظارت کرده و مشکلات احتمالی را قبل از تبدیل شدن به بحران شناسایی کنند. این نرم‌افزار به دلیل رابط گرافیکی ساده، انعطاف‌پذیری بالا و پشتیبانی از SNMP در بسیاری از سازمان‌ها و شرکت‌ها مورد استفاده قرار می‌گیرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”هدف اصلی استفاده از Cacti در مدیریت شبکه” subtitle=”توضیحات کامل”]Cacti یک ابزار مانیتورینگ شبکه و سیستم‌های IT است که به مدیران شبکه امکان نظارت بر عملکرد تجهیزات، تجزیه‌وتحلیل داده‌های ترافیکی و شناسایی مشکلات احتمالی را می‌دهد. هدف اصلی استفاده از این نرم‌افزار در مدیریت شبکه، بهبود کارایی، افزایش قابلیت اطمینان و کاهش زمان خرابی است.


دلایل استفاده از Cacti در مدیریت شبکه

نظارت بر پهنای باند و ترافیک شبکه
یکی از مهم‌ترین کاربردهای Cacti، پایش میزان مصرف پهنای باند توسط دستگاه‌های مختلف شبکه است. این قابلیت به مدیران کمک می‌کند تا:

  • نقاط تراکم ترافیکی را شناسایی کنند.
  • الگوهای استفاده از پهنای باند را تحلیل کرده و در صورت نیاز، محدودیت‌های لازم را اعمال کنند.
  • از بروز کندی یا قطعی در شبکه جلوگیری کنند.

🛠 پیکربندی برای مانیتورینگ پهنای باند با SNMP:

snmpwalk -v2c -c public 192.168.1.1 IF-MIB::ifDescr
snmpget -v2c -c public 192.168.1.1 IF-MIB::ifInOctets.1

📌 مسیر فایل‌های پیکربندی SNMP در Linux:

/etc/snmp/snmpd.conf

مانیتورینگ عملکرد سرورها و دستگاه‌های شبکه
Cacti امکان نظارت بر منابع سخت‌افزاری را فراهم می‌کند، از جمله:

  • استفاده از CPU و RAM در سرورها و روترها
  • وضعیت دیسک و فضای ذخیره‌سازی
  • آپتایم (Uptime) و وضعیت کلی سیستم‌ها

🛠 دریافت اطلاعات CPU و RAM از یک سرور لینوکسی با SNMP:

snmpget -v2c -c public 192.168.1.10 UCD-SNMP-MIB::ssCpuIdle.0
snmpget -v2c -c public 192.168.1.10 UCD-SNMP-MIB::memTotalReal.0

📌 مسیر فایل SNMP در سیستم‌عامل لینوکس:

/etc/snmp/snmpd.conf

کاهش زمان خرابی (Downtime) با شناسایی مشکلات پیش از وقوع
Cacti با جمع‌آوری داده‌های تاریخی، به مدیران شبکه کمک می‌کند تا:

  • مشکلات احتمالی را قبل از وقوع شناسایی کنند.
  • روند رشد مصرف منابع را بررسی کرده و برای ارتقاء زیرساخت برنامه‌ریزی کنند.
  • با تنظیم هشدارها، از افزایش غیرمنتظره مصرف منابع آگاه شوند.

🛠 بررسی وضعیت شبکه با دستورات مانیتورینگ در لینوکس:

ping -c 5 192.168.1.1
traceroute 192.168.1.1
netstat -ant | grep ESTABLISHED

ایجاد گزارش‌های تصویری برای تحلیل بهتر داده‌ها
یکی از نقاط قوت Cacti، نمایش داده‌ها در قالب گراف‌های تصویری و داشبوردهای مدیریتی است که به تحلیل بهتر اطلاعات کمک می‌کند. مدیران شبکه می‌توانند:

  • میزان مصرف پهنای باند را در ساعات مختلف روز مقایسه کنند.
  • عملکرد سیستم‌های مختلف را در بازه‌های زمانی بلندمدت بررسی کنند.
  • گزارش‌های بصری را به تیم‌های مدیریتی ارائه دهند.

جمع‌بندی

هدف اصلی استفاده از Cacti در مدیریت شبکه، افزایش کارایی، کاهش هزینه‌ها و بهبود نظارت بر تجهیزات و سرورها است. این ابزار به مدیران کمک می‌کند تا پهنای باند، سخت‌افزار و وضعیت شبکه را به‌صورت بلادرنگ و تاریخی مانیتور کنند و از مشکلات احتمالی پیشگیری کنند.

در بخش بعدی، نقش Cacti در بهبود کارایی مانیتورینگ شبکه را بررسی خواهیم کرد. 🚀[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نقش Cacti در بهبود کارایی مانیتورینگ شبکه” subtitle=”توضیحات کامل”]Cacti به‌عنوان یک ابزار مانیتورینگ گرافیکی و داده‌محور، نقشی کلیدی در بهینه‌سازی عملکرد شبکه و افزایش بهره‌وری مدیریت IT ایفا می‌کند. این نرم‌افزار با گردآوری، ذخیره‌سازی و نمایش اطلاعات شبکه در قالب گراف‌های بصری و گزارش‌های تحلیلی، به مدیران شبکه کمک می‌کند تا به‌سرعت مشکلات را شناسایی و رفع کنند.


🔹 قابلیت‌های کلیدی Cacti در بهبود مانیتورینگ شبکه

کاهش زمان تشخیص مشکلات شبکه
Cacti با ارائه نمودارهای لحظه‌ای و تاریخی از عملکرد شبکه، به مدیران کمک می‌کند تا مشکلات احتمالی را قبل از تأثیرگذاری بر کاربران شناسایی و برطرف کنند.

🛠 دستور بررسی زمان پاسخ‌دهی سرورها و دستگاه‌ها:

ping -c 5 192.168.1.1

📌 مقدار متوسط RTT (Round Trip Time) را بررسی کنید تا نشانه‌های کندی شبکه را شناسایی کنید.


نظارت مداوم بر ترافیک و پهنای باند
Cacti امکان بررسی نحوه مصرف پهنای باند و نقاط گلوگاهی شبکه را فراهم می‌کند. این قابلیت به برنامه‌ریزی بهتر برای تخصیص منابع و جلوگیری از ازدحام شبکه کمک می‌کند.

🛠 دریافت میزان پهنای باند استفاده‌شده روی یک اینترفیس با SNMP:

snmpget -v2c -c public 192.168.1.1 IF-MIB::ifInOctets.1
snmpget -v2c -c public 192.168.1.1 IF-MIB::ifOutOctets.1

📌 مسیر فایل تنظیمات SNMP در سرور لینوکس:

/etc/snmp/snmpd.conf

ایجاد هشدارهای خودکار و جلوگیری از خرابی‌های ناگهانی
Cacti می‌تواند آستانه‌های (Thresholds) خاصی را برای پارامترهای شبکه تعریف کند و در صورت عبور از این آستانه‌ها، هشدارهای خودکار ارسال کند. این ویژگی از خرابی‌های ناگهانی و قطعی سرویس‌ها جلوگیری می‌کند.

🛠 نمونه‌ای از تنظیم هشدار در Cacti برای مصرف بیش از 80% CPU در سرور:

snmpget -v2c -c public 192.168.1.10 UCD-SNMP-MIB::ssCpuIdle.0
# اگر مقدار کمتر از 20 باشد، به این معنی است که مصرف CPU بالای 80% است.

بهینه‌سازی عملکرد سرورها و تجهیزات شبکه
Cacti علاوه بر نظارت بر تجهیزات شبکه، می‌تواند عملکرد CPU، حافظه و فضای دیسک در سرورها را نیز مانیتور کند و به بهینه‌سازی منابع کمک کند.

🛠 بررسی میزان استفاده از حافظه سرور با SNMP:

snmpget -v2c -c public 192.168.1.10 UCD-SNMP-MIB::memTotalReal.0
snmpget -v2c -c public 192.168.1.10 UCD-SNMP-MIB::memAvailReal.0

📌 در صورت مشاهده کاهش بیش از حد حافظه‌ی در دسترس، نیاز به افزایش منابع سرور یا بهینه‌سازی سرویس‌ها وجود دارد.


بهبود مدیریت ظرفیت و برنامه‌ریزی برای توسعه شبکه
یکی از مهم‌ترین کاربردهای Cacti، ارائه گزارش‌های بلندمدت از روند مصرف منابع شبکه و سرورها است که به مدیران کمک می‌کند برنامه‌ریزی دقیق‌تری برای گسترش زیرساخت‌ها داشته باشند.

🛠 بررسی وضعیت دیسک در یک سرور لینوکسی با SNMP:

snmpget -v2c -c public 192.168.1.10 HOST-RESOURCES-MIB::hrStorageSize.1
snmpget -v2c -c public 192.168.1.10 HOST-RESOURCES-MIB::hrStorageUsed.1

📌 در صورت پر شدن دیسک، ممکن است نیاز به حذف فایل‌های غیرضروری یا ارتقاء ظرفیت ذخیره‌سازی باشد.


جمع‌بندی

Cacti به بهبود کارایی مانیتورینگ شبکه از طریق نظارت لحظه‌ای، کاهش زمان خرابی، مدیریت ظرفیت، ارسال هشدارها و ارائه گزارش‌های تحلیلی کمک می‌کند. این ابزار به مدیران شبکه امکان می‌دهد تصمیمات هوشمندانه‌تری در مورد مدیریت منابع بگیرند و از بروز مشکلات جدی جلوگیری کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. کاربردهای Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی کاربردهای Cacti” subtitle=”توضیحات کامل”]Cacti یکی از ابزارهای متن‌باز و رایگان برای نظارت و مانیتورینگ شبکه است که به کمک آن می‌توان عملکرد تجهیزات و ترافیک شبکه را به‌صورت دقیق، تصویری و تحلیلی مشاهده کرد. در ادامه برخی از مهم‌ترین کاربردهای Cacti را بررسی می‌کنیم.


استفاده برای نظارت بر پهنای باند شبکه

یکی از کاربردهای اصلی Cacti، نظارت بر میزان استفاده از پهنای باند در شبکه است. این ابزار داده‌های مربوط به سرورها، روترها و سوئیچ‌ها را از طریق SNMP جمع‌آوری کرده و به کمک RRDTool آن‌ها را پردازش و به شکل گراف‌های تصویری نمایش می‌دهد.

مراحل مانیتورینگ پهنای باند در Cacti
  1. فعال‌سازی SNMP در تجهیزات شبکه
    ابتدا باید SNMP روی دستگاه‌هایی که قصد مانیتورینگ آن‌ها را داریم، فعال شود. برای مثال در یک روتر Cisco، دستور زیر را اجرا می‌کنیم:

    configure terminal
    snmp-server community public RO
    exit
    
  2. اضافه کردن دستگاه در Cacti
    مسیر: Console > Management > Devices

    • یک دستگاه جدید اضافه کنید.
    • آدرس IP یا نام میزبان را وارد کنید.
    • نسخه SNMP (v1، v2c یا v3) را مشخص کنید.
    • اطلاعات دسترسی را وارد و تست کنید.
  3. ایجاد گراف‌های پهنای باند
    مسیر: Console > Management > Graphs

    • انتخاب Graph Templates مناسب برای نمایش ترافیک Inbound و Outbound
    • تنظیم بازه‌های زمانی برای ثبت داده‌ها (مثلاً هر 5 دقیقه)
  4. بررسی گراف‌های تولید شده
    مسیر: Graphs

    • بررسی لحظه‌ای و تاریخی میزان استفاده از پهنای باند

تحلیل عملکرد سرورها، سوئیچ‌ها و روترها

Cacti می‌تواند معیارهای مختلفی را از دستگاه‌های شبکه جمع‌آوری کرده و عملکرد آن‌ها را تحلیل کند. برخی از این معیارها شامل:
میزان مصرف CPU و RAM در سرورها و سوئیچ‌ها
نرخ ارسال و دریافت داده در اینترفیس‌های شبکه
بررسی میزان ازدحام (Congestion) در روترها

فعال‌سازی مانیتورینگ عملکرد سرور لینوکسی

برای مانیتورینگ یک سرور لینوکسی، باید SNMP را روی آن فعال کنیم:

sudo apt update && sudo apt install snmpd -y
sudo systemctl enable --now snmpd

ویرایش فایل تنظیمات SNMP در مسیر:

sudo nano /etc/snmp/snmpd.conf

و اضافه کردن خط زیر برای دسترسی Read-Only:

rocommunity public

سپس سرویس را ری‌استارت کنید:

sudo systemctl restart snmpd

پس از این مراحل، می‌توان سرور را به Cacti اضافه کرده و نمودارهایی برای پردازش CPU، RAM و Disk Usage ایجاد کرد.


شناسایی مشکلات شبکه پیش از وقوع بحران

با استفاده از هشدارها (Alerts) و آستانه‌های عملکردی (Thresholds) در Cacti، می‌توان از بروز مشکلات جدی در شبکه قبل از وقوع آن‌ها مطلع شد.

فعال‌سازی هشدارهای سفارشی در Cacti
  1. مسیر: Console > Configuration > Thresholds
  2. تعریف مقدار آستانه هشدار (مثلاً استفاده بیش از 80% از CPU یا RAM)
  3. تنظیم Action برای ارسال ایمیل یا پیام هشدار

نمونه دستور تست SNMP برای بررسی مصرف پردازنده در یک دستگاه:

snmpget -v2c -c public 192.168.1.1 1.3.6.1.4.1.2021.11.9.0

(این دستور مقدار Load Average سیستم را نمایش می‌دهد.)


تولید گراف‌های تصویری برای مشاهده لحظه‌ای و تاریخی داده‌ها

Cacti از RRDTool برای ذخیره داده‌ها و ایجاد گراف‌های حرفه‌ای استفاده می‌کند. این گراف‌ها شامل:
📌 نمودار لحظه‌ای مصرف پهنای باند
📌 گراف میزان استفاده از CPU و RAM در سرورها
📌 تحلیل وضعیت لینک‌های شبکه در سوئیچ‌ها و روترها

مراحل ایجاد گراف در Cacti
  1. مسیر: Console > Management > Graph Templates
  2. انتخاب Data Source مناسب (مانند SNMP)
  3. تنظیم Polling Interval برای بروزرسانی داده‌ها
  4. مشاهده گراف‌های ساخته‌شده در Graphs

مثال از دستور مشاهده داده‌های RRDTool که Cacti از آن برای ساخت گراف‌ها استفاده می‌کند:

rrdtool fetch /var/lib/cacti/rra/traffic_in_1.rrd AVERAGE -s -1h

(این دستور میانگین ترافیک شبکه در یک ساعت گذشته را نمایش می‌دهد.)


جمع‌بندی

Cacti یک ابزار قدرتمند و انعطاف‌پذیر برای نظارت بر شبکه، سرورها و تجهیزات زیرساختی است. برخی از مهم‌ترین کاربردهای آن شامل:
مانیتورینگ دقیق پهنای باند شبکه
بررسی عملکرد سخت‌افزارهای مختلف مانند روترها، سوئیچ‌ها و سرورها
شناسایی مشکلات احتمالی قبل از وقوع بحران
ارائه گراف‌های تصویری لحظه‌ای و تاریخی از داده‌های شبکه

با پیکربندی صحیح و استفاده از قابلیت‌های پیشرفته، Cacti می‌تواند به یکی از اصلی‌ترین ابزارهای مانیتورینگ و مدیریت شبکه‌های کوچک و بزرگ تبدیل شود. 🚀[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. تاریخچه Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی تاریخچه ابزار Cacti” subtitle=”توضیحات کامل”]Cacti یک ابزار متن‌باز و رایگان برای نظارت و مانیتورینگ شبکه است که برای اولین بار در اوایل دهه ۲۰۰۰ توسعه یافت. این ابزار از SNMP و RRDTool برای جمع‌آوری، پردازش و نمایش داده‌های مربوط به تجهیزات شبکه، سرورها و دیگر منابع استفاده می‌کند. در ادامه، نگاهی به تاریخچه و تحولات این ابزار خواهیم داشت.


بررسی پیشینه و تاریخچه ابزار Cacti

Cacti در سال ۲۰۰۱ توسط Ian Berry توسعه یافت. هدف اولیه این پروژه، ایجاد یک رابط کاربری گرافیکی برای RRDTool بود که مدیریت داده‌های مانیتورینگ را ساده‌تر کند. RRDTool که توسط Tobi Oetiker توسعه داده شده بود، به تنهایی ابزار قدرتمندی برای ذخیره‌سازی و نمایش گراف‌های مربوط به داده‌های سری‌زمانی (Time-Series Data) محسوب می‌شد، اما استفاده از آن نیاز به دانش فنی بالایی داشت.

Cacti با اضافه کردن رابط وب کاربرپسند، قابلیت مانیتورینگ SNMP و قابلیت تعریف هشدارها به RRDTool، توانست به سرعت به یکی از محبوب‌ترین ابزارهای مانیتورینگ شبکه تبدیل شود.

یکی از ویژگی‌های مهم Cacti در مقایسه با سایر ابزارهای مانیتورینگ این است که:
پیکربندی ساده‌ای دارد و به راحتی روی لینوکس و ویندوز اجرا می‌شود.
مقیاس‌پذیری بالایی دارد و می‌تواند شبکه‌های کوچک تا بزرگ را مدیریت کند.
با SNMP و سایر پروتکل‌های مانیتورینگ سازگار است.


معرفی تیم توسعه‌دهنده یا جامعه متن‌باز آن

Cacti از ابتدا به عنوان یک پروژه متن‌باز توسعه یافت و تحت مجوز GPL-2.0 منتشر شد. توسعه این ابزار ابتدا به صورت فردی توسط Ian Berry انجام می‌شد، اما با رشد محبوبیت آن، جامعه‌ای از توسعه‌دهندگان داوطلب و متخصصان شبکه به این پروژه پیوستند.

امروزه، Cacti توسط تیم Cacti Group که یک جامعه فعال از توسعه‌دهندگان است، مدیریت می‌شود. این تیم به طور مداوم بروزرسانی‌ها، اصلاحات امنیتی و بهبود عملکرد را ارائه می‌دهد.

💡 مهم‌ترین کانال‌های ارتباطی جامعه Cacti:

Cacti امروزه به عنوان یکی از پروژه‌های متن‌باز فعال و پرکاربرد در حوزه مدیریت شبکه و نظارت بر عملکرد سرورها و دستگاه‌های شبکه‌ای شناخته می‌شود.


نسخه‌های مختلف Cacti و تحولات آن در طول زمان

Cacti از زمان انتشار اولیه تا به امروز تغییرات زیادی را تجربه کرده است. در این بخش، مهم‌ترین نسخه‌ها و تحولات آن را بررسی می‌کنیم.

🔹 نسخه‌های اولیه (۲۰۰۱ – ۲۰۰۵)
  • اولین نسخه رسمی Cacti در سال ۲۰۰۱ منتشر شد.
  • تمرکز اصلی بر ایجاد یک رابط گرافیکی برای RRDTool بود.
  • در نسخه‌های اولیه، پشتیبانی از SNMP برای جمع‌آوری داده‌های شبکه‌ای اضافه شد.
🔹 نسخه‌های میانی (۲۰۰۵ – ۲۰۱۵)
  • در این بازه زمانی، Cacti 0.8.x یکی از پرکاربردترین نسخه‌ها بود.
  • ویژگی‌های مهمی مثل مدیریت کاربران، تنظیمات پیشرفته گراف‌ها و افزونه‌های جانبی اضافه شد.
  • جامعه کاربری Cacti گسترش یافت و بسیاری از سازمان‌ها از این ابزار برای مانیتورینگ شبکه و سرورها استفاده کردند.
🔹 نسخه‌های جدید و مدرن (۲۰۱۷ – تاکنون)
  • در سال ۲۰۱۷، نسخه Cacti 1.0.0 منتشر شد که تغییرات اساسی در معماری نرم‌افزار ایجاد کرد.
  • مهم‌ترین پیشرفت‌ها:
    رابط کاربری مدرن و بهینه‌شده
    پشتیبانی بهبودیافته از پایگاه‌ داده‌های MySQL و MariaDB
    قابلیت‌های امنیتی پیشرفته‌تر
    بهینه‌سازی پردازش داده‌ها برای عملکرد سریع‌تر

💡 آخرین نسخه پایدار Cacti را می‌توان از وب‌سایت رسمی دریافت کرد.


جمع‌بندی

Cacti یکی از قدیمی‌ترین و قدرتمندترین ابزارهای مانیتورینگ شبکه و سرورها است که از سال ۲۰۰۱ تاکنون توسعه داده شده است.

توسط Ian Berry توسعه یافت و امروزه توسط Cacti Group مدیریت می‌شود.
در ابتدا فقط برای نمایش گراف‌های RRDTool ساخته شده بود، اما در ادامه به یک ابزار کامل مانیتورینگ تبدیل شد.
در نسخه‌های جدید، بهینه‌سازی‌های بسیاری از جمله افزایش امنیت، بهبود کارایی و مدرن‌سازی رابط کاربری انجام شده است.

امروزه، Cacti همچنان یکی از محبوب‌ترین ابزارهای مدیریت شبکه و نظارت بر عملکرد تجهیزات IT در سراسر جهان است و توسط هزاران سازمان مورد استفاده قرار می‌گیرد. 🚀[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. ویژگی‌های کلیدی Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی ویژگی‌های کلیدی Cacti” subtitle=”توضیحات کامل”]Cacti به عنوان یک ابزار متن‌باز برای مانیتورینگ شبکه، دارای ویژگی‌های بسیاری است که آن را از سایر ابزارهای مشابه متمایز می‌کند. این ویژگی‌ها به مدیران شبکه امکان می‌دهد تا با دقت بیشتری شبکه و تجهیزات خود را نظارت کنند و مشکلات را پیش از وقوع بحران شناسایی کنند. در ادامه، به بررسی ویژگی‌های کلیدی Cacti خواهیم پرداخت.


رابط کاربری گرافیکی آسان و کاربرپسند

یکی از ویژگی‌های برجسته Cacti، رابط کاربری گرافیکی آن است که به راحتی قابل استفاده است. در حالی که ابزارهایی مانند RRDTool نیازمند دانش فنی بالا بودند، Cacti با اضافه کردن یک رابط کاربری وب‌محور، این فرآیند را برای کاربران عادی و متخصصین شبکه بسیار ساده کرده است.

ویژگی‌ها:

  • داشبورد قابل تنظیم: مدیران شبکه می‌توانند داشبورد خود را بر اساس نیازهای خاص شبکه و تجهیزات خود تنظیم کنند. این داشبورد شامل گراف‌ها، آمار و اطلاعات مهم شبکه است.
  • ویجت‌ها و گراف‌ها: می‌توان به راحتی ویجت‌ها را به داشبورد اضافه کرده و گراف‌های مختلفی برای نظارت بر تجهیزات شبکه ایجاد کرد.
  • دسترسی آسان به تنظیمات: تنظیمات دستگاه‌ها، گراف‌ها و منابع داده از طریق منوهای ساده و واضح قابل دسترسی هستند.

مثال عملی: برای دسترسی به رابط کاربری Cacti از مرورگر وب استفاده کنید. فرض کنید سرور Cacti شما در آدرس http://localhost/cacti قرار دارد. برای ورود به رابط کاربری، باید وارد نام کاربری و کلمه عبور خود شوید.


پشتیبانی از SNMP برای جمع‌آوری داده‌ها

SNMP (Simple Network Management Protocol) یکی از پروتکل‌های اصلی در Cacti برای جمع‌آوری داده‌های مربوط به شبکه است. این پروتکل به Cacti این امکان را می‌دهد که اطلاعات مربوط به دستگاه‌های شبکه مانند روترها، سوئیچ‌ها و سرورها را جمع‌آوری کرده و در قالب گراف‌ها نمایش دهد.

ویژگی‌ها:

  • پشتیبانی از نسخه‌های مختلف SNMP: Cacti از SNMPv1, SNMPv2c, و SNMPv3 پشتیبانی می‌کند.
  • جمع‌آوری داده‌های شبکه: می‌توان داده‌های مختلفی از قبیل پهنای باند مصرفی، ترافیک ورودی و خروجی، وضعیت پورت‌ها و موارد مشابه را از دستگاه‌های شبکه جمع‌آوری کرد.
  • پیکربندی SNMP: Cacti از طریق پیکربندی فایل‌های دستگاه، امکان تنظیمات SNMP برای هر دستگاه را فراهم می‌کند.

دستور برای پیکربندی SNMP:

  1. ویرایش فایل snmp.conf در سیستم خود:
    sudo nano /etc/snmp/snmp.conf
    
  2. پیکربندی اطلاعات SNMP:
    sysLocation    "Server Location"
    sysContact     "Admin <admin@example.com>"
    

برای اضافه کردن یک دستگاه جدید با SNMP به Cacti، به بخش Devices رفته و اطلاعات مورد نیاز مانند آدرس IP دستگاه، نوع دستگاه و نسخه SNMP را وارد کنید.


قابلیت ایجاد گراف‌های پیچیده و سفارشی

Cacti به کاربران این امکان را می‌دهد که گراف‌های پیچیده و سفارشی ایجاد کنند که به خوبی می‌توانند نمایی از عملکرد شبکه را ارائه دهند. این گراف‌ها می‌توانند شامل اطلاعات مختلف از قبیل پهنای باند، عملکرد پردازنده، حافظه و ترافیک باشند.

ویژگی‌ها:

  • تعریف قالب‌های گراف: Cacti از Graph Templates استفاده می‌کند که به شما امکان می‌دهد گراف‌های پیچیده‌ای بسازید و به دستگاه‌ها نسبت دهید.
  • سفارشی‌سازی گراف‌ها: با استفاده از گزینه‌های مختلف، می‌توان تنظیمات مربوط به هر گراف را مانند محدوده زمان، رنگ‌بندی و داده‌های نمایش داده شده تغییر داد.
  • یکپارچه‌سازی با RRDTool: گراف‌های Cacti مبتنی بر داده‌های ذخیره‌شده در RRDTool هستند که اطلاعات را به صورت زمانی ذخیره کرده و گراف‌های دقیق تولید می‌کنند.

دستور برای ایجاد گراف جدید:

  1. وارد پنل مدیریت Cacti شوید.
  2. به قسمت Graph Management بروید و Create Graph را انتخاب کنید.
  3. از منوی کشویی، نوع گراف مورد نظر (مثل Network Interface یا CPU Utilization) را انتخاب کنید.
  4. پس از تنظیمات گراف، روی Save کلیک کنید.

پشتیبانی از شبکه‌های کوچک تا بزرگ

Cacti به دلیل مقیاس‌پذیری بالای خود، قادر است شبکه‌های کوچک تا بزرگ را پوشش دهد. این ابزار می‌تواند تعداد زیادی دستگاه شبکه را به راحتی مدیریت کرده و گراف‌ها را به صورت متمرکز یا در سطح شعبه تولید کند.

ویژگی‌ها:

  • مقیاس‌پذیری بالا: Cacti می‌تواند بدون مشکل از هزاران دستگاه شبکه داده جمع‌آوری کند.
  • پشتیبانی از چندین شبکه: امکان ایجاد چندین نمای شبکه وجود دارد که می‌تواند برای شبکه‌های مختلف یا زیرشبکه‌ها تنظیم شود.
  • پیکربندی متعدد برای هر شبکه: تنظیمات مختلف برای جمع‌آوری داده‌ها از دستگاه‌ها می‌توانند برای هر بخش یا شبکه اعمال شوند.

دستور برای افزودن چندین دستگاه به Cacti:

  • برای اضافه کردن دستگاه‌ها، به منوی Devices رفته و Add Device را انتخاب کنید. سپس، آدرس IP دستگاه‌ها را وارد کنید و نوع دستگاه را انتخاب کنید.

یکپارچه‌سازی با سایر ابزارهای مانیتورینگ شبکه

Cacti از قابلیت یکپارچه‌سازی با سایر ابزارهای مانیتورینگ شبکه برخوردار است. این ویژگی به شما امکان می‌دهد که داده‌های موجود در Cacti را با سایر سیستم‌های نظارت و مدیریت شبکه مانند Nagios, Zabbix, and Grafana ترکیب کرده و یک سیستم مانیتورینگ جامع ایجاد کنید.

ویژگی‌ها:

  • ادغام با Nagios: Cacti به راحتی می‌تواند با Nagios یکپارچه شود تا هشدارهای مربوط به وضعیت شبکه ارسال کند.
  • ارتباط با Zabbix: امکان استفاده از داده‌های Zabbix برای تولید گراف‌ها و نمایش داده‌ها در Cacti وجود دارد.
  • یکپارچه‌سازی با Grafana: از طریق افزونه‌ها، Cacti می‌تواند داده‌های خود را به Grafana منتقل کرده و نمایش‌های گرافیکی پیشرفته‌تری از وضعیت شبکه ارائه دهد.

دستور برای یکپارچه‌سازی با Grafana:

  1. ابتدا افزونه Cacti-Grafana را دانلود و نصب کنید.
  2. سپس، اطلاعات اتصال Cacti را به Grafana وارد کنید:
    curl -L https://github.com/Cacti/grafana-cacti-datasource/releases/download/v1.0.0/cacti-datasource-1.0.0.zip -o grafana-cacti.zip
    
  3. فایل افزونه را در دایرکتوری افزونه‌های Grafana قرار داده و Grafana را ریستارت کنید.

جمع‌بندی

Cacti ابزار قدرت‌مندی برای مانیتورینگ شبکه است که به دلیل ویژگی‌های کلیدی خود، مورد توجه گسترده‌ای قرار گرفته است.

رابط کاربری گرافیکی ساده و کاربرپسند
پشتیبانی از SNMP برای جمع‌آوری داده‌ها
توانایی ایجاد گراف‌های پیچیده و سفارشی
پشتیبانی از شبکه‌های کوچک و بزرگ
یکپارچه‌سازی با ابزارهای مانیتورینگ دیگر

این ویژگی‌ها باعث شده‌اند تا Cacti برای مدیران شبکه، یک ابزار قوی و انعطاف‌پذیر برای نظارت و تحلیل عملکرد شبکه و دستگاه‌های مختلف باشد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. مزایای استفاده از Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مزایای کلیدی Cacti” subtitle=”توضیحات کامل”]استفاده از Cacti به عنوان یک ابزار مانیتورینگ شبکه مزایای زیادی دارد که آن را برای مدیران شبکه جذاب و کاربردی می‌سازد. این ابزار با ویژگی‌های خاص خود به بهبود عملکرد شبکه و مدیریت تجهیزات کمک می‌کند. در ادامه به بررسی مزایای کلیدی Cacti خواهیم پرداخت.


رایگان و متن‌باز بودن

یکی از بزرگ‌ترین مزایای Cacti این است که رایگان و متن‌باز است. این ویژگی باعث می‌شود که Cacti به گزینه‌ای مناسب برای سازمان‌ها و تیم‌های شبکه با بودجه محدود تبدیل شود. به دلیل متن‌باز بودن، کاربران می‌توانند کد منبع را مشاهده، ویرایش و برای نیازهای خاص خود سفارشی‌سازی کنند.

ویژگی‌ها:

  • بدون هزینه: هیچگونه هزینه‌ای برای استفاده از Cacti وجود ندارد.
  • شفافیت کد: امکان بررسی، تغییر و توسعه کد برای هر کسی که توانایی برنامه‌نویسی داشته باشد.
  • جامعه‌سازی و مشارکت: هر کسی می‌تواند در توسعه و بهبود Cacti سهم داشته باشد.

مثال عملی: برای نصب Cacti روی یک سرور لینوکسی، می‌توانید از دستورات زیر استفاده کنید:

sudo apt-get update
sudo apt-get install cacti

سازگاری با انواع سیستم‌عامل‌ها (لینوکس، ویندوز)

Cacti به راحتی با سیستم‌عامل‌های مختلف مانند لینوکس و ویندوز کار می‌کند. این سازگاری به شما این امکان را می‌دهد که Cacti را در هر محیط شبکه‌ای که دارید نصب کرده و از آن استفاده کنید.

ویژگی‌ها:

  • پشتیبانی از لینوکس: Cacti به طور اصلی روی سرورهای لینوکس نصب می‌شود و به راحتی با توزیع‌های مختلف مانند Ubuntu، CentOS و Debian سازگار است.
  • نصب روی ویندوز: همچنین می‌توان Cacti را به صورت محدود بر روی ویندوز نصب کرد، اگرچه این فرآیند کمی پیچیده‌تر از نصب روی لینوکس است.

دستور نصب در لینوکس (Ubuntu):

sudo apt-get update
sudo apt-get install cacti
sudo systemctl enable apache2
sudo systemctl start apache2

انعطاف‌پذیری بالا برای سفارشی‌سازی

Cacti به دلیل انعطاف‌پذیری بالا که در اختیار کاربران قرار می‌دهد، می‌تواند به راحتی برای هر نیاز خاصی تنظیم شود. این ابزار از افزونه‌ها، تمپلیت‌ها و تنظیمات گسترده پشتیبانی می‌کند که به شما این امکان را می‌دهد که تمام جزئیات نظارتی و گرافیکی شبکه را به دلخواه خود تنظیم کنید.

ویژگی‌ها:

  • افزونه‌های سفارشی: از طریق افزونه‌ها می‌توان قابلیت‌های جدید به Cacti افزود.
  • تمپلیت‌های گرافیکی: امکان طراحی و استفاده از تمپلیت‌های گراف برای نمایش داده‌ها به روشی خاص.
  • پیکربندی‌ها: تنظیمات متنوع برای دستگاه‌ها و گراف‌ها که می‌توانند بر اساس نیاز شبکه تغییر کنند.

مثال عملی: برای ایجاد یک تمپلیت گراف جدید در Cacti، مراحل زیر را دنبال کنید:

  1. به بخش Graph Management بروید.
  2. روی Create New Graph کلیک کنید.
  3. نوع داده‌ای که می‌خواهید گراف آن را بسازید، انتخاب کنید (مثلاً CPU Usage).
  4. تنظیمات گراف مانند رنگ‌ها، مقیاس و محدوده داده‌ها را انجام دهید و بر روی Save کلیک کنید.

جامعه کاربری گسترده و پشتیبانی قوی

یکی از مزایای مهم Cacti این است که دارای یک جامعه کاربری گسترده است که می‌تواند به حل مشکلات و بهبود استفاده از این ابزار کمک کند. همچنین، از آنجایی که Cacti یک پروژه متن‌باز است، پشتیبانی از طریق فروم‌ها، مستندات و گروه‌های آنلاین به راحتی در دسترس است.

ویژگی‌ها:

  • فروم‌ها و تالارهای گفت‌وگو: اعضای جامعه Cacti می‌توانند در بحث‌ها شرکت کرده و راهنمایی‌های لازم را دریافت کنند.
  • مستندات دقیق: Cacti دارای مستندات جامع و کاملی است که کاربران را در نصب، پیکربندی و استفاده از آن یاری می‌کند.
  • پشتیبانی از افزونه‌ها: به دلیل محبوبیت Cacti، بسیاری از توسعه‌دهندگان افزونه‌هایی برای آن ساخته‌اند که می‌توانند به راحتی اضافه شوند.

مثال عملی: برای دریافت کمک از جامعه Cacti، می‌توانید به فروم‌های رسمی Cacti مراجعه کنید و سوالات خود را مطرح کنید. سایت اصلی Cacti:
https://forums.cacti.net/


امکان ایجاد گزارش‌ها و هشدارهای سفارشی

Cacti قابلیت‌های فراوانی برای ایجاد گزارش‌ها و هشدارهای سفارشی دارد. شما می‌توانید برای هر وضعیت خاص، آستانه‌های هشدار را تنظیم کرده و به محض بروز مشکلی، از طریق ایمیل یا سایر روش‌ها هشدار دریافت کنید.

ویژگی‌ها:

  • تنظیم هشدارها بر اساس آستانه‌ها: می‌توانید آستانه‌های زمانی و مقداری برای هشدار تنظیم کنید، به طوری که زمانی که داده‌ها از حد تعیین شده عبور کنند، Cacti به شما هشدار دهد.
  • گزارش‌های سفارشی: امکان ایجاد گزارش‌های دوره‌ای برای تحلیل داده‌های جمع‌آوری شده از دستگاه‌ها و شبکه‌ها.
  • یکپارچگی با سیستم‌های هشدار: Cacti امکان ارسال هشدارها به Nagios یا سایر سیستم‌های مدیریت هشدار را فراهم می‌کند.

دستور برای تنظیم هشدار:

  1. وارد بخش Thresholds شوید.
  2. یک Threshold جدید اضافه کنید و مقادیر آستانه‌ای را که می‌خواهید تنظیم کنید، وارد کنید.
  3. پس از آن، هشدارهای ایمیلی را برای وضعیت‌های مختلف تعیین کنید.

جمع‌بندی

استفاده از Cacti برای مدیریت و مانیتورینگ شبکه دارای مزایای زیادی است که آن را به ابزاری محبوب در میان مدیران شبکه تبدیل کرده است. برخی از این مزایا عبارتند از:
رایگان و متن‌باز بودن
سازگاری با انواع سیستم‌عامل‌ها
انعطاف‌پذیری بالا برای سفارشی‌سازی
جامعه کاربری گسترده و پشتیبانی قوی
امکان ایجاد گزارش‌ها و هشدارهای سفارشی

این مزایا باعث می‌شوند که Cacti برای انواع شبکه‌ها با نیازهای مختلف یک انتخاب عالی باشد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. تفاوت Cacti با سایر ابزارهای مانیتورینگ”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مقایسه Cacti با ابزارهایی مانند Zabbix، Nagios و Grafana” subtitle=”توضیحات کامل”]هنگامی که به مدیریت و نظارت بر شبکه می‌پردازید، انتخاب ابزار مناسب برای انجام این کار نقش حیاتی دارد. Cacti، Zabbix، Nagios و Grafana از جمله ابزارهایی هستند که در این زمینه مورد استفاده قرار می‌گیرند. در این بخش به مقایسه این ابزارها پرداخته و ویژگی‌ها، مزایا و معایب هرکدام را بررسی خواهیم کرد.


Cacti

Cacti یک ابزار مانیتورینگ و گراف‌سازی برای نظارت بر منابع شبکه است. این ابزار به‌ویژه برای ایجاد گراف‌های دقیق و منظم از داده‌ها با استفاده از پروتکل SNMP طراحی شده است. Cacti بیشتر برای نظارت بر عملکرد شبکه و گراف‌سازی استفاده می‌شود و دارای قابلیت‌های گسترده‌ای در سفارشی‌سازی گراف‌ها است.

ویژگی‌ها و مزایا:

  • گراف‌های سفارشی: قابلیت ایجاد و نمایش گراف‌های پیچیده برای نظارت بر داده‌ها.
  • پشتیبانی از SNMP: برای جمع‌آوری داده‌ها از دستگاه‌های شبکه.
  • رایگان و متن‌باز: برای سازمان‌های با بودجه محدود یک گزینه مناسب است.

معایب:

  • عدم مدیریت هشدار پیشرفته: Cacti بیشتر برای گراف‌سازی مناسب است و قابلیت‌های هشداردهی پیشرفته کمتری دارد.
  • تمرکز بر گراف‌ها: این ابزار بیشتر برای تحلیل‌های گرافیکی و نه نظارت کلی بر سیستم‌های پیچیده طراحی شده است.

Zabbix

Zabbix یک سیستم مانیتورینگ متن‌باز است که قابلیت‌های گسترده‌ای برای نظارت بر شبکه‌ها، سرورها و برنامه‌ها ارائه می‌دهد. این ابزار با استفاده از پروتکل‌های مختلف مانند SNMP، ICMP، JMX و IPMI می‌تواند داده‌ها را جمع‌آوری کند و وضعیت سیستم‌ها را بررسی کند.

ویژگی‌ها و مزایا:

  • نظارت جامع: قابلیت نظارت بر تمامی دستگاه‌ها و سرورها به همراه جمع‌آوری داده‌های جامع.
  • پشتیبانی از هشدار پیشرفته: Zabbix قادر است هشدارهای پیچیده و پیشرفته‌ای بر اساس شرایط مختلف صادر کند.
  • واحد مانیتورینگ یکپارچه: Zabbix برای تمام اجزای شبکه قابل استفاده است.

معایب:

  • پیچیدگی پیکربندی: نصب و پیکربندی Zabbix نسبت به Cacti پیچیده‌تر است و نیاز به زمان و دانش بیشتری دارد.
  • نیاز به منابع بیشتر: در مقایسه با Cacti، Zabbix منابع بیشتری برای عملکرد مناسب نیاز دارد.

Nagios

Nagios یکی از قدیمی‌ترین و شناخته‌شده‌ترین ابزارهای نظارت بر شبکه است. این ابزار به مدیران شبکه این امکان را می‌دهد تا نظارت بر وضعیت سرورها، دستگاه‌ها، خدمات و برنامه‌ها را انجام دهند. Nagios از نظر قابلیت‌های هشداردهی بسیار قدرتمند است و به مدیران شبکه کمک می‌کند تا مشکلات را قبل از بحرانی شدن شناسایی کنند.

ویژگی‌ها و مزایا:

  • سیستم هشدار پیشرفته: Nagios توانایی ارسال هشدارهای دقیق و سفارشی به مدیران شبکه را دارد.
  • قابلیت‌های افزونه: از طریق افزونه‌ها می‌توان قابلیت‌های جدیدی به Nagios افزود.
  • پشتیبانی از انواع پروتکل‌ها: Nagios از پروتکل‌های مختلفی برای نظارت بر سیستم‌ها پشتیبانی می‌کند.

معایب:

  • پیچیدگی نصب و پیکربندی: نصب و تنظیمات اولیه Nagios ممکن است برای کاربرانی که تازه با آن آشنا هستند پیچیده باشد.
  • تمرکز بر هشدار و مانیتورینگ سرویس‌ها: در حالی که Nagios توانایی نظارت کلی بر شبکه را دارد، تمرکز بیشتری بر نظارت بر وضعیت سرویس‌ها و دستگاه‌ها دارد و گراف‌ها در آن وجود ندارد.

Grafana

Grafana یکی از ابزارهای بسیار قدرتمند برای گراف‌سازی داده‌ها و نظارت بر عملکرد سیستم‌ها است. این ابزار به‌طور خاص برای نمایش گراف‌های زیبا و تحلیلی از داده‌ها طراحی شده است. Grafana معمولا به‌عنوان یک ابزار مکمل برای سایر سیستم‌های مانیتورینگ مانند Prometheus یا InfluxDB استفاده می‌شود و خود به‌تنهایی داده‌ها را جمع‌آوری نمی‌کند.

ویژگی‌ها و مزایا:

  • گراف‌های بصری قدرتمند: قابلیت ایجاد گراف‌های حرفه‌ای و جذاب برای نمایش داده‌ها.
  • یکپارچگی با ابزارهای دیگر: Grafana می‌تواند با ابزارهای مانیتورینگ مختلفی مانند Prometheus و InfluxDB یکپارچه شود.
  • پشتیبانی از داده‌های real-time: Grafana می‌تواند داده‌ها را به صورت زنده نمایش دهد.

معایب:

  • عدم قابلیت جمع‌آوری داده‌ها: Grafana خود به‌تنهایی داده‌ها را جمع‌آوری نمی‌کند و نیاز به سیستم‌های دیگری مانند Prometheus برای جمع‌آوری داده‌ها دارد.
  • محدودیت در هشداردهی: برخلاف Zabbix یا Nagios، Grafana هشدارهای پیچیده و پیشرفته را ارائه نمی‌دهد.

جمع‌بندی

در مجموع، انتخاب ابزار مناسب بستگی به نیازهای خاص شما دارد:

  • Cacti: مناسب برای ایجاد گراف‌های تصویری و نظارت بر پهنای باند شبکه با استفاده از SNMP.
  • Zabbix: ابزار قدرتمند برای نظارت جامع بر شبکه و سرویس‌ها با هشدارهای پیشرفته.
  • Nagios: مناسب برای نظارت بر وضعیت سرویس‌ها و دستگاه‌ها با قابلیت‌های هشداردهی پیچیده.
  • Grafana: بهترین انتخاب برای ایجاد گراف‌های زیبا و تحلیلی، به‌ویژه زمانی که با ابزارهای دیگر مانند Prometheus یا InfluxDB ترکیب شود.

در نهایت، انتخاب بین این ابزارها بستگی به نیازهای خاص شبکه، پیچیدگی سیستم، و منابع در دسترس شما دارد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی نقاط قوت و ضعف Cacti نسبت به سایر ابزارها” subtitle=”توضیحات کامل”]در این بخش به تحلیل دقیق ویژگی‌ها و مقایسه نقاط قوت و ضعف Cacti نسبت به دیگر ابزارهای نظارت و مدیریت شبکه مانند Zabbix، Nagios و Grafana خواهیم پرداخت. Cacti به‌طور خاص برای گراف‌سازی داده‌ها طراحی شده و از تکنیک‌های پیشرفته‌ای برای جمع‌آوری داده‌ها از دستگاه‌های شبکه استفاده می‌کند. با این حال، نقاط قوت و ضعف آن در مقایسه با دیگر ابزارها قابل توجه است.


نقاط قوت Cacti

  1. گراف‌سازی دقیق و سفارشی‌سازی بالا
    یکی از برجسته‌ترین ویژگی‌های Cacti، توانایی ایجاد گراف‌های دقیق و سفارشی‌سازی آنها است. با استفاده از Cacti، می‌توان گراف‌هایی از داده‌های مختلف شبکه ایجاد کرد که می‌تواند شامل پهنای باند، وضعیت CPU، حافظه و دیگر منابع دستگاه‌ها باشد. این ابزار به مدیران شبکه این امکان را می‌دهد که وضعیت شبکه و منابع را در زمان‌های مختلف مشاهده کنند.

    مثال کاربردی:
    برای نظارت بر پهنای باند یک روتر از طریق Cacti، ابتدا باید دستگاه را به سیستم اضافه کرده و از قالب گراف مربوطه برای مشاهده ترافیک استفاده کرد.

    sudo cacti -v add_device --device_name="Router" --ip_address="192.168.1.1" --community="public"
    

    پس از افزودن دستگاه، گراف مربوط به آن با توجه به داده‌های جمع‌آوری شده از SNMP ایجاد می‌شود.

  2. رابط کاربری گرافیکی ساده و کاربرپسند
    Cacti دارای یک رابط کاربری گرافیکی (GUI) ساده است که حتی برای کاربران تازه‌کار هم قابل فهم و استفاده است. این ویژگی Cacti را نسبت به ابزارهایی مانند Nagios که دارای رابط کاربری پیچیده‌تر است، متمایز می‌کند.
  3. پشتیبانی از SNMP
    Cacti به‌طور کامل از پروتکل SNMP (Simple Network Management Protocol) پشتیبانی می‌کند، که این امکان را برای مدیران شبکه فراهم می‌آورد تا داده‌های جامع و دقیقی از دستگاه‌های شبکه جمع‌آوری کنند.
  4. رایگان و متن‌باز بودن
    یکی از بزرگترین نقاط قوت Cacti، رایگان و متن‌باز بودن آن است. این ویژگی به سازمان‌ها و تیم‌های مدیریتی شبکه این امکان را می‌دهد تا بدون نیاز به پرداخت هزینه‌های لایسنس از تمامی ویژگی‌های ابزار بهره‌برداری کنند.
  5. مقیاس‌پذیری خوب برای شبکه‌های کوچک و متوسط
    Cacti به‌خوبی می‌تواند در شبکه‌های کوچک و متوسط عملکرد خود را حفظ کند و به راحتی مقیاس‌پذیر باشد.

نقاط ضعف Cacti

  1. عدم پشتیبانی از نظارت فعال و هشدارها
    یکی از بزرگ‌ترین محدودیت‌های Cacti در مقایسه با ابزارهایی مانند Zabbix یا Nagios، عدم وجود سیستم هشداردهی پیچیده است. در حالی که Cacti می‌تواند داده‌ها را جمع‌آوری و گراف‌هایی از آن‌ها نمایش دهد، اما برای نظارت فعال و ارسال هشدارهای فوری در صورت بروز مشکلات شبکه نیاز به ابزارهای دیگری مانند Zabbix یا Nagios است.
  2. تمرکز بر گراف‌سازی و نبود ابزار مانیتورینگ جامع
    Cacti به‌طور خاص برای گراف‌سازی داده‌ها طراحی شده و تمرکز آن بیشتر بر نمایش تصویری و بصری داده‌هاست تا مانیتورینگ کامل و جامع. بنابراین، این ابزار برای نظارت کلی و همه‌جانبه بر وضعیت سرویس‌ها و دستگاه‌ها مناسب نیست.
  3. محدودیت در پشتیبانی از پروتکل‌ها و منابع مختلف
    Cacti عمدتاً بر اساس SNMP کار می‌کند و اگرچه می‌تواند بسیاری از دستگاه‌های شبکه را پشتیبانی کند، اما در مقایسه با ابزارهایی مثل Nagios یا Zabbix که از پروتکل‌های مختلف مانند ICMP و JMX پشتیبانی می‌کنند، Cacti محدودتر است.
  4. نیاز به پیکربندی دستی برای برخی ویژگی‌ها
    در مقایسه با Zabbix یا Grafana، Cacti برای راه‌اندازی برخی ویژگی‌ها مانند کشف خودکار دستگاه‌ها یا پیکربندی منابع داده به پیکربندی دستی بیشتری نیاز دارد. این ویژگی می‌تواند برای کاربران مبتدی چالش‌برانگیز باشد.
  5. پشتیبانی ضعیف از نظارت در زمان واقعی (Real-Time)
    Cacti به‌طور معمول داده‌ها را در فواصل زمانی خاص جمع‌آوری کرده و آن‌ها را در گراف‌ها نمایش می‌دهد. این به این معنی است که داده‌ها به‌طور لحظه‌ای در دسترس نیستند. ابزارهایی مانند Grafana که داده‌ها را به‌صورت real-time نشان می‌دهند، این ضعف را ندارند.

جمع‌بندی

Cacti با تمرکز اصلی بر گراف‌سازی داده‌ها و نظارت بر منابع شبکه از طریق SNMP یک ابزار قدرتمند برای نظارت بر عملکرد دستگاه‌ها و تحلیل داده‌ها است. با این حال، در مقایسه با ابزارهایی مانند Zabbix، Nagios و Grafana محدودیت‌هایی دارد که به‌ویژه در زمینه نظارت فعال و هشداردهی به چشم می‌خورد. انتخاب Cacti بستگی به نیازهای خاص شبکه شما دارد؛ اگر به نظارت دقیق بر منابع شبکه و ایجاد گراف‌های سفارشی نیاز دارید، Cacti یک انتخاب عالی است، اما اگر به یک ابزار جامع‌تر برای مدیریت شبکه و ارسال هشدارهای پیشرفته نیاز دارید، باید به سراغ ابزارهایی مانند Zabbix یا Nagios بروید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مواردی که Cacti به‌طور خاص برای آن‌ها مناسب‌تر است” subtitle=”توضیحات کامل”]Cacti به‌عنوان یک ابزار مانیتورینگ و گراف‌سازی شبکه، ویژگی‌هایی دارد که آن را برای برخی از کاربردهای خاص مناسب‌تر می‌سازد. این ابزار به‌ویژه در شرایطی که نیاز به نظارت و تجزیه و تحلیل دقیق داده‌های شبکه باشد، عملکرد بسیار خوبی ارائه می‌دهد. در این بخش به بررسی مواردی خواهیم پرداخت که Cacti برای آن‌ها به‌طور خاص مناسب‌تر است:


1. نظارت بر پهنای باند و ترافیک شبکه

Cacti به‌طور خاص برای نظارت بر پهنای باند و ترافیک شبکه طراحی شده است. استفاده از پروتکل SNMP برای جمع‌آوری داده‌ها از دستگاه‌های شبکه (مانند روترها، سوئیچ‌ها و فایروال‌ها) و نمایش گراف‌های دقیق از داده‌های ترافیک، یکی از نقاط قوت اصلی این ابزار است. Cacti قادر است داده‌های مربوط به ترافیک ورودی و خروجی، پهنای باند مصرفی، و حتی درصد استفاده از لینک‌ها را به‌صورت دقیق و تصویری نمایش دهد.

مثال عملی: برای نظارت بر ترافیک یک روتر در Cacti، ابتدا باید دستگاه را اضافه کرده و از قالب گراف‌های ترافیک استفاده کرد.

sudo cacti -v add_device --device_name="Router1" --ip_address="192.168.0.1" --community="public"

پس از اضافه کردن دستگاه، می‌توانید گراف‌های مربوط به پهنای باند و ترافیک ورودی و خروجی را مشاهده کنید.


2. تجزیه و تحلیل منابع سرور و دستگاه‌های شبکه

Cacti برای نظارت بر منابع سرور مانند CPU، حافظه، هارد دیسک و دیگر منابع سیستم، بسیار مناسب است. این ابزار با استفاده از SNMP و یا NRPE (Nagios Remote Plugin Executor) می‌تواند به‌صورت دوره‌ای داده‌هایی از منابع سیستم جمع‌آوری کند و آن‌ها را به‌صورت گرافیکی نمایش دهد.

مثال کاربردی: برای اضافه کردن یک سرور لینوکسی و نظارت بر منابع آن، دستور زیر را اجرا می‌کنید:

sudo cacti -v add_device --device_name="LinuxServer" --ip_address="192.168.0.2" --community="public"

پس از اضافه کردن دستگاه، گراف‌های مربوط به حافظه مصرفی، بار CPU و استفاده از دیسک ایجاد می‌شوند.


3. نظارت بر سلامت شبکه و دستگاه‌ها در زمان‌های مختلف

Cacti به مدیران شبکه این امکان را می‌دهد که عملکرد دستگاه‌ها را در طول زمان نظارت کنند. این ابزار برای شناسایی مشکلات پیش از وقوع بحران مفید است، زیرا گراف‌های تاریخی دقیق و قابل سفارشی‌سازی از داده‌های جمع‌آوری‌شده ایجاد می‌کند. این ویژگی به مدیران کمک می‌کند تا روند مصرف منابع و ظرفیت شبکه را تحلیل کنند و مشکلات احتمالی را پیش‌بینی نمایند.

مثال عملی: برای تجزیه و تحلیل روند استفاده از پهنای باند در طول زمان، می‌توانید از گراف‌های تاریخی Cacti استفاده کنید تا الگوهای ترافیک را مشاهده کنید.


4. ایجاد گراف‌های پیچیده و سفارشی

Cacti این امکان را به کاربران می‌دهد که گراف‌های پیچیده و سفارشی ایجاد کنند. این ویژگی برای نظارت دقیق و تحلیل دقیق داده‌ها در شبکه‌های بزرگ و پیچیده ضروری است. می‌توان انواع مختلف گراف‌ها را بر اساس نیازهای خاص ایجاد کرده و آن‌ها را سفارشی نمود تا اطلاعات مفیدی را در اختیار مدیران شبکه قرار دهند.

مثال کاربردی: اگر بخواهید گراف‌های سفارشی برای دستگاه‌های مختلف ایجاد کنید، دستور زیر را می‌توانید اجرا کنید:

sudo cacti -v create_graph --device_id="1" --graph_template="Bandwidth Usage" --data_source="eth0"

5. مانیتورینگ شبکه‌های کوچک تا متوسط

Cacti به‌ویژه برای شبکه‌های کوچک و متوسط بسیار مناسب است. این ابزار برای نظارت و تجزیه و تحلیل داده‌ها در این شبکه‌ها به‌خوبی عمل می‌کند و قادر است اطلاعات دقیقی از وضعیت شبکه فراهم کند. با این حال، اگر شبکه شما به سطح وسیع‌تری برسد و نیاز به مقیاس‌پذیری بیشتری داشته باشد، ممکن است به ابزارهایی مانند Zabbix یا Nagios نیاز پیدا کنید.


6. یکپارچه‌سازی با سایر ابزارهای مانیتورینگ

یکی از ویژگی‌های مهم Cacti، یکپارچه‌سازی آن با ابزارهای دیگر مانیتورینگ شبکه است. Cacti می‌تواند به‌راحتی با ابزارهایی مانند Nagios برای نظارت بر خدمات، RRDTool برای ذخیره‌سازی داده‌ها، و Graphite برای گراف‌سازی داده‌ها یکپارچه شود. این یکپارچگی‌ها باعث می‌شوند که Cacti گزینه‌ای عالی برای ترکیب با سیستم‌های نظارتی بزرگ‌تر باشد.


جمع‌بندی

Cacti به‌ویژه برای مواردی که نیاز به گراف‌سازی دقیق و سفارشی داده‌ها، نظارت بر منابع سیستم و تحلیل عملکرد شبکه دارند، بسیار مناسب است. این ابزار توانایی ایجاد گراف‌های دقیق از ترافیک شبکه، پهنای باند، استفاده از منابع سرور و تحلیل‌های تاریخی داده‌ها را دارد. به‌طور کلی، اگر هدف شما نظارت بر شبکه‌های کوچک و متوسط و تحلیل روند داده‌ها باشد، Cacti ابزاری بسیار مناسب برای شما خواهد بود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. معماری Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی ساختار و اجزای اصلی Cacti (پایگاه داده، رابط کاربری، موتور Polling)” subtitle=”توضیحات کامل”]Cacti یک سیستم مانیتورینگ شبکه است که از اجزای مختلفی تشکیل شده است تا بتواند داده‌ها را جمع‌آوری کرده، آن‌ها را تجزیه و تحلیل کند و نتایج را به‌صورت گرافیکی نمایش دهد. در این بخش به بررسی اجزای اصلی Cacti خواهیم پرداخت که شامل پایگاه داده، رابط کاربری و موتور Polling است. هرکدام از این اجزا نقش کلیدی در عملکرد Cacti دارند و با همکاری یکدیگر به هدف نظارت و تحلیل داده‌ها کمک می‌کنند.


1. پایگاه داده (Database)

پایگاه داده در Cacti برای ذخیره‌سازی داده‌ها و پیکربندی‌ها استفاده می‌شود. این بخش یکی از اجزای حیاتی سیستم است که تمامی اطلاعات مربوط به دستگاه‌ها، گراف‌ها، منابع داده و تنظیمات مختلف را ذخیره می‌کند.

  • نوع پایگاه داده: Cacti معمولاً از MySQL یا MariaDB به‌عنوان پایگاه داده برای ذخیره اطلاعات استفاده می‌کند.
  • ساختار پایگاه داده: داده‌ها در جداول مختلفی ذخیره می‌شوند که به بخش‌های مختلف Cacti مانند دستگاه‌ها، گراف‌ها و گزارش‌ها مربوط می‌شود. برخی از جداول کلیدی عبارتند از:
    • cacti_data_sources: اطلاعات مربوط به منابع داده جمع‌آوری‌شده از دستگاه‌ها.
    • cacti_graphs: اطلاعات مربوط به گراف‌های ایجادشده.
    • cacti_devices: مشخصات و تنظیمات دستگاه‌های شبکه.
    • cacti_graph_templates: الگوهای گراف که برای ایجاد گراف‌ها استفاده می‌شوند.
  • پیکربندی پایگاه داده: بعد از نصب Cacti، باید پایگاه داده MySQL را پیکربندی کنید تا دسترسی به آن برای Cacti فراهم شود. برای این منظور ابتدا باید پایگاه داده و جداول اولیه را ایجاد کنید.

دستور برای ایجاد پایگاه داده Cacti در MySQL:

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

سپس باید فایل نصب Cacti را اجرا کنید تا جداول اولیه در پایگاه داده ساخته شوند.


2. رابط کاربری (User Interface)

رابط کاربری Cacti یک واسط گرافیکی (GUI) است که از طریق وب‌سایت به کاربران امکان دسترسی به اطلاعات، گراف‌ها، تنظیمات دستگاه‌ها و گزارش‌ها را می‌دهد. این رابط کاربری ساده و قابل تنظیم است و کاربران می‌توانند با استفاده از آن شبکه و دستگاه‌های خود را به راحتی مانیتور کنند.

  • داشبورد (Dashboard): داشبورد Cacti به کاربران این امکان را می‌دهد که به‌صورت کلی وضعیت شبکه را مشاهده کنند. اطلاعاتی همچون گراف‌ها، دستگاه‌ها، و وضعیت منابع در این بخش به نمایش درمی‌آید.
  • منوی Devices: کاربران می‌توانند دستگاه‌های مختلف را مشاهده، ویرایش و اضافه کنند.
  • Graph Management: در این بخش، کاربران می‌توانند گراف‌های مختلف را مشاهده کرده و یا گراف‌های جدیدی بسازند.
  • Reports: بخش گزارش‌ها به مدیران شبکه این امکان را می‌دهد که گزارش‌هایی از داده‌های مختلف ایجاد کرده و آن‌ها را تحلیل کنند.

برای دسترسی به رابط کاربری، کافی است که به آدرس وب‌سرور Cacti در مرورگر خود بروید و از طریق صفحه ورود وارد شوید.

مثال دسترسی به رابط کاربری:

http://your-cacti-server/cacti

3. موتور Polling (Polling Engine)

موتور Polling در Cacti مسئول جمع‌آوری داده‌ها از دستگاه‌های شبکه است. این موتور به‌طور دوره‌ای (بر اساس تنظیمات Polling Interval) از دستگاه‌ها اطلاعات دریافت کرده و این داده‌ها را در پایگاه داده ذخیره می‌کند. به‌طور معمول از پروتکل SNMP برای جمع‌آوری داده‌ها از دستگاه‌های شبکه استفاده می‌شود.

  • Polling Interval: این بازه زمانی مشخص می‌کند که Cacti هر چند وقت یک‌بار باید داده‌ها را جمع‌آوری کند. این مقدار می‌تواند به‌طور پیش‌فرض 5 دقیقه تنظیم شده باشد، اما بسته به نیاز مدیر شبکه می‌توان آن را تغییر داد.
  • دستگاه‌ها: Cacti از طریق SNMP داده‌ها را از دستگاه‌های مختلف مانند روترها، سوئیچ‌ها، سرورها و فایروال‌ها جمع‌آوری می‌کند.
  • RRDTool: Cacti برای ذخیره و گراف‌سازی داده‌ها از RRDTool استفاده می‌کند. این ابزار برای ذخیره‌سازی داده‌های زمان‌بندی‌شده به‌صورت مؤثر طراحی شده است و داده‌ها را در فرمت RRD ذخیره می‌کند.

دستور برای تنظیم Polling Interval در Cacti:

برای تغییر زمان Polling در Cacti، ابتدا باید وارد تنظیمات آن شوید و سپس مقدار Polling Interval را برای هر دستگاه تنظیم کنید.

  1. وارد بخش Settings شوید.
  2. به قسمت Data Sources بروید.
  3. در این بخش، می‌توانید Polling Interval را برای هر دستگاه به دلخواه تنظیم کنید.

جمع‌بندی

ساختار Cacti از سه بخش اصلی تشکیل شده است که عبارتند از پایگاه داده، رابط کاربری و موتور Polling. پایگاه داده مسئول ذخیره‌سازی داده‌ها و تنظیمات است، رابط کاربری امکان دسترسی به اطلاعات و گراف‌ها را فراهم می‌کند و موتور Polling داده‌ها را به‌طور دوره‌ای از دستگاه‌های مختلف جمع‌آوری می‌کند. این اجزا با همکاری یکدیگر به Cacti این امکان را می‌دهند که به‌طور مؤثر شبکه و دستگاه‌ها را مانیتور کرده و نتایج را به‌صورت گرافیکی و تحلیلی نمایش دهند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”معرفی تکنولوژی‌های مورد استفاده در Cacti (PHP، MySQL، SNMP)” subtitle=”توضیحات کامل”]Cacti یک ابزار مانیتورینگ شبکه است که برای جمع‌آوری، ذخیره‌سازی و نمایش داده‌ها به تکنولوژی‌های مختلفی تکیه دارد. این ابزار برای عملکرد صحیح و مؤثر خود از چندین فناوری و پروتکل استفاده می‌کند که در این بخش به بررسی مهم‌ترین آن‌ها خواهیم پرداخت. این تکنولوژی‌ها شامل PHP، MySQL و SNMP هستند که هر کدام نقش اساسی در عملکرد Cacti دارند.


1. PHP (Hypertext Preprocessor)

PHP یک زبان برنامه‌نویسی سرور-سمت است که در توسعه وب‌سایت‌ها و برنامه‌های وب استفاده می‌شود. Cacti از PHP برای توسعه رابط کاربری و تعامل با پایگاه داده استفاده می‌کند. بیشتر کدهای اجرایی Cacti به زبان PHP نوشته شده‌اند که وظایف مختلفی را از جمله درخواست‌های HTTP، پردازش داده‌ها و نمایش گراف‌ها انجام می‌دهند.

  • وظیفه PHP در Cacti:
    • رابط کاربری: رابط کاربری Cacti به‌طور کامل با استفاده از PHP طراحی شده است. صفحات وب از طریق PHP به پایگاه داده متصل شده و داده‌ها را برای نمایش گراف‌ها و گزارش‌ها بارگذاری می‌کنند.
    • مدیریت دستگاه‌ها: PHP در Cacti برای اضافه کردن، ویرایش و حذف دستگاه‌ها (سرورها، روترها، سوئیچ‌ها) و همچنین پیکربندی گراف‌ها و منابع داده استفاده می‌شود.
    • پشتیبانی از اسکریپت‌ها و پلاگین‌ها: PHP همچنین به Cacti این امکان را می‌دهد که اسکریپت‌های سفارشی و پلاگین‌ها را برای گسترش قابلیت‌های سیستم اجرا کند.

برای استفاده از Cacti، باید PHP را نصب و پیکربندی کنید. برای این کار معمولاً از نسخه‌های PHP 7.x یا 8.x استفاده می‌شود.

دستور نصب PHP و پیکربندی در لینوکس:

sudo apt-get update
sudo apt-get install php php-mysql php-snmp php-gd php-cli php-ldap

2. MySQL (یا MariaDB)

MySQL یک پایگاه داده رابطه‌ای است که Cacti برای ذخیره‌سازی داده‌های مربوط به مانیتورینگ شبکه از آن استفاده می‌کند. تمامی تنظیمات دستگاه‌ها، گراف‌ها، داده‌های مانیتورینگ و تاریخچه اطلاعات در پایگاه داده MySQL ذخیره می‌شود. در واقع، MySQL هسته ذخیره‌سازی Cacti است و ارتباط بین رابط کاربری، موتور Polling و داده‌های ذخیره‌شده را برقرار می‌کند.

  • وظیفه MySQL در Cacti:
    • ذخیره‌سازی داده‌ها: تمام داده‌های جمع‌آوری‌شده از دستگاه‌ها (مثل پهنای باند مصرفی، وضعیت پورت‌ها و غیره) در جداول MySQL ذخیره می‌شود.
    • مدیریت پیکربندی‌ها: اطلاعات مربوط به دستگاه‌ها، منابع داده، گراف‌ها و هشدارها در جداول مختلف MySQL نگهداری می‌شود.
    • دستگاه‌های مانیتورینگ: برای ذخیره‌سازی و دسترسی به اطلاعات مربوط به دستگاه‌ها و وضعیت آن‌ها، Cacti از MySQL استفاده می‌کند.

دستور نصب MySQL و پیکربندی در لینوکس:

sudo apt-get install mysql-server
sudo mysql_secure_installation

سپس باید پایگاه داده Cacti را ایجاد کنید:

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

3. SNMP (Simple Network Management Protocol)

SNMP یک پروتکل استاندارد برای مانیتورینگ و مدیریت دستگاه‌های شبکه است. Cacti از SNMP برای جمع‌آوری داده‌ها از دستگاه‌های مختلف شبکه استفاده می‌کند. به‌عنوان‌مثال، اطلاعاتی همچون پهنای باند، وضعیت پورت‌ها و بار پردازنده از طریق SNMP به Cacti ارسال می‌شود. SNMP به‌ویژه در مانیتورینگ روترها، سوئیچ‌ها و دیگر تجهیزات شبکه که از این پروتکل پشتیبانی می‌کنند، اهمیت زیادی دارد.

  • وظیفه SNMP در Cacti:
    • جمع‌آوری داده‌ها: Cacti از SNMP برای گرفتن داده‌های لحظه‌ای از دستگاه‌های شبکه استفاده می‌کند. این داده‌ها ممکن است شامل اطلاعات مربوط به پهنای باند، استفاده از پردازنده، حافظه، وضعیت پورت‌ها و بسیاری دیگر از اطلاعات باشد.
    • پیکربندی دستگاه‌ها: با استفاده از SNMP، Cacti می‌تواند دستگاه‌های شبکه را شناسایی کرده و آن‌ها را برای نظارت پیکربندی کند.
    • پشتیبانی از SNMP v1، v2 و v3: Cacti از تمامی نسخه‌های پروتکل SNMP پشتیبانی می‌کند و می‌تواند از اطلاعات جمع‌آوری‌شده از دستگاه‌ها در هر یک از این نسخه‌ها استفاده کند.

دستور تنظیم SNMP در دستگاه‌های شبکه:

برای فعال کردن SNMP در یک دستگاه لینوکسی، می‌توان از دستور زیر استفاده کرد:

sudo apt-get install snmp snmpd

سپس فایل پیکربندی SNMP در مسیر /etc/snmp/snmpd.conf را ویرایش کنید تا دستگاه قابلیت پاسخ‌دهی به درخواست‌های SNMP را داشته باشد.


جمع‌بندی

Cacti از تکنولوژی‌های مختلفی برای انجام عملکردهای مانیتورینگ و تجزیه‌وتحلیل شبکه استفاده می‌کند. PHP به‌عنوان زبان برنامه‌نویسی سرور-سمت، برای توسعه رابط کاربری و مدیریت داده‌ها استفاده می‌شود. MySQL برای ذخیره‌سازی داده‌ها، پیکربندی‌ها و تاریخچه دستگاه‌ها به کار می‌رود و SNMP پروتکلی است که برای جمع‌آوری داده‌ها از دستگاه‌های شبکه به‌کار گرفته می‌شود. این تکنولوژی‌ها به‌طور هماهنگ با یکدیگر کار می‌کنند تا Cacti به ابزاری مؤثر در مدیریت و مانیتورینگ شبکه تبدیل شود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. کاربردهای خاص در صنایع مختلف”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نحوه استفاده از Cacti در شرکت‌های بزرگ” subtitle=”توضیحات کامل”]استفاده از Cacti در شرکت‌های بزرگ برای نظارت و مدیریت شبکه‌ها می‌تواند مزایای زیادی به همراه داشته باشد. از آنجا که شبکه‌های سازمانی بزرگ معمولاً شامل تجهیزات مختلفی از جمله سرورها، روترها، سوئیچ‌ها، و دستگاه‌های پایدار هستند، استفاده از ابزار مانیتورینگ و تحلیل عملکرد شبکه برای بهبود کارایی و پیشگیری از مشکلات شبکه ضروری است. در این بخش، نحوه استفاده از Cacti در شبکه‌های پیچیده و گسترده را بررسی خواهیم کرد.


1. طراحی و معماری Cacti برای شبکه‌های بزرگ

در یک شبکه بزرگ، برای استفاده مؤثر از Cacti، معماری باید به گونه‌ای طراحی شود که بتواند حجم بالای داده‌ها را مدیریت کند و قادر به نظارت بر هزاران دستگاه و سرویس باشد. برای این منظور، استفاده از معماری مقیاس‌پذیر بسیار مهم است.

  • استفاده از چندین سرور Cacti: در شبکه‌های بزرگ، معمولاً از چندین سرور Cacti برای تقسیم بار و افزایش توان پردازش استفاده می‌شود. این امکان به شما می‌دهد تا بار Polling و ذخیره‌سازی داده‌ها را بین سرورهای مختلف تقسیم کرده و از کند شدن سیستم جلوگیری کنید.
  • پیکربندی Load Balancer: استفاده از Load Balancer برای توزیع ترافیک شبکه بین سرورهای Cacti، به‌ویژه زمانی که تعداد درخواست‌ها و پردازش‌ها بالا می‌رود، توصیه می‌شود. این کار باعث می‌شود که شبکه در برابر بار زیاد مقاوم باشد.
  • استفاده از پروکسی‌های Polling: برای کاهش بار شبکه و افزایش کارایی، می‌توان از Polling Proxy ها استفاده کرد. این پروکسی‌ها اطلاعات دستگاه‌ها را از راه دور جمع‌آوری کرده و سپس آن‌ها را به سرور اصلی ارسال می‌کنند. این روش باعث می‌شود که هر سرور Cacti تنها مسئول جمع‌آوری داده‌ها از بخش خاصی از شبکه باشد.

2. پیکربندی دستگاه‌های مختلف برای نظارت

Cacti قادر است اطلاعات مربوط به تجهیزات مختلف مانند سرورها، روترها، سوئیچ‌ها و دستگاه‌های ذخیره‌سازی را از طریق پروتکل SNMP جمع‌آوری کند. در شبکه‌های بزرگ، این پروسه باید به‌طور بهینه و با دقت بالا انجام شود.

  • پیکربندی SNMP برای دستگاه‌های شبکه: برای نظارت بر دستگاه‌های مختلف، ابتدا باید SNMP بر روی این دستگاه‌ها فعال شود. این کار می‌تواند شامل پیکربندی SNMP در سوئیچ‌ها، روترها، فایروال‌ها، سرورها و دستگاه‌های ذخیره‌سازی باشد.

دستور پیکربندی SNMP در لینوکس:

sudo apt-get install snmp snmpd

فایل پیکربندی SNMP معمولاً در مسیر /etc/snmp/snmpd.conf قرار دارد. پس از پیکربندی، باید سرور Cacti را تنظیم کنید تا از دستگاه‌های مختلف داده‌های SNMP را جمع‌آوری کند.


3. ایجاد گراف‌های پیچیده و سفارشی

در یک محیط شرکتی بزرگ، نیاز به گراف‌های سفارشی برای نظارت دقیق‌تر بر عملکرد شبکه و تجهیزات مختلف وجود دارد. Cacti این امکان را فراهم می‌آورد که گراف‌های پیچیده‌ای برای نمایش اطلاعات مختلف ایجاد کنید.

  • گراف‌های پهنای باند: این گراف‌ها برای نظارت بر مصرف پهنای باند و تحلیل عملکرد شبکه کاربرد دارند. در شبکه‌های بزرگ، بررسی پهنای باند در هر دستگاه یا بخش خاص می‌تواند به شناسایی گلوگاه‌های شبکه کمک کند.
  • گراف‌های پردازنده و حافظه سرورها: برای سرورهای میزبان سرویس‌های مهم، گراف‌های مربوط به پردازنده و حافظه اهمیت زیادی دارند. این گراف‌ها کمک می‌کنند تا مدیران سیستم بتوانند عملکرد سرور را زیر نظر داشته باشند و از بروز مشکلات احتمالی پیشگیری کنند.
  • گراف‌های وضعیت پورت‌ها و لینک‌ها: برای تجهیزات شبکه‌ای مانند سوئیچ‌ها و روترها، گراف‌های وضعیت پورت‌ها می‌تواند به شناسایی مشکلاتی مانند ازدحام شبکه یا اختلال در ارتباطات کمک کند.

4. مدیریت و نظارت بر هشدارها

یکی از ویژگی‌های مهم Cacti در شبکه‌های بزرگ، امکان پیکربندی هشدارهای سفارشی است. این هشدارها می‌توانند به مدیران شبکه کمک کنند تا مشکلات را قبل از اینکه تبدیل به بحران شوند، شناسایی و حل کنند.

  • تنظیم محدودیت‌های هشدار برای منابع مختلف: می‌توانید محدودیت‌هایی برای منابع مختلف مانند CPU، حافظه، پهنای باند و وضعیت پورت‌ها تعیین کنید تا در صورتی که این منابع از مقدار مشخصی فراتر رفتند، هشدار ارسال شود.
  • استفاده از اسکریپت‌های سفارشی برای ارسال هشدار: در صورت بروز مشکلات، Cacti می‌تواند هشدارها را به طرق مختلف ارسال کند، از جمله ایمیل، پیام کوتاه یا حتی به سیستم‌های مانیتورینگ دیگر مانند Nagios یا Zabbix.

دستور پیکربندی هشدار در Cacti:

برای تنظیم هشدار، به مسیر زیر در رابط کاربری Cacti بروید:

Console -> Alerts -> Add New Alert

در این قسمت می‌توانید شرایط هشدار و پیام آن را مشخص کنید.


5. ذخیره‌سازی و گزارش‌دهی

در شرکت‌های بزرگ، نیاز به ذخیره‌سازی و گزارش‌دهی دقیق است. Cacti این امکان را فراهم می‌کند که گزارش‌هایی از داده‌ها به‌طور منظم و به صورت دقیق ایجاد کنید.

  • گزارش‌های ماهانه یا هفتگی: مدیران می‌توانند از Cacti برای ایجاد گزارش‌های عملکرد شبکه در بازه‌های زمانی مختلف استفاده کنند. این گزارش‌ها می‌توانند شامل اطلاعاتی در مورد وضعیت دستگاه‌ها، پهنای باند مصرفی و وضعیت سرورها باشند.
  • بررسی تاریخچه داده‌ها: Cacti به شما امکان می‌دهد تاریخچه داده‌ها را ذخیره کنید تا در صورت لزوم، به تحلیل داده‌های گذشته و شناسایی روندها پرداخته شود. این ویژگی به‌ویژه در پیش‌بینی نیازهای آتی شبکه مفید است.

جمع‌بندی

استفاده از Cacti در شرکت‌های بزرگ برای نظارت بر شبکه و مدیریت عملکرد دستگاه‌ها می‌تواند بسیار مؤثر باشد. با طراحی معماری مقیاس‌پذیر، پیکربندی دقیق دستگاه‌ها، ایجاد گراف‌های سفارشی، و مدیریت هشدارها و گزارش‌ها، Cacti می‌تواند به مدیران شبکه کمک کند تا شبکه‌ای پایدار و با کارایی بالا را حفظ کنند. Cacti ابزار قدرتمندی است که به‌ویژه در شبکه‌های پیچیده و بزرگ با حجم بالای داده‌ها می‌تواند راهکار مناسبی برای نظارت و تحلیل عملکرد دستگاه‌ها و سرویس‌ها باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از Cacti در شبکه‌های کوچک و خانگی” subtitle=”توضیحات کامل”]Cacti به عنوان یک ابزار قوی برای مانیتورینگ شبکه، علاوه بر استفاده در شبکه‌های بزرگ، می‌تواند در شبکه‌های کوچک و خانگی نیز بسیار کاربردی باشد. حتی در شبکه‌های کوچک که تعداد دستگاه‌ها کمتر است، نظارت بر عملکرد و تحلیل داده‌ها به کمک Cacti می‌تواند مشکلات احتمالی را شناسایی کرده و عملکرد شبکه را بهبود بخشد. در این بخش، نحوه استفاده از Cacti در شبکه‌های کوچک و خانگی را بررسی خواهیم کرد.


1. نصب و راه‌اندازی Cacti در شبکه‌های کوچک

در شبکه‌های خانگی یا کوچک که تعداد دستگاه‌ها محدود است، نصب و راه‌اندازی Cacti نسبتا ساده‌تر است. برای راه‌اندازی Cacti، ابتدا باید پیش‌نیازهای لازم را آماده کنید و سپس Cacti را نصب کنید.

مراحل نصب Cacti در شبکه‌های خانگی:

  1. نصب پیش‌نیازها: Cacti به PHP، MySQL و SNMP نیاز دارد. ابتدا این ابزارها را نصب کنید.

دستور نصب پیش‌نیازها در اوبونتو:

sudo apt-get update
sudo apt-get install apache2 php php-mysql php-snmp snmp snmpd mysql-server
  1. دانلود و نصب Cacti: می‌توانید آخرین نسخه Cacti را از وب‌سایت رسمی دانلود کنید.

دستور نصب Cacti:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar -xzvf cacti-latest.tar.gz
sudo mv cacti-* /var/www/html/cacti
  1. پیکربندی پایگاه داده MySQL: پس از نصب، باید پایگاه داده MySQL را برای ذخیره‌سازی داده‌های Cacti پیکربندی کنید.

دستور پیکربندی پایگاه داده:

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

2. پیکربندی SNMP برای نظارت بر دستگاه‌ها

در شبکه‌های خانگی معمولاً دستگاه‌های مختلف مانند روتر، سوئیچ و کامپیوترها وجود دارند که می‌توان آن‌ها را از طریق SNMP نظارت کرد. پیکربندی SNMP در این دستگاه‌ها به شما امکان می‌دهد تا اطلاعات مربوط به عملکرد دستگاه‌ها مانند پهنای باند، مصرف CPU و حافظه را جمع‌آوری کنید.

پیکربندی SNMP در روتر یا مودم خانگی:

  • وارد صفحه تنظیمات مودم یا روتر خود شوید.
  • در بخش “SNMP Settings” پروتکل SNMP را فعال کنید و یک “Community String” (مانند public یا private) وارد کنید.

در Cacti، بعد از تنظیم SNMP در دستگاه‌ها، می‌توانید به این دستگاه‌ها متصل شوید و داده‌ها را جمع‌آوری کنید.


3. ایجاد گراف‌های ساده برای نظارت بر دستگاه‌ها

Cacti به شما این امکان را می‌دهد که گراف‌هایی ایجاد کنید که وضعیت دستگاه‌ها و شبکه شما را نمایش دهند. برای شبکه‌های خانگی، می‌توانید گراف‌هایی برای نظارت بر پهنای باند مصرفی، استفاده از پردازنده و وضعیت دستگاه‌ها ایجاد کنید.

  1. اضافه کردن دستگاه جدید به Cacti: پس از نصب و پیکربندی Cacti، باید دستگاه‌ها را به آن اضافه کنید. این دستگاه‌ها می‌توانند روتر، سوئیچ، کامپیوتر یا حتی دستگاه‌های IoT باشند.

دستور برای اضافه کردن دستگاه در Cacti:

  • وارد رابط کاربری Cacti شوید.
  • به بخش Devices بروید و دستگاه جدید را با آدرس IP و اطلاعات SNMP آن وارد کنید.
  1. ایجاد گراف برای دستگاه‌ها: پس از اضافه کردن دستگاه، باید گراف‌هایی برای آن ایجاد کنید.

دستور برای ایجاد گراف:

  • به بخش Graph Management بروید.
  • دستگاه مورد نظر را انتخاب کنید و گراف‌هایی برای آن ایجاد کنید (مثلاً گراف پهنای باند، CPU و RAM).

4. نظارت بر پهنای باند و عملکرد دستگاه‌ها

در یک شبکه خانگی، نظارت بر پهنای باند و مصرف منابع دستگاه‌ها می‌تواند بسیار مفید باشد. Cacti به شما این امکان را می‌دهد که به‌طور لحظه‌ای یا تاریخی عملکرد دستگاه‌ها را بررسی کنید.

  • نظارت بر پهنای باند اینترنت: می‌توانید گراف‌هایی برای بررسی میزان استفاده از اینترنت در شبکه خانگی ایجاد کنید.
  • نظارت بر مصرف منابع روتر و مودم: بسیاری از مودم‌ها و روترها می‌توانند اطلاعاتی مانند مصرف CPU، حافظه و پهنای باند را از طریق SNMP ارسال کنند. این اطلاعات می‌تواند برای پیشگیری از مشکلات مانند افت سرعت اینترنت یا مشکلات شبکه مفید باشد.

5. تنظیم هشدارها و گزارش‌ها

در شبکه‌های خانگی، تنظیم هشدارهای سفارشی برای مواقع بحرانی می‌تواند بسیار مفید باشد. Cacti این امکان را فراهم می‌کند که هشدارهایی را تنظیم کنید تا در صورتی که دستگاه‌ها عملکرد غیرعادی داشته باشند یا منابع آن‌ها از حد معین فراتر برود، به شما اطلاع داده شود.

تنظیم هشدارها در Cacti:

  1. به بخش Alerts بروید.
  2. یک هشدار جدید اضافه کنید و شرایط آن را برای وضعیت‌های مختلف مانند استفاده زیاد از CPU، افت پهنای باند، یا وضعیت پورت‌های شبکه تعیین کنید.

جمع‌بندی

استفاده از Cacti در شبکه‌های کوچک و خانگی، باوجود ساده بودن ساختار، می‌تواند به شما کمک کند تا عملکرد شبکه و دستگاه‌ها را به‌طور مؤثر نظارت کنید. نصب ساده، پیکربندی SNMP برای دستگاه‌ها، ایجاد گراف‌های ساده و تنظیم هشدارها و گزارش‌ها از ویژگی‌های بارز Cacti در این نوع شبکه‌ها هستند. حتی در شبکه‌های کوچک، استفاده از Cacti می‌تواند به پیشگیری از مشکلات و بهبود عملکرد شبکه کمک کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”کاربرد Cacti در دیتاسنترها و شبکه‌های سازمانی” subtitle=”توضیحات کامل”]Cacti به عنوان یک ابزار مانیتورینگ قوی و انعطاف‌پذیر، نه تنها برای شبکه‌های خانگی و کوچک، بلکه در دیتاسنترها و شبکه‌های سازمانی نیز کاربردهای گسترده‌ای دارد. این ابزار به مدیران شبکه امکان می‌دهد تا به‌طور مؤثر عملکرد شبکه و زیرساخت‌ها را نظارت کرده و مشکلات را پیش از وقوع بحران‌ها شناسایی کنند. در این بخش، نحوه استفاده از Cacti در دیتاسنترها و شبکه‌های سازمانی را بررسی خواهیم کرد.


1. نیاز به مانیتورینگ در دیتاسنترها و شبکه‌های سازمانی

در دیتاسنترها و شبکه‌های سازمانی، زیرساخت‌های پیچیده‌تری نسبت به شبکه‌های خانگی و کوچک وجود دارد که به مانیتورینگ دقیق‌تر و جامع‌تر نیاز دارند. این زیرساخت‌ها شامل تعداد زیادی سرور، روتر، سوئیچ، فایروال، دستگاه‌های ذخیره‌سازی و دیگر تجهیزات شبکه‌ای است که باید به‌طور مداوم تحت نظارت قرار گیرند.

ویژگی‌های زیر به‌ویژه در شبکه‌های سازمانی اهمیت دارد:

  • پهنای باند بالاتر: دیتاسنترها معمولاً پهنای باند بالاتری را ارائه می‌دهند که نظارت دقیق بر استفاده از آن اهمیت زیادی دارد.
  • تعداد زیاد دستگاه‌ها: در سازمان‌ها و دیتاسنترها، تعداد دستگاه‌هایی که باید نظارت شوند بسیار زیاد است.
  • حساسیت به امنیت و عملکرد: عملکرد صحیح شبکه و دستگاه‌ها در محیط‌های سازمانی بسیار حساس است، زیرا هرگونه مشکل می‌تواند منجر به از دست دادن داده‌ها، کاهش بهره‌وری و مشکلات امنیتی شود.

2. پیکربندی Cacti برای نظارت بر شبکه‌های سازمانی

برای استفاده از Cacti در شبکه‌های سازمانی و دیتاسنترها، نیاز است تا Cacti به‌طور مؤثر پیکربندی شود تا بتواند عملکرد شبکه و دستگاه‌ها را به‌دقت نظارت کند. در اینجا مراحل پیکربندی برای نظارت بهینه آورده شده است:

  1. نصب Cacti: نصب Cacti برای شبکه‌های سازمانی باید با توجه به پیش‌نیازهای شبکه و اندازه آن انجام شود. به طور معمول، این نصب شامل پیکربندی MySQL، Apache، PHP و SNMP است.

دستور نصب Cacti در اوبونتو (برای محیط‌های سازمانی):

sudo apt-get update
sudo apt-get install apache2 php php-mysql php-snmp snmp snmpd mysql-server
  1. پیکربندی پایگاه داده MySQL: Cacti نیاز به یک پایگاه داده MySQL دارد که باید برای آن پیکربندی شود.

دستور پیکربندی پایگاه داده برای Cacti:

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
  1. پیکربندی SNMP برای دستگاه‌ها: دستگاه‌های مختلف مانند روترها، سوئیچ‌ها، سرورها و تجهیزات ذخیره‌سازی در دیتاسنترها باید از SNMP برای ارسال اطلاعات به Cacti پشتیبانی کنند. پیکربندی SNMP در این دستگاه‌ها برای دریافت داده‌ها از آن‌ها ضروری است.

پیکربندی SNMP در روترها یا سوئیچ‌ها:

  • وارد صفحه تنظیمات دستگاه شوید.
  • SNMP را فعال کنید و یک Community String (مانند “public”) وارد کنید.
  1. ایجاد دستگاه‌ها در Cacti: برای هر دستگاه در شبکه، باید یک ورودی جدید در Cacti ایجاد کنید تا اطلاعات آن جمع‌آوری و نظارت شود.

دستور برای اضافه کردن دستگاه‌ها در Cacti:

  • وارد رابط کاربری Cacti شوید.
  • به بخش Devices بروید.
  • دستگاه جدید را با آدرس IP و اطلاعات SNMP وارد کنید.

3. ایجاد گراف‌های پیچیده برای نظارت بر دستگاه‌ها و شبکه

در شبکه‌های سازمانی و دیتاسنترها، نیاز به گراف‌های پیچیده و دقیق برای نظارت بر وضعیت دستگاه‌ها و عملکرد شبکه وجود دارد. این گراف‌ها می‌توانند شامل اطلاعات مختلف مانند میزان استفاده از CPU، حافظه، پهنای باند، وضعیت پورت‌ها، و دما باشند.

  1. ایجاد گراف برای دستگاه‌ها: بعد از اضافه کردن دستگاه‌ها به Cacti، باید گراف‌هایی برای نظارت بر آن‌ها ایجاد کنید. این گراف‌ها می‌توانند داده‌های مختلفی از قبیل پهنای باند ورودی و خروجی، مصرف CPU، استفاده از RAM و وضعیت سایر منابع دستگاه‌ها را نشان دهند.

دستور برای ایجاد گراف در Cacti:

  • به بخش Graph Management بروید.
  • دستگاه مورد نظر را انتخاب کنید.
  • گراف‌های مختلف را برای آن ایجاد کنید (برای مثال گراف‌های پهنای باند، CPU و حافظه).

4. استفاده از گراف‌های تاریخی و لحظه‌ای برای تحلیل عملکرد

در شبکه‌های سازمانی، تحلیل تاریخی داده‌ها و مشاهده تغییرات در طول زمان بسیار حائز اهمیت است. Cacti این امکان را می‌دهد که گراف‌هایی برای نمایش اطلاعات به‌صورت لحظه‌ای و تاریخی ایجاد کنید تا روند عملکرد دستگاه‌ها را در طول زمان تحلیل کنید.

  • گراف‌های تاریخی: می‌توانند برای مشاهده تغییرات در عملکرد دستگاه‌ها و شبکه در طول زمان استفاده شوند. این گراف‌ها به مدیران شبکه کمک می‌کنند تا الگوهای استفاده از منابع را شناسایی کنند و مشکلات بالقوه را پیش‌بینی کنند.
  • گراف‌های لحظه‌ای: این گراف‌ها برای نظارت در زمان واقعی به‌کار می‌روند و می‌توانند برای شناسایی مشکلات فوری مانند نوسانات پهنای باند یا استفاده زیاد از CPU مورد استفاده قرار گیرند.

5. تنظیم هشدارها و اطلاع‌رسانی‌ها

در دیتاسنترها و شبکه‌های سازمانی، نظارت صرفاً بر نمایش داده‌ها محدود نمی‌شود، بلکه باید سیستم‌های هشداردهی به‌صورت مؤثر تنظیم شوند. در این راستا، Cacti به شما این امکان را می‌دهد که هشدارهایی بر اساس معیارهای خاص ایجاد کنید.

تنظیم هشدارها در Cacti:

  • به بخش Alerts بروید.
  • یک هشدار جدید ایجاد کنید و شرایط آن را تعیین کنید (برای مثال، اگر مصرف CPU بیشتر از 90% شود، هشدار ارسال شود).

این هشدارها می‌توانند از طریق ایمیل یا سایر روش‌ها برای مدیران ارسال شوند تا آن‌ها بتوانند به‌سرعت واکنش نشان دهند.


6. یکپارچه‌سازی Cacti با دیگر ابزارهای مانیتورینگ

در شبکه‌های سازمانی، معمولاً نیاز به یکپارچه‌سازی ابزارهای مختلف برای مانیتورینگ کلی شبکه است. Cacti این امکان را به شما می‌دهد که به‌طور هم‌زمان از ابزارهای دیگری مانند Nagios یا Zabbix برای نظارت بر بخش‌های مختلف شبکه استفاده کنید.

Cacti همچنین می‌تواند داده‌های جمع‌آوری‌شده را به سیستم‌های گزارش‌دهی مختلف ارسال کرده و از این طریق، یک نمای کلی از وضعیت شبکه و دیتاسنتر به مدیران ارائه دهد.


جمع‌بندی

استفاده از Cacti در دیتاسنترها و شبکه‌های سازمانی، به‌ویژه در محیط‌های پیچیده و با حجم بالای داده، بسیار مؤثر است. نصب و پیکربندی دقیق Cacti، ایجاد گراف‌های پیچیده، تحلیل داده‌های لحظه‌ای و تاریخی، و تنظیم هشدارها و گزارش‌ها از مهم‌ترین ویژگی‌های Cacti در این محیط‌ها هستند. با استفاده از این ابزار، مدیران شبکه می‌توانند عملکرد شبکه و دستگاه‌ها را به‌طور مؤثر نظارت کرده و مشکلات احتمالی را پیش از وقوع بحران‌ها شناسایی کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. ابزارها و مفاهیم مرتبط”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”معرفی ابزارها و پروتکل‌های مرتبط با Cacti مانند SNMP، RRDTool” subtitle=”توضیحات کامل”]Cacti به عنوان یک ابزار مانیتورینگ شبکه، از چندین ابزار و پروتکل کلیدی برای جمع‌آوری، ذخیره‌سازی و تجزیه‌وتحلیل داده‌ها استفاده می‌کند. این ابزارها به Cacti این امکان را می‌دهند که عملکرد شبکه و دستگاه‌ها را به‌طور دقیق و مؤثر مانیتور کند. دو ابزار و پروتکل کلیدی که به طور ویژه در Cacti استفاده می‌شوند، SNMP و RRDTool هستند. در این بخش، به معرفی این ابزارها و پروتکل‌ها پرداخته و نحوه کاربرد آن‌ها در Cacti را بررسی می‌کنیم.


1. پروتکل SNMP (Simple Network Management Protocol)

SNMP یکی از پروتکل‌های مهم و اساسی است که در Cacti برای جمع‌آوری داده‌ها از دستگاه‌های شبکه استفاده می‌شود. SNMP به Cacti این امکان را می‌دهد که اطلاعاتی نظیر پهنای باند، وضعیت پورت‌ها، مصرف CPU و حافظه، دمای دستگاه‌ها و دیگر پارامترهای حیاتی را از تجهیزات شبکه (مانند روترها، سوئیچ‌ها، فایروال‌ها و سرورها) به‌دست آورد.

نحوه عملکرد SNMP در Cacti:
  1. جمع‌آوری داده‌ها: Cacti از SNMP برای پرس‌وجو از دستگاه‌های شبکه استفاده می‌کند. به عبارت دیگر، Cacti به‌طور دوره‌ای از دستگاه‌ها درخواست می‌کند که اطلاعات مربوط به عملکرد آن‌ها را از طریق SNMP ارسال کنند.
  2. پشتیبانی از نسخه‌های مختلف SNMP:
    • SNMPv1: نسخه اولیه و ساده پروتکل SNMP که اغلب با مشکل امنیت مواجه است.
    • SNMPv2c: نسخه‌ای که شامل بهبودهایی در عملکرد است ولی همچنان از نظر امنیتی ضعیف است.
    • SNMPv3: نسخه‌ای که از ویژگی‌های امنیتی قوی‌تری مانند رمزگذاری و احراز هویت استفاده می‌کند.
  3. Community String: برای استفاده از SNMP، باید یک رشته جامعه (Community String) در دستگاه مقصد پیکربندی شود. این رشته به‌عنوان یک پسورد ساده برای احراز هویت درخواست‌های SNMP عمل می‌کند.
پیکربندی SNMP در Cacti:

برای پیکربندی SNMP در Cacti، ابتدا باید دستگاه‌ها را اضافه کرده و رشته جامعه را وارد کنید.

مثال پیکربندی SNMP در Cacti:

  • در دستگاه‌های روتر یا سوئیچ، باید وارد تنظیمات SNMP شوید و community string را به‌طور مناسب پیکربندی کنید:
    snmp-server community public RO
    
  • سپس در Cacti، به بخش Devices بروید و آدرس IP دستگاه، نسخه SNMP و community string را وارد کنید.

2. RRDTool (Round Robin Database Tool)

RRDTool ابزاری برای ذخیره‌سازی داده‌ها به‌صورت زمان‌بندی‌شده است که در Cacti برای ذخیره‌سازی و تجزیه‌وتحلیل داده‌های جمع‌آوری‌شده از دستگاه‌ها استفاده می‌شود. این ابزار داده‌ها را در پایگاه‌داده‌ای با ساختار ویژه ذخیره کرده و به‌طور مؤثر گراف‌ها و نمودارهای مربوط به آن داده‌ها را تولید می‌کند.

ویژگی‌های کلیدی RRDTool:
  1. ذخیره‌سازی داده‌های زمانی: RRDTool برای ذخیره‌سازی داده‌ها در قالب زمان‌بندی‌شده طراحی شده است. داده‌ها به‌صورت دوره‌ای ذخیره می‌شوند و با گذشت زمان داده‌های قدیمی‌تر با میانگین‌سازی کاهش می‌یابند. این فرآیند باعث می‌شود که حجم داده‌های ذخیره‌شده محدود و بهینه باشد.
  2. ساختار Round-Robin: در RRDTool از ساختار پایگاه‌داده Round Robin استفاده می‌شود. این ساختار به این معناست که داده‌های قدیمی‌تر جایگزین داده‌های جدیدتر می‌شوند، اما همچنان به‌صورت آماری ذخیره می‌شوند. این ویژگی باعث می‌شود که RRDTool عملکردی بهینه در ذخیره‌سازی و تحلیل داده‌ها داشته باشد.
  3. گراف‌ها و نمودارها: RRDTool به‌طور خودکار گراف‌هایی را تولید می‌کند که عملکرد دستگاه‌ها و شبکه را نشان می‌دهند. این گراف‌ها می‌توانند به‌صورت لحظه‌ای یا تاریخی نمایش داده شوند و به مدیران شبکه کمک می‌کنند تا وضعیت دستگاه‌ها را تحلیل کنند.
نحوه استفاده از RRDTool در Cacti:

زمانی که داده‌ها توسط SNMP جمع‌آوری می‌شوند، Cacti از RRDTool برای ذخیره‌سازی و تولید گراف‌های تصویری استفاده می‌کند. Cacti به‌طور خودکار این گراف‌ها را به‌روزرسانی کرده و در صفحات مختلف به نمایش می‌گذارد.

مثال کد استفاده از RRDTool برای تولید گراف:

rrdtool create /var/lib/cacti/rra/device_rrd.rrd \
  --start N \
  --step 300 \
  DS:in:COUNTER:600:0:U \
  DS:out:COUNTER:600:0:U \
  RRA:AVERAGE:0.5:1:288 \
  RRA:MAX:0.5:1:288

در این کد، یک پایگاه‌داده RRD جدید برای نظارت بر ورودی و خروجی شبکه دستگاه ایجاد می‌شود. داده‌ها به‌طور دوره‌ای در این پایگاه‌داده ذخیره و میانگین‌سازی می‌شوند.


3. ترکیب SNMP و RRDTool در Cacti

Cacti با ترکیب دو ابزار SNMP و RRDTool توانسته است یک راهکار جامع برای مانیتورینگ شبکه و ذخیره‌سازی داده‌ها ارائه دهد. در این ترکیب:

  • SNMP داده‌ها را از دستگاه‌ها جمع‌آوری می‌کند.
  • RRDTool داده‌های جمع‌آوری‌شده را ذخیره کرده و از آن‌ها گراف‌ها و نمودارهایی تولید می‌کند.

این دو ابزار با هم به Cacti این امکان را می‌دهند که اطلاعات دقیق و تاریخی را در قالب گراف‌های قابل‌فهم برای مدیران شبکه نمایش دهد. به این ترتیب، Cacti به ابزاری قدرتمند و مؤثر برای نظارت بر شبکه‌ها تبدیل شده است.


جمع‌بندی

ابزارها و پروتکل‌هایی مانند SNMP و RRDTool اجزای حیاتی در ساختار Cacti هستند. SNMP مسئول جمع‌آوری داده‌ها از دستگاه‌های شبکه است، در حالی که RRDTool به ذخیره‌سازی و تجزیه‌وتحلیل داده‌های زمان‌بندی‌شده کمک می‌کند. این ترکیب به Cacti این امکان را می‌دهد که داده‌های شبکه را به‌طور مؤثر نظارت کرده، گراف‌های مفهومی تولید کند و اطلاعات تاریخی را برای تحلیل‌های بعدی ذخیره‌سازی نماید. Cacti با استفاده از این ابزارها، به یک سیستم قدرتمند و انعطاف‌پذیر برای مدیریت شبکه تبدیل شده است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی چگونگی استفاده از RRDTool برای گراف‌سازی داده‌ها” subtitle=”توضیحات کامل”]RRDTool یکی از ابزارهای کلیدی در Cacti است که برای ذخیره‌سازی داده‌های زمان‌بندی‌شده و تولید گراف‌های تصویری از آن‌ها استفاده می‌شود. این ابزار به‌طور خاص برای پردازش و نمایش داده‌هایی که به‌صورت دوره‌ای جمع‌آوری می‌شوند، طراحی شده است. در این بخش، نحوه استفاده از RRDTool برای گراف‌سازی داده‌ها را بررسی خواهیم کرد.


1. معرفی کلی RRDTool در گراف‌سازی

RRDTool مخفف Round Robin Database Tool است و به‌عنوان یک پایگاه‌داده مبتنی بر زمان عمل می‌کند. ویژگی اصلی این ابزار این است که داده‌های جدید را به‌طور مداوم در پایگاه‌داده وارد می‌کند و داده‌های قدیمی‌تر را حذف یا میانگین‌گیری می‌کند تا حجم پایگاه‌داده ثابت بماند. سپس، این داده‌ها برای تولید گراف‌های گرافیکی قابل‌فهم استفاده می‌شوند.

مراحل اصلی گراف‌سازی با RRDTool:

  1. ایجاد پایگاه‌داده RRD برای ذخیره داده‌های نظارت‌شده.
  2. وارد کردن داده‌ها به پایگاه‌داده RRD.
  3. ایجاد گراف‌ها از داده‌های ذخیره‌شده.

2. ایجاد پایگاه‌داده RRD برای ذخیره داده‌ها

قبل از اینکه بتوانیم گراف تولید کنیم، ابتدا باید یک پایگاه‌داده RRD برای ذخیره داده‌ها ایجاد کنیم. در این مثال، پایگاه‌داده‌ای برای نظارت بر مصرف CPU سرور ایجاد می‌شود.

دستور ایجاد پایگاه‌داده RRD:
rrdtool create cpu_usage.rrd \
  --start N \
  --step 300 \
  DS:cpu:GAUGE:600:0:100 \
  RRA:AVERAGE:0.5:1:288 \
  RRA:MAX:0.5:12:24
توضیح بخش‌های دستور بالا:
  • rrdtool create cpu_usage.rrd: ایجاد فایل پایگاه‌داده RRD با نام cpu_usage.rrd.
  • --start N: تعیین زمان شروع ذخیره داده‌ها (N به معنی زمان فعلی).
  • --step 300: تعیین فاصله زمانی (5 دقیقه) بین هر داده جدید.
  • DS:cpu:GAUGE:600:0:100: تعریف یک منبع داده (Data Source) با نام cpu که داده‌های لحظه‌ای را ذخیره می‌کند. محدوده مقدار آن از ۰ تا ۱۰۰ است.
  • RRA:AVERAGE:0.5:1:288: ذخیره مقادیر میانگین برای ۲۴ ساعت (هر 5 دقیقه یک نمونه، در مجموع 288 نمونه).
  • RRA:MAX:0.5:12:24: ذخیره حداکثر مقدار در هر یک ساعت (هر 12 نمونه میانگین‌گیری شده و 24 مقدار ذخیره می‌شود).

3. وارد کردن داده‌ها به پایگاه‌داده RRD

پس از ایجاد پایگاه‌داده، باید به‌طور مرتب داده‌های جدید را در آن ذخیره کنیم.

دستور افزودن داده جدید:
rrdtool update cpu_usage.rrd N:35

در این دستور:

  • cpu_usage.rrd نام پایگاه‌داده‌ای است که داده‌ها در آن ذخیره می‌شود.
  • N:35 به معنی این است که در لحظه‌ی فعلی (N)، مقدار CPU برابر با ۳۵ درصد است.

برای ورود داده‌های جدید در زمان‌های مختلف، از اسکریپت‌های خودکار یا کرون‌جاب (Cron Job) استفاده می‌شود.

مثال کرون‌جاب برای وارد کردن داده‌ها هر 5 دقیقه:
*/5 * * * * /usr/bin/rrdtool update /path/to/cpu_usage.rrd N:`cat /proc/loadavg | awk '{print $1}'`

این کرون‌جاب مقدار بار پردازنده را از فایل /proc/loadavg خوانده و آن را در پایگاه‌داده RRD ذخیره می‌کند.


4. ایجاد گراف‌های تصویری از داده‌ها

بعد از ذخیره‌سازی داده‌ها، می‌توان گراف‌های مربوطه را با استفاده از RRDTool تولید کرد.

دستور ایجاد گراف:
rrdtool graph cpu_usage.png \
  --start -1d --end now \
  --vertical-label "CPU Usage (%)" \
  --title "CPU Usage in the Last 24 Hours" \
  DEF:cpu=cpu_usage.rrd:cpu:AVERAGE \
  LINE2:cpu#FF0000:"CPU Usage"
توضیح بخش‌های دستور بالا:
  • rrdtool graph cpu_usage.png: ایجاد فایل تصویری گراف با نام cpu_usage.png.
  • --start -1d --end now: تعیین بازه زمانی از ۲۴ ساعت گذشته تا لحظه‌ی فعلی.
  • --vertical-label "CPU Usage (%)": تعیین عنوان محور عمودی نمودار.
  • --title "CPU Usage in the Last 24 Hours": تعیین عنوان گراف.
  • DEF:cpu=cpu_usage.rrd:cpu:AVERAGE: استخراج داده‌های CPU از پایگاه‌داده RRD و استفاده از مقدار میانگین.
  • LINE2:cpu#FF0000:"CPU Usage": نمایش مقدار CPU به‌صورت یک خط قرمز رنگ (#FF0000).
نمایش گراف در مرورگر:

می‌توان این گراف را در یک وب‌سرور قرار داد تا از طریق مرورگر مشاهده شود:

mv cpu_usage.png /var/www/html/

اکنون از طریق http://your-server-ip/cpu_usage.png می‌توان به گراف دسترسی داشت.


5. خودکارسازی تولید گراف در Cacti

در محیط Cacti، نیازی به اجرای دستی این دستورات نیست، زیرا Cacti از RRDTool برای تولید خودکار گراف‌ها استفاده می‌کند. برای این کار:

  1. افزودن منبع داده (Data Source) در Cacti:
    • به بخش Data Sources بروید.
    • یک منبع داده جدید با نوع RRDTool ایجاد کنید.
    • فایل RRD مربوطه را مشخص کنید.
  2. ایجاد گراف در Cacti:
    • به بخش Graph Management بروید.
    • یک گراف جدید ایجاد کنید و منبع داده‌ای که در مرحله قبل تعریف کردید را انتخاب کنید.
    • نوع گراف را تنظیم کنید (مثلاً Line یا Area).
    • تنظیمات را ذخیره کنید تا Cacti به‌طور خودکار گراف‌های شما را به‌روزرسانی کند.

جمع‌بندی

RRDTool یکی از مهم‌ترین ابزارهای مورد استفاده در Cacti برای ذخیره‌سازی داده‌های جمع‌آوری‌شده و تولید گراف‌های تصویری است. با استفاده از RRDTool، می‌توان اطلاعات عملکردی شبکه و سرورها را به‌صورت گرافیکی مشاهده و تحلیل کرد. مراحل استفاده از RRDTool شامل:

  1. ایجاد پایگاه‌داده RRD برای ذخیره داده‌های زمان‌بندی‌شده.
  2. وارد کردن داده‌ها به‌طور دوره‌ای به پایگاه‌داده.
  3. تولید گراف‌های تصویری برای نمایش داده‌های ذخیره‌شده.

Cacti این فرآیند را خودکار می‌کند و به مدیران شبکه اجازه می‌دهد بدون نیاز به اجرای دستی دستورات، وضعیت شبکه را به‌صورت گرافیکی مشاهده کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. چالش‌ها و محدودیت‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مشکلات احتمالی در استفاده از Cacti” subtitle=”توضیحات کامل”]استفاده از Cacti به‌عنوان یک ابزار مانیتورینگ شبکه می‌تواند چالش‌هایی را به همراه داشته باشد. این مشکلات ممکن است به دلیل خطاهای پیکربندی، مشکلات نرم‌افزاری یا محدودیت‌های خود ابزار رخ دهند. در ادامه، برخی از مشکلات رایج در استفاده از Cacti را بررسی کرده و راهکارهای پیشنهادی برای رفع آن‌ها را ارائه می‌کنیم.


1. مشکلات نصب و راه‌اندازی

Cacti نیاز به وابستگی‌هایی مانند PHP، MySQL/MariaDB، SNMP و RRDTool دارد. اگر یکی از این موارد به درستی نصب یا پیکربندی نشده باشد، ممکن است در اجرای Cacti دچار مشکل شوید.

مشکلات رایج و راه‌حل‌ها:
  • عدم نصب صحیح وابستگی‌ها
    • بررسی کنید که تمامی وابستگی‌های موردنیاز نصب شده‌اند:
      php -v
      mysql --version
      snmpwalk -V
      rrdtool -v
      
    • در صورت نبودن یک پکیج، آن را نصب کنید:
      sudo apt install php-mysql php-snmp rrdtool snmpd -y
      
  • عدم بارگیری صحیح صفحه وب Cacti
    • بررسی لاگ‌های آپاچی یا Nginx برای مشاهده خطاهای احتمالی:
      sudo tail -f /var/log/apache2/error.log
      
    • اطمینان حاصل کنید که ماژول PHP فعال است و آپاچی/NGINX را مجدداً راه‌اندازی کنید:
      sudo systemctl restart apache2
      

2. مشکل در جمع‌آوری داده‌ها (Polling Issues)

Cacti از یک موتور جمع‌آوری داده (Poller) استفاده می‌کند که داده‌ها را از منابع مختلف دریافت می‌کند. اگر این فرآیند به درستی انجام نشود، گراف‌ها به‌روزرسانی نخواهند شد.

مشکلات رایج و راه‌حل‌ها:
  • گراف‌ها داده‌ای نمایش نمی‌دهند (خالی هستند)
    • بررسی کنید که Poller فعال است:
      sudo systemctl status cacti
      
    • بررسی کنید که SNMP درست کار می‌کند:
      snmpwalk -v2c -c public localhost system
      
    • بررسی پایگاه‌داده برای خطاهای احتمالی:
      mysql -u cactiuser -p -e "SHOW TABLES FROM cacti;"
      
  • Poller اجرا نمی‌شود یا متوقف شده است
    • راه‌اندازی مجدد Poller:
      sudo systemctl restart cacti
      
    • اجرای دستی Poller برای بررسی مشکلات:
      php /usr/share/cacti/poller.php
      

3. افزایش بیش از حد حجم پایگاه‌داده MySQL

Cacti اطلاعات زیادی را در پایگاه‌داده ذخیره می‌کند و در صورتی که داده‌های قدیمی پاک نشوند، ممکن است باعث کندی سیستم شود.

راه‌حل:
  • حذف داده‌های قدیمی:
    DELETE FROM poller_output WHERE time < (UNIX_TIMESTAMP() - 86400);
    
  • فعال‌سازی جدول‌های چرخشی (Round-Robin) در RRDTool که باعث حذف خودکار داده‌های قدیمی می‌شود.

4. مشکلات مربوط به SNMP

Cacti برای جمع‌آوری داده‌ها به SNMP وابسته است. در صورتی که این سرویس به درستی کار نکند، ممکن است مانیتورینگ متوقف شود.

مشکلات رایج و راه‌حل‌ها:
  • بررسی صحت عملکرد SNMP روی سرور:
    sudo systemctl status snmpd
    
  • بررسی ارتباط SNMP با دستگاه‌های شبکه:
    snmpwalk -v2c -c public <IP-ADDRESS> system
    

    در صورت عدم دریافت پاسخ، بررسی کنید که فایروال یا تنظیمات امنیتی مانع اتصال نشده باشد.

  • تنظیم صحیح فایل کانفیگ SNMP در سرور:
    sudo nano /etc/snmp/snmpd.conf
    

    اطمینان حاصل کنید که SNMP برای Cacti فعال شده و به درستی پیکربندی شده است.


5. کندی رابط کاربری و بارگذاری گراف‌ها

در شبکه‌های بزرگ، Cacti ممکن است با کندی در نمایش داده‌ها و گراف‌ها مواجه شود.

راه‌حل‌های پیشنهادی:
  • افزایش مقدار memory_limit در PHP:
    sudo nano /etc/php/7.4/apache2/php.ini
    

    مقدار memory_limit را افزایش دهید:

    memory_limit = 512M
    

    سپس آپاچی را ری‌استارت کنید:

    sudo systemctl restart apache2
    
  • افزایش منابع سرور و تنظیمات MySQL:
    sudo nano /etc/mysql/my.cnf
    

    مقدار max_connections را افزایش دهید:

    max_connections = 500
    

6. مشکلات مجوزهای دسترسی (Permissions Issues)

Cacti برای عملکرد صحیح نیاز به دسترسی به برخی فایل‌ها و پوشه‌ها دارد. اگر این مجوزها تنظیم نشده باشند، ممکن است سرویس اجرا نشود.

بررسی و تنظیم مجوزها:
sudo chown -R www-data:www-data /usr/share/cacti
sudo chmod -R 775 /usr/share/cacti

سپس سرویس را مجدداً راه‌اندازی کنید:

sudo systemctl restart apache2

7. مشکلات مربوط به به‌روزرسانی Cacti

در برخی مواقع، پس از به‌روزرسانی Cacti، ممکن است داده‌های قبلی حذف شده یا دسترسی به برخی گراف‌ها از دست برود.

راه‌حل:
  • قبل از به‌روزرسانی، یک بکاپ از پایگاه‌داده و فایل‌های Cacti تهیه کنید:
    mysqldump -u root -p cacti > cacti_backup.sql
    tar -czvf cacti_backup.tar.gz /usr/share/cacti
    
  • پس از به‌روزرسانی، در صورت نیاز مجدداً تنظیمات را بررسی و اصلاح کنید.

جمع‌بندی

Cacti یک ابزار قدرتمند برای مانیتورینگ شبکه است، اما ممکن است در طول استفاده با مشکلاتی روبه‌رو شوید. برخی از مشکلات رایج شامل خطاهای نصب، عدم جمع‌آوری داده‌ها، کندی سیستم، مشکلات مربوط به SNMP و افزایش بیش از حد حجم پایگاه‌داده هستند. برای رفع این مشکلات، باید به درستی وابستگی‌ها را نصب کنید، تنظیمات پایگاه‌داده و PHP را بهینه‌سازی کنید، از SNMP صحیح استفاده کنید و مجوزهای دسترسی را تنظیم نمایید. رعایت این موارد باعث عملکرد بهتر Cacti در شبکه‌های کوچک و بزرگ خواهد شد.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”محدودیت‌های مربوط به مقیاس‌پذیری در شبکه‌های بسیار بزرگ” subtitle=”توضیحات کامل”]Cacti یکی از ابزارهای پرکاربرد برای مانیتورینگ شبکه است، اما مانند هر سیستم دیگری، در هنگام استفاده در شبکه‌های بسیار بزرگ و مقیاس‌پذیر ممکن است با محدودیت‌هایی مواجه شود. این محدودیت‌ها می‌توانند باعث کاهش کارایی، افزایش زمان پاسخگویی و حتی اختلال در عملکرد سیستم شوند. در ادامه به بررسی مهم‌ترین چالش‌های مرتبط با مقیاس‌پذیری Cacti در شبکه‌های بزرگ و راهکارهای پیشنهادی برای رفع آن‌ها می‌پردازیم.


1. افزایش حجم پایگاه داده و تأثیر بر عملکرد

Cacti برای ذخیره‌سازی داده‌های مانیتورینگ از MySQL یا MariaDB استفاده می‌کند. در شبکه‌های بزرگ، به دلیل حجم بالای داده‌های ذخیره‌شده، پایگاه‌داده ممکن است به مرور زمان کند شده و درخواست‌ها را با تأخیر پردازش کند.

مشکلات ناشی از حجم بالای پایگاه داده:
  • افزایش زمان واکشی داده‌ها و کند شدن نمایش گراف‌ها
  • بالا رفتن مصرف حافظه و پردازنده سرور پایگاه‌داده
  • پر شدن سریع فضای ذخیره‌سازی به دلیل حجم زیاد داده‌های Polling
راه‌حل‌های پیشنهادی:
  • فعال‌سازی حذف خودکار داده‌های قدیمی در پایگاه داده:
    DELETE FROM poller_output WHERE time < (UNIX_TIMESTAMP() - 2592000);
    

    (این دستور داده‌های قدیمی‌تر از 30 روز را حذف می‌کند.)

  • بهینه‌سازی پایگاه‌داده با فشرده‌سازی جداول:
    mysqlcheck -o cacti -u root -p
    
  • افزایش منابع سخت‌افزاری سرور پایگاه داده (RAM، CPU، Storage SSD)
  • استفاده از Sharding یا پایگاه‌داده‌های توزیع‌شده برای تقسیم بار پردازشی

2. محدودیت در تعداد دستگاه‌های مانیتور شده (Polling Limitations)

Cacti برای جمع‌آوری داده‌ها از دستگاه‌های شبکه از Polling Engine استفاده می‌کند. این Poller در بازه‌های زمانی مشخص، اطلاعات موردنیاز را از طریق SNMP یا سایر پروتکل‌ها جمع‌آوری کرده و در پایگاه داده ذخیره می‌کند.

مشکلات در شبکه‌های بزرگ:
  • افزایش زمان Polling در صورت افزایش تعداد دستگاه‌ها
  • کاهش دقت داده‌ها به دلیل افزایش فاصله زمانی بین Polling‌ها
  • مصرف بالای CPU و پهنای باند شبکه
راه‌حل‌های پیشنهادی:
  • کاهش زمان Polling و استفاده از Multi-Threaded Polling در تنظیمات Cacti
  • استفاده از Pollerهای توزیع‌شده (Distributed Pollers) برای توزیع بار کاری
    • تنظیم یک Poller اضافی در یک سرور دیگر:
      sudo nano /etc/cacti/poller.php
      

      و تنظیم مقدار مناسب برای توزیع بار Polling

  • افزایش مقدار Max Concurrent Pollers در تنظیمات Cacti

3. کند شدن رابط کاربری در شبکه‌های بزرگ

Cacti دارای یک رابط گرافیکی تحت وب (GUI) است که از PHP و Apache/Nginx استفاده می‌کند. در شبکه‌های بسیار بزرگ، کند شدن نمایش صفحات و گراف‌ها یکی از مشکلات رایج است.

مشکلات احتمالی:
  • بار زیاد روی سرور وب به دلیل پردازش زیاد درخواست‌ها
  • زمان بارگیری طولانی برای نمایش گراف‌های حجیم
  • کند شدن فیلترگذاری و جستجو در دستگاه‌های مانیتور شده
راه‌حل‌های پیشنهادی:
  • فعال‌سازی Caching برای کاهش بار پردازشی Apache/Nginx
    • برای Nginx:
      sudo nano /etc/nginx/nginx.conf
      

      اضافه کردن:

      fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=cacti_cache:10m inactive=60m;
      
  • فعال‌سازی فشرده‌سازی Gzip در Apache/Nginx برای کاهش حجم صفحات وب
  • استفاده از Load Balancer برای تقسیم بار بین چندین سرور وب
  • بهینه‌سازی PHP برای پردازش سریع‌تر درخواست‌ها:
    sudo nano /etc/php/7.4/apache2/php.ini
    

    افزایش مقدار memory_limit:

    memory_limit = 512M
    

4. افزایش مصرف منابع سرور (CPU، RAM، Storage)

با رشد تعداد دستگاه‌های مانیتور شده و حجم داده‌های جمع‌آوری‌شده، سرور Cacti ممکن است به دلیل مصرف بالای CPU، RAM و فضای ذخیره‌سازی دچار مشکل شود.

مشکلات احتمالی:
  • افزایش Load Average سرور و کند شدن سرویس‌ها
  • کمبود فضای دیسک به دلیل ذخیره‌سازی داده‌های RRDTool
  • مصرف بیش از حد RAM در پردازش گراف‌های سنگین
راه‌حل‌های پیشنهادی:
  • افزایش مقدار Max Memory و Thread Limit در تنظیمات PHP و MySQL
  • انتقال RRDTool به یک سرور مجزا برای کاهش فشار روی سرور اصلی
  • افزایش ظرفیت ذخیره‌سازی و استفاده از دیسک‌های SSD برای پردازش سریع‌تر
  • استفاده از روش‌های Load Balancing و Clustering برای توزیع بار پردازشی

5. محدودیت‌های SNMP در شبکه‌های بزرگ

Cacti معمولاً برای مانیتورینگ دستگاه‌های شبکه از SNMP استفاده می‌کند، اما این پروتکل در مقیاس‌های بزرگ دارای محدودیت‌هایی است.

مشکلات رایج:
  • افزایش تأخیر در دریافت پاسخ‌ها در صورتی که تعداد زیادی دستگاه مانیتور شوند
  • مشکلات امنیتی در SNMP نسخه 1 و 2 (توصیه به استفاده از SNMPv3)
  • مصرف بیش از حد پهنای باند برای جمع‌آوری داده‌ها
راه‌حل‌های پیشنهادی:
  • مهاجرت به SNMP نسخه 3 برای امنیت و عملکرد بهتر:
    snmpwalk -v3 -u myuser -l authPriv -a SHA -A mypassword -x AES -X myencryptionpassword <IP>
    
  • کاهش تعداد درخواست‌های SNMP با افزایش بازه زمانی Polling برای دستگاه‌های کم‌اهمیت
  • استفاده از روش‌های موازی‌سازی (Parallel SNMP Polling) برای جمع‌آوری داده‌ها سریع‌تر

جمع‌بندی

Cacti یکی از ابزارهای محبوب برای مانیتورینگ شبکه است، اما در شبکه‌های بسیار بزرگ ممکن است با محدودیت‌هایی روبه‌رو شود. این محدودیت‌ها شامل افزایش حجم پایگاه‌داده، کاهش سرعت Polling، کندی رابط کاربری، مصرف بالای منابع سرور و مشکلات مرتبط با SNMP هستند. برای حل این چالش‌ها، باید بهینه‌سازی پایگاه داده، استفاده از Pollerهای توزیع‌شده، بهینه‌سازی سرور وب و پایگاه داده، و افزایش منابع سخت‌افزاری را در نظر گرفت. رعایت این نکات به بهبود عملکرد و مقیاس‌پذیری Cacti در شبکه‌های بزرگ کمک خواهد کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”روش‌های مقابله با چالش‌های مقیاس‌پذیری در Cacti” subtitle=”توضیحات کامل”]با رشد شبکه و افزایش تعداد دستگاه‌های مانیتور شده، Cacti ممکن است با چالش‌هایی از جمله کندی پردازش، افزایش حجم پایگاه‌داده، کاهش سرعت Polling، مصرف بالای منابع سرور و مشکلات مرتبط با SNMP مواجه شود. در این بخش، روش‌های بهینه‌سازی و راهکارهای فنی برای مقابله با این چالش‌ها بررسی می‌شود.


1. بهینه‌سازی پایگاه‌داده MySQL/MariaDB برای جلوگیری از کندی

مشکلات:
  • افزایش حجم جداول و کاهش سرعت کوئری‌ها
  • مصرف بالای پردازنده در هنگام پردازش داده‌های حجیم
  • تأخیر در نمایش گراف‌ها به دلیل کندی واکشی داده‌ها
راهکارها:

فعال‌سازی حذف خودکار داده‌های قدیمی برای جلوگیری از افزایش حجم پایگاه داده:

DELETE FROM poller_output WHERE time < (UNIX_TIMESTAMP() - 2592000);

(حذف داده‌های قدیمی‌تر از 30 روز برای کاهش حجم پایگاه داده)

بهینه‌سازی و فشرده‌سازی جداول MySQL:

mysqlcheck -o cacti -u root -p

فعال‌سازی Indexing روی جداول حجیم برای بهبود سرعت جستجو:

ALTER TABLE poller_output ADD INDEX (time);

افزایش مقدار max_connections و query_cache_size در تنظیمات MySQL:
ویرایش فایل my.cnf:

sudo nano /etc/mysql/my.cnf

اضافه کردن مقادیر زیر:

[mysqld]
max_connections = 500
query_cache_size = 64M
innodb_buffer_pool_size = 512M

سپس راه‌اندازی مجدد MySQL:

sudo systemctl restart mysql

2. بهینه‌سازی Polling برای جلوگیری از تأخیر در جمع‌آوری داده‌ها

مشکلات:
  • طولانی شدن زمان Polling با افزایش تعداد دستگاه‌ها
  • استفاده زیاد از CPU به دلیل پردازش‌های سنگین
  • کندی در دریافت داده‌های SNMP
راهکارها:

فعال‌سازی Polling چند رشته‌ای (Multi-Threaded Polling) برای پردازش همزمان چندین درخواست:
ویرایش فایل تنظیمات Poller:

sudo nano /etc/cacti/poller.php

افزایش مقدار Max Concurrent Pollers به عدد بالاتر:

$max_threads = 10;

استفاده از Pollerهای توزیع‌شده (Distributed Pollers) برای کاهش بار پردازشی روی سرور اصلی
در سرور Poller جدید:

sudo nano /etc/cacti/poller.php

تنظیم مقدار مناسب برای توزیع بار Polling.

کاهش تعداد Polling‌ها برای دستگاه‌های کم‌اهمیت با افزایش زمان نمونه‌گیری
تنظیم مقدار Polling Interval در Cacti برای دستگاه‌های کمتر ضروری به مقدار بالاتر (مثلاً از 1 دقیقه به 5 دقیقه تغییر دهید).


3. بهینه‌سازی رابط گرافیکی Cacti برای جلوگیری از کند شدن UI

مشکلات:
  • کند شدن نمایش صفحات
  • تأخیر در بارگذاری گراف‌ها
  • افزایش مصرف منابع سرور وب
راهکارها:

فعال‌سازی Caching در وب‌سرور برای کاهش زمان پردازش صفحات
🔹 در Nginx:
ویرایش فایل تنظیمات:

sudo nano /etc/nginx/nginx.conf

اضافه کردن کشینگ:

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=cacti_cache:10m inactive=60m;

راه‌اندازی مجدد Nginx:

sudo systemctl restart nginx

🔹 در Apache:
فعال‌سازی ماژول کشینگ:

sudo a2enmod cache
sudo a2enmod cache_disk
sudo systemctl restart apache2

فشرده‌سازی خروجی صفحات وب با Gzip برای کاهش حجم داده‌های منتقل‌شده
🔹 در Nginx:

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

بهینه‌سازی PHP برای پردازش سریع‌تر درخواست‌ها
ویرایش تنظیمات PHP:

sudo nano /etc/php/7.4/apache2/php.ini

افزایش مقدار memory_limit:

memory_limit = 512M

راه‌اندازی مجدد PHP:

sudo systemctl restart apache2

4. افزایش منابع سرور برای پردازش بهتر داده‌ها

مشکلات:
  • کمبود RAM و افزایش Swap
  • افزایش مصرف CPU در پردازش‌های سنگین
  • کمبود فضای ذخیره‌سازی برای داده‌های RRDTool
راهکارها:

افزایش RAM و استفاده از SSD برای کاهش زمان خواندن و نوشتن داده‌ها
استفاده از Load Balancer برای تقسیم بار بین چندین سرور مانیتورینگ
انتقال RRDTool به یک سرور مجزا برای کاهش بار پردازشی روی سرور اصلی


5. بهینه‌سازی SNMP برای جمع‌آوری سریع‌تر و ایمن‌تر داده‌ها

مشکلات:
  • کندی دریافت داده‌ها در شبکه‌های بزرگ
  • مشکلات امنیتی در SNMPv1 و SNMPv2
  • مصرف بالای پهنای باند
راهکارها:

مهاجرت به SNMPv3 برای افزایش امنیت و کاهش تأخیر

snmpwalk -v3 -u myuser -l authPriv -a SHA -A mypassword -x AES -X myencryptionpassword <IP>

افزایش تعداد Polling‌های همزمان برای پردازش سریع‌تر داده‌ها

snmpbulkget -v 2c -c public <IP> system

کاهش تعداد درخواست‌های غیرضروری با تنظیم SNMP Agent برای جمع‌آوری فقط اطلاعات مهم
ویرایش فایل تنظیمات SNMP Agent:

sudo nano /etc/snmp/snmpd.conf

اضافه کردن محدودیت دسترسی به OIDهای ضروری:

view    systemonly  included   .1.3.6.1.2.1.1
view    systemonly  included   .1.3.6.1.2.1.2

راه‌اندازی مجدد سرویس SNMP:

sudo systemctl restart snmpd

جمع‌بندی

برای بهینه‌سازی Cacti و جلوگیری از مشکلات مقیاس‌پذیری، باید اقدامات زیر را انجام داد:

  • بهینه‌سازی پایگاه داده MySQL با حذف داده‌های قدیمی و استفاده از Indexing
  • استفاده از Polling چند رشته‌ای (Multi-Threaded Polling) و Pollerهای توزیع‌شده
  • فعال‌سازی Caching در وب‌سرور (Nginx/Apache) و بهینه‌سازی PHP
  • افزایش منابع سخت‌افزاری (RAM، SSD، CPU) و انتقال RRDTool به سرور مجزا
  • استفاده از SNMPv3 و کاهش درخواست‌های غیرضروری برای بهبود عملکرد Polling

با این اقدامات، Cacti می‌تواند در شبکه‌های بزرگ عملکرد بهتری داشته باشد و از کندی و مشکلات مقیاس‌پذیری جلوگیری کند. 🚀[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 2. نصب و راه‌اندازی Cacti”][cdb_course_lesson title=”فصل 1. پیش‌نیازهای نرم‌افزاری و سخت‌افزاری”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”حداقل نیازمندی‌های سخت‌افزاری برای اجرای Cacti” subtitle=”توضیحات کامل”]برای اجرای Cacti در محیط‌های مختلف (شبکه‌های کوچک، متوسط و بزرگ)، به سخت‌افزار مناسب نیاز است. در این بخش، حداقل نیازمندی‌های سخت‌افزاری و پیشنهادات بهینه برای مقیاس‌های مختلف ارائه شده است.


1. نیازمندی‌های پایه برای نصب Cacti

پردازنده (CPU): حداقل 2 هسته‌ای (ترجیحاً Intel Xeon یا AMD Ryzen)
حافظه رم (RAM): حداقل 2 گیگابایت (برای شبکه‌های کوچک)
فضای ذخیره‌سازی (Storage): حداقل 10 گیگابایت (SSD پیشنهاد می‌شود)
سیستم‌عامل: Linux (Ubuntu, Debian, CentOS) یا Windows Server
پایگاه‌داده: MySQL یا MariaDB
وب‌سرور: Apache یا Nginx
SNMP فعال برای جمع‌آوری داده‌ها

⚠️ توجه:

  • در صورت استفاده از SNMP Polling زیاد، به CPU و RAM بیشتری نیاز خواهد بود.
  • استفاده از هارد SSD به شدت توصیه می‌شود تا پردازش داده‌های RRDTool سریع‌تر انجام شود.

2. مشخصات پیشنهادی برای مقیاس‌های مختلف

مقیاس شبکه CPU RAM Storage مناسب برای
کوچک 2 هسته‌ای 2.0GHz 2-4GB 20GB SSD 50 دستگاه
متوسط 4 هسته‌ای 3.0GHz 8GB 50GB SSD 200 دستگاه
بزرگ 8 هسته‌ای 3.5GHz 16GB 100GB SSD 500 دستگاه
بسیار بزرگ 16 هسته‌ای Xeon 32GB+ 500GB NVMe SSD 1000+ دستگاه

⚠️ برای شبکه‌های بسیار بزرگ:

  • استفاده از Pollerهای توزیع‌شده (Distributed Pollers) توصیه می‌شود.
  • انتقال پایگاه‌داده MySQL به یک سرور مجزا عملکرد را بهبود می‌بخشد.
  • در صورت استفاده از Virtualization (مانند VMware ESXi یا Proxmox)، باید منابع بیشتری در نظر گرفته شود.

3. دستورات بررسی منابع سیستم در لینوکس

🔹 بررسی مقدار RAM و CPU:

free -h
lscpu

🔹 بررسی میزان فضای خالی دیسک:

df -h

🔹 بررسی مصرف منابع توسط Cacti:

top -b -n1 | grep "cacti"

جمع‌بندی

🔹 حداقل سخت‌افزار برای Cacti یک CPU دو هسته‌ای، 2GB RAM و 10GB فضای ذخیره‌سازی است.
🔹 برای شبکه‌های بزرگ‌تر، CPU و RAM بیشتری نیاز است و استفاده از Pollerهای توزیع‌شده توصیه می‌شود.
🔹 استفاده از هارد SSD یا NVMe برای بهبود سرعت پردازش داده‌های RRDTool بسیار مؤثر است.
🔹 با استفاده از دستورات مانیتورینگ لینوکس می‌توان منابع سیستم را بررسی و در صورت نیاز ارتقا داد. 🚀[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نسخه‌های مورد نیاز از PHP، MySQL، Apache یا Nginx برای نصب Cacti” subtitle=”توضیحات کامل”]برای اجرای بهینه Cacti، نیاز به نصب نرم‌افزارهای وابسته با نسخه‌های مشخصی داریم. در این بخش، نسخه‌های پیشنهادی و سازگار با Cacti ارائه شده است.


1. نسخه‌های مورد نیاز برای اجرای Cacti

PHP: حداقل 7.2 (پیشنهادی: 8.0 یا بالاتر)
MySQL / MariaDB: حداقل 5.7 یا MariaDB 10.2 (پیشنهادی: MySQL 8.0 یا MariaDB 10.5+)
Apache: حداقل 2.4 (پیشنهادی: 2.4.6 یا بالاتر)
Nginx: حداقل 1.14 (پیشنهادی: 1.18 یا بالاتر)
RRDTool: حداقل 1.4.x (پیشنهادی: 1.7.x یا بالاتر)

⚠️ نکات مهم:

  • نسخه‌های قدیمی‌تر از PHP 7.2 دیگر پشتیبانی نمی‌شوند.
  • برای عملکرد بهتر در پردازش گراف‌ها، RRDTool 1.7 به بالا توصیه می‌شود.
  • MySQL 8.0 از بهینه‌سازی‌های بهتری برای پردازش حجم بالای داده‌ها بهره می‌برد.
  • اگر از Nginx استفاده می‌کنید، نیاز به تنظیمات خاصی برای FastCGI خواهید داشت.

2. نصب نسخه‌های مورد نیاز در لینوکس (Ubuntu/Debian)

🔹 نصب Apache، PHP و MySQL:

sudo apt update
sudo apt install apache2 php php-mysql php-snmp php-gd php-xml php-mbstring php-intl php-zip libapache2-mod-php mysql-server -y

🔹 نصب Nginx به جای Apache:

sudo apt update
sudo apt install nginx php-fpm php-mysql php-snmp php-gd php-xml php-mbstring php-intl php-zip mysql-server -y

🔹 نصب RRDTool:

sudo apt install rrdtool -y

🔹 بررسی نسخه‌های نصب‌شده:

php -v
mysql --version
apache2 -v  # برای Apache
nginx -v    # برای Nginx
rrdtool -v

3. تنظیمات پیشنهادی برای PHP

🔹 ویرایش فایل تنظیمات PHP:

sudo nano /etc/php/8.0/apache2/php.ini

🔹 موارد پیشنهادی برای بهبود عملکرد Cacti:

memory_limit = 512M
max_execution_time = 300
post_max_size = 16M
upload_max_filesize = 16M
date.timezone = Asia/Tehran

🔹 اعمال تغییرات و راه‌اندازی مجدد سرویس وب:

sudo systemctl restart apache2  # برای Apache
sudo systemctl restart nginx php-fpm  # برای Nginx

4. بررسی عملکرد سرویس‌ها

🔹 بررسی وضعیت Apache یا Nginx:

sudo systemctl status apache2  # برای Apache
sudo systemctl status nginx  # برای Nginx

🔹 بررسی اجرای MySQL:

sudo systemctl status mysql

جمع‌بندی

✅ نسخه‌های پیشنهادی: PHP 8.0+، MySQL 8.0+، Apache 2.4+، Nginx 1.18+
RRDTool 1.7+ برای پردازش بهتر گراف‌ها پیشنهاد می‌شود.
✅ در صورت استفاده از Nginx، باید FastCGI و PHP-FPM را تنظیم کنید.
✅ برای بهبود عملکرد، تغییرات در php.ini و تنظیمات MySQL پیشنهاد می‌شود.
✅ با دستورات بررسی نسخه و وضعیت سرویس‌ها می‌توان صحت عملکرد نرم‌افزارها را تأیید کرد. 🚀[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی قابلیت SNMP در دستگاه‌های شبکه” subtitle=”توضیحات کامل”]SNMP (Simple Network Management Protocol) یکی از پروتکل‌های استاندارد مدیریت شبکه است که برای مانیتورینگ، مدیریت و کنترل دستگاه‌های شبکه‌ای مانند روترها، سوئیچ‌ها، سرورها، فایروال‌ها و سایر تجهیزات متصل به شبکه استفاده می‌شود. این پروتکل داده‌های عملکردی و وضعیت سیستم را جمع‌آوری کرده و امکان نظارت و مدیریت از راه دور را فراهم می‌کند.


قابلیت‌های کلیدی SNMP در دستگاه‌های شبکه

مانیتورینگ عملکرد تجهیزات شبکه (مشاهده پهنای باند، پردازشگر، حافظه و سایر پارامترها)
مدیریت از راه دور (ارسال و دریافت دستورات مدیریتی)
ارسال هشدارهای خودکار در صورت بروز مشکلات (مانند افزایش بیش از حد ترافیک یا خرابی سخت‌افزار)
جمع‌آوری داده‌ها به‌صورت دوره‌ای برای تحلیل و بررسی در طول زمان
سازگاری گسترده با انواع سیستم‌ها و نرم‌افزارهای مانیتورینگ مانند Cacti، Zabbix، Nagios، PRTG


ساختار و اجزای اصلی SNMP

SNMP از سه جزء اصلی تشکیل شده است:

1️⃣ مدیریت‌کننده SNMP (SNMP Manager)

  • سیستم مرکزی که اطلاعات را از تجهیزات شبکه جمع‌آوری می‌کند.
  • معمولاً یک سرور مانیتورینگ مانند Cacti، Zabbix یا PRTG نقش آن را بر عهده دارد.

2️⃣ عامل SNMP (SNMP Agent)

  • نرم‌افزاری که روی دستگاه‌های شبکه اجرا می‌شود و اطلاعات را جمع‌آوری و به مدیریت‌کننده ارسال می‌کند.
  • در روترها، سوئیچ‌ها و سرورها به‌صورت پیش‌فرض فعال است یا می‌توان آن را تنظیم کرد.

3️⃣ پایگاه اطلاعات مدیریتی (MIB – Management Information Base)

  • پایگاه داده‌ای که شامل مجموعه‌ای از Object ID (OID) است و پارامترهای قابل مانیتورینگ دستگاه‌ها را تعریف می‌کند.
  • به عنوان مثال، یک OID می‌تواند نشان‌دهنده میزان استفاده از پردازنده یک روتر باشد.

نسخه‌های مختلف SNMP

🔹 SNMPv1: نسخه اولیه و ساده، با امنیت پایین
🔹 SNMPv2c: بهبود عملکرد، پشتیبانی از ارسال Trap و پاسخ‌دهی دسته‌ای
🔹 SNMPv3: امنیت بالا با رمزگذاری و احراز هویت (توصیه‌شده برای شبکه‌های سازمانی)


فعال‌سازی SNMP در دستگاه‌های مختلف

1. فعال‌سازی SNMP در لینوکس (Ubuntu/Debian)

🔹 نصب SNMP و ابزارهای مرتبط:

sudo apt update
sudo apt install snmp snmpd -y

🔹 ویرایش فایل تنظیمات SNMP:

sudo nano /etc/snmp/snmpd.conf

🔹 فعال‌سازی دسترسی از طریق شبکه (ویرایش خط‌های زیر):

agentAddress udp:161,udp6:[::1]:161
rocommunity public 192.168.1.0/24

🔹 اعمال تغییرات و راه‌اندازی مجدد سرویس:

sudo systemctl restart snmpd

🔹 بررسی وضعیت سرویس SNMP:

sudo systemctl status snmpd

2. فعال‌سازی SNMP در روترها و سوئیچ‌های سیسکو

🔹 ورود به حالت پیکربندی:

configure terminal

🔹 فعال‌سازی SNMP و تنظیم یک Community String (مانند “public”)

snmp-server community public RO

🔹 فعال‌سازی SNMP نسخه 3 (با رمزگذاری و احراز هویت):

snmp-server group AdminGroup v3 priv
snmp-server user AdminUser AdminGroup v3 auth md5 MySecurePass priv des MySecureKey

🔹 ذخیره تنظیمات:

write memory

3. تست و بررسی SNMP در شبکه

🔹 بررسی ارتباط با دستگاه از طریق SNMP:

snmpwalk -v 2c -c public 192.168.1.1

🔹 دریافت مقدار مشخص از MIB (مثلاً اطلاعات پردازنده):

snmpget -v 2c -c public 192.168.1.1 .1.3.6.1.2.1.25.3.3.1.2.1

جمع‌بندی

SNMP یک پروتکل استاندارد برای مانیتورینگ و مدیریت تجهیزات شبکه است.
✅ این پروتکل از طریق عامل (Agent) روی تجهیزات مختلف اجرا شده و اطلاعات را برای مدیریت‌کننده (Manager) ارسال می‌کند.
✅ نسخه‌های مختلف SNMPv1، SNMPv2c و SNMPv3 برای سطوح امنیتی متفاوت در دسترس هستند.
SNMP می‌تواند روی سرورها، روترها، سوئیچ‌ها و سایر تجهیزات شبکه فعال شود و با ابزارهایی مانند Cacti، Zabbix، Nagios و Grafana یکپارچه گردد.
✅ برای فعال‌سازی SNMP در لینوکس، سیسکو و سایر تجهیزات، نیاز به پیکربندی دقیق و رعایت ملاحظات امنیتی وجود دارد. 🚀[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. دانلود و نصب Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”انتخاب بین بسته‌های نصبی یا نصب دستی Cacti” subtitle=”توضیحات کامل”]در هنگام نصب Cacti، دو روش اصلی وجود دارد: استفاده از بسته‌های نصبی (مانند پکیج‌های موجود در سیستم‌های مبتنی بر لینوکس یا ویندوز) یا انجام نصب دستی با دانلود و پیکربندی نرم‌افزار از ابتدا. در این بخش به مقایسه این دو روش پرداخته می‌شود تا به شما کمک کند بهترین گزینه را برای نیازهای خاص خود انتخاب کنید.


1. نصب با استفاده از بسته‌های نصبی

بسته‌های نصبی معمولاً از قبل پیکربندی و تنظیم شده‌اند و نصب آن‌ها ساده‌تر است. این روش بیشتر برای کسانی که نیاز به یک راه‌حل سریع و آسان دارند مناسب است. بسته‌های نصبی به طور معمول شامل همه پیش‌نیازهای لازم (مانند Apache، PHP، MySQL/MariaDB و SNMP) هستند و نیاز به پیکربندی پیچیده‌تری ندارند.

مزایای نصب با بسته‌های نصبی:
  • سرعت نصب بالا: با استفاده از بسته‌های نصبی، نصب Cacti سریع و ساده است.
  • پیکربندی خودکار: اکثر تنظیمات اصلی مانند پایگاه داده، وب‌سرور و SNMP به طور خودکار پیکربندی می‌شوند.
  • تسهیل در بروزرسانی‌ها: به‌روزرسانی‌های سیستم‌عامل و بسته‌های نصبی به‌صورت یکپارچه و ساده انجام می‌شود.
  • مناسب برای کاربران مبتدی یا پروژه‌های کوچک: این روش برای افرادی که آشنایی کمی با پیکربندی سیستم‌ها دارند یا برای پروژه‌های کوچک مناسب‌تر است.
معایب نصب با بسته‌های نصبی:
  • انعطاف‌پذیری کم‌تر: بسته‌های نصبی معمولاً تنظیمات سفارشی زیادی ارائه نمی‌دهند و برخی ویژگی‌های خاص ممکن است در این بسته‌ها در دسترس نباشند.
  • وابستگی به پکیج‌ها: این بسته‌ها به توزیع و نسخه‌های خاص سیستم‌عامل وابسته هستند که ممکن است در برخی موارد محدودیت ایجاد کنند.
  • محدودیت در سفارشی‌سازی: در برخی موارد، شما نمی‌توانید به راحتی برخی از تنظیمات را تغییر دهید یا سفارشی کنید.
روش نصب با بسته‌های نصبی در لینوکس (مثال برای Ubuntu):

برای نصب Cacti در لینوکس از طریق بسته‌های نصبی به راحتی می‌توانید از دستورات زیر استفاده کنید:

sudo apt update
sudo apt install cacti

پس از نصب، می‌توانید Cacti را در آدرس http://localhost/cacti مشاهده کنید.


2. نصب دستی Cacti

نصب دستی Cacti شامل دانلود آخرین نسخه Cacti از وب‌سایت رسمی آن و پیکربندی تمامی پیش‌نیازها به صورت دستی است. این روش معمولاً برای کسانی مناسب است که نیاز به کنترل بیشتر روی فرآیند نصب و پیکربندی دارند و می‌خواهند Cacti را برای مقیاس‌ها و تنظیمات خاص خود سفارشی کنند.

مزایای نصب دستی:
  • انعطاف‌پذیری بالا: شما می‌توانید تمامی تنظیمات و پیکربندی‌ها را به دلخواه خود انجام دهید و از تنظیمات پیشرفته‌تری مانند استفاده از Nginx به جای Apache یا MariaDB به جای MySQL استفاده کنید.
  • کنترل بیشتر بر نصب و پیش‌نیازها: شما می‌توانید دقیقاً مشخص کنید که کدام نسخه از PHP، MySQL، SNMP و RRDTool نصب شود و از آخرین نسخه‌های موجود استفاده کنید.
  • سفارشی‌سازی کامل: شما قادر خواهید بود تنظیمات خاص شبکه، امنیت، دسترسی و گراف‌ها را طبق نیازهای خاص خود پیاده‌سازی کنید.
معایب نصب دستی:
  • پیچیدگی بیشتر: نصب دستی نیاز به آگاهی بیشتر از نحوه پیکربندی سیستم‌ها و پیش‌نیازها دارد.
  • زمان‌بر بودن: فرآیند نصب و پیکربندی دستی ممکن است زمان زیادی از شما بگیرد، به‌ویژه اگر نیاز به تنظیمات خاصی داشته باشید.
  • نیاز به بروزرسانی‌های دستی: پس از نصب، به‌روزرسانی‌ها و نگهداری از سیستم نیاز به دخالت دستی بیشتری دارند.
روش نصب دستی در لینوکس:

برای نصب دستی Cacti، ابتدا باید پیش‌نیازها را نصب کنید:

sudo apt update
sudo apt install apache2 php php-cli php-mysql mariadb-server mariadb-client snmp snmpd rrdtool

سپس Cacti را دانلود و پیکربندی کنید:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar -xzvf cacti-latest.tar.gz
sudo mv cacti /var/www/html/
sudo chown -R www-data:www-data /var/www/html/cacti/

بعد از آن، باید پایگاه داده را ایجاد کرده و تنظیمات SNMP را اعمال کنید.


3. مقایسه بین روش‌های نصب

ویژگی نصب با بسته‌های نصبی نصب دستی
سادگی نصب ساده و سریع پیچیده‌تر و زمان‌برتر
انعطاف‌پذیری محدود بسیار بالا
کنترل بر پیش‌نیازها کمتر کامل
سفارشی‌سازی تنظیمات محدود کامل
مناسب برای کاربران مبتدی بله خیر
مناسب برای پروژه‌های بزرگ خیر بله

جمع‌بندی

نصب با بسته‌های نصبی برای کسانی که به دنبال یک نصب سریع و آسان هستند، بهترین گزینه است. این روش برای پروژه‌های کوچک و کاربران مبتدی مناسب است که به دنبال راه‌اندازی سریع ابزار هستند.

نصب دستی به کسانی که نیاز به انعطاف‌پذیری بالا و سفارشی‌سازی دقیق دارند پیشنهاد می‌شود. این روش برای پروژه‌های بزرگ یا شبکه‌های پیچیده که نیاز به کنترل بیشتر بر روی پیش‌نیازها و تنظیمات دارند، انتخاب بهتری است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی تفاوت‌ها در روش نصب Cacti در سیستم‌عامل‌های مختلف (لینوکس و ویندوز)” subtitle=”توضیحات کامل”]Cacti یکی از ابزارهای محبوب مانیتورینگ شبکه است که برای نمایش گرافیکی داده‌های عملکردی سیستم‌ها و تجهیزات شبکه استفاده می‌شود. این ابزار روی لینوکس و ویندوز قابل نصب است، اما روش نصب در هر یک از این سیستم‌عامل‌ها تفاوت‌هایی دارد. در این بخش، به بررسی تفاوت‌های نصب Cacti روی لینوکس و ویندوز پرداخته می‌شود.


مقایسه کلی روش‌های نصب در لینوکس و ویندوز

ویژگی لینوکس (Ubuntu/Debian/RHEL/CentOS) ویندوز
نصب پیش‌نیازها نیاز به نصب دستی Apache/Nginx، PHP، MySQL/MariaDB، SNMP پیش‌نیازها معمولاً همراه با نرم‌افزار CactiEZ یا WAMP/XAMPP نصب می‌شوند
مدیریت سرویس‌ها از طریق systemctl و service از طریق Services.msc
نصب پکیج‌ها از طریق APT/YUM/DNF از طریق نصب‌کننده ویندوز (Installer)
تنظیمات SNMP نیاز به نصب و تنظیم دستی SNMPD پیکربندی SNMP از طریق SNMP Service انجام می‌شود
مسیر فایل‌های تنظیمات /etc/cacti/ و /var/www/html/cacti/ C:\Program Files\Cacti\
مدیریت دسترسی‌ها نیاز به تنظیمات مجوز‌های لینوکس (chmod، chown) معمولاً نیازی به تغییر مجوزهای خاص ندارد

1. نصب Cacti در لینوکس

Cacti در سیستم‌عامل‌های لینوکس به‌صورت دستی نصب می‌شود و نیاز به نصب پیش‌نیازها، پیکربندی پایگاه داده و تنظیمات وب‌سرور دارد. در ادامه مراحل نصب روی Ubuntu/Debian بررسی می‌شود.

مرحله 1: نصب پیش‌نیازها
sudo apt update
sudo apt install -y apache2 php php-cli php-mysql mariadb-server mariadb-client snmp snmpd rrdtool

برای RHEL/CentOS، می‌توان از دستورات زیر استفاده کرد:

sudo yum install -y httpd php php-cli php-mysql mariadb-server mariadb snmp snmpd rrdtool
مرحله 2: پیکربندی پایگاه داده MySQL/MariaDB
sudo mysql_secure_installation

سپس پایگاه داده Cacti را ایجاد کنید:

mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;
مرحله 3: دانلود و نصب Cacti
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
tar -xzvf cacti-latest.tar.gz
sudo mv cacti /var/www/html/
sudo chown -R www-data:www-data /var/www/html/cacti/
مرحله 4: تنظیمات SNMP
sudo nano /etc/snmp/snmpd.conf

اضافه کردن Community String برای دسترسی Read-Only:

rocommunity public 192.168.1.0/24

ریستارت سرویس SNMP:

sudo systemctl restart snmpd
مرحله 5: تنظیمات Cacti در وب‌سرور
sudo nano /etc/apache2/sites-available/cacti.conf

اضافه کردن تنظیمات مربوط به Cacti:

Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
    Require all granted
</Directory>

فعال‌سازی سایت و ریستارت Apache:

sudo a2ensite cacti.conf
sudo systemctl restart apache2
مرحله 6: دسترسی به Cacti از طریق مرورگر

پس از انجام تنظیمات بالا، می‌توانید Cacti را از طریق آدرس زیر در مرورگر خود باز کنید:

http://<server-ip>/cacti

2. نصب Cacti در ویندوز

در ویندوز، نصب Cacti معمولاً ساده‌تر است زیرا همراه با نصب‌کننده گرافیکی ارائه می‌شود. مراحل کلی شامل نصب WAMP/XAMPP، تنظیم پایگاه داده و پیکربندی SNMP است.

مرحله 1: دانلود و نصب WAMP یا XAMPP

🔹 از وب‌سایت رسمی WAMP یا XAMPP، پکیج موردنظر را دانلود و نصب کنید.
🔹 هنگام نصب، مطمئن شوید که Apache، MySQL و PHP فعال هستند.

مرحله 2: دانلود Cacti برای ویندوز
  1. به سایت رسمی Cacti بروید و آخرین نسخه را دانلود کنید.
  2. فایل زیپ را در مسیر C:\Program Files\Cacti\ استخراج کنید.
مرحله 3: تنظیم پایگاه داده
  1. MySQL Workbench را باز کنید و یک پایگاه داده جدید برای Cacti ایجاد کنید.
  2. در خط فرمان MySQL، دستورات زیر را اجرا کنید:
CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
مرحله 4: تنظیم SNMP در ویندوز
  1. در ویندوز Services.msc را باز کنید.
  2. سرویس SNMP Service را پیدا کرده و فعال کنید.
  3. روی SNMP Service دابل کلیک کنید و در Security مقدار public را به عنوان Community String اضافه کنید.
مرحله 5: تنظیم Cacti در Apache
  1. به مسیر C:\Program Files\Cacti\ بروید.
  2. فایل config.php را ویرایش کنید و اطلاعات پایگاه داده را وارد کنید.
  3. Apache را ریستارت کنید و از طریق مرورگر به آدرس http://localhost/cacti مراجعه کنید.

جمع‌بندی

نصب Cacti در لینوکس و ویندوز تفاوت‌های مهمی دارد:

  • در لینوکس، نیاز به نصب و پیکربندی Apache/Nginx، MySQL/MariaDB و SNMP از طریق خط فرمان است.
  • در ویندوز، فرآیند نصب با نرم‌افزارهای XAMPP/WAMP و سرویس SNMP ویندوز انجام می‌شود.
  • مدیریت سرویس‌ها در لینوکس با systemctl و در ویندوز از طریق Services.msc انجام می‌شود.
  • مسیرهای نصب و فایل‌های تنظیمات در دو سیستم متفاوت است.

لینوکس برای شبکه‌های سازمانی و مقیاس‌های بزرگ مناسب‌تر است، درحالی‌که ویندوز برای محیط‌های کوچک و تستی گزینه بهتری است.

با توجه به نیاز سازمان یا پروژه، می‌توانید مناسب‌ترین روش را برای نصب و پیکربندی Cacti انتخاب کنید. 🚀[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. پیکربندی وب‌سرور”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات Apache برای پشتیبانی از Cacti” subtitle=”توضیحات کامل”]برای پشتیبانی از Cacti در وب‌سرور Apache، باید چند تنظیمات مهم را انجام دهید. این تنظیمات شامل پیکربندی فایل‌های VirtualHost و تنظیمات دسترسی به دایرکتوری‌ها است. در این بخش، مراحل دقیق پیکربندی Apache برای اجرای Cacti به‌طور صحیح توضیح داده شده است.


1. ویرایش فایل‌های VirtualHost

Apache از فایل‌های VirtualHost برای تنظیمات مربوط به سایت‌ها و سرویس‌های مختلف استفاده می‌کند. برای پیکربندی صحیح Cacti، باید یک VirtualHost برای آن ایجاد کنیم.

1.1. باز کردن فایل پیکربندی Apache

برای تنظیم یک VirtualHost برای Cacti، ابتدا باید فایل پیکربندی Apache را باز کنیم. این فایل معمولاً در مسیر /etc/apache2/sites-available/ قرار دارد.

sudo nano /etc/apache2/sites-available/cacti.conf

در این فایل، تنظیمات VirtualHost را اضافه می‌کنیم تا Apache بتواند درخواست‌ها را به درستی به Cacti هدایت کند. برای این کار باید به شکل زیر پیکربندی کنیم:

1.2. تنظیم VirtualHost

محتوای فایل cacti.conf به شکل زیر خواهد بود:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/cacti
    ServerName your_server_ip_or_domain

    <Directory /var/www/html/cacti>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

در اینجا:

  • DocumentRoot باید به مسیر نصب Cacti اشاره داشته باشد. اگر Cacti را در /var/www/html/cacti نصب کرده‌اید، این مسیر صحیح است.
  • ServerName را باید به IP یا دامنه سرور خود تنظیم کنید.
  • بخش <Directory> دسترسی‌ها به دایرکتوری Cacti را مشخص می‌کند. این تنظیمات برای ایجاد امنیت و کنترل دسترسی به فایل‌ها مهم هستند.
1.3. فعال‌سازی VirtualHost

پس از پیکربندی فایل، باید VirtualHost جدید را فعال کرده و Apache را ریستارت کنیم تا تغییرات اعمال شود. برای این کار از دستورات زیر استفاده می‌کنیم:

sudo a2ensite cacti.conf
sudo systemctl reload apache2

2. تنظیم دایرکتوری‌های دسترسی

Cacti نیاز به دسترسی خاصی به دایرکتوری‌ها برای عملکرد صحیح خود دارد. برخی از این دسترسی‌ها شامل ایجاد، ویرایش یا حذف فایل‌های RRD (Round Robin Database) برای ذخیره داده‌های گراف‌ها است. بنابراین، باید اطمینان حاصل کنیم که وب‌سرور Apache مجوزهای لازم را برای دسترسی به این دایرکتوری‌ها دارد.

2.1. تنظیم دسترسی به دایرکتوری Cacti

برای اطمینان از اینکه Apache به دایرکتوری Cacti دسترسی دارد، از دستورات زیر برای تنظیم مجوزها استفاده می‌کنیم:

sudo chown -R www-data:www-data /var/www/html/cacti
sudo chmod -R 755 /var/www/html/cacti

در اینجا:

  • chown مالکیت دایرکتوری‌ها و فایل‌ها را به کاربر و گروه www-data (که وب‌سرور Apache از آن استفاده می‌کند) تغییر می‌دهد.
  • chmod مجوزها را برای دایرکتوری‌ها و فایل‌ها تنظیم می‌کند. این تنظیمات به Apache اجازه می‌دهند تا به طور صحیح به فایل‌ها و دایرکتوری‌ها دسترسی داشته باشد.
2.2. تنظیم دسترسی به دایرکتوری‌های RRD

دایرکتوری‌هایی که فایل‌های RRD در آن‌ها ذخیره می‌شوند باید قابلیت نوشتن برای Apache را داشته باشند. معمولاً این دایرکتوری‌ها در مسیر /var/www/html/cacti/rra/ قرار دارند.

برای تنظیم دسترسی به این دایرکتوری‌ها، از دستورات زیر استفاده می‌کنیم:

sudo chown -R www-data:www-data /var/www/html/cacti/rra
sudo chmod -R 755 /var/www/html/cacti/rra

این دستورات به وب‌سرور Apache اجازه می‌دهند تا بتواند به درستی داده‌ها را در دایرکتوری‌های RRD ذخیره و خوانده کند.


جمع‌بندی

در این بخش، نحوه پیکربندی Apache برای پشتیبانی از Cacti را به‌طور کامل بررسی کردیم. ابتدا فایل VirtualHost برای سایت Cacti ایجاد و پیکربندی شد تا Apache درخواست‌ها را به‌درستی هدایت کند. سپس دسترسی‌های لازم به دایرکتوری‌ها و فایل‌ها برای عملکرد صحیح Cacti تنظیم شد. با انجام این مراحل، Cacti به‌طور کامل آماده اجرا در Apache خواهد بود و می‌توانید از امکانات آن برای مانیتورینگ شبکه استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات اولیه Nginx برای پشتیبانی از Cacti” subtitle=”توضیحات کامل”]Nginx یکی از وب‌سرورهای قدرتمند و سبک است که می‌تواند جایگزین Apache برای میزبانی سایت‌ها و برنامه‌های مختلف از جمله Cacti باشد. در این بخش، مراحل پیکربندی اولیه Nginx برای پشتیبانی از Cacti به صورت کامل توضیح داده شده است. این تنظیمات شامل پیکربندی VirtualHost، تنظیمات دسترسی به دایرکتوری‌ها، و سایر موارد مهم است.


1. نصب Nginx

در ابتدا، باید Nginx را نصب کنیم. اگر Nginx روی سیستم شما نصب نیست، می‌توانید آن را با استفاده از دستور زیر نصب کنید:

sudo apt update
sudo apt install nginx

پس از نصب، می‌توانید Nginx را با دستور زیر راه‌اندازی کنید:

sudo systemctl start nginx

برای اطمینان از اینکه Nginx به‌طور خودکار با راه‌اندازی سیستم شروع می‌شود، دستور زیر را اجرا کنید:

sudo systemctl enable nginx

2. پیکربندی VirtualHost در Nginx

برای تنظیم Cacti در Nginx، باید یک پیکربندی جدید برای VirtualHost ایجاد کنیم. این پیکربندی در Nginx با استفاده از فایل‌های پیکربندی در /etc/nginx/sites-available/ انجام می‌شود.

2.1. ایجاد فایل پیکربندی جدید

ابتدا، یک فایل جدید برای Cacti در دایرکتوری sites-available ایجاد می‌کنیم:

sudo nano /etc/nginx/sites-available/cacti

محتوای این فایل باید به شکل زیر باشد:

server {
    listen 80;
    server_name your_server_ip_or_domain;

    root /var/www/html/cacti;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ ^/index.php(/|$) {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;  # اگر از PHP-FPM محلی استفاده می‌کنید
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;  # اگر از PHP-FPM محلی استفاده می‌کنید
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    error_log /var/log/nginx/cacti_error.log;
    access_log /var/log/nginx/cacti_access.log;
}

در این پیکربندی:

  • server_name باید به IP یا دامنه سرور شما اشاره کند.
  • root باید به مسیر نصب Cacti اشاره داشته باشد.
  • fastcgi_pass به PHP-FPM اشاره می‌کند که در اینجا به‌طور پیش‌فرض به 127.0.0.1:9000 اشاره دارد. اگر PHP-FPM را روی پورت متفاوتی نصب کرده‌اید، این مقدار را تغییر دهید.
  • location ~ ^/index.php(/|$) برای پردازش درخواست‌های PHP استفاده می‌شود.
  • location ~ \.php$ تضمین می‌کند که درخواست‌های PHP به درستی پردازش شوند.
2.2. ایجاد لینک به sites-enabled

پس از ایجاد فایل پیکربندی برای Cacti، باید این فایل را در sites-enabled فعال کنیم. برای این کار از دستور ln استفاده می‌کنیم:

sudo ln -s /etc/nginx/sites-available/cacti /etc/nginx/sites-enabled/

این کار باعث می‌شود که Nginx از این پیکربندی استفاده کند.


3. تنظیم دسترسی به دایرکتوری‌ها

پس از پیکربندی Nginx، باید مطمئن شویم که وب‌سرور به دایرکتوری‌های Cacti دسترسی صحیح دارد. برای این منظور، دستورات زیر را اجرا می‌کنیم تا دسترسی‌های مناسب را به دایرکتوری‌ها بدهیم.

3.1. تنظیم دسترسی به دایرکتوری Cacti

ابتدا، باید مالکیت فایل‌ها و دایرکتوری‌ها را به کاربر و گروه www-data که Nginx از آن استفاده می‌کند تغییر دهیم:

sudo chown -R www-data:www-data /var/www/html/cacti
sudo chmod -R 755 /var/www/html/cacti
3.2. تنظیم دسترسی به دایرکتوری‌های RRD

دایرکتوری‌های rra/ که فایل‌های RRD در آن‌ها ذخیره می‌شوند باید به‌طور ویژه دسترسی نوشتن برای Nginx داشته باشند. این دایرکتوری‌ها معمولاً در مسیر /var/www/html/cacti/rra/ قرار دارند. برای تنظیم دسترسی به این دایرکتوری‌ها، دستورات زیر را اجرا می‌کنیم:

sudo chown -R www-data:www-data /var/www/html/cacti/rra
sudo chmod -R 755 /var/www/html/cacti/rra

این کار باعث می‌شود که Nginx بتواند به‌درستی داده‌ها را در دایرکتوری‌های RRD ذخیره و خوانده کند.


4. فعال‌سازی و ریستارت Nginx

پس از انجام تنظیمات، باید Nginx را ریستارت کرده تا تغییرات اعمال شود:

sudo systemctl restart nginx

برای اطمینان از اینکه Nginx به درستی اجرا می‌شود، از دستور زیر استفاده می‌کنیم:

sudo systemctl status nginx

این دستور وضعیت Nginx را نمایش می‌دهد و می‌توانید بررسی کنید که آیا وب‌سرور به درستی در حال اجرا است یا خیر.


جمع‌بندی

در این بخش، تنظیمات اولیه Nginx برای پشتیبانی از Cacti را به‌طور کامل توضیح دادیم. ابتدا Nginx را نصب کرده و پیکربندی لازم برای Cacti را در فایل‌های VirtualHost انجام دادیم. سپس دسترسی‌های مناسب به دایرکتوری‌ها را تنظیم کردیم تا وب‌سرور بتواند به‌درستی فایل‌ها و داده‌ها را پردازش کند. در نهایت، با ریستارت Nginx، پیکربندی‌های جدید را اعمال کردیم. حالا Cacti آماده استفاده بر روی Nginx است و شما می‌توانید به‌راحتی از آن برای مانیتورینگ شبکه استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیم دسترسی به فایل‌های PHP از طریق وب‌سرور” subtitle=”توضیحات کامل”]یکی از مسائل مهم در پیکربندی وب‌سرور برای میزبانی برنامه‌های PHP، تنظیم دسترسی صحیح به فایل‌های PHP است. این کار تضمین می‌کند که وب‌سرور بتواند به‌درستی فایل‌های PHP را پردازش کرده و درخواست‌های کاربران را پاسخ دهد. در این بخش، نحوه پیکربندی Nginx و Apache برای دسترسی به فایل‌های PHP به‌طور امن و کارآمد توضیح داده شده است.


1. تنظیم دسترسی به فایل‌های PHP در Apache

Apache یکی از وب‌سرورهای پرکاربرد است که با استفاده از ماژول mod_php می‌تواند فایل‌های PHP را پردازش کند. برای اطمینان از دسترسی صحیح به فایل‌های PHP، باید تنظیمات زیر را انجام دهید.

1.1. نصب PHP و Apache

اولین گام، نصب PHP و ماژول mod_php است. برای نصب Apache و PHP در یک سرور مبتنی بر لینوکس، از دستورات زیر استفاده کنید:

sudo apt update
sudo apt install apache2 php libapache2-mod-php
1.2. پیکربندی VirtualHost برای PHP

در فایل پیکربندی VirtualHost، باید اطمینان حاصل کنیم که دسترسی به فایل‌های PHP به‌درستی تنظیم شده باشد. برای این کار، فایل پیکربندی /etc/apache2/sites-available/000-default.conf را ویرایش کنید.

برای ویرایش این فایل از دستور زیر استفاده کنید:

sudo nano /etc/apache2/sites-available/000-default.conf

محتوای پیکربندی برای دسترسی به PHP در این فایل باید مشابه زیر باشد:

<VirtualHost *:80>
    DocumentRoot /var/www/html

    <Directory /var/www/html>
        AllowOverride All
        Require all granted
    </Directory>

    # فعال‌سازی mod_php برای پردازش PHP
    SetHandler application/x-httpd-php

    # فعال‌سازی تنظیمات PHP
    DirectoryIndex index.php index.html
</VirtualHost>

در این پیکربندی:

  • DocumentRoot مسیر دایرکتوری ریشه وب‌سایت است.
  • <Directory> تنظیمات دسترسی برای دایرکتوری مربوطه را مشخص می‌کند.
  • Require all granted اجازه دسترسی به تمامی کاربران را می‌دهد.
  • SetHandler application/x-httpd-php باعث می‌شود که Apache فایل‌های PHP را با استفاده از mod_php پردازش کند.
1.3. فعال‌سازی mod_php و Restart Apache

پس از ویرایش فایل پیکربندی، باید Apache را مجدداً راه‌اندازی کرده تا تغییرات اعمال شود. همچنین، مطمئن شوید که mod_php فعال است:

sudo a2enmod php
sudo systemctl restart apache2

2. تنظیم دسترسی به فایل‌های PHP در Nginx

Nginx برای پردازش فایل‌های PHP به‌طور مستقیم از mod_php استفاده نمی‌کند. در عوض، برای پردازش PHP، نیاز به PHP-FPM (FastCGI Process Manager) دارد. در این بخش، نحوه تنظیم Nginx برای دسترسی به فایل‌های PHP را شرح می‌دهیم.

2.1. نصب PHP و PHP-FPM

ابتدا، باید PHP و PHP-FPM را نصب کنیم. برای نصب آن‌ها از دستور زیر استفاده کنید:

sudo apt update
sudo apt install php-fpm php-mysql
2.2. پیکربندی Nginx برای پردازش PHP

برای تنظیم دسترسی به فایل‌های PHP در Nginx، باید فایل پیکربندی Nginx را ویرایش کنیم. ابتدا فایل پیکربندی سایت‌های فعال را باز کنید:

sudo nano /etc/nginx/sites-available/default

محتوای پیکربندی برای پردازش PHP باید مشابه این باشد:

server {
    listen 80;
    server_name your_server_ip_or_domain;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    # تنظیمات PHP
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;  # به نسخه PHP-FPM نصب شده خود توجه کنید
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    error_log /var/log/nginx/cacti_error.log;
    access_log /var/log/nginx/cacti_access.log;
}

در این پیکربندی:

  • location ~ \.php$ مشخص می‌کند که درخواست‌های PHP باید به PHP-FPM هدایت شوند.
  • fastcgi_pass آدرس و پورت یا سوکت PHP-FPM را مشخص می‌کند. اگر از سوکت استفاده می‌کنید، باید مسیر صحیح به سوکت PHP-FPM را وارد کنید.
  • fastcgi_param SCRIPT_FILENAME مسیر فایل PHP را به PHP-FPM ارسال می‌کند.
2.3. فعال‌سازی و ریستارت Nginx

پس از ویرایش فایل پیکربندی، باید Nginx را مجدداً راه‌اندازی کنید:

sudo systemctl restart nginx

3. تنظیمات امنیتی برای دسترسی به فایل‌های PHP

برای اطمینان از امنیت وب‌سرور، باید تنظیمات امنیتی را برای دسترسی به فایل‌های PHP انجام دهید. این تنظیمات شامل جلوگیری از دسترسی به برخی از فایل‌های حساس و جلوگیری از اجرای فایل‌های PHP در دایرکتوری‌های خاص است.

3.1. جلوگیری از دسترسی به دایرکتوری‌های خاص

در Apache، می‌توانید با استفاده از دستورات زیر از دسترسی به دایرکتوری‌های خاص جلوگیری کنید:

<Directory "/var/www/html/private">
    Order allow,deny
    Deny from all
</Directory>

در Nginx نیز می‌توانید با تنظیمات زیر دسترسی به دایرکتوری‌های خاص را مسدود کنید:

location ~ ^/private/ {
    deny all;
}
3.2. جلوگیری از اجرای فایل‌های PHP در دایرکتوری‌های خاص

در Apache، برای جلوگیری از اجرای فایل‌های PHP در دایرکتوری‌های خاص می‌توانید از تنظیمات زیر استفاده کنید:

<Directory "/var/www/html/uploads">
    php_flag engine off
</Directory>

در Nginx نیز می‌توانید مشابه این تنظیمات را برای جلوگیری از اجرای فایل‌های PHP در دایرکتوری‌ها اعمال کنید:

location ~ ^/uploads/ {
    fastcgi_pass off;
}

جمع‌بندی

در این بخش، تنظیمات دسترسی به فایل‌های PHP از طریق وب‌سرور بررسی شد. ابتدا، نحوه پیکربندی Apache و Nginx برای پردازش PHP توضیح داده شد. همچنین، تنظیمات امنیتی برای جلوگیری از دسترسی غیرمجاز به فایل‌های حساس و جلوگیری از اجرای فایل‌های PHP در دایرکتوری‌های خاص بررسی شد. این مراحل به شما کمک می‌کند تا دسترسی به فایل‌های PHP را به‌صورت امن و کارآمد پیکربندی کرده و مانع از مشکلات امنیتی احتمالی شوید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. نصب پایگاه داده”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب MySQL/MariaDB و ایجاد پایگاه داده Cacti” subtitle=”توضیحات کامل”]در این بخش، نحوه نصب MySQL یا MariaDB (پایگاه داده‌های رابطه‌ای مورد استفاده برای ذخیره‌سازی اطلاعات در Cacti) و ایجاد پایگاه داده اختصاصی برای Cacti را توضیح خواهیم داد. این فرآیند شامل نصب پایگاه داده، تنظیمات امنیتی، و ایجاد پایگاه داده و کاربران مناسب برای Cacti خواهد بود.


1. نصب MySQL/MariaDB

Cacti از MySQL یا MariaDB برای ذخیره‌سازی داده‌ها استفاده می‌کند. MariaDB نسخه‌ای از MySQL است که عملکرد و قابلیت‌های مشابهی دارد، اما با توسعه‌دهندگان و جامعه مختلفی مدیریت می‌شود. در این آموزش، ما نحوه نصب MariaDB را توضیح خواهیم داد که می‌تواند جایگزینی برای MySQL باشد.

1.1. نصب MariaDB

برای نصب MariaDB روی سرور مبتنی بر لینوکس، دستور زیر را اجرا کنید:

sudo apt update
sudo apt install mariadb-server mariadb-client

پس از نصب، سرویس MariaDB به‌طور خودکار شروع به کار می‌کند.

1.2. نصب MySQL (در صورت تمایل به استفاده از MySQL)

اگر شما به جای MariaDB، MySQL را می‌خواهید نصب کنید، از دستور زیر استفاده کنید:

sudo apt update
sudo apt install mysql-server mysql-client

بعد از نصب MySQL، سرویس آن نیز به‌طور خودکار شروع می‌شود.


2. پیکربندی اولیه پایگاه داده

پس از نصب MariaDB یا MySQL، باید پایگاه داده را پیکربندی کرده و تنظیمات امنیتی را انجام دهید.

2.1. اجرای تنظیمات امنیتی MySQL/MariaDB

برای اعمال تنظیمات امنیتی اولیه، می‌توانید از دستور زیر استفاده کنید که شامل تغییرات مختلفی مانند تنظیم رمز عبور برای root، حذف کاربران ناشناخته و غیره است:

sudo mysql_secure_installation

در این مرحله، از شما خواسته می‌شود که رمز عبور جدیدی برای کاربر root وارد کنید و چندین سوال امنیتی از جمله حذف کاربران غیر ضروری، غیرفعال کردن امکان ورود از راه دور برای کاربر root، و حذف پایگاه داده‌های آزمایشی پرسیده می‌شود.

2.2. ورود به MySQL/MariaDB

برای دسترسی به MariaDB یا MySQL، از دستور زیر استفاده کنید:

sudo mysql -u root -p

سپس رمز عبور را وارد کنید تا به کنسول MySQL/MariaDB وارد شوید.


3. ایجاد پایگاه داده برای Cacti

Cacti برای ذخیره‌سازی داده‌های خود نیاز به یک پایگاه داده اختصاصی دارد. در این مرحله، ما یک پایگاه داده جدید به نام cacti ایجاد خواهیم کرد.

3.1. ایجاد پایگاه داده

در کنسول MySQL/MariaDB، دستور زیر را برای ایجاد پایگاه داده Cacti وارد کنید:

CREATE DATABASE cacti;
3.2. ایجاد کاربر و اعطای دسترسی به پایگاه داده Cacti

برای ایجاد یک کاربر جدید که دسترسی کامل به پایگاه داده cacti را داشته باشد، از دستور زیر استفاده کنید:

GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'yourpassword';

در اینجا:

  • cactiuser نام کاربر جدید است.
  • localhost یعنی این کاربر تنها می‌تواند از سرور محلی (localhost) به پایگاه داده دسترسی پیدا کند.
  • yourpassword باید با یک رمز عبور امن جایگزین شود.

برای اعمال تغییرات، دستور زیر را وارد کنید:

FLUSH PRIVILEGES;
3.3. خروج از کنسول MySQL/MariaDB

پس از انجام تغییرات، از کنسول MySQL/MariaDB خارج شوید:

EXIT;

4. آماده‌سازی پایگاه داده برای Cacti

قبل از استفاده از پایگاه داده جدید برای Cacti، باید اسکریپت‌های مربوط به ایجاد جداول و ساختار پایگاه داده را اجرا کنیم.

4.1. وارد کردن اسکریپت‌های ایجاد جداول

پس از نصب Cacti، به دایرکتوری نصب آن بروید. به‌طور پیش‌فرض، دایرکتوری نصب Cacti معمولاً /var/www/html/cacti است.

برای وارد کردن اسکریپت‌های SQL برای ایجاد جداول Cacti در پایگاه داده، دستور زیر را اجرا کنید:

cd /var/www/html/cacti
sudo mysql -u cactiuser -p cacti < cacti.sql

در اینجا:

  • cactiuser نام کاربری است که پیشتر برای پایگاه داده ایجاد کرده‌ایم.
  • cacti نام پایگاه داده‌ای است که ایجاد کردیم.
  • cacti.sql اسکریپت مربوط به ایجاد جداول در دایرکتوری Cacti قرار دارد.

بعد از اجرای این دستور، جداول مورد نیاز برای Cacti در پایگاه داده ایجاد می‌شود.


5. پیکربندی Cacti برای اتصال به پایگاه داده

پس از ایجاد پایگاه داده و جداول مورد نیاز، باید Cacti را پیکربندی کنیم تا به پایگاه داده جدید متصل شود.

5.1. ویرایش فایل پیکربندی Cacti

در دایرکتوری نصب Cacti، فایل include/config.php را ویرایش کنید:

sudo nano /var/www/html/cacti/include/config.php

در این فایل، باید مشخصات پایگاه داده‌ای که قبلاً ایجاد کردیم را وارد کنید:

$database_type = "mysql";
$database_server = "localhost";
$database_username = "cactiuser";
$database_password = "yourpassword";
$database_name = "cacti";

پس از انجام تغییرات، فایل را ذخیره کرده و آن را ببندید.


جمع‌بندی

در این بخش، نحوه نصب MySQL یا MariaDB و پیکربندی آن برای استفاده در Cacti به‌طور کامل شرح داده شد. ابتدا MariaDB یا MySQL نصب شد، سپس پایگاه داده cacti ایجاد شد و یک کاربر جدید برای دسترسی به آن ساخته شد. در نهایت، اسکریپت‌های SQL برای ایجاد جداول و تنظیمات اتصال Cacti به پایگاه داده پیکربندی شد. این مراحل به شما کمک می‌کند تا پایگاه داده‌ خود را برای Cacti آماده کرده و آن را به درستی تنظیم کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیم دسترسی‌های لازم برای کاربر پایگاه داده” subtitle=”توضیحات کامل”]برای این‌که Cacti بتواند به‌درستی با پایگاه داده ارتباط برقرار کند، باید دسترسی‌های مناسب به کاربر پایگاه داده داده شود. این تنظیمات به شما این امکان را می‌دهند که بتوانید از Cacti برای جمع‌آوری و تحلیل داده‌ها استفاده کنید. در این بخش، نحوه تنظیم دسترسی‌ها برای کاربر پایگاه داده Cacti را به‌طور دقیق بررسی خواهیم کرد.


1. بررسی دسترسی‌های پیش‌فرض در MySQL/MariaDB

هنگامی که یک کاربر پایگاه داده جدید برای Cacti ایجاد می‌کنید، این کاربر به‌طور پیش‌فرض دسترسی کاملی به پایگاه داده ندارد. در این مرحله، باید دسترسی‌های لازم را به کاربر اختصاص دهید تا Cacti بتواند عملیات مختلف مانند خواندن و نوشتن داده‌ها را در پایگاه داده انجام دهد.


2. وارد شدن به کنسول MySQL/MariaDB

برای تنظیم دسترسی‌ها، ابتدا باید به کنسول MySQL یا MariaDB وارد شوید. برای این‌کار از دستور زیر استفاده کنید:

sudo mysql -u root -p

در اینجا، root نام کاربری پیش‌فرض است. سپس رمز عبور را وارد کنید.


3. تنظیم دسترسی‌ها برای کاربر Cacti

برای این‌که کاربر Cacti بتواند به‌طور کامل به پایگاه داده دسترسی داشته باشد، باید از دستور GRANT برای اعطای دسترسی استفاده کنید. دستور GRANT به شما این امکان را می‌دهد که دسترسی‌ها را به‌صورت دقیق تعریف کنید.

3.1. دسترسی کامل به پایگاه داده

برای اعطای دسترسی کامل (خواندن، نوشتن، حذف و …) به پایگاه داده cacti به کاربر cactiuser، دستور زیر را اجرا کنید:

GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'yourpassword';

در این دستور:

  • cacti نام پایگاه داده‌ای است که برای Cacti ایجاد کردیم.
  • cactiuser نام کاربری است که به پایگاه داده دسترسی دارد.
  • localhost به این معنا است که تنها از سرور محلی (localhost) می‌توان به پایگاه داده دسترسی داشت.
  • yourpassword رمز عبور کاربر cactiuser است که باید با یک رمز عبور امن جایگزین شود.
3.2. اعطای دسترسی برای استفاده از پایگاه داده از هر میزبان

اگر نیاز دارید که کاربر cactiuser از هر میزبان یا IP خاصی به پایگاه داده دسترسی پیدا کند (مثلاً برای دسترسی از یک سرور دیگر)، می‌توانید از دستور زیر استفاده کنید:

GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'%' IDENTIFIED BY 'yourpassword';

در این دستور، @'%' به این معنا است که کاربر از هر میزبان و IP می‌تواند به پایگاه داده دسترسی داشته باشد.


4. اعمال تغییرات

پس از اعمال دسترسی‌ها، باید دستور FLUSH PRIVILEGES را اجرا کنید تا تغییرات در دسترسی‌ها به‌طور فوری اعمال شود:

FLUSH PRIVILEGES;

این دستور به MySQL/MariaDB می‌گوید که تغییرات مربوط به دسترسی‌ها و کاربران را بارگذاری کند.


5. بررسی دسترسی‌ها

برای بررسی این‌که دسترسی‌ها به‌درستی اعمال شده‌اند، می‌توانید دستور زیر را اجرا کنید تا تمام کاربران و دسترسی‌های مربوطه را مشاهده کنید:

SHOW GRANTS FOR 'cactiuser'@'localhost';

اگر همه چیز به‌درستی تنظیم شده باشد، باید دسترسی‌های مربوط به پایگاه داده cacti را مشاهده کنید.


6. خروج از کنسول MySQL/MariaDB

پس از انجام تنظیمات لازم، می‌توانید از کنسول MySQL/MariaDB خارج شوید:

EXIT;

جمع‌بندی

در این بخش، مراحل تنظیم دسترسی‌های لازم برای کاربر پایگاه داده Cacti را بررسی کردیم. ابتدا کاربر cactiuser به پایگاه داده cacti دسترسی پیدا کرد. سپس با استفاده از دستور GRANT ALL PRIVILEGES دسترسی‌های کامل برای خواندن، نوشتن و تغییر داده‌ها به این کاربر اعطا شد. در نهایت، با استفاده از دستور FLUSH PRIVILEGES تغییرات اعمال شده‌اند تا به‌طور فوری در سیستم بارگذاری شوند. این تنظیمات به شما این امکان را می‌دهند که Cacti بتواند به‌درستی داده‌ها را از پایگاه داده بخواند و اطلاعات مورد نیاز را جمع‌آوری و نمایش دهد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”وارد کردن جداول اولیه از فایل‌های نصب Cacti” subtitle=”توضیحات کامل”]برای اینکه Cacti به‌درستی کار کند، پس از ایجاد پایگاه داده و تنظیم دسترسی‌ها، نیاز است که جداول اولیه‌ای که برای ذخیره داده‌ها و پیکربندی‌های Cacti مورد نیاز هستند، به پایگاه داده وارد شوند. این جداول به‌طور پیش‌فرض در فایل‌های نصب Cacti وجود دارند و شما باید آن‌ها را در پایگاه داده خود وارد کنید تا Cacti بتواند به‌درستی عمل کند.


1. محل قرارگیری فایل‌های SQL جداول Cacti

پس از نصب Cacti، فایل‌های SQL مربوط به جداول اولیه در پوشه نصب Cacti قرار دارند. به‌طور پیش‌فرض، این فایل‌ها در مسیر زیر قرار دارند:

/var/www/html/cacti/install/

در این پوشه، فایل‌هایی با پسوند .sql وجود دارند که شامل جداول لازم برای Cacti هستند. مهم‌ترین این فایل‌ها، فایلی به نام cacti.sql است که شامل تمامی جداول اولیه است.


2. وارد کردن فایل‌های SQL به پایگاه داده

برای وارد کردن جداول Cacti به پایگاه داده، باید از دستور mysql استفاده کنید تا فایل‌های SQL را به‌طور مستقیم به پایگاه داده وارد کنید. در اینجا نحوه انجام این کار را بررسی می‌کنیم:

2.1. وارد شدن به MySQL/MariaDB

ابتدا وارد کنسول MySQL یا MariaDB شوید تا به پایگاه داده دسترسی پیدا کنید:

sudo mysql -u root -p

پس از وارد کردن رمز عبور، به کنسول MySQL/MariaDB وارد خواهید شد.

2.2. انتخاب پایگاه داده Cacti

اگر پایگاه داده Cacti را قبلاً ایجاد کرده‌اید، باید آن را انتخاب کنید تا جداول در آن وارد شوند. برای انتخاب پایگاه داده Cacti، دستور زیر را اجرا کنید:

USE cacti;

اگر پایگاه داده cacti را ایجاد نکرده‌اید، اینجا باید از دستور قبلی برای ایجاد پایگاه داده استفاده کنید.

2.3. وارد کردن فایل SQL جداول

برای وارد کردن فایل‌های SQL که شامل جداول Cacti هستند، از دستور source در MySQL/MariaDB استفاده می‌کنیم. فرض می‌کنیم که فایل cacti.sql در مسیر /var/www/html/cacti/install/ قرار دارد.

دستور زیر را اجرا کنید تا جداول اولیه وارد پایگاه داده Cacti شوند:

source /var/www/html/cacti/install/cacti.sql;

این دستور باعث می‌شود که تمامی جداول مورد نیاز Cacti به پایگاه داده وارد شوند.

2.4. بررسی موفقیت عملیات وارد کردن جداول

پس از وارد کردن فایل SQL، می‌توانید برای بررسی این‌که جداول به‌درستی وارد شده‌اند یا خیر، از دستور زیر استفاده کنید:

SHOW TABLES;

اگر همه‌چیز درست باشد، باید جداولی مانند data_template, graph_templates, poller_item, user_auth و سایر جداول Cacti را مشاهده کنید.


3. تنظیمات پایگاه داده بعد از وارد کردن جداول

پس از وارد کردن جداول، ممکن است بخواهید برخی از تنظیمات پایگاه داده مانند جدول‌های پیکربندی و تنظیمات شبکه را انجام دهید. برای این‌که Cacti به‌درستی پیکربندی شود، می‌توانید از دستورالعمل‌های موجود در مستندات رسمی Cacti برای تنظیمات بیشتر استفاده کنید.


4. خروج از کنسول MySQL/MariaDB

پس از وارد کردن جداول و انجام تنظیمات مورد نیاز، از کنسول MySQL/MariaDB خارج شوید:

EXIT;

جمع‌بندی

در این بخش، نحوه وارد کردن جداول اولیه از فایل‌های نصب Cacti به پایگاه داده را بررسی کردیم. ابتدا وارد کنسول MySQL/MariaDB شدیم، سپس پایگاه داده Cacti را انتخاب کرده و فایل‌های SQL موجود در پوشه نصب Cacti را با استفاده از دستور source وارد پایگاه داده کردیم. در نهایت، با استفاده از دستور SHOW TABLES بررسی کردیم که جداول به‌درستی وارد شده‌اند. این مراحل به شما کمک می‌کند که پایگاه داده Cacti را برای ذخیره داده‌ها و پیکربندی‌های لازم آماده کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. نصب و پیکربندی PHP”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی افزونه‌های ضروری PHP (مانند PHP GD، PHP PDO)” subtitle=”توضیحات کامل”]برای اجرای صحیح Cacti، نیاز به برخی افزونه‌های PHP ضروری است که به عملکرد و قابلیت‌های مختلف نرم‌افزار کمک می‌کنند. این افزونه‌ها به شما امکان می‌دهند که ویژگی‌هایی مانند ایجاد گراف‌ها و دسترسی به پایگاه داده را به‌طور بهینه مدیریت کنید. در این بخش، ما به بررسی افزونه‌های ضروری PHP مانند PHP GD و PHP PDO می‌پردازیم که به‌ویژه برای استفاده در Cacti اهمیت زیادی دارند.


1. افزونه PHP GD

افزونه PHP GD یکی از مهم‌ترین افزونه‌ها برای ایجاد و دستکاری تصاویر و گراف‌ها در PHP است. از آنجایی که Cacti برای نمایش گراف‌های شبکه و نمودارهای مختلف از تصاویر استفاده می‌کند، وجود این افزونه برای عملکرد صحیح ضروری است.

1.1. نصب PHP GD

در صورتی که این افزونه بر روی سیستم شما نصب نیست، باید آن را نصب کنید. بسته به سیستم‌عامل شما، دستورات نصب کمی متفاوت خواهند بود.

  • در اوبونتو/Debian:

برای نصب افزونه PHP GD، دستور زیر را در ترمینال وارد کنید:

sudo apt-get install php-gd

پس از نصب، برای فعال کردن این افزونه، باید وب‌سرور را ریستارت کنید:

sudo systemctl restart apache2
  • در CentOS/RHEL:

برای نصب PHP GD بر روی سیستم‌های مبتنی بر RHEL یا CentOS، دستور زیر را وارد کنید:

sudo yum install php-gd

پس از نصب، وب‌سرور را نیز ریستارت کنید:

sudo systemctl restart httpd
1.2. بررسی نصب PHP GD

برای بررسی نصب افزونه PHP GD، می‌توانید از دستور زیر استفاده کنید تا لیست افزونه‌های فعال PHP را مشاهده کنید:

php -m | grep gd

اگر نصب صحیح باشد، باید خروجی مشابه زیر را مشاهده کنید:

gd

این نشان‌دهنده آن است که افزونه PHP GD به‌درستی نصب و فعال شده است.


2. افزونه PHP PDO (PHP Data Objects)

افزونه PHP PDO یک رابط کاربری برای دسترسی به پایگاه داده‌ها در PHP است. Cacti از این افزونه برای ارتباط با پایگاه داده MySQL یا MariaDB استفاده می‌کند. این افزونه به Cacti این امکان را می‌دهد که به‌صورت امن و کارآمد داده‌ها را از پایگاه داده خوانده و مدیریت کند.

2.1. نصب PHP PDO

برای نصب افزونه PHP PDO نیز مشابه افزونه‌های دیگر، دستورالعمل‌ها بسته به سیستم‌عامل متفاوت خواهند بود.

  • در اوبونتو/Debian:

در این سیستم‌ها، می‌توانید بسته‌های لازم برای PDO و PDO MySQL را با دستور زیر نصب کنید:

sudo apt-get install php-pdo php-mysql

پس از نصب، وب‌سرور را ریستارت کنید:

sudo systemctl restart apache2
  • در CentOS/RHEL:

برای نصب افزونه PDO در CentOS یا RHEL، دستور زیر را اجرا کنید:

sudo yum install php-pdo php-mysqlnd

سپس وب‌سرور را ریستارت کنید:

sudo systemctl restart httpd
2.2. بررسی نصب PHP PDO

برای بررسی نصب PHP PDO، می‌توانید از دستور زیر استفاده کنید تا لیست افزونه‌های نصب‌شده را مشاهده کنید:

php -m | grep pdo

خروجی شما باید مشابه زیر باشد:

PDO
pdo_mysql

این نشان می‌دهد که افزونه PDO به‌درستی نصب و فعال است.


3. افزونه‌های دیگر مورد نیاز

علاوه بر افزونه‌های PHP GD و PHP PDO، برخی از افزونه‌های دیگر نیز ممکن است برای عملکرد بهتر Cacti لازم باشند. این افزونه‌ها شامل موارد زیر هستند:

  • PHP SNMP: برای پشتیبانی از پروتکل SNMP و جمع‌آوری داده‌های شبکه.
  • PHP Mcrypt: برای رمزنگاری داده‌ها.
  • PHP MBstring: برای کار با رشته‌ها در زبان‌های غیر از انگلیسی.

برای نصب این افزونه‌ها در اوبونتو یا Debian، دستور زیر را وارد کنید:

sudo apt-get install php-snmp php-mcrypt php-mbstring

در CentOS یا RHEL:

sudo yum install php-snmp php-mcrypt php-mbstring

جمع‌بندی

در این بخش، به بررسی افزونه‌های ضروری PHP برای اجرای صحیح Cacti پرداخته شد. افزونه‌های PHP GD و PHP PDO از جمله مهم‌ترین افزونه‌ها هستند که برای ایجاد گراف‌ها و دسترسی به پایگاه داده در Cacti نیاز است. نصب این افزونه‌ها بر روی سرور به سادگی با استفاده از دستورات مناسب برای سیستم‌عامل‌های مختلف امکان‌پذیر است. همچنین، برای عملکرد بهتر، سایر افزونه‌های مرتبط نیز باید نصب شوند. نصب و فعال‌سازی این افزونه‌ها گام‌های اصلی در راه‌اندازی Cacti به‌طور صحیح و کامل است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ویرایش فایل php.ini برای پیکربندی” subtitle=”توضیحات کامل”]برای راه‌اندازی و پیکربندی صحیح PHP برای استفاده در Cacti، نیاز است که فایل تنظیمات php.ini را ویرایش کنید. در این قسمت، به بررسی سه تنظیم اصلی می‌پردازیم که به‌ویژه برای عملکرد بهتر و مدیریت منابع در Cacti مهم هستند. این تنظیمات شامل مقدار max_execution_time، memory_limit، و فعال‌سازی file_uploads می‌باشند.


1. تنظیم مقدار max_execution_time

مقدار max_execution_time نشان‌دهنده حداکثر زمانی است که یک اسکریپت PHP می‌تواند اجرا شود. این تنظیم برای جلوگیری از اجرا شدن طولانی مدت اسکریپت‌ها در سرور ضروری است. در Cacti، اسکریپت‌های مختلفی برای جمع‌آوری داده‌ها و تولید گراف‌ها اجرا می‌شوند که ممکن است به زمان‌های طولانی‌تری نیاز داشته باشند.

برای تغییر این مقدار، باید وارد فایل php.ini شوید و مقدار max_execution_time را افزایش دهید. به‌طور پیش‌فرض، این مقدار ممکن است به ۳۰ ثانیه تنظیم شده باشد که برای Cacti کافی نیست.

1.1. پیدا کردن و ویرایش مقدار max_execution_time
  1. فایل php.ini را در مسیر مناسب پیدا کنید. مسیر این فایل بسته به سیستم‌عامل و نحوه نصب PHP متفاوت است. معمولاً در مسیر زیر قرار دارد:
    • در اوبونتو/Debian:
      /etc/php/7.x/apache2/php.ini
      
    • در CentOS/RHEL:
      /etc/php.ini
      
  2. فایل را با یک ویرایشگر متن باز کنید (مثلاً با استفاده از ویرایشگر nano):
    sudo nano /etc/php/7.x/apache2/php.ini
    
  3. به دنبال دستور max_execution_time بگردید و مقدار آن را تغییر دهید. برای مثال، به جای مقدار پیش‌فرض ۳۰، آن را به ۳۰۰ (معادل ۵ دقیقه) تغییر دهید:
    max_execution_time = 300
    
  4. پس از انجام تغییرات، فایل را ذخیره کرده و ویرایشگر را ببندید.
  5. برای اعمال تغییرات، وب‌سرور (Apache یا Nginx) را ریستارت کنید:
    • در Apache:
      sudo systemctl restart apache2
      
    • در Nginx:
      sudo systemctl restart nginx
      

2. تنظیم مقدار memory_limit

مقدار memory_limit در PHP نشان‌دهنده حداکثر میزان حافظه‌ای است که یک اسکریپت PHP می‌تواند مصرف کند. برای جلوگیری از ارورهای حافظه، باید اطمینان حاصل کنید که این مقدار به اندازه کافی بالا باشد تا اسکریپت‌های Cacti بتوانند داده‌ها را پردازش کنند.

2.1. پیدا کردن و ویرایش مقدار memory_limit
  1. دوباره وارد فایل php.ini شوید:
    • در اوبونتو/Debian:
      sudo nano /etc/php/7.x/apache2/php.ini
      
    • در CentOS/RHEL:
      sudo nano /etc/php.ini
      
  2. به دنبال دستور memory_limit بگردید و مقدار آن را افزایش دهید. برای مثال، آن را به 512MB تغییر دهید:
    memory_limit = 512M
    
  3. تغییرات را ذخیره کرده و فایل را ببندید.
  4. مانند مرحله قبلی، برای اعمال تغییرات، وب‌سرور را ریستارت کنید:
    • در Apache:
      sudo systemctl restart apache2
      
    • در Nginx:
      sudo systemctl restart nginx
      

3. فعال کردن file_uploads

در برخی مواقع، ممکن است بخواهید فایل‌هایی را از طریق رابط کاربری Cacti بارگذاری کنید. برای این منظور، باید ویژگی file_uploads را در فایل php.ini فعال کنید.

3.1. پیدا کردن و ویرایش تنظیم file_uploads
  1. به فایل php.ini وارد شوید:
    • در اوبونتو/Debian:
      sudo nano /etc/php/7.x/apache2/php.ini
      
    • در CentOS/RHEL:
      sudo nano /etc/php.ini
      
  2. به دنبال گزینه file_uploads بگردید و آن را به On تغییر دهید:
    file_uploads = On
    
  3. تغییرات را ذخیره کرده و فایل را ببندید.
  4. برای اعمال تغییرات، وب‌سرور را ریستارت کنید:
    • در Apache:
      sudo systemctl restart apache2
      
    • در Nginx:
      sudo systemctl restart nginx
      

جمع‌بندی

در این بخش، نحوه تنظیم و پیکربندی فایل php.ini برای عملکرد بهتر Cacti مورد بررسی قرار گرفت. تنظیمات شامل افزایش مقدار max_execution_time برای اجرای اسکریپت‌های طولانی، تنظیم مقدار memory_limit برای اطمینان از استفاده بهینه از حافظه و فعال کردن file_uploads برای پشتیبانی از بارگذاری فایل‌ها بودند. با اعمال این تغییرات، Cacti می‌تواند به‌طور بهینه‌تری بر روی سرور اجرا شود و از بروز خطاهای مربوط به منابع جلوگیری گردد. برای اعمال این تغییرات، پس از ویرایش فایل php.ini، لازم است که وب‌سرور خود را ریستارت کنید تا تغییرات اعمال شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. راه‌اندازی Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب و راه‌اندازی Cacti” subtitle=”توضیحات کامل”]نصب و راه‌اندازی Cacti برای نظارت بر شبکه‌ها و جمع‌آوری داده‌ها به‌صورت گرافیکی یکی از مراحل اساسی است که باید به‌طور دقیق انجام شود. در این بخش، مراحل نصب Cacti بر روی یک سرور لینوکسی و پیکربندی آن برای استفاده به‌طور کامل و کاربردی را بررسی خواهیم کرد. مراحل نصب به‌طور کلی شامل نصب وابستگی‌ها، تنظیم پایگاه داده، پیکربندی وب‌سرور، و پیکربندی Cacti است. برای نصب در سیستم‌عامل‌های مختلف و برای راحتی بیشتر، این مراحل را به‌طور گام‌به‌گام شرح می‌دهیم.


1. نصب وابستگی‌های مورد نیاز

قبل از نصب Cacti، نیاز است که برخی از پکیج‌ها و ابزارهای وابسته مانند Apache، MySQL، PHP و افزونه‌های PHP را نصب کنید. این پکیج‌ها شامل وب‌سرور Apache، پایگاه داده MySQL/MariaDB، و PHP برای اجرای اسکریپت‌های Cacti هستند.

1.1. نصب Apache، MySQL/MariaDB و PHP

برای نصب این ابزارها، ابتدا به‌عنوان کاربر root یا با دسترسی sudo وارد سیستم شوید و دستورات زیر را اجرا کنید.

  • در اوبونتو/Debian:
    sudo apt update
    sudo apt install apache2 mysql-server php php-mysql php-snmp php-gd php-xml php-mbstring php-ldap php-zip php-curl php-cli
    
  • در CentOS/RHEL:
    sudo yum install httpd mariadb-server php php-mysqlnd php-snmp php-gd php-xml php-mbstring php-ldap php-zip php-curl php-cli
    

2. نصب Cacti

پس از نصب وابستگی‌ها، مرحله بعدی نصب Cacti است. برای نصب Cacti، شما باید آن را از مخازن رسمی لینوکس یا از وب‌سایت رسمی Cacti دانلود و نصب کنید.

2.1. دانلود و نصب Cacti
  • در اوبونتو/Debian: برای نصب Cacti از مخازن رسمی می‌توانید دستور زیر را وارد کنید:
    sudo apt install cacti
    
    • پس از نصب، شما باید بسته‌های وابسته‌ای که برای Cacti لازم است را نصب کنید.
  • در CentOS/RHEL: ابتدا باید مخازن EPEL را فعال کنید و سپس Cacti را نصب کنید:
    sudo yum install epel-release
    sudo yum install cacti
    
    • پس از نصب، می‌توانید به‌راحتی با استفاده از Apache به Cacti دسترسی پیدا کنید.

3. پیکربندی پایگاه داده MySQL/MariaDB برای Cacti

برای استفاده از Cacti نیاز به یک پایگاه داده برای ذخیره‌سازی اطلاعات است. در این مرحله، باید پایگاه داده مورد نیاز Cacti را ایجاد کرده و دسترسی‌های لازم را به آن اختصاص دهید.

3.1. ورود به MySQL/MariaDB

ابتدا وارد محیط MySQL یا MariaDB شوید:

sudo mysql -u root -p
3.2. ایجاد پایگاه داده و کاربر برای Cacti

در محیط MySQL/MariaDB دستورات زیر را وارد کنید تا پایگاه داده و کاربر مربوطه ایجاد شود:

CREATE DATABASE cacti;
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;
EXIT;

در اینجا، yourpassword را با پسوردی قوی جایگزین کنید.


4. وارد کردن جداول اولیه از فایل‌های نصب Cacti

در این مرحله، باید جداول اولیه Cacti را وارد پایگاه داده کرده و تنظیمات اولیه آن را انجام دهید.

4.1. وارد کردن جداول به پایگاه داده

Cacti دارای اسکریپت‌هایی است که جداول اولیه را به پایگاه داده وارد می‌کند. این اسکریپت‌ها در دایرکتوری نصب Cacti موجود هستند.

  1. ابتدا به دایرکتوری نصب Cacti بروید. معمولاً این دایرکتوری در /usr/share/cacti/ قرار دارد.
  2. سپس اسکریپت نصب پایگاه داده را اجرا کنید:
    sudo /usr/share/cacti/scripts/cacti_install.php
    

    این اسکریپت جداول اولیه را به پایگاه داده Cacti اضافه می‌کند.


5. پیکربندی وب‌سرور Apache برای Cacti

حالا که پایگاه داده تنظیم شد، باید وب‌سرور Apache را برای اجرای Cacti پیکربندی کنید. این تنظیمات مربوط به دسترسی به دایرکتوری‌ها و تنظیمات امنیتی هستند.

5.1. ویرایش تنظیمات VirtualHost

فایل پیکربندی Apache مربوط به Cacti معمولاً در /etc/apache2/sites-available/000-default.conf قرار دارد. برای پیکربندی، این فایل را باز کنید:

sudo nano /etc/apache2/sites-available/000-default.conf

در این فایل، بخش‌هایی برای تنظیم دایرکتوری‌ها و مجوزها وجود دارد که باید به‌درستی تنظیم شود. به‌ویژه در دایرکتوری Cacti باید این تنظیمات را اعمال کنید:

<Directory /usr/share/cacti/>
    Options +Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

پس از ویرایش، فایل را ذخیره کنید و وب‌سرور Apache را ریستارت کنید:

sudo systemctl restart apache2

6. پیکربندی Cacti از طریق رابط وب

پس از انجام تنظیمات اولیه و راه‌اندازی وب‌سرور، شما می‌توانید به رابط وب Cacti دسترسی پیدا کنید.

  1. مرورگر خود را باز کنید و به آدرس زیر بروید:
    http://your_server_ip/cacti
    
  2. از طریق رابط وب، مراحل پیکربندی Cacti را طی کنید. در این بخش، شما باید اطلاعات پایگاه داده‌ای که قبلاً ایجاد کرده‌اید را وارد کنید.
  3. پس از اتمام مراحل پیکربندی، Cacti آماده استفاده خواهد بود.

جمع‌بندی

در این بخش، مراحل نصب و راه‌اندازی Cacti بررسی شد. ابتدا وابستگی‌های مورد نیاز برای اجرای Cacti را نصب کردیم، سپس پایگاه داده و جداول اولیه Cacti را ایجاد و وارد کردیم. در نهایت، پیکربندی Apache یا Nginx و تنظیمات مربوطه را برای دسترسی به رابط وب Cacti انجام دادیم. با انجام این مراحل، Cacti بر روی سرور شما نصب شده و آماده استفاده برای مانیتورینگ شبکه و ایجاد گراف‌های مختلف است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”راه‌اندازی Cacti: دسترسی به رابط وب برای نصب” subtitle=”توضیحات کامل”]پس از نصب و پیکربندی کامل اجزای اصلی Cacti، مرحله بعدی راه‌اندازی و دسترسی به رابط وب Cacti برای ادامه مراحل نصب و پیکربندی است. این مرحله به شما این امکان را می‌دهد که از طریق مرورگر به Cacti دسترسی پیدا کرده و تنظیمات نهایی را انجام دهید. در این بخش، نحوه دسترسی به رابط وب و پیکربندی Cacti از طریق مرورگر برای اولین بار توضیح داده می‌شود.


1. دسترسی به رابط وب Cacti

برای استفاده از Cacti از طریق مرورگر، کافی است آدرس IP یا نام دامنه سرور خود را وارد کنید و مسیر نصب Cacti را دنبال کنید. رابط وب Cacti یک واسط گرافیکی است که امکان تنظیم و پیکربندی ابزار را فراهم می‌کند.

1.1. دسترسی از طریق آدرس IP یا نام دامنه
  1. پس از اتمام مراحل نصب Apache و پیکربندی وب‌سرور، وارد مرورگر وب شوید.
  2. آدرس زیر را در نوار آدرس مرورگر وارد کنید:
    http://your_server_ip/cacti
    

    یا اگر از نام دامنه استفاده می‌کنید:

    http://your_domain_name/cacti
    

    در اینجا، your_server_ip باید به‌جای آدرس IP واقعی سرور شما قرار بگیرد و your_domain_name به‌جای دامنه تنظیم‌شده برای سرور باشد.

  3. اگر وب‌سرور Apache به‌درستی تنظیم شده باشد، شما به صفحه اصلی رابط وب Cacti هدایت خواهید شد.

2. پیکربندی رابط وب Cacti برای اولین بار

پس از دسترسی به رابط وب Cacti، صفحه‌ای برای انجام تنظیمات اولیه به نمایش درمی‌آید که باید آن را کامل کنید. این تنظیمات شامل اتصال به پایگاه داده، پیکربندی تنظیمات اولیه، و وارد کردن اطلاعات سرور است.

2.1. بررسی پیش‌نیازها

قبل از اینکه ادامه دهید، Cacti به‌طور خودکار پیش‌نیازهای نصب مانند نسخه PHP، پایگاه داده MySQL، و افزونه‌های لازم را بررسی خواهد کرد. اگر هر یک از پیش‌نیازها به‌درستی نصب نشده باشد، پیامی به شما نمایش داده می‌شود که باید آن را برطرف کنید. برای مثال، اگر برخی افزونه‌های PHP غایب باشند، باید آن‌ها را نصب کرده و مجدداً بررسی کنید.

2.2. اتصال به پایگاه داده

در این مرحله، باید اطلاعات پایگاه داده‌ای را که برای Cacti ایجاد کرده‌اید وارد کنید:

  • نام پایگاه داده: cacti (نامی که هنگام ایجاد پایگاه داده وارد کرده‌اید)
  • نام کاربری پایگاه داده: cactiuser (نام کاربری که برای پایگاه داده Cacti ساخته‌اید)
  • رمز عبور پایگاه داده: پسورد مربوطه برای cactiuser
  • آدرس میزبان پایگاه داده: معمولاً localhost خواهد بود، مگر اینکه پایگاه داده روی سرور دیگری نصب شده باشد.

مطمئن شوید که همه اطلاعات به‌درستی وارد شده‌اند.

2.3. تنظیمات TimeZone و اطلاعات سرور

در این بخش، شما باید منطقه زمانی (TimeZone) سرور را تنظیم کنید. این تنظیمات به Cacti کمک می‌کند تا داده‌ها را به‌درستی در زمان واقعی ثبت و گراف کند.

  • TimeZone: برای انتخاب منطقه زمانی مناسب، کافی است آن را از لیست کشویی انتخاب کنید. معمولاً برای ایران، “Asia/Tehran” مناسب است.

پس از وارد کردن اطلاعات صحیح و تکمیل این بخش‌ها، روی دکمه “Next” یا “Continue” کلیک کنید.


3. وارد کردن جداول پایگاه داده و پیکربندی اولیه

در این مرحله، Cacti جداول پایگاه داده را که برای ذخیره‌سازی داده‌ها و گراف‌ها نیاز دارد، ایجاد می‌کند. این جداول از طریق اسکریپت‌های نصب Cacti وارد می‌شوند. این کار به‌طور خودکار توسط رابط وب انجام می‌شود.

3.1. ایجاد جداول پایگاه داده

در این مرحله، Cacti اسکریپت‌هایی را اجرا می‌کند که جداول پایگاه داده را ایجاد کرده و به آن اطلاعات اولیه وارد می‌کند. شما نیازی به وارد کردن دستور خاصی ندارید، فقط باید منتظر بمانید تا این فرایند تکمیل شود.

پس از تکمیل این فرآیند، سیستم به‌طور خودکار به صفحه ورود به سیستم هدایت می‌شود.


4. ورود به سیستم Cacti

پس از انجام مراحل پیکربندی، شما می‌توانید وارد سیستم Cacti شوید. صفحه‌ای که نمایش داده می‌شود، از شما می‌خواهد که نام کاربری و رمز عبور را وارد کنید.

  • نام کاربری پیش‌فرض: admin
  • رمز عبور پیش‌فرض: admin

پس از ورود به سیستم، توصیه می‌شود که رمز عبور پیش‌فرض را تغییر دهید تا از امنیت بهتر برخوردار شوید.


5. پیکربندی نهایی و اضافه کردن دستگاه‌ها

پس از ورود به سیستم، شما به داشبورد Cacti دسترسی پیدا خواهید کرد. از اینجا می‌توانید دستگاه‌های شبکه‌ای مانند سوئیچ‌ها، روترها و سرورها را برای نظارت اضافه کنید. مراحل کلی این کار به شرح زیر است:

  1. اضافه کردن دستگاه‌ها: برای نظارت بر دستگاه‌ها، ابتدا باید آن‌ها را به سیستم Cacti اضافه کنید.
  2. پیکربندی SNMP: اطمینان حاصل کنید که SNMP روی دستگاه‌های شبکه فعال است تا Cacti بتواند داده‌ها را جمع‌آوری کند.
  3. ایجاد گراف‌ها: پس از اضافه کردن دستگاه‌ها، می‌توانید گراف‌های مربوطه را برای هر دستگاه ایجاد کنید.

جمع‌بندی

در این بخش، فرآیند راه‌اندازی Cacti و دسترسی به رابط وب برای پیکربندی آن را بررسی کردیم. ابتدا آدرس IP یا نام دامنه سرور را وارد کرده و به رابط وب دسترسی پیدا کردیم. سپس تنظیمات اولیه از جمله اتصال به پایگاه داده، پیکربندی زمان و اطلاعات سرور را وارد کرده و به‌طور خودکار جداول پایگاه داده Cacti را ایجاد کردیم. در نهایت، پس از ورود به سیستم و انجام تنظیمات نهایی، Cacti برای نظارت و مانیتورینگ شبکه آماده استفاده شد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”انجام مراحل گام به گام نصب از طریق رابط کاربری” subtitle=”توضیحات کامل”]در این بخش، نحوه انجام مراحل نصب Cacti از طریق رابط کاربری وب را به صورت گام به گام و با جزئیات کامل بررسی می‌کنیم. این مراحل شامل وارد کردن اطلاعات پایگاه داده، پیکربندی اولیه SNMP، و بررسی وضعیت سرویس‌ها و وابستگی‌ها است. انجام صحیح این مراحل برای راه‌اندازی Cacti ضروری است.


1. وارد کردن اطلاعات پایگاه داده

پس از وارد کردن آدرس IP یا نام دامنه سرور و دسترسی به رابط وب Cacti، اولین قدم در فرایند نصب وارد کردن اطلاعات پایگاه داده است. این اطلاعات شامل نام پایگاه داده، نام کاربری، رمز عبور و میزبان پایگاه داده می‌باشد.

1.1. وارد کردن اطلاعات پایگاه داده در رابط وب
  1. پس از دسترسی به صفحه اولیه رابط کاربری Cacti، شما با صفحه‌ای مواجه خواهید شد که از شما می‌خواهد اطلاعات پایگاه داده خود را وارد کنید.
  2. در این بخش، باید اطلاعات پایگاه داده‌ای را که برای Cacti در مرحله پیشین ایجاد کرده‌اید، وارد کنید. این اطلاعات به شرح زیر است:
    • Database Type: انتخاب MySQL یا MariaDB
    • Database Hostname: این مقدار معمولاً localhost خواهد بود، مگر اینکه پایگاه داده روی سرور دیگری باشد.
    • Database Name: نام پایگاه داده‌ای که در مرحله قبل ایجاد کرده‌اید، معمولاً cacti است.
    • Username: نام کاربری پایگاه داده که برای Cacti تنظیم کرده‌اید (مثلاً cactiuser).
    • Password: رمز عبور مربوط به نام کاربری پایگاه داده که وارد کرده‌اید.

    به طور مثال، اگر از MariaDB استفاده می‌کنید، اطلاعات به صورت زیر خواهد بود:

    • Database Type: MySQL
    • Database Hostname: localhost
    • Database Name: cacti
    • Username: cactiuser
    • Password: your_password
  3. پس از وارد کردن این اطلاعات، دکمه “Test” را برای تست اتصال به پایگاه داده فشار دهید. اگر اتصال برقرار باشد، پیام موفقیت‌آمیز بودن اتصال نمایش داده می‌شود.
  4. در نهایت، با کلیک روی دکمه “Next”، به مرحله بعدی نصب منتقل خواهید شد.

2. پیکربندی اولیه SNMP

SNMP (Simple Network Management Protocol) پروتکلی است که Cacti برای جمع‌آوری داده‌های مربوط به دستگاه‌های شبکه مانند روترها، سوئیچ‌ها و سرورها از آن استفاده می‌کند. در این بخش، پیکربندی اولیه SNMP را برای استفاده در Cacti انجام می‌دهیم.

2.1. نصب و فعال‌سازی SNMP روی دستگاه‌های شبکه

قبل از پیکربندی SNMP در Cacti، باید اطمینان حاصل کنید که SNMP روی دستگاه‌های شبکه‌ای که می‌خواهید نظارت کنید فعال است.

برای دستگاه‌های مبتنی بر لینوکس (مانند روترها یا سوئیچ‌های مجهز به Linux)، شما باید سرویس SNMP را نصب و فعال کنید. به طور مثال، برای نصب و راه‌اندازی SNMP روی سرور لینوکس می‌توانید از دستور زیر استفاده کنید:

sudo apt-get install snmp snmpd

پس از نصب، باید فایل پیکربندی snmpd.conf را ویرایش کرده و اطمینان حاصل کنید که دسترسی‌ها به‌درستی تنظیم شده است. برای مثال:

sudo nano /etc/snmp/snmpd.conf

در این فایل، اطمینان حاصل کنید که کد زیر به‌درستی وجود دارد تا دسترسی‌ها تنظیم شود:

rocommunity public

این تنظیم به شما این امکان را می‌دهد که از SNMP برای نظارت و جمع‌آوری داده‌ها استفاده کنید.

2.2. پیکربندی SNMP در Cacti
  1. در رابط کاربری Cacti، بعد از وارد کردن اطلاعات پایگاه داده، به بخش SNMP منتقل خواهید شد. این بخش شامل تنظیمات اولیه SNMP است که باید وارد کنید.
  2. Community String: این مقدار باید همان مقدار public باشد که در فایل پیکربندی SNMP دستگاه‌های شبکه تنظیم کرده‌اید.
  3. SNMP Version: نسخه SNMP که برای دستگاه‌های خود استفاده می‌کنید را انتخاب کنید. معمولاً نسخه 2c یا 3 برای بیشتر دستگاه‌ها مناسب است. در اینجا، فرض می‌کنیم از SNMP نسخه 2c استفاده می‌کنید.
  4. SNMP Host: آدرس IP دستگاه شبکه‌ای که می‌خواهید اطلاعات آن را جمع‌آوری کنید. برای دستگاه‌های مختلف مانند روتر، سوئیچ، یا سرور، این مقدار متفاوت خواهد بود.
  5. پس از تکمیل این فیلدها، با کلیک روی دکمه “Next” به مرحله بعدی می‌روید.

3. بررسی وضعیت سرویس‌ها و وابستگی‌ها

پس از وارد کردن اطلاعات پایگاه داده و پیکربندی SNMP، Cacti به‌طور خودکار سرویس‌ها و وابستگی‌های مختلف خود را بررسی می‌کند تا اطمینان حاصل کند که همه‌چیز به‌درستی پیکربندی شده است. در این مرحله، Cacti وضعیت سرویس‌های زیر را بررسی خواهد کرد:

  • وب‌سرور (Apache یا Nginx): برای بررسی وضعیت وب‌سرور و دسترسی به رابط وب، Cacti از دستوراتی استفاده می‌کند که مطمئن شود وب‌سرور در حال اجرا است.
  • پایگاه داده (MySQL/MariaDB): بررسی می‌شود که پایگاه داده به‌درستی نصب و پیکربندی شده است و سرویس‌های مربوطه در حال اجرا هستند.
  • PHP: بررسی می‌شود که نسخه صحیح PHP نصب شده باشد و تمام افزونه‌های مورد نیاز (مانند PHP GD و PHP PDO) فعال باشند.
3.1. بررسی وضعیت سرویس‌ها

برای بررسی وضعیت سرویس‌ها از خط فرمان سیستم می‌توانید دستورات زیر را وارد کنید:

  • بررسی وضعیت Apache:
    sudo systemctl status apache2
    
  • بررسی وضعیت MySQL/MariaDB:
    sudo systemctl status mysql
    
  • بررسی وضعیت PHP: برای بررسی اینکه PHP به‌درستی نصب و پیکربندی شده است، دستور زیر را وارد کنید:
    php -v
    

اگر هر یک از این سرویس‌ها در وضعیت در حال اجرا نباشند، باید سرویس‌های مربوطه را دوباره راه‌اندازی کنید.

برای راه‌اندازی مجدد سرویس‌ها، می‌توانید از دستورات زیر استفاده کنید:

  • راه‌اندازی مجدد Apache:
    sudo systemctl restart apache2
    
  • راه‌اندازی مجدد MySQL:
    sudo systemctl restart mysql
    
  • راه‌اندازی مجدد PHP-FPM (اگر از Nginx استفاده می‌کنید):
    sudo systemctl restart php7.x-fpm
    

جمع‌بندی

در این بخش، مراحل گام به گام نصب Cacti از طریق رابط وب را بررسی کردیم. ابتدا وارد کردن اطلاعات پایگاه داده را پوشش دادیم، سپس پیکربندی SNMP را انجام دادیم و از فعال بودن آن روی دستگاه‌های شبکه اطمینان حاصل کردیم. در نهایت، بررسی وضعیت سرویس‌ها و وابستگی‌های Cacti را انجام دادیم تا اطمینان حاصل شود که تمام اجزای سیستم به‌درستی پیکربندی شده‌اند و آماده استفاده هستند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. بررسی و فعال‌سازی SNMP”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نصب و پیکربندی SNMP روی سرور Cacti” subtitle=”توضیحات کامل”]SNMP (Simple Network Management Protocol) یکی از پروتکل‌های اصلی برای مانیتورینگ و نظارت بر وضعیت دستگاه‌های شبکه است. Cacti به کمک SNMP قادر است داده‌ها را از دستگاه‌های شبکه (روترها، سوئیچ‌ها، سرورها و دیگر تجهیزات) جمع‌آوری کند. در این بخش، ما نحوه نصب و پیکربندی SNMP روی سرور Cacti را بررسی خواهیم کرد.


1. نصب SNMP روی سرور Cacti

برای نصب SNMP روی سرور Cacti، بسته‌های مربوط به SNMP باید روی سرور لینوکس نصب شوند. بسته‌های مورد نیاز برای نصب SNMP به شرح زیر هستند:

  • snmp: برای اجرای پروتکل SNMP
  • snmpd: سرویس اصلی SNMP که به‌طور مداوم در حال گوش دادن برای درخواست‌های SNMP است.
1.1. نصب بسته‌های SNMP روی سرور لینوکس

برای نصب این بسته‌ها در سرور لینوکس (به‌ویژه اگر از توزیع‌های مبتنی بر Debian/Ubuntu استفاده می‌کنید)، دستور زیر را وارد کنید:

sudo apt-get update
sudo apt-get install snmp snmpd

برای توزیع‌های مبتنی بر RHEL/CentOS (مانند Fedora یا CentOS) از دستور زیر استفاده کنید:

sudo yum install net-snmp net-snmp-utils

در صورتی که از توزیع‌های مبتنی بر Arch Linux استفاده می‌کنید، دستور نصب به صورت زیر خواهد بود:

sudo pacman -S snmp
1.2. فعال‌سازی و شروع سرویس SNMP

پس از نصب بسته‌ها، باید سرویس snmpd را فعال و شروع کنید تا SNMP بتواند درخواست‌های ورودی را پاسخ دهد. برای این کار از دستورات زیر استفاده کنید:

  • فعال‌سازی سرویس SNMP به‌طور خودکار هنگام راه‌اندازی سیستم:
sudo systemctl enable snmpd
  • شروع سرویس SNMP:
sudo systemctl start snmpd

برای بررسی وضعیت سرویس SNMP:

sudo systemctl status snmpd

2. پیکربندی SNMP روی سرور Cacti

پیکربندی SNMP شامل تنظیمات فایل snmpd.conf است که در آن اطلاعاتی مانند community string (دسترسی به SNMP) و تنظیمات دسترسی دیگر قرار دارد. برای پیکربندی SNMP، باید این فایل را ویرایش کنید.

2.1. ویرایش فایل پیکربندی SNMP (snmpd.conf)

فایل پیکربندی SNMP به‌طور معمول در مسیر /etc/snmp/snmpd.conf قرار دارد. برای ویرایش این فایل از ویرایشگر متنی مورد نظر خود (مانند nano یا vim) استفاده کنید:

sudo nano /etc/snmp/snmpd.conf
2.2. تنظیم community string

در این فایل، باید اطمینان حاصل کنید که community string به درستی تنظیم شده باشد. برای دسترسی خواندنی به داده‌ها، معمولاً از public به عنوان community string استفاده می‌شود. به همین منظور، تنظیمات زیر را باید داشته باشید:

rocommunity public

اگر قصد دارید SNMP را برای دسترسی‌های خاص (از یک آدرس IP خاص) محدود کنید، می‌توانید آن را به‌صورت زیر تنظیم کنید:

rocommunity public 192.168.1.100

این تنظیم فقط به آدرس IP 192.168.1.100 اجازه دسترسی می‌دهد.

2.3. تنظیم مجوزهای دسترسی

اطمینان حاصل کنید که SNMP تنها از برخی IP‌ها (مثل سرور Cacti) قادر به دسترسی باشد. برای این کار، می‌توانید مجوزهای دسترسی را محدود کنید. در صورت استفاده از SNMP ورژن 2c، برای محدود کردن دسترسی به آدرس IP خاص، می‌توانید خطوط زیر را به فایل پیکربندی اضافه کنید:

agentAddress udp:161,udp6:[::1]:161

به‌علاوه، این تنظیمات اجازه دسترسی به هر کسی را از طریق community string public خواهد داد.

2.4. ذخیره و بستن فایل پیکربندی

پس از انجام تغییرات در فایل پیکربندی، فایل را ذخیره کرده و از ویرایشگر خارج شوید:

برای nano:

  • فشردن Ctrl + X برای خروج
  • فشردن Y برای ذخیره تغییرات
  • فشردن Enter برای تایید نام فایل

3. بررسی تنظیمات SNMP

پس از پیکربندی SNMP، باید مطمئن شوید که پیکربندی شما به درستی اعمال شده است. برای انجام این کار، می‌توانید از ابزار snmpwalk استفاده کنید که اطلاعات SNMP را از دستگاه‌های شبکه جمع‌آوری می‌کند. برای بررسی صحت پیکربندی SNMP بر روی سرور خود، دستور زیر را وارد کنید:

snmpwalk -v 2c -c public localhost

در این دستور:

  • -v 2c: نسخه SNMP که از آن استفاده می‌کنید (نسخه 2c)
  • -c public: community string که در فایل پیکربندی تعیین کرده‌اید
  • localhost: میزبان SNMP، در اینجا منظور سرور Cacti است

این دستور باید پاسخ‌هایی را از SNMP سرویس نشان دهد که اطلاعات مربوط به سیستم را نشان می‌دهد.


4. پیکربندی SNMP در Cacti

پس از نصب و پیکربندی SNMP روی سرور، نوبت به پیکربندی Cacti برای استفاده از این سرویس می‌رسد. در رابط کاربری Cacti، باید SNMP را برای جمع‌آوری داده‌ها از دستگاه‌های مختلف تنظیم کنید.

4.1. اضافه کردن دستگاه به Cacti
  1. وارد رابط کاربری Cacti شوید.
  2. از منوی اصلی، به بخش “Devices” بروید و بر روی “Add” کلیک کنید.
  3. در این صفحه، آدرس IP دستگاهی که می‌خواهید نظارت کنید (مانند روتر یا سوئیچ) را وارد کنید.
  4. انتخاب کنید که از SNMP ورژن 2c برای دستگاه استفاده می‌کنید و community string را وارد کنید.
  5. برای ذخیره اطلاعات، روی “Save” کلیک کنید.

پس از این کار، دستگاه به Cacti اضافه می‌شود و می‌توانید گراف‌ها و نمودارهای مربوطه را برای دستگاه مورد نظر مشاهده کنید.


جمع‌بندی

در این بخش، نحوه نصب و پیکربندی SNMP روی سرور Cacti را بررسی کردیم. نصب SNMP روی سرور لینوکس شامل نصب بسته‌های snmp و snmpd و راه‌اندازی سرویس‌های مربوطه است. سپس، پیکربندی فایل snmpd.conf برای تنظیم community string و محدود کردن دسترسی‌ها انجام می‌شود. پس از پیکربندی SNMP، باید مطمئن شوید که تنظیمات به‌درستی اعمال شده است و سپس از رابط کاربری Cacti برای اضافه کردن دستگاه‌ها و استفاده از SNMP برای جمع‌آوری داده‌ها استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”فعال‌سازی SNMP روی دستگاه‌های شبکه (مانند روترها و سوئیچ‌ها)” subtitle=”توضیحات کامل”]SNMP (Simple Network Management Protocol) برای نظارت و مدیریت دستگاه‌های شبکه مانند روترها، سوئیچ‌ها، سرورها و دیگر تجهیزات استفاده می‌شود. برای اینکه Cacti بتواند داده‌ها را از این دستگاه‌ها جمع‌آوری کند، باید SNMP روی این دستگاه‌ها فعال شده باشد. در این بخش، نحوه فعال‌سازی SNMP روی روترها و سوئیچ‌های شبکه را برای دستگاه‌های مختلف توضیح خواهیم داد.


1. فعال‌سازی SNMP روی سوئیچ‌ها و روترهای Cisco

برای فعال‌سازی SNMP روی سوئیچ‌ها و روترهای Cisco، باید به خط فرمان دستگاه وارد شوید و پیکربندی‌های مورد نظر را انجام دهید. در اینجا، مراحل مربوطه آورده شده است.

1.1. وارد شدن به وضعیت پیکربندی دستگاه

ابتدا باید وارد دستگاه Cisco شوید. از طریق Telnet، SSH یا از طریق کنسول سریال به دستگاه متصل شوید. سپس دستور زیر را برای وارد شدن به حالت پیکربندی وارد کنید:

enable
configure terminal
1.2. فعال‌سازی SNMP با استفاده از community string

برای فعال‌سازی SNMP، باید community string (که مشابه رمز عبور برای دسترسی به SNMP است) را تنظیم کنید. به‌طور معمول از community string public برای دسترسی خواندنی و private برای دسترسی نوشتنی استفاده می‌شود. برای تنظیم این community string در Cisco، دستور زیر را وارد کنید:

snmp-server community public RO
snmp-server community private RW

در این دستور:

  • public: community string برای دسترسی خواندنی
  • private: community string برای دسترسی نوشتنی
  • RO: فقط خواندنی
  • RW: خواندنی و نوشتنی
1.3. تعیین محدودیت دسترسی به SNMP

در صورتی که بخواهید دسترسی SNMP را به یک آدرس IP خاص محدود کنید، می‌توانید از دستور زیر استفاده کنید:

snmp-server community public RO 192.168.1.100
snmp-server community private RW 192.168.1.100

این دستور تنها به دستگاه‌هایی که آدرس IP آنها 192.168.1.100 است اجازه دسترسی به SNMP را می‌دهد.

1.4. پیکربندی مکانیزم SNMP Trap

برای فعال‌سازی ارسال trap ها (گزارشات هشدار) از دستگاه، دستور زیر را وارد کنید:

snmp-server enable traps
1.5. ذخیره پیکربندی

پس از انجام تنظیمات مورد نیاز، باید تغییرات را ذخیره کنید تا در صورت راه‌اندازی مجدد دستگاه از بین نرود. برای ذخیره پیکربندی از دستور زیر استفاده کنید:

write memory

2. فعال‌سازی SNMP روی سوئیچ‌ها و روترهای Juniper

در دستگاه‌های Juniper، SNMP به‌طور پیش‌فرض فعال نیست و باید به‌صورت دستی پیکربندی شود. در اینجا نحوه پیکربندی SNMP در سوئیچ‌ها و روترهای Juniper آورده شده است.

2.1. وارد شدن به حالت پیکربندی

برای وارد شدن به حالت پیکربندی دستگاه، ابتدا وارد CLI دستگاه شوید و دستور زیر را وارد کنید:

cli
configure
2.2. فعال‌سازی SNMP

برای فعال‌سازی SNMP، باید دستور زیر را وارد کنید:

set snmp community public authorization read-only
set snmp community private authorization read-write

در این دستور:

  • public: community string برای دسترسی خواندنی
  • private: community string برای دسترسی نوشتنی
2.3. تعیین محدودیت دسترسی به SNMP

در صورتی که بخواهید دسترسی SNMP را به آدرس‌های IP خاص محدود کنید، دستور زیر را وارد کنید:

set snmp community public clients 192.168.1.100

این دستور فقط به آدرس IP 192.168.1.100 اجازه دسترسی به SNMP را می‌دهد.

2.4. ذخیره تغییرات

پس از انجام تنظیمات، برای ذخیره تغییرات دستور زیر را وارد کنید:

commit

3. فعال‌سازی SNMP روی سوئیچ‌ها و روترهای HP (Aruba)

برای فعال‌سازی SNMP روی دستگاه‌های HP یا Aruba، باید به CLI دستگاه متصل شده و تنظیمات لازم را انجام دهید.

3.1. وارد شدن به حالت پیکربندی

برای وارد شدن به حالت پیکربندی، دستور زیر را وارد کنید:

enable
configure terminal
3.2. فعال‌سازی SNMP

برای فعال‌سازی SNMP و تنظیم community string، دستور زیر را وارد کنید:

snmp-server community public ro
snmp-server community private rw
3.3. محدود کردن دسترسی به SNMP

اگر بخواهید دسترسی به SNMP را به یک آدرس IP خاص محدود کنید، دستور زیر را وارد کنید:

snmp-server community public ro 192.168.1.100

این دستور فقط به دستگاه‌هایی که آدرس IP آنها 192.168.1.100 است، اجازه دسترسی به SNMP را می‌دهد.

3.4. ذخیره تغییرات

برای ذخیره تغییرات، دستور زیر را وارد کنید:

write memory

4. فعال‌سازی SNMP روی دستگاه‌های MikroTik

در دستگاه‌های MikroTik نیز SNMP باید به‌صورت دستی فعال شود. برای انجام این کار مراحل زیر را دنبال کنید:

4.1. وارد شدن به دستگاه MikroTik

ابتدا باید وارد دستگاه MikroTik شوید. از طریق Winbox یا دستورات SSH به دستگاه متصل شوید.

4.2. فعال‌سازی SNMP

برای فعال‌سازی SNMP دستور زیر را وارد کنید:

/snmp set enabled=yes
/snmp community add name=public address=192.168.1.100

در این دستور:

  • public: community string برای دسترسی خواندنی
  • 192.168.1.100: آدرس IP که از آن دسترسی به SNMP مجاز است.
4.3. ذخیره تغییرات

برای ذخیره تغییرات، دستور زیر را وارد کنید:

/system reboot

این دستور دستگاه MikroTik را ری‌استارت می‌کند و تنظیمات اعمال می‌شود.


جمع‌بندی

در این بخش، نحوه فعال‌سازی SNMP روی دستگاه‌های مختلف شبکه مانند روترها و سوئیچ‌ها را بررسی کردیم. با فعال‌سازی SNMP، شما می‌توانید داده‌ها را از دستگاه‌های مختلف شبکه جمع‌آوری کنید و به راحتی از ابزارهایی مانند Cacti برای مانیتورینگ استفاده کنید. تنظیمات SNMP بسته به نوع دستگاه متفاوت است، اما اساس کار به‌طور مشابه با تنظیم community string، محدودیت دسترسی و پیکربندی دستگاه‌ها انجام می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تست ارتباط SNMP بین سرور Cacti و دستگاه‌های شبکه” subtitle=”توضیحات کامل”]تست ارتباط SNMP یکی از مراحل مهم در پیکربندی Cacti است که باید برای اطمینان از درست کار کردن اتصال بین سرور Cacti و دستگاه‌های شبکه انجام شود. در این قسمت، نحوه تست ارتباط SNMP را با استفاده از ابزارهای مختلف مانند snmpwalk و snmpget آموزش خواهیم داد.


1. استفاده از دستور snmpwalk برای تست SNMP

ابزار snmpwalk یکی از ابزارهای قدرتمند است که برای دریافت اطلاعات از دستگاه‌های شبکه با استفاده از پروتکل SNMP طراحی شده است. این ابزار می‌تواند به شما کمک کند تا ارتباط SNMP را بین سرور Cacti و دستگاه‌های شبکه تست کنید.

1.1. نصب ابزار snmpwalk

اگر ابزار snmpwalk روی سرور Cacti نصب نیست، می‌توانید آن را با استفاده از دستورات زیر نصب کنید:

  • روی توزیع‌های مبتنی بر Debian/Ubuntu:
sudo apt-get install snmp
  • روی توزیع‌های مبتنی بر Red Hat/CentOS:
sudo yum install net-snmp-utils
1.2. تست ارتباط SNMP با استفاده از snmpwalk

برای تست ارتباط SNMP، می‌توانید از دستور snmpwalk استفاده کنید. در اینجا، فرض می‌کنیم که community string دستگاه شما public و آدرس IP دستگاه شبکه 192.168.1.1 است.

دستور زیر را برای تست ارتباط SNMP اجرا کنید:

snmpwalk -v 2c -c public 192.168.1.1

در این دستور:

  • -v 2c: نسخه SNMP مورد استفاده (SNMPv2c)
  • -c public: community string (public)
  • 192.168.1.1: آدرس IP دستگاه شبکه که می‌خواهید ارتباط SNMP را از آن تست کنید.

اگر ارتباط SNMP برقرار باشد، اطلاعات مختلفی از دستگاه شبکه به شما نمایش داده می‌شود. این اطلاعات می‌تواند شامل آمار مربوط به پورت‌ها، ترافیک شبکه، حافظه و سایر اطلاعات دستگاه باشد.

1.3. تحلیل خروجی دستور snmpwalk

اگر دستور snmpwalk به درستی اجرا شود، خروجی مشابه به این خواهید دید:

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C2900...
SNMPv2-MIB::sysUpTime.0 = Timeticks: (1234567) 142 days, 6:57:47.67
SNMPv2-MIB::sysContact.0 = STRING: admin@yourdomain.com
SNMPv2-MIB::sysName.0 = STRING: Router

اگر ارتباط SNMP قطع باشد، پیامی مشابه به این نمایش داده می‌شود:

Timeout: No Response from 192.168.1.1

در این صورت، باید پیکربندی SNMP دستگاه و سرور را بررسی کنید.


2. استفاده از دستور snmpget برای تست اطلاعات خاص

اگر بخواهید تنها یک مقدار خاص را از دستگاه با استفاده از SNMP دریافت کنید، می‌توانید از دستور snmpget استفاده کنید. این دستور برای دریافت یک اطلاعات خاص از دستگاه مانند وضعیت پورت‌ها یا استفاده از CPU مفید است.

2.1. تست SNMP با snmpget

برای گرفتن یک مقدار خاص از دستگاه، دستور snmpget را به شکل زیر اجرا کنید:

snmpget -v 2c -c public 192.168.1.1 SNMPv2-MIB::sysDescr.0

در این دستور:

  • -v 2c: نسخه SNMP (SNMPv2c)
  • -c public: community string
  • 192.168.1.1: آدرس IP دستگاه
  • SNMPv2-MIB::sysDescr.0: OID (Object Identifier) که مربوط به اطلاعات دستگاه (Description) است.

اگر ارتباط SNMP برقرار باشد، خروجی مشابه به این خواهید داشت:

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C2900...

اگر ارتباط قطع باشد، پیامی مشابه این نمایش داده می‌شود:

Timeout: No Response from 192.168.1.1

3. بررسی تنظیمات فایروال و دسترسی شبکه

در صورتی که دستور snmpwalk یا snmpget موفق به دریافت اطلاعات نشد، ممکن است فایروال یا تنظیمات شبکه مانع از برقراری ارتباط SNMP شده باشد. برای حل این مشکل باید فایروال سرور Cacti و دستگاه‌های شبکه را بررسی و پیکربندی کنید.

3.1. بررسی فایروال در سیستم Cacti

اگر از سیستم عامل لینوکس استفاده می‌کنید، می‌توانید فایروال را با دستور زیر بررسی کنید:

sudo ufw status

اگر فایروال فعال است، مطمئن شوید که پورت 161 که برای SNMP استفاده می‌شود، باز است. برای باز کردن این پورت در فایروال دستور زیر را وارد کنید:

sudo ufw allow 161/udp
3.2. بررسی فایروال در دستگاه شبکه

در صورتی که فایروال روی دستگاه شبکه (مثلاً روتر یا سوئیچ) فعال است، باید مطمئن شوید که پورت 161 برای SNMP باز است. برای مثال در دستگاه‌های Cisco، دستور زیر را وارد کنید:

access-list 100 permit udp any host 192.168.1.1 eq 161

جمع‌بندی

در این بخش نحوه تست ارتباط SNMP بین سرور Cacti و دستگاه‌های شبکه را بررسی کردیم. برای این منظور از ابزارهای snmpwalk و snmpget استفاده کردیم تا از ارتباط درست SNMP مطمئن شویم. همچنین تنظیمات فایروال و مشکلات احتمالی در ارتباط SNMP را مورد بررسی قرار دادیم. تست موفقیت‌آمیز SNMP بین سرور Cacti و دستگاه‌های شبکه گام مهمی در پیکربندی درست سیستم مانیتورینگ است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. تنظیمات پس از نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به زمان‌بندی جمع‌آوری داده‌ها (Polling Interval)” subtitle=”توضیحات کامل”]در سیستم Cacti، جمع‌آوری داده‌ها از دستگاه‌ها و منابع شبکه به‌صورت دوره‌ای انجام می‌شود. این فرآیند معمولاً با استفاده از Polling صورت می‌گیرد و زمان‌بندی این جمع‌آوری داده‌ها (Polling Interval) برای هر دستگاه می‌تواند تنظیم شود. تنظیم Polling Interval به شما این امکان را می‌دهد که کنترل دقیقی روی میزان بارگذاری سرور و دقت داده‌های جمع‌آوری شده داشته باشید.

در این بخش، تنظیمات مربوط به زمان‌بندی جمع‌آوری داده‌ها (Polling Interval) را بررسی می‌کنیم و نحوه پیکربندی این تنظیمات به‌صورت کامندی توضیح داده می‌شود.


1. تنظیم Polling Interval در Cacti

Polling Interval به‌طور پیش‌فرض در Cacti به‌صورت سراسری تنظیم می‌شود. برای تنظیم این ویژگی در Cacti، باید از رابط وب Cacti یا فایل‌های پیکربندی آن استفاده کنید. با این حال، در صورتی که بخواهید تنظیمات را به‌صورت دستی تغییر دهید، باید وارد فایل‌های پیکربندی Cacti شوید.

1.1. پیکربندی زمان‌بندی جمع‌آوری داده‌ها در رابط کاربری Cacti
  1. وارد رابط کاربری Cacti شوید.
  2. از منوی بالا، به بخش “Settings” بروید.
  3. سپس گزینه “Poller” را انتخاب کنید.
  4. در صفحه باز شده، به قسمت “Polling Interval” بروید.
  5. برای تنظیم زمان‌بندی جمع‌آوری داده‌ها، مقدار دلخواه را وارد کنید. معمولاً این مقدار به دقیقه است (برای مثال 5 دقیقه یا 10 دقیقه).
1.2. تنظیم Polling Interval از طریق پیکربندی Cacti

برای تنظیم Polling Interval از طریق پیکربندی فایل‌های Cacti، باید فایل poller.php را ویرایش کنید.

  • فایل poller.php در مسیر زیر قرار دارد:
/var/www/html/cacti/poller.php

در این فایل می‌توانید زمان‌بندی جمع‌آوری داده‌ها را تغییر دهید.

1.3. تغییر مقدار Polling Interval در فایل poller.php

برای تغییر زمان‌بندی Polling، ابتدا باید مقدار poller_interval را در فایل پیکربندی Cacti تغییر دهید.

  1. فایل poller.php را ویرایش کنید:
sudo nano /var/www/html/cacti/include/poller.php
  1. به بخش زیر از فایل بروید که مربوط به زمان‌بندی Polling است:
// Polling Interval (in seconds)
$poller_interval = 300; // 300 seconds = 5 minutes
  1. مقدار 300 که برابر با 5 دقیقه است را به مقداری که می‌خواهید تغییر دهید. به‌عنوان‌مثال، اگر بخواهید Polling Interval را به 10 دقیقه تغییر دهید، مقدار آن را به 600 (10 * 60) تغییر دهید.
$poller_interval = 600; // 600 seconds = 10 minutes
  1. فایل را ذخیره کنید و از ویرایشگر خارج شوید.

2. تنظیم Polling Interval در جدول‌های پایگاه داده Cacti

در برخی موارد، نیاز است که زمان‌بندی جمع‌آوری داده‌ها را به‌صورت دقیق‌تری تنظیم کنید. برای این منظور، می‌توانید جدول‌های پایگاه داده Cacti را ویرایش کنید. این کار معمولاً زمانی مفید است که بخواهید Polling Interval را برای یک دستگاه خاص یا گروهی از دستگاه‌ها تنظیم کنید.

2.1. بررسی جدول‌های پایگاه داده

زمان‌بندی Polling در Cacti در جدول poller_item ذخیره می‌شود. برای ویرایش این تنظیمات، باید به این جدول دسترسی داشته باشید.

  1. وارد محیط MySQL شوید:
mysql -u root -p
  1. پایگاه داده Cacti را انتخاب کنید:
USE cacti;
  1. مشاهده جدول‌های موجود:
SHOW TABLES;
  1. جستجو در جدول poller_item برای دیدن تنظیمات Polling:
SELECT * FROM poller_item;
2.2. تغییر Polling Interval برای یک دستگاه خاص

برای تغییر Polling Interval برای یک دستگاه خاص، می‌توانید از دستور زیر استفاده کنید. فرض کنید که شناسه دستگاه موردنظر device_id است و می‌خواهید Polling Interval را به 10 دقیقه (600 ثانیه) تغییر دهید:

UPDATE poller_item SET interval = 600 WHERE device_id = <ID_DEVICE>;
  • در اینجا، <ID_DEVICE> باید با شناسه دستگاه موردنظر جایگزین شود.
  1. پس از اعمال تغییرات، از MySQL خارج شوید:
EXIT;

3. نظارت و بررسی وضعیت Polling

برای نظارت و بررسی وضعیت Polling در Cacti، شما می‌توانید از بخش‌های مختلف رابط کاربری یا ابزارهای خط فرمان استفاده کنید.

3.1. بررسی وضعیت Polling در رابط کاربری Cacti

در رابط کاربری Cacti، پس از وارد شدن به بخش “Poller”، وضعیت Polling را می‌توانید بررسی کنید. این بخش به شما نشان می‌دهد که آیا Polling برای دستگاه‌های مختلف به درستی انجام می‌شود یا خیر.

3.2. استفاده از دستور tail برای بررسی لاگ‌ها

در صورت بروز مشکلات یا نیاز به نظارت بر عملکرد Polling، می‌توانید از دستورات خط فرمان برای بررسی لاگ‌های Cacti استفاده کنید. برای مثال، دستور زیر برای مشاهده لاگ‌های Polling در Cacti مفید است:

sudo tail -f /var/www/html/cacti/log/cacti.log

این دستور به شما کمک می‌کند تا فرآیند Polling و هرگونه خطا یا مشکل احتمالی در زمان جمع‌آوری داده‌ها را مشاهده کنید.


جمع‌بندی

در این بخش نحوه تنظیم Polling Interval در Cacti را بررسی کردیم. این تنظیمات می‌تواند از طریق رابط کاربری Cacti یا فایل‌های پیکربندی آن انجام شود. همچنین، برای تغییر Polling Interval برای دستگاه‌های خاص، می‌توان از پایگاه داده و دستورهای SQL استفاده کرد. در نهایت، نظارت بر وضعیت Polling از طریق رابط کاربری یا ابزارهای خط فرمان می‌تواند به تشخیص مشکلات کمک کند و اطمینان حاصل کند که جمع‌آوری داده‌ها به درستی انجام می‌شود.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد و فعال‌سازی تسک‌های Cron برای به‌روزرسانی داده‌ها” subtitle=”توضیحات کامل”]برای به‌روزرسانی داده‌ها و اجرای دوره‌ای فرآیندهای مختلف در Cacti، می‌توان از Cron Jobs استفاده کرد. Cron Jobs به شما این امکان را می‌دهند که دستورات یا اسکریپت‌ها را به‌صورت خودکار و در زمان‌های مشخص اجرا کنید. این تسک‌ها به‌ویژه در فرآیندهای نظارت و جمع‌آوری داده‌ها بسیار مفید هستند.

در این بخش، به ایجاد و پیکربندی Cron Jobs برای به‌روزرسانی داده‌ها و اجرای اتوماتیک تسک‌ها در Cacti می‌پردازیم.


1. نحوه ایجاد Cron Job در سرور Linux

Cron برای انجام وظایف زمان‌بندی شده به‌طور پیش‌فرض بر روی سیستم‌های لینوکس نصب است و برای ایجاد تسک‌ها باید فایل پیکربندی آن ویرایش شود.

1.1. بررسی Cron Jobs موجود

قبل از ایجاد Cron Job جدید، می‌توانید Cron Jobs موجود را بررسی کنید. برای این کار، دستور زیر را وارد کنید:

crontab -l

این دستور لیستی از Cron Jobs تعریف‌شده را نمایش می‌دهد.

1.2. ویرایش فایل Cron برای ایجاد تسک جدید

برای ایجاد یک Cron Job جدید، باید فایل Cron را ویرایش کنید. دستور زیر را وارد کنید:

crontab -e

این دستور ویرایشگر پیش‌فرض را باز می‌کند تا بتوانید تسک‌های Cron جدید را اضافه کنید.


2. ایجاد Cron Job برای به‌روزرسانی داده‌ها

برای به‌روزرسانی داده‌ها در Cacti و اجرای دوره‌ای Polling، باید یک Cron Job جدید اضافه کنید که فایل poller.php را به‌طور خودکار در زمان‌های مشخص اجرا کند.

2.1. زمان‌بندی Cron برای اجرای Poller

در Cacti، فایل poller.php مسئول اجرای فرآیند Polling و جمع‌آوری داده‌ها است. برای انجام این کار به‌صورت خودکار در زمان‌های مشخص، باید Cron Job را به‌صورت زیر تنظیم کنید:

  1. وارد ویرایشگر فایل Cron شوید:
crontab -e
  1. برای اجرای poller.php هر 5 دقیقه، دستور زیر را اضافه کنید:
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
  • این دستور به‌صورت خودکار هر 5 دقیقه یک‌بار فایل poller.php را اجرا می‌کند.
  • /usr/bin/php مسیر PHP است که ممکن است بسته به نصب شما متفاوت باشد. با استفاده از دستور which php می‌توانید مسیر دقیق PHP را پیدا کنید.
  • /var/www/html/cacti/poller.php مسیر دقیق فایل poller.php است که ممکن است بسته به نصب شما متفاوت باشد.
  1. برای ذخیره و خروج از ویرایشگر، Ctrl + X را فشار دهید و سپس Y برای تایید و Enter برای ذخیره تغییرات.

3. پیکربندی Cron Job برای فرآیندهای دیگر Cacti

بسته به نیاز، ممکن است بخواهید Cron Jobs دیگری برای فرآیندهای مختلف Cacti مانند ارسال گزارشات یا به‌روزرسانی داده‌ها در زمان‌های خاص اضافه کنید.

3.1. تنظیم Cron برای ارسال گزارشات

اگر می‌خواهید Cacti به‌طور خودکار گزارشاتی از وضعیت سرور یا دستگاه‌ها ارسال کند، می‌توانید Cron Job زیر را اضافه کنید:

0 2 * * * /usr/bin/php /var/www/html/cacti/graph_report.php > /dev/null 2>&1
  • این دستور به‌صورت خودکار هر روز ساعت 2 صبح گزارش‌های گرافیکی Cacti را ارسال می‌کند.
  • مسیر دقیق فایل graph_report.php باید مطابق با نصب شما باشد.
3.2. تنظیم Cron برای ارسال هشدارهای Cacti

برای ارسال هشدارهای مربوط به وضعیت سرویس‌ها یا دستگاه‌ها در Cacti، می‌توانید از Cron Job زیر استفاده کنید:

*/10 * * * * /usr/bin/php /var/www/html/cacti/alert.php > /dev/null 2>&1
  • این دستور هر 10 دقیقه یک‌بار فایل alert.php را اجرا می‌کند تا وضعیت هشدارها را بررسی کند.

4. نظارت و بررسی وضعیت Cron Jobs

برای نظارت بر اینکه Cron Jobs به‌درستی اجرا می‌شوند یا خیر، می‌توانید از لاگ‌های سیستم استفاده کنید.

4.1. بررسی لاگ‌های Cron

برای بررسی اینکه Cron Jobs به‌درستی اجرا می‌شوند یا نه، می‌توانید لاگ‌های Cron را با استفاده از دستور زیر مشاهده کنید:

sudo tail -f /var/log/syslog

این دستور به شما امکان می‌دهد که فعالیت‌های Cron را به‌صورت لحظه‌ای مشاهده کنید.

4.2. بررسی لاگ‌های مخصوص Cacti

Cacti همچنین لاگ‌هایی از عملکرد خود ایجاد می‌کند که می‌توانید برای نظارت دقیق‌تر بر فرآیندهای جمع‌آوری داده‌ها و سایر عملیات‌ها از آن‌ها استفاده کنید:

sudo tail -f /var/www/html/cacti/log/cacti.log

این دستور به شما اطلاعاتی درباره وضعیت Polling، مشکلات احتمالی و سایر مسائل مربوط به Cacti خواهد داد.


جمع‌بندی

در این بخش، نحوه ایجاد و پیکربندی Cron Jobs برای به‌روزرسانی داده‌ها در Cacti توضیح داده شد. با استفاده از Cron، می‌توان فرآیندهای مختلف Cacti مانند جمع‌آوری داده‌ها، ارسال گزارشات و هشدارها را به‌طور خودکار و دوره‌ای اجرا کرد. برای این کار، کافی است تسک‌های Cron را به‌درستی تنظیم کرده و مسیرهای صحیح فایل‌های اجرایی را وارد کنید. همچنین، نظارت بر اجرای صحیح Cron Jobs از طریق لاگ‌ها به شما این امکان را می‌دهد که مشکلات احتمالی را شناسایی کرده و اقدامات لازم را انجام دهید.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی دسترسی و امنیت اولیه (رمز عبور مدیریت، فایروال)” subtitle=”توضیحات کامل”]امنیت در هر سیستم مانیتورینگ شبکه‌ای، از جمله Cacti، برای جلوگیری از دسترسی‌های غیرمجاز و محافظت از داده‌ها و تنظیمات سیستم اهمیت زیادی دارد. در این بخش، به بررسی روش‌های اولیه برای افزایش امنیت سیستم Cacti خواهیم پرداخت. این روش‌ها شامل تنظیمات امنیتی برای مدیریت رمز عبور و پیکربندی فایروال برای محدود کردن دسترسی به سیستم Cacti هستند.


1. تنظیم رمز عبور مدیریت برای Cacti

اولین قدم برای ایجاد امنیت در سیستم Cacti، تنظیم یک رمز عبور امن برای دسترسی به رابط مدیریتی آن است. این رمز عبور باید پیچیده و غیرقابل حدس باشد تا از دسترسی‌های غیرمجاز جلوگیری شود.

1.1. تغییر رمز عبور مدیریت Cacti از طریق رابط کاربری
  1. وارد رابط کاربری Cacti شوید.
  2. وارد بخش “Admin” شوید.
  3. سپس بر روی “User Management” کلیک کنید.
  4. در لیست کاربران، کاربر “admin” را پیدا کرده و ویرایش کنید.
  5. رمز عبور جدیدی را وارد کنید که ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای ویژه باشد.
  6. بر روی گزینه “Save” کلیک کنید تا تغییرات ذخیره شود.

این روش برای تغییر رمز عبور از داخل رابط کاربری است، اما برای امنیت بیشتر، ممکن است بخواهید به روش‌های دیگری نیز بپردازید.

1.2. تغییر رمز عبور از طریق پایگاه داده MySQL

اگر به رابط کاربری دسترسی ندارید یا می‌خواهید به‌صورت دستی رمز عبور را تغییر دهید، می‌توانید این کار را از طریق پایگاه داده MySQL انجام دهید.

  1. ابتدا وارد پایگاه داده MySQL شوید:
mysql -u root -p
  1. پایگاه داده Cacti را انتخاب کنید:
USE cacti;
  1. برای تغییر رمز عبور کاربر “admin”، از دستور زیر استفاده کنید (رمز عبور جدید را به جای newpassword قرار دهید):
UPDATE user_auth set password = MD5('newpassword') WHERE username = 'admin';
  1. تغییرات را ذخیره کرده و از پایگاه داده خارج شوید:
EXIT;

این روش به‌طور مستقیم در پایگاه داده رمز عبور را تغییر می‌دهد.


2. پیکربندی فایروال برای افزایش امنیت

پیکربندی فایروال یکی از روش‌های اصلی برای محدود کردن دسترسی به سیستم Cacti از طریق شبکه است. به‌ویژه اگر Cacti در یک محیط تولیدی یا شبکه بزرگ استفاده شود، محدود کردن دسترسی به آن بسیار ضروری است.

2.1. پیکربندی فایروال در سیستم‌های لینوکس (با استفاده از UFW)

برای تنظیم فایروال در سیستم‌های مبتنی بر لینوکس، می‌توانید از UFW (Uncomplicated Firewall) استفاده کنید که به‌سادگی تنظیم می‌شود.

  1. ابتدا اطمینان حاصل کنید که UFW بر روی سیستم شما نصب است:
sudo apt-get install ufw
  1. سپس، باید پورت‌هایی را که برای دسترسی به Cacti لازم است باز کنید. به‌طور پیش‌فرض، Cacti از پورت 80 (HTTP) یا 443 (HTTPS) برای ارتباط استفاده می‌کند.

برای اجازه دسترسی به پورت 80 (HTTP) و 443 (HTTPS)، دستورات زیر را اجرا کنید:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
  1. اگر می‌خواهید دسترسی به Cacti را محدود کنید و فقط به آی‌پی‌های خاص اجازه دهید، از دستور زیر استفاده کنید:
sudo ufw allow from 192.168.1.100 to any port 80
sudo ufw allow from 192.168.1.100 to any port 443

در اینجا، 192.168.1.100 آدرس IP معتبر است که می‌تواند به Cacti دسترسی داشته باشد.

  1. پس از اعمال تغییرات، فایروال را فعال کنید:
sudo ufw enable
2.2. پیکربندی فایروال با استفاده از iptables

اگر از iptables برای مدیریت فایروال استفاده می‌کنید، می‌توانید دستورات زیر را برای محدود کردن دسترسی به Cacti تنظیم کنید.

  1. برای باز کردن پورت‌های 80 و 443، از دستورات زیر استفاده کنید:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  1. برای محدود کردن دسترسی به Cacti تنها از یک آدرس IP خاص، دستور زیر را وارد کنید:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 443 -j ACCEPT
  1. برای ذخیره تنظیمات iptables پس از راه‌اندازی مجدد سیستم:
sudo iptables-save > /etc/iptables/rules.v4
2.3. بررسی وضعیت فایروال

برای بررسی وضعیت فایروال و اطمینان از تنظیمات اعمال‌شده، از دستور زیر استفاده کنید:

  • برای UFW:
sudo ufw status
  • برای iptables:
sudo iptables -L

3. محدود کردن دسترسی به فایل‌های پیکربندی و گزارش‌ها

برای محافظت از فایل‌های حساس Cacti مانند پیکربندی‌ها و گزارش‌ها، دسترسی به این فایل‌ها را باید محدود کنید.

3.1. تنظیم مجوزهای مناسب برای فایل‌های Cacti
  1. برای تغییر مالکیت و مجوزهای فایل‌ها در Cacti، از دستور زیر استفاده کنید:
sudo chown -R www-data:www-data /var/www/html/cacti
sudo chmod -R 755 /var/www/html/cacti

این دستورات مالکیت و مجوزهای لازم را برای فایل‌های Cacti تنظیم می‌کند.


جمع‌بندی

در این بخش، به بررسی روش‌های اولیه برای افزایش امنیت سیستم Cacti پرداخته شد. اولین اقدام، تنظیم رمز عبور پیچیده و امن برای حساب مدیریت Cacti است که می‌تواند از طریق رابط کاربری یا به‌طور مستقیم از پایگاه داده انجام شود. در مرحله بعد، پیکربندی فایروال برای محدود کردن دسترسی به Cacti از اهمیت بالایی برخوردار است. با استفاده از ابزارهایی مانند UFW یا iptables، می‌توان دسترسی به پورت‌های مربوط به Cacti را محدود کرد و از شبکه‌های خاص یا آی‌پی‌های خاص اجازه دسترسی داد. در نهایت، برای محافظت از فایل‌های حساس Cacti، باید مجوزهای دسترسی را به‌دقت تنظیم کرد تا از دسترسی غیرمجاز به پیکربندی‌ها و گزارش‌ها جلوگیری شود.

 [/cdb_course_lesson][cdb_course_lesson title=”فصل 9. رفع مشکلات نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی خطاهای رایج در مراحل نصب Cacti: خطاهای مربوط به پایگاه داده” subtitle=”توضیحات کامل”]در هنگام نصب Cacti، یکی از رایج‌ترین مشکلاتی که ممکن است با آن مواجه شوید، خطاهای مربوط به پایگاه داده است. این مشکلات معمولاً به دلایل مختلفی مانند پیکربندی نادرست MySQL/MariaDB، دسترسی‌های نادرست به پایگاه داده یا اشتباهات در وارد کردن اطلاعات پایگاه داده رخ می‌دهند. در این بخش، به بررسی برخی از رایج‌ترین خطاهای مربوط به پایگاه داده و نحوه رفع آن‌ها خواهیم پرداخت.


1. خطاهای مربوط به اتصال به پایگاه داده

1.1. خطای “Can’t connect to local MySQL server through socket”

این خطا معمولاً زمانی رخ می‌دهد که سرویس MySQL یا MariaDB در سیستم شما در حال اجرا نیست یا پیکربندی‌های مربوط به اتصال به پایگاه داده به‌درستی انجام نشده است.

راه‌حل:

  1. ابتدا بررسی کنید که سرویس MySQL یا MariaDB در حال اجرا است:
sudo systemctl status mysql

اگر سرویس متوقف شده باشد، آن را با دستور زیر راه‌اندازی کنید:

sudo systemctl start mysql
  1. اگر از فایل socket برای اتصال استفاده می‌کنید، بررسی کنید که مسیر صحیح فایل socket را در پیکربندی Cacti تنظیم کرده‌اید. به‌طور پیش‌فرض، مسیر فایل socket باید /var/run/mysqld/mysqld.sock باشد.

برای بررسی مسیر فایل socket در فایل پیکربندی MySQL، به فایل /etc/my.cnf یا /etc/mysql/my.cnf مراجعه کنید و مقدار socket را بررسی کنید:

[mysqld]
socket=/var/run/mysqld/mysqld.sock

در صورت لزوم، مسیر صحیح را در تنظیمات Cacti وارد کنید.

  1. اگر مشکل همچنان ادامه دارد، از دستور زیر برای اتصال به پایگاه داده MySQL به‌صورت مستقیم استفاده کنید تا از صحت اتصال اطمینان حاصل کنید:
mysql -u root -p

2. خطای “Access denied for user ‘root’@’localhost'”

این خطا زمانی رخ می‌دهد که پایگاه داده MySQL به دلیل مشکلات دسترسی یا وارد کردن اطلاعات نادرست کاربر، اجازه ورود به Cacti را نمی‌دهد.

راه‌حل:

  1. ابتدا با وارد کردن دستور زیر به پایگاه داده وارد شوید و دسترسی‌های کاربر مورد نظر را بررسی کنید:
mysql -u root -p
  1. اگر خطا به‌دلیل نام کاربری و رمز عبور اشتباه باشد، باید رمز عبور برای کاربر مناسب را تنظیم کنید. برای تغییر رمز عبور کاربر root می‌توانید از دستور زیر استفاده کنید:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_new_password');
  1. اگر مشکل مربوط به دسترسی کاربر خاص باشد، به‌عنوان مثال کاربر cacti_user، می‌توانید دسترسی‌های آن را از طریق دستور زیر تنظیم کنید:
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'user_password';
FLUSH PRIVILEGES;
  1. اگر خطا هنوز برطرف نشده است، مطمئن شوید که دسترسی‌های شبکه و فایروال به‌درستی پیکربندی شده‌اند. بررسی کنید که تنظیمات فایروال مانع از اتصال به پایگاه داده نشود.

3. خطای “Unknown database ‘cacti'”

این خطا زمانی رخ می‌دهد که پایگاه داده Cacti در سیستم شما وجود ندارد یا به‌درستی ایجاد نشده است.

راه‌حل:

  1. ابتدا مطمئن شوید که پایگاه داده Cacti را ایجاد کرده‌اید. برای ایجاد پایگاه داده، به MySQL یا MariaDB وارد شوید:
mysql -u root -p
  1. سپس پایگاه داده را با دستور زیر ایجاد کنید:
CREATE DATABASE cacti;
  1. پس از ایجاد پایگاه داده، باید جداول اولیه Cacti را وارد کنید. برای این کار، فایل‌های SQL مربوط به نصب Cacti معمولاً در مسیر cacti/ در دایرکتوری نصب موجود است. به‌عنوان مثال، دستور زیر برای وارد کردن جداول اولیه از فایل SQL استفاده می‌شود:
mysql -u root -p cacti < /path/to/cacti/install/mysql/cacti.sql

پس از اجرای این دستور، پایگاه داده باید با جداول مورد نیاز پر شود.


4. خطای “Database schema version mismatch”

این خطا نشان‌دهنده‌ی وجود نسخه‌های مختلف از اسکیما (ساختار) پایگاه داده است که با نسخه فعلی Cacti نصب‌شده هماهنگ نیست.

راه‌حل:

  1. ابتدا نسخه فعلی Cacti را بررسی کنید:
cacti -v
  1. سپس اسکیما و جداول پایگاه داده را با استفاده از دستور زیر به‌روز کنید:
cd /path/to/cacti
php upgrade.php

این دستور باید تغییرات مورد نیاز برای همسان‌سازی اسکیما پایگاه داده با نسخه جدید Cacti را اعمال کند.

  1. اگر مشکل همچنان ادامه دارد، از فایل install/mysql/cacti.sql برای اصلاح اسکیما استفاده کنید.

5. خطای “Table ‘cacti.data_input’ doesn’t exist”

این خطا نشان می‌دهد که یکی از جداول پایگاه داده Cacti در سیستم شما وجود ندارد.

راه‌حل:

  1. ابتدا بررسی کنید که تمام جداول Cacti در پایگاه داده ایجاد شده باشند. اگر جدول‌ها وجود ندارند، می‌توانید آن‌ها را از فایل SQL مربوطه دوباره وارد کنید:
mysql -u root -p cacti < /path/to/cacti/install/mysql/cacti.sql
  1. در صورت نیاز به تعمیر جداول، می‌توانید از دستور زیر استفاده کنید:
REPAIR TABLE data_input;

جمع‌بندی

در این بخش، به بررسی رایج‌ترین خطاهای مربوط به پایگاه داده در هنگام نصب Cacti پرداختیم. مشکلاتی نظیر عدم اتصال به پایگاه داده، دسترسی‌های نادرست به کاربر، عدم وجود پایگاه داده یا جداول، و مشکلات مربوط به نسخه‌های اسکیما می‌توانند موجب بروز اختلال در نصب و راه‌اندازی Cacti شوند. برای رفع این خطاها، اقداماتی از قبیل بررسی سرویس‌های پایگاه داده، تنظیم دسترسی‌ها و به‌روزرسانی اسکیما پیشنهاد شد. همچنین، بررسی دقیق فایل‌های پیکربندی و وارد کردن دستورات صحیح SQL می‌تواند کمک شایانی به رفع مشکلات پایگاه داده در هنگام نصب و راه‌اندازی Cacti کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشکلات دسترسی به وب‌سرور” subtitle=”توضیحات کامل”]هنگامی که Cacti به‌درستی نصب می‌شود، شما باید بتوانید از طریق مرورگر وب به رابط کاربری آن دسترسی پیدا کنید. با این حال، گاهی ممکن است با مشکلاتی در دسترسی به وب‌سرور مواجه شوید. این مشکلات معمولاً به‌دلیل پیکربندی نادرست وب‌سرور، فایروال، یا اشتباهات در فایل‌های پیکربندی Cacti رخ می‌دهند. در این بخش، به بررسی مشکلات رایج دسترسی به وب‌سرور Cacti و نحوه رفع آن‌ها می‌پردازیم.


1. مشکل در دسترسی به آدرس IP یا دامنه

1.1. خطای “Connection Refused” یا “Server Not Found”

این خطا زمانی رخ می‌دهد که مرورگر شما قادر به برقراری اتصال به سرور Cacti نیست. دلایل اصلی این مشکل می‌تواند یکی از موارد زیر باشد:

  • وب‌سرور (Apache یا Nginx) در حال اجرا نیست.
  • پیکربندی نادرست فایل‌های VirtualHost.
  • مشکل در تنظیمات DNS (در صورت استفاده از دامنه).

راه‌حل:

  1. بررسی کنید که وب‌سرور در حال اجرا است. برای بررسی وضعیت Apache:
sudo systemctl status apache2

برای Nginx:

sudo systemctl status nginx

اگر وب‌سرور متوقف است، آن را با دستور زیر راه‌اندازی کنید:

برای Apache:

sudo systemctl start apache2

برای Nginx:

sudo systemctl start nginx
  1. بررسی پیکربندی فایل‌های VirtualHost برای Apache یا Server Block برای Nginx:
  • در Apache، فایل‌های پیکربندی VirtualHost معمولاً در مسیر /etc/apache2/sites-available/ قرار دارند. یک فایل برای سایت شما مانند 000-default.conf وجود دارد که باید به‌درستی تنظیم شود.
  • در Nginx، فایل‌های پیکربندی سایت معمولاً در مسیر /etc/nginx/sites-available/ هستند.

برای بررسی پیکربندی، فایل VirtualHost یا Server Block مربوط به سایت Cacti را باز کنید و مطمئن شوید که پورت‌ها و آدرس‌ها به‌درستی تنظیم شده‌اند.

مثال برای Apache (فایل 000-default.conf):

<VirtualHost *:80>
    DocumentRoot /var/www/html/cacti
    ServerName yourdomain.com

    <Directory /var/www/html/cacti>
        Options +Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

برای Nginx:

server {
    listen 80;
    server_name yourdomain.com;

    root /var/www/html/cacti;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME /var/www/html/cacti$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. پس از بررسی و ویرایش پیکربندی، وب‌سرور را برای اعمال تغییرات مجدداً راه‌اندازی کنید:

برای Apache:

sudo systemctl restart apache2

برای Nginx:

sudo systemctl restart nginx
  1. در صورتی که از دامنه استفاده می‌کنید، مطمئن شوید که DNS به‌درستی پیکربندی شده باشد و به آدرس صحیح سرور اشاره کند.

2. مشکل در پیکربندی فایروال

2.1. خطای “Connection Timeout” یا “Connection Refused” به دلیل مسدود بودن پورت

اگر فایروال سرور شما پورت‌های مورد نیاز برای دسترسی به وب‌سرور Cacti را مسدود کرده باشد، شما قادر به دسترسی به رابط کاربری نخواهید بود.

راه‌حل:

  1. بررسی کنید که پورت 80 (HTTP) و 443 (HTTPS) برای وب‌سرور باز هستند. برای انجام این کار، دستور زیر را برای بررسی وضعیت فایروال اجرا کنید:
sudo ufw status

اگر پورت‌های HTTP و HTTPS باز نیستند، می‌توانید آن‌ها را با دستور زیر باز کنید:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
  1. اگر از فایروال iptables استفاده می‌کنید، می‌توانید با دستورات زیر پورت‌ها را باز کنید:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  1. در صورتی که از Cloudflare یا دیگر سرویس‌های فایروال مبتنی بر ابر استفاده می‌کنید، مطمئن شوید که تنظیمات دسترسی برای پورت‌های 80 و 443 در آن‌ها نیز به‌درستی انجام شده باشد.

3. مشکل در پیکربندی PHP

3.1. خطای “Internal Server Error” یا “502 Bad Gateway”

این خطا معمولاً به‌دلیل مشکلات پیکربندی PHP-FPM یا Apache mod_php رخ می‌دهد. دلیل این مشکل می‌تواند عدم پیکربندی صحیح PHP یا ناسازگاری نسخه‌های PHP باشد.

راه‌حل:

  1. بررسی کنید که PHP و PHP-FPM (در صورت استفاده از Nginx) به‌درستی نصب و پیکربندی شده باشند. برای بررسی وضعیت PHP-FPM:
sudo systemctl status php7.4-fpm
  1. در صورتی که از Apache استفاده می‌کنید، بررسی کنید که ماژول mod_php فعال باشد:
sudo a2enmod php7.4
  1. برای Nginx، اطمینان حاصل کنید که تنظیمات FastCGI به‌درستی پیکربندی شده است. برای این کار، فایل پیکربندی مربوطه را بررسی کنید و مطمئن شوید که مسیر صحیح به php-fpm.sock داده شده باشد.
  2. بررسی لاگ‌های وب‌سرور می‌تواند اطلاعات بیشتری در مورد خطاهای PHP بدهد. برای Apache، لاگ‌ها معمولاً در مسیر /var/log/apache2/error.log قرار دارند:
tail -f /var/log/apache2/error.log

برای Nginx:

tail -f /var/log/nginx/error.log

4. مشکل در دسترسی به فایل‌های Cacti

4.1. خطای “Forbidden” یا “403 Forbidden”

این خطا معمولاً به‌دلیل نادرست بودن دسترسی‌ها به دایرکتوری‌ها و فایل‌های Cacti رخ می‌دهد. این خطا معمولاً زمانی اتفاق می‌افتد که وب‌سرور نتواند به دایرکتوری یا فایل‌های Cacti دسترسی پیدا کند.

راه‌حل:

  1. بررسی کنید که دسترسی‌های لازم برای دایرکتوری‌های Cacti به‌درستی تنظیم شده باشد. برای این کار، دسترسی‌های دایرکتوری /var/www/html/cacti را بررسی کنید:
sudo chmod -R 755 /var/www/html/cacti
  1. همچنین، مالکیت فایل‌ها باید به کاربر وب‌سرور (برای Apache معمولاً www-data است) تغییر یابد:
sudo chown -R www-data:www-data /var/www/html/cacti

جمع‌بندی

مشکلات دسترسی به وب‌سرور Cacti می‌توانند به دلایل مختلفی از جمله مشکلات پیکربندی وب‌سرور، فایروال، پیکربندی PHP یا مشکلات دسترسی به فایل‌ها ایجاد شوند. برای رفع این مشکلات، باید به‌دقت پیکربندی‌های وب‌سرور، فایروال، PHP و دسترسی به فایل‌ها را بررسی کرده و مطمئن شوید که همه‌چیز به‌درستی تنظیم شده است. همچنین، بررسی لاگ‌های وب‌سرور می‌تواند کمک شایانی به شناسایی و رفع مشکلات کند.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی خطاهای SNMP” subtitle=”توضیحات کامل”]یکی از مهم‌ترین بخش‌ها در استفاده از Cacti برای مانیتورینگ شبکه، پیکربندی صحیح پروتکل SNMP است. SNMP (Simple Network Management Protocol) برای جمع‌آوری داده‌ها از دستگاه‌های شبکه‌ای مانند روترها، سوئیچ‌ها، سرورها و سایر دستگاه‌های شبکه استفاده می‌شود. در صورت بروز خطاهای مربوط به SNMP، امکان دریافت داده‌ها از این دستگاه‌ها در Cacti وجود نخواهد داشت. در این بخش، به بررسی خطاهای رایج SNMP و راه‌حل‌های آن‌ها می‌پردازیم.


1. خطای “SNMP Timeout”

این خطا زمانی رخ می‌دهد که سرور Cacti قادر به برقراری ارتباط با دستگاه شبکه از طریق SNMP نباشد. معمولاً این مشکل به‌دلیل مشکلات پیکربندی شبکه، SNMP یا فایروال رخ می‌دهد.

علل احتمالی:
  1. پیکربندی نادرست SNMP روی دستگاه شبکه: ممکن است SNMP بر روی دستگاه شبکه به‌درستی پیکربندی نشده باشد.
  2. مشکلات فایروال: ممکن است فایروال بر روی سرور Cacti یا دستگاه شبکه، ترافیک SNMP را مسدود کرده باشد.
  3. پیکربندی اشتباه در Cacti: تنظیمات SNMP در Cacti ممکن است به‌درستی انجام نشده باشد.
راه‌حل‌ها:
  1. بررسی پیکربندی SNMP روی دستگاه شبکه:
    • ابتدا مطمئن شوید که SNMP بر روی دستگاه شبکه فعال است و به‌درستی پیکربندی شده است. برای مثال، برای فعال‌سازی SNMP بر روی یک روتر یا سوئیچ Cisco، دستورات زیر را اجرا کنید:
    snmp-server community public RO
    snmp-server enable traps
    
    • اگر از دستگاه‌های دیگر مانند سوئیچ‌های HP یا MikroTik استفاده می‌کنید، باید از دستورات مخصوص آن‌ها استفاده کنید.
  2. بررسی فایروال:
    • مطمئن شوید که فایروال‌ها در سرور Cacti و دستگاه‌های شبکه، پورت 161 (برای SNMP) را باز کرده باشند. برای مثال، اگر از ufw در سرور Cacti استفاده می‌کنید، دستور زیر را برای باز کردن پورت 161 اجرا کنید:
    sudo ufw allow 161/udp
    
    • همچنین بررسی کنید که فایروال دستگاه‌های شبکه نیز پورت 161 را باز کرده باشد.
  3. بررسی تنظیمات SNMP در Cacti:
    • وارد رابط وب Cacti شوید و به قسمت Devices بروید. مطمئن شوید که پروتکل SNMP به‌درستی انتخاب شده و تنظیمات مربوط به نسخه SNMP (V1، V2 یا V3) صحیح باشد.
    • اطمینان حاصل کنید که Community String به‌درستی وارد شده باشد و با آنچه در دستگاه شبکه تنظیم کرده‌اید، همخوانی داشته باشد.

2. خطای “Invalid SNMP Version”

این خطا زمانی رخ می‌دهد که نسخه SNMP در Cacti با نسخه SNMP که در دستگاه شبکه پیکربندی شده است، مطابقت ندارد. Cacti از نسخه‌های مختلف SNMP پشتیبانی می‌کند، بنابراین اگر نسخه انتخابی در Cacti با نسخه دستگاه شبکه همخوانی نداشته باشد، این خطا رخ می‌دهد.

علل احتمالی:
  1. نسخه متفاوت SNMP: ممکن است در Cacti نسخه SNMP (V1، V2 یا V3) نادرست انتخاب شده باشد.
  2. عدم پشتیبانی از نسخه SNMP در دستگاه شبکه: دستگاه شبکه ممکن است فقط از نسخه خاصی از SNMP پشتیبانی کند.
راه‌حل‌ها:
  1. بررسی نسخه SNMP در Cacti:
    • وارد Cacti شوید و به Devices بروید.
    • دستگاه مورد نظر را انتخاب کرده و مطمئن شوید که نسخه SNMP صحیح (V1، V2 یا V3) انتخاب شده است.
    • برای تنظیم نسخه SNMP، هنگام اضافه کردن دستگاه، می‌توانید نسخه صحیح را از لیست کشویی انتخاب کنید.
  2. بررسی نسخه SNMP روی دستگاه شبکه:
    • اگر دستگاه شبکه شما تنها از نسخه خاصی از SNMP پشتیبانی می‌کند، باید نسخه‌ای که توسط دستگاه پشتیبانی می‌شود را در Cacti تنظیم کنید.
    • برای بررسی نسخه SNMP در دستگاه شبکه، می‌توانید از دستور زیر در دستگاه‌های Cisco استفاده کنید:
    show snmp
    

3. خطای “SNMP Authentication Failure”

این خطا زمانی رخ می‌دهد که اطلاعات احراز هویت SNMP (Community String) که در Cacti وارد شده، با اطلاعات موجود در دستگاه شبکه تطابق نداشته باشد.

علل احتمالی:
  1. Community String نادرست: Community String وارد شده در Cacti ممکن است اشتباه باشد.
  2. عدم همخوانی Community String در دستگاه شبکه: Community String که در Cacti وارد کرده‌اید با Community String دستگاه شبکه مطابقت ندارد.
راه‌حل‌ها:
  1. بررسی Community String در Cacti:
    • وارد Cacti شوید و به قسمت Devices بروید.
    • دستگاه مورد نظر را انتخاب کرده و Community String را بررسی کنید. مطمئن شوید که با آنچه در دستگاه شبکه تنظیم کرده‌اید، همخوانی دارد.
  2. بررسی Community String در دستگاه شبکه:
    • به دستگاه شبکه وارد شده و مطمئن شوید که Community String به‌درستی تنظیم شده باشد.
    • برای دستگاه‌های Cisco، دستور زیر برای تنظیم Community String استفاده می‌شود:
    snmp-server community public RO
    

4. خطای “SNMP OID Not Found”

این خطا زمانی رخ می‌دهد که Cacti نتواند داده‌ای را از دستگاه شبکه جمع‌آوری کند. علت این مشکل ممکن است عدم پشتیبانی دستگاه از OID (Object Identifier) خاصی باشد.

علل احتمالی:
  1. OID نامعتبر یا نادرست: ممکن است OID ای که Cacti در حال تلاش برای جمع‌آوری آن است، در دستگاه شبکه موجود نباشد.
  2. عدم پشتیبانی دستگاه از OID: برخی از دستگاه‌ها ممکن است از OID خاصی پشتیبانی نکنند.
راه‌حل‌ها:
  1. بررسی OID در Cacti:
    • در بخش Data Queries در Cacti، مطمئن شوید که OID صحیح برای دستگاه شبکه انتخاب شده باشد.
    • OID های معتبر معمولاً در مستندات دستگاه شبکه یافت می‌شوند.
  2. بررسی مستندات دستگاه شبکه:
    • به مستندات دستگاه شبکه مراجعه کرده و بررسی کنید که آیا از OID مورد نظر پشتیبانی می‌کند یا خیر.
  3. استفاده از ابزار SNMP Walk برای شبیه‌سازی OID:
    • از ابزار snmpwalk برای تست کردن OID و دریافت داده‌ها از دستگاه استفاده کنید. برای این کار، دستور زیر را اجرا کنید:
    snmpwalk -v2c -c public 192.168.1.1
    
    • این دستور از نسخه 2c SNMP برای جمع‌آوری اطلاعات از دستگاه با آدرس IP 192.168.1.1 استفاده می‌کند.

جمع‌بندی

خطاهای مربوط به SNMP معمولاً ناشی از پیکربندی نادرست یا عدم تطابق در تنظیمات SNMP روی دستگاه‌های شبکه و Cacti هستند. برای رفع این مشکلات، باید تنظیمات SNMP را هم در دستگاه‌های شبکه و هم در Cacti بررسی کرده و مطمئن شوید که همه‌چیز به‌درستی پیکربندی شده است. در صورتی که خطاهای مربوط به SNMP به‌طور خاصی مانند SNMP Timeout، Invalid SNMP Version، Authentication Failure یا OID Not Found مواجه شدید، باید مراحل عیب‌یابی را به‌دقت انجام دهید و از ابزارهای تستی مانند snmpwalk برای شبیه‌سازی داده‌ها استفاده کنید تا مشکل را شناسایی و برطرف کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از لاگ‌های سرور برای شناسایی مشکلات” subtitle=”توضیحات کامل”]یکی از روش‌های مهم برای شناسایی و رفع مشکلات در Cacti و سایر نرم‌افزارهای مانیتورینگ، استفاده از لاگ‌ها (Logs) است. لاگ‌ها به شما اطلاعات مهم و دقیق‌تری از وضعیت عملکرد سرور، وب‌سرور، PHP و سایر اجزای سیستم می‌دهند. در این بخش، به بررسی نحوه استفاده از لاگ‌های Apache/Nginx و PHP برای شناسایی مشکلات در Cacti پرداخته می‌شود.


1. لاگ‌های Apache/Nginx

وب‌سرورهایی مانند Apache و Nginx معمولاً اطلاعات زیادی درباره درخواست‌های HTTP، خطاهای سرور و مشکلات دیگر در قالب لاگ ذخیره می‌کنند. این لاگ‌ها می‌توانند در شناسایی مشکلات مربوط به عملکرد یا پیکربندی Cacti و سایر مشکلات سرور به شما کمک کنند.

Apache Logs:

برای بررسی لاگ‌های Apache، ابتدا باید بدانید که Apache معمولاً دو نوع لاگ اصلی دارد:

  1. Access Log: این لاگ شامل درخواست‌های HTTP ورودی به سرور است.
  2. Error Log: این لاگ شامل خطاهای سرور، مانند خطاهای مربوط به دسترسی، درخواست‌های نادرست، و مشکلات سرور است.
مسیر پیش‌فرض لاگ‌های Apache:
  • Access Log: /var/log/apache2/access.log یا /var/log/httpd/access_log
  • Error Log: /var/log/apache2/error.log یا /var/log/httpd/error_log
بررسی لاگ‌های Apache:

برای بررسی لاگ‌های Apache می‌توانید از دستورات زیر استفاده کنید:

  1. برای مشاهده آخرین ورودی‌ها در Access Log:
    tail -f /var/log/apache2/access.log
    
  2. برای مشاهده آخرین ورودی‌ها در Error Log:
    tail -f /var/log/apache2/error.log
    

در صورتی که درخواست‌های نامعتبری به سرور ارسال شده باشد یا مشکلاتی در عملکرد Cacti وجود داشته باشد، این اطلاعات در Error Log ثبت خواهد شد. برای مثال، ممکن است خطاهای مربوط به دسترسی به فایل‌ها یا مشکلات در پیکربندی Cacti را مشاهده کنید.

Nginx Logs:

نحوه بررسی لاگ‌های Nginx مشابه Apache است. Nginx نیز دارای دو نوع لاگ اصلی است:

  1. Access Log: شامل درخواست‌های ورودی به سرور.
  2. Error Log: شامل خطاهای سرور.
مسیر پیش‌فرض لاگ‌های Nginx:
  • Access Log: /var/log/nginx/access.log
  • Error Log: /var/log/nginx/error.log
بررسی لاگ‌های Nginx:
  1. برای مشاهده آخرین ورودی‌ها در Access Log:
    tail -f /var/log/nginx/access.log
    
  2. برای مشاهده آخرین ورودی‌ها در Error Log:
    tail -f /var/log/nginx/error.log
    

در Nginx، لاگ‌های خطا معمولاً شامل اطلاعاتی هستند که نشان می‌دهد چرا یک درخواست خاص به‌درستی پردازش نشده است. در این لاگ‌ها می‌توانید خطاهایی مانند 404 Not Found یا 502 Bad Gateway را مشاهده کنید که نشان‌دهنده مشکلات در درخواست‌ها به Cacti یا پیکربندی اشتباه وب‌سرور است.


2. لاگ‌های PHP

PHP بخش مهمی از عملکرد Cacti را تشکیل می‌دهد، زیرا بسیاری از عملیات و پردازش‌های داده توسط اسکریپت‌های PHP انجام می‌شوند. بنابراین، بررسی لاگ‌های PHP می‌تواند به شناسایی مشکلاتی که به‌طور خاص مربوط به PHP است کمک کند.

مسیر پیش‌فرض لاگ‌های PHP:

در بسیاری از سیستم‌ها، مسیر پیش‌فرض لاگ‌های PHP به شرح زیر است:

  • /var/log/php/error.log
  • /var/log/apache2/php_error.log
  • /var/log/httpd/php_error.log

این مسیرها می‌توانند بسته به توزیع لینوکس یا پیکربندی سیستم متفاوت باشند. در صورت نیاز به تغییر مسیر ذخیره‌سازی لاگ‌ها، باید فایل پیکربندی php.ini را ویرایش کنید.

بررسی لاگ‌های PHP:

برای بررسی لاگ‌های PHP، می‌توانید از دستور زیر استفاده کنید:

  1. برای مشاهده آخرین ورودی‌ها در PHP Error Log:
    tail -f /var/log/php/error.log
    

در صورتی که خطاهای مربوط به PHP مانند مشکلات با توابع PHP یا خطاهای مربوط به دسترسی به فایل‌ها و دایرکتوری‌ها در Cacti وجود داشته باشد، این خطاها در لاگ PHP ثبت خواهند شد. خطاهایی مانند Fatal error، Warning و Notice به شما کمک می‌کنند تا مشکلات را شناسایی کنید.

تنظیمات PHP برای ذخیره‌سازی خطاها:

اگر نمی‌توانید لاگ‌های PHP را مشاهده کنید، ممکن است نیاز باشد تا این قابلیت را در فایل php.ini فعال کنید. برای این کار، دستورالعمل‌های زیر را دنبال کنید:

  1. فایل php.ini را باز کنید (مسیر این فایل ممکن است متفاوت باشد، در اینجا به‌طور مثال مسیر /etc/php/7.x/apache2/php.ini است):
    sudo nano /etc/php/7.x/apache2/php.ini
    
  2. مطمئن شوید که موارد زیر تنظیم شده باشد:
    • فعال کردن ذخیره‌سازی خطاها:
      log_errors = On
      
    • مسیر لاگ‌گیری خطاها:
      error_log = /var/log/php/error.log
      
  3. پس از اعمال تغییرات، وب‌سرور (Apache یا Nginx) را ریستارت کنید:برای Apache:
    sudo systemctl restart apache2
    

    برای Nginx:

    sudo systemctl restart nginx
    

3. نحوه استفاده از لاگ‌ها برای شناسایی مشکلات در Cacti

با استفاده از لاگ‌های سرور (Apache/Nginx) و PHP، شما می‌توانید به راحتی مشکلات مربوط به Cacti را شناسایی و رفع کنید. در زیر، چند نمونه از مشکلات رایج که می‌توانید از طریق لاگ‌ها شناسایی کنید آورده شده است:

  1. مشکلات دسترسی به صفحات وب Cacti: در صورتی که مشکلی در دسترسی به صفحات وب Cacti وجود داشته باشد، خطاهای 404 یا 403 در Access Log وب‌سرور ثبت می‌شوند. این می‌تواند ناشی از پیکربندی نادرست دسترسی‌ها باشد.
  2. مشکلات عملکرد PHP: خطاهای PHP معمولاً در PHP Error Log ثبت می‌شوند و به شما کمک می‌کنند تا مشکلات مربوط به اسکریپت‌های PHP را شناسایی کنید. برای مثال، اگر یک تابع PHP نتواند کار کند یا مشکلی در اتصال به پایگاه داده وجود داشته باشد، این خطاها در لاگ ثبت می‌شوند.
  3. مشکلات مربوط به SNMP: در صورت بروز مشکلات در ارتباط با دستگاه‌های شبکه از طریق SNMP، خطاهای مربوط به اتصال یا تأخیر در Error Log وب‌سرور یا PHP Error Log ثبت خواهند شد.

جمع‌بندی

استفاده از لاگ‌ها برای شناسایی و رفع مشکلات Cacti یکی از روش‌های موثر است. لاگ‌های Apache/Nginx اطلاعاتی درباره درخواست‌ها، خطاها و وضعیت کلی سرور ارائه می‌دهند، در حالی که لاگ‌های PHP به شما کمک می‌کنند تا مشکلات مربوط به پردازش‌های PHP را شناسایی کنید. با بررسی دقیق این لاگ‌ها می‌توانید بسیاری از مشکلات عملکرد و پیکربندی Cacti را شناسایی و حل کنید.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 3. آشنایی با رابط کاربری Cacti”][cdb_course_lesson title=”فصل 1. معرفی کلی رابط کاربری”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آشنایی با ساختار کلی داشبورد Cacti” subtitle=”توضیحات کامل”]داشبورد Cacti یکی از مهم‌ترین بخش‌های این ابزار مانیتورینگ است که امکان نظارت بر وضعیت شبکه، نمایش گراف‌ها و بررسی عملکرد سیستم را فراهم می‌کند. این داشبورد شامل بخش‌های مختلفی مانند منوی اصلی، نمایش گراف‌ها، تنظیمات، مدیریت دستگاه‌ها و گزارش‌ها است که در ادامه به معرفی هر بخش و تنظیمات آن می‌پردازیم.


۱. معرفی بخش‌های اصلی داشبورد

۱.۱ منوی اصلی (Main Menu)
در بالای صفحه، نوار اصلی Cacti قرار دارد که شامل گزینه‌های زیر است:

  • Console: مدیریت تنظیمات، دستگاه‌ها، کاربران و موارد دیگر.
  • Graphs: نمایش گراف‌های مربوط به داده‌های جمع‌آوری‌شده از دستگاه‌های مختلف.
  • Reports: تهیه گزارش‌های تحلیلی از وضعیت شبکه.
  • Settings: انجام تنظیمات مربوط به نحوه جمع‌آوری داده‌ها، زمان‌بندی و دیگر تنظیمات مهم.
  • Logout: خروج از سیستم.

۲. تنظیمات نمایش داشبورد

برای تغییر تنظیمات نمایش داشبورد در محیط گرافیکی مراحل زیر را طی کنید:
۱. از منوی بالا روی Console کلیک کنید.
۲. به بخش Settings بروید.
3. در تب General، می‌توانید پارامترهای مختلف مربوط به نمایش داشبورد را تغییر دهید.

تنظیمات معادل در محیط خط فرمان (CLI):

فایل تنظیمات داشبورد Cacti معمولاً در مسیر زیر قرار دارد:

/var/www/html/cacti/include/config.php

برای ویرایش آن، دستور زیر را اجرا کنید:

sudo nano /var/www/html/cacti/include/config.php

برخی از پارامترهای مهمی که می‌توانید تغییر دهید:

$settings['default_refresh'] = 60; // تغییر زمان بروزرسانی داشبورد به 60 ثانیه
$settings['graph_tree_mode'] = "tree"; // نمایش گراف‌ها در حالت درختی
$settings['log_verbosity'] = 2; // سطح گزارش‌گیری را روی متوسط تنظیم می‌کند

پس از ویرایش، فایل را ذخیره کنید و برای اعمال تغییرات، سرویس Apache/Nginx را ریستارت کنید:

sudo systemctl restart apache2  # برای Apache
sudo systemctl restart nginx    # برای Nginx

۳. بررسی گراف‌ها در داشبورد

بخش Graphs یکی از مهم‌ترین قسمت‌های داشبورد است که برای نمایش وضعیت پهنای باند، عملکرد CPU، میزان استفاده از حافظه و سایر شاخص‌های شبکه استفاده می‌شود.

مشاهده گراف‌ها به‌صورت گرافیکی:
۱. از منوی اصلی Graphs را انتخاب کنید.
۲. گراف مربوط به هر دستگاه را کلیک کنید تا داده‌های تاریخی و لحظه‌ای آن را ببینید.
۳. می‌توانید بازه زمانی را تغییر دهید تا داده‌های مختلف نمایش داده شوند.

دسترسی به گراف‌ها از طریق خط فرمان (CLI):
برای مشاهده اطلاعات گراف‌ها در پایگاه داده و RRDTool از دستورات زیر استفاده کنید:

mysql -u root -p -e "SELECT * FROM cacti.graph_templates;"

یا بررسی فایل‌های ذخیره‌شده توسط RRDTool:

rrdtool fetch /var/lib/cacti/rra/device_traffic.rrd AVERAGE

۴. بررسی وضعیت دستگاه‌های متصل در داشبورد

روش گرافیکی:
۱. وارد منوی Console شوید.
۲. روی Device Management کلیک کنید.
۳. فهرست تمامی دستگاه‌های اضافه‌شده را مشاهده کنید و وضعیت آن‌ها را بررسی کنید.

روش خط فرمان (CLI):
مشاهده دستگاه‌های اضافه‌شده در پایگاه داده Cacti:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host;"

۵. سفارشی‌سازی داشبورد و گراف‌ها

برای تغییر تِم داشبورد و سفارشی‌سازی آن از طریق رابط گرافیکی:
۱. از منوی Settings گزینه Visual را انتخاب کنید.
۲. رنگ‌ها، اندازه فونت‌ها و قالب‌بندی را تغییر دهید.

تنظیمات معادل در خط فرمان:
ویرایش فایل config.php برای تغییر ظاهر داشبورد:

sudo nano /var/www/html/cacti/include/config.php

افزودن تغییرات زیر:

$settings['theme'] = "dark"; // فعال‌سازی تم تاریک
$settings['graph_text_font_size'] = 12; // تغییر اندازه فونت گراف‌ها

سپس سرویس Apache/Nginx را ریستارت کنید:

sudo systemctl restart apache2

جمع‌بندی

در این بخش با ساختار کلی داشبورد Cacti آشنا شدیم. داشبورد شامل منوی اصلی، بخش نمایش گراف‌ها، مدیریت دستگاه‌ها، تنظیمات و گزارش‌ها است. همچنین روش‌های پیکربندی داشبورد به‌صورت گرافیکی و کامندی را بررسی کردیم. این تنظیمات شامل زمان بروزرسانی داشبورد، تنظیمات گراف‌ها، وضعیت دستگاه‌ها و سفارشی‌سازی ظاهری بودند که هم در محیط گرافیکی و هم در خط فرمان قابل انجام هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”معرفی منوهای اصلی و تب‌های کاربردی” subtitle=”توضیحات کامل”]داشبورد Cacti شامل منوهای متعددی است که برای مدیریت دستگاه‌ها، تنظیمات جمع‌آوری داده‌ها، نمایش گراف‌ها و ایجاد گزارش‌ها به کار می‌روند. در این بخش، به معرفی این منوها و تب‌های کلیدی می‌پردازیم و نحوه استفاده از آن‌ها را هم به‌صورت گرافیکی و هم از طریق دستورات CLI ارائه می‌کنیم.


۱. منوهای اصلی در Cacti

منوهای اصلی در نوار بالای داشبورد Cacti قرار دارند و شامل گزینه‌های زیر هستند:

۱.۱. Console (مدیریت و پیکربندی)

این بخش به تنظیمات کلی Cacti، مدیریت دستگاه‌ها، کاربران، گراف‌ها و تنظیمات شبکه اختصاص دارد.

بخش‌های مهم در Console:

  • Devices: مدیریت دستگاه‌های مانیتورینگ‌شده.
  • Graph Management: تنظیمات مربوط به ایجاد و مدیریت گراف‌ها.
  • Data Sources: مدیریت منابع داده‌ای که Cacti برای رسم گراف‌ها استفاده می‌کند.
  • User Management: مدیریت کاربران و دسترسی‌ها.
  • Settings: پیکربندی کلی Cacti شامل زمان‌بندی، نحوه جمع‌آوری داده‌ها و نمایش گراف‌ها.

دستورات CLI برای مدیریت تنظیمات در Console:
مشاهده فهرست دستگاه‌های ثبت‌شده:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host;"

بررسی منابع داده‌ای ثبت‌شده:

mysql -u root -p -e "SELECT * FROM cacti.data_local;"

۱.۲. Graphs (نمایش گراف‌ها)

این بخش برای مشاهده و تحلیل گراف‌های مربوط به داده‌های جمع‌آوری‌شده از دستگاه‌های مختلف استفاده می‌شود.

ویژگی‌های مهم:

  • مشاهده لحظه‌ای پهنای باند، پردازنده، حافظه و فضای دیسک دستگاه‌ها.
  • انتخاب بازه‌های زمانی مختلف برای نمایش داده‌های تاریخی.
  • قابلیت بزرگ‌نمایی (Zoom In) و مقایسه چندین گراف در کنار هم.

دستورات CLI برای بررسی داده‌های گراف‌ها:
دریافت اطلاعات از RRDTool (داده‌های مربوط به گراف‌ها):

rrdtool fetch /var/lib/cacti/rra/device_traffic.rrd AVERAGE

۱.۳. Reports (گزارش‌ها)

Cacti به شما اجازه می‌دهد که گزارش‌های مختلفی از عملکرد شبکه و سیستم‌های نظارتی تهیه کنید.

ویژگی‌های کلیدی:

  • امکان ایجاد گزارش‌های خودکار بر اساس داده‌های گراف‌ها.
  • ارسال گزارش‌ها از طریق ایمیل یا دانلود مستقیم.
  • پشتیبانی از فرمت‌های مختلف مانند CSV و PDF.

دستورات CLI برای استخراج گزارش‌ها از پایگاه داده:

mysql -u root -p -e "SELECT * FROM cacti.report_items;"

۱.۴. Settings (تنظیمات کلی Cacti)

در این بخش، می‌توان پیکربندی‌های کلی Cacti را تغییر داد، از جمله:

تنظیمات کلیدی در این بخش:

  • Polling Interval: تعیین فاصله زمانی بین هر جمع‌آوری داده‌ها.
  • Graph Refresh Rate: زمان بروزرسانی خودکار گراف‌ها.
  • SNMP Settings: تنظیمات مربوط به پروتکل SNMP برای جمع‌آوری داده‌ها از دستگاه‌ها.
  • Authentication: مدیریت دسترسی کاربران.

ویرایش تنظیمات به‌صورت CLI:
فایل تنظیمات اصلی Cacti در مسیر زیر قرار دارد:

sudo nano /var/www/html/cacti/include/config.php

مثال‌هایی از تغییر تنظیمات در این فایل:

$settings['default_refresh'] = 30; // تنظیم زمان بروزرسانی داشبورد به 30 ثانیه
$settings['poller_interval'] = 5;  // جمع‌آوری داده‌ها هر 5 دقیقه
$settings['snmp_version'] = "v2c"; // استفاده از SNMP نسخه 2c

برای اعمال تغییرات، سرویس Apache/Nginx را ریستارت کنید:

sudo systemctl restart apache2  # برای Apache
sudo systemctl restart nginx    # برای Nginx

۱.۵. Logout (خروج از سیستم)

برای خروج از حساب کاربری خود در Cacti، کافی است روی گزینه Logout در منوی اصلی کلیک کنید.

دستور CLI برای پایان دادن به نشست کاربری (Session Logout):

pkill -u $(whoami)

۲. تب‌های مهم در تنظیمات Cacti

علاوه بر منوهای اصلی، در بخش Settings، تب‌های مختلفی برای کنترل جزئیات بیشتر Cacti وجود دارند.

۲.۱. General (تنظیمات عمومی)

✔ تنظیمات مربوط به زمان بروزرسانی و نحوه نمایش گراف‌ها.

دستور CLI برای تغییر این تنظیمات در پایگاه داده:

mysql -u root -p -e "UPDATE cacti.settings SET value = '60' WHERE name = 'default_refresh';"

۲.۲. Poller (تنظیمات جمع‌آوری داده‌ها)

✔ تعیین نحوه جمع‌آوری داده‌ها و فواصل زمانی انجام آن.

دستور CLI برای تغییر این مقدار:

mysql -u root -p -e "UPDATE cacti.settings SET value = '5' WHERE name = 'poller_interval';"

۲.۳. SNMP (تنظیمات پروتکل SNMP)

✔ تنظیمات مربوط به پروتکل SNMP برای نظارت بر دستگاه‌های شبکه.

فعال‌سازی SNMP در تنظیمات CLI:

sudo nano /etc/snmp/snmpd.conf

افزودن خط زیر برای فعال‌سازی SNMP v2c:

rocommunity public
syslocation "Server Room"
syscontact admin@example.com

سپس سرویس SNMP را ریستارت کنید:

sudo systemctl restart snmpd

۲.۴. User Authentication (مدیریت کاربران و دسترسی‌ها)

✔ تعیین نقش‌های کاربری و سطح دسترسی کاربران.

افزودن کاربر جدید از طریق CLI:

mysql -u root -p -e "INSERT INTO cacti.user_auth (username, password, realm, enabled) VALUES ('admin', MD5('mypassword'), 0, 1);"

جمع‌بندی

در این بخش، با منوهای اصلی و تب‌های کاربردی در Cacti آشنا شدیم. این منوها شامل Console (مدیریت دستگاه‌ها و گراف‌ها)، Graphs (مشاهده داده‌ها)، Reports (تهیه گزارش)، Settings (پیکربندی Cacti) و Logout (خروج از سیستم) هستند. همچنین تب‌های General، Poller، SNMP و User Authentication برای تنظیمات پیشرفته بررسی شدند.

علاوه بر روش گرافیکی، تنظیمات مربوط به هر منو و تب را از طریق دستورات CLI نیز ارائه کردیم تا کاربران بتوانند به‌صورت دستی و خودکار Cacti را پیکربندی کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه دسترسی به ماژول‌های مختلف ” subtitle=”توضیحات کامل”]Cacti شامل ماژول‌ها و قابلیت‌های متعددی است که به کاربران اجازه می‌دهد مدیریت شبکه، مانیتورینگ دستگاه‌ها، ایجاد گراف‌ها و گزارش‌گیری را به‌صورت گرافیکی و از طریق دستورات CLI انجام دهند. در این بخش، روش‌های مختلف برای دسترسی و مدیریت ماژول‌های Cacti را بررسی می‌کنیم.


۱. دسترسی به ماژول‌های مختلف از طریق رابط گرافیکی (GUI)

برای ورود به Cacti و مشاهده ماژول‌های مختلف:

  1. وارد شدن به داشبورد Cacti:
    • مرورگر را باز کنید و آدرس Cacti را وارد کنید:
      http://<server-ip>/cacti
      
    • نام کاربری و رمز عبور مدیریت را وارد کنید.
  2. ماژول‌های مختلف در داشبورد Cacti:
    • Console: شامل تنظیمات کلی، مدیریت دستگاه‌ها و کاربران.
    • Graphs: نمایش گراف‌های مانیتورینگ سیستم‌ها و شبکه.
    • Reports: تهیه گزارش‌های آماری از عملکرد شبکه.
    • Settings: تنظیمات پیشرفته برای مدیریت Cacti.

۲. دسترسی به ماژول‌های Cacti از طریق CLI

علاوه بر روش گرافیکی، می‌توان از طریق خط فرمان (CLI) به برخی از ماژول‌های Cacti دسترسی داشت و آن‌ها را مدیریت کرد.

۲.۱. مشاهده و مدیریت دستگاه‌های ثبت‌شده

لیست دستگاه‌های ثبت‌شده در Cacti را می‌توان از طریق پایگاه داده بررسی کرد:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host;"

افزودن یک دستگاه جدید از طریق CLI:

mysql -u root -p -e "INSERT INTO cacti.host (hostname, description, snmp_version, disabled) VALUES ('192.168.1.1', 'Router_1', '2c', '0');"

۲.۲. مدیریت گراف‌ها و داده‌ها

مشاهده گراف‌های فعال:

mysql -u root -p -e "SELECT * FROM cacti.graph_templates;"

۲.۳. تنظیمات مربوط به SNMP

مشاهده تنظیمات فعلی SNMP:

cat /etc/snmp/snmpd.conf

فعال‌سازی SNMP روی دستگاه مانیتورینگ:

sudo nano /etc/snmp/snmpd.conf

افزودن خط زیر:

rocommunity public
syslocation "Server Room"
syscontact admin@example.com

سپس سرویس SNMP را ریستارت کنید:

sudo systemctl restart snmpd

۲.۴. تنظیمات مربوط به کاربران و سطح دسترسی

مشاهده کاربران موجود:

mysql -u root -p -e "SELECT username, enabled FROM cacti.user_auth;"

ایجاد یک کاربر جدید از طریق CLI:

mysql -u root -p -e "INSERT INTO cacti.user_auth (username, password, realm, enabled) VALUES ('admin2', MD5('securepassword'), 0, 1);"

جمع‌بندی

در این بخش، نحوه دسترسی به ماژول‌های مختلف در Cacti از طریق رابط گرافیکی (GUI) و خط فرمان (CLI) بررسی شد. کاربران می‌توانند از طریق داشبورد Console، Graphs، Reports و Settings ماژول‌های مختلف را مدیریت کنند. همچنین برای کنترل دستگاه‌ها، گراف‌ها، SNMP و کاربران، دستورات MySQL، SNMP و تنظیمات لینوکس معرفی شد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. داشبورد (Dashboard)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نمایش اطلاعات کلی شبکه” subtitle=”توضیحات کامل”]Cacti به مدیران شبکه این امکان را می‌دهد که وضعیت کلی شبکه، مصرف منابع، میزان پهنای باند و سلامت سرورها را در یک نمای کلی مشاهده کنند. این اطلاعات از طریق داشبورد گرافیکی و دستورات CLI قابل‌دسترسی هستند.


مشاهده اطلاعات کلی شبکه از طریق داشبورد Cacti

برای مشاهده اطلاعات شبکه در رابط گرافیکی Cacti، مراحل زیر را دنبال کنید:

  1. وارد محیط وب Cacti شوید.
  2. از منوی سمت چپ، گزینه Graphs را انتخاب کنید.
  3. دسته‌بندی‌های مختلف (مانند سرورها، روترها و سوئیچ‌ها) را مشاهده کنید.
  4. روی هر نمودار کلیک کنید تا جزئیات بیشتری نمایش داده شود.

نمونه اطلاعات قابل مشاهده:

  • میزان استفاده از CPU و RAM
  • مصرف پهنای باند در اینترفیس‌های مختلف
  • تعداد پکت‌های ورودی و خروجی
  • وضعیت SNMP و جمع‌آوری داده‌ها

دسترسی به اطلاعات شبکه از طریق خط فرمان (CLI)

علاوه بر محیط گرافیکی، می‌توان اطلاعات مربوط به شبکه را از طریق دستورات CLI نیز مشاهده کرد.

1. بررسی وضعیت SNMP برای جمع‌آوری اطلاعات

برای بررسی ارتباط SNMP بین Cacti و دستگاه‌های شبکه، از دستور زیر استفاده کنید:

snmpwalk -v2c -c public 192.168.1.1

🔹 توضیح: این دستور، اطلاعات شبکه را از یک دستگاه با آدرس 192.168.1.1 دریافت کرده و نمایش می‌دهد.

2. مشاهده مصرف CPU سرور Cacti

برای بررسی میزان استفاده از پردازنده در سروری که Cacti روی آن اجرا شده است:

top -n 1 | grep "Cpu(s)"

یا استفاده از:

cat /proc/loadavg

🔹 توضیح: این دستورات، میزان بار پردازنده را نمایش می‌دهند.

3. مشاهده مصرف RAM در سرور Cacti

برای مشاهده میزان مصرف حافظه رم:

free -m

🔹 توضیح: مقدار حافظه استفاده‌شده و آزاد در سرور را بر حسب مگابایت نمایش می‌دهد.

4. بررسی وضعیت اینترفیس‌های شبکه

برای مشاهده اطلاعات مربوط به کارت شبکه سرور Cacti:

ip -s link show

🔹 توضیح: این دستور اطلاعاتی مانند تعداد پکت‌های ارسال و دریافت‌شده را نمایش می‌دهد.

5. مشاهده وضعیت پایگاه داده Cacti

برای بررسی وضعیت پایگاه داده MySQL/MariaDB در Cacti:

mysqladmin -u root -p status

🔹 توضیح: این دستور، وضعیت پایگاه داده مانند تعداد کوئری‌ها و زمان اجرا را نشان می‌دهد.


جمع‌بندی

در این بخش، روش‌های مختلف برای نمایش اطلاعات کلی شبکه در Cacti را بررسی کردیم.

  • از طریق رابط گرافیکی، می‌توان به نمودارهای پهنای باند، مصرف CPU، RAM و وضعیت اینترفیس‌ها دسترسی داشت.
  • از طریق دستورات CLI، می‌توان اطلاعات مرتبط با مصرف منابع، وضعیت اینترفیس‌ها و پایگاه داده را مشاهده و تحلیل کرد.

این اطلاعات به مدیران شبکه کمک می‌کند تا در سریع‌ترین زمان ممکن مشکلات احتمالی را شناسایی و رفع کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه سفارشی‌سازی ویجت‌های داشبورد ” subtitle=”توضیحات کامل”]Cacti به مدیران شبکه این امکان را می‌دهد تا داشبورد مانیتورینگ خود را سفارشی‌سازی کنند و ویجت‌های دلخواه را برای مشاهده داده‌های مهم اضافه یا تغییر دهند. این کار را می‌توان هم از طریق رابط گرافیکی (GUI) و هم با استفاده از دستورات CLI انجام داد. در این بخش، هر دو روش را بررسی می‌کنیم.


سفارشی‌سازی ویجت‌های داشبورد از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    • وارد رابط وب Cacti شوید.
    • با حساب کاربری مدیر (admin) لاگین کنید.
  2. دسترسی به بخش داشبورد
    • از منوی سمت چپ، روی گزینه Dashboard کلیک کنید.
    • داشبورد پیش‌فرض نمایش داده می‌شود که شامل ویجت‌های مختلف است.
  3. افزودن ویجت جدید
    • روی دکمه Add Widget کلیک کنید.
    • از لیست، نوع ویجت موردنظر خود را انتخاب کنید:
      • Graph: نمایش نمودارها
      • Host Status: وضعیت دستگاه‌ها
      • Alerts: نمایش هشدارها
      • Performance Metrics: نمایش وضعیت CPU، RAM و شبکه
  4. جابه‌جایی و تنظیم اندازه ویجت‌ها
    • با کشیدن و رها کردن (Drag & Drop) می‌توانید ویجت‌ها را مرتب کنید.
    • با کلیک روی گوشه هر ویجت، اندازه آن را تغییر دهید.
  5. ذخیره تنظیمات داشبورد
    • بعد از اعمال تغییرات، روی دکمه Save Dashboard کلیک کنید تا تنظیمات ذخیره شوند.

سفارشی‌سازی ویجت‌های داشبورد از طریق خط فرمان (CLI)

در صورتی که بخواهید تنظیمات داشبورد را مستقیماً از طریق CLI تغییر دهید، می‌توانید از پایگاه داده MySQL/MariaDB استفاده کنید.

1. مشاهده ویجت‌های موجود در داشبورد

برای مشاهده لیست ویجت‌های موجود در داشبورد Cacti، دستور زیر را اجرا کنید:

mysql -u root -p -e "SELECT * FROM cacti.user_dashboard"

🔹 توضیح: این دستور، لیست ویجت‌های اضافه‌شده در داشبورد را نمایش می‌دهد.

2. افزودن ویجت جدید به داشبورد از طریق CLI

اگر بخواهید یک ویجت جدید مانند نمودار وضعیت CPU را اضافه کنید، دستور زیر را اجرا کنید:

mysql -u root -p -e "INSERT INTO cacti.user_dashboard (user_id, widget_type, widget_title) VALUES (1, 'graph', 'CPU Usage Graph');"

🔹 توضیح: این دستور یک ویجت Graph برای نمایش میزان استفاده از CPU به داشبورد اضافه می‌کند.

3. حذف یک ویجت از داشبورد

برای حذف یک ویجت خاص (مثلاً ویجت هشدارها)، می‌توان از دستور زیر استفاده کرد:

mysql -u root -p -e "DELETE FROM cacti.user_dashboard WHERE widget_title = 'Alerts';"

🔹 توضیح: این دستور ویجتی با نام Alerts را از داشبورد حذف می‌کند.

4. تغییر محل نمایش ویجت‌ها در داشبورد

اگر بخواهید یک ویجت را در یک موقعیت خاص قرار دهید (مثلاً جابه‌جایی ویجت Graph به ردیف اول)، از این دستور استفاده کنید:

mysql -u root -p -e "UPDATE cacti.user_dashboard SET position = 1 WHERE widget_type = 'graph';"

🔹 توضیح: این دستور ترتیب نمایش ویجت نمودارها را در داشبورد تغییر می‌دهد.


جمع‌بندی

در این بخش، نحوه سفارشی‌سازی ویجت‌های داشبورد در Cacti را بررسی کردیم.

  • در رابط گرافیکی (GUI)، می‌توان با چند کلیک ساده، ویجت‌های داشبورد را اضافه، حذف و مرتب کرد.
  • از طریق دستورات CLI و MySQL نیز امکان سفارشی‌سازی و مدیریت ویجت‌ها به‌صورت مستقیم وجود دارد.

این قابلیت‌ها به مدیران شبکه کمک می‌کنند تا داشبورد خود را متناسب با نیازهای مانیتورینگ تنظیم کرده و اطلاعات مهم را در یک نگاه مشاهده کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده گراف‌ها و دستگاه‌های مانیتور شده” subtitle=”توضیحات کامل”]یکی از مهم‌ترین قابلیت‌های Cacti، امکان مشاهده گراف‌های مربوط به دستگاه‌های مانیتور شده است. این گراف‌ها داده‌های SNMP یا داده‌های جمع‌آوری‌شده از سیستم را نمایش می‌دهند. در این بخش، هم روش گرافیکی (GUI) و هم روش خط فرمان (CLI) برای مشاهده گراف‌ها و دستگاه‌های مانیتور شده را بررسی می‌کنیم.


مشاهده گراف‌ها و دستگاه‌های مانیتور شده از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    • در مرورگر، آدرس Cacti را باز کنید:
      http://<IP-Address>/cacti
      
    • با نام کاربری و رمز عبور مدیر وارد شوید.
  2. دسترسی به گراف‌ها
    • از منوی Graph Trees در پنل سمت چپ، گزینه Default Tree را انتخاب کنید.
    • لیست دستگاه‌های مانیتور شده نمایش داده می‌شود.
  3. مشاهده گراف یک دستگاه خاص
    • بر روی نام دستگاه کلیک کنید.
    • تمام گراف‌های مرتبط با آن دستگاه نمایش داده می‌شود، مانند:
      • استفاده از CPU
      • میزان پهنای باند
      • میزان مصرف RAM و Disk
  4. مشاهده گراف‌های ترکیبی (Graph View)
    • از منوی Graphs گزینه List View را انتخاب کنید.
    • می‌توانید فیلتر بزنید تا فقط داده‌های یک دستگاه خاص نمایش داده شود.
  5. تنظیم بازه زمانی نمایش گراف‌ها
    • در بالای صفحه گراف‌ها، می‌توانید بازه زمانی را تنظیم کنید:
      • 5 دقیقه گذشته
      • 1 ساعت گذشته
      • 24 ساعت گذشته
      • سفارشی (Custom)

مشاهده گراف‌ها و دستگاه‌های مانیتور شده از طریق خط فرمان (CLI)

Cacti اطلاعات مربوط به دستگاه‌های مانیتور شده و گراف‌ها را در پایگاه داده MySQL/MariaDB ذخیره می‌کند. می‌توان با استفاده از دستورات CLI این اطلاعات را مشاهده کرد.

1. مشاهده لیست دستگاه‌های مانیتور شده

برای دریافت لیست تمام دستگاه‌های اضافه شده در Cacti، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host;"

🔹 توضیح: این دستور، شناسه (ID)، نام دستگاه (description) و آدرس IP یا هاست (hostname) دستگاه‌های مانیتور شده را نمایش می‌دهد.

2. مشاهده گراف‌های موجود برای یک دستگاه خاص

برای دیدن گراف‌های مربوط به یک دستگاه خاص (مثلاً دستگاهی با ID=2)، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, title FROM cacti.graphs WHERE host_id = 2;"

🔹 توضیح: این دستور تمام گراف‌های مربوط به دستگاه شماره 2 را نمایش می‌دهد.

3. بررسی وضعیت داده‌های جمع‌آوری شده در گراف‌ها

اگر می‌خواهید بررسی کنید که آیا داده‌ها برای گراف‌ها جمع‌آوری می‌شوند یا خیر، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, name, last_poll_time FROM cacti.data_local;"

🔹 توضیح: این دستور آخرین زمان بروزرسانی داده‌ها را برای هر گراف نمایش می‌دهد.

4. مشاهده وضعیت ارتباط SNMP یک دستگاه

برای بررسی اینکه آیا SNMP روی یک دستگاه کار می‌کند یا نه، از این دستور استفاده کنید:

snmpwalk -v 2c -c public <device-IP>

🔹 توضیح:

  • -v 2c → استفاده از نسخه SNMP 2c
  • -c public → استفاده از Community String پیش‌فرض
  • <device-IP> → آدرس IP دستگاه که باید جایگزین شود

اگر خروجی OIDها و مقدار داده‌ها را نمایش دهد، یعنی SNMP به‌درستی کار می‌کند.


جمع‌بندی

در این بخش، نحوه مشاهده گراف‌ها و دستگاه‌های مانیتور شده در Cacti را بررسی کردیم.

  • در رابط گرافیکی (GUI)، می‌توان از طریق Graph Trees و List View گراف‌های دستگاه‌های مانیتور شده را مشاهده کرد.
  • با استفاده از دستورات MySQL و SNMP در CLI، می‌توان اطلاعات مربوط به دستگاه‌های مانیتور شده و وضعیت گراف‌ها را بررسی کرد.

این روش‌ها به مدیران شبکه کمک می‌کنند تا به‌راحتی وضعیت تجهیزات شبکه را پایش کرده و مشکلات احتمالی را شناسایی کنند.

 [/cdb_course_lesson][cdb_course_lesson title=”فصل 3. منوی Devices”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نمایش لیست دستگاه‌های اضافه شده به Cacti” subtitle=”توضیحات کامل”]در Cacti، می‌توان دستگاه‌های مانیتور شده را مشاهده و مدیریت کرد. این دستگاه‌ها شامل روترها، سوئیچ‌ها، سرورها و سایر تجهیزات شبکه هستند. روش‌های مختلفی برای مشاهده لیست دستگاه‌های اضافه‌شده وجود دارد، که در این بخش هم از رابط گرافیکی (GUI) و هم از خط فرمان (CLI) استفاده می‌کنیم.


مشاهده لیست دستگاه‌های اضافه شده از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    • آدرس Cacti را در مرورگر باز کنید:
      http://<IP-Address>/cacti
      
    • نام کاربری و رمز عبور مدیر را وارد کنید.
  2. دسترسی به لیست دستگاه‌ها
    • از منوی Management گزینه Devices را انتخاب کنید.
    • لیستی از تمام دستگاه‌های مانیتور شده نمایش داده می‌شود.
    • می‌توان با استفاده از فیلترها دستگاه‌های خاصی را جستجو کرد.
  3. مشاهده جزئیات هر دستگاه
    • روی نام دستگاه کلیک کنید تا اطلاعات دقیق‌تری نمایش داده شود.
    • این اطلاعات شامل آدرس IP، نسخه SNMP، وضعیت آخرین Polling و نوع دستگاه است.

مشاهده لیست دستگاه‌های اضافه شده از طریق خط فرمان (CLI)

Cacti اطلاعات مربوط به دستگاه‌های مانیتور شده را در پایگاه داده MySQL/MariaDB ذخیره می‌کند. می‌توان با اجرای دستورات SQL لیست دستگاه‌ها را مشاهده کرد.

1. مشاهده تمام دستگاه‌های اضافه‌شده

برای دریافت لیست کامل دستگاه‌های مانیتور شده، این دستور را اجرا کنید:

mysql -u root -p -e "SELECT id, description, hostname, snmp_version FROM cacti.host;"

🔹 توضیح:

  • id → شناسه (ID) دستگاه در Cacti
  • description → نام دستگاه
  • hostname → آدرس IP یا نام میزبان
  • snmp_version → نسخه SNMP مورد استفاده
2. فیلتر کردن دستگاه‌های خاص (مثلاً نمایش فقط روترها)

اگر بخواهید فقط دستگاه‌هایی را مشاهده کنید که در نامشان Router وجود دارد، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host WHERE description LIKE '%Router%';"
3. بررسی وضعیت ارتباط SNMP برای تمام دستگاه‌ها

برای بررسی اینکه آیا SNMP در دستگاه‌های اضافه شده به درستی کار می‌کند یا خیر، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, description, hostname, status FROM cacti.host WHERE status = 1;"

🔹 توضیح:

  • مقدار status = 1 به این معنی است که دستگاه در حال حاضر فعال و قابل‌دسترسی است.
  • مقدار status = 0 یعنی دستگاه غیرفعال یا دسترسی به آن امکان‌پذیر نیست.
4. مشاهده تعداد کل دستگاه‌های مانیتور شده

برای نمایش تعداد کل دستگاه‌های اضافه‌شده به Cacti، دستور زیر را اجرا کنید:

mysql -u root -p -e "SELECT COUNT(*) FROM cacti.host;"
5. بررسی آخرین زمان Polling برای هر دستگاه

Polling فرآیندی است که در آن Cacti به صورت دوره‌ای داده‌های دستگاه‌ها را جمع‌آوری می‌کند. برای بررسی آخرین زمان Polling برای دستگاه‌های مانیتور شده، این دستور را اجرا کنید:

mysql -u root -p -e "SELECT description, hostname, last_poll_time FROM cacti.host;"

🔹 توضیح:

  • last_poll_time → آخرین زمان Polling برای هر دستگاه به صورت Timestamp نمایش داده می‌شود.
  • برای تبدیل آن به یک فرمت خوانا، می‌توانید از ابزارهای تاریخ و زمان لینوکس استفاده کنید.

جمع‌بندی

در این بخش روش‌های مشاهده لیست دستگاه‌های اضافه‌شده به Cacti را بررسی کردیم:

  • در رابط گرافیکی (GUI)، می‌توان از بخش Management > Devices لیست دستگاه‌ها را مشاهده و مدیریت کرد.
  • از طریق دستورات MySQL در CLI، می‌توان اطلاعات دقیق‌تری درباره دستگاه‌های اضافه‌شده، وضعیت SNMP، تعداد کل دستگاه‌ها و آخرین زمان Polling را مشاهده کرد.

این اطلاعات به مدیران شبکه کمک می‌کند که وضعیت کلی دستگاه‌های تحت نظارت را بررسی کرده و مشکلات احتمالی را شناسایی کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”فیلتر و دسته‌بندی دستگاه‌ها ” subtitle=”توضیحات کامل”]در Cacti، فیلتر و دسته‌بندی دستگاه‌ها به مدیران شبکه کمک می‌کند تا مدیریت بهتری بر روی تجهیزات مانیتور شده داشته باشند. این قابلیت به ویژه در شبکه‌های بزرگ و سازمانی که تعداد زیادی دستگاه دارند، ضروری است. در این بخش، نحوه فیلتر کردن و گروه‌بندی دستگاه‌ها را هم از طریق رابط گرافیکی (GUI) و هم از طریق خط فرمان (CLI) بررسی خواهیم کرد.


فیلتر و دسته‌بندی دستگاه‌ها از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    • در مرورگر آدرس Cacti را وارد کنید:
      http://<IP-Address>/cacti
      
    • نام کاربری و رمز عبور مدیر را وارد کنید.
  2. رفتن به بخش مدیریت دستگاه‌ها
    • از منوی Management، گزینه Devices را انتخاب کنید.
    • لیستی از تمام دستگاه‌های مانیتور شده نمایش داده می‌شود.
  3. فیلتر کردن دستگاه‌ها
    • در بالای صفحه، گزینه Filter وجود دارد.
    • می‌توانید دستگاه‌ها را براساس فیلدهای زیر فیلتر کنید:
      • نام دستگاه (Description)
      • آدرس IP یا نام میزبان (Hostname)
      • نوع دستگاه (Device Type)
      • وضعیت SNMP
      • آخرین وضعیت Polling
  4. ایجاد گروه‌های دستگاهی (Device Groups)
    • از منوی Management به بخش Device Groups بروید.
    • روی گزینه Add کلیک کنید.
    • نام گروه را وارد کرده و دستگاه‌های موردنظر را اضافه کنید.
    • می‌توانید گروه‌های دستگاهی را براساس نوع تجهیزات، موقعیت جغرافیایی یا هر معیار دیگری دسته‌بندی کنید.

فیلتر و دسته‌بندی دستگاه‌ها از طریق خط فرمان (CLI)

Cacti اطلاعات مربوط به دستگاه‌های مانیتور شده را در پایگاه داده MySQL/MariaDB ذخیره می‌کند. می‌توان از دستورات SQL برای فیلتر و دسته‌بندی دستگاه‌ها استفاده کرد.

1. مشاهده تمام دستگاه‌های ثبت‌شده

برای دریافت لیست کامل دستگاه‌های مانیتور شده، این دستور را اجرا کنید:

mysql -u root -p -e "SELECT id, description, hostname, snmp_version FROM cacti.host;"
2. فیلتر کردن دستگاه‌ها بر اساس نام میزبان (Hostname)

اگر بخواهید فقط دستگاه‌هایی را که نام میزبان آن‌ها شامل “server” است مشاهده کنید، دستور زیر را اجرا کنید:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host WHERE hostname LIKE '%server%';"
3. نمایش فقط دستگاه‌هایی که SNMP فعال دارند

برای فیلتر کردن دستگاه‌هایی که SNMP روی آن‌ها فعال است، از این دستور استفاده کنید:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host WHERE snmp_version IS NOT NULL;"
4. نمایش دستگاه‌ها بر اساس نوع (مثلاً فقط روترها)

اگر بخواهید فقط دستگاه‌هایی که نوع آن‌ها روتر است را ببینید، می‌توانید این دستور را اجرا کنید:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host WHERE description LIKE '%Router%';"
5. نمایش دستگاه‌هایی که در ۲۴ ساعت گذشته داده دریافت کرده‌اند

برای بررسی دستگاه‌هایی که Polling آن‌ها در ۲۴ ساعت گذشته انجام شده، می‌توان این دستور را اجرا کرد:

mysql -u root -p -e "SELECT id, description, hostname, last_poll_time FROM cacti.host WHERE last_poll_time >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY));"
6. دسته‌بندی دستگاه‌ها بر اساس موقعیت جغرافیایی (مثلاً سرورهای ایران)

اگر اطلاعات مربوط به موقعیت مکانی در دیتابیس Cacti ذخیره شده باشد، می‌توان دستگاه‌ها را بر اساس کشور فیلتر کرد:

mysql -u root -p -e "SELECT id, description, hostname FROM cacti.host WHERE location = 'Iran';"
7. نمایش تعداد دستگاه‌های موجود در هر گروه

برای مشاهده تعداد دستگاه‌هایی که در هر گروه اضافه شده‌اند، دستور زیر را اجرا کنید:

mysql -u root -p -e "SELECT group_name, COUNT(*) AS total_devices FROM cacti.host_groups GROUP BY group_name;"

جمع‌بندی

در این بخش، فیلتر و دسته‌بندی دستگاه‌ها در Cacti را بررسی کردیم:

  • از رابط گرافیکی (GUI) می‌توان از بخش Devices برای جستجو و از بخش Device Groups برای دسته‌بندی دستگاه‌ها استفاده کرد.
  • از طریق دستورات MySQL در CLI، می‌توان دستگاه‌ها را بر اساس نام، وضعیت SNMP، نوع دستگاه، آخرین Polling و موقعیت مکانی فیلتر کرد.
  • امکان گروه‌بندی و شمارش تعداد دستگاه‌های هر گروه نیز از طریق SQL وجود دارد.

این قابلیت‌ها به مدیران شبکه کمک می‌کند تا تجهیزات خود را بهتر سازماندهی کنند و مدیریت مانیتورینگ را کارآمدتر انجام دهند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه ویرایش مشخصات دستگاه‌ها ” subtitle=”توضیحات کامل”]ویرایش مشخصات دستگاه‌ها در Cacti به شما این امکان را می‌دهد که اطلاعات مربوط به هر دستگاه مانند آدرس IP، نام میزبان، نوع دستگاه، و تنظیمات SNMP را به راحتی تغییر دهید. این فرآیند می‌تواند به‌صورت گرافیکی (GUI) یا دستورات خط فرمان (CLI) انجام شود.


ویرایش مشخصات دستگاه‌ها از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    ابتدا وارد رابط کاربری Cacti شوید. در مرورگر آدرس زیر را وارد کنید:

    http://<IP-Address>/cacti
    

    سپس نام کاربری و رمز عبور مدیر را وارد کنید.

  2. رفتن به بخش مدیریت دستگاه‌ها
    از منوی Management، گزینه Devices را انتخاب کنید. در این صفحه، لیستی از دستگاه‌های موجود نشان داده می‌شود.
  3. انتخاب دستگاه مورد نظر برای ویرایش
    در لیست دستگاه‌ها، دستگاهی که می‌خواهید مشخصات آن را ویرایش کنید انتخاب کرده و روی نام آن کلیک کنید.
  4. ویرایش مشخصات دستگاه
    در صفحه‌ای که برای آن دستگاه باز می‌شود، اطلاعات مختلفی مانند:

    • Description (توضیح دستگاه)
    • Hostname (نام میزبان)
    • IP Address (آدرس IP)
    • SNMP Version (نسخه SNMP)

    را می‌توانید ویرایش کنید.

  5. ذخیره تغییرات
    پس از انجام تغییرات، روی دکمه Save کلیک کنید تا مشخصات جدید دستگاه ذخیره شود.

ویرایش مشخصات دستگاه‌ها از طریق خط فرمان (CLI)

اگر تمایل دارید تا مشخصات دستگاه‌ها را از طریق دستورات SQL و CLI تغییر دهید، می‌توانید از دستوراتی که پایگاه داده MySQL/MariaDB را دستکاری می‌کنند استفاده کنید.

1. مشاهده اطلاعات دستگاه‌ها

برای مشاهده مشخصات دستگاه‌ها، ابتدا دستور زیر را در CLI اجرا کنید:

mysql -u root -p -e "SELECT id, description, hostname, ip_address, snmp_version FROM cacti.host;"

این دستور تمامی دستگاه‌ها را به همراه مشخصات نام دستگاه، آدرس IP و نسخه SNMP نمایش می‌دهد.

2. ویرایش مشخصات دستگاه‌ها

برای تغییر مشخصات یک دستگاه خاص، از دستور UPDATE استفاده کنید. به‌عنوان مثال، برای تغییر نام دستگاه یا آدرس IP یک دستگاه خاص با ID برابر با ۱، دستور زیر را اجرا کنید:

mysql -u root -p -e "UPDATE cacti.host SET description = 'New Device Name', hostname = 'new-hostname.local', ip_address = '192.168.1.100', snmp_version = '2c' WHERE id = 1;"

این دستور توضیحات دستگاه (description)، نام میزبان (hostname)، آدرس IP (ip_address) و نسخه SNMP (snmp_version) را به‌روز می‌کند.

3. ویرایش SNMP اطلاعات دستگاه

برای تغییر اطلاعات SNMP مانند Community String یا SNMP Version، دستور مشابه زیر را می‌توانید استفاده کنید:

mysql -u root -p -e "UPDATE cacti.host SET snmp_version = 'v2c', snmp_community = 'public' WHERE id = 1;"

این دستور تنظیمات SNMP Version و SNMP Community را به‌روزرسانی می‌کند.

4. تغییر دسته‌بندی دستگاه‌ها

در صورتی که بخواهید دستگاه‌ها را به گروه‌های مختلف اضافه کنید یا دسته‌بندی آن‌ها را تغییر دهید، می‌توانید دستور زیر را اجرا کنید:

mysql -u root -p -e "UPDATE cacti.host_groups SET group_name = 'New Group' WHERE host_id = 1;"

این دستور گروه دستگاه با ID برابر با ۱ را به گروه جدید (New Group) منتقل می‌کند.

5. تایید تغییرات

پس از اعمال تغییرات، برای اطمینان از موفقیت آمیز بودن ویرایش، دوباره اطلاعات دستگاه را با دستور زیر بررسی کنید:

mysql -u root -p -e "SELECT id, description, hostname, ip_address, snmp_version FROM cacti.host WHERE id = 1;"

جمع‌بندی

در این بخش، نحوه ویرایش مشخصات دستگاه‌ها در Cacti را هم از طریق رابط گرافیکی (GUI) و هم از طریق دستورات SQL در CLI بررسی کردیم:

  • از GUI می‌توانید به راحتی مشخصات دستگاه‌ها را تغییر دهید، از جمله نام دستگاه (Description)، آدرس IP و تنظیمات SNMP.
  • از طریق CLI و دستورات SQL می‌توانید مشخصات دستگاه‌ها را از جمله نام میزبان، آدرس IP، نسخه SNMP و گروه‌بندی دستگاه‌ها به‌روز کنید.

این قابلیت‌ها برای مدیران شبکه که نیاز به ویرایش سریع و مؤثر مشخصات دستگاه‌ها دارند بسیار مفید است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. منوی Graph Management”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده لیست گراف‌های ایجاد شده” subtitle=”توضیحات کامل”]در Cacti، گراف‌ها ابزارهای اصلی برای نمایش داده‌های جمع‌آوری‌شده از دستگاه‌های شبکه هستند. مشاهده لیست گراف‌های ایجاد شده یکی از کارهای اساسی برای تحلیل وضعیت شبکه و بررسی عملکرد دستگاه‌ها می‌باشد. در این بخش، نحوه مشاهده لیست گراف‌ها هم از طریق رابط گرافیکی (GUI) و هم از طریق دستورات خط فرمان (CLI) شرح داده می‌شود.


مشاهده لیست گراف‌ها از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    ابتدا وارد رابط کاربری Cacti شوید. آدرس زیر را در مرورگر وارد کنید:

    http://<IP-Address>/cacti
    

    سپس نام کاربری و رمز عبور خود را وارد کنید.

  2. رفتن به بخش گراف‌ها
    از منوی Graph Management در نوار سمت چپ، گزینه Graphs را انتخاب کنید. این گزینه شما را به صفحه‌ای می‌برد که تمامی گراف‌های ایجاد شده برای دستگاه‌ها را مشاهده خواهید کرد.
  3. نمایش لیست گراف‌ها
    در صفحه Graphs، لیستی از تمامی گراف‌هایی که تاکنون ایجاد شده است نمایش داده می‌شود. این گراف‌ها به‌طور پیش‌فرض بر اساس دستگاه‌ها و گروه‌بندی‌ها سازمان‌دهی شده‌اند. شما می‌توانید:

    • فیلتر کردن گراف‌ها: با استفاده از فیلترهای موجود، گراف‌ها را براساس دستگاه یا گروه گراف فیلتر کنید.
    • مشاهده جزئیات گراف: با کلیک بر روی هر گراف، می‌توانید جزئیات آن را مشاهده کنید.
  4. سفارشی‌سازی لیست گراف‌ها
    برای بهبود دسترسی و راحتی بیشتر، شما می‌توانید نمای گراف‌ها را بر اساس نیاز خود سفارشی‌سازی کنید. از گزینه‌های مختلف مانند مرتب‌سازی بر اساس تاریخ، دستگاه و نوع گراف استفاده کنید.

مشاهده لیست گراف‌ها از طریق دستورات خط فرمان (CLI)

اگر نیاز به استخراج لیست گراف‌ها به‌صورت مستقیم از پایگاه داده دارید، می‌توانید از دستورات SQL برای مشاهده گراف‌ها استفاده کنید. برای این کار، مراحل زیر را دنبال کنید:

1. اتصال به پایگاه داده Cacti

برای مشاهده گراف‌ها از پایگاه داده، ابتدا باید به پایگاه داده MySQL/MariaDB متصل شوید:

mysql -u root -p
2. انتخاب پایگاه داده Cacti

پس از ورود به محیط MySQL، پایگاه داده Cacti را انتخاب کنید:

USE cacti;
3. مشاهده گراف‌ها

برای مشاهده گراف‌های موجود، از دستور SQL زیر استفاده کنید:

SELECT g.id, g.title, g.name, h.hostname, g.local_graph_id 
FROM graph_templates g
JOIN host h ON g.host_id = h.id
ORDER BY g.title;

این دستور لیست گراف‌ها را نمایش می‌دهد و شامل اطلاعاتی مانند:

  • ID گراف
  • عنوان گراف
  • نام گراف
  • نام دستگاه (Hostname)
  • شناسه گراف محلی (Local Graph ID)
4. فیلتر کردن گراف‌ها

برای فیلتر کردن گراف‌ها بر اساس دستگاه خاص یا معیارهای دیگر، می‌توانید از WHERE استفاده کنید. به‌عنوان مثال، برای مشاهده گراف‌های یک دستگاه خاص با ID دستگاه = 2:

SELECT g.id, g.title, g.name, h.hostname, g.local_graph_id 
FROM graph_templates g
JOIN host h ON g.host_id = h.id
WHERE h.id = 2
ORDER BY g.title;
5. خروج از محیط MySQL

پس از مشاهده گراف‌ها و اتمام کار، می‌توانید از محیط MySQL خارج شوید:

EXIT;

جمع‌بندی

در این بخش، نحوه مشاهده لیست گراف‌های ایجاد شده در Cacti از دو روش مختلف گرافیکی (GUI) و دستورات خط فرمان (CLI) بررسی شد:

  • GUI: شما می‌توانید با وارد شدن به منوی Graph Management و انتخاب گزینه Graphs، لیست گراف‌ها را مشاهده کنید. این لیست به‌طور مرتب بر اساس دستگاه‌ها و گروه‌ها نمایش داده می‌شود و شما می‌توانید آن‌ها را فیلتر و مرتب‌سازی کنید.
  • CLI: برای مشاهده گراف‌ها از پایگاه داده، می‌توانید از دستورات SQL در محیط MySQL استفاده کنید. با اجرای دستورات SQL، اطلاعات گراف‌ها به همراه جزئیات آن‌ها نمایش داده می‌شود.

این ابزارها به مدیران شبکه این امکان را می‌دهند که به راحتی گراف‌ها را مدیریت و مشاهده کنند تا بتوانند وضعیت شبکه را در زمان واقعی نظارت کنند.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”فیلتر کردن گراف‌ها بر اساس دستگاه یا دسته‌بندی ” subtitle=”توضیحات کامل”]در Cacti، گراف‌ها ابزارهای کلیدی برای مانیتورینگ و تجزیه و تحلیل داده‌های شبکه هستند. برای دسترسی سریع‌تر و مدیریت بهتر گراف‌ها، امکان فیلتر کردن آن‌ها بر اساس دستگاه یا دسته‌بندی وجود دارد. این کار کمک می‌کند تا شما بتوانید گراف‌های مربوط به یک دستگاه خاص یا یک گروه از دستگاه‌ها را به راحتی پیدا کنید. در این بخش، نحوه فیلتر کردن گراف‌ها به دو روش رابط گرافیکی (GUI) و دستورات SQL (CLI) مورد بررسی قرار می‌گیرد.


فیلتر کردن گراف‌ها از طریق رابط گرافیکی (GUI)

  1. ورود به Cacti
    ابتدا وارد رابط کاربری Cacti شوید. آدرس زیر را در مرورگر وارد کنید:

    http://<IP-Address>/cacti
    

    سپس نام کاربری و رمز عبور خود را وارد کنید.

  2. رفتن به بخش گراف‌ها
    از منوی Graph Management در نوار سمت چپ، گزینه Graphs را انتخاب کنید. این گزینه شما را به صفحه‌ای می‌برد که تمامی گراف‌های ایجاد شده برای دستگاه‌ها را مشاهده خواهید کرد.
  3. استفاده از فیلترها
    در صفحه Graphs، شما می‌توانید از فیلترهای مختلف برای جستجو و فیلتر کردن گراف‌ها استفاده کنید:

    • فیلتر بر اساس دستگاه: در قسمت “Host” یا “Device” می‌توانید دستگاه خاصی را از فهرست انتخاب کنید. این کار باعث نمایش گراف‌های مربوط به آن دستگاه خاص می‌شود.
    • فیلتر بر اساس گروه گراف: در قسمت “Graph Group” می‌توانید گروه خاصی از گراف‌ها را انتخاب کنید. این کار تنها گراف‌های مربوط به آن گروه را نمایش می‌دهد.
    • فیلتر بر اساس وضعیت گراف: شما می‌توانید گراف‌ها را بر اساس فعال یا غیرفعال بودن فیلتر کنید.
  4. نمایش گراف‌ها بر اساس فیلترهای انتخابی
    پس از اعمال فیلترها، تنها گراف‌های متناسب با دستگاه یا دسته‌بندی انتخابی نمایش داده می‌شوند. این ویژگی باعث می‌شود که پیدا کردن گراف‌های موردنظر سریع‌تر و آسان‌تر شود.

فیلتر کردن گراف‌ها از طریق دستورات SQL (CLI)

برای فیلتر کردن گراف‌ها بر اساس دستگاه یا دسته‌بندی در پایگاه داده Cacti، شما می‌توانید از دستورات SQL استفاده کنید. این روش به شما این امکان را می‌دهد که به‌طور دقیق‌تری گراف‌ها را فیلتر کنید و اطلاعات آن‌ها را به دست آورید.

1. اتصال به پایگاه داده Cacti

برای فیلتر کردن گراف‌ها از پایگاه داده، ابتدا باید به MySQL یا MariaDB متصل شوید:

mysql -u root -p
2. انتخاب پایگاه داده Cacti

پس از ورود به محیط MySQL، پایگاه داده Cacti را انتخاب کنید:

USE cacti;
3. فیلتر کردن گراف‌ها بر اساس دستگاه

برای فیلتر کردن گراف‌ها بر اساس دستگاه خاص، از دستور زیر استفاده کنید. در این دستور، ID دستگاه را به جای <device_id> وارد کنید:

SELECT g.id, g.title, g.name, h.hostname, g.local_graph_id 
FROM graph_templates g
JOIN host h ON g.host_id = h.id
WHERE h.id = <device_id>
ORDER BY g.title;

این دستور تمامی گراف‌های مربوط به دستگاه خاص را نمایش می‌دهد.

4. فیلتر کردن گراف‌ها بر اساس دسته‌بندی

برای فیلتر کردن گراف‌ها بر اساس گروه گراف، می‌توانید از دستور زیر استفاده کنید. در این دستور، ID گروه گراف را به جای <graph_group_id> وارد کنید:

SELECT g.id, g.title, g.name, h.hostname, g.local_graph_id 
FROM graph_templates g
JOIN host h ON g.host_id = h.id
JOIN graph_templates_graph ggroup ON ggroup.graph_template_id = g.id
WHERE ggroup.group_id = <graph_group_id>
ORDER BY g.title;

این دستور لیست گراف‌هایی که در گروه خاص قرار دارند را نمایش می‌دهد.

5. فیلتر کردن گراف‌ها بر اساس وضعیت فعال یا غیرفعال بودن

اگر بخواهید گراف‌ها را بر اساس وضعیت فعال یا غیرفعال فیلتر کنید، می‌توانید از فیلتر status استفاده کنید. دستور زیر گراف‌های فعال را نمایش می‌دهد:

SELECT g.id, g.title, g.name, h.hostname, g.local_graph_id 
FROM graph_templates g
JOIN host h ON g.host_id = h.id
WHERE g.status = 1
ORDER BY g.title;

برای نمایش گراف‌های غیرفعال، مقدار g.status = 0 را استفاده کنید.

6. خروج از محیط MySQL

پس از فیلتر کردن گراف‌ها و اتمام کار، می‌توانید از محیط MySQL خارج شوید:

EXIT;

جمع‌بندی

در این بخش، نحوه فیلتر کردن گراف‌ها در Cacti از دو روش مختلف توضیح داده شد:

  • GUI: شما می‌توانید با استفاده از فیلترهای موجود در بخش Graphs، گراف‌ها را بر اساس دستگاه یا گروه‌های گراف فیلتر کنید. این کار باعث می‌شود تا به راحتی گراف‌های موردنظر خود را پیدا کنید.
  • CLI (SQL): در صورت نیاز به فیلتر کردن دقیق‌تر گراف‌ها، می‌توانید از دستورات SQL در محیط MySQL استفاده کنید. این روش به شما اجازه می‌دهد گراف‌ها را بر اساس دستگاه، گروه گراف یا وضعیت آن‌ها فیلتر کنید.

این قابلیت‌ها به مدیران شبکه این امکان را می‌دهند که به راحتی گراف‌ها را برای تحلیل بهتر وضعیت شبکه مدیریت کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ویرایش گراف‌ها و تنظیمات مربوطه ” subtitle=”توضیحات کامل”]در Cacti، گراف‌ها نقش اساسی در نظارت و مدیریت شبکه ایفا می‌کنند. گراف‌ها داده‌های جمع‌آوری‌شده از دستگاه‌ها را به صورت بصری نمایش می‌دهند تا بتوانید وضعیت شبکه را به‌راحتی ارزیابی کنید. در این بخش، نحوه ویرایش گراف‌ها و انجام تنظیمات مربوطه را هم از طریق رابط کاربری گرافیکی (GUI) و هم از طریق دستورات SQL بررسی خواهیم کرد.


ویرایش گراف‌ها از طریق رابط گرافیکی (GUI)

  1. ورود به رابط کاربری Cacti
    ابتدا باید به رابط کاربری Cacti وارد شوید. آدرس زیر را در مرورگر وارد کنید:

    http://<IP-Address>/cacti
    

    سپس نام کاربری و رمز عبور خود را وارد کنید.

  2. رفتن به بخش گراف‌ها
    در منوی اصلی، به بخش “Graph Management” رفته و “Graphs” را انتخاب کنید. این بخش تمامی گراف‌های موجود در سیستم Cacti را نمایش می‌دهد.
  3. انتخاب گراف برای ویرایش
    در لیست گراف‌ها، گراف مورد نظر خود را پیدا کرده و روی نام آن کلیک کنید تا وارد صفحه ویرایش گراف شوید.
  4. ویرایش تنظیمات گراف
    در صفحه ویرایش گراف، می‌توانید تنظیمات مختلفی را برای گراف انجام دهید:

    • تغییر نام گراف: در قسمت “Graph Title”، عنوان گراف را تغییر دهید.
    • تغییر نوع گراف: در قسمت “Graph Type”، نوع گراف را از بین گزینه‌های مختلف (مانند Line, Area, Pie, Bar) انتخاب کنید.
    • انتخاب دستگاه و پارامتر: در قسمت “Data Source” می‌توانید دستگاه‌ها و پارامترهای مورد نظر را برای جمع‌آوری داده‌ها انتخاب کنید.
    • تنظیمات رنگ‌ها: برای تغییر رنگ‌های نمایش داده‌شده در گراف، به بخش “Graph Colors” بروید و رنگ‌های دلخواه خود را تنظیم کنید.
    • تغییر محدوده مقادیر گراف: در قسمت “Graph Ranges” می‌توانید مقادیر حداقل و حداکثر گراف را تنظیم کنید تا نمایش داده‌ها در محدوده خاصی باشد.
  5. ذخیره تغییرات
    پس از اعمال تغییرات، برای ذخیره تنظیمات و ویرایش‌ها، روی گزینه “Save” یا “Apply Changes” کلیک کنید.

ویرایش گراف‌ها از طریق دستورات SQL (CLI)

در صورتی که بخواهید تنظیمات گراف‌ها را از طریق پایگاه داده و دستورات SQL ویرایش کنید، می‌توانید از دستورات زیر استفاده کنید.

1. اتصال به پایگاه داده MySQL

ابتدا باید به پایگاه داده Cacti متصل شوید:

mysql -u root -p
2. انتخاب پایگاه داده Cacti

پس از ورود به محیط MySQL، پایگاه داده Cacti را انتخاب کنید:

USE cacti;
3. ویرایش مشخصات گراف

برای ویرایش عنوان گراف (Graph Title)، می‌توانید از دستور زیر استفاده کنید. در این دستور، <graph_id> شناسه گراف مورد نظر و <new_title> عنوان جدید گراف است:

UPDATE graph_templates 
SET title = '<new_title>' 
WHERE id = <graph_id>;

این دستور عنوان گراف را به <new_title> تغییر می‌دهد.

4. تغییر نوع گراف

برای تغییر نوع گراف، شما می‌توانید از دستور زیر استفاده کنید. در این دستور، <graph_id> شناسه گراف و <new_type> نوع جدید گراف است. مقدار <new_type> می‌تواند یکی از انواع گراف‌های موجود باشد (مثل 1 برای گراف خطی، 2 برای گراف دایره‌ای و …).

UPDATE graph_templates 
SET graph_type = <new_type> 
WHERE id = <graph_id>;
5. تغییر محدوده مقادیر گراف

برای تغییر محدوده مقادیر گراف، از دستورات زیر می‌توانید استفاده کنید. در اینجا، شما می‌توانید مقادیر حداقل و حداکثر گراف را تنظیم کنید:

UPDATE graph_templates 
SET min_value = <min_value>, max_value = <max_value> 
WHERE id = <graph_id>;

این دستور مقادیر min_value و max_value را برای گراف با شناسه <graph_id> تغییر می‌دهد.

6. تغییر تنظیمات رنگ گراف

برای تغییر رنگ‌های گراف‌ها، از دستورات زیر استفاده کنید. در این دستور، <graph_id> شناسه گراف و <new_color> رنگ جدید برای گراف است:

UPDATE graph_templates 
SET color = '<new_color>' 
WHERE id = <graph_id>;

توجه داشته باشید که برای رنگ‌ها باید از مقادیر صحیح رنگ استفاده کنید که می‌تواند به صورت hex یا rgb باشد.

7. خروج از MySQL

پس از ویرایش‌ها و انجام تغییرات، از محیط MySQL خارج شوید:

EXIT;

جمع‌بندی

در این بخش، نحوه ویرایش گراف‌ها و تنظیمات مختلف آن‌ها در Cacti از دو روش مختلف بررسی شد:

  • رابط کاربری (GUI): در این روش شما می‌توانید تنظیمات مختلف گراف‌ها را از طریق فرم‌های گرافیکی و به راحتی از پنل مدیریتی Cacti انجام دهید. از تغییر عنوان گراف تا تنظیمات رنگ و نوع گراف، همه این موارد به راحتی در دسترس هستند.
  • دستورات SQL (CLI): در این روش، شما می‌توانید از دستورات SQL در محیط پایگاه داده MySQL برای انجام تغییرات دقیق‌تر استفاده کنید. این روش به شما کنترل بیشتری بر تنظیمات گراف‌ها می‌دهد.

این دو روش به شما این امکان را می‌دهند که گراف‌های خود را به شکل دلخواه و بر اساس نیازهای مدیریتی شبکه‌تان سفارشی‌سازی کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. تنظیمات SNMP”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آشنایی با SNMP در رابط کاربری Cacti” subtitle=”توضیحات کامل”]SNMP (پروتکل مدیریت شبکه ساده) یکی از پروتکل‌های استاندارد و محبوب برای نظارت و مدیریت دستگاه‌های شبکه است. Cacti از SNMP برای جمع‌آوری داده‌ها از دستگاه‌های مختلف شبکه مانند روترها، سوئیچ‌ها و سرورها استفاده می‌کند. در این بخش، نحوه پیکربندی و استفاده از SNMP در رابط کاربری Cacti را به طور جامع بررسی خواهیم کرد، به طوری که علاوه بر توضیحات گرافیکی، دستورات کامندی نیز برای پیکربندی این بخش ارائه خواهد شد.


1. مفهوم SNMP در Cacti

SNMP برای جمع‌آوری داده‌ها از دستگاه‌ها و ارسال آن‌ها به Cacti استفاده می‌شود تا اطلاعات مفیدی مانند استفاده از پهنای باند، وضعیت سیستم و اطلاعات مربوط به دستگاه‌ها را به گراف تبدیل کند. Cacti از SNMP برای جمع‌آوری اطلاعات از دستگاه‌ها و سپس تولید گراف‌ها بر اساس آن داده‌ها استفاده می‌کند. برای پیکربندی SNMP در Cacti، ابتدا باید دستگاه‌ها را با تنظیمات صحیح SNMP شناسایی کرده و سپس آن‌ها را به Cacti اضافه کنیم.


2. دسترسی به بخش SNMP در Cacti

  1. ورود به رابط کاربری Cacti ابتدا باید وارد رابط کاربری Cacti شوید. برای این کار آدرس زیر را در مرورگر وارد کنید:
    http://<Cacti-IP>/cacti
    
  2. رفتن به بخش SNMP در منوی اصلی Cacti، روی “Devices” کلیک کرده و سپس گزینه “Add Device” را انتخاب کنید. در این بخش می‌توانید دستگاه‌های مختلف را برای استفاده از SNMP به Cacti اضافه کنید.

3. پیکربندی SNMP برای دستگاه‌ها

برای اضافه کردن دستگاه جدید به Cacti و پیکربندی SNMP، مراحل زیر را انجام دهید:

  1. اضافه کردن دستگاه جدید پس از ورود به بخش “Add Device”، اطلاعات دستگاه جدید را وارد کنید. در این بخش شما باید IP دستگاه، نام دستگاه و سایر اطلاعات پایه‌ای را وارد کنید.
  2. انتخاب نوع پروتکل SNMP در بخش “SNMP Version”، نسخه SNMP را انتخاب کنید. Cacti از نسخه‌های مختلف SNMPv1، SNMPv2c و SNMPv3 پشتیبانی می‌کند. برای بیشتر دستگاه‌ها، نسخه SNMPv2c مناسب است.

    برای مثال، اگر از SNMPv2 استفاده می‌کنید، باید اطلاعات Community String را وارد کنید. این رشته امنیتی است که دستگاه‌های SNMP برای ارسال داده‌ها استفاده می‌کنند.

  3. تنظیمات اضافی در این مرحله می‌توانید تنظیمات پیشرفته دیگری مانند timeout و retries برای ارتباط SNMP با دستگاه را تعیین کنید. این تنظیمات به شما این امکان را می‌دهند تا تعیین کنید در صورت عدم موفقیت در دریافت داده‌ها، Cacti چند بار تلاش کند.

4. ایجاد گراف برای دستگاه‌های SNMP

پس از اضافه کردن دستگاه به Cacti و تنظیم SNMP، مرحله بعدی ایجاد گراف‌های مناسب برای نمایش داده‌های جمع‌آوری‌شده است. برای ایجاد گراف‌ها، مراحل زیر را دنبال کنید:

  1. رفتن به بخش Graph Management در منوی اصلی، به بخش “Graph Management” رفته و روی گزینه “Create Graphs” کلیک کنید.
  2. انتخاب دستگاه و پارامترهای مورد نظر پس از ورود به بخش ایجاد گراف، دستگاهی که از آن داده‌ها را جمع‌آوری کرده‌اید را انتخاب کنید. سپس نوع گراف را انتخاب کرده و پارامترهایی که می‌خواهید نمایش دهید (مانند Bandwidth, CPU Usage و غیره) را انتخاب کنید.
  3. پیکربندی گراف‌ها در این مرحله، می‌توانید تنظیمات اضافی برای گراف‌ها را اعمال کنید. به طور مثال:
    • Graph Type: انتخاب نوع گراف (مانند خطی، دایره‌ای یا میله‌ای)
    • Graph Template: انتخاب قالب گراف از پیش تعریف‌شده
    • Time Interval: تعیین بازه زمانی برای نمایش داده‌ها
  4. ایجاد گراف پس از انجام تنظیمات، روی گزینه “Create” کلیک کنید تا گراف ایجاد شود.

5. مشاهده داده‌های SNMP در Cacti

بعد از پیکربندی SNMP و ایجاد گراف‌ها، می‌توانید داده‌های جمع‌آوری‌شده را مشاهده کنید. برای این کار:

  1. رفتن به بخش “Graphs” در منوی اصلی Cacti، روی “Graphs” کلیک کنید. این بخش تمام گراف‌های ایجاد‌شده را نمایش می‌دهد.
  2. مشاهده گراف‌ها در این بخش می‌توانید گراف‌های مختلف را بر اساس دستگاه‌ها و پارامترهای انتخاب‌شده مشاهده کنید.
  3. تنظیمات بیشتر در صورت نیاز، می‌توانید گراف‌ها را ویرایش کرده یا تنظیمات مربوط به نمایش آن‌ها را تغییر دهید.

6. تنظیمات و پیکربندی SNMP از طریق CLI

اگر می‌خواهید SNMP را برای دستگاه‌ها و سرورهای شبکه از طریق دستورات CLI پیکربندی کنید، می‌توانید از دستورات زیر استفاده کنید.

1. نصب و پیکربندی SNMP در سرور

در ابتدا باید SNMP را روی سرور Cacti نصب و پیکربندی کنید:

sudo apt-get install snmp snmpd

پس از نصب، پیکربندی SNMP را ویرایش کنید:

sudo nano /etc/snmp/snmpd.conf

سپس خط com2sec را برای تنظیم Community String به شکل زیر ویرایش کنید:

com2sec readonly  default       public
2. تنظیمات دسترسی SNMP

اگر نیاز به تنظیمات بیشتر برای محدود کردن دسترسی SNMP دارید، از دستور زیر استفاده کنید:

sudo nano /etc/snmp/snmpd.conf

و مواردی مثل access control را به شکل زیر تنظیم کنید:

# Access control settings
rocommunity public default -V systemonly
3. راه‌اندازی مجدد سرویس SNMP

پس از اعمال تغییرات، سرویس SNMP را مجدداً راه‌اندازی کنید:

sudo systemctl restart snmpd

جمع‌بندی

در این بخش، به طور جامع با نحوه پیکربندی SNMP در Cacti آشنا شدیم. این پیکربندی شامل اضافه کردن دستگاه‌ها، تنظیمات پروتکل SNMP، و ایجاد گراف‌ها برای نمایش داده‌های جمع‌آوری‌شده از دستگاه‌ها بود. علاوه بر این، روش‌های پیکربندی SNMP از طریق رابط کاربری گرافیکی (GUI) و دستورات CLI بررسی شد.

این تنظیمات به شما کمک می‌کند تا به‌راحتی دستگاه‌ها را به Cacti اضافه کرده و داده‌های آن‌ها را به صورت گرافیکی نمایش دهید، و از پروتکل SNMP برای نظارت دقیق بر وضعیت شبکه خود استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی سریع SNMP برای دستگاه‌ها” subtitle=”توضیحات کامل”]پیکربندی SNMP برای دستگاه‌ها یکی از مراحل مهم در نصب و راه‌اندازی Cacti است، زیرا این پروتکل به Cacti این امکان را می‌دهد که داده‌های جمع‌آوری‌شده از دستگاه‌ها مانند روترها، سوئیچ‌ها و سرورها را دریافت و تحلیل کند. در این بخش، نحوه پیکربندی سریع SNMP برای دستگاه‌ها را به‌طور گام به گام شرح خواهیم داد. این تنظیمات شامل تغییرات از طریق رابط کاربری Cacti و دستورات CLI برای پیکربندی سریع دستگاه‌های شبکه است.


1. نصب و پیکربندی SNMP در دستگاه‌ها

برای استفاده از SNMP در دستگاه‌های شبکه مانند روترها، سوئیچ‌ها یا سرورهای دیگر، ابتدا باید اطمینان حاصل کنید که SNMP روی آن‌ها نصب و پیکربندی شده باشد. در زیر، نحوه پیکربندی SNMP برای دستگاه‌های مختلف آورده شده است:


1.1. پیکربندی SNMP روی روترها و سوئیچ‌ها

برای دستگاه‌های Cisco و مشابه آن‌ها، پیکربندی SNMP از طریق دستورات CLI انجام می‌شود. در اینجا به‌طور مثال، مراحل پیکربندی SNMP برای یک دستگاه Cisco آورده شده است:

  1. وارد شدن به محیط تنظیمات دستگاه: برای وارد شدن به محیط تنظیمات روتر یا سوئیچ، از دستور زیر استفاده کنید:
    enable
    configure terminal
    
  2. پیکربندی SNMP: برای پیکربندی SNMP، باید یک Community String را تعیین کنید. در اینجا از public به عنوان Community String استفاده می‌شود:
    snmp-server community public RO
    

    این دستور به دستگاه می‌گوید که public به عنوان Community String با دسترسی فقط خواندنی (Read-Only) تنظیم شود.

  3. محدود کردن دسترسی از یک IP خاص (اختیاری): برای افزایش امنیت، می‌توانید دسترسی SNMP را فقط از یک IP خاص مجاز کنید:
    snmp-server community public RO 10.0.0.1
    
  4. ذخیره تنظیمات: پس از اعمال تغییرات، تنظیمات را ذخیره کنید:
    write memory
    

1.2. پیکربندی SNMP در لینوکس (برای دستگاه‌های سرور)

برای دستگاه‌های سروری که از Linux به عنوان سیستم‌عامل استفاده می‌کنند، می‌توان SNMP را به راحتی از طریق پیکربندی snmpd.conf و فعال کردن سرویس SNMP پیکربندی کرد.

  1. نصب SNMP: ابتدا باید SNMP را نصب کنید. برای نصب آن از دستورات زیر استفاده کنید:
    • برای Debian/Ubuntu:
      sudo apt-get install snmp snmpd
      
    • برای CentOS/RHEL:
      sudo yum install net-snmp net-snmp-utils
      
  2. پیکربندی SNMP: پس از نصب، فایل پیکربندی snmpd.conf را ویرایش کنید:
    sudo nano /etc/snmp/snmpd.conf
    

    در فایل snmpd.conf، دستور زیر را برای تنظیم Community String اضافه کنید:

    com2sec readonly  default       public
    
  3. راه‌اندازی مجدد سرویس SNMP: پس از اعمال تغییرات، سرویس snmpd را راه‌اندازی مجدد کنید:
    sudo systemctl restart snmpd
    
  4. دستورات برای بررسی وضعیت سرویس SNMP: برای بررسی وضعیت سرویس SNMP از دستور زیر استفاده کنید:
    sudo systemctl status snmpd
    

2. اضافه کردن دستگاه‌ها به Cacti

پس از پیکربندی SNMP روی دستگاه‌ها، حالا باید آن‌ها را به Cacti اضافه کنیم. برای این کار مراحل زیر را دنبال کنید:

  1. ورود به Cacti: ابتدا وارد رابط کاربری Cacti شوید. آدرس Cacti به شکل زیر است:
    http://<Cacti-IP>/cacti
    
  2. اضافه کردن دستگاه جدید: به منوی “Devices” رفته و گزینه “Add Device” را انتخاب کنید.
  3. وارد کردن اطلاعات دستگاه: در فرم “Add Device”، موارد زیر را وارد کنید:
    • Device Name: نام دستگاه
    • IP Address: آدرس IP دستگاه
    • SNMP Version: نسخه SNMP (برای اکثر دستگاه‌ها، SNMPv2c یا SNMPv1 استفاده می‌شود)
    • Community String: رشته Community که در تنظیمات دستگاه مشخص کرده‌اید (مانند public)
  4. تنظیمات دیگر: سایر تنظیمات از جمله timeout و retries را می‌توانید طبق نیاز خود تغییر دهید.
  5. ذخیره دستگاه: پس از وارد کردن تمام اطلاعات، روی گزینه “Save” کلیک کنید.

3. پیکربندی گراف‌ها برای دستگاه‌های جدید

پس از اضافه کردن دستگاه به Cacti، مرحله بعدی ایجاد گراف برای نمایش داده‌هاست. برای این کار مراحل زیر را دنبال کنید:

  1. رفتن به Graph Management: از منوی اصلی Cacti، به Graph Management بروید و گزینه “Create Graphs” را انتخاب کنید.
  2. انتخاب دستگاه و پارامترهای آن: دستگاهی که قبلاً اضافه کرده‌اید را از لیست انتخاب کنید. سپس نوع گراف‌هایی که می‌خواهید ایجاد کنید (مثل Bandwidth, CPU Usage, Memory Usage) را انتخاب کنید.
  3. پیکربندی گراف‌ها: تنظیمات گراف مانند نوع گراف، الگوی گراف و فاصله زمانی را انجام دهید. سپس گراف‌ها را ایجاد کنید.

جمع‌بندی

پیکربندی SNMP برای دستگاه‌ها یک بخش اساسی در راه‌اندازی Cacti است. این پروتکل امکان جمع‌آوری داده‌ها از دستگاه‌های مختلف شبکه را فراهم می‌آورد. با استفاده از دستورات CLI برای پیکربندی SNMP بر روی دستگاه‌ها و سپس اضافه کردن دستگاه‌ها به Cacti، می‌توانید به‌راحتی داده‌های شبکه خود را مانیتور کنید و آن‌ها را به صورت گرافیکی تحلیل کنید. این فرآیند شامل پیکربندی SNMP در دستگاه‌های مختلف، اضافه کردن دستگاه‌ها به Cacti و ایجاد گراف‌ها برای مشاهده داده‌ها بود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تست و عیب‌یابی تنظیمات SNMP” subtitle=”توضیحات کامل”]تست و عیب‌یابی تنظیمات SNMP (Simple Network Management Protocol) یکی از مراحل مهم در نصب و راه‌اندازی Cacti است. به کمک SNMP، Cacti می‌تواند داده‌ها را از دستگاه‌های مختلف شبکه جمع‌آوری کند، اما زمانی که مشکلاتی در ارتباط برقرار می‌شود، نیاز به شناسایی دقیق این مشکلات و رفع آن‌ها داریم. در این بخش، نحوه تست و عیب‌یابی تنظیمات SNMP برای دستگاه‌ها و سرورها را با استفاده از ابزارهای مختلف و دستورات کاربردی توضیح خواهیم داد.


1. استفاده از دستور SNMPWalk برای تست ارتباط SNMP

دستور snmpwalk یکی از ابزارهای قوی برای تست ارتباط SNMP بین Cacti و دستگاه‌های شبکه است. این ابزار از SNMP برای ارسال درخواست به دستگاه‌های شبکه استفاده می‌کند و در صورتی که اتصال برقرار باشد، اطلاعات مورد نظر را به نمایش می‌گذارد.

1.1. استفاده از snmpwalk در لینوکس

برای تست ارتباط SNMP بین Cacti و دستگاه شبکه، دستور snmpwalk را می‌توان به شکل زیر اجرا کرد:

  1. ابتدا، با استفاده از دستور زیر، SNMP را برای دستگاه مورد نظر تست کنید:
    snmpwalk -v 2c -c public <IP_ADDRESS>
    

    توضیحات:

    • -v 2c: مشخص‌کننده نسخه SNMP (در اینجا نسخه SNMPv2c).
    • -c public: Community String که برای دستگاه تعیین کرده‌اید (در اینجا به‌عنوان مثال “public”).
    • <IP_ADDRESS>: آدرس IP دستگاهی که می‌خواهید از آن داده‌ها را جمع‌آوری کنید.
  2. اگر تنظیمات SNMP به‌درستی پیکربندی شده باشد، خروجی دستور به‌صورت مشابه زیر خواهد بود:
    SNMPv2-MIB::sysDescr.0 = STRING: Linux hostname 5.4.0-70-generic #78-Ubuntu SMP Thu Jul 22 10:57:38 UTC 2021 x86_64
    SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-MIB::linux
    SNMPv2-MIB::sysUpTime.0 = Timeticks: (3427897) 0:57:07.97
    

    در این خروجی، شما می‌توانید اطلاعات مختلف دستگاه مانند سیستم عامل، زمان فعالیت سیستم و دیگر مشخصات را مشاهده کنید.

1.2. استفاده از snmpwalk در ویندوز

برای اجرای snmpwalk در ویندوز، باید از ابزارهایی مانند Net-SNMP استفاده کنید. بعد از نصب این ابزار، دستور مشابه دستور لینوکس را در خط فرمان ویندوز اجرا کنید:

snmpwalk -v 2c -c public <IP_ADDRESS>

2. استفاده از دستور SNMPGet برای تست دریافت اطلاعات خاص

در صورتی که می‌خواهید داده‌های خاصی از دستگاه‌های شبکه مانند ترافیک ورودی و خروجی شبکه یا مصرف CPU را دریافت کنید، می‌توانید از دستور snmpget استفاده کنید.

  1. برای دریافت مقدار خاص از دستگاه، از دستور زیر استفاده کنید:
    snmpget -v 2c -c public <IP_ADDRESS> <OID>
    
    • OID: Object Identifier که داده خاصی را از دستگاه شما شناسایی می‌کند (مانند استفاده از OID برای پهنای باند).

    مثال:

    snmpget -v 2c -c public 192.168.1.1 1.3.6.1.2.1.2.2.1.10.2
    

    خروجی نمونه ممکن است به شکل زیر باشد:

    SNMPv2-MIB::ifInOctets.2 = Counter32: 9876543
    

    این دستور پهنای باند ورودی رابط شبکه شماره ۲ را نشان می‌دهد.


3. بررسی فایل‌های لاگ برای مشکلات SNMP

در صورتی که هنوز مشکلاتی در ارتباط SNMP وجود داشته باشد، می‌توانید از لاگ‌ها برای شناسایی مشکلات استفاده کنید.

3.1. لاگ‌های دستگاه‌های شبکه

در دستگاه‌های Cisco و مشابه آن‌ها، می‌توانید از دستور زیر برای مشاهده لاگ‌های SNMP استفاده کنید:

show logging

این دستور لاگ‌های دستگاه را نمایش می‌دهد و می‌توانید پیام‌های مربوط به SNMP را مشاهده کنید.

3.2. لاگ‌های سیستم در لینوکس

در لینوکس، می‌توانید از Syslog برای بررسی لاگ‌های مربوط به SNMP استفاده کنید:

sudo tail -f /var/log/syslog

این دستور آخرین لاگ‌ها را نشان می‌دهد. اگر مشکلی در ارتباط SNMP وجود داشته باشد، پیام‌های خطا در این لاگ‌ها مشاهده خواهید کرد.


4. بررسی تنظیمات فایروال و دسترسی‌ها

یکی از مهم‌ترین دلایل بروز مشکلات در ارتباط SNMP، فایروال و تنظیمات دسترسی است. برای اطمینان از اینکه فایروال اجازه اتصال از Cacti به دستگاه‌های شبکه را می‌دهد، باید پورت SNMP (معمولاً پورت 161/UDP) باز باشد.

4.1. بررسی فایروال در لینوکس

برای بررسی وضعیت فایروال در لینوکس و اطمینان از باز بودن پورت SNMP، از دستور زیر استفاده کنید:

sudo ufw status

در صورتی که پورت 161 بسته باشد، با استفاده از دستور زیر آن را باز کنید:

sudo ufw allow 161/udp
4.2. بررسی فایروال در ویندوز

برای بررسی فایروال در ویندوز و اطمینان از باز بودن پورت SNMP، می‌توانید از دستور netsh استفاده کنید:

netsh advfirewall firewall add rule name="Allow SNMP" protocol=UDP dir=in localport=161 action=allow

5. استفاده از ابزار‌های شبکه برای تست SNMP

استفاده از ابزارهایی مانند Wireshark برای بررسی ترافیک SNMP می‌تواند کمک کند تا بررسی کنید آیا درخواست‌های SNMP به درستی ارسال و دریافت می‌شوند یا خیر.

  1. نصب Wireshark: اگر Wireshark را نصب کرده‌اید، می‌توانید ترافیک شبکه را بررسی کنید.
  2. شروع ضبط ترافیک: برای ضبط ترافیک SNMP، Wireshark را باز کرده و فیلتر udp.port == 161 را تنظیم کنید تا فقط ترافیک مربوط به SNMP نمایش داده شود.
  3. تحلیل بسته‌ها: با مشاهده بسته‌های دریافتی در Wireshark می‌توانید مشکلاتی مانند عدم برقراری ارتباط یا اشتباه در Community String را شناسایی کنید.

جمع‌بندی

تست و عیب‌یابی تنظیمات SNMP یک بخش مهم از فرآیند نصب و راه‌اندازی Cacti است. با استفاده از دستورات snmpwalk و snmpget، می‌توان ارتباط SNMP را بین Cacti و دستگاه‌های شبکه تست کرد. در صورتی که مشکلاتی در اتصال به وجود آید، بررسی لاگ‌ها و تنظیمات فایروال، و همچنین استفاده از ابزارهای مانند Wireshark می‌تواند کمک‌کننده باشد. این ابزارها و روش‌ها به شما کمک می‌کنند تا مشکلات SNMP را شناسایی و رفع کنید و اطمینان حاصل کنید که داده‌ها به‌درستی از دستگاه‌ها به Cacti منتقل می‌شود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. پیکربندی گراف‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه ایجاد گراف‌های ساده ” subtitle=”توضیحات کامل”]در Cacti، ایجاد گراف‌های ساده برای نمایش داده‌های جمع‌آوری‌شده از دستگاه‌ها و سرویس‌ها، به راحتی از طریق رابط کاربری و تنظیمات پیچیده‌ای که به‌صورت گرافیکی فراهم می‌شود، امکان‌پذیر است. با این حال، می‌توانید این گراف‌ها را به‌صورت دستی و کامندی نیز ایجاد کنید. در این بخش، هر دو روش گرافیکی و کامندی برای ایجاد گراف‌های ساده توضیح داده خواهد شد.


1. ایجاد گراف‌های ساده از طریق رابط کاربری گرافیکی

برای ایجاد یک گراف ساده از طریق رابط کاربری Cacti، باید از مراحل زیر پیروی کنید:

1.1. ورود به Cacti و انتخاب دستگاه

  1. ابتدا به Cacti وارد شوید.
  2. در داشبورد، از منوی بالای صفحه، گزینه Devices را انتخاب کنید تا لیست دستگاه‌ها نمایش داده شود.
  3. دستگاهی که می‌خواهید گراف آن را ایجاد کنید، انتخاب کنید.

1.2. ایجاد گراف جدید

پس از انتخاب دستگاه، برای ایجاد گراف ساده باید مراحل زیر را انجام دهید:

  1. از منوی Create Graphs روی گزینه Create Graphs for This Host کلیک کنید.
  2. در صفحه جدید، نوع گراف را از گزینه‌های موجود انتخاب کنید (مانند گراف‌های Network Traffic، CPU Usage یا Memory Usage).
  3. پس از انتخاب نوع گراف، بر روی Create کلیک کنید.

1.3. پیکربندی و تنظیمات گراف

بعد از ایجاد گراف، می‌توانید آن را مطابق نیاز خود پیکربندی کنید:

  1. برای تنظیم نوع داده‌ها (مانند دریافت یا ارسال ترافیک شبکه)، گزینه‌های مختلف را در فیلدهای Data Source انتخاب کنید.
  2. تنظیمات دیگری مانند Graph Title، Y-axis Range، و دیگر ویژگی‌های گراف را می‌توانید مطابق نیاز تنظیم کنید.
  3. در نهایت، بر روی Save یا Create Graph کلیک کنید تا گراف جدید شما ایجاد شود.

1.4. نمایش گراف

پس از ایجاد گراف، آن را می‌توانید از طریق منوی Graphs در داشبورد مشاهده کنید.


2. ایجاد گراف‌های ساده به‌صورت کامندی (دستی)

در این بخش، نحوه ایجاد گراف‌های ساده به‌صورت دستی و از طریق دستوراتی که در Cacti به‌کار می‌روند توضیح داده خواهد شد. این روش برای کسانی که نیاز به انجام این کار از طریق CLI (خط فرمان) دارند، مناسب است.

2.1. ایجاد Data Source برای گراف

قبل از ایجاد گراف، باید Data Source مربوط به دستگاه و پارامترهای مورد نظر خود را ایجاد کنید. این دستور از طریق MySQL برای ایجاد Data Source اجرا می‌شود:

  1. ابتدا باید وارد دیتابیس Cacti شوید:
    mysql -u root -p cacti
    
  2. حالا برای ایجاد یک Data Source جدید، از دستور زیر استفاده کنید (در اینجا فرض شده که می‌خواهید داده‌ها را برای یک دستگاه خاص با آدرس IP 192.168.1.1 ایجاد کنید):
    INSERT INTO graph_templates_items (graph_template_id, item_id)
    SELECT 1, item_id FROM data_input WHERE device_id = '192.168.1.1';
    

    در اینجا، graph_template_id مشخص‌کننده نوع گراف است و item_id مربوط به داده‌های موجود برای دستگاه می‌باشد.

2.2. ایجاد گراف دستی از طریق CLI

در مرحله بعدی، برای ایجاد گراف از دستور add_graph استفاده می‌کنیم. ابتدا وارد پوشه اصلی Cacti شوید:

cd /var/www/html/cacti

سپس از دستور زیر برای ایجاد گراف استفاده کنید:

php add_graph.php --host_id=1 --graph_type=1 --title="Network Traffic"

توضیحات:

  • --host_id=1: شناسه دستگاهی که می‌خواهید گراف آن را ایجاد کنید.
  • --graph_type=1: نوع گراف (در اینجا 1 به معنای گراف ترافیک شبکه است).
  • --title="Network Traffic": عنوان گراف.

2.3. پیکربندی گراف

بعد از اجرای دستور بالا، گراف شما با پارامترهای پیش‌فرض ایجاد می‌شود. برای ویرایش تنظیمات بیشتر، باید آن را از طریق Web Interface پیکربندی کنید. برای مثال، می‌توانید از گزینه‌های موجود برای تعیین محدوده محور عمودی (Y-axis) یا اضافه کردن افکت‌های گرافیکی استفاده کنید.


3. مشاهده گراف‌های ایجاد شده

پس از ایجاد گراف، چه به‌صورت گرافیکی و چه از طریق CLI، می‌توانید گراف‌های خود را مشاهده کنید:

  1. از منوی Graphs در رابط کاربری Cacti استفاده کنید.
  2. گراف‌های جدید را در لیست گراف‌های موجود خواهید دید.

برای مشاهده گراف‌ها در Cacti از دستورات زیر در خط فرمان نیز می‌توانید استفاده کنید:

cd /var/www/html/cacti/graphs
ls

در اینجا، لیستی از گراف‌های ایجاد شده در پوشه Graphs به شما نمایش داده می‌شود.


جمع‌بندی

در این بخش، نحوه ایجاد گراف‌های ساده در Cacti به دو روش گرافیکی و کامندی (دستی) توضیح داده شد. از رابط کاربری برای ایجاد گراف‌های ساده و سفارشی استفاده کرده و تنظیمات مختلف گراف را مطابق نیاز خود پیکربندی کردیم. همچنین روش‌های دستی برای ایجاد Data Source و گراف‌ها از طریق MySQL و CLI نیز بیان شد. این دو روش به شما این امکان را می‌دهند که به راحتی گراف‌های مورد نظر خود را در Cacti ایجاد کنید و شبکه یا سیستم‌های خود را به دقت مانیتور کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از قالب‌های گراف (Graph Templates)” subtitle=”توضیحات کامل”]در Cacti، استفاده از قالب‌های گراف (Graph Templates) روشی موثر برای ایجاد و مدیریت گراف‌ها است. این قالب‌ها به شما این امکان را می‌دهند که گراف‌ها را به صورت استاندارد و با تنظیمات از پیش تعریف‌شده ایجاد کنید و در نتیجه فرآیند ایجاد گراف‌ها سریع‌تر و کارآمدتر می‌شود. قالب‌های گراف به خصوص زمانی که می‌خواهید چندین گراف مشابه ایجاد کنید بسیار مفید هستند، زیرا شما می‌توانید تنظیمات یک گراف را به دیگر گراف‌ها اعمال کنید.

در این بخش، مراحل استفاده از قالب‌های گراف را به صورت گرافیکی و همچنین به صورت کامندی بررسی خواهیم کرد.


1. استفاده از قالب‌های گراف از طریق رابط کاربری

1.1. دسترسی به قالب‌های گراف

برای دسترسی به قالب‌های گراف در Cacti مراحل زیر را دنبال کنید:

  1. وارد داشبورد Cacti شوید.
  2. از منوی بالای صفحه، گزینه Templates را انتخاب کنید.
  3. در زیرمنوی بازشده، گزینه Graph Templates را انتخاب کنید تا لیست قالب‌های گراف موجود نمایش داده شود.
1.2. انتخاب قالب گراف مناسب

در این قسمت، لیستی از قالب‌های گراف مختلف نمایش داده می‌شود. این قالب‌ها شامل قالب‌هایی برای نمایش داده‌های مختلف مانند استفاده از CPU، ترافیک شبکه، دما، و دیگر پارامترهای مهم هستند. برای انتخاب قالب مناسب:

  1. قالب مورد نظر را از لیست انتخاب کنید.
  2. بر روی قالب انتخابی کلیک کنید تا تنظیمات و جزئیات آن مشاهده شود.
1.3. ایجاد گراف از قالب انتخابی

برای ایجاد گراف از قالب انتخابی:

  1. پس از انتخاب قالب، بر روی دکمه Create Graphs کلیک کنید.
  2. در پنجره جدید، دستگاه یا دستگاه‌هایی که می‌خواهید گراف را برای آنها ایجاد کنید انتخاب کنید.
  3. بر روی Create کلیک کنید تا گراف‌ها ایجاد شوند.

در این روش، قالب به طور خودکار برای دستگاه‌های انتخابی اعمال خواهد شد و شما نیازی به پیکربندی دستی هر گراف نخواهید داشت.


2. استفاده از قالب‌های گراف به صورت کامندی (دستی)

در صورتی که بخواهید گراف‌ها را با استفاده از قالب‌ها به صورت دستی ایجاد کنید، می‌توانید از دستورهای کامندی استفاده کنید.

2.1. مشاهده قالب‌های گراف موجود در پایگاه داده

برای مشاهده قالب‌های گراف در پایگاه داده، ابتدا به پایگاه داده Cacti وارد شوید:

mysql -u root -p cacti

سپس دستور زیر را وارد کنید تا لیست قالب‌های گراف موجود را مشاهده کنید:

SELECT * FROM graph_templates;

این دستور تمامی قالب‌های گراف موجود در پایگاه داده را نمایش می‌دهد.

2.2. ایجاد گراف از قالب انتخابی

برای ایجاد گراف از قالب انتخابی به‌صورت دستی، ابتدا قالب گراف مورد نظر را شناسایی کنید. برای مثال، فرض کنید شما می‌خواهید گراف استفاده از CPU را برای دستگاه با شناسه 1 ایجاد کنید. دستور زیر را وارد کنید:

php /var/www/html/cacti/graph_templates/graph_create.php --host_id=1 --graph_template_id=1

در اینجا:

  • --host_id=1: شناسه دستگاهی که می‌خواهید گراف برای آن ایجاد شود.
  • --graph_template_id=1: شناسه قالب گراف (که از پایگاه داده استخراج می‌شود).

با اجرای این دستور، گراف با استفاده از قالب انتخابی برای دستگاه مشخص‌شده ایجاد می‌شود.

2.3. پیکربندی گراف به صورت دستی

در برخی مواقع، پس از ایجاد گراف از قالب، شما ممکن است نیاز به تغییر برخی تنظیمات خاص داشته باشید. برای ویرایش گراف، می‌توانید از طریق رابط کاربری Cacti به صفحه گراف‌ها بروید و تغییرات لازم را اعمال کنید. همچنین، در صورت نیاز می‌توانید فایل‌های پیکربندی گراف‌ها را به‌صورت دستی ویرایش کنید.


3. مدیریت و ویرایش قالب‌های گراف

در Cacti، شما می‌توانید قالب‌های گراف را مدیریت کنید. این کار از طریق رابط کاربری یا دستورات کامندی انجام می‌شود.

3.1. ویرایش قالب‌های گراف از رابط کاربری

برای ویرایش یک قالب گراف از رابط کاربری Cacti:

  1. به منوی Templates بروید و گزینه Graph Templates را انتخاب کنید.
  2. قالب گراف مورد نظر را از لیست انتخاب کنید.
  3. بر روی Edit کلیک کنید تا بتوانید تنظیمات قالب را ویرایش کنید.

در این قسمت، شما می‌توانید تغییرات دلخواه خود را اعمال کنید، مانند تغییر مقیاس محور، رنگ‌ها، یا دیگر تنظیمات نمایشی.

3.2. حذف قالب‌های گراف از رابط کاربری

برای حذف قالب گراف:

  1. از منوی Templates، گزینه Graph Templates را انتخاب کنید.
  2. قالب گراف مورد نظر را انتخاب کرده و بر روی Delete کلیک کنید.
  3. تایید کنید که می‌خواهید قالب را حذف کنید.
3.3. حذف قالب‌های گراف از طریق CLI

برای حذف یک قالب گراف به‌صورت دستی، می‌توانید از دستور زیر استفاده کنید:

mysql -u root -p cacti

سپس دستور SQL زیر را وارد کنید تا قالب گراف مورد نظر را حذف کنید:

DELETE FROM graph_templates WHERE graph_template_id = 1;

این دستور، قالب گراف با شناسه 1 را از پایگاه داده حذف می‌کند.


جمع‌بندی

استفاده از قالب‌های گراف در Cacti یک روش موثر برای ایجاد و مدیریت گراف‌ها است. این قالب‌ها می‌توانند فرآیند ایجاد گراف‌ها را به‌شدت تسهیل کنند و به شما این امکان را می‌دهند که گراف‌هایی استاندارد و حرفه‌ای برای دستگاه‌های مختلف ایجاد کنید. علاوه بر استفاده از رابط کاربری، شما می‌توانید از دستورهای کامندی برای ایجاد، ویرایش و حذف گراف‌ها استفاده کنید. این روش‌ها به شما کمک می‌کنند تا سیستم مانیتورینگ شبکه خود را به بهترین نحو ممکن پیکربندی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تغییر تنظیمات گراف‌ها برای بهینه‌سازی نمایش” subtitle=”توضیحات کامل”]در Cacti، تنظیمات گراف‌ها می‌تواند نقش مهمی در بهینه‌سازی نمایش داده‌ها و همچنین سرعت بارگذاری گراف‌ها داشته باشد. تنظیمات صحیح می‌تواند به شما کمک کند تا گراف‌ها را به شکلی شفاف‌تر و کارآمدتر نمایش دهید و از بروز مشکلات احتمالی جلوگیری کنید. در این بخش، نحوه تغییر تنظیمات گراف‌ها برای بهینه‌سازی نمایش به صورت گرافیکی و کامندی بررسی می‌شود.


1. تغییر تنظیمات گراف‌ها از طریق رابط کاربری

1.1. تغییر مقیاس و محورهای گراف

یکی از مهم‌ترین تنظیمات در بهینه‌سازی گراف‌ها، تنظیم مقیاس محورهای X و Y است. این تنظیمات می‌تواند بر نحوه نمایش داده‌ها تاثیر بگذارد.

  1. وارد رابط کاربری Cacti شوید.
  2. به بخش Graphs بروید.
  3. گراف مورد نظر را برای ویرایش انتخاب کنید.
  4. روی گزینه Edit کلیک کنید.
  5. در صفحه ویرایش گراف، به بخش Graph Options بروید.
  6. در این بخش می‌توانید مقیاس محور X و Y را تنظیم کنید. برای مثال، می‌توانید حداکثر و حداقل مقادیر محور Y را مشخص کنید یا تنظیمات خودکار برای مقیاس انتخاب کنید.

برای تنظیم مقیاس محور Y به صورت دستی، می‌توانید گزینه‌های Minimum و Maximum را وارد کنید. این کار به شما این امکان را می‌دهد که محدوده‌ای مشخص برای مقادیر محور Y در گراف تعیین کنید.

1.2. انتخاب نوع گراف

در تنظیمات گراف، می‌توانید نوع گراف (مثلاً خطی، میله‌ای، یا دیگر انواع گراف‌ها) را تغییر دهید. این کار به شما این امکان را می‌دهد که داده‌ها را به صورت بهینه و مطابق با نیاز خود نمایش دهید.

برای تغییر نوع گراف:

  1. در صفحه Edit Graph, به بخش Graph Type بروید.
  2. از منوی کشویی، نوع گراف (Line Graph، Bar Graph و غیره) را انتخاب کنید.
1.3. بهینه‌سازی رنگ‌ها و استایل‌های گراف

در این بخش، شما می‌توانید رنگ‌ها و استایل‌های گراف‌ها را تغییر دهید تا نمایش داده‌ها واضح‌تر و خواناتر شود.

  1. در صفحه Edit Graph, به بخش Graph Settings بروید.
  2. در قسمت Line Colors می‌توانید رنگ‌های مختلف برای هر خط در گراف انتخاب کنید.
  3. همچنین می‌توانید از گزینه‌های Line Width و Line Style برای تنظیم ضخامت و استایل خطوط استفاده کنید.

با تغییر رنگ‌ها و ضخامت خطوط، می‌توانید گراف‌ها را برای نمایش بهتر و تفکیک‌پذیری بیشتر از یکدیگر تنظیم کنید.

1.4. اضافه کردن و یا حذف داده‌ها از گراف

در برخی موارد ممکن است بخواهید داده‌های اضافی را از گراف حذف کنید یا داده‌های جدیدی اضافه کنید.

برای این کار:

  1. در صفحه Edit Graph, به بخش Graph Items بروید.
  2. از این قسمت می‌توانید داده‌هایی که می‌خواهید در گراف نمایش داده شوند را اضافه یا حذف کنید.

2. تغییر تنظیمات گراف‌ها به صورت کامندی

در صورتی که بخواهید گراف‌ها را به صورت دستی و از طریق خط فرمان (CLI) تغییر دهید، می‌توانید به راحتی از طریق ویرایش مستقیم پایگاه داده این تنظیمات را اعمال کنید.

2.1. تغییر مقیاس گراف‌ها

برای تغییر مقیاس گراف‌ها از طریق پایگاه داده، ابتدا وارد MySQL شوید:

mysql -u root -p cacti

سپس دستور SQL زیر را برای تغییر مقیاس محور Y یک گراف خاص اجرا کنید:

UPDATE graph_templates_items SET min_value = 0, max_value = 100 WHERE graph_template_id = 1;

این دستور مقیاس محور Y را برای گراف با graph_template_id=1 تغییر می‌دهد. مقادیر 0 و 100 برای حداقل و حداکثر مقدار محور Y تنظیم شده‌اند.

2.2. تغییر نوع گراف به صورت دستی

برای تغییر نوع گراف به صورت دستی، شما می‌توانید از دستور SQL زیر استفاده کنید:

UPDATE graph_templates SET graph_type = 2 WHERE graph_template_id = 1;

در این دستور، graph_type = 2 به معنای تغییر نوع گراف به نوع میله‌ای است. مقادیر مختلف برای انواع گراف‌ها به شرح زیر هستند:

  • 1: گراف خطی
  • 2: گراف میله‌ای
  • 3: گراف دایره‌ای
  • 4: گراف پله‌ای

این دستور نوع گراف را برای قالب گراف با graph_template_id=1 به میله‌ای تغییر می‌دهد.

2.3. تغییر رنگ‌ها و استایل گراف‌ها

برای تغییر رنگ و استایل خطوط گراف‌ها از طریق پایگاه داده، شما می‌توانید از دستور SQL زیر استفاده کنید:

UPDATE graph_templates_items SET line_color = 'FF0000' WHERE graph_template_id = 1;

در این دستور، line_color = 'FF0000' رنگ خط را به قرمز تغییر می‌دهد. شما می‌توانید رنگ‌ها را با استفاده از کدهای رنگ HEX مختلف تنظیم کنید.

2.4. اضافه کردن یا حذف آیتم‌های گراف

برای اضافه کردن یا حذف آیتم‌های گراف از طریق پایگاه داده، ابتدا باید به جدول graph_templates_items دسترسی پیدا کنید. برای افزودن یک آیتم جدید، می‌توانید از دستور زیر استفاده کنید:

INSERT INTO graph_templates_items (graph_template_id, host_id, snmp_oid, item_id) VALUES (1, 1, '1.3.6.1.2.1.2.2.1.10', 1);

این دستور یک آیتم جدید به گراف با graph_template_id=1 اضافه می‌کند. شناسه دستگاه و شناسه SNMP OID باید بر اساس نیازهای شما تنظیم شود.

برای حذف یک آیتم گراف نیز می‌توانید از دستور زیر استفاده کنید:

DELETE FROM graph_templates_items WHERE graph_template_id = 1 AND item_id = 1;

جمع‌بندی

بهینه‌سازی گراف‌ها در Cacti می‌تواند نمایش داده‌ها را واضح‌تر و قابل فهم‌تر کند و همچنین عملکرد کلی سیستم را بهبود بخشد. با استفاده از تنظیمات مختلف در رابط کاربری یا از طریق دستورات کامندی، می‌توانید گراف‌ها را به صورت دقیق و مطابق با نیاز خود تنظیم کنید. این تنظیمات شامل تغییر مقیاس، نوع گراف، رنگ‌ها و استایل‌ها، و همچنین اضافه کردن یا حذف داده‌ها از گراف‌ها می‌شود. با اعمال این تنظیمات، می‌توانید نمایش دقیق‌تری از داده‌های شبکه خود داشته باشید و عملکرد بهتری از سیستم نظارتی خود دریافت کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. صفحه تنظیمات (Settings)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آشنایی با تنظیمات عمومی Cacti” subtitle=”توضیحات کامل”]در Cacti، تنظیمات عمومی به شما این امکان را می‌دهد که پیکربندی کلی سیستم نظارت را بهینه‌سازی کنید. این تنظیمات شامل پیکربندی‌های پایه‌ای است که برای تنظیم عملکرد کلی، دسترسی‌ها، و ویژگی‌های اصلی مانند SNMP، ارسال هشدارها و زمان‌بندی وظایف مورد استفاده قرار می‌گیرند. در این بخش، با مهم‌ترین تنظیمات عمومی Cacti آشنا خواهید شد و نحوه انجام آن‌ها را به صورت گرافیکی و کامندی خواهید آموخت.


1. تنظیمات عمومی از طریق رابط کاربری

1.1. تنظیمات عمومی در بخش “Settings”

برای دسترسی به تنظیمات عمومی از رابط کاربری، مراحل زیر را دنبال کنید:

  1. وارد رابط کاربری Cacti شوید.
  2. در منوی اصلی، به بخش Settings بروید. این بخش شامل تنظیمات مختلفی از جمله تنظیمات عمومی، تنظیمات ایمیل، زمان‌بندی‌ها و غیره است.

در این قسمت، شما می‌توانید به تنظیمات عمومی Cacti دسترسی داشته باشید که شامل بخش‌های زیر است:

1.2. تنظیمات اصلی و عمومی (General Settings)

در این بخش، شما می‌توانید موارد مختلفی مانند نام سیستم، منطقه زمانی، و زبان پیش‌فرض را تنظیم کنید.

  1. System Name: نام سیستم یا سرور Cacti را وارد کنید.
  2. Time Zone: منطقه زمانی سیستم خود را تنظیم کنید.
  3. Language: زبان رابط کاربری را از بین گزینه‌های موجود انتخاب کنید.

برای تغییر تنظیمات، کافی است مقادیر را وارد کرده و سپس روی Save کلیک کنید.

1.3. تنظیمات زمان‌بندی (Scheduler Settings)

این بخش مربوط به تنظیمات مربوط به زمان‌بندی وظایف مختلف سیستم است، مانند زمان‌بندی جمع‌آوری داده‌ها و به‌روزرسانی گراف‌ها.

  1. برای تنظیم زمان‌بندی، وارد بخش Settings شوید.
  2. گزینه Scheduler Settings را انتخاب کنید.
  3. در این قسمت می‌توانید Polling Interval و Graph Update Interval را مشخص کنید. برای مثال:
    • Polling Interval: مدت زمانی که بین هر بار جمع‌آوری داده‌ها باید منتظر بمانید.
    • Graph Update Interval: زمان‌بندی به‌روزرسانی گراف‌ها.
1.4. تنظیمات امنیتی (Security Settings)

در این بخش، شما می‌توانید تنظیمات مربوط به امنیت، از جمله رمز عبور پیش‌فرض و دسترسی‌ها را پیکربندی کنید. این تنظیمات می‌توانند شامل موارد زیر باشند:

  1. Password Settings: طول و پیچیدگی رمز عبور مدیریت.
  2. User Access Control: تنظیمات دسترسی به بخش‌های مختلف سیستم بر اساس سطح دسترسی کاربران.
1.5. تنظیمات ایمیل (Email Settings)

این بخش برای پیکربندی قابلیت ارسال ایمیل در Cacti استفاده می‌شود. از طریق این تنظیمات می‌توانید ایمیل‌های هشدار را برای وضعیت‌های مختلف ارسال کنید. برای پیکربندی ایمیل:

  1. وارد Settings شوید.
  2. گزینه Email Settings را انتخاب کنید.
  3. تنظیمات ایمیل شامل اطلاعات سرور SMTP، ایمیل فرستنده، و تنظیمات دیگر مانند SSL و پورت هستند.

2. تنظیمات عمومی از طریق خط فرمان (CLI)

در صورتی که بخواهید تنظیمات عمومی را از طریق خط فرمان (CLI) انجام دهید، به طور معمول از ویرایش فایل‌های پیکربندی استفاده خواهید کرد. این روش برای کسانی که ترجیح می‌دهند از CLI به جای رابط کاربری گرافیکی استفاده کنند مناسب است.

2.1. ویرایش تنظیمات عمومی در فایل cacti.conf

یکی از فایل‌های اصلی پیکربندی در Cacti، فایل cacti.conf است که در مسیر زیر قرار دارد:

/etc/cacti/cacti.conf

برای ویرایش این فایل و تغییر تنظیمات عمومی، از ویرایشگر متن استفاده کنید:

sudo nano /etc/cacti/cacti.conf

در این فایل می‌توانید تنظیمات زیر را تغییر دهید:

  1. $config[‘base_url’]: این مقدار باید شامل URL پایه برای دسترسی به Cacti باشد.
  2. $config[‘database_type’]: نوع پایگاه داده‌ای که استفاده می‌شود (مثلاً MySQL یا MariaDB).
  3. $config[‘database_host’]: آدرس سرور پایگاه داده.
  4. $config[‘database_name’]: نام پایگاه داده Cacti.
2.2. تغییر تنظیمات زمان‌بندی (Polling Interval)

برای تغییر زمان‌بندی جمع‌آوری داده‌ها (Polling Interval)، شما می‌توانید به طور مستقیم پایگاه داده را ویرایش کنید. از دستور زیر برای تغییر تنظیمات Polling Interval استفاده کنید:

mysql -u root -p cacti

سپس وارد پایگاه داده Cacti شوید و جدول مربوط به تنظیمات زمان‌بندی را بروزرسانی کنید:

UPDATE settings SET value = '300' WHERE name = 'poller_interval';

در این دستور، 300 به معنی زمان‌بندی جمع‌آوری داده‌ها به مدت ۵ دقیقه است.

2.3. تنظیمات امنیتی (Password Length)

برای تنظیم طول رمز عبور حداقل از طریق پایگاه داده، می‌توانید از دستور زیر استفاده کنید:

UPDATE settings SET value = '12' WHERE name = 'min_password_length';

این دستور حداقل طول رمز عبور را به ۱۲ کاراکتر تنظیم می‌کند.

2.4. تغییر تنظیمات ایمیل

برای پیکربندی ایمیل‌ها از طریق پایگاه داده می‌توانید تنظیمات SMTP را از فایل پیکربندی تغییر دهید یا به صورت دستی از CLI تنظیم کنید. برای مثال، برای تغییر تنظیمات ایمیل، به فایل پیکربندی email.php در مسیر زیر بروید:

sudo nano /etc/cacti/email.php

در این فایل، مقادیر مربوط به سرور SMTP و پورت آن را ویرایش کنید:

$config['smtp_host'] = 'smtp.example.com';
$config['smtp_port'] = '587';
$config['smtp_user'] = 'your_email@example.com';
$config['smtp_password'] = 'your_password';

جمع‌بندی

تنظیمات عمومی در Cacti نقش مهمی در پیکربندی و بهینه‌سازی عملکرد کلی سیستم نظارتی دارند. این تنظیمات شامل تنظیمات مربوط به سیستم، امنیت، ایمیل و زمان‌بندی‌ها است. شما می‌توانید این تنظیمات را از طریق رابط کاربری گرافیکی و یا از طریق دستورات کامندی در CLI انجام دهید. به طور کلی، آشنایی با این تنظیمات به شما کمک می‌کند که Cacti را به شکلی کارآمدتر پیکربندی کنید و مطمئن شوید که سیستم شما عملکرد بهینه‌ای دارد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی پایگاه داده و فواصل Polling” subtitle=”توضیحات کامل”]در Cacti، پایگاه داده نقش بسیار مهمی در ذخیره‌سازی اطلاعات مانیتورینگ و وضعیت دستگاه‌های شبکه دارد. تنظیمات پایگاه داده شامل تنظیمات ارتباط با پایگاه داده، پیکربندی فواصل Polling، و زمان‌بندی به‌روزرسانی‌ها است. در این بخش، به توضیح نحوه پیکربندی پایگاه داده Cacti و تنظیمات مربوط به فواصل Polling خواهیم پرداخت.


1. پیکربندی پایگاه داده Cacti

برای پیکربندی پایگاه داده در Cacti، ابتدا نیاز به نصب و راه‌اندازی پایگاه داده (MySQL یا MariaDB) دارید. پس از نصب پایگاه داده، مراحل پیکربندی Cacti برای اتصال به آن را انجام می‌دهیم.

1.1. تنظیمات پایگاه داده در فایل پیکربندی Cacti

در Cacti، فایل پیکربندی اصلی برای اتصال به پایگاه داده cacti.conf.php است. این فایل در مسیر زیر قرار دارد:

/etc/cacti/cacti.conf.php

برای ویرایش این فایل از دستور زیر استفاده کنید:

sudo nano /etc/cacti/cacti.conf.php

در این فایل، شما باید مقادیر زیر را برای اتصال به پایگاه داده تنظیم کنید:

  1. $database_type: نوع پایگاه داده (MySQL یا MariaDB).

    برای مثال، اگر از MySQL استفاده می‌کنید، باید مقدار آن را به 'mysql' تغییر دهید.

    $config['database_type'] = 'mysql';
    
  2. $database_host: آدرس میزبان پایگاه داده. اگر پایگاه داده روی همان سرور است، مقدار آن باید 'localhost' باشد.
    $config['database_host'] = 'localhost';
    
  3. $database_name: نام پایگاه داده که Cacti برای ذخیره‌سازی داده‌ها از آن استفاده می‌کند. به طور پیش‌فرض این مقدار cacti است.
    $config['database_name'] = 'cacti';
    
  4. $database_user: نام کاربری برای دسترسی به پایگاه داده. برای مثال، معمولاً cactiuser است.
    $config['database_user'] = 'cactiuser';
    
  5. $database_password: رمز عبور برای کاربر پایگاه داده.
    $config['database_password'] = 'your_password';
    

پس از ویرایش فایل، تغییرات را ذخیره کرده و خارج شوید.

1.2. بررسی اتصال به پایگاه داده

برای اطمینان از اتصال صحیح Cacti به پایگاه داده، می‌توانید از دستور زیر برای تست اتصال به پایگاه داده استفاده کنید:

mysql -u cactiuser -p -h localhost cacti

اگر به درستی متصل شدید، می‌توانید به مرحله بعد بروید.


2. پیکربندی فواصل Polling

Polling یکی از ویژگی‌های کلیدی در Cacti است که به طور منظم داده‌ها را از دستگاه‌های شبکه جمع‌آوری می‌کند. برای پیکربندی فواصل Polling، شما نیاز دارید که مقادیر زمان‌بندی Polling را در Cacti تنظیم کنید.

2.1. تنظیم فواصل Polling در Cacti

فواصل Polling معمولاً در بخش “Poller Settings” در رابط کاربری Cacti تنظیم می‌شوند. با این حال، شما می‌توانید این تنظیمات را مستقیماً از طریق پایگاه داده یا فایل پیکربندی نیز تغییر دهید.

2.2. پیکربندی Polling Interval از طریق رابط کاربری

برای تنظیم فواصل Polling از طریق رابط کاربری Cacti، مراحل زیر را دنبال کنید:

  1. وارد رابط کاربری Cacti شوید.
  2. به منوی Settings بروید و گزینه Poller Settings را انتخاب کنید.
  3. در این صفحه، شما می‌توانید مقادیر مربوط به Polling Interval و Graph Update Interval را تنظیم کنید.

برای مثال، اگر می‌خواهید Polling Interval را به ۵ دقیقه تنظیم کنید، مقدار 300 (به ثانیه) را وارد کنید.

2.3. تنظیم فواصل Polling از طریق پایگاه داده

برای تغییر فواصل Polling از طریق پایگاه داده، ابتدا وارد MySQL شوید:

mysql -u root -p cacti

سپس، برای تغییر فواصل Polling، دستور زیر را اجرا کنید:

UPDATE settings SET value = '300' WHERE name = 'poller_interval';

در این دستور، 300 به معنی فواصل Polling به مدت ۵ دقیقه است. این مقدار را می‌توانید به هر مدت زمانی که مناسب است تغییر دهید.

2.4. تنظیم فواصل Polling در فایل poller.php

در برخی موارد، شما ممکن است نیاز داشته باشید که فواصل Polling را مستقیماً در فایل poller.php پیکربندی کنید. برای این کار، به مسیر زیر بروید:

sudo nano /usr/share/cacti/poller.php

در این فایل، می‌توانید متغیر $poller_interval را پیدا کرده و مقدار آن را تغییر دهید.

$poller_interval = 300;  // زمان به ثانیه برای Polling Interval

تغییرات را ذخیره کنید و از فایل خارج شوید.


3. بررسی وضعیت Polling

پس از تنظیم فواصل Polling، برای بررسی وضعیت آن می‌توانید از ابزارهای لاگ یا گزارشات Cacti استفاده کنید. Cacti گزارش‌هایی از وضعیت Polling را در بخش Polling History نمایش می‌دهد.

برای مشاهده وضعیت Polling و اینکه آیا داده‌ها به درستی جمع‌آوری می‌شوند، به منوی Monitoring در رابط کاربری بروید و گزینه Polling History را انتخاب کنید.


جمع‌بندی

پیکربندی پایگاه داده و فواصل Polling در Cacti برای بهینه‌سازی فرآیند جمع‌آوری داده‌ها و نمایش اطلاعات به کاربران بسیار حیاتی است. با پیکربندی صحیح این تنظیمات، می‌توانید عملکرد سیستم نظارت خود را بهبود بخشید و اطمینان حاصل کنید که داده‌های شبکه به‌طور منظم جمع‌آوری و به‌روزرسانی می‌شوند. تنظیمات پایگاه داده را می‌توان به راحتی از طریق رابط کاربری و یا از طریق تغییرات در فایل‌های پیکربندی و پایگاه داده انجام داد. همچنین، با استفاده از فواصل Polling مناسب، می‌توانید داده‌ها را در زمان‌های معقول جمع‌آوری کرده و فشار اضافی بر روی منابع سرور ایجاد نکنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”سفارشی‌سازی تنظیمات نمایش گراف‌ها” subtitle=”توضیحات کامل”]در Cacti، گراف‌ها ابزار اصلی برای نمایش و تجزیه و تحلیل داده‌های جمع‌آوری شده از دستگاه‌های شبکه هستند. سفارشی‌سازی گراف‌ها به شما این امکان را می‌دهد که نمایش داده‌ها را به شکلی متناسب با نیاز خود تغییر دهید و به اطلاعات مهم‌تر دسترسی پیدا کنید. در این بخش، به طور جامع به نحوه سفارشی‌سازی تنظیمات گراف‌ها پرداخته می‌شود و علاوه بر روش‌های گرافیکی، نحوه انجام این تنظیمات از طریق کامندها و پیکربندی‌های داخلی نیز آورده خواهد شد.


1. تغییر تنظیمات گراف‌ها از طریق رابط کاربری

Cacti رابط کاربری بسیار ساده‌ای برای سفارشی‌سازی گراف‌ها ارائه می‌دهد. در این قسمت، به توضیح نحوه سفارشی‌سازی گراف‌ها از طریق بخش‌های مختلف رابط کاربری خواهیم پرداخت.

1.1. تنظیمات اندازه و نوع گراف‌ها

برای تغییر تنظیمات گراف‌ها در Cacti، ابتدا وارد بخش Graph Management شوید:

  1. وارد رابط کاربری Cacti شوید.
  2. به منوی Graph Management بروید و روی Manage کلیک کنید.
  3. در این بخش، شما می‌توانید گراف‌های ایجاد شده را مشاهده کرده و برای هر کدام تنظیمات دلخواه را اعمال کنید.
1.2. انتخاب نوع گراف

Cacti از انواع مختلف گراف‌ها پشتیبانی می‌کند که شما می‌توانید با توجه به نیاز خود از آن‌ها استفاده کنید. به طور پیش‌فرض، Cacti انواع گراف‌های Line, Area, Stacked و Bar را پشتیبانی می‌کند.

برای تغییر نوع گراف، ابتدا باید گراف مورد نظر خود را انتخاب کرده و سپس به قسمت تنظیمات Graph Template بروید.

برای تغییر نوع گراف در قالب‌های گراف (Graph Templates):

  1. به منوی Console بروید.
  2. گزینه Graph Templates را انتخاب کنید.
  3. نوع گراف را از بخش Graph Type انتخاب کنید و تغییرات مورد نظر خود را اعمال کنید.
1.3. تغییر مقیاس و برچسب‌ها

برای تغییر مقیاس (Scale) یا برچسب‌ها (Labels) در گراف‌ها، شما می‌توانید از تنظیمات زیر استفاده کنید:

  1. وارد صفحه Manage Graphs شوید.
  2. گراف مورد نظر را انتخاب کنید و سپس روی Edit کلیک کنید.
  3. در بخش Graph Options, شما می‌توانید مقیاس‌ها و تنظیمات مربوط به نمایش برچسب‌ها را تنظیم کنید.

برای مثال، برای تغییر مقیاس به مقیاس لگاریتمی، در بخش Graph Options، گزینه Logarithmic scale را فعال کنید.

1.4. تغییر رنگ‌ها و استایل‌ها

در بخش Graph Template، شما می‌توانید رنگ‌ها و استایل‌های گراف‌ها را به دلخواه خود تغییر دهید. برای این کار، مراحل زیر را دنبال کنید:

  1. در Graph Management، گراف مورد نظر خود را انتخاب کنید.
  2. گزینه Edit را کلیک کنید.
  3. در بخش Graph Style می‌توانید رنگ‌ها و استایل‌های مختلف را انتخاب کنید.

2. تنظیمات گراف‌ها از طریق فایل‌های پیکربندی

در کنار تنظیمات گرافیکی، Cacti به شما امکان می‌دهد که تنظیمات گراف‌ها را از طریق ویرایش فایل‌های پیکربندی نیز تغییر دهید. این روش به شما این امکان را می‌دهد که تنظیمات بیشتری را اعمال کنید.

2.1. ویرایش فایل Graph Template

یکی از راه‌های سفارشی‌سازی گراف‌ها، ویرایش فایل‌های قالب گراف است. این فایل‌ها معمولاً در مسیر زیر قرار دارند:

/usr/share/cacti/site/plugins/graph_templates/

برای ویرایش این فایل‌ها و اعمال تغییرات، از دستور زیر استفاده کنید:

sudo nano /usr/share/cacti/site/plugins/graph_templates/<graph_template_file>.xml

در این فایل‌ها، شما می‌توانید تنظیمات مختلف گراف‌ها از جمله نوع گراف، مقیاس‌ها و رنگ‌ها را تغییر دهید.

2.2. تنظیمات نمایش در فایل config.php

برای تنظیمات عمومی گراف‌ها مانند تعداد نمایش گراف‌ها در صفحه، شما می‌توانید فایل config.php را ویرایش کنید که معمولاً در مسیر زیر قرار دارد:

sudo nano /etc/cacti/config.php

در این فایل، شما می‌توانید مقادیر مختلف مربوط به گراف‌ها را تنظیم کنید. به عنوان مثال، برای تغییر تعداد گراف‌ها در صفحه، از کد زیر استفاده کنید:

$config['graphs_per_page'] = 10;  // تغییر به 10 گراف در هر صفحه

پس از انجام تغییرات، فایل را ذخیره کنید.


3. پیکربندی گراف‌ها از طریق CLI

در کنار رابط کاربری و ویرایش دستی فایل‌ها، شما می‌توانید گراف‌ها را از طریق خط فرمان (CLI) نیز پیکربندی کنید. این روش به‌ویژه در سرورهایی که رابط گرافیکی ندارند، کاربرد دارد.

3.1. استفاده از Cacti CLI برای ایجاد گراف

Cacti ابزارهای CLI برای ایجاد و مدیریت گراف‌ها دارد که می‌توانید از آن‌ها استفاده کنید. برای مثال، برای ایجاد یک گراف جدید از دستور زیر استفاده کنید:

/usr/bin/php /usr/share/cacti/poller.php

این دستور فرآیند جمع‌آوری داده‌ها و به‌روزرسانی گراف‌ها را آغاز می‌کند.

3.2. تغییر تنظیمات گراف از طریق پایگاه داده

برای اعمال تغییرات در گراف‌ها از طریق پایگاه داده، ابتدا وارد پایگاه داده Cacti شوید:

mysql -u root -p cacti

سپس برای تغییر مشخصات گراف‌ها مانند نوع یا رنگ آن‌ها، می‌توانید از دستورات SQL استفاده کنید. به عنوان مثال، برای تغییر رنگ گراف‌ها، از دستور زیر استفاده کنید:

UPDATE graph_templates_graph SET color = 'FF0000' WHERE graph_template_id = 1;

در این مثال، رنگ گراف با شناسه graph_template_id برابر با 1 به رنگ قرمز (کد رنگ FF0000) تغییر می‌کند.


جمع‌بندی

سفارشی‌سازی گراف‌ها در Cacti می‌تواند به شما کمک کند تا اطلاعات مورد نیاز خود را به روشی کارآمد و مناسب مشاهده کنید. شما می‌توانید گراف‌ها را از طریق رابط کاربری، ویرایش فایل‌های پیکربندی یا حتی از طریق خط فرمان تنظیم کنید. تنظیمات شامل تغییر نوع گراف‌ها، مقیاس‌ها، رنگ‌ها و نمایش برچسب‌ها هستند که به شما این امکان را می‌دهند تا گراف‌ها را متناسب با نیازهای خود تغییر دهید. استفاده از روش‌های مختلف برای پیکربندی گراف‌ها به شما این امکان را می‌دهد که کنترل کاملی بر روی نمایش داده‌ها داشته باشید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. منوی Reports”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تولید گزارش‌های سفارشی ” subtitle=”توضیحات کامل”]Cacti به کاربران این امکان را می‌دهد که گزارش‌های سفارشی برای تحلیل و نمایش داده‌ها تولید کنند. این گزارش‌ها می‌توانند شامل اطلاعات مربوط به عملکرد شبکه، وضعیت دستگاه‌ها، یا داده‌های خاصی باشند که شما نیاز دارید. در این بخش، روش‌های تولید گزارش‌های سفارشی به‌طور جامع و کاربردی، همراه با دستورات و پیکربندی‌های لازم بررسی خواهد شد.


1. استفاده از ماژول‌های گزارش‌گیری در Cacti

Cacti به صورت پیش‌فرض ابزارهای گزارش‌گیری ساده‌ای را فراهم می‌کند، اما برای سفارشی‌سازی دقیق‌تر، شما می‌توانید از ماژول‌های اضافی استفاده کنید. یکی از این ماژول‌ها Cacti Report Plugin است که به شما این امکان را می‌دهد که گزارش‌های کاملاً سفارشی ایجاد کنید.

1.1. نصب و فعال‌سازی ماژول Cacti Report Plugin

برای نصب و فعال‌سازی ماژول گزارش‌گیری، ابتدا باید آن را از سایت رسمی Cacti دانلود و نصب کنید. پس از دانلود ماژول، آن را در مسیر plugins نصب کنید:

  1. از طریق خط فرمان وارد سرور خود شوید.
  2. وارد دایرکتوری plugins Cacti شوید:
cd /usr/share/cacti/site/plugins
  1. فایل ماژول را دانلود کنید:
wget https://github.com/Cacti/plugin-reports/archive/refs/heads/master.zip
  1. فایل را استخراج کنید:
unzip master.zip
  1. سپس وارد دایرکتوری نصب ماژول شوید:
cd plugin-reports-master
  1. ماژول را نصب کنید:
php -q install.php
  1. پس از نصب، وارد رابط کاربری Cacti شوید و به منوی Console بروید. سپس به بخش Plugins بروید و Cacti Report Plugin را فعال کنید.
1.2. تنظیمات اولیه برای تولید گزارش‌های سفارشی

برای ایجاد گزارش سفارشی با استفاده از این ماژول، مراحل زیر را دنبال کنید:

  1. از منوی Reports در Cacti، گزینه New Report را انتخاب کنید.
  2. نام گزارش خود را وارد کنید و نوع داده‌ای که می‌خواهید در گزارش نمایش داده شود را انتخاب کنید.
  3. در بخش Template، قالب گزارش را انتخاب کنید (برای مثال، Graph Template یا Device Template).
  4. پس از انتخاب قالب، تنظیمات نمایش داده‌ها مانند انتخاب گراف‌ها و دستگاه‌ها را اعمال کنید.
  5. در پایان، گزارش را ذخیره کرده و می‌توانید آن را مشاهده کنید.

2. تولید گزارش‌های سفارشی بدون استفاده از ماژول‌های اضافی

اگر نمی‌خواهید از ماژول‌های اضافی استفاده کنید، می‌توانید گزارش‌های سفارشی خود را از طریق پایگاه داده یا اسکریپت‌های سفارشی بسازید. این کار نیاز به دانش SQL و نحوه کار با پایگاه داده Cacti دارد.

2.1. ایجاد گزارش از طریق پایگاه داده Cacti

در ابتدا باید وارد پایگاه داده Cacti شوید:

mysql -u root -p cacti

پس از ورود به پایگاه داده، شما می‌توانید از دستورات SQL برای استخراج داده‌ها و ساخت گزارش استفاده کنید. به عنوان مثال، برای دریافت گزارشی از وضعیت گراف‌ها و دستگاه‌های مانیتور شده، می‌توانید از دستور زیر استفاده کنید:

SELECT g.graph_template_id, g.title, d.hostname, g.create_time
FROM graph_templates_graph g
JOIN device d ON g.device_id = d.device_id
WHERE g.create_time > NOW() - INTERVAL 1 WEEK;

این دستور گزارشی از دستگاه‌ها و گراف‌هایی که در هفته گذشته ایجاد شده‌اند را به شما نشان می‌دهد. شما می‌توانید گزارش‌های خود را با فیلترها و شرایط مختلف سفارشی‌سازی کنید.

2.2. ارسال گزارش‌ها به صورت ایمیل

اگر می‌خواهید گزارش‌های خود را به صورت اتوماتیک از طریق ایمیل دریافت کنید، می‌توانید از اسکریپت‌های PHP استفاده کنید تا داده‌های استخراج شده را به صورت ایمیل ارسال کنید.

برای این کار، ابتدا اسکریپت PHP برای استخراج داده‌ها و ارسال آن به ایمیل ایجاد کنید:

<?php
$to = 'youremail@example.com';
$subject = 'Weekly Cacti Report';
$message = "Here is the weekly report:\n";

// ایجاد اتصال به پایگاه داده
$mysqli = new mysqli("localhost", "root", "password", "cacti");

// بررسی اتصال
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// اجرای query برای گزارش
$query = "SELECT g.graph_template_id, g.title, d.hostname, g.create_time
          FROM graph_templates_graph g
          JOIN device d ON g.device_id = d.device_id
          WHERE g.create_time > NOW() - INTERVAL 1 WEEK";
$result = $mysqli->query($query);

// جمع‌آوری نتایج
while($row = $result->fetch_assoc()) {
    $message .= "Graph: " . $row['title'] . " | Device: " . $row['hostname'] . " | Created: " . $row['create_time'] . "\n";
}

// ارسال ایمیل
mail($to, $subject, $message);

// بستن اتصال
$mysqli->close();
?>

پس از ایجاد اسکریپت، شما می‌توانید از Cron برای اجرای منظم اسکریپت و ارسال گزارش‌ها استفاده کنید.


3. استفاده از اسکریپت‌های CLI برای گزارش‌های سفارشی

Cacti همچنین از CLI (خط فرمان) برای اجرای وظایف مختلف پشتیبانی می‌کند. اگر نیاز به اجرای گزارش‌ها به صورت دستی یا اتوماتیک دارید، می‌توانید از دستورات زیر برای تولید گزارش استفاده کنید.

3.1. استفاده از Cacti Poller برای تولید گزارش

برای استخراج داده‌ها از پایگاه داده و تولید گزارش از طریق CLI، می‌توانید از اسکریپت‌های poller استفاده کنید:

/usr/bin/php /usr/share/cacti/poller.php

این دستور داده‌ها را جمع‌آوری کرده و سپس می‌توانید با استفاده از SQL یا اسکریپت‌های سفارشی، گزارشی ایجاد کنید.


جمع‌بندی

در Cacti، شما می‌توانید گزارش‌های سفارشی را از طریق ماژول‌های اضافی، پایگاه داده، یا حتی اسکریپت‌های PHP و CLI ایجاد کنید. ماژول Cacti Report Plugin یکی از راه‌های سریع برای تولید گزارش‌ها است که به شما این امکان را می‌دهد که قالب‌های مختلف گزارش را انتخاب کنید. در کنار آن، می‌توانید گزارش‌های سفارشی خود را از طریق پایگاه داده SQL یا با استفاده از اسکریپت‌های سفارشی PHP تولید و به‌طور خودکار ارسال کنید. استفاده از CLI برای اجرای اسکریپت‌ها و جمع‌آوری داده‌ها نیز یک روش مفید برای کار با گزارش‌های سفارشی در Cacti است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده تاریخچه گزارش‌ها ” subtitle=”توضیحات کامل”]در Cacti، علاوه بر تولید گزارش‌های سفارشی، می‌توانید تاریخچه گزارش‌ها را برای بررسی نتایج گذشته مشاهده کنید. تاریخچه گزارش‌ها می‌تواند به شما کمک کند تا روند تغییرات در وضعیت شبکه و دستگاه‌ها را مشاهده کنید و عملکرد شبکه را در بازه‌های زمانی مختلف تحلیل نمایید. در این بخش، نحوه مشاهده تاریخچه گزارش‌ها، همراه با دستورات و پیکربندی‌های لازم توضیح داده خواهد شد.


1. استفاده از رابط کاربری برای مشاهده تاریخچه گزارش‌ها

در Cacti، تاریخچه گزارش‌ها از طریق رابط کاربری قابل دسترسی است. برای مشاهده تاریخچه گزارش‌ها، ابتدا وارد بخش گزارش‌ها شوید و سپس گزینه تاریخچه را انتخاب کنید. این فرآیند به شما این امکان را می‌دهد که گزارش‌های قدیمی را بررسی کرده و مشاهده کنید که چگونه وضعیت شبکه در طول زمان تغییر کرده است.

1.1. دسترسی به تاریخچه گزارش‌ها از طریق رابط کاربری

برای مشاهده تاریخچه گزارش‌ها، مراحل زیر را دنبال کنید:

  1. وارد رابط کاربری Cacti شوید.
  2. از منوی اصلی، به بخش Reports بروید.
  3. در زیر منوی Reports, گزینه History را انتخاب کنید.
  4. در این صفحه، تاریخچه تمامی گزارش‌های ایجاد شده نمایش داده می‌شود.
  5. شما می‌توانید گزارش‌ها را بر اساس تاریخ یا دسته‌بندی خاص فیلتر کنید.

2. استفاده از پایگاه داده برای مشاهده تاریخچه گزارش‌ها

برای مشاهده تاریخچه گزارش‌ها از طریق پایگاه داده، باید از دستورات SQL استفاده کنید. این کار به شما این امکان را می‌دهد که تاریخچه گزارش‌ها را در پایگاه داده Cacti جستجو کنید و گزارش‌ها را براساس تاریخ و زمان فیلتر کنید.

2.1. دستورات SQL برای مشاهده تاریخچه گزارش‌ها

برای مشاهده تاریخچه گزارش‌ها، ابتدا وارد پایگاه داده Cacti شوید:

mysql -u root -p cacti

سپس، می‌توانید از دستور SQL زیر برای مشاهده تاریخچه گزارش‌ها استفاده کنید. این دستور گزارشی از تمامی تاریخچه‌های تولید شده را بر اساس تاریخ نمایش می‌دهد:

SELECT r.report_id, r.report_name, r.create_time, r.last_run
FROM report_history r
ORDER BY r.last_run DESC;

این دستور، گزارش‌هایی را که قبلاً اجرا شده‌اند و تاریخ و زمان آخرین اجرای آن‌ها را نمایش می‌دهد.

2.2. فیلتر کردن تاریخچه گزارش‌ها براساس تاریخ یا دستگاه

برای فیلتر کردن تاریخچه گزارش‌ها بر اساس تاریخ خاص یا دستگاه‌های خاص، می‌توانید شرایط مورد نظر خود را به دستور SQL اضافه کنید. به عنوان مثال، برای مشاهده گزارش‌هایی که در هفته گذشته اجرا شده‌اند، از دستور زیر استفاده کنید:

SELECT r.report_id, r.report_name, r.create_time, r.last_run
FROM report_history r
WHERE r.last_run > NOW() - INTERVAL 1 WEEK
ORDER BY r.last_run DESC;

همچنین می‌توانید تاریخچه گزارش‌ها را بر اساس دستگاه‌های خاص فیلتر کنید. به عنوان مثال، برای نمایش تاریخچه گزارش‌ها مربوط به یک دستگاه خاص، دستور زیر را استفاده کنید:

SELECT r.report_id, r.report_name, r.create_time, r.last_run
FROM report_history r
JOIN devices d ON r.device_id = d.device_id
WHERE d.hostname = 'your_device_name'
ORDER BY r.last_run DESC;

3. مشاهده تاریخچه گزارش‌ها با استفاده از CLI

برای مشاهده تاریخچه گزارش‌ها از طریق خط فرمان (CLI)، شما می‌توانید از اسکریپت‌های PHP یا دستورات SQL استفاده کنید تا گزارش‌های قدیمی را استخراج کنید.

3.1. استفاده از اسکریپت PHP برای مشاهده تاریخچه

اگر می‌خواهید تاریخچه گزارش‌ها را از طریق PHP بررسی کنید، می‌توانید از اسکریپت زیر استفاده کنید که از پایگاه داده Cacti اطلاعات تاریخچه گزارش‌ها را بازیابی کرده و به شما نمایش دهد:

<?php
$mysqli = new mysqli("localhost", "root", "password", "cacti");

// بررسی اتصال
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// اجرای query برای تاریخچه گزارش‌ها
$query = "SELECT r.report_id, r.report_name, r.create_time, r.last_run
          FROM report_history r
          ORDER BY r.last_run DESC";
$result = $mysqli->query($query);

// نمایش نتایج
echo "Report History:\n";
while ($row = $result->fetch_assoc()) {
    echo "Report Name: " . $row['report_name'] . " | Last Run: " . $row['last_run'] . "\n";
}

// بستن اتصال
$mysqli->close();
?>
3.2. استفاده از CLI برای مشاهده تاریخچه گزارش‌ها

در صورتی که از CLI استفاده می‌کنید، می‌توانید از دستورات SQL مستقیم برای استخراج تاریخچه گزارش‌ها استفاده کنید. برای این کار، دستور زیر را اجرا کنید:

mysql -u root -p cacti -e "SELECT r.report_id, r.report_name, r.create_time, r.last_run FROM report_history r ORDER BY r.last_run DESC"

این دستور تاریخچه تمامی گزارش‌ها را از پایگاه داده استخراج کرده و در CLI نمایش می‌دهد.


4. فیلتر تاریخچه گزارش‌ها بر اساس بازه زمانی

گاهی اوقات ممکن است بخواهید تاریخچه گزارش‌ها را برای بازه زمانی خاصی مشاهده کنید. در این صورت، می‌توانید از فیلترهای تاریخ در دستورات SQL استفاده کنید تا گزارشی خاص بر اساس تاریخ استخراج کنید.

4.1. فیلتر کردن تاریخچه گزارش‌ها برای یک ماه گذشته

برای مشاهده تاریخچه گزارش‌ها در یک ماه گذشته، از دستور زیر استفاده کنید:

SELECT r.report_id, r.report_name, r.create_time, r.last_run
FROM report_history r
WHERE r.last_run > NOW() - INTERVAL 1 MONTH
ORDER BY r.last_run DESC;
4.2. فیلتر کردن تاریخچه گزارش‌ها برای یک تاریخ خاص

اگر به دنبال تاریخچه گزارش‌ها در یک تاریخ خاص هستید، می‌توانید از دستور زیر استفاده کنید:

SELECT r.report_id, r.report_name, r.create_time, r.last_run
FROM report_history r
WHERE DATE(r.last_run) = '2025-02-01'
ORDER BY r.last_run DESC;

این دستور تنها گزارش‌هایی را نمایش می‌دهد که در تاریخ 1 فوریه 2025 اجرا شده‌اند.


جمع‌بندی

در Cacti، مشاهده تاریخچه گزارش‌ها یکی از قابلیت‌های مهم است که به شما این امکان را می‌دهد تا عملکرد شبکه و دستگاه‌ها را در طول زمان بررسی کنید. این کار می‌تواند از طریق رابط کاربری، پایگاه داده یا از طریق CLI انجام شود. همچنین، شما می‌توانید تاریخچه گزارش‌ها را بر اساس تاریخ خاص یا دستگاه فیلتر کرده و نتایج دقیق‌تری دریافت کنید. استفاده از دستورات SQL برای استخراج تاریخچه گزارش‌ها از پایگاه داده یکی از موثرترین روش‌ها است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم و دانلود گزارش‌ها ” subtitle=”توضیحات کامل”]در Cacti، قابلیت تنظیم و دانلود گزارش‌ها یکی از امکانات کلیدی است که به کاربران این امکان را می‌دهد تا وضعیت شبکه، دستگاه‌ها و دیگر منابع موجود را به‌طور دوره‌ای ثبت و ذخیره کنند. این گزارش‌ها می‌توانند برای ارزیابی عملکرد شبکه، تجزیه و تحلیل داده‌ها یا مستندسازی وضعیت سیستم استفاده شوند. در این بخش، نحوه تنظیم و دانلود گزارش‌ها در Cacti با استفاده از رابط کاربری و دستورات مختلف توضیح داده خواهد شد.


1. تنظیم گزارش‌ها در Cacti

برای تولید و تنظیم گزارش‌ها، ابتدا باید ماژول گزارش‌دهی Cacti را تنظیم کنید. Cacti به شما این امکان را می‌دهد که گزارش‌ها را بر اساس داده‌های جمع‌آوری شده از دستگاه‌ها و گراف‌ها تولید کنید.

1.1. پیکربندی گزارش‌ها از طریق رابط کاربری
  1. وارد رابط کاربری Cacti شوید.
  2. از منوی اصلی، به بخش Reports بروید.
  3. در این بخش، گزینه Create New Report را انتخاب کنید.
  4. فرم گزارش جدید را پر کنید:
    • Report Name: نام گزارش جدید خود را وارد کنید.
    • Report Description: توضیحی در مورد گزارش وارد کنید.
    • Data Sources: انتخاب کنید که کدام داده‌ها یا گراف‌ها در گزارش شما وارد شوند.
    • Time Period: تنظیم کنید که گزارش برای چه بازه زمانی ایجاد شود.
  5. پس از وارد کردن اطلاعات، روی Create کلیک کنید.

این تنظیمات باعث می‌شود که گزارش شما به‌طور خودکار بر اساس داده‌ها و زمان تعیین‌شده تولید شود.

1.2. تنظیم نوع گزارش‌ها

Cacti به شما اجازه می‌دهد که انواع مختلف گزارش‌ها را تنظیم کنید. این گزارش‌ها می‌توانند شامل گراف‌ها، آمار دستگاه‌ها، وضعیت سیستم و دیگر موارد مرتبط باشند.

برای تنظیم گزارش‌ها با انواع مختلف محتوا:

  1. هنگام ایجاد گزارش جدید، در قسمت Report Type یکی از گزینه‌ها مانند Graph, Device Status, یا System Overview را انتخاب کنید.
  2. تنظیمات اضافی را وارد کنید (مثلاً برای گراف‌ها، می‌توانید گراف‌های خاصی را برای گنجاندن در گزارش انتخاب کنید).
  3. پس از تنظیمات، گزارش خود را ایجاد کنید.

2. دانلود گزارش‌ها از Cacti

پس از تنظیم و ایجاد گزارش، می‌توانید گزارش‌ها را به‌صورت فایل دانلود کرده و آن‌ها را ذخیره کنید یا برای استفاده‌های بعدی ارسال کنید.

2.1. دانلود گزارش از رابط کاربری
  1. وارد رابط کاربری Cacti شوید.
  2. به بخش Reports بروید.
  3. در لیست گزارش‌ها، گزارشی که می‌خواهید دانلود کنید را پیدا کنید.
  4. روی نام گزارش کلیک کرده تا وارد صفحه جزئیات آن شوید.
  5. در صفحه جزئیات، معمولاً یک گزینه Download یا Export برای دانلود گزارش وجود دارد. این گزینه ممکن است به فرمت‌های مختلف مانند PDF, CSV, یا PNG موجود باشد.
  6. فرمت مورد نظر خود را انتخاب کرده و گزارش را دانلود کنید.
2.2. دانلود گزارش‌ها از طریق خط فرمان (CLI)

در صورتی که بخواهید از خط فرمان برای دانلود گزارش‌ها استفاده کنید، می‌توانید از اسکریپت‌های PHP که با Cacti همراه است، کمک بگیرید. برای این کار، ابتدا باید اسکریپت مربوط به گزارش‌های تولید شده را پیدا کنید و سپس آن را اجرا کنید تا گزارشی به‌صورت خودکار دانلود شود.

  1. برای شروع، به پوشه اصلی Cacti بروید:
cd /usr/share/cacti/
  1. اسکریپت مربوط به گزارش‌دهی را پیدا کنید. به‌طور معمول، اسکریپت‌ها در پوشه reporting قرار دارند:
cd reporting
  1. اسکریپت PHP گزارش را اجرا کنید. به‌عنوان مثال، برای دانلود گزارش به‌صورت PDF، دستور زیر را اجرا کنید:
php generate_report.php --report-id=1 --format=pdf

در اینجا، --report-id=1 شناسه گزارش مورد نظر شما است و --format=pdf فرمت گزارش را مشخص می‌کند. شما می‌توانید فرمت‌های مختلف مانند CSV، PNG، یا HTML را نیز انتخاب کنید.


3. تنظیم فواصل زمان‌بندی برای دانلود گزارش‌ها

گاهی اوقات ممکن است بخواهید گزارش‌ها به‌طور خودکار در فواصل زمانی خاصی تولید و دانلود شوند. برای این کار، می‌توانید از ابزارهایی مانند Cron jobs استفاده کنید تا فرآیند تولید گزارش‌ها را خودکار کنید.

3.1. پیکربندی Cron job برای دانلود خودکار گزارش‌ها

برای تنظیم یک Cron job جهت دانلود خودکار گزارش‌ها از Cacti، مراحل زیر را دنبال کنید:

  1. ابتدا با استفاده از دستور زیر فایل cron را ویرایش کنید:
crontab -e
  1. سپس، یک خط جدید اضافه کنید تا گزارش‌ها را در بازه‌های زمانی مشخص دانلود کنید. به‌عنوان مثال، برای دانلود گزارش به‌صورت روزانه در ساعت 3 صبح:
0 3 * * * /usr/bin/php /usr/share/cacti/reporting/generate_report.php --report-id=1 --format=pdf

در اینجا، 0 3 * * * زمان‌بندی اجرای اسکریپت را تعیین می‌کند (ساعت 3 صبح هر روز). این Cron job به‌طور خودکار گزارش‌ها را دانلود و ذخیره می‌کند.


جمع‌بندی

تنظیم و دانلود گزارش‌ها در Cacti یک فرآیند ساده اما کاربردی است که به شما کمک می‌کند تا وضعیت شبکه و دستگاه‌ها را در طول زمان پیگیری کنید. از طریق رابط کاربری می‌توانید گزارش‌ها را تنظیم کرده و آن‌ها را به فرمت‌های مختلف دانلود کنید. همچنین، می‌توانید از CLI برای استخراج و دانلود گزارش‌ها استفاده کنید. برای خودکارسازی فرآیند دانلود گزارش‌ها، می‌توانید از Cron job بهره‌برداری کنید. این قابلیت‌ها به شما امکان می‌دهد تا گزارشی دقیق و زمان‌بندی‌شده از وضعیت شبکه و عملکرد دستگاه‌های خود داشته باشید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. مدیریت کاربران (User Management)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد و مدیریت حساب‌های کاربری ” subtitle=”توضیحات کامل”]Cacti یک سیستم مانیتورینگ است که به شما این امکان را می‌دهد تا دسترسی‌های مختلفی را برای کاربران تعریف کنید. ایجاد و مدیریت حساب‌های کاربری یکی از بخش‌های حیاتی در پیکربندی Cacti است، زیرا این امر به شما این امکان را می‌دهد که تعیین کنید کدام کاربران می‌توانند داده‌ها را مشاهده کنند و چه فعالیت‌هایی مجاز است. در این بخش، هم به روش گرافیکی و هم به صورت کامندی تنظیمات مربوط به حساب‌های کاربری را توضیح می‌دهیم.

1. ایجاد یک حساب کاربری جدید (از طریق رابط گرافیکی)

  1. ابتدا وارد رابط کاربری Cacti شوید. برای این کار مرورگر وب خود را باز کنید و به آدرس http://your_cacti_server/cacti بروید.
  2. با وارد کردن نام کاربری و رمز عبور به داشبورد Cacti وارد شوید.
  3. از منوی بالایی User Management را انتخاب کنید.
  4. در صفحه بعدی، بر روی دکمه Add کلیک کنید تا حساب کاربری جدیدی ایجاد کنید.
  5. فرم ایجاد حساب کاربری را پر کنید. فیلدهای مورد نیاز عبارتند از:
    • Username: نام کاربری مورد نظر
    • Password: رمز عبور
    • Full Name: نام کامل
    • Email: ایمیل
    • Role: تعیین نقش کاربر (Admin, User, etc.)
  6. پس از وارد کردن اطلاعات، بر روی Save کلیک کنید تا حساب کاربری جدید ایجاد شود.

2. ایجاد حساب کاربری از طریق کامند لاین (دستوری)

اگر می‌خواهید حساب کاربری را از طریق کامند لاین ایجاد کنید، می‌توانید از SQL برای وارد کردن کاربر به پایگاه داده Cacti استفاده کنید. ابتدا به پایگاه داده Cacti متصل شوید:

mysql -u root -p cacti

پس از وارد شدن به پایگاه داده، از دستور زیر برای ایجاد حساب کاربری جدید استفاده کنید:

INSERT INTO user_authentication (username, password, active) VALUES ('new_user', MD5('password123'), '1');
INSERT INTO user_settings (user_id, username) VALUES (LAST_INSERT_ID(), 'new_user');

در اینجا:

  • new_user: نام کاربری جدید.
  • password123: رمز عبور جدید (توجه کنید که رمز عبور باید با MD5 هش شود).
  • 1: فعال بودن حساب کاربری.

3. ویرایش اطلاعات حساب کاربری

برای ویرایش حساب کاربری در رابط گرافیکی:

  1. به بخش User Management بروید.
  2. کاربری که می‌خواهید ویرایش کنید را از لیست انتخاب کنید.
  3. پس از انتخاب کاربر، بر روی Edit کلیک کنید.
  4. تغییرات مورد نظر (مثل تغییر رمز عبور، ایمیل، نقش کاربر) را اعمال کنید.
  5. در نهایت، بر روی Save کلیک کنید تا تغییرات ذخیره شوند.

برای ویرایش از طریق کامند لاین، می‌توانید از دستورات SQL مشابه زیر استفاده کنید:

UPDATE user_authentication SET password = MD5('new_password') WHERE username = 'new_user';

4. حذف حساب کاربری

برای حذف یک حساب کاربری از طریق رابط گرافیکی:

  1. به User Management بروید.
  2. کاربری که می‌خواهید حذف کنید را انتخاب کنید.
  3. روی Delete کلیک کنید و در پنجره تایید، بر روی OK کلیک کنید تا حساب کاربری حذف شود.

برای حذف حساب کاربری از طریق کامند لاین، از دستور SQL زیر استفاده کنید:

DELETE FROM user_authentication WHERE username = 'new_user';
DELETE FROM user_settings WHERE username = 'new_user';

5. مدیریت نقش‌های کاربری

Cacti به شما این امکان را می‌دهد که نقش‌های مختلفی برای کاربران تعیین کنید. این نقش‌ها می‌توانند شامل دسترسی‌های مختلف برای مشاهده گراف‌ها، تنظیمات و ایجاد تغییرات در دستگاه‌ها باشند.

برای مدیریت نقش‌ها در Cacti از رابط گرافیکی:

  1. به User Management بروید.
  2. کاربر مورد نظر را انتخاب کنید.
  3. در فیلد Role، نقش جدید کاربر را انتخاب کنید.
  4. بر روی Save کلیک کنید.

برای تغییر نقش کاربر از طریق کامند لاین، ابتدا باید ID کاربر را پیدا کنید و سپس از دستور زیر برای تغییر نقش استفاده کنید:

UPDATE user_authentication SET role_id = 2 WHERE username = 'new_user';

در اینجا، 2 معرف شناسه نقش (Role ID) است. برای تعیین این که هر نقش به چه چیزی اشاره دارد، باید نقش‌ها را در جدول user_roles بررسی کنید.

6. فعال‌سازی یا غیرفعال‌سازی حساب‌های کاربری

برای غیرفعال کردن حساب کاربری از طریق رابط گرافیکی:

  1. به User Management بروید.
  2. کاربر مورد نظر را انتخاب کنید.
  3. در بخش Active, وضعیت کاربر را به “Inactive” تغییر دهید.
  4. سپس بر روی Save کلیک کنید.

برای غیرفعال کردن کاربر از طریق کامند لاین، از دستور SQL زیر استفاده کنید:

UPDATE user_authentication SET active = 0 WHERE username = 'new_user';

جمع‌بندی

ایجاد و مدیریت حساب‌های کاربری در Cacti امری حیاتی است، زیرا این سیستم به شما این امکان را می‌دهد تا دسترسی‌های مختلفی به کاربران اختصاص دهید و تعیین کنید که هر کاربر چه دسترسی‌هایی به اطلاعات و تنظیمات Cacti داشته باشد. علاوه بر روش گرافیکی برای انجام این کار، امکان انجام تمام این تنظیمات از طریق کامند لاین نیز وجود دارد که به شما این انعطاف را می‌دهد که بتوانید به‌طور خودکار یا به‌صورت اسکریپت‌شده این کارها را انجام دهید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعریف نقش‌ها و دسترسی‌های کاربران ” subtitle=”توضیحات کامل”]Cacti از سیستم نقش‌بندی برای مدیریت دسترسی‌ها و مجوزهای کاربران استفاده می‌کند. این نقش‌ها به مدیران این امکان را می‌دهند که دسترسی‌های خاصی را به کاربران مختلف اختصاص دهند. به عبارت دیگر، هر کاربر می‌تواند بر اساس نقش خود از مجموعه‌ای از ویژگی‌ها و قابلیت‌های Cacti دسترسی داشته باشد یا نداشته باشد. در این بخش، نحوه تعریف نقش‌ها و تنظیم دسترسی‌های کاربران در Cacti را به‌صورت گرافیکی و از طریق کامند لاین بررسی خواهیم کرد.

1. تعریف نقش‌ها از طریق رابط گرافیکی

در Cacti، نقش‌ها به‌طور پیش‌فرض به‌طور محدود در نظر گرفته می‌شوند، اما می‌توان آن‌ها را مطابق با نیازهای خاص خود تغییر داد و تنظیمات دلخواه را برای هر نقش اعمال کرد.

  1. ابتدا وارد رابط کاربری Cacti شوید.
  2. به منوی User Management بروید و گزینه User Roles را انتخاب کنید.
  3. در این صفحه، لیستی از نقش‌های موجود را مشاهده خواهید کرد.
  4. برای ایجاد یک نقش جدید، روی دکمه Add در بالای صفحه کلیک کنید.
  5. پس از آن، فرم مربوط به ایجاد نقش جدید باز خواهد شد. در این فرم می‌توانید:
    • Role Name: نام نقش را وارد کنید.
    • Role Description: توضیحی برای نقش وارد کنید.
    • Permissions: مجوزهای مختلف برای این نقش را تعیین کنید (دسترسی به گراف‌ها، دستگاه‌ها، گزارش‌ها و غیره).
  6. پس از تکمیل اطلاعات، روی دکمه Save کلیک کنید تا نقش جدید ذخیره شود.

2. تنظیم دسترسی‌ها برای نقش‌ها

پس از تعریف نقش‌ها، باید دسترسی‌های مختلف را برای هر نقش مشخص کنید. این دسترسی‌ها می‌توانند شامل موارد زیر باشند:

  • View Access (دسترسی به مشاهده): این مجوز به کاربران امکان مشاهده اطلاعات گراف‌ها، دستگاه‌ها، گزارش‌ها و … را می‌دهد.
  • Modify Access (دسترسی به ویرایش): به کاربران این اجازه را می‌دهد که تنظیمات و پیکربندی‌ها را ویرایش کنند.
  • Admin Access (دسترسی مدیر): این مجوز به کاربران دسترسی کامل به تمام تنظیمات و پیکربندی‌های Cacti را می‌دهد.

برای تنظیم دسترسی‌ها:

  1. در همان صفحه User Roles، بعد از انتخاب نقش مورد نظر، می‌توانید مجوزهای مختلف را فعال یا غیرفعال کنید.
  2. مجوزهای مرتبط با دستگاه‌ها، گراف‌ها، هشدارها، کاربران و گزارش‌ها را تنظیم کنید.

3. تخصیص نقش‌ها به کاربران

برای اختصاص نقش به یک کاربر خاص، مراحل زیر را دنبال کنید:

  1. وارد بخش User Management شوید.
  2. روی نام کاربری که می‌خواهید نقش جدید به آن اختصاص دهید کلیک کنید.
  3. در بخش Role، از لیست کشویی، نقش مورد نظر را انتخاب کنید.
  4. تغییرات را با کلیک بر روی دکمه Save ذخیره کنید.

4. تعریف نقش‌ها از طریق کامند لاین

اگر می‌خواهید نقش‌ها را از طریق کامند لاین تعریف کنید، می‌توانید از دستورات SQL برای وارد کردن نقش‌ها و دسترسی‌ها به پایگاه داده استفاده کنید. ابتدا وارد پایگاه داده Cacti شوید:

mysql -u root -p cacti

برای ایجاد یک نقش جدید، از دستور زیر استفاده کنید:

INSERT INTO user_roles (role_name, role_description) VALUES ('New Role', 'Description of the new role');

در اینجا:

  • role_name: نام نقش جدید.
  • role_description: توضیحی برای نقش جدید.

پس از ایجاد نقش، می‌توانید دسترسی‌های خاص برای آن نقش را با وارد کردن تنظیمات مجوزهای مختلف در پایگاه داده انجام دهید. به‌طور مثال، برای اختصاص دسترسی مشاهده گراف‌ها به نقش، از دستورات مشابه زیر استفاده کنید:

INSERT INTO role_permissions (role_id, permission_id) VALUES (LAST_INSERT_ID(), 1);

در اینجا:

  • role_id: شناسه نقش (شناسه‌ای که در جدول user_roles ایجاد شده است).
  • permission_id: شناسه مجوز برای دسترسی‌های مختلف (شناسه‌هایی که می‌توانید در جدول permissions پیدا کنید).

5. غیرفعال کردن یا حذف نقش‌ها

اگر بخواهید نقش‌هایی که دیگر مورد استفاده نیستند را حذف کنید، می‌توانید از روش‌های زیر استفاده کنید:

از طریق رابط گرافیکی:

  1. به بخش User Roles بروید.
  2. روی نقش مورد نظر کلیک کنید.
  3. روی Delete کلیک کنید و سپس از پنجره تایید برای حذف نقش استفاده کنید.

از طریق کامند لاین:

  1. وارد پایگاه داده Cacti شوید.
  2. برای حذف نقش، از دستور زیر استفاده کنید:
DELETE FROM user_roles WHERE role_name = 'New Role';

6. مثال‌های تنظیم نقش‌های مختلف

در این بخش، به‌طور خاص مثال‌هایی از نقش‌های مختلف که می‌توانید در Cacti تعریف کنید را بررسی می‌کنیم:

  1. نقش مدیر (Admin): این نقش تمام دسترسی‌ها به سیستم را خواهد داشت. برای آن‌که این نقش دسترسی کامل به تمامی بخش‌ها و تنظیمات داشته باشد، باید تمام مجوزها را فعال کنید.

    به‌عنوان مثال برای تنظیم نقش مدیر:

INSERT INTO user_roles (role_name, role_description) VALUES ('Admin', 'Full access to all settings');
  1. نقش مشاهده‌کننده (Viewer): این نقش تنها به مشاهده داده‌ها و گراف‌ها دسترسی دارد و هیچ‌گونه دسترسی به ویرایش تنظیمات ندارد. برای ایجاد این نقش، تنها باید مجوز مشاهده را فعال کنید.
INSERT INTO user_roles (role_name, role_description) VALUES ('Viewer', 'View graphs and data without modification');
  1. نقش کاربر (User): این نقش به کاربران اجازه مشاهده و ویرایش برخی از تنظیمات و گراف‌ها را می‌دهد اما دسترسی کامل به سیستم ندارد.
INSERT INTO user_roles (role_name, role_description) VALUES ('User', 'View and edit limited settings and graphs');

جمع‌بندی

مدیریت نقش‌ها و دسترسی‌های کاربران یکی از ویژگی‌های اصلی Cacti است که به شما این امکان را می‌دهد تا سطح دسترسی هر کاربر را به‌طور دقیق کنترل کنید. شما می‌توانید نقش‌ها و دسترسی‌های مختلفی را از طریق رابط گرافیکی و یا کامند لاین تنظیم کنید و همچنین برای هر نقش یک سری دسترسی‌های خاص مانند مشاهده، ویرایش یا دسترسی مدیریتی تعریف کنید. این ویژگی‌ها به شما کمک می‌کنند تا به‌طور موثرتر سیستم مانیتورینگ خود را مدیریت کنید و دسترسی کاربران مختلف به اطلاعات و تنظیمات را محدود کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده تاریخچه فعالیت کاربران ” subtitle=”توضیحات کامل”]یکی از ویژگی‌های مهم در هر سیستم مدیریت است که امکان پیگیری و مشاهده تاریخچه فعالیت‌های کاربران را فراهم می‌کند. در Cacti، این امکان برای مدیران سیستم وجود دارد که بتوانند مشاهده کنند چه کارهایی توسط کاربران انجام شده است. این ویژگی کمک می‌کند تا از نظر امنیتی و نظارتی بهتر عمل کرده و تغییرات ایجاد شده در سیستم را پیگیری کنید.

در این بخش، نحوه مشاهده تاریخچه فعالیت‌های کاربران در Cacti را بررسی خواهیم کرد، هم از طریق رابط کاربری گرافیکی و هم از طریق دستورات کامندی در صورت نیاز.

1. مشاهده تاریخچه فعالیت کاربران از طریق رابط گرافیکی

در Cacti، تاریخچه فعالیت‌های کاربران معمولاً از طریق Logs (لاگ‌ها) و Audit (بازرسی) قابل مشاهده است. برای دسترسی به این اطلاعات از رابط گرافیکی، مراحل زیر را دنبال کنید:

  1. ابتدا وارد رابط کاربری Cacti شوید.
  2. در نوار منوی بالا، به منوی Logs بروید.
  3. سپس گزینه User Activity یا Audit Logs را انتخاب کنید.

در این بخش، شما می‌توانید لیستی از فعالیت‌های اخیر تمامی کاربران را مشاهده کنید. اطلاعاتی که معمولاً در این بخش نمایش داده می‌شود عبارتند از:

  • نام کاربر (User): کاربری که فعالیت را انجام داده است.
  • نوع فعالیت (Action Type): نوع عملی که انجام شده است (مانند ورود، تغییر تنظیمات، مشاهده گراف، حذف دستگاه و غیره).
  • تاریخ و زمان (Timestamp): تاریخ و زمان دقیق انجام فعالیت.
  • شرح فعالیت (Activity Description): توضیحی در مورد عملی که انجام شده است.

2. مشاهده تاریخچه فعالیت کاربران از طریق پایگاه داده (SQL)

اگر بخواهید تاریخچه فعالیت‌های کاربران را به‌صورت دقیق‌تر یا برای اهداف خاصی استخراج کنید، می‌توانید از پایگاه داده Cacti برای جستجوی لاگ‌ها استفاده کنید. در اینجا، نحوه انجام این کار را با استفاده از دستورات SQL توضیح می‌دهیم.

  1. ابتدا وارد پایگاه داده Cacti شوید:
mysql -u root -p cacti
  1. برای مشاهده تاریخچه فعالیت‌ها، می‌توانید به جدول audit_log مراجعه کنید که اطلاعات مربوط به تغییرات و فعالیت‌های کاربران در آن ذخیره می‌شود. برای مشاهده تمام فعالیت‌های اخیر، از دستور زیر استفاده کنید:
SELECT * FROM audit_log ORDER BY timestamp DESC LIMIT 50;

در این دستور:

  • audit_log: جدولی است که اطلاعات لاگ‌های فعالیت کاربران در آن ذخیره می‌شود.
  • timestamp: زمانی است که فعالیت توسط کاربر انجام شده است.
  • LIMIT 50: این گزینه به شما این امکان را می‌دهد که 50 فعالیت اخیر را مشاهده کنید.
  1. همچنین اگر بخواهید تاریخچه فعالیت‌های خاص یک کاربر را مشاهده کنید، می‌توانید از دستور زیر استفاده کنید:
SELECT * FROM audit_log WHERE user_id = 'USER_ID' ORDER BY timestamp DESC;

در این دستور:

  • USER_ID: شناسه کاربری مورد نظر که می‌خواهید فعالیت‌های آن را بررسی کنید.

3. استفاده از فایل‌های لاگ سیستم برای مشاهده تاریخچه

Cacti همچنین ممکن است خطاها و فعالیت‌های مرتبط با عملکرد سیستم را در لاگ‌های سرور ذخیره کند. این لاگ‌ها می‌توانند در فایل‌های سیستمی موجود باشند و می‌توانید از طریق سیستم عامل خود به آن‌ها دسترسی پیدا کنید.

برای مشاهده لاگ‌های Apache یا Nginx (وب سرورهایی که Cacti از آن‌ها استفاده می‌کند)، می‌توانید از دستورات زیر استفاده کنید:

برای Apache:

tail -f /var/log/apache2/access.log

برای Nginx:

tail -f /var/log/nginx/access.log

همچنین می‌توانید به لاگ‌های PHP دسترسی پیدا کنید تا فعالیت‌های مرتبط با PHP را بررسی کنید:

tail -f /var/log/php/error.log

4. استفاده از ابزارهای اضافی برای گزارش‌گیری از فعالیت‌های کاربران

اگر به گزارش‌های جامع‌تری از تاریخچه فعالیت‌ها نیاز دارید، می‌توانید از ابزارهایی مانند Grafana برای جمع‌آوری و نمایش لاگ‌ها یا اطلاعات فعالیت‌های کاربران استفاده کنید.

جمع‌بندی

مشاهده تاریخچه فعالیت کاربران در Cacti یکی از روش‌های مهم برای پیگیری تغییرات در سیستم و بررسی امنیت است. این تاریخچه به مدیران این امکان را می‌دهد که بفهمند چه تغییراتی توسط کاربران مختلف انجام شده و از آن‌ها برای شناسایی مشکلات، اعمال سیاست‌های امنیتی و نظارتی استفاده کنند. تاریخچه فعالیت‌ها را می‌توان از طریق رابط کاربری گرافیکی، پایگاه داده (SQL) یا حتی لاگ‌های سیستم بررسی کرد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. منوی Logs”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده لاگ‌های سیستمی ” subtitle=”توضیحات کامل”]لاگ‌های سیستمی ابزاری مهم برای شناسایی و عیب‌یابی مشکلات در سرورهای Cacti و سایر نرم‌افزارهای موجود در سیستم هستند. این لاگ‌ها معمولاً شامل اطلاعاتی در مورد فعالیت‌ها، خطاها، هشدارها و سایر رویدادهای سیستمی می‌باشند که برای تشخیص مشکلات و نظارت بر عملکرد سیستم بسیار حیاتی‌اند. در این بخش، به نحوه مشاهده لاگ‌های سیستمی مختلف در Cacti خواهیم پرداخت، از جمله لاگ‌های مربوط به وب‌سرور (Apache یا Nginx)، لاگ‌های PHP و لاگ‌های Cacti.

1. مشاهده لاگ‌های وب‌سرور (Apache یا Nginx)

برای مشاهده لاگ‌های وب‌سرور، ابتدا باید بررسی کنید که از کدام وب‌سرور (Apache یا Nginx) استفاده می‌کنید. سپس می‌توانید لاگ‌ها را به‌طور مستقیم از فایل‌های سیستمی مشاهده کنید.

مشاهده لاگ‌های Apache

در صورتی که از Apache به‌عنوان وب‌سرور برای Cacti استفاده می‌کنید، فایل‌های لاگ معمولاً در مسیر /var/log/apache2/ ذخیره می‌شوند. برای مشاهده لاگ‌های دسترسی و خطاها، می‌توانید از دستورات زیر استفاده کنید:

  1. مشاهده لاگ‌های دسترسی (Access Logs):
    tail -f /var/log/apache2/access.log
    

    این دستور به شما امکان مشاهده درخواست‌های ورودی به سرور را می‌دهد.

  2. مشاهده لاگ‌های خطا (Error Logs):
    tail -f /var/log/apache2/error.log
    

    این دستور خطاهای مربوط به عملکرد وب‌سرور Apache را نمایش می‌دهد.

مشاهده لاگ‌های Nginx

اگر از Nginx به‌عنوان وب‌سرور استفاده می‌کنید، لاگ‌های دسترسی و خطا معمولاً در مسیر /var/log/nginx/ ذخیره می‌شوند. برای مشاهده این لاگ‌ها از دستورات زیر استفاده کنید:

  1. مشاهده لاگ‌های دسترسی (Access Logs):
    tail -f /var/log/nginx/access.log
    
  2. مشاهده لاگ‌های خطا (Error Logs):
    tail -f /var/log/nginx/error.log
    

2. مشاهده لاگ‌های PHP

PHP لاگ‌ها معمولاً برای شناسایی مشکلات مربوط به اجرای اسکریپت‌های PHP و بررسی خطاهای مربوط به کدهای PHP در Cacti مورد استفاده قرار می‌گیرند. این لاگ‌ها به‌طور پیش‌فرض در فایل error_log یا در مسیر خاصی که در تنظیمات PHP مشخص شده‌اند، ذخیره می‌شوند.

برای مشاهده لاگ‌های PHP، می‌توانید از دستورات زیر استفاده کنید:

  1. مشاهده لاگ‌های PHP (در صورت فعال بودن):
    tail -f /var/log/php/error.log
    
  2. مشاهده لاگ‌های PHP در مسیر تعیین‌شده (اگر مسیر خاصی برای لاگ‌ها تنظیم شده باشد):

    در صورتی که فایل php.ini به‌گونه‌ای پیکربندی شده باشد که لاگ‌ها در مسیر دیگری ذخیره شوند، می‌توانید از مسیر تنظیم‌شده برای مشاهده خطاها استفاده کنید. برای مثال:

    tail -f /path/to/your/custom/php_error.log
    

    مسیر دقیق فایل لاگ PHP بستگی به تنظیمات موجود در فایل php.ini دارد.

3. مشاهده لاگ‌های Cacti

Cacti به‌طور خاص یک فایل لاگ مخصوص به خود برای ذخیره اطلاعات مربوط به عملکرد و خطاهای داخلی خود دارد. این فایل لاگ شامل اطلاعاتی در مورد خطاها، هشدارها و وضعیت سرویس‌ها است. برای مشاهده لاگ‌های Cacti، به مسیر زیر بروید:

  1. مشاهده لاگ‌های Cacti:

    به‌طور پیش‌فرض، Cacti لاگ‌ها را در مسیر /var/log/cacti/ ذخیره می‌کند. برای مشاهده این لاگ‌ها، می‌توانید از دستور زیر استفاده کنید:

    tail -f /var/log/cacti/cacti.log
    

4. استفاده از ابزارهای نظارتی برای مشاهده لاگ‌ها

در صورتی که می‌خواهید لاگ‌ها را به‌صورت پیوسته و با قابلیت فیلتر و جستجو مشاهده کنید، می‌توانید از ابزارهای نظارتی مانند Logwatch یا Graylog برای مدیریت و بررسی لاگ‌ها استفاده کنید.

5. فیلتر کردن لاگ‌ها بر اساس نوع رویداد

برای فیلتر کردن لاگ‌ها به‌طور خاص، می‌توانید از ابزارهای خط فرمان مانند grep استفاده کنید. به‌عنوان مثال، برای جستجوی خطاهای مربوط به یک کاربر خاص در لاگ‌های Apache، می‌توانید از دستور زیر استفاده کنید:

grep "username" /var/log/apache2/error.log

همچنین برای جستجوی خطاهای PHP، می‌توانید دستور زیر را اجرا کنید:

grep "PHP" /var/log/php/error.log

جمع‌بندی

مشاهده لاگ‌های سیستمی در Cacti یکی از مهم‌ترین روش‌ها برای شناسایی و عیب‌یابی مشکلات است. این لاگ‌ها شامل اطلاعات حیاتی در مورد عملکرد وب‌سرور، PHP، و خود Cacti هستند. با استفاده از ابزارهایی مانند tail, grep, و مسیرهای پیش‌فرض لاگ، می‌توان به‌راحتی به لاگ‌های مختلف دسترسی پیدا کرده و مشکلات احتمالی را شناسایی کرد. برای داشتن نظارت بهتر و شفاف‌تر، توصیه می‌شود که لاگ‌ها را به‌صورت منظم بررسی کنید و در صورت نیاز از ابزارهای جانبی برای جمع‌آوری و فیلتر کردن لاگ‌ها استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”فیلتر کردن رویدادها بر اساس زمان و نوع در لاگ‌های سیستم” subtitle=”توضیحات کامل”]فیلتر کردن رویدادها در لاگ‌ها یکی از روش‌های موثر برای شناسایی سریع مشکلات و نظارت بر فعالیت‌های خاص در سیستم است. در Cacti و سایر سیستم‌های مبتنی بر لینوکس، شما می‌توانید از ابزارهایی مانند grep, awk و sed برای فیلتر کردن رویدادها بر اساس زمان و نوع استفاده کنید. این ابزارها به شما این امکان را می‌دهند که تنها رویدادهای خاصی را که با معیارهای مورد نظر شما مطابقت دارند، مشاهده کنید.

در این بخش، نحوه فیلتر کردن رویدادها بر اساس زمان (تاریخ و ساعت) و نوع (مانند خطاها یا هشدارها) در لاگ‌ها را آموزش خواهیم داد.

1. فیلتر کردن لاگ‌ها بر اساس تاریخ و زمان

برای فیلتر کردن لاگ‌ها بر اساس زمان، شما باید فرمت تاریخ و زمان لاگ‌ها را در نظر بگیرید. معمولاً تاریخ و زمان لاگ‌ها در ابتدا قرار دارد و می‌توان به راحتی از آن برای جستجو استفاده کرد.

مثال: فیلتر کردن بر اساس تاریخ خاص

فرض کنید می‌خواهید رویدادهایی را که در تاریخ خاصی رخ داده‌اند، مشاهده کنید. برای مثال، اگر تاریخ در لاگ‌ها به‌صورت YYYY-MM-DD ذخیره شده باشد، می‌توانید از دستور grep برای جستجوی رویدادها در یک تاریخ خاص استفاده کنید:

grep "2025-02-14" /var/log/apache2/access.log

این دستور تمام خطوطی که شامل تاریخ 2025-02-14 هستند را نمایش می‌دهد.

مثال: فیلتر کردن بر اساس بازه زمانی

اگر می‌خواهید رویدادهایی را که در یک بازه زمانی خاص رخ داده‌اند، مشاهده کنید، می‌توانید از ابزار awk برای فیلتر کردن استفاده کنید. به عنوان مثال، برای نمایش همه رویدادهای بین ساعت 12:00 تا 14:00 از یک روز خاص، می‌توانید از دستور زیر استفاده کنید:

awk '$0 ~ /2025-02-14/ && $0 ~ /12:|13:/' /var/log/apache2/access.log

این دستور لاگ‌هایی که تاریخ آنها 2025-02-14 است و ساعت آنها بین 12 و 13 است را فیلتر می‌کند.

2. فیلتر کردن لاگ‌ها بر اساس نوع رویداد (مانند خطاها و هشدارها)

اگر می‌خواهید تنها رویدادهایی را مشاهده کنید که نوع خاصی دارند، مانند خطاها یا هشدارها، می‌توانید از کلمه کلیدی یا عبارت خاصی در لاگ‌ها استفاده کنید. در بیشتر سیستم‌ها، خطاها و هشدارها معمولاً با کلماتی مانند error, warning, failed, critical یا مشابه آن نشان داده می‌شوند.

مثال: فیلتر کردن لاگ‌ها بر اساس خطاها

برای فیلتر کردن فقط خطاها، می‌توانید از دستور grep همراه با عبارت error استفاده کنید. به عنوان مثال:

grep "error" /var/log/apache2/error.log

این دستور تمام خطوطی که شامل کلمه error هستند را نمایش می‌دهد.

مثال: فیلتر کردن لاگ‌ها بر اساس هشدارها

برای فیلتر کردن هشدارها، کافیست از عبارت warning در دستور grep استفاده کنید:

grep "warning" /var/log/apache2/error.log

این دستور تمامی خطاهایی که حاوی کلمه warning هستند را فیلتر می‌کند.

3. فیلتر کردن ترکیبی بر اساس زمان و نوع

اگر می‌خواهید لاگ‌ها را همزمان بر اساس تاریخ و نوع (مانند خطاها یا هشدارها) فیلتر کنید، می‌توانید از ترکیب دستورات grep و awk یا سایر ابزارهای خط فرمان استفاده کنید. به‌عنوان مثال، برای مشاهده تمام خطاهایی که در تاریخ 2025-02-14 رخ داده‌اند، می‌توانید از دستور زیر استفاده کنید:

grep "2025-02-14" /var/log/apache2/error.log | grep "error"

این دستور ابتدا خط‌هایی که حاوی تاریخ 2025-02-14 هستند را فیلتر کرده و سپس آنهایی که شامل کلمه error هستند را نمایش می‌دهد.

مثال: فیلتر کردن خطاها و هشدارها در یک بازه زمانی خاص

برای فیلتر کردن خطاها و هشدارها در بازه زمانی خاص، از ترکیب grep و awk می‌توانید استفاده کنید. به‌عنوان مثال، برای فیلتر کردن تمام خطاها و هشدارهایی که در ساعت 13 از تاریخ 2025-02-14 رخ داده‌اند، دستور زیر را اجرا کنید:

awk '$0 ~ /2025-02-14/ && $0 ~ /13:/ {print $0}' /var/log/apache2/error.log | grep -i "error\|warning"

این دستور ابتدا رویدادهای مربوط به ساعت 13 از تاریخ خاص را فیلتر کرده و سپس از grep برای فیلتر کردن خطاها و هشدارها استفاده می‌کند.

4. ذخیره نتایج فیلتر شده در یک فایل

در برخی مواقع ممکن است بخواهید نتایج فیلتر شده را در یک فایل ذخیره کنید تا بعداً به آن‌ها مراجعه کنید. برای این کار می‌توانید از دستور tee یا عملگر > برای ذخیره نتایج استفاده کنید.

برای مثال، برای ذخیره لاگ‌های خطا که در تاریخ خاصی رخ داده‌اند در یک فایل، می‌توانید از دستور زیر استفاده کنید:

grep "2025-02-14" /var/log/apache2/error.log | grep "error" > filtered_errors.log

این دستور تمامی خطاها که در تاریخ 2025-02-14 رخ داده‌اند را فیلتر کرده و آن‌ها را در فایل filtered_errors.log ذخیره می‌کند.

جمع‌بندی

فیلتر کردن رویدادها در لاگ‌ها بر اساس زمان و نوع یکی از روش‌های کاربردی برای نظارت دقیق و شناسایی مشکلات سیستم است. با استفاده از ابزارهایی مانند grep, awk, و sed می‌توانید به‌راحتی لاگ‌ها را فیلتر کرده و تنها رویدادهای مرتبط را مشاهده کنید. این فرآیند به شما کمک می‌کند تا مشکلات سیستم را سریع‌تر شناسایی کرده و اقدامات لازم را برای رفع آن‌ها انجام دهید. برای فیلتر کردن دقیق‌تر، ترکیب این ابزارها و ذخیره نتایج فیلتر شده در فایل‌های مختلف می‌تواند به بهبود فرآیند عیب‌یابی کمک کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”عیب‌یابی مشکلات از طریق گزارش‌های لاگ” subtitle=”توضیحات کامل”]گزارش‌های لاگ در سیستم‌های مانیتورینگ مانند Cacti نقش بسیار مهمی در شناسایی مشکلات و تجزیه و تحلیل عملکرد سیستم دارند. این گزارش‌ها می‌توانند شامل اطلاعات مهمی مانند خطاهای سیستم، هشدارها، مشکلات مربوط به شبکه، و سایر رویدادهای سیستم باشند. در این بخش، روش‌هایی برای عیب‌یابی مشکلات از طریق گزارش‌های لاگ در Cacti بررسی می‌کنیم و به ابزارها و روش‌هایی که می‌توانید برای تجزیه و تحلیل و رفع مشکلات استفاده کنید، می‌پردازیم.

1. دسترسی به گزارش‌های لاگ در Cacti

گزارش‌های لاگ معمولاً در مسیرهای خاصی در سرور ذخیره می‌شوند و به راحتی می‌توان به آنها دسترسی پیدا کرد. در سیستم‌های لینوکس، لاگ‌ها معمولاً در دایرکتوری /var/log/ ذخیره می‌شوند. برای دسترسی به این گزارش‌ها از طریق Cacti، می‌توانید از رابط کاربری Cacti یا از طریق خط فرمان اقدام کنید.

دسترسی به لاگ‌ها از طریق خط فرمان:
  1. Apache/Nginx Logs: گزارش‌های مربوط به وب‌سرور معمولاً در مسیرهای زیر ذخیره می‌شوند:
    • Apache: /var/log/apache2/error.log
    • Nginx: /var/log/nginx/error.log

    برای مشاهده گزارش‌های لاگ، می‌توانید از دستور tail استفاده کنید:

    tail -f /var/log/apache2/error.log
    

    این دستور به‌صورت زنده تغییرات لاگ را نمایش می‌دهد.

  2. Cacti Logs: گزارش‌های خاص Cacti معمولاً در دایرکتوری /var/log/cacti/ قرار دارند. می‌توانید با استفاده از دستور cat یا less به این گزارش‌ها دسترسی پیدا کنید:
    less /var/log/cacti/cacti.log
    

2. تجزیه و تحلیل گزارش‌ها برای شناسایی مشکلات

برای شناسایی مشکلات، باید به‌طور دقیق گزارش‌ها را بررسی کنید. معمولاً مشکلات به‌طور واضح در گزارش‌ها با پیام‌هایی مانند error, warning, failed و یا critical مشخص می‌شوند. در ادامه، برخی از رایج‌ترین مشکلاتی که در لاگ‌ها مشاهده می‌شوند و نحوه عیب‌یابی آن‌ها آورده شده است.

2.1. مشکلات مربوط به پایگاه داده (MySQL/MariaDB)

اگر در Cacti مشکلاتی در ارتباط با پایگاه داده وجود داشته باشد، معمولاً خطاهایی مانند “connection failed” یا “database not found” در لاگ‌های Apache/Nginx یا Cacti ظاهر می‌شود.

  • بررسی لاگ‌های Cacti برای مشکلات پایگاه داده:

    اگر با مشکل اتصال به پایگاه داده مواجه شدید، می‌توانید لاگ‌های Cacti را بررسی کنید:

    less /var/log/cacti/cacti.log
    

    در این لاگ‌ها ممکن است خطاهایی مانند MySQL connection error یا Database connection failed را مشاهده کنید.

  • عیب‌یابی اتصال پایگاه داده:

    اگر خطای اتصال به پایگاه داده را مشاهده کردید، ابتدا مطمئن شوید که سرویس MySQL/MariaDB در حال اجرا است:

    sudo systemctl status mysql
    

    اگر سرویس متوقف شده باشد، می‌توانید آن را با دستور زیر راه‌اندازی کنید:

    sudo systemctl start mysql
    

    سپس، اطمینان حاصل کنید که اطلاعات اتصال پایگاه داده در فایل پیکربندی Cacti (/etc/cacti/db.php) درست است.

2.2. مشکلات مربوط به SNMP

مشکلات SNMP می‌توانند در زمان جمع‌آوری داده‌ها از دستگاه‌های شبکه (مانند سوئیچ‌ها و روترها) رخ دهند. مشکلات معمولاً به‌صورت پیام‌های خطا مانند “SNMP Timeout” یا “SNMP Read Failed” در لاگ‌ها ظاهر می‌شوند.

  • بررسی لاگ‌های SNMP:

    گزارش‌های SNMP در لاگ‌های Cacti و وب‌سرور ذخیره می‌شوند. برای شناسایی خطاهای SNMP، می‌توانید از دستور grep برای جستجو در لاگ‌ها استفاده کنید:

    grep "SNMP" /var/log/cacti/cacti.log
    

    این دستور تمام ارورهای مرتبط با SNMP را که در گزارش Cacti ثبت شده‌اند، نمایش می‌دهد.

  • عیب‌یابی مشکلات SNMP:
    • اطمینان حاصل کنید که SNMP روی دستگاه‌های هدف (سوئیچ، روتر و …) فعال است.
    • پورت SNMP (معمولاً پورت 161) باید در فایروال باز باشد.
    • دسترسی‌های SNMP (مانند community string) باید در تنظیمات Cacti و دستگاه‌های هدف هماهنگ باشد.

    برای بررسی وضعیت SNMP دستگاه، از دستور snmpwalk استفاده کنید:

    snmpwalk -v 2c -c public 192.168.1.1
    

    این دستور باید اطلاعات SNMP را از دستگاه هدف جمع‌آوری کند. اگر خطایی دریافت کردید، بررسی کنید که دستگاه هدف پیکربندی صحیحی دارد.

2.3. مشکلات مربوط به Polling

اگر Cacti قادر به جمع‌آوری داده‌ها از دستگاه‌ها نباشد، مشکلاتی در فرآیند Polling ممکن است وجود داشته باشد. در این موارد، گزارش‌ها ممکن است شامل پیام‌هایی مانند “Polling failed” یا “Polling Timeout” باشند.

  • بررسی لاگ‌های Polling:

    برای شناسایی مشکلات مربوط به Polling، می‌توانید از دستورات زیر برای مشاهده گزارش‌های مرتبط با Polling در Cacti استفاده کنید:

    less /var/log/cacti/cacti.log | grep "poller"
    

    اگر خطاهایی مانند Polling Failed مشاهده کردید، این به‌معنای مشکلی در فرآیند Polling است.

  • عیب‌یابی مشکلات Polling:
    • ابتدا بررسی کنید که آیا سرویس Poller در Cacti در حال اجرا است:
      sudo systemctl status cacti-poller
      
    • اطمینان حاصل کنید که دسترسی‌های SNMP و فایروال به درستی تنظیم شده‌اند.
    • تنظیمات Polling در Cacti را بررسی کنید و از طریق رابط کاربری Cacti آن‌ها را به‌روزرسانی کنید.

3. استفاده از ابزارهای تحلیل لاگ

برای تجزیه و تحلیل و شناسایی سریع مشکلات از گزارش‌های لاگ، می‌توانید از ابزارهای مفیدی مانند grep, awk, sed, logwatch, logrotate و less استفاده کنید.

مثال: استفاده از grep برای جستجوی سریع خطاها

برای جستجوی خطاها در گزارش‌ها، از دستور grep استفاده کنید. به عنوان مثال، برای جستجوی تمام خطاهای موجود در گزارش Apache، دستور زیر را اجرا کنید:

grep "error" /var/log/apache2/error.log
مثال: استفاده از awk برای فیلتر کردن رویدادها بر اساس زمان

اگر می‌خواهید لاگ‌ها را بر اساس زمان فیلتر کنید، از دستور awk استفاده کنید. به‌عنوان مثال:

awk '$0 ~ /2025-02-14/ {print $0}' /var/log/cacti/cacti.log

جمع‌بندی

گزارش‌های لاگ در Cacti ابزار مهمی برای عیب‌یابی و شناسایی مشکلات سیستم و شبکه هستند. با استفاده از ابزارهایی مانند grep, awk, و sed می‌توانید خطاها و مشکلات را سریع‌تر شناسایی کرده و اقدامات لازم را انجام دهید. علاوه بر این، بررسی لاگ‌ها و تجزیه و تحلیل آنها می‌تواند به شما کمک کند تا مشکلاتی مانند اتصال به پایگاه داده، مشکلات SNMP، و مشکلات Polling را شناسایی کرده و رفع کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 11. نمایش عملکرد”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نمایش داده‌های مربوط به وضعیت شبکه ” subtitle=”توضیحات کامل”]Cacti یکی از ابزارهای قدرتمند برای نظارت بر شبکه است و از طریق آن می‌توانید داده‌های مربوط به وضعیت شبکه را مشاهده و تجزیه و تحلیل کنید. داده‌های مختلفی نظیر پهنای باند، ترافیک شبکه، وضعیت دستگاه‌ها، و پارامترهای مختلف دیگر را می‌توان از طریق گراف‌ها و گزارش‌ها در Cacti مشاهده کرد.

در این بخش، به نحوه نمایش داده‌های وضعیت شبکه و استفاده از Cacti برای تجزیه و تحلیل آن‌ها پرداخته خواهد شد. همچنین، روش‌هایی برای مشاهده داده‌های شبکه، تنظیمات و پیکربندی‌ها، و استفاده از گراف‌های مرتبط با وضعیت شبکه به‌صورت کامندی و گرافیکی آموزش داده می‌شود.


1. بررسی وضعیت شبکه از طریق گراف‌ها

گراف‌ها ابزار اصلی برای نمایش وضعیت شبکه در Cacti هستند. در این گراف‌ها می‌توان اطلاعاتی مانند پهنای باند، میزان ترافیک ارسال و دریافت، میزان مصرف CPU و RAM و … را مشاهده کرد.

1.1. مشاهده گراف‌های ایجاد شده

برای مشاهده گراف‌های شبکه در Cacti، باید از طریق رابط کاربری به بخش گراف‌ها (Graphs) دسترسی پیدا کنید. گراف‌ها می‌توانند وضعیت شبکه را به صورت گرافیکی نمایش دهند.

گام‌های نمایش گراف‌ها:

  1. وارد رابط کاربری Cacti شوید.
  2. از منوی اصلی به تب Graphs بروید.
  3. در اینجا فهرستی از گراف‌های موجود برای دستگاه‌های مختلف شبکه نمایش داده می‌شود.
1.2. مشاهده گراف‌های مربوط به وضعیت شبکه

گراف‌های مرتبط با وضعیت شبکه به طور معمول اطلاعاتی درباره پهنای باند، ترافیک ورودی و خروجی، درصد استفاده از پورت‌ها و دیگر پارامترهای شبکه را نمایش می‌دهند. برای مشاهده این گراف‌ها، بر روی گراف‌های مربوط به دستگاه‌ها کلیک کرده و داده‌های مربوط به وضعیت شبکه را بررسی کنید.

مثال: گراف ترافیک پورت Ethernet

برای نمایش گراف‌های ترافیک شبکه، مانند ترافیک ورودی و خروجی از یک پورت خاص در Cacti، پس از وارد شدن به بخش گراف‌ها، می‌توانید گراف مربوط به دستگاه هدف و پورت مورد نظر را مشاهده کنید.


2. نمایش داده‌ها به صورت جدولی

Cacti همچنین امکان نمایش داده‌ها به صورت جدولی را فراهم می‌کند که به کمک آن می‌توانید اطلاعات دقیق‌تری را درباره وضعیت شبکه مشاهده کنید.

2.1. دسترسی به گزارش‌های شبکه

برای مشاهده داده‌های دقیق‌تر، می‌توانید به بخش گزارش‌ها در Cacti مراجعه کرده و داده‌های مرتبط با وضعیت شبکه را مشاهده کنید. این داده‌ها می‌توانند شامل آمار ترافیک، میزان استفاده از منابع و سایر اطلاعات مفید باشند.

برای مشاهده گزارش‌ها، مراحل زیر را دنبال کنید:

  1. وارد رابط کاربری Cacti شوید.
  2. از منوی بالا به تب Reports بروید.
  3. از فهرست موجود، گزارش‌هایی که مرتبط با وضعیت شبکه و دستگاه‌ها هستند را انتخاب کنید.
2.2. استفاده از دستوراتی برای مشاهده داده‌های شبکه

شما می‌توانید از دستورات خاص در سرور Cacti برای مشاهده وضعیت شبکه نیز استفاده کنید. به عنوان مثال، برای بررسی وضعیت پهنای باند از دستور ifstat یا vnstat در سیستم عامل لینوکس استفاده کنید.

مثال: استفاده از دستور ifstat برای مشاهده وضعیت شبکه

برای مشاهده وضعیت شبکه و ترافیک ورودی و خروجی روی یک رابط شبکه خاص، دستور زیر را اجرا کنید:

ifstat -i eth0

این دستور وضعیت ترافیک شبکه برای رابط eth0 را به صورت زنده نمایش می‌دهد.


3. بررسی وضعیت دستگاه‌های شبکه

در Cacti، وضعیت دستگاه‌های مختلف شبکه، مانند سوئیچ‌ها و روترها، از طریق SNMP جمع‌آوری می‌شود. این دستگاه‌ها می‌توانند اطلاعات مهمی مانند ترافیک پورت‌ها، بار پردازنده و میزان مصرف حافظه را ارائه دهند.

3.1. نمایش وضعیت دستگاه‌ها در Cacti

برای مشاهده وضعیت یک دستگاه خاص در Cacti، باید به بخش Devices مراجعه کنید. در اینجا می‌توانید فهرستی از دستگاه‌های شبکه‌ای که به Cacti اضافه شده‌اند را مشاهده کنید. از این قسمت می‌توانید وضعیت هر دستگاه را بررسی کرده و برای آن گراف ایجاد کنید.

گام‌ها برای مشاهده وضعیت دستگاه‌ها:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Devices بروید.
  3. لیستی از دستگاه‌های موجود نمایش داده می‌شود.
  4. برای هر دستگاه، می‌توانید جزئیات وضعیت، از جمله ترافیک شبکه و پارامترهای دیگر را مشاهده کنید.
3.2. استفاده از SNMP برای جمع‌آوری داده‌ها

برای جمع‌آوری داده‌ها از دستگاه‌های شبکه، باید از SNMP استفاده کنید. اگر می‌خواهید داده‌های مربوط به وضعیت شبکه را از یک دستگاه خاص جمع‌آوری کنید، باید دستگاه مورد نظر را در Cacti به‌درستی پیکربندی کنید تا با استفاده از SNMP داده‌ها را جمع‌آوری کند.

پیکربندی SNMP در Cacti برای یک دستگاه خاص:

  1. وارد رابط کاربری Cacti شوید.
  2. به بخش Devices بروید.
  3. دستگاه مورد نظر را انتخاب کنید.
  4. از قسمت SNMP، اطمینان حاصل کنید که SNMP به‌درستی پیکربندی شده است و اطلاعات مربوط به دستگاه از طریق SNMP قابل دسترسی است.
3.3. عیب‌یابی SNMP

اگر داده‌ها از دستگاه‌ها جمع‌آوری نمی‌شوند، ممکن است مشکلی در پیکربندی SNMP وجود داشته باشد. برای عیب‌یابی این مشکل، از دستور snmpwalk استفاده کنید تا وضعیت اتصال SNMP به دستگاه را بررسی کنید:

snmpwalk -v 2c -c public 192.168.1.1

اگر این دستور نتایج مناسبی ارائه داد، به این معنی است که SNMP به درستی کار می‌کند و Cacti می‌تواند داده‌ها را جمع‌آوری کند.


4. تنظیمات مربوط به جمع‌آوری داده‌ها

در Cacti، برای جمع‌آوری داده‌ها از دستگاه‌ها، از مفهوم Polling استفاده می‌شود. این فرایند به طور منظم داده‌های جدید را از دستگاه‌های شبکه جمع‌آوری کرده و آن‌ها را در گراف‌ها نمایش می‌دهد.

4.1. پیکربندی Polling در Cacti

برای تنظیم فواصل Polling، باید به بخش Polling در Cacti بروید و فواصل زمانی برای جمع‌آوری داده‌ها را تعیین کنید.

گام‌های پیکربندی Polling:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Settings بروید.
  3. به بخش Poller Settings بروید.
  4. در این بخش، فواصل Polling را برای دستگاه‌ها تنظیم کنید. به طور پیش‌فرض، این فواصل معمولاً بین 5 تا 10 دقیقه هستند.
4.2. پیکربندی Polling از طریق خط فرمان

شما می‌توانید با ویرایش فایل‌های پیکربندی Polling در Cacti نیز فواصل زمانی را تغییر دهید. این تنظیمات معمولاً در مسیر /etc/cacti/poller.xml قرار دارند.

برای تغییر فواصل Polling از طریق خط فرمان، می‌توانید این فایل را ویرایش کنید:

sudo nano /etc/cacti/poller.xml

در این فایل، پارامتر poller_interval را می‌توانید برای تغییر فواصل Polling تنظیم کنید.


جمع‌بندی

Cacti یک ابزار قدرتمند برای نمایش و نظارت بر وضعیت شبکه است. شما می‌توانید با استفاده از گراف‌ها، گزارش‌ها، و ابزارهای تجزیه و تحلیل شبکه، اطلاعات مفیدی در مورد وضعیت شبکه خود به‌دست آورید. با پیکربندی SNMP برای دستگاه‌های مختلف، مشاهده وضعیت دستگاه‌ها، و تنظیم فواصل Polling، Cacti می‌تواند اطلاعات دقیق و به‌روز از شبکه شما را ارائه دهد. ابزارهایی مانند ifstat و snmpwalk نیز به شما کمک می‌کنند تا وضعیت شبکه را در سطح سیستم عامل نیز بررسی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مشاهده ترافیک لحظه‌ای دستگاه‌ها ” subtitle=”توضیحات کامل”]Cacti به عنوان یک ابزار نظارتی شبکه، امکان مشاهده و تجزیه و تحلیل ترافیک لحظه‌ای دستگاه‌ها را از طریق گراف‌ها و داده‌های SNMP فراهم می‌کند. برای نظارت بر وضعیت شبکه و بررسی ترافیک لحظه‌ای دستگاه‌ها در Cacti، می‌توانید گراف‌ها و گزارش‌هایی را ایجاد کنید که به شما اطلاعات دقیقی از ترافیک ورودی و خروجی دستگاه‌ها، پورت‌ها و دیگر پارامترهای شبکه می‌دهند.

در این بخش، به نحوه مشاهده و پیکربندی ترافیک لحظه‌ای دستگاه‌ها در Cacti پرداخته خواهد شد. همچنین، روش‌هایی برای مشاهده این ترافیک، تنظیمات کامندی و پیکربندی‌های مربوطه ارائه خواهد شد.


1. مشاهده ترافیک لحظه‌ای از طریق گراف‌ها

Cacti به شما این امکان را می‌دهد که ترافیک لحظه‌ای ورودی و خروجی دستگاه‌ها را به صورت گرافیکی و در زمان واقعی مشاهده کنید. گراف‌های Cacti به طور معمول از SNMP برای جمع‌آوری داده‌ها استفاده می‌کنند و اطلاعات مربوط به ترافیک دستگاه‌ها را از طریق پورت‌های شبکه و دیگر منابع جمع‌آوری می‌کنند.

1.1. مشاهده گراف ترافیک دستگاه‌ها

برای مشاهده گراف ترافیک لحظه‌ای یک دستگاه در Cacti، می‌توانید مراحل زیر را دنبال کنید:

  1. وارد رابط کاربری Cacti شوید.
  2. از منوی اصلی به تب Graphs بروید.
  3. در این بخش فهرستی از گراف‌های موجود برای دستگاه‌های مختلف نمایش داده می‌شود.
  4. بر روی دستگاه مورد نظر کلیک کنید تا گراف ترافیک آن نمایش داده شود.

در این گراف‌ها، شما می‌توانید ترافیک ورودی (In) و خروجی (Out) به طور لحظه‌ای مشاهده کنید. همچنین می‌توانید گراف‌هایی برای هر پورت شبکه خاص ایجاد کنید که داده‌های لحظه‌ای آن پورت را نمایش دهد.

1.2. گراف ترافیک شبکه (Bandwidth)

یکی از رایج‌ترین گراف‌هایی که برای مشاهده ترافیک لحظه‌ای شبکه استفاده می‌شود، گراف ترافیک پهنای باند است که معمولاً اطلاعاتی را از پورت‌های شبکه دستگاه‌ها به‌طور لحظه‌ای نمایش می‌دهد.

برای مشاهده گراف پهنای باند دستگاه‌ها:

  1. وارد صفحه گراف‌ها شوید.
  2. فیلتر گراف‌ها را انتخاب کنید و دستگاه مورد نظر را پیدا کنید.
  3. گراف‌های مربوط به ترافیک ورودی و خروجی (Traffic In/Out) را انتخاب کنید.

این گراف‌ها به شما کمک می‌کنند که میزان مصرف پهنای باند شبکه در لحظه و طی زمان‌های مختلف را مشاهده کنید.


2. استفاده از دستورهای خط فرمان برای مشاهده ترافیک

علاوه بر رابط گرافیکی Cacti، شما می‌توانید از دستورهای خط فرمان در سرور Cacti برای مشاهده وضعیت ترافیک لحظه‌ای دستگاه‌ها و پورت‌های شبکه استفاده کنید. این دستورات می‌توانند به شما کمک کنند که وضعیت شبکه و ترافیک لحظه‌ای را بدون نیاز به رابط کاربری Cacti بررسی کنید.

2.1. مشاهده ترافیک لحظه‌ای با ifstat

برای مشاهده ترافیک ورودی و خروجی شبکه از طریق یک پورت خاص، می‌توانید از دستور ifstat در لینوکس استفاده کنید.

مثال: مشاهده ترافیک پورت eth0:

ifstat -i eth0

این دستور میزان ترافیک ورودی و خروجی پورت eth0 را به‌صورت لحظه‌ای نمایش می‌دهد.

2.2. مشاهده ترافیک لحظه‌ای با vnstat

دستور vnstat یکی دیگر از ابزارهای مفید برای مشاهده وضعیت ترافیک شبکه به‌صورت لحظه‌ای است.

مثال: نمایش ترافیک لحظه‌ای برای تمامی پورت‌ها:

vnstat -l

این دستور به شما کمک می‌کند تا اطلاعات ترافیک لحظه‌ای را برای تمام پورت‌های شبکه در سیستم خود مشاهده کنید.

2.3. استفاده از snmpwalk برای بررسی وضعیت SNMP

اگر بخواهید وضعیت ترافیک یک دستگاه خاص را از طریق SNMP بررسی کنید، می‌توانید از دستور snmpwalk استفاده کنید. این دستور به شما این امکان را می‌دهد که به‌طور مستقیم از طریق SNMP وضعیت دستگاه‌ها را دریافت کنید.

مثال: بررسی وضعیت ترافیک یک دستگاه با SNMP:

snmpwalk -v 2c -c public 192.168.1.1

این دستور وضعیت SNMP دستگاه با IP 192.168.1.1 را بررسی می‌کند و اطلاعاتی شامل ترافیک شبکه دستگاه را در اختیار شما قرار می‌دهد.


3. پیکربندی فواصل Polling برای جمع‌آوری ترافیک لحظه‌ای

برای مشاهده و تجزیه و تحلیل ترافیک لحظه‌ای دستگاه‌ها در Cacti، باید تنظیمات Polling به‌درستی پیکربندی شده باشد. فواصل Polling تعیین می‌کنند که Cacti چه زمانی باید داده‌ها را از دستگاه‌ها جمع‌آوری کند و گراف‌ها را به‌روزرسانی نماید.

3.1. تنظیم فواصل Polling در Cacti

برای تنظیم فواصل Polling برای جمع‌آوری ترافیک شبکه، باید به بخش Poller Settings در Cacti بروید و تنظیمات آن را تغییر دهید.

گام‌ها برای تنظیم فواصل Polling:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Settings بروید.
  3. در بخش Poller Settings، فواصل Polling را تنظیم کنید.

پیکربندی فواصل Polling از طریق خط فرمان:

برای تغییر فواصل Polling از طریق خط فرمان، می‌توانید فایل پیکربندی poller.xml را ویرایش کنید.

sudo nano /etc/cacti/poller.xml

در این فایل، می‌توانید مقدار poller_interval را تغییر دهید تا فواصل Polling برای جمع‌آوری داده‌ها از دستگاه‌ها به روز شود.


4. عیب‌یابی ترافیک لحظه‌ای

در برخی مواقع ممکن است با مشکلاتی در جمع‌آوری داده‌ها و مشاهده ترافیک لحظه‌ای مواجه شوید. این مشکلات می‌توانند به دلیل پیکربندی نادرست SNMP، خطاهای Polling یا مشکلات در شبکه به وجود آیند.

4.1. بررسی وضعیت Polling

اگر داده‌ها به‌درستی جمع‌آوری نمی‌شوند، می‌توانید وضعیت Polling را بررسی کرده و اطمینان حاصل کنید که فواصل Polling به‌درستی تنظیم شده‌اند.

گام‌های بررسی وضعیت Polling:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Pollers بروید.
  3. بررسی کنید که Poller‌ها در حال کار هستند و هیچ‌گونه خطای مرتبط با Polling وجود ندارد.
4.2. بررسی SNMP و دستگاه‌های شبکه

اگر دستگاه‌ها اطلاعات ترافیک را به‌درستی ارسال نمی‌کنند، باید مطمئن شوید که SNMP به‌درستی پیکربندی شده است و دستگاه‌ها از SNMP برای ارسال داده‌ها استفاده می‌کنند.

برای بررسی وضعیت SNMP از دستور snmpwalk استفاده کنید.


جمع‌بندی

در Cacti، مشاهده ترافیک لحظه‌ای دستگاه‌ها از طریق گراف‌ها، گزارش‌ها و دستورات خط فرمان امکان‌پذیر است. با استفاده از گراف‌های ترافیک، می‌توانید اطلاعات مربوط به ترافیک ورودی و خروجی دستگاه‌ها را به‌صورت گرافیکی مشاهده کنید. همچنین، دستورات خط فرمان مانند ifstat، vnstat و snmpwalk به شما کمک می‌کنند تا وضعیت ترافیک دستگاه‌ها را بدون نیاز به رابط کاربری Cacti بررسی کنید. تنظیمات Polling نیز برای جمع‌آوری داده‌ها از دستگاه‌ها به‌صورت منظم و به‌روزرسانی گراف‌ها ضروری هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تحلیل گراف‌های وضعیت و مصرف منابع” subtitle=”توضیحات کامل”]Cacti به‌عنوان یک ابزار نظارتی شبکه، یکی از قابلیت‌های برجسته خود را در ارائه گراف‌های دقیق و جامع از وضعیت و مصرف منابع شبکه و سرورها دارد. این گراف‌ها به مدیران سیستم و شبکه این امکان را می‌دهند تا به‌طور لحظه‌ای و در بازه‌های زمانی مختلف، وضعیت سلامت و عملکرد سیستم‌ها و دستگاه‌ها را تحلیل کنند. در این بخش، به نحوه تحلیل گراف‌های وضعیت و مصرف منابع در Cacti، از جمله منابعی مانند CPU، حافظه، پهنای باند و دیسک، پرداخته می‌شود.

این گراف‌ها به مدیران شبکه و سیستم این امکان را می‌دهند تا مشکلات احتمالی را شناسایی کرده و اقدامات لازم را برای بهبود عملکرد یا پیشگیری از بروز مشکلات انجام دهند.


1. تحلیل گراف‌های وضعیت دستگاه‌ها

گراف‌های وضعیت دستگاه‌ها به شما این امکان را می‌دهند که سلامت کلی دستگاه‌های شبکه را ارزیابی کنید. این گراف‌ها معمولاً از طریق SNMP داده‌هایی مانند وضعیت CPU، مصرف حافظه، وضعیت پورت‌های شبکه و پهنای باند را جمع‌آوری می‌کنند.

1.1. گراف وضعیت CPU

گراف وضعیت CPU نشان می‌دهد که چگونه پردازنده دستگاه تحت بار قرار دارد. این گراف معمولاً درصد استفاده از CPU در زمان‌های مختلف را به نمایش می‌گذارد.

برای تحلیل این گراف‌ها:

  • اگر درصد استفاده از CPU به‌طور مداوم نزدیک به 100٪ باشد، این موضوع می‌تواند نشان‌دهنده بار زیاد بر روی دستگاه و نیاز به ارتقاء سخت‌افزار یا بهینه‌سازی تنظیمات باشد.
  • تغییرات ناگهانی در استفاده از CPU ممکن است به مشکلات نرم‌افزاری یا حملات DDoS اشاره داشته باشد که باید به سرعت بررسی شوند.

چگونه گراف وضعیت CPU را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه مورد نظر را انتخاب کنید.
  4. گراف‌های مربوط به وضعیت CPU را مشاهده کنید.
1.2. گراف مصرف حافظه

گراف مصرف حافظه به شما اطلاعاتی درباره استفاده از RAM دستگاه در طول زمان می‌دهد. این گراف می‌تواند شامل اطلاعاتی مانند میزان حافظه استفاده‌شده، آزاد، کش‌شده و بافرها باشد.

  • اگر حافظه در حال پر شدن باشد، احتمالاً عملکرد سیستم کاهش می‌یابد و ممکن است نیاز به افزایش ظرفیت حافظه یا مدیریت بهتر فرآیندهای در حال اجرا داشته باشید.

چگونه گراف مصرف حافظه را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه مورد نظر را انتخاب کرده و گراف مصرف حافظه را مشاهده کنید.
1.3. گراف وضعیت شبکه و پهنای باند

گراف وضعیت شبکه و پهنای باند، مقدار ترافیک ورودی و خروجی را در زمان‌های مختلف نشان می‌دهد. این گراف‌ها معمولاً برای ارزیابی عملکرد شبکه و شناسایی مشکلات پهنای باند استفاده می‌شوند.

  • افزایش شدید در ترافیک شبکه ممکن است نشان‌دهنده حملات DDoS، مشکلات پهنای باند یا استفاده زیاد از منابع توسط کاربران باشد.
  • بررسی این گراف‌ها می‌تواند به شما کمک کند تا حجم ترافیک را در زمان‌های اوج شناسایی کرده و برای بهبود آن برنامه‌ریزی کنید.

چگونه گراف وضعیت شبکه را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه و پورت مورد نظر را انتخاب کرده و گراف‌های ترافیک شبکه را مشاهده کنید.
1.4. گراف وضعیت دیسک

گراف وضعیت دیسک نشان‌دهنده وضعیت فضای ذخیره‌سازی و میزان استفاده از دیسک است. این گراف به شما کمک می‌کند تا مطمئن شوید که فضای ذخیره‌سازی دستگاه پر نشده است و به درستی در حال استفاده است.

  • استفاده مفرط از دیسک می‌تواند به کند شدن سیستم یا حتی خرابی دستگاه منجر شود، بنابراین باید این گراف را مرتباً بررسی کنید.

چگونه گراف وضعیت دیسک را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه و دیسک مورد نظر را انتخاب کرده و گراف‌های وضعیت دیسک را مشاهده کنید.

2. تحلیل گراف‌های مصرف منابع سیستم

برای تحلیل دقیق‌تر عملکرد سیستم‌ها و منابع شبکه، باید به تحلیل گراف‌های مصرف منابع توجه ویژه‌ای داشته باشید. این گراف‌ها اطلاعات کاملی از وضعیت مصرف منابع سخت‌افزاری و نرم‌افزاری سیستم‌ها فراهم می‌کنند.

2.1. گراف مصرف پردازنده

این گراف معمولاً استفاده از پردازنده را بر اساس درصد نشان می‌دهد. به‌طور معمول از چهار بخش برای نمایش استفاده پردازنده استفاده می‌شود:

  • User: میزان استفاده از پردازنده برای پردازش‌های کاربران.
  • System: میزان استفاده پردازنده برای پردازش‌های سیستم.
  • Idle: درصد زمانی که پردازنده در حالت بی‌کاری است.
  • Wait: زمانی که پردازنده منتظر دسترسی به دیسک یا سایر منابع است.

چگونه گراف مصرف پردازنده را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه مورد نظر را انتخاب کنید.
  4. گراف‌های مصرف پردازنده را مشاهده کنید.
2.2. گراف مصرف حافظه

این گراف نمایش‌دهنده میزان حافظه استفاده‌شده، آزاد، کش‌شده و بافرها است. تحلیل این گراف‌ها به شما کمک می‌کند تا بفهمید که آیا سیستم به حد اشباع حافظه نزدیک است یا خیر.

چگونه گراف مصرف حافظه را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه مورد نظر را انتخاب کرده و گراف مصرف حافظه را مشاهده کنید.
2.3. گراف وضعیت ذخیره‌سازی

گراف وضعیت ذخیره‌سازی، فضای ذخیره‌سازی کل و مصرف‌شده دستگاه‌ها را نشان می‌دهد. با بررسی این گراف‌ها می‌توانید مشکلات مربوط به دیسک، استفاده بیش از حد از فضا یا خرابی دیسک‌ها را شناسایی کنید.

چگونه گراف وضعیت ذخیره‌سازی را مشاهده کنیم:

  1. وارد رابط کاربری Cacti شوید.
  2. به تب Graphs بروید.
  3. دستگاه مورد نظر را انتخاب کرده و گراف وضعیت دیسک را مشاهده کنید.

3. عیب‌یابی و اقدامات اصلاحی

تحلیل گراف‌ها می‌تواند شما را در شناسایی مشکلات شبکه یا سیستم یاری کند. در صورتی که به نتایج نگران‌کننده برخوردید، باید اقدامات اصلاحی را انجام دهید.

3.1. بررسی ترافیک شبکه بالا

اگر در گراف‌های ترافیک شبکه مشاهده کردید که ترافیک ورودی یا خروجی به‌طور غیرعادی بالا است، باید بررسی کنید که آیا دلیل آن افزایش طبیعی مصرف شبکه است یا مشکلاتی مانند حملات DDoS یا ترافیک بی‌مورد ایجاد شده است.

اقدامات اصلاحی:

  • بررسی شبکه برای شناسایی منابع ترافیک.
  • استفاده از فایروال و ابزارهای ضد حملات DDoS.
3.2. بررسی مصرف بیش از حد حافظه

اگر گراف مصرف حافظه نشان‌دهنده استفاده زیاد از RAM باشد، ممکن است نیاز به اضافه کردن حافظه بیشتر یا بهینه‌سازی سیستم‌عامل و فرآیندهای در حال اجرا داشته باشید.

اقدامات اصلاحی:

  • شناسایی برنامه‌ها و فرآیندهای با مصرف بالای حافظه.
  • افزایش میزان حافظه RAM.
3.3. بررسی مصرف بیش از حد پردازنده

اگر استفاده از پردازنده به طور مداوم بالا باشد، ممکن است نیاز به بهینه‌سازی کدها یا استفاده از سیستم‌های با پردازنده‌های قدرتمندتر باشد.

اقدامات اصلاحی:

  • شناسایی و توقف فرآیندهای با مصرف بالای CPU.
  • بررسی برنامه‌ها و فرآیندهایی که به پردازنده فشار وارد می‌کنند.

جمع‌بندی

تحلیل گراف‌های وضعیت و مصرف منابع در Cacti ابزار قدرتمندی برای نظارت دقیق بر عملکرد دستگاه‌ها و منابع شبکه است. گراف‌هایی مانند وضعیت CPU، مصرف حافظه، وضعیت شبکه و دیسک به شما کمک می‌کنند تا مشکلات موجود در سیستم‌های شبکه و سرور را شناسایی کرده و اقدامات لازم را انجام دهید. با توجه به گراف‌های مختلف و تحلیل آن‌ها، می‌توانید به سرعت به مشکلات احتمالی واکنش نشان دهید و منابع را بهینه‌تر مدیریت کنید.

 [/cdb_course_lesson][cdb_course_lesson title=”فصل 12. ماژول‌های اضافی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آشنایی با افزونه‌های کاربردی در رابط کاربری ” subtitle=”توضیحات کامل”]Cacti به‌عنوان یک ابزار نظارتی شبکه، با قابلیت‌های گرافیکی و نظارتی بسیار قوی، امکان استفاده از افزونه‌های مختلف را فراهم می‌آورد که می‌توانند به بهبود تجربه کاربری و گسترش قابلیت‌های Cacti کمک کنند. این افزونه‌ها ممکن است شامل ماژول‌هایی برای گزارش‌گیری، پایش پروتکل‌های خاص، بهبود عملکرد رابط کاربری یا حتی ارائه ابزارهای بیشتر برای تحلیل داده‌های جمع‌آوری‌شده باشند.

در این بخش، به آشنایی با برخی از افزونه‌های کاربردی در رابط کاربری Cacti پرداخته می‌شود، همچنین نحوه نصب و پیکربندی آنها به‌طور کاملاً عملی و با جزئیات آورده خواهد شد.


1. افزونه‌های گزارش‌گیری و تجزیه و تحلیل داده‌ها

افزونه‌های گزارش‌گیری به شما این امکان را می‌دهند که گزارش‌های پیشرفته‌تری از داده‌های نظارتی Cacti تولید کنید. این افزونه‌ها معمولاً برای پردازش و نمایش داده‌های جمع‌آوری‌شده در قالب‌های مختلف استفاده می‌شوند.

1.1. نصب افزونه Cacti Report Generator

این افزونه برای تولید گزارش‌های سفارشی و پیشرفته از داده‌های شبکه و منابع دستگاه‌ها استفاده می‌شود. این گزارش‌ها می‌توانند شامل اطلاعات مصرف پهنای باند، وضعیت دستگاه‌ها و مصرف منابع باشند.

نصب افزونه:

  1. افزونه Cacti Report Generator را از منبع رسمی Cacti دانلود کنید.
  2. فایل‌های افزونه را به پوشه‌ی plugins Cacti منتقل کنید:
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/cacti-plugin-reports.git
    
  3. پس از دانلود، به قسمت Cacti Web Interface وارد شوید.
  4. به منوی Console بروید و گزینه‌ی Plugin Management را انتخاب کنید.
  5. افزونه Cacti Report Generator را از لیست افزونه‌ها فعال کنید.

پیکربندی افزونه:

  1. پس از فعال‌سازی، به بخش Reports بروید.
  2. می‌توانید گزارش‌ها را از بین گزینه‌های مختلف ایجاد کنید، مانند گزارش‌هایی برای پهنای باند، مصرف CPU، وضعیت دستگاه‌ها و دیگر منابع.
  3. برای ایجاد گزارش جدید، دکمه‌ی Add Report را انتخاب کرده و داده‌های مورد نیاز را وارد کنید.
1.2. افزونه‌ی Data Input Methods

این افزونه به شما این امکان را می‌دهد که منابع داده‌ای جدید برای Cacti وارد کنید و داده‌های جدیدی را برای مانیتورینگ وارد کنید. این افزونه می‌تواند برای اتصال به منابع مختلف داده‌ای مانند پروتکل‌های SNMP، SQL یا حتی API‌ها استفاده شود.

نصب و پیکربندی افزونه:

  1. افزونه Data Input Methods را از منبع رسمی دانلود کنید.
  2. مانند مراحل نصب افزونه‌های دیگر، آن را به پوشه plugins منتقل کنید:
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/cacti-plugin-datainput.git
    
  3. پس از نصب، وارد رابط کاربری Cacti شده و به منوی Console بروید.
  4. به بخش Plugin Management بروید و افزونه Data Input Methods را فعال کنید.
  5. سپس به قسمت Data Input رفته و روش‌های جدید داده‌ای را برای مانیتورینگ اضافه کنید.

2. افزونه‌های گرافیکی و نمایش داده

افزونه‌های گرافیکی می‌توانند قابلیت‌های اضافی برای نمایش گراف‌های سفارشی، بهینه‌سازی نمایش گراف‌ها و یا حتی پشتیبانی از گراف‌های پیچیده‌تر را فراهم کنند.

2.1. افزونه‌ی Cacti Graph Templates

این افزونه مجموعه‌ای از قالب‌های گراف را برای انواع مختلف منابع سیستم و دستگاه‌ها فراهم می‌آورد. این قالب‌ها می‌توانند برای گراف‌هایی مانند مصرف CPU، حافظه، ترافیک شبکه، و دیگر منابع کاربردی باشند.

نصب افزونه:

  1. افزونه Cacti Graph Templates را از منبع رسمی دانلود کنید.
  2. فایل‌ها را در پوشه plugins Cacti کپی کنید:
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/cacti-plugin-graph-templates.git
    
  3. پس از نصب، وارد رابط کاربری Cacti شوید.
  4. به منوی Console بروید و Plugin Management را انتخاب کنید.
  5. افزونه Cacti Graph Templates را فعال کنید.

پیکربندی و استفاده از افزونه:

  1. به منوی Graphs بروید.
  2. گراف‌های پیش‌فرض را از بین گزینه‌های قالب انتخاب کنید.
  3. می‌توانید گراف‌های سفارشی ایجاد کنید یا قالب‌های گراف آماده را به‌راحتی استفاده کنید.
2.2. افزونه‌ی Custom Graphs

افزونه Custom Graphs به شما این امکان را می‌دهد که گراف‌های سفارشی برای انواع منابع مختلف ایجاد کنید. با استفاده از این افزونه می‌توانید گراف‌هایی را طراحی کنید که داده‌های خاص شما را به نمایش می‌گذارند.

نصب و پیکربندی افزونه:

  1. افزونه Custom Graphs را از منبع رسمی دانلود کرده و در پوشه plugins کپی کنید:
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/cacti-plugin-custom-graphs.git
    
  2. پس از نصب، به رابط کاربری Cacti بروید.
  3. به منوی Console بروید و افزونه را فعال کنید.
  4. برای ایجاد گراف‌های سفارشی جدید، از بخش Graphs گزینه Add New Graph را انتخاب کنید و گراف جدید را ایجاد کنید.

3. افزونه‌های امنیتی و نظارت

افزونه‌های امنیتی به شما این امکان را می‌دهند که از وضعیت امنیت شبکه خود آگاه شوید و به‌طور مداوم نظارت کنید.

3.1. افزونه‌ی Cacti Security Monitoring

این افزونه برای نظارت بر وضعیت امنیت شبکه و دستگاه‌ها طراحی شده است. این افزونه می‌تواند اطلاعات مربوط به حملات بالقوه، مشکلات دسترسی غیرمجاز، و سایر تهدیدات امنیتی را جمع‌آوری کند.

نصب و پیکربندی افزونه:

  1. افزونه Cacti Security Monitoring را از منبع رسمی دانلود کنید.
  2. افزونه را به پوشه plugins کپی کرده و آن را فعال کنید.
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/cacti-plugin-security.git
    
  3. پس از فعال‌سازی، وارد رابط کاربری Cacti شوید.
  4. افزونه را در بخش Plugin Management فعال کنید.
  5. سپس به منوی Security Monitoring رفته و سیستم‌های خود را برای نظارت امنیتی پیکربندی کنید.

جمع‌بندی

افزونه‌ها در Cacti ابزارهای قدرتمندی هستند که می‌توانند قابلیت‌های این سیستم نظارتی را گسترش دهند. از افزونه‌های گزارش‌گیری و تجزیه و تحلیل داده‌ها گرفته تا افزونه‌های گرافیکی و امنیتی، هر کدام از این افزونه‌ها می‌توانند به شما کمک کنند تا شبکه و سیستم‌های خود را بهتر نظارت و مدیریت کنید. نصب و پیکربندی افزونه‌ها معمولاً بسیار ساده است و می‌توانید از رابط کاربری Cacti برای فعال‌سازی و تنظیمات آن‌ها استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه دسترسی به ماژول‌های گسترش‌یافته” subtitle=”توضیحات کامل”]Cacti علاوه بر امکانات پیش‌فرضی که برای نظارت بر شبکه و ایجاد گراف‌ها ارائه می‌دهد، قابلیت گسترش با استفاده از ماژول‌ها و افزونه‌های مختلف را نیز دارد. این ماژول‌ها می‌توانند عملکردهای جدیدی را به Cacti اضافه کنند، از جمله امکانات پیشرفته‌تری برای گزارش‌گیری، نمایش گراف‌های خاص یا حتی پشتیبانی از پروتکل‌های مختلف. در این بخش، نحوه دسترسی به این ماژول‌ها و استفاده از آن‌ها در Cacti به‌طور کامل توضیح داده خواهد شد.


1. دسترسی به ماژول‌های گسترش‌یافته از طریق رابط کاربری

Cacti یک رابط کاربری ساده و کاربردی برای مدیریت ماژول‌ها فراهم می‌کند. برای دسترسی به ماژول‌های گسترش‌یافته، کافی است به بخش «مدیریت افزونه‌ها» یا «Plugin Management» در Cacti وارد شوید. در این بخش، شما می‌توانید ماژول‌های جدید را نصب، فعال، غیرفعال و تنظیم کنید.

1.1. دسترسی به ماژول‌ها از طریق رابط کاربری
  1. ابتدا وارد رابط کاربری Cacti شوید.
  2. از منوی بالا، به بخش «Console» بروید.
  3. در این بخش، گزینه «Plugin Management» را انتخاب کنید.
  4. در صفحه‌ی Plugin Management، لیستی از افزونه‌های نصب‌شده و فعال‌شده به شما نمایش داده می‌شود.
1.2. نصب ماژول‌های گسترش‌یافته
  1. برای نصب یک ماژول جدید، ابتدا باید آن را از منبع معتبر (معمولاً GitHub یا وب‌سایت رسمی Cacti) دانلود کنید.
  2. فایل‌های افزونه را به دایرکتوری plugins در Cacti منتقل کنید:
    cd /var/www/html/cacti/plugins
    git clone https://github.com/Cacti/your-plugin-name.git
    
  3. سپس به رابط کاربری Cacti برگردید و به بخش «Plugin Management» بروید.
  4. افزونه جدید را از لیست مشاهده کنید و بر روی دکمه «Activate» کلیک کنید تا افزونه فعال شود.
1.3. تنظیمات ماژول‌های گسترش‌یافته

پس از فعال‌سازی ماژول‌ها، معمولاً باید تنظیمات خاصی را برای هر ماژول انجام دهید. این تنظیمات بسته به نوع افزونه می‌تواند شامل پیکربندی پایگاه داده، تنظیمات امنیتی یا حتی سفارشی‌سازی گراف‌ها باشد.

برای مثال، در ماژول‌های گزارش‌گیری، شما ممکن است نیاز به تعیین فیلترهای خاص برای گزارش‌ها، زمان‌بندی‌های مورد نظر برای جمع‌آوری داده‌ها و قالب‌های گراف‌های مورد استفاده داشته باشید.


2. استفاده از ماژول‌ها برای گراف‌ها و نمایش داده‌ها

Cacti همچنین ماژول‌هایی دارد که برای ایجاد و مدیریت گراف‌ها و نمایش داده‌ها به شما کمک می‌کنند. این ماژول‌ها می‌توانند انواع گراف‌های جدید برای منابع مختلف شبکه یا دستگاه‌ها ارائه دهند.

2.1. نصب ماژول‌های گرافیک

برای نصب ماژول‌هایی که گراف‌های سفارشی و پیشرفته ارائه می‌دهند، از همین روندی که در بخش قبلی توضیح داده شد، استفاده کنید. معمولاً پس از نصب و فعال‌سازی، می‌توانید به منوی «Graphs» رفته و گراف‌های جدید را ایجاد کنید.

2.2. تنظیمات گراف‌ها

در برخی از ماژول‌ها، تنظیمات خاصی برای بهینه‌سازی گراف‌ها وجود دارد. برای مثال، می‌توانید موارد زیر را برای گراف‌ها تنظیم کنید:

  • انتخاب رنگ‌های گراف‌ها
  • تنظیم مقیاس‌گذاری خودکار
  • تنظیم فواصل زمانی جمع‌آوری داده‌ها
  • انتخاب واحدهای داده (برای مثال Mbps، GB)

این تنظیمات را می‌توانید از طریق رابط کاربری Cacti در بخش «Graphs» و سپس «Graph Management» انجام دهید.


3. دسترسی به ماژول‌ها از طریق خط فرمان (Command Line)

برای کاربران حرفه‌ای که به راحتی می‌خواهند از خط فرمان برای نصب و مدیریت ماژول‌ها استفاده کنند، Cacti این امکان را نیز فراهم کرده است.

3.1. نصب افزونه‌ها از طریق Command Line
  1. ابتدا به پوشه plugins در دایرکتوری نصب Cacti بروید:
    cd /var/www/html/cacti/plugins
    
  2. سپس افزونه مورد نظر خود را از GitHub یا منبع دیگری دانلود کنید:
    git clone https://github.com/Cacti/your-plugin-name.git
    
  3. پس از نصب افزونه، باید مجوزهای مورد نیاز را تنظیم کنید تا وب‌سرور بتواند به فایل‌های افزونه دسترسی داشته باشد. به این منظور از دستور زیر استفاده کنید:
    sudo chown -R www-data:www-data /var/www/html/cacti/plugins/your-plugin-name
    
3.2. فعال‌سازی افزونه‌ها از Command Line

برای فعال‌سازی افزونه‌ها از خط فرمان، می‌توانید از دستورات php استفاده کنید. به‌عنوان مثال:

cd /var/www/html/cacti
sudo php -q console.php -e plugin_activate -p your-plugin-name

این دستور افزونه مورد نظر را فعال خواهد کرد. در صورت نیاز به غیرفعال‌سازی، از دستور زیر استفاده کنید:

sudo php -q console.php -e plugin_deactivate -p your-plugin-name
3.3. پیکربندی افزونه‌ها از Command Line

در برخی موارد، افزونه‌ها برای پیکربندی به تغییر در فایل‌های پیکربندی نیاز دارند. برای مثال، در افزونه‌های گزارش‌گیری، معمولاً باید فایلی مانند config.php را ویرایش کنید. شما می‌توانید این فایل‌ها را با استفاده از ویرایشگرهای متنی مانند nano یا vim ویرایش کنید.

برای ویرایش فایل‌های پیکربندی:

sudo nano /var/www/html/cacti/plugins/your-plugin-name/config.php

بعد از انجام تغییرات، فایل را ذخیره کرده و از رابط کاربری یا خط فرمان برای بررسی نتایج استفاده کنید.


4. به‌روزرسانی و مدیریت افزونه‌ها

در صورتی که نیاز به به‌روزرسانی افزونه‌ها داشته باشید، می‌توانید از دستورات git pull برای دریافت آخرین نسخه از افزونه‌ها استفاده کنید:

cd /var/www/html/cacti/plugins/your-plugin-name
git pull origin master

بعد از به‌روزرسانی، مجدداً باید افزونه را فعال کنید (در صورتی که به‌روزرسانی باعث غیرفعال شدن افزونه شده باشد).


جمع‌بندی

دسترس‌پذیری ماژول‌های گسترش‌یافته در Cacti از طریق رابط کاربری و خط فرمان، امکانات زیادی را برای گسترش قابلیت‌های این سیستم نظارتی فراهم می‌آورد. از نصب و پیکربندی افزونه‌ها گرفته تا تنظیمات گراف‌ها و مدیریت گزارش‌ها، هر ماژول به شما این امکان را می‌دهد که به‌طور مؤثرتر و دقیق‌تر شبکه و دستگاه‌های خود را نظارت کنید. استفاده از این ماژول‌ها می‌تواند به شما کمک کند تا قابلیت‌های Cacti را به‌طور کامل سفارشی‌سازی کرده و عملکرد بهتری از آن بدست آورید.

 [/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از ویژگی‌های پیشرفته مثل Auto Discovery ” subtitle=”توضیحات کامل”]ویژگی Auto Discovery یکی از قابلیت‌های بسیار مفید و پیشرفته Cacti است که به شما این امکان را می‌دهد که به‌طور خودکار دستگاه‌ها و سرویس‌های موجود در شبکه را شناسایی کرده و آن‌ها را برای نظارت به سیستم اضافه کنید. این ویژگی به‌ویژه در شبکه‌های بزرگ و پیچیده که تعداد زیادی دستگاه شبکه وجود دارد، بسیار کارآمد است. در این بخش، به نحوه استفاده از این ویژگی در Cacti پرداخته خواهد شد و تنظیمات و پیکربندی‌های مربوطه به‌طور گرافیکی و همچنین با استفاده از دستورات کامندی توضیح داده می‌شود.


1. مفهوم Auto Discovery در Cacti

Auto Discovery فرآیندی است که به‌طور خودکار دستگاه‌های جدید را در شبکه شناسایی می‌کند و آن‌ها را به Cacti اضافه می‌کند. این فرآیند به شما کمک می‌کند تا بدون نیاز به وارد کردن دستی اطلاعات دستگاه‌ها، آن‌ها را به سرعت برای نظارت آماده کنید. به‌طور معمول، این ویژگی از پروتکل‌هایی مانند SNMP استفاده می‌کند تا دستگاه‌ها را شناسایی کرده و داده‌های مورد نیاز را جمع‌آوری نماید.


2. پیکربندی Auto Discovery در Cacti از طریق رابط کاربری

برای فعال‌سازی و استفاده از ویژگی Auto Discovery در Cacti، مراحل زیر را طی کنید:

2.1. ورود به بخش Auto Discovery
  1. وارد رابط کاربری Cacti شوید.
  2. از منوی بالای صفحه به بخش «Console» بروید.
  3. در زیر منوی Console، گزینه «Auto Discovery» را انتخاب کنید.
2.2. پیکربندی تنظیمات Auto Discovery

در این صفحه، شما می‌توانید تنظیمات مربوط به فرآیند شناسایی خودکار دستگاه‌ها را انجام دهید. مهم‌ترین تنظیمات عبارتند از:

  • Subnet: شبکه یا زیرشبکه‌ای که قصد دارید دستگاه‌ها را در آن شناسایی کنید.
  • SNMP Version: نسخه‌ای از SNMP که باید برای شناسایی دستگاه‌ها استفاده شود (برای مثال SNMP v2c یا v3).
  • Community String: رشته جامعه (community string) که برای دسترسی به دستگاه‌ها نیاز است. برای SNMP v2c معمولاً از این رشته برای احراز هویت استفاده می‌شود.
  • Scan Range: بازه‌ای از IP که Cacti باید در آن جستجو کند.

برای مثال، اگر قصد دارید دستگاه‌ها را در شبکه 192.168.1.0/24 جستجو کنید، در بخش Subnet این مقدار را وارد کنید.

2.3. شروع فرآیند Auto Discovery

پس از تنظیمات بالا، برای شروع فرآیند Auto Discovery، کافی است روی دکمه «Discover Devices» کلیک کنید.

Cacti به‌طور خودکار شروع به جستجوی دستگاه‌ها در شبکه کرده و اطلاعات مربوط به آن‌ها را وارد پایگاه داده Cacti خواهد کرد. این دستگاه‌ها پس از شناسایی به‌صورت خودکار به فهرست دستگاه‌های Cacti اضافه می‌شوند.


3. پیکربندی Auto Discovery از طریق خط فرمان

اگر می‌خواهید ویژگی Auto Discovery را از طریق خط فرمان و بدون استفاده از رابط گرافیکی Cacti پیکربندی کنید، می‌توانید از اسکریپت‌ها و ابزارهای موجود استفاده کنید.

3.1. پیکربندی اسکریپت Auto Discovery

برای استفاده از Auto Discovery از خط فرمان، ابتدا باید اسکریپت‌های مربوط به آن را در پوشه Cacti پیدا کرده و ویرایش کنید. این اسکریپت‌ها معمولاً در مسیر /var/www/html/cacti/scripts قرار دارند.

  1. ابتدا وارد دایرکتوری scripts شوید:
    cd /var/www/html/cacti/scripts
    
  2. اسکریپت discovery.php را که برای فرآیند شناسایی خودکار دستگاه‌ها استفاده می‌شود، پیدا کنید.
  3. اسکریپت‌ها را با استفاده از ویرایشگر متنی مثل nano ویرایش کنید:
    sudo nano discovery.php
    
  4. در این اسکریپت، باید تنظیمات مربوط به رنج IP، SNMP community string، و سایر پارامترهای مربوطه را وارد کنید. به‌عنوان مثال، برای جستجو در شبکه 192.168.1.0/24 از این پارامترها استفاده کنید.
3.2. اجرای فرآیند Auto Discovery از خط فرمان

برای شروع فرآیند Auto Discovery از خط فرمان، دستور زیر را اجرا کنید:

sudo php -q /var/www/html/cacti/scripts/discovery.php --subnet 192.168.1.0/24 --community public

این دستور اسکریپت discovery.php را اجرا کرده و دستگاه‌ها را در بازه IP مشخص شده جستجو می‌کند.


4. بررسی دستگاه‌های شناسایی‌شده

پس از اینکه فرآیند Auto Discovery تمام شد، دستگاه‌های شناسایی شده به‌طور خودکار به فهرست دستگاه‌های Cacti اضافه خواهند شد. می‌توانید این دستگاه‌ها را از طریق بخش «Devices» در رابط کاربری Cacti مشاهده کنید.

4.1. مشاهده دستگاه‌ها از رابط کاربری
  1. از منوی بالای صفحه به بخش «Devices» بروید.
  2. در اینجا لیستی از دستگاه‌ها نمایش داده می‌شود که شامل دستگاه‌های جدید شناسایی‌شده از طریق Auto Discovery نیز هست.

برای هر دستگاه، می‌توانید به گراف‌ها و تنظیمات مربوط به آن دسترسی پیدا کنید و آن‌ها را مدیریت کنید.

4.2. مشاهده دستگاه‌ها از خط فرمان

برای مشاهده دستگاه‌ها از طریق خط فرمان، می‌توانید از دستور SQL زیر برای جستجو در پایگاه داده Cacti استفاده کنید:

mysql -u root -p -e "SELECT * FROM device;"

این دستور لیست تمام دستگاه‌های موجود در پایگاه داده Cacti را نمایش خواهد داد.


5. به‌روزرسانی و نگهداری Auto Discovery

Cacti به‌طور خودکار فرآیند Auto Discovery را به‌صورت زمان‌بندی‌شده و مرتب انجام نمی‌دهد. بنابراین، شما باید خودتان زمان‌بندی فرآیندهای شناسایی خودکار جدید را تنظیم کنید. برای این کار، می‌توانید از cron jobs برای زمان‌بندی اسکریپت‌ها استفاده کنید.

5.1. ایجاد Cron Job برای Auto Discovery

برای زمان‌بندی خودکار فرآیند Auto Discovery، ابتدا فایل cron را ویرایش کنید:

crontab -e

سپس، یک خط جدید به این فایل اضافه کنید تا اسکریپت Auto Discovery هر روز ساعت 2 صبح اجرا شود:

0 2 * * * php -q /var/www/html/cacti/scripts/discovery.php --subnet 192.168.1.0/24 --community public

این دستور اسکریپت Auto Discovery را هر روز ساعت 2 صبح اجرا خواهد کرد.


جمع‌بندی

ویژگی Auto Discovery در Cacti یکی از ابزارهای بسیار مفید برای شناسایی و اضافه کردن دستگاه‌ها به صورت خودکار است. با استفاده از این ویژگی، می‌توانید به‌طور مؤثرتر و سریع‌تر شبکه خود را تحت نظارت قرار دهید. فرآیند Auto Discovery می‌تواند هم از طریق رابط کاربری Cacti و هم از طریق خط فرمان انجام شود. این ویژگی به ویژه برای شبکه‌های بزرگ و پیچیده که مدیریت دستی دستگاه‌ها دشوار است، بسیار کاربردی است.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 4. پیکربندی دستگاه‌ها و منابع”][cdb_course_lesson title=”فصل 1. اضافه کردن دستگاه‌ها به Cacti”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مفهوم دستگاه‌ها (Devices) در Cacti” subtitle=”توضیحات کامل”]در Cacti، مفهوم دستگاه‌ها (Devices) به هر یک از اجزای شبکه اطلاق می‌شود که باید مورد نظارت و مانیتورینگ قرار گیرد. این دستگاه‌ها می‌توانند شامل سرورها، روترها، سوئیچ‌ها، فایروال‌ها، دستگاه‌های شبکه و حتی کامپیوترهای شخصی باشند. Cacti با استفاده از پروتکل‌های استاندارد مانند SNMP، داده‌هایی از دستگاه‌ها جمع‌آوری کرده و آن‌ها را به صورت گرافیکی و قابل تحلیل برای کاربران نمایش می‌دهد. این دستگاه‌ها بخش عمده‌ای از شبکه را تشکیل می‌دهند و نظارت بر وضعیت آن‌ها به مدیریت صحیح شبکه کمک می‌کند.

هر دستگاه در Cacti می‌تواند شامل مجموعه‌ای از ویژگی‌ها و پارامترهایی باشد که بر اساس آن‌ها گراف‌ها، هشدارها و گزارش‌ها ساخته می‌شود.

اضافه کردن دستگاه‌ها در Cacti

برای اضافه کردن دستگاه به Cacti، شما باید مراحل زیر را دنبال کنید:

  1. دسترسی به بخش Devices:
    • ابتدا وارد داشبورد Cacti شوید.
    • از منوی اصلی، گزینه Devices را انتخاب کنید.
  2. اضافه کردن دستگاه جدید:
    • بر روی دکمه Add Device کلیک کنید تا صفحه تنظیمات دستگاه جدید باز شود.
  3. پیکربندی دستگاه جدید:
    • در این صفحه، شما باید اطلاعات دستگاه را وارد کنید. این اطلاعات شامل IP Address, Hostname, SNMP Version, و دیگر مشخصات است.

    برای اضافه کردن دستگاه جدید از طریق رابط کاربری، به صورت گرافیکی به شکل زیر عمل می‌کنید:

    • Hostname: وارد کنید.
    • IP Address: آدرس IP دستگاه را وارد کنید.
    • SNMP Version: معمولاً از SNMP v2c یا v3 استفاده می‌شود. برای مثال، اگر از SNMP v2c استفاده می‌کنید، این گزینه را انتخاب کنید.
    • SNMP Community String: رشته ارتباطی (مانند “public” برای SNMP v2c) را وارد کنید.

    در اینجا تنظیمات کلی که وارد می‌کنید به صورت کامندی برای شما آورده می‌شود:

# از طریق CLI برای اضافه کردن دستگاه جدید:
sudo nano /var/www/html/cacti/include/device.php

در این فایل، شما اطلاعات مورد نظر مانند IP, Hostname, و SNMP Community String را به شکل زیر وارد می‌کنید:

// example for device configuration
$device['hostname'] = "192.168.1.1"; // IP address of the device
$device['description'] = "Main Router";
$device['snmp_version'] = "2c"; // SNMP version
$device['snmp_community'] = "public"; // SNMP community string

پس از انجام تنظیمات، Save کنید و دستگاه جدید به سیستم اضافه خواهد شد.

پیکربندی دستگاه‌ها در Cacti

پس از اضافه کردن دستگاه‌ها، می‌توانید تنظیمات خاصی را انجام دهید تا دستگاه‌ها بهینه‌تر مانیتور شوند:

  1. تنظیمات SNMP:
    • به منوی Devices بروید.
    • روی دستگاه مورد نظر کلیک کنید.
    • SNMP Settings را از تنظیمات مربوط به دستگاه تنظیم کنید.
    • در این بخش، شما می‌توانید ورژن SNMP و سایر پارامترهای خاص دستگاه را تنظیم کنید.
  2. میزان Polling (جمع‌آوری داده‌ها):
    • برای هر دستگاه، می‌توانید میزان Polling (یعنی فاصله زمانی بین جمع‌آوری داده‌ها) را تنظیم کنید. به طور پیش‌فرض، Cacti این مقادیر را تنظیم می‌کند، اما شما می‌توانید آن را برای هر دستگاه تغییر دهید.
    • برای تنظیم فاصله زمانی Polling، وارد بخش Device Settings شوید و Polling Interval را به دلخواه تنظیم کنید.
# دستور کامندی برای تنظیم Polling
sudo nano /var/www/html/cacti/include/device.php

در این فایل، می‌توانید مقدار Polling را به شکل زیر تغییر دهید:

$device['polling_interval'] = 300; // 300 seconds (5 minutes)
  1. گراف‌ها:
    • پس از اضافه کردن دستگاه‌ها، می‌توانید گراف‌هایی برای آن‌ها ایجاد کنید.
    • این کار را می‌توانید از طریق رابط کاربری انجام دهید یا با استفاده از دستورات CLI برای ایجاد گراف‌ها.

جمع‌بندی

دستگاه‌ها در Cacti بخش حیاتی برای مانیتورینگ و نظارت بر شبکه هستند. با پیکربندی دستگاه‌ها به درستی، می‌توان از Cacti برای تجزیه و تحلیل دقیق وضعیت شبکه و دریافت هشدارهای مربوط به مشکلات استفاده کرد. این فرآیند هم از طریق رابط گرافیکی و هم از طریق دستورات CLI قابل انجام است. برای بهینه‌سازی عملکرد، می‌توانید پارامترهایی مثل SNMP Version, Polling Interval و گراف‌های دستگاه را به دلخواه خود تنظیم کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مراحل افزودن یک دستگاه جدید به Cacti” subtitle=”توضیحات کامل”]برای افزودن دستگاه جدید به Cacti، می‌توانید از طریق رابط کاربری یا خط فرمان (CLI) اقدام کنید. در ادامه هر دو روش را بررسی می‌کنیم.


افزودن دستگاه از طریق رابط کاربری:

  1. ورود به بخش مدیریت دستگاه‌ها: پس از ورود به Cacti و مشاهده داشبورد، به بخش “Devices” بروید.
    • از منوی سمت چپ، گزینه Devices را انتخاب کنید.
    • این کار شما را به صفحه مدیریت دستگاه‌ها هدایت خواهد کرد.
  2. وارد کردن اطلاعات دستگاه: پس از ورود به صفحه دستگاه‌ها، برای افزودن دستگاه جدید، روی گزینه Add کلیک کنید.

    در این بخش، باید اطلاعات مختلفی برای دستگاه وارد کنید:

    • Device Name: نام دستگاه را وارد کنید. برای مثال: “Router01”.
    • IP Address / DNS Name: آدرس IP دستگاه یا نام DNS آن را وارد کنید. برای مثال: “192.168.1.1”.
    • Description: توضیحاتی در مورد دستگاه وارد کنید.
  3. تنظیم نوع دستگاه: Cacti به شما اجازه می‌دهد تا نوع دستگاه را مشخص کنید. برای این کار، باید از لیست کشویی Device Type انتخاب کنید.

    چند نوع دستگاه معمولی عبارتند از:

    • Generic SNMP-enabled Device: دستگاه‌های عمومی که از SNMP پشتیبانی می‌کنند.
    • Cisco Router: اگر دستگاه شما یک روتر سیسکو است.
    • Linux Server: برای سرورهای لینوکس.

    این انتخاب بستگی به نوع دستگاه شما دارد. مثلا اگر روتر سیسکو دارید، باید این گزینه را انتخاب کنید.

  4. ذخیره اطلاعات دستگاه: پس از وارد کردن اطلاعات، برای ذخیره آن‌ها روی Create کلیک کنید.

افزودن دستگاه از طریق خط فرمان:

اگر نیاز دارید که دستگاه‌ها را از طریق کامند لاین (CLI) اضافه کنید، باید به پایگاه داده Cacti دسترسی داشته باشید و از دستورات SQL برای وارد کردن دستگاه استفاده کنید.

  1. وارد شدن به MySQL: برای وارد شدن به MySQL و دسترسی به پایگاه داده Cacti از دستور زیر استفاده کنید:
    mysql -u root -p cacti
    

    سپس رمز عبور پایگاه داده را وارد کنید.

  2. اضافه کردن رکورد جدید دستگاه: برای افزودن دستگاه جدید به جدول devices، از دستور SQL زیر استفاده کنید. فرض می‌کنیم نام دستگاه Router01 است و آدرس IP آن 192.168.1.1 می‌باشد.
    INSERT INTO devices (host, description, snmp_community, snmp_version, snmp_port, snmp_timeout, snmp_retries, device_type)
    VALUES ('Router01', 'Description of Router01', 'public', '2c', '161', '5', '3', '1');
    
    • host: نام دستگاه
    • description: توضیحات دستگاه
    • snmp_community: گروه SNMP (مانند “public”)
    • snmp_version: نسخه SNMP (برای مثال “2c”)
    • snmp_port: پورت SNMP (معمولاً 161)
    • snmp_timeout: زمان انتظار برای SNMP (برای مثال 5 ثانیه)
    • snmp_retries: تعداد تلاش‌های SNMP قبل از خطا (برای مثال 3)
    • device_type: نوع دستگاه (در اینجا ‘1’ به معنی دستگاه SNMP عمومی است)
  3. خروج از MySQL: بعد از اضافه کردن رکورد دستگاه، از MySQL خارج شوید:
    EXIT;
    

جمع‌بندی

در این بخش، مراحل افزودن دستگاه به Cacti هم از طریق رابط کاربری و هم از طریق خط فرمان توضیح داده شد. افزودن دستگاه‌ها از طریق رابط کاربری ساده و بصری است، در حالی که از طریق خط فرمان نیاز به دسترسی به پایگاه داده و انجام دستورات SQL دارد. این مراحل به شما کمک می‌کنند تا دستگاه‌های مختلف شبکه را به راحتی به سیستم Cacti اضافه کنید و از قابلیت‌های مانیتورینگ آن بهره‌برداری نمایید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. تنظیمات SNMP”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مفهوم SNMP (Simple Network Management Protocol) و کاربرد آن در Cacti” subtitle=”توضیحات کامل”]SNMP (Simple Network Management Protocol) یک پروتکل استاندارد در شبکه است که برای نظارت، مدیریت و کنترل دستگاه‌های شبکه‌ای استفاده می‌شود. این پروتکل به مدیران شبکه این امکان را می‌دهد که دستگاه‌های مختلف مانند روترها، سوئیچ‌ها، سرورها و دیگر دستگاه‌های متصل به شبکه را از راه دور کنترل کنند و داده‌های مربوط به عملکرد آن‌ها را جمع‌آوری کنند.

در این بخش، ما به طور خاص به کاربرد SNMP در Cacti خواهیم پرداخت. Cacti یک نرم‌افزار نظارتی است که از SNMP برای جمع‌آوری اطلاعات و نظارت بر وضعیت شبکه استفاده می‌کند. در واقع، Cacti می‌تواند اطلاعاتی همچون میزان استفاده از پهنای باند، وضعیت CPU، RAM و دیگر منابع دستگاه‌ها را از طریق SNMP دریافت کند و گراف‌های تحلیلی زیبا و کاربردی از آن‌ها بسازد.


نحوه عملکرد SNMP

SNMP به‌طور معمول از چهار عنصر اصلی برای انجام عملیات خود استفاده می‌کند:

  1. SNMP Manager: نرم‌افزاری است که معمولاً بر روی یک سیستم مرکزی (مانند Cacti) اجرا می‌شود و داده‌ها را از دستگاه‌های شبکه جمع‌آوری می‌کند.
  2. SNMP Agent: برنامه‌ای که بر روی دستگاه‌های شبکه مانند روترها یا سوئیچ‌ها اجرا می‌شود و اطلاعات وضعیت آن دستگاه‌ها را از طریق SNMP برای Manager ارسال می‌کند.
  3. MIB (Management Information Base): مجموعه‌ای از داده‌ها است که توسط SNMP Agent ارائه می‌شود. این داده‌ها شامل اطلاعاتی همچون ترافیک شبکه، وضعیت CPU، و میزان استفاده از RAM هستند.
  4. OIDs (Object Identifiers): شناسه‌های منحصر به فردی هستند که برای اشاره به داده‌های مختلف در MIB استفاده می‌شوند. هر داده در MIB یک OID مخصوص دارد.

کاربرد SNMP در Cacti

Cacti از پروتکل SNMP برای جمع‌آوری داده‌ها از دستگاه‌های شبکه استفاده می‌کند و سپس از این داده‌ها برای ایجاد گراف‌ها و نمودارهایی که وضعیت شبکه را به‌طور دقیق نشان می‌دهند، استفاده می‌کند. این ویژگی در شبکه‌های بزرگ که شامل تعداد زیادی دستگاه هستند، بسیار مفید است.

در Cacti، هنگامی که شما دستگاه جدیدی را به سیستم اضافه می‌کنید، می‌توانید از SNMP برای پیکربندی دستگاه و جمع‌آوری داده‌ها استفاده کنید. Cacti از SNMP برای انجام کارهای زیر بهره می‌برد:

  • جمع‌آوری اطلاعات در مورد وضعیت دستگاه‌ها (روترها، سوئیچ‌ها، سرورها و …).
  • جمع‌آوری داده‌های مربوط به پهنای باند، CPU، RAM و دیگر منابع دستگاه‌ها.
  • ایجاد گراف‌های پیشرفته برای تجزیه و تحلیل عملکرد دستگاه‌ها.
  • تنظیم هشدارها و آلارم‌ها بر اساس مقادیر خاص دستگاه‌ها (مثلاً اگر میزان استفاده از CPU از حد معینی بیشتر شد).

نحوه پیکربندی SNMP در Cacti

برای پیکربندی SNMP در Cacti، باید از طریق رابط کاربری Cacti اقدام کنید. مراحل زیر را دنبال کنید:

  1. افزودن دستگاه جدید: برای اضافه کردن دستگاه جدیدی که باید اطلاعات آن از طریق SNMP جمع‌آوری شود، ابتدا وارد بخش مدیریت دستگاه‌ها (Devices) در Cacti شوید و دستگاه جدیدی را اضافه کنید.

    در بخش افزودن دستگاه جدید، باید اطلاعات زیر را وارد کنید:

    • Hostname: نام دستگاه یا آدرس IP آن.
    • SNMP Community: شناسه SNMP که معمولاً “public” برای دسترسی خواندنی است.
    • SNMP Version: نسخه SNMP که معمولاً از نسخه 2c استفاده می‌شود.
    • SNMP Port: پورت SNMP که به‌طور پیش‌فرض 161 است.
    • Device Type: نوع دستگاه، مثل “Generic SNMP-enabled Device” یا نوع خاص دیگری که به دستگاه شما مربوط می‌شود.
  2. پیکربندی اطلاعات SNMP برای دستگاه: پس از افزودن دستگاه، Cacti از طریق SNMP به دستگاه مورد نظر متصل شده و اطلاعاتی از آن را جمع‌آوری می‌کند. شما می‌توانید این تنظیمات را در بخش “Devices” مشاهده و ویرایش کنید.

    در این قسمت می‌توانید شناسه SNMP، نسخه آن و آدرس IP دستگاه را برای اتصال به SNMP تنظیم کنید.

  3. ایجاد گراف‌های SNMP: پس از پیکربندی دستگاه از طریق SNMP، شما باید گراف‌هایی برای نمایش داده‌های جمع‌آوری‌شده ایجاد کنید. Cacti به‌طور خودکار گراف‌هایی برای دستگاه‌هایی که از SNMP پشتیبانی می‌کنند، ایجاد می‌کند. این گراف‌ها شامل اطلاعاتی از قبیل:
    • ترافیک شبکه
    • استفاده از CPU
    • میزان حافظه
    • وضعیت دیسک و سایر اطلاعات مرتبط به دستگاه هستند.

    برای ایجاد گراف‌های جدید، وارد بخش Graph Management شده و روی گزینه Create کلیک کنید. در این قسمت، شما می‌توانید گراف‌هایی را که به دستگاه مورد نظر مرتبط هستند، انتخاب کرده و برای آن دستگاه ایجاد کنید.


بررسی پیکربندی SNMP از طریق خط فرمان

در بسیاری از موارد، ممکن است بخواهید تنظیمات SNMP را به‌طور دستی از طریق خط فرمان پیکربندی کنید. در این‌جا نحوه پیکربندی SNMP بر روی دستگاه‌ها به‌ویژه سرورهای Linux و روترهای Cisco توضیح داده می‌شود.

پیکربندی SNMP بر روی سرور Linux:
  1. نصب SNMP Agent: برای نصب SNMP Agent بر روی یک سرور لینوکس (مانند Ubuntu)، دستور زیر را وارد کنید:
    sudo apt-get install snmpd
    
  2. ویرایش پیکربندی SNMP: فایل پیکربندی SNMP معمولاً در مسیر /etc/snmp/snmpd.conf قرار دارد. برای ویرایش این فایل از ویرایشگر متن مانند nano استفاده کنید:
    sudo nano /etc/snmp/snmpd.conf
    

    در این فایل، می‌توانید تنظیمات مختلف SNMP مانند جامعه SNMP و پورت را پیکربندی کنید. برای مثال، برای تنظیم دسترسی عمومی با جامعه public، خط زیر را اضافه کنید:

    com2sec notConfigUser  default       public
    
  3. راه‌اندازی مجدد سرویس SNMP: پس از ویرایش فایل پیکربندی، باید سرویس SNMP را مجدداً راه‌اندازی کنید:
    sudo systemctl restart snmpd
    
پیکربندی SNMP بر روی روتر Cisco:

برای پیکربندی SNMP بر روی یک روتر Cisco، مراحل زیر را دنبال کنید:

  1. ورود به وضعیت پیکربندی:

    ابتدا به روتر وارد شوید و به حالت پیکربندی بروید:

    enable
    configure terminal
    
  2. تنظیم جامعه SNMP: برای تعریف جامعه SNMP، دستور زیر را وارد کنید:
    snmp-server community public RO
    
  3. فعال کردن SNMP بر روی اینترفیس‌ها: برای فعال کردن SNMP بر روی اینترفیس خاص، دستور زیر را وارد کنید:
    snmp-server enable traps
    

جمع‌بندی

SNMP یک پروتکل حیاتی برای نظارت و مدیریت دستگاه‌های شبکه است. در Cacti، این پروتکل برای جمع‌آوری داده‌ها از دستگاه‌های مختلف استفاده می‌شود و به‌طور مستقیم بر اساس این داده‌ها، گراف‌ها و گزارش‌ها ایجاد می‌شود. Cacti از SNMP برای دریافت اطلاعات دستگاه‌ها مانند روترها، سوئیچ‌ها و سرورها استفاده می‌کند و با استفاده از آن می‌توانید وضعیت شبکه خود را به‌طور دقیق مانیتور کنید. همچنین، پیکربندی SNMP هم از طریق رابط کاربری Cacti و هم از طریق خط فرمان انجام‌پذیر است، که این امکان را برای شما فراهم می‌کند تا به‌راحتی داده‌ها را جمع‌آوری و نظارت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”انواع نسخه‌های SNMP (v1، v2c، v3) و انتخاب مناسب برای دستگاه” subtitle=”توضیحات کامل”]SNMP (Simple Network Management Protocol)، پروتکلی است که برای نظارت و مدیریت دستگاه‌های شبکه‌ای از قبیل روترها، سوئیچ‌ها، سرورها و دستگاه‌های دیگر استفاده می‌شود. این پروتکل به سه نسخه اصلی تقسیم می‌شود: SNMP v1، SNMP v2c و SNMP v3. هر کدام از این نسخه‌ها ویژگی‌ها و امکانات خاص خود را دارند که بسته به نیاز شبکه و دستگاه‌های شما، ممکن است یکی از آن‌ها برای شما مناسب‌تر باشد. در این بخش، قصد داریم به‌طور جامع و کاربردی به معرفی این نسخه‌ها پرداخته و کمک کنیم که بدانید کدام نسخه برای دستگاه‌های شما مناسب‌تر است.


1. SNMP v1 (نسخه اول)

SNMP v1 قدیمی‌ترین نسخه از پروتکل SNMP است که در اوایل دهه ۱۹۸۰ میلادی معرفی شد. این نسخه به‌صورت اولیه برای نظارت بر وضعیت دستگاه‌های شبکه طراحی شد و هنوز در بسیاری از دستگاه‌ها به‌ویژه در شبکه‌های کوچک یا در محیط‌های کمتر پیچیده مورد استفاده قرار می‌گیرد.

  • ویژگی‌ها:
    • بدون امنیت: در SNMP v1، هیچ مکانیزم امنیتی قوی‌ای وجود ندارد. اطلاعات مانند کلمه عبور (که در SNMP به‌عنوان “community string” شناخته می‌شود) به‌طور ساده در متن (plaintext) ارسال می‌شود.
    • محدودیت‌ها: تنها از نوع داده‌های پایه مانند شمارش‌ها و شمارش‌گرها پشتیبانی می‌کند.
    • کارایی پایین: ممکن است برای شبکه‌های بزرگ مناسب نباشد، زیرا اطلاعات زیادی به‌صورت عمومی ارسال می‌شود و مانع از تأمین امنیت می‌شود.
  • مناسب برای:
    • شبکه‌های ساده با تعداد دستگاه‌های محدود
    • دستگاه‌هایی که نیاز به امنیت کمتری دارند

پیکربندی SNMP v1 در Cacti: برای پیکربندی SNMP v1 در Cacti، به‌طور معمول از یک community string مانند public یا private استفاده می‌شود. برای اتصال به دستگاه‌های مختلف و دریافت اطلاعات از طریق SNMP v1، مراحل زیر را دنبال کنید:

  1. به Devices بروید و دستگاه جدیدی را اضافه کنید.
  2. در قسمت SNMP Version گزینه v1 را انتخاب کنید.
  3. در قسمت Community String مقدار public را وارد کنید.
# مثال از پیکربندی SNMP v1 بر روی یک دستگاه لینوکس
com2sec local     default    public

2. SNMP v2c (نسخه دوم، Community-based)

SNMP v2c نسخه‌ای از SNMP است که بهبودهایی نسبت به نسخه v1 دارد. این نسخه ویژگی‌هایی همچون سرعت بالاتر در انتقال داده‌ها، پشتیبانی از انواع داده‌های بیشتر و همچنین برخی ویژگی‌های امنیتی اضافی را به همراه دارد. نسخه v2c به‌طور خاص از community strings برای دسترسی استفاده می‌کند و از نظر امنیتی، مانند نسخه v1، هنوز مشکلاتی دارد.

  • ویژگی‌ها:
    • سرعت بالاتر: با استفاده از پروتکل‌های جدیدتر و انتقال داده‌های بیشتر به‌طور همزمان، سرعت بالاتری را ارائه می‌دهد.
    • پشتیبانی از داده‌های بیشتر: قابلیت‌های بهبودیافته برای جمع‌آوری داده‌ها و نظارت بر وضعیت دستگاه‌ها.
    • امنیت ضعیف: مانند SNMP v1، از امنیت بالایی برخوردار نیست و community strings هنوز به‌صورت متن ساده ارسال می‌شوند.
  • مناسب برای:
    • شبکه‌های متوسط تا بزرگ که به سرعت بالاتر در انتقال داده‌ها نیاز دارند.
    • سازمان‌هایی که هنوز به سطح بالاتری از امنیت نیاز ندارند.

پیکربندی SNMP v2c در Cacti: برای پیکربندی SNMP v2c در Cacti، مانند نسخه v1، از community string برای دسترسی به دستگاه‌ها استفاده می‌شود، اما این نسخه دارای ویژگی‌های اضافی مثل ذخیره داده‌های بیشتر است. مراحل پیکربندی مشابه نسخه v1 است.

  1. به Devices بروید و دستگاه جدیدی را اضافه کنید.
  2. در قسمت SNMP Version گزینه v2c را انتخاب کنید.
  3. در قسمت Community String مقدار public یا مقدار دیگر مورد نظر خود را وارد کنید.
# مثال از پیکربندی SNMP v2c بر روی یک دستگاه لینوکس
com2sec local     default    public

3. SNMP v3 (نسخه سوم)

SNMP v3 جدیدترین نسخه از پروتکل SNMP است که امنیت را به‌طور کامل بهبود می‌بخشد. این نسخه به‌طور خاص برای مدیریت شبکه‌های بزرگ و پیچیده طراحی شده است و شامل ویژگی‌هایی چون احراز هویت و رمزگذاری داده‌ها برای افزایش امنیت است.

  • ویژگی‌ها:
    • امنیت بالا: در SNMP v3، از احراز هویت (Authentication) و رمزگذاری (Encryption) برای امنیت بیشتر استفاده می‌شود. این پروتکل از الگوریتم‌هایی همچون SHA برای احراز هویت و AES برای رمزگذاری استفاده می‌کند.
    • پشتیبانی از سطح دسترسی دقیق‌تر: در این نسخه، شما می‌توانید سطح دسترسی‌های دقیق‌تری برای کاربران مختلف تنظیم کنید، مثل دسترسی فقط خواندنی یا دسترسی نوشتنی.
    • قابلیت‌های مدیریتی پیشرفته: این نسخه علاوه بر نظارت، از ویژگی‌های مدیریتی پیشرفته‌تری مانند اصلاح پیکربندی دستگاه‌ها از راه دور پشتیبانی می‌کند.
  • مناسب برای:
    • شبکه‌های پیچیده با تعداد زیادی دستگاه و نیاز به امنیت بالا.
    • سازمان‌ها و محیط‌های کاری که نیاز به حفاظت از داده‌ها و تنظیمات دسترسی دقیق دارند.

پیکربندی SNMP v3 در Cacti: برای پیکربندی SNMP v3 در Cacti، ابتدا باید در دستگاه‌های شبکه خود پیکربندی SNMP v3 را فعال کرده و سپس Cacti را برای استفاده از ویژگی‌های امنیتی آن تنظیم کنید. در Cacti، باید نام کاربری و پسورد برای احراز هویت و الگوریتم رمزگذاری را وارد کنید.

  1. به Devices بروید و دستگاه جدیدی را اضافه کنید.
  2. در قسمت SNMP Version گزینه v3 را انتخاب کنید.
  3. در قسمت‌های مربوط به Username، Auth Protocol (مثل SHA یا MD5)، و Priv Protocol (مانند AES یا DES)، مقادیر مربوطه را وارد کنید.
# مثال از پیکربندی SNMP v3 بر روی یک دستگاه لینوکس
createUser("username", "authPassword", "privPassword")

انتخاب نسخه مناسب برای دستگاه‌ها

انتخاب نسخه مناسب SNMP بستگی به نیازهای شبکه، سطح امنیت و پیچیدگی دستگاه‌ها دارد:

  • SNMP v1:
    • انتخاب مناسب برای شبکه‌های ساده و دستگاه‌هایی که نیاز به امنیت بالا ندارند.
    • توصیه نمی‌شود برای شبکه‌های بزرگ یا حساس.
  • SNMP v2c:
    • انتخاب مناسب برای شبکه‌های متوسط که نیاز به سرعت بالاتر و قابلیت‌های بیشتر دارند.
    • همچنان در سطح امنیت پایین است، اما بهتر از v1 است.
  • SNMP v3:
    • انتخاب عالی برای شبکه‌های پیچیده و سازمان‌هایی که نیاز به امنیت بالا، احراز هویت و رمزگذاری دارند.
    • برای شبکه‌های حساس و دستگاه‌های امنیتی توصیه می‌شود.

جمع‌بندی

SNMP نسخه‌های مختلفی دارد که هرکدام برای کاربردهای خاص طراحی شده‌اند. SNMP v1 برای شبکه‌های ساده و دستگاه‌های با نیاز امنیتی کم مناسب است، در حالی که SNMP v2c ویژگی‌های پیشرفته‌تری در زمینه سرعت و انتقال داده‌ها ارائه می‌دهد. SNMP v3 بهترین گزینه برای شبکه‌های پیچیده است که امنیت بالا و مدیریت پیشرفته‌تری نیاز دارند. انتخاب نسخه مناسب باید بر اساس نیازهای شبکه و اولویت‌های امنیتی شما انجام شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”وارد کردن اطلاعات SNMP” subtitle=”توضیحات کامل”]برای وارد کردن اطلاعات SNMP در Cacti، بسته به نسخه‌ای که استفاده می‌کنید (SNMP v1، v2c یا v3)، باید اطلاعات مختلفی را وارد کنید. این اطلاعات به‌طور کلی شامل SNMP Community String (برای نسخه‌های v1 و v2c) یا SNMP Username، Authentication و Encryption (برای نسخه v3) می‌باشد. در ادامه نحوه پیکربندی این اطلاعات هم از طریق رابط گرافیکی Cacti و هم به‌صورت کامندی در سیستم توضیح داده می‌شود.


1. SNMP Community (برای نسخه‌های v1 و v2c)

در نسخه‌های SNMP v1 و v2c، به‌جای استفاده از نام‌کاربری و رمزعبور، از Community String برای دسترسی به اطلاعات دستگاه‌ها استفاده می‌شود. Community string مشابه یک رمز عبور عمل می‌کند و معمولاً به دو نوع تقسیم می‌شود:

  • public: برای دسترسی فقط خواندنی.
  • private: برای دسترسی خواندنی و نوشتنی.

وارد کردن SNMP Community در Cacti:

  1. وارد Cacti شوید و به بخش Devices بروید.
  2. دستگاه مورد نظر را انتخاب کرده یا یک دستگاه جدید اضافه کنید.
  3. در قسمت SNMP Version گزینه v1 یا v2c را انتخاب کنید.
  4. در فیلد Community String، یکی از مقادیر زیر را وارد کنید:
    • برای دسترسی فقط خواندنی: public
    • برای دسترسی خواندنی و نوشتنی: private

مثال: اگر بخواهید از community string cacti_readonly استفاده کنید، این مقدار را در فیلد Community String وارد کنید.

# برای پیکربندی SNMP v2c در Cacti:
1. به بخش Devices بروید.
2. SNMP Version را v2c انتخاب کنید.
3. Community String را برابر با `cacti_readonly` وارد کنید.

2. SNMP Username، Authentication و Encryption (برای نسخه v3)

در نسخه SNMP v3، علاوه بر community string، باید از Username، Authentication و Encryption برای احراز هویت و رمزگذاری استفاده کنید. این نسخه امن‌تر از v1 و v2c است و به شما این امکان را می‌دهد که پروتکل‌های مختلف امنیتی مانند SHA و MD5 برای احراز هویت و AES یا DES برای رمزگذاری استفاده کنید.

وارد کردن SNMP v3 در Cacti:

  1. وارد Cacti شوید و به بخش Devices بروید.
  2. دستگاه مورد نظر را انتخاب کرده یا یک دستگاه جدید اضافه کنید.
  3. در قسمت SNMP Version گزینه v3 را انتخاب کنید.
  4. در فیلد SNMP Username، نام کاربری برای احراز هویت وارد کنید (مثلاً cacti_user).
  5. در قسمت Authentication Protocol، یکی از پروتکل‌های MD5 یا SHA را انتخاب کنید.
  6. در فیلد Authentication Passphrase، پسورد احراز هویت را وارد کنید.
  7. در قسمت Privacy Protocol، یک پروتکل رمزگذاری مانند AES یا DES را انتخاب کنید.
  8. در فیلد Privacy Passphrase، پسورد رمزگذاری را وارد کنید.

مثال: اگر نام کاربری شما cacti_user باشد و از SHA برای احراز هویت و AES برای رمزگذاری استفاده کنید، تنظیمات به شکل زیر خواهد بود:

# پیکربندی SNMP v3 در Cacti:
1. SNMP Version را به v3 تغییر دهید.
2. SNMP Username را برابر با `cacti_user` وارد کنید.
3. Authentication Protocol را به SHA تغییر دهید.
4. Authentication Passphrase را برابر با `authPassword` وارد کنید.
5. Privacy Protocol را برابر با AES وارد کنید.
6. Privacy Passphrase را برابر با `privPassword` وارد کنید.

تنظیمات کامندی برای SNMP

برای پیکربندی دستگاه‌ها و سرورها به‌صورت کامندی و تغییر تنظیمات SNMP در سرورهای Linux، می‌توان از دستورالعمل‌های زیر استفاده کرد. برای تنظیم SNMP، از فایل پیکربندی snmpd.conf استفاده می‌شود.

پیکربندی SNMP v2c:

  1. ابتدا فایل پیکربندی SNMP را باز کنید:
sudo nano /etc/snmp/snmpd.conf
  1. برای تنظیم community string، مقدار آن را به شکل زیر وارد کنید:
# برای SNMP v2c
rocommunity public

در صورت نیاز به استفاده از community string با سطح دسترسی نوشتنی:

# برای دسترسی خواندنی و نوشتنی
rwcommunity private
  1. پس از انجام تغییرات، سرویس SNMP را ری‌استارت کنید:
sudo systemctl restart snmpd

پیکربندی SNMP v3:

  1. برای پیکربندی SNMP v3 در سیستم، باید ابتدا یک کاربر جدید ایجاد کنید که با آن احراز هویت و رمزگذاری انجام شود. این کار را می‌توان با استفاده از دستور زیر انجام داد:
# ایجاد کاربر جدید برای SNMP v3
sudo net-snmp-create-v3-user -ro -A "authPassword" -X "privPassword" -a SHA -x AES cacti_user
  1. پس از ایجاد کاربر، فایل پیکربندی SNMP را ویرایش کنید:
sudo nano /etc/snmp/snmpd.conf
  1. کاربر جدید را با مشخصات احراز هویت و رمزگذاری تنظیم کنید:
# تنظیمات SNMP v3
createUser "cacti_user" SHA "authPassword" AES "privPassword"
  1. پس از انجام تغییرات، سرویس SNMP را ری‌استارت کنید:
sudo systemctl restart snmpd

جمع‌بندی

در این بخش، نحوه وارد کردن اطلاعات SNMP برای نسخه‌های مختلف v1، v2c و v3 در Cacti و همچنین نحوه پیکربندی این اطلاعات به‌صورت کامندی در سرورهای Linux بررسی شد. برای نسخه‌های v1 و v2c از community string استفاده می‌شود که بسته به نوع دسترسی (خواندنی یا خواندنی و نوشتنی) تنظیم می‌شود. در SNMP v3 علاوه بر community string، از اطلاعات امنیتی مانند SNMP Username، Authentication و Encryption برای ایمن‌سازی ارتباطات استفاده می‌شود. این تنظیمات هم به‌صورت گرافیکی در رابط کاربری Cacti و هم به‌صورت کامندی در سرورها قابل پیکربندی هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آزمایش ارتباط SNMP با دستگاه” subtitle=”توضیحات کامل”]برای اطمینان از صحت پیکربندی SNMP و بررسی دسترسی به دستگاه‌های شبکه از طریق SNMP، می‌توان از ابزارهای داخلی Cacti استفاده کرد. این ابزارها به شما امکان می‌دهند تا ارتباط SNMP را تست کرده و اطمینان حاصل کنید که تنظیمات به درستی انجام شده‌اند.

در این بخش نحوه آزمایش ارتباط SNMP با دستگاه‌ها از طریق Cacti به‌صورت گرافیکی و کامندی توضیح داده خواهد شد.


1. آزمایش ارتباط SNMP از طریق رابط کاربری Cacti

در Cacti ابزارهایی برای آزمایش ارتباط SNMP با دستگاه‌ها وجود دارد که به شما کمک می‌کنند ارتباط با دستگاه‌ها را بررسی کنید. یکی از این ابزارها، “Test SNMP” است که می‌تواند بررسی کند که آیا دستگاه مورد نظر به درستی از طریق SNMP در دسترس است یا خیر.

مراحل آزمایش ارتباط SNMP از طریق رابط کاربری Cacti:

  1. وارد Cacti شوید.
  2. از منوی Console به بخش Devices بروید.
  3. دستگاهی را که می‌خواهید ارتباط SNMP آن را بررسی کنید انتخاب کنید.
  4. در صفحه اطلاعات دستگاه، گزینه Test SNMP را پیدا کرده و روی آن کلیک کنید.
  5. در پنجره باز شده، SNMP Version، Community String (برای نسخه‌های v1 و v2c) یا Username و اطلاعات احراز هویت (برای نسخه v3) را وارد کنید.
  6. پس از وارد کردن این اطلاعات، روی Test کلیک کنید.

اگر ارتباط برقرار باشد، پیام “Success” نمایش داده می‌شود. در غیر این صورت، پیام خطا نمایش خواهد یافت که به شما کمک می‌کند مشکل را شناسایی کنید.


2. آزمایش ارتباط SNMP با استفاده از ابزار snmpwalk

ابزار snmpwalk یک ابزار خط فرمان است که برای بررسی ارتباط SNMP با دستگاه‌ها استفاده می‌شود. با استفاده از این ابزار می‌توانید به راحتی بررسی کنید که دستگاه از طریق SNMP در دسترس است یا خیر.

نصب ابزار snmpwalk

در صورت عدم نصب، ابتدا باید snmpwalk را نصب کنید. برای این کار می‌توانید از دستور زیر استفاده کنید:

sudo apt-get install snmp

نحوه استفاده از snmpwalk

  1. برای آزمایش ارتباط SNMP از طریق نسخه‌های v1 و v2c:
snmpwalk -v 2c -c public <IP-Address>

در این دستور:

  • -v 2c: نشان‌دهنده نسخه SNMP (می‌توانید از 1 یا 3 هم استفاده کنید).
  • -c public: نام community string است که معمولاً public برای دسترسی خواندنی و private برای دسترسی نوشتنی استفاده می‌شود.
  • <IP-Address>: آدرس IP دستگاهی است که می‌خواهید تست کنید.

مثال:

snmpwalk -v 2c -c public 192.168.1.1

اگر ارتباط برقرار باشد، لیستی از داده‌های دستگاه به شما نمایش داده خواهد شد.

  1. برای آزمایش ارتباط SNMP با استفاده از نسخه v3 (که از احراز هویت و رمزگذاری استفاده می‌کند):
snmpwalk -v 3 -u cacti_user -a SHA -A authPassword -x AES -X privPassword <IP-Address>

در این دستور:

  • -v 3: نشان‌دهنده نسخه SNMP v3 است.
  • -u cacti_user: نام کاربری SNMP v3 است.
  • -a SHA: پروتکل احراز هویت (می‌تواند SHA یا MD5 باشد).
  • -A authPassword: رمز عبور احراز هویت.
  • -x AES: پروتکل رمزگذاری (می‌تواند AES یا DES باشد).
  • -X privPassword: رمز عبور رمزگذاری.

مثال:

snmpwalk -v 3 -u cacti_user -a SHA -A authPassword -x AES -X privPassword 192.168.1.1

اگر ارتباط برقرار باشد، لیستی از داده‌های دستگاه به شما نمایش داده خواهد شد.


3. آزمایش ارتباط SNMP از طریق دستور snmpget

در صورتی که بخواهید یک متغیر خاص از دستگاه را از طریق SNMP درخواست کنید، می‌توانید از دستور snmpget استفاده کنید. این دستور برای دریافت یک مقدار خاص از دستگاه‌ها به کار می‌رود.

نحوه استفاده از snmpget:

  1. برای درخواست یک متغیر از دستگاه با استفاده از SNMP v2c:
snmpget -v 2c -c public <IP-Address> <OID>

در این دستور:

  • -v 2c: نسخه SNMP (می‌توانید از 1 یا 3 هم استفاده کنید).
  • -c public: community string برای دسترسی به دستگاه.
  • <IP-Address>: آدرس IP دستگاه.
  • <OID>: Object Identifier (شناسه شیء) متغیر مورد نظر است که می‌خواهید مقدار آن را دریافت کنید.

مثال:

snmpget -v 2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0

این دستور اطلاعات مربوط به System Description دستگاه را درخواست می‌کند.

  1. برای استفاده از snmpget با نسخه v3:
snmpget -v 3 -u cacti_user -a SHA -A authPassword -x AES -X privPassword <IP-Address> <OID>

4. استفاده از ابزارهای دیگر برای آزمایش ارتباط SNMP

علاوه بر ابزارهای Cacti و snmpwalk، ابزارهای دیگری هم برای بررسی ارتباط SNMP وجود دارند. یکی از معروف‌ترین آنها SNMP Tester است که به صورت گرافیکی قابلیت آزمایش ارتباط SNMP را فراهم می‌کند.


جمع‌بندی

در این بخش نحوه آزمایش ارتباط SNMP با دستگاه‌ها از طریق Cacti، ابزار snmpwalk و snmpget شرح داده شد. استفاده از این ابزارها به شما کمک می‌کند تا ارتباط صحیح SNMP با دستگاه‌ها را بررسی کنید و در صورت بروز مشکل، اقدام به عیب‌یابی کنید. ابزار Test SNMP در Cacti به‌صورت گرافیکی و ابزار snmpwalk و snmpget به‌صورت خط فرمان از بهترین روش‌ها برای انجام این آزمایش‌ها هستند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. کشف خودکار دستگاه‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مفهوم کشف خودکار (Auto Discovery) در Cacti” subtitle=”توضیحات کامل”]کشف خودکار (Auto Discovery) یکی از ویژگی‌های مهم و کاربردی در Cacti است که به مدیران شبکه کمک می‌کند تا دستگاه‌ها و منابع جدید را به‌صورت خودکار شناسایی کرده و به سیستم اضافه کنند. این ویژگی به ویژه برای شبکه‌های بزرگ و پیچیده که دارای تعداد زیادی دستگاه هستند، بسیار مفید است زیرا به کاهش زمان و خطا در فرآیند پیکربندی دستی کمک می‌کند.

Cacti از Auto Discovery برای شناسایی دستگاه‌های جدید و منابع موجود در شبکه با استفاده از پروتکل‌های مختلف (مانند SNMP) بهره می‌برد. این ویژگی به‌طور خودکار دستگاه‌ها را شناسایی کرده، اطلاعات آنها را جمع‌آوری می‌کند و امکان نظارت روی آنها را فراهم می‌کند.


1. چگونگی عملکرد کشف خودکار (Auto Discovery) در Cacti

فرآیند کشف خودکار در Cacti معمولاً شامل مراحل زیر است:

  1. جستجو و شناسایی دستگاه‌ها: Cacti از پروتکل‌های مختلف مانند SNMP و ICMP برای شناسایی دستگاه‌ها در شبکه استفاده می‌کند.
  2. جمع‌آوری اطلاعات: پس از شناسایی دستگاه‌ها، Cacti به‌طور خودکار اطلاعات مربوط به دستگاه‌ها را جمع‌آوری می‌کند. این اطلاعات ممکن است شامل آدرس IP، نوع دستگاه، نسخه SNMP و اطلاعات مربوط به گراف‌ها باشد.
  3. اضافه کردن دستگاه به Cacti: پس از جمع‌آوری اطلاعات، Cacti این دستگاه‌ها را به فهرست دستگاه‌ها اضافه می‌کند و می‌توان از آنها برای ایجاد گراف‌ها و مانیتورینگ استفاده کرد.
  4. تخصیص گراف‌ها و منابع: پس از شناسایی دستگاه‌ها، می‌توان گراف‌های مختلف و منابع مربوط به دستگاه‌ها را برای نظارت به‌طور خودکار اضافه کرد.

2. فعال‌سازی Auto Discovery در Cacti

برای فعال‌سازی کشف خودکار دستگاه‌ها در Cacti، باید تنظیمات آن را از طریق رابط کاربری Cacti انجام داد. در ادامه نحوه تنظیم و پیکربندی این ویژگی به‌صورت گرافیکی و کامندی توضیح داده می‌شود.

فعال‌سازی Auto Discovery از طریق رابط کاربری Cacti

  1. وارد Cacti شوید.
  2. به بخش “Console” و سپس “Discovery” بروید.
  3. در این صفحه، گزینه‌هایی برای تنظیم Auto Discovery و Auto Discovery Profiles وجود دارد.
  4. برای شروع یک کشف خودکار، بر روی “Add” یا “Create New Profile” کلیک کنید.
  5. یک پروفایل جدید ایجاد کنید که شامل تنظیمات شبکه، پروتکل‌ها (مثلاً SNMP یا ICMP) و دیگر تنظیمات کشف خودکار باشد.
  6. پس از انجام تنظیمات، بر روی “Save” کلیک کنید.

این تنظیمات به طور خودکار دستگاه‌های جدید را شناسایی کرده و به فهرست دستگاه‌ها اضافه می‌کند.


فعال‌سازی Auto Discovery از طریق دستورات کامندی

اگر بخواهید از دستورات کامندی برای فعال‌سازی کشف خودکار استفاده کنید، می‌توانید از ابزار cacti-discovery که در Cacti نصب شده است، استفاده کنید.

  1. ابتدا باید به سرور Cacti خود وارد شوید.
  2. برای اجرای اسکریپت کشف خودکار، از دستور زیر استفاده کنید:
sudo /usr/share/cacti/discovery.php

این دستور فرآیند کشف خودکار را برای شناسایی دستگاه‌های جدید آغاز می‌کند.

  1. همچنین می‌توانید برای کشف دستگاه‌ها از پارامترهای مختلفی استفاده کنید، برای مثال، تعیین محدوده آدرس‌های IP برای جستجو:
sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24

در این دستور:

  • -r 192.168.1.0/24: تعیین محدوده IP برای جستجوی دستگاه‌ها.

3. پیکربندی تنظیمات کشف خودکار

پس از فعال‌سازی Auto Discovery در Cacti، می‌توان تنظیمات مختلفی را برای سفارشی‌سازی فرآیند کشف خودکار انجام داد. به‌عنوان مثال، می‌توان تنظیم کرد که دستگاه‌های خاص از پروتکل SNMP یا ICMP شناسایی شوند، یا حتی زمان‌بندی فرآیند کشف خودکار را مشخص کرد.

پیکربندی پروفایل کشف خودکار:

  1. وارد Cacti شوید.
  2. به بخش “Discovery” بروید.
  3. در صفحه Discovery Profiles، بر روی پروفایل خاصی که می‌خواهید تنظیمات آن را تغییر دهید، کلیک کنید.
  4. در این بخش، می‌توانید تنظیمات مختلفی مانند Timeout، Maximum Retry، Scan Type (SNMP/ICMP)، و Community String برای دستگاه‌های SNMP و دیگر موارد را تنظیم کنید.
  5. پس از اعمال تغییرات، بر روی “Save” کلیک کنید.

4. نظارت و مدیریت دستگاه‌ها پس از کشف خودکار

پس از اجرای فرآیند کشف خودکار و شناسایی دستگاه‌ها، می‌توان به مدیریت دستگاه‌ها و گراف‌های آن‌ها پرداخت. از جمله کارهایی که می‌توان انجام داد:

  1. ویرایش دستگاه‌ها: اطلاعات دستگاه‌ها را ویرایش کرده و نام‌ها، آدرس‌ها و تنظیمات SNMP آن‌ها را تغییر دهید.
  2. ایجاد گراف‌ها: گراف‌های مختلف برای دستگاه‌ها ایجاد کرده و برای نظارت بر منابع دستگاه‌ها از آن‌ها استفاده کنید.
  3. گزارش‌دهی: از داده‌های جمع‌آوری شده برای تولید گزارش‌های مختلف استفاده کنید.

5. بررسی و عیب‌یابی فرآیند کشف خودکار

گاهی ممکن است فرآیند کشف خودکار با مشکلاتی روبه‌رو شود. برای حل این مشکلات می‌توان از ابزارهای زیر استفاده کرد:

  1. لاگ‌های Cacti: لاگ‌های Cacti را بررسی کنید تا مشکلات احتمالی در فرآیند کشف خودکار را شناسایی کنید. برای مشاهده لاگ‌ها:
cat /var/log/cacti/cacti.log
  1. خطاهای SNMP: مطمئن شوید که دستگاه‌ها به درستی از SNMP پشتیبانی می‌کنند و تنظیمات SNMP به‌درستی در Cacti وارد شده است.
  2. زمان‌بندی کشف خودکار: اگر کشف خودکار به درستی اجرا نمی‌شود، بررسی کنید که زمان‌بندی آن به درستی تنظیم شده باشد.

جمع‌بندی

در این بخش با مفهوم کشف خودکار (Auto Discovery) در Cacti آشنا شدیم. این ویژگی به مدیران شبکه این امکان را می‌دهد که دستگاه‌ها و منابع جدید را به‌صورت خودکار شناسایی کرده و آن‌ها را به فهرست نظارتی اضافه کنند. همچنین، نحوه فعال‌سازی و پیکربندی Auto Discovery از طریق رابط کاربری و دستورات کامندی شرح داده شد. این ویژگی به‌ویژه در شبکه‌های بزرگ و پیچیده که دارای تعداد زیادی دستگاه هستند، می‌تواند زمان و خطا را کاهش دهد و فرآیند نظارت را بهبود بخشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مراحل انجام کشف خودکار ” subtitle=”توضیحات کامل”]کشف خودکار (Auto Discovery) در Cacti یکی از ویژگی‌های مفید و کارآمد است که به شما اجازه می‌دهد تا به‌طور خودکار دستگاه‌ها و منابع شبکه را شناسایی کنید. در این بخش، به مراحل دقیق انجام کشف خودکار و تنظیمات موردنیاز برای آن پرداخته می‌شود. این مراحل شامل تعیین محدوده آدرس‌های IP برای کشف، انتخاب تنظیمات SNMP برای کشف دستگاه‌ها و اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها در Cacti است.


1. تعیین محدوده آدرس‌های IP برای کشف

برای انجام کشف خودکار در Cacti، ابتدا باید محدوده آدرس‌های IP که می‌خواهید دستگاه‌ها در آن جستجو شوند، تعیین کنید. این کار به شما کمک می‌کند که از دستگاه‌های موجود در محدوده خاصی اطلاعات جمع‌آوری کنید.

نحوه تعیین محدوده آدرس‌های IP از طریق رابط گرافیکی:

  1. وارد Cacti شوید.
  2. به بخش “Console” بروید و گزینه “Discovery” را انتخاب کنید.
  3. در این صفحه، باید پروفایل جدیدی برای کشف خودکار دستگاه‌ها ایجاد کنید.
  4. در هنگام ایجاد پروفایل، در بخش “Network Range” محدوده آدرس‌های IP موردنظر خود را وارد کنید. می‌توانید از فرمت‌های مختلف برای تعیین این محدوده استفاده کنید، مانند:
    • 192.168.1.0/24 برای شبکه‌ای با آدرس‌های IP از 192.168.1.1 تا 192.168.1.254
    • 192.168.0.10-192.168.0.20 برای یک محدوده خاص از آدرس‌ها
  5. پس از وارد کردن محدوده IP، بر روی “Save” کلیک کنید.

نحوه تعیین محدوده آدرس‌های IP از طریق دستورات کامندی:

در صورتی که بخواهید از طریق دستورات کامندی کشف خودکار را انجام دهید، می‌توانید از اسکریپت کشف خودکار استفاده کنید و محدوده آدرس‌های IP را به‌صورت مستقیم در دستور وارد کنید.

برای کشف دستگاه‌ها در یک محدوده IP خاص، دستور زیر را اجرا کنید:

sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24

در اینجا:

  • -r برای تعیین محدوده IP است.
  • 192.168.1.0/24 محدوده IP است که باید در آن جستجو انجام شود.

این دستور به طور خودکار تمام دستگاه‌هایی که در این محدوده IP قرار دارند، شناسایی می‌کند و فرآیند کشف خودکار را آغاز می‌کند.


2. انتخاب تنظیمات SNMP برای کشف دستگاه‌ها

یکی از پروتکل‌های رایج برای کشف خودکار دستگاه‌ها SNMP است. برای دستگاه‌هایی که از SNMP پشتیبانی می‌کنند، باید تنظیمات SNMP مربوط به آن‌ها را در Cacti مشخص کنید تا دستگاه‌ها بتوانند به‌درستی شناسایی و نظارت شوند.

نحوه انتخاب تنظیمات SNMP برای کشف دستگاه‌ها از طریق رابط گرافیکی:

  1. وارد Cacti شوید و به بخش “Console” بروید.
  2. سپس “Discovery” را انتخاب کنید.
  3. برای تنظیم SNMP، در پروفایلی که ایجاد می‌کنید، در بخش “SNMP Settings” تنظیمات SNMP مربوطه را وارد کنید. این تنظیمات شامل موارد زیر است:
    • Community String: برای نسخه‌های SNMP v1 و v2c، شما باید یک رشته جامعه (Community String) وارد کنید. این رشته به‌عنوان رمز عبور برای دسترسی به داده‌های SNMP عمل می‌کند.
    • Version SNMP: نوع نسخه SNMP را از میان گزینه‌های v1, v2c, یا v3 انتخاب کنید.
    • Authentication & Encryption: برای نسخه SNMP v3، باید گزینه‌های Username، Authentication Method (مثلاً MD5 یا SHA) و Encryption (مثلاً AES) را وارد کنید.

    برای مثال:

    • Community String: public
    • Version SNMP: v2c
    • Username: admin
    • Authentication Method: SHA
    • Encryption: AES
  4. پس از وارد کردن اطلاعات موردنیاز، بر روی “Save” کلیک کنید.

نحوه انتخاب تنظیمات SNMP برای کشف دستگاه‌ها از طریق دستورات کامندی:

برای تنظیم SNMP از طریق دستور، می‌توانید از پارامترهای مختلف برای انتخاب نوع پروتکل SNMP استفاده کنید.

برای مثال، برای استفاده از نسخه SNMP v2c با Community String به نام public، دستور زیر را اجرا کنید:

sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24 -s public -v 2c

در اینجا:

  • -r 192.168.1.0/24: محدوده IP که باید جستجو شود.
  • -s public: Community String برای نسخه‌های SNMP v1 و v2c.
  • -v 2c: نسخه SNMP که باید برای کشف دستگاه‌ها استفاده شود.

اگر از SNMP نسخه 3 استفاده می‌کنید، می‌توانید دستورات زیر را برای وارد کردن نام کاربری و اطلاعات امنیتی استفاده کنید:

sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24 -u admin -x AES -X SHA -P "password"

در اینجا:

  • -u admin: نام کاربری برای SNMP v3.
  • -x AES: الگوریتم رمزگذاری (Encryption) برای SNMP v3.
  • -X SHA: الگوریتم احراز هویت (Authentication).
  • -P "password": رمز عبور برای SNMP v3.

3. اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها

پس از انجام فرآیند کشف خودکار و شناسایی دستگاه‌ها، می‌توان آن‌ها را به‌طور خودکار به لیست دستگاه‌های Cacti اضافه کرد. در این مرحله، دستگاه‌های شناسایی‌شده به‌صورت خودکار در پایگاه داده Cacti ذخیره می‌شوند و می‌توانید آن‌ها را برای نظارت و مدیریت منابع انتخاب کنید.

نحوه اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها از طریق رابط گرافیکی:

  1. پس از اتمام فرآیند کشف، به بخش “Devices” در Cacti بروید.
  2. دستگاه‌های کشف‌شده به‌صورت خودکار در این بخش نمایش داده خواهند شد.
  3. برای افزودن دستگاه‌ها به فهرست اصلی، می‌توانید آن‌ها را انتخاب کرده و گزینه “Add to Devices” را انتخاب کنید.
  4. پس از اضافه کردن، دستگاه‌ها در بخش “Devices” نمایش داده می‌شوند و می‌توانید برای ایجاد گراف‌ها و نظارت بر آن‌ها اقدام کنید.

نحوه اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها از طریق دستورات کامندی:

پس از کشف دستگاه‌ها، اسکریپت discovery.php به‌طور خودکار دستگاه‌ها را به پایگاه داده Cacti اضافه می‌کند. شما می‌توانید با استفاده از دستور زیر، کشف و افزودن دستگاه‌ها به لیست دستگاه‌ها را انجام دهید:

sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24 -s public -v 2c

این دستور دستگاه‌ها را کشف کرده و به پایگاه داده Cacti اضافه می‌کند.


جمع‌بندی

در این بخش، مراحل انجام کشف خودکار (Auto Discovery) در Cacti را بررسی کردیم که شامل تعیین محدوده آدرس‌های IP برای کشف، انتخاب تنظیمات SNMP و اضافه کردن دستگاه‌های کشف‌شده به لیست دستگاه‌ها است. کشف خودکار در Cacti فرآیند شناسایی دستگاه‌های شبکه را ساده کرده و به شما کمک می‌کند تا به‌سرعت دستگاه‌ها را شناسایی و نظارت کنید. این فرآیند می‌تواند از طریق رابط کاربری یا دستورات کامندی انجام شود و برای شبکه‌های بزرگ بسیار مفید است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”رفع مشکلات رایج در کشف دستگاه‌ها ” subtitle=”توضیحات کامل”]کشف خودکار دستگاه‌ها در Cacti یکی از ویژگی‌های مفید برای نظارت بر شبکه است. با این حال، گاهی اوقات مشکلاتی در فرآیند کشف دستگاه‌ها پیش می‌آید که ممکن است ناشی از مشکلات شبکه، تنظیمات SNMP، یا مشکلات دیگر باشد. در این بخش به بررسی مشکلات رایج در کشف دستگاه‌ها و نحوه رفع آن‌ها خواهیم پرداخت.


1. مشکلات شبکه و اتصال دستگاه‌ها

اولین مشکلی که ممکن است در کشف خودکار دستگاه‌ها به وجود آید، مشکلات شبکه‌ای است. این مشکلات ممکن است شامل تنظیمات اشتباه در فایروال، مشکلات مربوط به آدرس‌های IP، یا عدم دسترسی دستگاه‌ها به سرور Cacti باشد.

رفع مشکلات شبکه:

  • بررسی اتصال دستگاه‌ها: ابتدا باید از اتصال دستگاه‌های شبکه به Cacti اطمینان حاصل کنید. برای این منظور، می‌توانید از دستور ping برای بررسی وضعیت اتصال استفاده کنید. برای مثال:
    ping 192.168.1.1
    

    این دستور بررسی می‌کند که آیا دستگاه موردنظر در دسترس است یا خیر.

  • بررسی پورت‌ها و فایروال‌ها: اگر دستگاه‌ها قابل اتصال نیستند، ممکن است فایروال یا تنظیمات امنیتی از برقراری ارتباط با SNMP جلوگیری کنند. پورت‌های پیش‌فرض SNMP به شرح زیر است:
    • SNMP v1 / v2c: پورت 161 UDP
    • SNMP v3: پورت 161 UDP

    اطمینان حاصل کنید که این پورت‌ها در فایروال باز هستند. برای بررسی وضعیت فایروال در یک سرور لینوکسی از دستور زیر استفاده کنید:

    sudo ufw allow 161/udp
    

    اگر از فایروال دیگری استفاده می‌کنید، باید تنظیمات آن را نیز بررسی کنید.

  • بررسی دسترسی به شبکه: ممکن است دستگاه‌هایی که می‌خواهید کشف کنید در یک زیرشبکه جداگانه باشند. مطمئن شوید که شبکه Cacti قادر به دسترسی به این زیرشبکه‌ها است. اگر دستگاه‌ها در یک شبکه متفاوت قرار دارند، باید تنظیمات روتر و فایروال‌های بین شبکه‌ها بررسی شود.

2. مشکلات مربوط به تنظیمات SNMP

SNMP یکی از پروتکل‌های کلیدی برای کشف خودکار دستگاه‌ها است. مشکلات در تنظیمات SNMP می‌توانند منجر به عدم کشف صحیح دستگاه‌ها شوند. برخی از مشکلات رایج در تنظیمات SNMP عبارتند از:

  • Community String اشتباه: یکی از دلایل اصلی عدم دسترسی به دستگاه‌ها از طریق SNMP، اشتباه وارد کردن Community String است. Community String مانند رمز عبور عمل می‌کند و باید به‌درستی در Cacti تنظیم شود.

رفع مشکل Community String:

اطمینان حاصل کنید که Community String وارد شده در Cacti با تنظیمات دستگاه‌های شما یکسان است. برای تغییر Community String در Cacti:

  1. به بخش Devices در Cacti بروید.
  2. دستگاه موردنظر را انتخاب کنید و وارد صفحه ویرایش آن شوید.
  3. در بخش SNMP Settings، Community String صحیح را وارد کنید.
  4. تغییرات را ذخیره کنید.

همچنین، برای بررسی Community String از ابزار snmpwalk استفاده کنید:

snmpwalk -v 2c -c public 192.168.1.1

در اینجا:

  • -v 2c نسخه SNMP را تعیین می‌کند.
  • -c public Community String را مشخص می‌کند.
  • 192.168.1.1 آدرس IP دستگاه موردنظر است.

اگر دستور بالا نتیجه‌ای نداد، به این معنی است که ممکن است Community String اشتباه باشد.

  • مشکل در نسخه SNMP: ممکن است نسخه SNMP تنظیم‌شده در Cacti با دستگاه شما مطابقت نداشته باشد. برای مثال، اگر دستگاه شما از SNMP v3 پشتیبانی می‌کند، باید در تنظیمات Cacti نیز SNMP v3 انتخاب شود.

رفع مشکل نسخه SNMP:

برای اطمینان از اینکه نسخه صحیح SNMP انتخاب شده است، باید نسخه SNMP دستگاه را بررسی کنید و سپس آن را در Cacti تنظیم کنید. برای این کار می‌توانید از دستور snmpget یا snmpwalk استفاده کنید:

برای SNMP v1 یا v2c:

snmpwalk -v 2c -c public 192.168.1.1

برای SNMP v3:

snmpwalk -v 3 -u admin -A "authpassword" -X "privpassword" -a SHA -x AES 192.168.1.1

در این دستور:

  • -u admin: نام کاربری برای SNMP v3.
  • -A "authpassword": رمز عبور برای احراز هویت.
  • -X "privpassword": رمز عبور برای رمزگذاری.
  • -a SHA: الگوریتم احراز هویت.
  • -x AES: الگوریتم رمزگذاری.

3. بررسی مشکلات در تنظیمات کشف خودکار

گاهی اوقات کشف دستگاه‌ها با مشکلاتی مواجه می‌شود که به تنظیمات کشف خودکار (Auto Discovery) مربوط می‌شود. یکی از مشکلات رایج این است که محدوده IP نادرست وارد شده باشد.

رفع مشکل محدوده IP:

مطمئن شوید که محدوده IP که وارد کرده‌اید درست است. برای مثال، اگر محدوده IP به‌درستی وارد نشده باشد، دستگاه‌ها کشف نخواهند شد.

  • بررسی محدوده IP با دستور کامندی:

اگر محدوده IP را به اشتباه وارد کرده‌اید، می‌توانید آن را از طریق دستور زیر اصلاح کنید:

sudo /usr/share/cacti/discovery.php -r 192.168.1.0/24 -v 2c -s public

در اینجا:

  • -r 192.168.1.0/24 محدوده IP است که باید کشف شود.
  • -v 2c نسخه SNMP.
  • -s public Community String.

4. مشکلات مربوط به دسترسی به منابع

ممکن است دستگاه‌ها در دسترس باشند، اما منابع آن‌ها در Cacti قابل مشاهده نباشند. این مشکل می‌تواند ناشی از تنظیمات اشتباه در Cacti یا مشکلات در دسترسی به منابع SNMP باشد.

رفع مشکل دسترسی به منابع:

  • بررسی دسترسی به منابع SNMP: برای بررسی اینکه Cacti به منابع SNMP دستگاه‌ها دسترسی دارد، می‌توانید از ابزار snmpwalk برای لیست کردن منابع دستگاه‌ها استفاده کنید. برای مثال:
    snmpwalk -v 2c -c public 192.168.1.1
    

    اگر نتایج صحیح برگشت داده نشد، ممکن است دستگاه به درستی پیکربندی نشده باشد یا منابع آن محدود شده باشند.

  • رفع مشکلات دسترسی به منابع در Cacti: برای اطمینان از دسترسی به منابع در Cacti، به صفحه “Devices” رفته و دستگاه‌های موردنظر را ویرایش کنید. در بخش “Poller” و “SNMP Options” باید اطمینان حاصل کنید که تنظیمات به‌درستی انجام شده‌اند.

جمع‌بندی

در این بخش، مشکلات رایج در کشف دستگاه‌ها در Cacti بررسی شد و راه‌حل‌هایی برای رفع آن‌ها ارائه شد. مشکلاتی مانند مشکلات شبکه، تنظیمات اشتباه SNMP، تنظیمات نادرست محدوده IP و مشکلات دسترسی به منابع ممکن است باعث عدم کشف دستگاه‌ها در Cacti شوند. با استفاده از دستورات کامندی و بررسی دقیق تنظیمات، می‌توانید این مشکلات را شناسایی و رفع کنید تا فرآیند کشف خودکار به‌درستی انجام شود و دستگاه‌ها به درستی به پایگاه داده Cacti اضافه شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. دسته‌بندی و مدیریت دستگاه‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد دسته‌بندی‌های مختلف برای دستگاه‌ها (مانند سرورها، روترها، سوئیچ‌ها)” subtitle=”توضیحات کامل”]در Cacti، برای مدیریت بهتر دستگاه‌ها و راحتی در نظارت، می‌توانید دستگاه‌ها را به دسته‌بندی‌های مختلف تقسیم کنید. این دسته‌بندی‌ها می‌توانند شامل گروه‌هایی مانند سرورها، روترها، سوئیچ‌ها، یا دیگر انواع دستگاه‌ها باشند. در این بخش، روش‌های مختلف برای ایجاد دسته‌بندی دستگاه‌ها هم به صورت گرافیکی و هم به صورت دستوری توضیح داده خواهد شد.


1. ایجاد دسته‌بندی از طریق رابط گرافیکی Cacti

برای ایجاد دسته‌بندی‌های دستگاه‌ها در Cacti، ابتدا باید وارد بخش مدیریت دستگاه‌ها شوید و سپس دسته‌بندی‌ها را به‌طور دستی اضافه کنید.

مراحل انجام این کار به‌صورت گرافیکی:

  1. ورود به بخش مدیریت دستگاه‌ها (Devices Management):
    • وارد داشبورد Cacti شوید.
    • از منوی اصلی، به بخش Devices بروید.
    • روی دکمه Add کلیک کنید تا دستگاه جدیدی اضافه کنید.
  2. ایجاد دسته‌بندی جدید:
    • در هنگام افزودن دستگاه جدید، در فیلد Category، می‌توانید یک دسته‌بندی جدید ایجاد کنید. برای مثال، شما می‌توانید دستگاه‌های خود را به دسته‌بندی‌های “سرورها”، “روترها”، یا “سوئیچ‌ها” تقسیم کنید.
  3. اضافه کردن دستگاه‌ها به دسته‌بندی‌ها:
    • بعد از افزودن دستگاه، آن را در دسته‌بندی موردنظر خود قرار دهید.
    • می‌توانید از فیلتر دسته‌بندی‌ها برای جستجوی سریع دستگاه‌های مربوطه استفاده کنید.

مثال:

اگر بخواهید یک دستگاه جدید را به دسته‌بندی “سرورها” اضافه کنید، وارد بخش Category شوید و در آنجا گزینه “سرورها” را انتخاب کنید.


2. ایجاد دسته‌بندی از طریق خط فرمان (کامندی)

برای دسته‌بندی دستگاه‌ها از طریق خط فرمان، می‌توانید از پایگاه داده MySQL استفاده کنید. در Cacti، اطلاعات دسته‌بندی‌ها در جدول device_categories ذخیره می‌شوند. برای اضافه کردن دسته‌بندی‌ها یا تغییر دسته‌بندی دستگاه‌ها از دستورات SQL استفاده می‌کنیم.

مراحل انجام این کار از طریق خط فرمان:

  1. وارد شدن به پایگاه داده MySQL: برای انجام تغییرات در پایگاه داده Cacti از طریق خط فرمان، ابتدا باید به MySQL وارد شوید. دستور زیر برای وارد شدن به MySQL استفاده می‌شود:
    mysql -u root -p
    

    سپس رمز عبور را وارد کنید.

  2. ایجاد یک دسته‌بندی جدید: برای ایجاد یک دسته‌بندی جدید برای دستگاه‌ها، می‌توانید از دستور SQL زیر استفاده کنید:
    INSERT INTO device_categories (name, description) VALUES ('سرورها', 'دستگاه‌های مربوط به سرورها');
    

    این دستور یک دسته‌بندی جدید به نام “سرورها” با توضیحات مربوطه ایجاد می‌کند.

  3. اتصال دستگاه‌ها به دسته‌بندی‌های جدید: بعد از ایجاد دسته‌بندی، می‌توانید دستگاه‌ها را به آن دسته‌بندی متصل کنید. برای این منظور، از دستور SQL زیر استفاده می‌کنید:
    UPDATE devices SET category_id = (SELECT id FROM device_categories WHERE name = 'سرورها') WHERE device_id = 1;
    

    در این دستور:

    • category_id شناسه دسته‌بندی جدید است.
    • device_id = 1 شناسه دستگاهی است که می‌خواهید به دسته‌بندی “سرورها” اضافه کنید.
    • می‌توانید شناسه دستگاه‌ها را با توجه به نیاز خود تغییر دهید.
  4. لیست دسته‌بندی‌های موجود: برای مشاهده دسته‌بندی‌های موجود در Cacti، از دستور زیر استفاده کنید:
    SELECT * FROM device_categories;
    

    این دستور تمام دسته‌بندی‌های موجود در پایگاه داده Cacti را نمایش می‌دهد.


3. مدیریت و جستجوی دستگاه‌ها بر اساس دسته‌بندی‌ها

بعد از اینکه دسته‌بندی‌ها را ایجاد کردید، می‌توانید به راحتی دستگاه‌ها را از طریق رابط گرافیکی Cacti یا با استفاده از دستورات SQL جستجو کنید.

جستجو و فیلتر دستگاه‌ها بر اساس دسته‌بندی:

برای جستجو و فیلتر کردن دستگاه‌ها بر اساس دسته‌بندی از طریق رابط کاربری Cacti، مراحل زیر را دنبال کنید:

  1. رفتن به بخش مدیریت دستگاه‌ها (Devices Management):
    • وارد داشبورد Cacti شوید.
    • به بخش Devices بروید.
    • در بخش Category، دسته‌بندی موردنظر خود را انتخاب کنید.
    • پس از انتخاب دسته‌بندی، دستگاه‌هایی که به آن دسته‌بندی تعلق دارند، نمایش داده می‌شوند.

جستجو از طریق SQL:

همچنین می‌توانید با استفاده از دستور SQL زیر دستگاه‌ها را بر اساس دسته‌بندی جستجو کنید:

SELECT * FROM devices WHERE category_id = (SELECT id FROM device_categories WHERE name = 'سرورها');

این دستور تمام دستگاه‌هایی که در دسته‌بندی “سرورها” قرار دارند را نمایش می‌دهد.


4. مزایای دسته‌بندی دستگاه‌ها در Cacti

دسته‌بندی دستگاه‌ها در Cacti مزایای زیادی دارد که برخی از آن‌ها عبارتند از:

  • مدیریت بهتر: با استفاده از دسته‌بندی‌ها، می‌توانید دستگاه‌های مشابه را گروه‌بندی کرده و مدیریت آسان‌تری داشته باشید.
  • نمایش داده‌های مرتب: دسته‌بندی‌ها کمک می‌کنند تا داده‌ها به‌طور مرتب و منظم نمایش داده شوند، که کار با گزارش‌ها و گراف‌ها را آسان‌تر می‌کند.
  • پیمایش سریع‌تر: هنگام جستجو در بین دستگاه‌ها، دسته‌بندی‌ها به شما کمک می‌کنند تا دستگاه‌های خاص را سریع‌تر پیدا کنید.

جمع‌بندی

در این بخش، روش‌های مختلف ایجاد دسته‌بندی برای دستگاه‌ها در Cacti بررسی شد. از طریق رابط گرافیکی Cacti می‌توانید دسته‌بندی‌ها را به‌راحتی ایجاد کرده و دستگاه‌ها را در گروه‌های مختلف قرار دهید. همچنین، با استفاده از دستورات SQL می‌توانید دسته‌بندی‌ها را از طریق خط فرمان مدیریت کرده و دستگاه‌ها را به آن‌ها اضافه کنید. این کار به شما کمک می‌کند تا دستگاه‌ها را به‌طور منظم و با سهولت بیشتری در Cacti مدیریت کنید و نظارت بهتری بر شبکه خود داشته باشید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”انتقال دستگاه‌ها به دسته‌بندی‌های مناسب” subtitle=”توضیحات کامل”]در Cacti، پس از افزودن دسته‌بندی‌های مختلف برای دستگاه‌ها، ممکن است نیاز به تغییر دسته‌بندی دستگاه‌ها یا انتقال آن‌ها به دسته‌بندی‌های جدید و مناسب‌تر داشته باشید. این کار می‌تواند برای بهبود مدیریت و سازمان‌دهی دستگاه‌ها و راحتی در استفاده از داشبورد Cacti انجام شود. در این بخش، نحوه انتقال دستگاه‌ها به دسته‌بندی‌های مختلف هم به صورت گرافیکی و هم به صورت کامندی توضیح داده خواهد شد.


1. انتقال دستگاه‌ها به دسته‌بندی‌های جدید از طریق رابط گرافیکی Cacti

برای انتقال دستگاه‌ها به دسته‌بندی‌های جدید و مناسب از طریق رابط گرافیکی Cacti، مراحل زیر را دنبال کنید:

مراحل انجام این کار به‌صورت گرافیکی:

  1. ورود به بخش مدیریت دستگاه‌ها (Devices Management):
    • ابتدا وارد داشبورد Cacti شوید.
    • از منوی اصلی، به بخش Devices بروید.
    • در این بخش، لیستی از دستگاه‌های موجود در Cacti نمایش داده می‌شود.
  2. انتخاب دستگاه موردنظر:
    • دستگاهی که می‌خواهید به دسته‌بندی جدید انتقال دهید را از لیست انتخاب کنید. بر روی نام دستگاه کلیک کنید تا وارد صفحه مشخصات دستگاه شوید.
  3. انتخاب دسته‌بندی جدید:
    • در صفحه مشخصات دستگاه، به بخش Category بروید.
    • از منوی کشویی، دسته‌بندی جدیدی که می‌خواهید دستگاه به آن انتقال یابد را انتخاب کنید.
  4. ذخیره تغییرات:
    • بعد از انتخاب دسته‌بندی جدید، تغییرات را با کلیک روی دکمه Save ذخیره کنید.

مثال:

فرض کنید می‌خواهید دستگاه “Switch1” را از دسته‌بندی “سرورها” به دسته‌بندی “سوئیچ‌ها” منتقل کنید. کافی است در بخش Category گزینه “سوئیچ‌ها” را انتخاب کرده و تغییرات را ذخیره کنید.


2. انتقال دستگاه‌ها به دسته‌بندی‌های جدید از طریق خط فرمان (کامندی)

برای انتقال دستگاه‌ها به دسته‌بندی‌های جدید از طریق خط فرمان، می‌توانید از پایگاه داده MySQL استفاده کنید. اطلاعات دستگاه‌ها و دسته‌بندی‌ها در پایگاه داده Cacti ذخیره می‌شوند. از دستورات SQL برای تغییر دسته‌بندی دستگاه‌ها استفاده خواهیم کرد.

مراحل انجام این کار از طریق خط فرمان:

  1. وارد شدن به پایگاه داده MySQL: برای انجام تغییرات در پایگاه داده Cacti از طریق خط فرمان، ابتدا باید به MySQL وارد شوید. دستور زیر برای وارد شدن به MySQL استفاده می‌شود:
    mysql -u root -p
    

    سپس رمز عبور را وارد کنید.

  2. مشاهده دسته‌بندی‌ها: ابتدا دسته‌بندی‌های موجود را مشاهده کنید تا مطمئن شوید که دسته‌بندی جدیدی که می‌خواهید انتقال دهید، موجود است. برای این کار از دستور زیر استفاده کنید:
    SELECT * FROM device_categories;
    

    این دستور تمام دسته‌بندی‌های موجود در پایگاه داده Cacti را نمایش می‌دهد.

  3. انتقال دستگاه به دسته‌بندی جدید: حالا که دسته‌بندی‌های موجود را می‌دانید، برای انتقال یک دستگاه خاص به دسته‌بندی جدید از دستور SQL زیر استفاده کنید:
    UPDATE devices SET category_id = (SELECT id FROM device_categories WHERE name = 'سوئیچ‌ها') WHERE device_id = 1;
    

    در این دستور:

    • category_id شناسه دسته‌بندی جدید است.
    • device_id = 1 شناسه دستگاهی است که می‌خواهید به دسته‌بندی “سوئیچ‌ها” منتقل کنید.
    • شناسه دستگاه‌ها را مطابق با نیاز خود تغییر دهید.
  4. تایید تغییرات: برای اطمینان از انتقال دستگاه به دسته‌بندی جدید، می‌توانید دستور زیر را اجرا کنید:
    SELECT * FROM devices WHERE device_id = 1;
    

    این دستور اطلاعات دستگاه انتخابی را نشان می‌دهد و می‌توانید بررسی کنید که دسته‌بندی دستگاه به درستی تغییر کرده است.


3. مزایای انتقال دستگاه‌ها به دسته‌بندی‌های مناسب

انتقال دستگاه‌ها به دسته‌بندی‌های مناسب می‌تواند مزایای زیادی داشته باشد که برخی از آن‌ها عبارتند از:

  • مدیریت بهینه‌تر دستگاه‌ها: با قرار دادن دستگاه‌ها در دسته‌بندی‌های مناسب، نظارت بر دستگاه‌ها آسان‌تر می‌شود و می‌توان به‌راحتی دستگاه‌ها را شناسایی و مدیریت کرد.
  • افزایش کارایی در جستجو: با دسته‌بندی مناسب دستگاه‌ها، جستجو و فیلتر کردن دستگاه‌ها در Cacti سریع‌تر و کارآمدتر خواهد بود.
  • نمایش منظم‌تر اطلاعات: دستگاه‌ها به‌طور منظم و دسته‌بندی شده نمایش داده می‌شوند که این امر به شما در تجزیه‌و‌تحلیل و گزارش‌دهی کمک می‌کند.

جمع‌بندی

در این بخش، نحوه انتقال دستگاه‌ها به دسته‌بندی‌های مختلف و مناسب در Cacti توضیح داده شد. این کار می‌تواند از طریق رابط گرافیکی Cacti یا از طریق پایگاه داده MySQL انجام شود. در هر دو روش، دستگاه‌ها را می‌توان به دسته‌بندی‌های جدید منتقل کرد تا مدیریت و نظارت بر دستگاه‌ها راحت‌تر و سازمان‌یافته‌تر شود. انتقال دستگاه‌ها به دسته‌بندی‌های مناسب به شما کمک می‌کند تا نظارت بهتری بر شبکه و منابع آن داشته باشید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از فیلترها برای جستجوی سریع دستگاه‌ها” subtitle=”توضیحات کامل”]در Cacti، با استفاده از فیلترها می‌توانید دستگاه‌ها را سریع‌تر و به‌طور مؤثری جستجو کنید. این ویژگی به‌ویژه زمانی که تعداد دستگاه‌های اضافه‌شده به Cacti زیاد می‌شود، بسیار مفید خواهد بود. فیلتر کردن دستگاه‌ها می‌تواند بر اساس پارامترهایی مثل نام دستگاه، نوع دستگاه، آدرس IP و دسته‌بندی دستگاه‌ها انجام شود.

در این بخش، نحوه استفاده از فیلترها برای جستجوی سریع دستگاه‌ها را هم به‌صورت گرافیکی و هم به‌صورت کامندی شرح خواهیم داد.


1. استفاده از فیلترها به‌صورت گرافیکی

در بخش مدیریت دستگاه‌ها (Devices Management) از Cacti، یک بخش مخصوص برای فیلتر کردن دستگاه‌ها وجود دارد. این بخش به شما این امکان را می‌دهد که دستگاه‌ها را بر اساس معیارهای مختلف فیلتر کنید.

مراحل استفاده از فیلترها به‌صورت گرافیکی:

  1. ورود به بخش مدیریت دستگاه‌ها (Devices Management):
    • از داشبورد Cacti، به منوی اصلی بروید و بخش Devices را انتخاب کنید تا لیست دستگاه‌ها نمایش داده شود.
  2. نمایش فیلترها:
    • در بالای صفحه لیست دستگاه‌ها، گزینه‌های فیلتر مختلف نمایش داده می‌شوند.
    • این فیلترها معمولاً شامل گزینه‌هایی مانند:
      • Device Name: جستجو بر اساس نام دستگاه.
      • IP Address: جستجو بر اساس آدرس IP دستگاه.
      • Device Type: جستجو بر اساس نوع دستگاه.
      • Category: جستجو بر اساس دسته‌بندی دستگاه.
  3. استفاده از فیلترها:
    • هر یک از این فیلترها را می‌توان با وارد کردن مقادیر خاص به‌راحتی تنظیم کرد.
    • برای مثال، برای جستجوی دستگاه‌های با آدرس IP خاص، در بخش IP Address آدرس مورد نظر را وارد کنید.
    • برای جستجوی دستگاه‌ها بر اساس دسته‌بندی، از فیلتر Category استفاده کنید.
  4. اعمال فیلترها:
    • پس از وارد کردن مقادیر مورد نظر در فیلترها، روی دکمه Apply کلیک کنید تا نتایج فیلتر شده نمایش داده شود.
    • حالا فقط دستگاه‌هایی که مطابق با فیلترهای اعمال شده هستند، در لیست نمایش داده می‌شوند.

مثال:

اگر شما می‌خواهید دستگاه‌هایی که در دسته‌بندی “سوئیچ‌ها” قرار دارند را جستجو کنید:

  • از فیلتر Category گزینه “سوئیچ‌ها” را انتخاب کنید.
  • سپس بر روی Apply کلیک کنید تا فقط دستگاه‌های این دسته‌بندی نمایش داده شوند.

2. استفاده از فیلترها به‌صورت کامندی (SQL)

اگر ترجیح می‌دهید از خط فرمان برای فیلتر کردن دستگاه‌ها استفاده کنید، می‌توانید از دستورات SQL در پایگاه داده Cacti بهره ببرید. با استفاده از SQL می‌توانید دستگاه‌ها را بر اساس پارامترهای مختلف فیلتر کنید.

مراحل انجام فیلتر از طریق خط فرمان:

  1. وارد شدن به پایگاه داده MySQL: ابتدا باید به پایگاه داده Cacti از طریق MySQL وارد شوید:
    mysql -u root -p
    

    پس از وارد کردن رمز عبور، وارد محیط MySQL خواهید شد.

  2. فیلتر کردن دستگاه‌ها بر اساس نام: برای جستجو و فیلتر کردن دستگاه‌ها بر اساس نام دستگاه، دستور زیر را اجرا کنید:
    SELECT * FROM devices WHERE name LIKE '%switch%';
    

    این دستور تمامی دستگاه‌هایی را که در نامشان عبارت “switch” وجود دارد، نمایش می‌دهد.

  3. فیلتر کردن دستگاه‌ها بر اساس IP: برای فیلتر کردن دستگاه‌ها بر اساس آدرس IP، از دستور زیر استفاده کنید:
    SELECT * FROM devices WHERE ip_address = '192.168.1.1';
    

    این دستور دستگاه‌هایی را که آدرس IP آن‌ها برابر با “192.168.1.1” است، نمایش می‌دهد.

  4. فیلتر کردن دستگاه‌ها بر اساس دسته‌بندی: اگر می‌خواهید دستگاه‌هایی را که در یک دسته‌بندی خاص قرار دارند فیلتر کنید، از دستور زیر استفاده کنید:
    SELECT * FROM devices WHERE category_id = (SELECT id FROM device_categories WHERE name = 'سوئیچ‌ها');
    

    این دستور تمام دستگاه‌های دسته‌بندی “سوئیچ‌ها” را نمایش می‌دهد.


3. مزایای استفاده از فیلترها در جستجوی دستگاه‌ها

  • صرفه‌جویی در زمان: با استفاده از فیلترها، می‌توانید دستگاه‌ها را سریعاً بر اساس معیارهای خاص جستجو کنید و از جستجوی دستی در میان تعداد زیاد دستگاه‌ها جلوگیری کنید.
  • دقت بالا: با فیلتر کردن دستگاه‌ها بر اساس معیارهای خاص، امکان جستجوی دقیق‌تر و دریافت نتایج مطلوب فراهم می‌شود.
  • سازمان‌دهی بهتر: این امکان به شما کمک می‌کند دستگاه‌ها را بر اساس ویژگی‌های خاص (مثل نوع دستگاه یا دسته‌بندی) سازمان‌دهی کنید.

جمع‌بندی

در این بخش، نحوه استفاده از فیلترها برای جستجوی سریع دستگاه‌ها در Cacti توضیح داده شد. این کار می‌تواند از طریق رابط گرافیکی Cacti یا با استفاده از دستورات SQL در پایگاه داده انجام شود. استفاده از فیلترها برای جستجو و مدیریت دستگاه‌ها به شما کمک می‌کند تا به‌راحتی و به‌سرعت دستگاه‌های موردنظر را پیدا کنید و آن‌ها را بر اساس پارامترهای مختلف فیلتر کنید. این ویژگی مخصوصاً در محیط‌هایی با تعداد زیاد دستگاه‌ها مفید است و به مدیریت بهینه کمک می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ویرایش اطلاعات دستگاه‌ها: تغییر نام، توضیحات یا تنظیمات SNMP” subtitle=”توضیحات کامل”]در Cacti، مدیریت دستگاه‌ها به شما این امکان را می‌دهد که اطلاعات دستگاه‌های موجود را ویرایش کنید. این اطلاعات ممکن است شامل نام دستگاه، توضیحات، تنظیمات SNMP یا هر پارامتر دیگری باشد که نیاز به تغییر داشته باشد. در این بخش، نحوه ویرایش اطلاعات دستگاه‌ها، از جمله تغییر نام، توضیحات یا تنظیمات SNMP، هم به‌صورت گرافیکی و هم به‌صورت کامندی توضیح داده خواهد شد.


1. ویرایش اطلاعات دستگاه‌ها به‌صورت گرافیکی

در رابط گرافیکی Cacti، تغییر اطلاعات دستگاه‌ها بسیار ساده است و می‌توانید به راحتی هر پارامتری که نیاز دارید را تغییر دهید.

مراحل ویرایش اطلاعات دستگاه‌ها به‌صورت گرافیکی:

  1. ورود به بخش مدیریت دستگاه‌ها (Devices Management):
    • ابتدا وارد داشبورد Cacti شوید و از منوی اصلی، گزینه Devices را انتخاب کنید. این شما را به صفحه مدیریت دستگاه‌ها می‌برد که لیستی از تمامی دستگاه‌های اضافه شده به Cacti را نمایش می‌دهد.
  2. انتخاب دستگاه مورد نظر برای ویرایش:
    • از لیست دستگاه‌ها، دستگاهی را که می‌خواهید ویرایش کنید، انتخاب کنید.
    • برای این کار، می‌توانید بر روی نام دستگاه یا آیکون ویرایش (Edit) که در کنار دستگاه‌ها قرار دارد کلیک کنید.
  3. ویرایش اطلاعات دستگاه:
    • پس از کلیک بر روی گزینه Edit برای دستگاه مورد نظر، صفحه‌ای باز می‌شود که شامل تمامی اطلاعات دستگاه است.
    • شما می‌توانید موارد زیر را ویرایش کنید:
      • Device Name: نام دستگاه را تغییر دهید.
      • Description: توضیحات دستگاه را وارد کنید یا تغییر دهید.
      • IP Address: آدرس IP دستگاه را به‌روزرسانی کنید.
      • SNMP Settings: تنظیمات SNMP را تغییر دهید، مانند:
        • برای نسخه‌های SNMP v1 و v2c، تغییر Community String.
        • برای نسخه v3، تغییر Username، Authentication و Encryption.
  4. ذخیره تغییرات:
    • پس از انجام تغییرات مورد نظر، روی دکمه Save یا Apply کلیک کنید تا تغییرات ذخیره شود.
    • با این کار، اطلاعات دستگاه به‌روز خواهد شد و می‌توانید به‌طور مستقیم از داده‌های جدید استفاده کنید.

مثال:

فرض کنید می‌خواهید نام یک دستگاه را تغییر دهید. مراحل زیر را دنبال کنید:

  • وارد بخش Devices شوید.
  • دستگاه مورد نظر را پیدا کرده و بر روی Edit کلیک کنید.
  • در قسمت Device Name، نام جدید را وارد کرده و سپس Save کنید.

2. ویرایش اطلاعات دستگاه‌ها به‌صورت کامندی (SQL)

اگر می‌خواهید تغییرات را از طریق دستورات SQL انجام دهید، می‌توانید مستقیماً به پایگاه داده Cacti دسترسی داشته باشید و اطلاعات دستگاه‌ها را ویرایش کنید.

مراحل انجام ویرایش از طریق خط فرمان (SQL):

  1. وارد شدن به پایگاه داده MySQL: ابتدا باید به پایگاه داده MySQL مربوط به Cacti وارد شوید:
    mysql -u root -p
    

    پس از وارد کردن رمز عبور، وارد محیط MySQL خواهید شد.

  2. مشاهده اطلاعات دستگاه‌ها: برای مشاهده اطلاعات دستگاه‌های موجود در Cacti، از دستور زیر استفاده کنید:
    SELECT * FROM devices;
    

    این دستور تمامی دستگاه‌های موجود در پایگاه داده Cacti را نمایش می‌دهد.

  3. ویرایش نام دستگاه: برای تغییر نام یک دستگاه، از دستور SQL زیر استفاده کنید:
    UPDATE devices SET name = 'New Device Name' WHERE id = <device_id>;
    

    در این دستور، <device_id> باید شناسه دستگاهی باشد که قصد تغییر نام آن را دارید. همچنین می‌توانید به‌جای ‘New Device Name’ نام جدید دستگاه را وارد کنید.

  4. ویرایش توضیحات دستگاه: برای ویرایش توضیحات دستگاه، از دستور زیر استفاده کنید:
    UPDATE devices SET description = 'New Description' WHERE id = <device_id>;
    

    در این دستور، 'New Description' توضیحات جدید دستگاه را جایگزین می‌کند.

  5. ویرایش تنظیمات SNMP دستگاه: برای ویرایش تنظیمات SNMP دستگاه (مثلاً تغییر Community String برای SNMP v1 و v2c)، از دستور زیر استفاده کنید:
    UPDATE devices SET snmp_community = 'new_community_string' WHERE id = <device_id>;
    

    در اینجا، 'new_community_string' را با Community String جدید جایگزین کنید.

    برای ویرایش تنظیمات SNMP v3 (Username و Authentication) برای دستگاه‌ها، باید از دستورات SQL مشابه استفاده کنید:

    UPDATE devices SET snmp_username = 'new_username', snmp_auth_protocol = 'SHA', snmp_auth_password = 'new_auth_password', snmp_priv_protocol = 'AES', snmp_priv_password = 'new_priv_password' WHERE id = <device_id>;
    

    در این دستور، مقادیر مختلف را با اطلاعات جدید دستگاه خود جایگزین کنید.


3. ملاحظات هنگام ویرایش دستگاه‌ها

  • محتاط باشید در تغییر تنظیمات SNMP: اگر تنظیمات SNMP دستگاهی را تغییر می‌دهید، مطمئن شوید که تنظیمات جدید در خود دستگاه نیز اعمال شده باشند، تا ارتباط SNMP بین Cacti و دستگاه دچار مشکل نشود.
  • بازبینی اطلاعات دستگاه: پس از ویرایش اطلاعات دستگاه‌ها، مطمئن شوید که تمامی تنظیمات درست وارد شده‌اند و دستگاه بدون هیچ مشکلی به Cacti متصل است.
  • اعمال تغییرات در گراف‌ها: برخی از تغییرات در دستگاه‌ها ممکن است بر گراف‌ها یا داده‌های جمع‌آوری‌شده تأثیر بگذارند. به‌طور خاص، تغییرات SNMP می‌تواند بر داده‌های مربوط به دستگاه‌ها تأثیرگذار باشد.

جمع‌بندی

در این بخش، نحوه ویرایش اطلاعات دستگاه‌ها در Cacti، از جمله تغییر نام، توضیحات و تنظیمات SNMP به‌صورت گرافیکی و کامندی بررسی شد. این ویرایش‌ها می‌توانند از طریق رابط کاربری Cacti یا دستورات SQL انجام شوند. در هر دو روش، شما می‌توانید به‌راحتی دستگاه‌ها را مدیریت کرده و تنظیمات آن‌ها را تغییر دهید. با انجام این تغییرات به‌طور صحیح، می‌توانید دستگاه‌های خود را به‌خوبی تنظیم کرده و عملکرد آن‌ها را در Cacti بهینه کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. تعریف منابع داده برای دستگاه‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مفهوم منابع داده (Data Sources) در Cacti” subtitle=”توضیحات کامل”]در Cacti، منابع داده یا Data Sources ابزاری برای جمع‌آوری اطلاعات از دستگاه‌های مانیتور شده هستند. این اطلاعات می‌توانند شامل مقادیر مختلفی مانند مصرف CPU، میزان ترافیک شبکه، حافظه استفاده‌شده، دما و دیگر معیارهای مربوط به منابع دستگاه‌ها باشند. منابع داده در Cacti به عنوان واحدهای جمع‌آوری داده عمل می‌کنند و بر اساس آن‌ها گراف‌ها ساخته می‌شوند.

هر Data Source به یک دستگاه خاص و یک پارامتر خاص از آن دستگاه مرتبط است و معمولاً با استفاده از پروتکل SNMP اطلاعات جمع‌آوری می‌شود. منابع داده یکی از اجزای اصلی سیستم مانیتورینگ Cacti به شمار می‌روند که نقش اصلی در استخراج اطلاعات از دستگاه‌ها و نمایش آن‌ها به‌صورت گرافیکی ایفا می‌کنند.


1. منابع داده و ارتباط آن‌ها با گراف‌ها

در Cacti، گراف‌ها به‌طور مستقیم به منابع داده متصل هستند. هر گراف نشان‌دهنده یک یا چند Data Source است و داده‌هایی که از دستگاه‌های مختلف جمع‌آوری می‌شود را به‌صورت گرافیکی نمایش می‌دهد. به عبارت دیگر، منابع داده داده‌های خام را جمع‌آوری کرده و سپس این داده‌ها به گراف‌ها تبدیل می‌شوند.

مثالی از ارتباط گراف و منابع داده:

برای مثال، فرض کنید شما یک دستگاه سرور دارید که می‌خواهید مصرف CPU آن را نظارت کنید. در این حالت، یک Data Source برای مصرف CPU در Cacti تعریف می‌کنید که از طریق SNMP اطلاعات مربوط به مصرف CPU را جمع‌آوری می‌کند. سپس این Data Source به یک گراف متصل می‌شود که مصرف CPU را به‌صورت گرافیکی نشان می‌دهد.


2. مراحل ایجاد منابع داده (Data Sources)

ایجاد منابع داده به‌صورت گرافیکی در Cacti یک فرایند ساده و سریع است. در این بخش، مراحل ایجاد منابع داده به‌صورت گرافیکی و کامندی توضیح داده خواهد شد.

ایجاد منابع داده به‌صورت گرافیکی:

  1. ورود به بخش مدیریت منابع داده:
    • ابتدا وارد داشبورد Cacti شوید و از منوی اصلی، گزینه Data Sources را انتخاب کنید.
    • این شما را به صفحه‌ای هدایت می‌کند که تمامی منابع داده (Data Sources) موجود را نشان می‌دهد.
  2. ایجاد Data Source جدید:
    • در بالای صفحه، روی گزینه Add کلیک کنید.
    • سپس در صفحه جدید، تنظیمات مربوط به Data Source را وارد کنید.
  3. انتخاب دستگاه و پارامترها:
    • در این بخش، ابتدا دستگاهی که می‌خواهید منابع داده برای آن تعریف شود را از لیست انتخاب کنید.
    • سپس پارامترهایی که می‌خواهید نظارت کنید (مثل مصرف CPU، حافظه، ترافیک شبکه و غیره) را از میان پارامترهای موجود انتخاب کنید.
  4. تنظیمات مربوط به SNMP:
    • اگر از SNMP برای جمع‌آوری داده‌ها استفاده می‌کنید، باید تنظیمات SNMP مناسب را برای دستگاه وارد کنید.
    • این تنظیمات شامل SNMP Community String (برای نسخه‌های v1 و v2c) یا SNMP Username و Authentication/Encryption (برای نسخه v3) است.
  5. ذخیره Data Source:
    • پس از وارد کردن تمامی اطلاعات و تنظیمات، روی Save کلیک کنید تا Data Source جدید ذخیره شود.

ایجاد Data Source از طریق کامند (SQL):

اگر بخواهید منابع داده را از طریق پایگاه داده Cacti مدیریت کنید، می‌توانید از دستورات SQL استفاده کنید. برای مثال، برای ایجاد یک Data Source جدید برای نظارت بر مصرف CPU یک دستگاه، مراحل زیر را دنبال کنید:

  1. ورود به پایگاه داده MySQL: ابتدا باید وارد محیط MySQL شوید:
    mysql -u root -p
    
  2. ایجاد یک Data Source جدید: برای ایجاد یک Data Source جدید در پایگاه داده، باید از دستورات SQL استفاده کنید. به‌طور معمول، Data Source‌ها در جدول data_sources ذخیره می‌شوند.

    برای اضافه کردن یک Data Source جدید به جدول data_sources، از دستور زیر استفاده کنید:

    INSERT INTO data_sources (device_id, name, snmp_oid, data_type, snmp_community)
    VALUES (<device_id>, 'CPU Usage', '1.3.6.1.4.1.2021.10.1.3.0', 0, 'public');
    
    • در این دستور:
      • <device_id> شناسه دستگاهی است که می‌خواهید Data Source برای آن ایجاد کنید.
      • 'CPU Usage' نام Data Source است.
      • '1.3.6.1.4.1.2021.10.1.3.0' OID SNMP برای مصرف CPU است.
      • 0 نوع داده است (در اینجا عدد 0 برای داده‌های عددی استفاده می‌شود).
      • 'public' Community String برای SNMP v1 و v2c است.
  3. ذخیره و خروج: پس از وارد کردن دستور SQL، تغییرات ذخیره می‌شوند و شما می‌توانید Data Source جدید را مشاهده و از آن در گراف‌ها استفاده کنید.

3. ملاحظات هنگام ایجاد منابع داده

  • انتخاب SNMP صحیح: هنگام ایجاد منابع داده، مطمئن شوید که تنظیمات SNMP صحیح وارد شده‌اند تا Cacti بتواند به‌درستی داده‌ها را از دستگاه‌ها جمع‌آوری کند.
  • OID صحیح: برای منابع داده SNMP، باید OID (Object Identifier) صحیح را برای هر پارامتر مورد نظر وارد کنید. اگر OID اشتباه وارد شود، Cacti قادر به جمع‌آوری داده‌ها نخواهد بود.
  • نوع داده: هنگام انتخاب نوع داده، باید دقت کنید که نوع داده (مثلاً عدد صحیح، رشته یا درصد) با نوع داده‌ای که از دستگاه دریافت می‌شود مطابقت داشته باشد.

جمع‌بندی

در این بخش، به مفهوم منابع داده در Cacti پرداختیم. منابع داده یکی از اجزای کلیدی سیستم مانیتورینگ Cacti هستند که داده‌ها را از دستگاه‌ها جمع‌آوری کرده و برای نمایش در گراف‌ها استفاده می‌کنند. روش‌های مختلفی برای ایجاد و مدیریت منابع داده وجود دارد که شامل روش‌های گرافیکی و کامندی است. ایجاد صحیح منابع داده و اطمینان از تنظیمات صحیح برای جمع‌آوری داده‌ها از دستگاه‌ها، بخش حیاتی از پیکربندی و استفاده بهینه از Cacti است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعریف منابع داده برای هر دستگاه” subtitle=”توضیحات کامل”]در سیستم Cacti، منابع داده (Data Sources) به‌عنوان واحدهای اصلی جمع‌آوری اطلاعات از دستگاه‌های تحت نظارت استفاده می‌شوند. هر دستگاه (Device) در Cacti می‌تواند چندین منبع داده برای نظارت بر پارامترهای مختلف مانند پهنای باند (Bandwidth)، CPU، حافظه (Memory) و دیگر معیارهای منابع آن دستگاه داشته باشد. این منابع داده به‌طور مستقیم با گراف‌ها (Graphs) مرتبط هستند و اطلاعات جمع‌آوری‌شده را برای نمایش در قالب گراف‌های گوناگون در اختیار کاربر قرار می‌دهند.

ایجاد و مدیریت منابع داده به کاربر این امکان را می‌دهد که پارامترهای مختلف دستگاه‌های شبکه را به‌صورت دقیق و در زمان واقعی مانیتور کند. در این بخش، به توضیح مراحل تعریف منابع داده برای دستگاه‌ها و انتخاب نوع داده‌ها می‌پردازیم.


1. انتخاب نوع داده‌ها برای منابع داده

هر دستگاه که به Cacti افزوده می‌شود، می‌تواند برای نظارت بر چندین پارامتر مختلف دارای منابع داده‌ای باشد. مهم‌ترین پارامترهای مورد استفاده در اکثر شبکه‌ها عبارتند از:

  • پهنای باند (Bandwidth): میزان استفاده از لینک‌های شبکه.
  • CPU: میزان مصرف پردازنده در دستگاه‌ها.
  • حافظه (Memory): میزان استفاده از حافظه RAM.
  • Load: میزان بار وارد شده بر دستگاه‌ها.
  • Temperatures: دماهای سخت‌افزاری در سرورها و روترها.

مراحل انتخاب نوع داده‌ها به‌صورت گرافیکی در Cacti:

  1. ورود به بخش مدیریت منابع داده: برای آغاز کار، باید وارد داشبورد Cacti شوید و به بخش مدیریت منابع داده بروید. این کار با انتخاب گزینه Data Sources از منوی اصلی انجام می‌شود.
  2. انتخاب دستگاه: از لیست دستگاه‌های موجود، دستگاه مورد نظر برای تعریف منابع داده را انتخاب کنید. به عنوان مثال، می‌توانید دستگاهی مانند سرور یا روتر را انتخاب کنید.
  3. تعریف منابع داده: پس از انتخاب دستگاه، برای اضافه کردن یک منبع داده جدید، بر روی گزینه Add کلیک کنید.
  4. انتخاب نوع داده‌ها: پس از کلیک بر روی گزینه Add, فرم جدیدی باز می‌شود که باید نوع داده‌هایی که می‌خواهید برای دستگاه نظارت کنید را وارد کنید.

    در این بخش می‌توانید پارامترهایی مانند پهنای باند، CPU، حافظه و غیره را انتخاب کنید. برای هر یک از این پارامترها، باید نوع داده و OID مناسب را وارد کنید.

    • برای پهنای باند، معمولاً از OID‌های مربوط به اتصالات شبکه و پورت‌ها استفاده می‌شود.
    • برای CPU، از OID‌های مربوط به میزان استفاده از پردازنده استفاده می‌شود.
    • برای حافظه، OID‌های مربوط به حافظه استفاده‌شده و حافظه آزاد مورد استفاده قرار می‌گیرند.
  5. ذخیره منابع داده: پس از وارد کردن تنظیمات مناسب برای منابع داده، باید آن‌ها را ذخیره کنید. در این بخش، روی گزینه Save کلیک کنید تا منابع داده جدید ذخیره شود.

2. تعریف منابع داده از طریق SQL (کامند)

اگر بخواهید منابع داده را از طریق پایگاه داده مدیریت کنید، می‌توانید به‌صورت دستی آن‌ها را از طریق دستورات SQL تعریف کنید. این روش به‌ویژه زمانی مفید است که بخواهید منابع داده را به‌طور خودکار یا در مقیاس وسیع مدیریت کنید.

مراحل ایجاد منابع داده از طریق SQL:

  1. ورود به پایگاه داده Cacti: ابتدا باید به پایگاه داده MySQL وارد شوید. از دستور زیر برای ورود به پایگاه داده استفاده کنید:
    mysql -u root -p
    
  2. ایجاد Data Source جدید: برای ایجاد منابع داده برای دستگاه‌ها، باید از جدول data_sources در پایگاه داده استفاده کنید. دستور SQL زیر یک Data Source جدید برای نظارت بر پهنای باند یک دستگاه ایجاد می‌کند:
    INSERT INTO data_sources (device_id, name, snmp_oid, data_type, snmp_community)
    VALUES (<device_id>, 'Bandwidth Usage', '1.3.6.1.2.1.2.2.1.10.1', 0, 'public');
    
    • <device_id> شناسه دستگاه مورد نظر است.
    • 'Bandwidth Usage' نام منبع داده است.
    • '1.3.6.1.2.1.2.2.1.10.1' OID مربوط به ترافیک دریافت‌شده از پورت شبکه است.
    • 0 نوع داده‌ای است که در اینجا برای داده‌های عددی استفاده می‌شود.
    • 'public' Community String برای دستگاه است (برای نسخه‌های SNMP v1 و v2c).
  3. ذخیره و خروج: پس از وارد کردن دستور SQL، منابع داده به‌صورت خودکار در پایگاه داده ذخیره می‌شوند و می‌توانید آن‌ها را در بخش Data Sources در Cacti مشاهده کنید.

3. ملاحظات هنگام تعریف منابع داده

  • OID صحیح: هنگام انتخاب نوع داده‌ها، باید OID صحیح برای هر پارامتر وارد شود. اگر OID اشتباه باشد، Cacti قادر به جمع‌آوری داده‌ها نخواهد بود.
  • نوع داده‌ها: هنگام انتخاب نوع داده‌ها، باید توجه کنید که نوع داده‌ها (عدد صحیح، درصد، یا داده متنی) با داده‌هایی که از دستگاه دریافت می‌شود، مطابقت داشته باشد. برای مثال، در نظارت بر پهنای باند، نوع داده معمولاً به‌صورت عدد صحیح و با واحد کیلوبایت یا مگابایت است.
  • دستگاه و SNMP: برای هر دستگاه، باید تنظیمات صحیح SNMP را برای جمع‌آوری داده‌ها وارد کنید. این تنظیمات شامل Community String (برای نسخه‌های v1 و v2c) یا SNMP Username و Authentication/Encryption (برای نسخه v3) است.

جمع‌بندی

در این بخش، به تعریف منابع داده در Cacti و چگونگی انتخاب نوع داده‌ها (مانند پهنای باند، CPU، حافظه و غیره) پرداختیم. منابع داده بخش کلیدی در Cacti هستند که داده‌ها را از دستگاه‌های شبکه جمع‌آوری کرده و برای ایجاد گراف‌ها و نظارت بر وضعیت دستگاه‌ها استفاده می‌شوند. روش‌های مختلفی برای تعریف منابع داده وجود دارد که شامل روش‌های گرافیکی و کامندی (SQL) است. توجه به انتخاب صحیح نوع داده‌ها و OID‌ها برای جمع‌آوری دقیق داده‌ها از دستگاه‌ها از اهمیت ویژه‌ای برخوردار است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات دقیق مربوط به هر منبع داده” subtitle=”توضیحات کامل”]در Cacti، منابع داده (Data Sources) برای جمع‌آوری اطلاعات از دستگاه‌های شبکه مختلف استفاده می‌شوند. هر منبع داده به تنظیمات خاصی نیاز دارد تا به‌طور دقیق اطلاعات موردنظر از دستگاه‌ها جمع‌آوری شود. این تنظیمات شامل انتخاب OID برای دستگاه‌های مختلف، تعیین نوع داده‌ها، تنظیمات SNMP، و مشخص کردن واحد اندازه‌گیری می‌شود. در این بخش، به بررسی تنظیمات دقیق هر منبع داده خواهیم پرداخت.


1. انتخاب نوع داده‌ها

برای هر منبع داده باید نوع داده‌ای که قرار است از دستگاه‌ها جمع‌آوری شود را انتخاب کنید. این نوع داده می‌تواند شامل مقادیر مختلفی مانند عدد صحیح (Integer)، درصد (Percentage)، متن (Text) و یا زمان (Time) باشد.

نوع‌های رایج داده‌ها:

  • عدد صحیح (Integer): این نوع برای جمع‌آوری داده‌هایی استفاده می‌شود که به‌صورت عددی (مانند استفاده از پردازنده، حافظه و پهنای باند) اندازه‌گیری می‌شوند.
  • درصد (Percentage): برای جمع‌آوری داده‌هایی که به‌صورت درصدی نمایش داده می‌شوند، مانند استفاده از CPU یا حافظه.
  • زمان (Time): برای داده‌هایی که به‌صورت زمان (مانند زمان واکنش سرور) نمایش داده می‌شوند.
  • مقدار متنی (Text): در صورتی که نیاز به جمع‌آوری داده‌های متنی مانند نام‌ها یا وضعیت‌ها دارید.

انتخاب نوع داده در تنظیمات:

در زمان ایجاد منبع داده در Cacti، باید نوع داده‌ها را از میان گزینه‌های موجود انتخاب کنید.

2. انتخاب OID

یکی از مهم‌ترین مراحل در پیکربندی منابع داده، انتخاب OID (Object Identifier) مناسب است. OID‌ها برای هر دستگاه و پارامتر مشخصی متفاوت هستند و مشخص می‌کنند که از کدام اطلاعات باید استفاده شود. به‌عنوان مثال:

  • برای پهنای باند می‌توانید از OID‌های مربوط به پورت‌ها و ترافیک آن‌ها استفاده کنید.
  • برای حافظه می‌توانید از OID‌های مربوط به وضعیت حافظه سیستم استفاده کنید.
  • برای استفاده از CPU، OID مربوط به پردازنده دستگاه استفاده می‌شود.

مثال انتخاب OID برای منابع داده:

  1. برای پهنای باند دریافت‌شده:
    • OID: 1.3.6.1.2.1.2.2.1.10.1
    • توضیحات: این OID میزان ترافیک دریافت‌شده از پورت 1 را نمایش می‌دهد.
  2. برای پهنای باند ارسال‌شده:
    • OID: 1.3.6.1.2.1.2.2.1.16.1
    • توضیحات: این OID میزان ترافیک ارسال‌شده از پورت 1 را نمایش می‌دهد.
  3. برای استفاده از پردازنده (CPU):
    • OID: 1.3.6.1.4.1.2021.11.9.0
    • توضیحات: این OID میزان استفاده از CPU دستگاه را نشان می‌دهد.

3. تنظیمات SNMP

برای دسترسی به منابع داده از طریق SNMP، باید تنظیمات صحیح SNMP را در Cacti وارد کنید. این تنظیمات بسته به نسخه SNMP دستگاه متفاوت خواهد بود:

  • برای SNMP نسخه v1 و v2c، باید Community String را وارد کنید.
  • برای SNMP نسخه v3، باید اطلاعات اضافی مانند Username، Authentication و Encryption را وارد کنید.

تنظیمات SNMP در Cacti:

  1. نسخه SNMP v1 و v2c:
    • هنگام افزودن منبع داده، در بخش تنظیمات SNMP باید Community String دستگاه را وارد کنید:
      • Community String: به‌طور پیش‌فرض معمولاً به نام public است.
      • در هنگام تعریف منابع داده برای SNMP v1 یا v2c، این مقدار باید وارد شود تا Cacti به دستگاه دسترسی پیدا کند.
  2. نسخه SNMP v3:
    • برای دستگاه‌هایی که از SNMP نسخه v3 استفاده می‌کنند، باید اطلاعات اضافی وارد شود:
      • SNMP Username: نام کاربری برای SNMP.
      • Authentication: الگوریتم احراز هویت (مانند MD5 یا SHA).
      • Encryption: الگوریتم رمزگذاری (مانند DES یا AES).

پیکربندی SNMP v3:

snmpwalk -v 3 -u <username> -l authPriv -a <auth_algorithm> -A <auth_password> -x <encryption_algorithm> -X <encryption_password> <device_ip>
  • <username>: نام کاربری SNMP v3.
  • <auth_algorithm>: الگوریتم احراز هویت (MD5/SHA).
  • <auth_password>: رمز عبور احراز هویت.
  • <encryption_algorithm>: الگوریتم رمزگذاری (DES/AES).
  • <encryption_password>: رمز عبور رمزگذاری.
  • <device_ip>: آدرس IP دستگاه.

4. واحد اندازه‌گیری

در هنگام تعریف منابع داده برای دستگاه‌ها، باید واحد اندازه‌گیری را نیز مشخص کنید. این واحد اندازه‌گیری می‌تواند برای انواع مختلف داده‌ها متفاوت باشد، به‌عنوان‌مثال:

  • پهنای باند: معمولاً به‌صورت بایت، کیلوبایت، مگابایت یا گیگابایت اندازه‌گیری می‌شود.
  • CPU و حافظه: معمولاً به‌صورت درصد یا مگابایت و گیگابایت اندازه‌گیری می‌شود.

در تنظیمات Cacti، می‌توانید واحد اندازه‌گیری را انتخاب کرده و آن را برای هر منبع داده مشخص کنید.

انتخاب واحد اندازه‌گیری در Cacti:

زمانی که شما در Cacti یک منبع داده جدید تعریف می‌کنید، در بخش Unit of Measurement می‌توانید واحد مناسب را از فهرست کشویی انتخاب کنید. به‌عنوان مثال، می‌توانید برای پهنای باند واحد Kbps یا Mbps را انتخاب کنید.


5. تنظیمات دوره Polling

یکی دیگر از تنظیمات مهم، دوره Polling یا دوره جمع‌آوری داده‌ها است. این تنظیمات مشخص می‌کنند که Cacti به‌طور مرتب و با چه فاصله زمانی از دستگاه‌ها داده‌ها را جمع‌آوری کند.

  • Poll Interval: فاصله زمانی بین هر بار Polling. به‌عنوان مثال، می‌توانید آن را به هر 5 دقیقه تنظیم کنید.
  • تعداد دفعات Polling: در صورت نیاز، می‌توانید تعداد دفعات Polling را نیز محدود کنید.

تنظیمات Polling در Cacti:

در زمان تعریف منابع داده، می‌توانید Poll Interval را برای هر منبع داده تنظیم کنید. به‌طور معمول، این مقدار بین 1 تا 15 دقیقه تنظیم می‌شود.


جمع‌بندی

در این بخش، به تنظیمات دقیق منابع داده در Cacti پرداخته‌ایم. این تنظیمات شامل انتخاب نوع داده‌ها، تعیین OID مناسب برای دستگاه‌ها، تنظیمات SNMP، واحد اندازه‌گیری، و دوره Polling می‌شود. هر یک از این تنظیمات نقش بسیار مهمی در جمع‌آوری دقیق و مؤثر داده‌ها از دستگاه‌های شبکه دارند. به‌طور کلی، برای استفاده بهینه از Cacti، لازم است که تمامی این تنظیمات به‌درستی انجام شود تا بتوانید وضعیت دستگاه‌ها و منابع شبکه را به‌طور دقیق و در زمان واقعی نظارت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از قالب‌های پیش‌فرض برای تعریف سریع منابع داده” subtitle=”توضیحات کامل”]در Cacti، برای تسریع روند تعریف منابع داده و جلوگیری از نیاز به تنظیمات دستی و تکراری، می‌توان از قالب‌های پیش‌فرض (Graph Templates یا Data Source Templates) استفاده کرد. این قالب‌ها، تنظیمات از پیش تعیین‌شده‌ای برای منابع داده ارائه می‌دهند که به‌ویژه برای دستگاه‌هایی با پیکربندی مشابه بسیار مفید هستند. استفاده از قالب‌های پیش‌فرض، علاوه بر صرفه‌جویی در زمان، خطاهای انسانی در هنگام تعریف منابع داده جدید را کاهش می‌دهد.


1. مفهوم قالب‌های پیش‌فرض

قالب‌های پیش‌فرض در Cacti مجموعه‌ای از تنظیمات استاندارد برای ایجاد منابع داده و گراف‌ها هستند. به‌جای این‌که شما هر بار از ابتدا برای هر دستگاه جدید، تمام تنظیمات را وارد کنید، می‌توانید از قالب‌های آماده برای دستگاه‌های مشابه استفاده کنید. این قالب‌ها تنظیمات OID، واحد اندازه‌گیری، نوع داده‌ها، و سایر ویژگی‌ها را از پیش تنظیم کرده‌اند.

انواع قالب‌ها:

  • Data Source Templates: برای ایجاد منابع داده استفاده می‌شود.
  • Graph Templates: برای ایجاد گراف‌ها و تعریف منابع داده‌ای که به گراف‌ها متصل می‌شوند.

2. استفاده از قالب‌های پیش‌فرض برای منابع داده

زمانی که قصد دارید یک منبع داده جدید برای دستگاه‌های مختلف تعریف کنید، استفاده از قالب‌های پیش‌فرض می‌تواند به‌طور قابل‌توجهی سرعت شما را افزایش دهد. این قالب‌ها معمولاً به‌طور پیش‌فرض تنظیمات مربوط به OID، نوع داده، و واحد اندازه‌گیری را مشخص می‌کنند.

مراحل استفاده از قالب‌های پیش‌فرض برای منابع داده:

  1. وارد شدن به صفحه ایجاد منابع داده:
    • به صفحه مدیریت دستگاه‌ها (Device Management) بروید.
    • دستگاه موردنظر را انتخاب کنید.
    • از منوی «Create» یا «Add» برای ایجاد یک منبع داده جدید اقدام کنید.
  2. انتخاب قالب پیش‌فرض:
    • پس از انتخاب دستگاه، Cacti به شما این امکان را می‌دهد تا از قالب‌های پیش‌فرض موجود برای منابع داده استفاده کنید.
    • در بخش Data Source Template، فهرستی از قالب‌های آماده نمایش داده می‌شود. بسته به نوع دستگاه، قالب‌های مختلفی مانند Router, Switch, Server و غیره وجود دارد.
    • قالب پیش‌فرض مناسب را انتخاب کنید.
  3. تنظیمات خودکار قالب:
    • پس از انتخاب قالب، بیشتر تنظیمات به‌طور خودکار پر می‌شوند، از جمله انتخاب OID برای پارامترهای مختلف (مانند CPU، حافظه، پهنای باند، و غیره).
    • واحد اندازه‌گیری و نوع داده به‌طور پیش‌فرض برای قالب انتخابی تنظیم می‌شود.
  4. ذخیره تنظیمات:
    • پس از اعمال تنظیمات لازم، منبع داده جدید را ذخیره کنید.

مثال استفاده از قالب پیش‌فرض برای یک روتر سیسکو:

فرض کنید شما می‌خواهید برای یک روتر سیسکو منبع داده مربوط به استفاده از CPU را تعریف کنید. برای این کار می‌توانید از قالب پیش‌فرض Cisco Router – CPU استفاده کنید.

  1. انتخاب دستگاه: دستگاه روتر سیسکو را از فهرست دستگاه‌ها انتخاب کنید.
  2. انتخاب قالب: از منوی «Create Data Source», قالب Cisco Router – CPU را انتخاب کنید.
  3. تنظیمات خودکار: قالب به‌طور خودکار OID مرتبط با استفاده از CPU، نوع داده (درصد)، و واحد اندازه‌گیری (درصد) را برای شما وارد می‌کند.
  4. ذخیره منبع داده: منبع داده جدید را ذخیره کنید.

این فرایند به‌طور قابل‌توجهی در زمان صرفه‌جویی می‌کند و نیاز به وارد کردن دستی اطلاعات OID یا سایر تنظیمات را از بین می‌برد.

3. پیکربندی قالب‌های پیش‌فرض برای منابع داده

گاهی اوقات، نیاز دارید که قالب‌های پیش‌فرض را به‌طور سفارشی تغییر دهید. به‌عنوان مثال، ممکن است بخواهید OIDها یا واحدهای اندازه‌گیری را برای دستگاه خاص خود تغییر دهید.

مراحل پیکربندی سفارشی قالب‌ها:

  1. ورود به صفحه مدیریت قالب‌ها:
    • از منوی اصلی Cacti به بخش Templates بروید.
    • زیر منوی Data Source Templates را انتخاب کنید.
  2. ویرایش قالب‌ها:
    • قالب موردنظر را از فهرست انتخاب کنید.
    • تنظیمات مختلف قالب، مانند OID، نوع داده‌ها، واحد اندازه‌گیری، و تنظیمات Polling را تغییر دهید.
  3. ذخیره تغییرات:
    • پس از ویرایش قالب، تغییرات خود را ذخیره کنید.

مثال ویرایش قالب برای منابع داده:

فرض کنید شما می‌خواهید واحد اندازه‌گیری پهنای باند را از KBps به Mbps تغییر دهید.

  1. وارد بخش Data Source Templates شوید.
  2. قالب Generic SNMP Device – Traffic را پیدا کنید.
  3. بخش Unit of Measurement را تغییر داده و Mbps را انتخاب کنید.
  4. تغییرات را ذخیره کنید.

این قالب اکنون برای دستگاه‌های دیگر که از این قالب استفاده می‌کنند، به‌طور خودکار تنظیمات جدید را اعمال خواهد کرد.

4. مزایای استفاده از قالب‌های پیش‌فرض

استفاده از قالب‌های پیش‌فرض در Cacti مزایای زیادی دارد:

  • سرعت بیشتر: شما می‌توانید به سرعت منابع داده و گراف‌ها را برای دستگاه‌های مشابه تعریف کنید.
  • کاهش خطاها: تنظیمات اشتباه یا ناقص کاهش می‌یابد زیرا بیشتر تنظیمات به‌طور خودکار توسط قالب‌ها وارد می‌شوند.
  • مدیریت بهتر: زمانی که دستگاه‌های زیادی دارید، استفاده از قالب‌ها کمک می‌کند تا تنظیمات مشابه به‌طور یکنواخت و استاندارد بر روی همه دستگاه‌ها اعمال شود.

جمع‌بندی

استفاده از قالب‌های پیش‌فرض برای تعریف منابع داده در Cacti می‌تواند فرآیند تنظیمات را بسیار ساده‌تر و سریع‌تر کند. این قالب‌ها شامل تنظیمات از پیش تعیین‌شده‌ای هستند که به شما کمک می‌کنند تا منابع داده را برای دستگاه‌ها با سرعت و دقت بیشتری ایجاد کنید. همچنین، امکان ویرایش و سفارشی‌سازی قالب‌ها نیز فراهم است تا در صورت نیاز به تنظیمات خاص، قالب‌ها را به‌طور دقیق‌تری پیکربندی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”رفع مشکلات در منابع داده: خطاهای مربوط به SNMP یا تنظیمات نادرست” subtitle=”توضیحات کامل”]در محیط‌های نظارتی مانند Cacti، منابع داده (Data Sources) برای جمع‌آوری اطلاعات از دستگاه‌ها استفاده می‌شوند. یکی از مشکلات رایجی که کاربران در هنگام کار با منابع داده با آن مواجه می‌شوند، خطاهای SNMP یا تنظیمات نادرست است. این مشکلات می‌تواند باعث عدم توانایی در جمع‌آوری داده‌ها و نمایش صحیح گراف‌ها شود.

در این بخش، به بررسی چگونگی شناسایی و رفع مشکلات رایج در منابع داده که ناشی از خطاهای SNMP یا تنظیمات نادرست است، پرداخته خواهد شد.


1. بررسی مشکلات مربوط به SNMP

SNMP (Simple Network Management Protocol) یکی از پروتکل‌های اصلی برای جمع‌آوری اطلاعات از دستگاه‌های شبکه است. اگر ارتباط SNMP به درستی پیکربندی نشده باشد، Cacti قادر نخواهد بود داده‌ها را از دستگاه‌ها جمع‌آوری کند. مشکلات رایج مربوط به SNMP عبارتند از:

الف) خطا در تنظیمات SNMP Community

تنظیمات SNMP Community برای نسخه‌های v1 و v2c از مهم‌ترین تنظیمات در ارتباط SNMP هستند. اگر Community String اشتباه باشد، Cacti نمی‌تواند به دستگاه دسترسی پیدا کند و داده‌ها را دریافت کند.

مراحل رفع مشکل:
  1. بررسی تنظیمات SNMP Community در دستگاه:
    • از طریق رابط کاربری دستگاه یا دستور CLI، Community String مورد استفاده را بررسی کنید.
  2. تایید Community String در Cacti:
    • به بخش Device Management بروید.
    • دستگاه موردنظر را انتخاب کرده و از بخش SNMP Settings بررسی کنید که Community String درست وارد شده باشد.
  3. آزمایش ارتباط SNMP:
    • با استفاده از ابزار snmpwalk، اتصال SNMP به دستگاه را آزمایش کنید. برای انجام این کار از دستور زیر استفاده کنید:
snmpwalk -v 2c -c [CommunityString] [IPDevice]

در این دستور:

  • [CommunityString] همان Community String است.
  • [IPDevice] آدرس IP دستگاه مقصد است.

اگر پاسخ دریافت نکردید، ممکن است Community String اشتباه باشد.

ب) مشکلات تنظیمات SNMP نسخه v3

برای استفاده از SNMP v3، به دلیل استفاده از Authentication و Encryption، تنظیمات پیچیده‌تری نیاز است. در صورتی که هر یک از این تنظیمات اشتباه باشد، Cacti قادر به ارتباط با دستگاه نخواهد بود.

مراحل رفع مشکل:
  1. بررسی تنظیمات SNMP v3 در دستگاه:
    • دستگاه را چک کنید تا اطمینان حاصل کنید که Username، Authentication (نوع و پسورد)، و Encryption (نوع و کلید) به درستی تنظیم شده باشد.
  2. تایید تنظیمات SNMP v3 در Cacti:
    • در بخش Device Management، دستگاه موردنظر را انتخاب کرده و از بخش SNMP Settings، مقادیر Username، Authentication و Encryption را به‌درستی وارد کنید.
  3. آزمایش ارتباط SNMP v3:
    • برای تست ارتباط، از دستور زیر استفاده کنید:
snmpwalk -v 3 -l authPriv -u [Username] -a [AuthType] -A [AuthPassword] -x [EncryptType] -X [EncryptPassword] [IPDevice]

در این دستور:

  • [Username] نام کاربری است.
  • [AuthType] نوع احراز هویت (مانند MD5 یا SHA).
  • [AuthPassword] پسورد احراز هویت.
  • [EncryptType] نوع رمزنگاری (مانند DES یا AES).
  • [EncryptPassword] پسورد رمزنگاری.
  • [IPDevice] آدرس IP دستگاه مقصد.

اگر خطای “Timeout” یا “No Response” دریافت کنید، تنظیمات اشتباه است.


2. بررسی مشکلات تنظیمات نادرست منابع داده

اگر ارتباط SNMP صحیح است اما هنوز داده‌ها جمع‌آوری نمی‌شوند، ممکن است تنظیمات منابع داده نادرست باشد. رایج‌ترین مشکلات عبارتند از:

الف) OID اشتباه یا غیرفعال بودن OID

OID (Object Identifier) برای شناسایی داده‌های مختلف در SNMP استفاده می‌شود. اگر OID اشتباه وارد شده باشد یا دستگاه از OID موردنظر پشتیبانی نکند، Cacti قادر به جمع‌آوری داده‌ها نخواهد بود.

مراحل رفع مشکل:
  1. بررسی OID دستگاه:
    • از دستور snmpwalk برای شناسایی OID استفاده کنید:
snmpwalk -v 2c -c [CommunityString] [IPDevice]

این دستور تمام OIDهای پشتیبانی‌شده توسط دستگاه را نشان می‌دهد. مطمئن شوید که OID برای منابع داده‌ای که ایجاد کرده‌اید، وجود دارد.

  1. اصلاح OID در تنظیمات Cacti:
    • به بخش Data Source Management بروید.
    • منبع داده را که دارای OID نادرست است، ویرایش کنید و OID صحیح را وارد کنید.

ب) مشکل در تنظیمات Polling Interval

اگر تنظیمات Polling Interval (فاصله زمانی بین هر Polling) برای منابع داده خیلی طولانی یا کوتاه باشد، می‌تواند باعث بروز مشکلاتی در جمع‌آوری داده‌ها شود.

مراحل رفع مشکل:
  1. بررسی تنظیمات Polling Interval:
    • به بخش Data Source Management بروید.
    • منبع داده مربوطه را ویرایش کنید و بررسی کنید که Polling Interval به‌درستی تنظیم شده باشد.
  2. تغییر Polling Interval:
    • به‌طور معمول، Polling Interval باید بین 5 تا 10 دقیقه باشد.

    برای تغییر Polling Interval می‌توانید از طریق CLI با ویرایش فایل تنظیمات Cacti نیز اقدام کنید:

sudo nano /etc/cacti/poller.php

در این فایل می‌توانید تنظیمات Polling Interval را به‌روزرسانی کنید.

ج) عدم تطابق نوع داده‌ها

گاهی اوقات نوع داده‌ای که برای یک منبع داده انتخاب می‌شود با داده‌هایی که دستگاه ارسال می‌کند، مطابقت ندارد. برای مثال، ممکن است داده‌های دستگاه به صورت درصد باشند، اما شما نوع داده‌ای را انتخاب کرده باشید که به صورت مقیاس عددی نمایش داده می‌شود.

مراحل رفع مشکل:
  1. بررسی نوع داده:
    • به بخش Data Source Management بروید و منبع داده مربوطه را انتخاب کنید.
    • نوع داده (Data Type) را بررسی کنید و از اینکه با نوع داده‌های دریافتی از دستگاه تطابق دارد، اطمینان حاصل کنید.
  2. اصلاح نوع داده:
    • در صورت نیاز، نوع داده را به شکل صحیح تغییر دهید (برای مثال، اگر داده‌ها به صورت درصد هستند، نوع داده را به «Percentage» تغییر دهید).

3. آزمایش و تایید

پس از انجام تنظیمات و اصلاحات، باید بررسی کنید که داده‌ها به درستی جمع‌آوری می‌شوند و گراف‌ها نمایش داده می‌شوند.

استفاده از ابزار “Poller” برای تایید:

در Cacti می‌توانید از ابزار Poller برای بررسی وضعیت Polling و داده‌های جمع‌آوری شده استفاده کنید:

sudo php /var/www/html/cacti/poller.php

این دستور فرآیند Polling را شروع کرده و به شما اطلاع می‌دهد که آیا داده‌ها به درستی جمع‌آوری شده‌اند یا خیر.


جمع‌بندی

رفع مشکلات در منابع داده Cacti، به‌ویژه مشکلات مرتبط با SNMP و تنظیمات نادرست، ممکن است پیچیده به نظر برسد، اما با دنبال کردن مراحل دقیق بررسی و اصلاح تنظیمات، می‌توانید مشکلات را شناسایی و رفع کنید. در ابتدا، مطمئن شوید که تنظیمات SNMP، OID و Polling Interval به درستی پیکربندی شده‌اند. سپس از ابزارهایی مانند snmpwalk و Poller.php برای آزمایش و تایید ارتباط استفاده کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. اعتبارسنجی و تست پیکربندی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”اطمینان از صحت پیکربندی دستگاه‌ها” subtitle=”توضیحات کامل”]در Cacti، پیکربندی صحیح دستگاه‌ها (Devices) از جمله پیش‌نیازهای مهم برای جمع‌آوری داده‌های دقیق و ایجاد گراف‌های قابل اعتماد است. از آنجایی که هر دستگاه ممکن است ویژگی‌ها و نیازهای متفاوتی داشته باشد (مانند تنظیمات SNMP، نوع داده‌ها، و منابع داده)، بررسی و اطمینان از صحت پیکربندی دستگاه‌ها برای جلوگیری از بروز مشکلات بعدی بسیار ضروری است.

در این بخش، به بررسی گام‌های ضروری برای اطمینان از صحت پیکربندی دستگاه‌ها در Cacti می‌پردازیم.


1. بررسی پیکربندی اولیه دستگاه‌ها

هر دستگاه باید به‌درستی در Cacti پیکربندی شده باشد تا بتواند اطلاعات را از شبکه جمع‌آوری کرده و به سیستم Cacti ارسال کند. این پیکربندی شامل آدرس IP، پروتکل SNMP، و تنظیمات دیگر است. در ابتدا باید از درست بودن این تنظیمات اطمینان حاصل کرد.

الف) بررسی آدرس IP و نام دستگاه

یکی از اولین مراحل در پیکربندی دستگاه‌ها، تعیین آدرس IP یا نام هاست است. اگر این اطلاعات به‌درستی وارد نشده باشد، Cacti نمی‌تواند با دستگاه ارتباط برقرار کند.

مراحل بررسی:
  1. وارد بخش Device Management در Cacti شوید.
  2. دستگاه موردنظر را انتخاب کنید.
  3. بررسی کنید که آدرس IP یا نام هاست درست وارد شده باشد.
  4. اطمینان حاصل کنید که دستگاه در دسترس است و آدرس IP وارد شده صحیح است.

ب) بررسی تنظیمات SNMP

تنظیمات SNMP (خصوصاً Community String برای نسخه‌های v1 و v2c یا Username، Authentication و Encryption برای SNMP نسخه 3) باید به‌دقت وارد شده باشند.

مراحل بررسی:
  1. وارد بخش Device Management شوید و دستگاه موردنظر را انتخاب کنید.
  2. از بخش SNMP Settings مطمئن شوید که تنظیمات به‌درستی وارد شده‌اند:
    • برای SNMP v1/v2c: Community String صحیح وارد شده باشد.
    • برای SNMP v3: Username، Authentication، و Encryption به‌درستی تنظیم شده باشند.
  3. از دستور زیر برای تست تنظیمات SNMP استفاده کنید:
snmpwalk -v 2c -c [CommunityString] [IPDevice]

برای SNMP نسخه 3، دستور به شکل زیر خواهد بود:

snmpwalk -v 3 -l authPriv -u [Username] -a [AuthType] -A [AuthPassword] -x [EncryptType] -X [EncryptPassword] [IPDevice]

در این دستورات:

  • [CommunityString] برای نسخه‌های v1 و v2c است.
  • [Username]، [AuthType]، [AuthPassword]، [EncryptType]، [EncryptPassword] برای SNMP v3 هستند.
  • [IPDevice] آدرس IP دستگاه مقصد است.

ج) تست دسترسی به دستگاه

برای اطمینان از اینکه دستگاه به‌درستی به Cacti متصل است، باید دستگاه‌ها را آزمایش کرده و از پاسخ‌دهی آن‌ها اطمینان حاصل کنید.

مراحل بررسی:
  1. از بخش Device Management دستگاه موردنظر را انتخاب کنید.
  2. بر روی دستگاه کلیک کنید و سپس از Test SNMP استفاده کنید تا اتصال به دستگاه را بررسی کنید.
  3. اگر دستگاه پاسخ نداد، به تنظیمات SNMP بازگشته و اطمینان حاصل کنید که دستگاه به‌درستی پیکربندی شده باشد.

2. بررسی منابع داده (Data Sources)

پس از اطمینان از صحت پیکربندی دستگاه‌ها، باید مطمئن شویم که منابع داده به‌درستی پیکربندی شده‌اند. منابع داده برای جمع‌آوری اطلاعات از دستگاه‌ها مورد استفاده قرار می‌گیرند و مشکلات در این بخش می‌تواند به عدم نمایش گراف‌ها و جمع‌آوری داده‌ها منجر شود.

الف) بررسی OIDهای انتخاب شده

برای جمع‌آوری اطلاعات از دستگاه‌ها، باید OIDهای صحیح انتخاب شوند. اگر OIDها اشتباه وارد شده یا دستگاه از OID موردنظر پشتیبانی نکند، Cacti قادر به جمع‌آوری داده‌ها نخواهد بود.

مراحل بررسی:
  1. وارد بخش Data Source Management شوید.
  2. منبع داده موردنظر را انتخاب کرده و OID مربوطه را بررسی کنید.
  3. برای تست OID، از دستور snmpwalk استفاده کنید:
snmpwalk -v 2c -c [CommunityString] [IPDevice]

این دستور تمام OIDهای موجود را نمایش می‌دهد. اگر OID موردنظر در این لیست نبود، باید آن را تغییر دهید.

ب) بررسی Polling Interval

Polling Interval زمان موردنیاز برای جمع‌آوری داده‌ها از دستگاه‌ها است. اگر این زمان خیلی طولانی یا خیلی کوتاه باشد، می‌تواند باعث بروز مشکلات در جمع‌آوری داده‌ها شود.

مراحل بررسی:
  1. وارد بخش Data Source Management شوید.
  2. منبع داده موردنظر را ویرایش کنید و Polling Interval را بررسی کنید.
  3. معمولاً Polling Interval باید بین 5 تا 10 دقیقه تنظیم شود.

برای تغییر این مقدار، می‌توانید از طریق CLI و ویرایش فایل poller.php عمل کنید:

sudo nano /etc/cacti/poller.php

در این فایل، مقدار Polling Interval را به‌دلخواه تنظیم کنید.


3. بررسی گراف‌ها (Graphs)

پس از پیکربندی دستگاه‌ها و منابع داده، باید اطمینان حاصل کنید که گراف‌ها به‌درستی تولید می‌شوند. مشکلات گراف‌ها معمولاً به تنظیمات اشتباه منابع داده یا OIDهای نادرست مربوط می‌شود.

الف) بررسی گراف‌ها و نمایش صحیح داده‌ها

برای اطمینان از اینکه گراف‌ها به درستی تولید می‌شوند و داده‌ها نمایش داده می‌شوند، باید از تنظیمات گراف‌ها اطمینان حاصل کنید.

مراحل بررسی:
  1. وارد بخش Graph Management شوید.
  2. گراف مربوط به دستگاه موردنظر را انتخاب کنید.
  3. بررسی کنید که Data Source و OID به‌درستی به گراف اختصاص داده شده باشد.
  4. برای تست گراف، آن را باز کرده و بررسی کنید که داده‌ها به‌درستی نمایش داده شوند.

ب) تست نمایش گراف‌ها

پس از اطمینان از صحت تنظیمات گراف‌ها، می‌توانید از ابزار “Poller” برای بررسی نمایش گراف‌ها استفاده کنید:

sudo php /var/www/html/cacti/poller.php

این دستور فرآیند Polling را آغاز کرده و نمایش گراف‌ها را به شما نشان می‌دهد.


4. بررسی مشکلات رایج و رفع آن‌ها

الف) مشکلات در ارتباط SNMP

اگر دستگاه‌ها به‌درستی پیکربندی شده‌اند اما ارتباط SNMP برقرار نمی‌شود، ممکن است مشکلات زیر وجود داشته باشد:

  • مشکل در Community String: بررسی کنید که Community String صحیح وارد شده باشد.
  • مشکلات دسترسی شبکه: بررسی کنید که دستگاه و Cacti در یک شبکه قابل دسترس باشند.
  • فایروال‌ها و ACLها: مطمئن شوید که فایروال‌ها یا ACLها مانع ارتباط SNMP نمی‌شوند.

ب) مشکلات در نمایش گراف‌ها

اگر گراف‌ها نمایش داده نمی‌شوند:

  • بررسی OID: مطمئن شوید که OID موردنظر برای جمع‌آوری داده‌ها صحیح است.
  • بررسی منابع داده: تنظیمات Polling Interval و OIDها را بررسی کنید.
  • بررسی کارایی دستگاه: ممکن است دستگاه قادر به ارسال داده‌ها نباشد. از ابزار snmpwalk برای آزمایش ارتباط استفاده کنید.

جمع‌بندی

در این بخش، به بررسی و اطمینان از صحت پیکربندی دستگاه‌ها در Cacti پرداختیم. این پیکربندی شامل تنظیمات آدرس IP، تنظیمات SNMP، منابع داده و گراف‌ها است. برای اطمینان از کارکرد صحیح سیستم، باید دستگاه‌ها و منابع داده را به‌دقت بررسی کرده و مشکلات احتمالی را شناسایی و رفع کنیم. در این مسیر، استفاده از ابزارهای تست مانند snmpwalk و poller.php می‌تواند به تشخیص سریع مشکلات کمک کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی اتصال دستگاه‌ها با Cacti: استفاده از ابزار Poller برای دریافت داده‌ها” subtitle=”توضیحات کامل”]در سیستم نظارت شبکه Cacti، Poller ابزاری کلیدی است که وظیفه جمع‌آوری و بروزرسانی داده‌ها از دستگاه‌های متصل به شبکه را بر عهده دارد. Poller به‌طور منظم دستگاه‌های موجود در شبکه را پرس‌وجو کرده و داده‌های مربوط به منابع مختلف مانند پهنای باند، CPU، حافظه و دیگر شاخص‌ها را جمع‌آوری می‌کند. اگر Poller به‌درستی پیکربندی شده باشد، این داده‌ها به‌طور خودکار به سیستم وارد می‌شوند و در گراف‌ها نمایش داده می‌شوند.

در این بخش، به بررسی نحوه استفاده از ابزار Poller برای دریافت داده‌ها از دستگاه‌ها پرداخته می‌شود. همچنین، نحوه پیکربندی و بررسی عملکرد آن توضیح داده می‌شود.


1. مفهوم Polling و ابزار Poller

Polling به فرآیند جمع‌آوری داده‌ها از دستگاه‌ها از طریق پروتکل‌هایی مانند SNMP گفته می‌شود. Poller ابزاری است که وظیفه انجام این فرآیند را در سیستم Cacti بر عهده دارد. Poller به‌طور منظم درخواست‌هایی برای دستگاه‌ها ارسال می‌کند تا داده‌های مورد نظر را از آن‌ها دریافت کرده و به پایگاه داده Cacti ارسال کند. این فرآیند ممکن است در فواصل زمانی معین (مثلاً هر 5 دقیقه یک‌بار) تکرار شود.

ابزار Poller در Cacti از دو بخش اصلی تشکیل شده است:

  1. Poller Script: که فرآیند اصلی دریافت داده‌ها را انجام می‌دهد.
  2. Poller Daemon: که مسئول مدیریت و نظارت بر اجرای منظم Poller Script است.

2. پیکربندی Poller در Cacti

برای اطمینان از جمع‌آوری صحیح داده‌ها، ابتدا باید Poller را در سیستم Cacti پیکربندی کرده و تنظیمات آن را به‌درستی انجام دهیم.

الف) پیکربندی Polling Interval برای دستگاه‌ها

Polling Interval نشان‌دهنده زمان بین هر بار درخواست داده از دستگاه‌ها است. این مقدار معمولاً به‌طور پیش‌فرض روی 5 دقیقه تنظیم می‌شود. اگر شما می‌خواهید زمان Polling را تغییر دهید، می‌توانید این مقدار را از طریق تنظیمات دستگاه‌ها یا منابع داده تغییر دهید.

مراحل پیکربندی:
  1. وارد بخش Device Management شوید.
  2. دستگاه موردنظر را انتخاب کرده و بر روی آن کلیک کنید.
  3. در قسمت Data Source Settings، Polling Interval را تغییر دهید.

ب) پیکربندی Poller در فایل پیکربندی

اگر شما به تنظیمات پیشرفته‌تری برای Poller نیاز دارید، می‌توانید پیکربندی‌های مربوطه را مستقیماً در فایل‌های پیکربندی Cacti تغییر دهید.

برای پیکربندی Poller در Cacti، ابتدا باید فایل poller.php را ویرایش کنید. این فایل معمولاً در مسیر /var/www/html/cacti/poller.php قرار دارد.

ویرایش فایل Poller:
sudo nano /var/www/html/cacti/poller.php

در این فایل می‌توانید تنظیمات مختلف مربوط به Poller را مشاهده کرده و آن‌ها را تغییر دهید. به‌طور پیش‌فرض، Cacti از چندین Poller برای دریافت داده‌ها استفاده می‌کند. اگر می‌خواهید Polling Interval را برای کل سیستم تغییر دهید، می‌توانید آن را در این فایل تنظیم کنید.


3. اجرای Poller دستی برای آزمایش اتصال

برای تست دستی و فوری اتصال Poller به دستگاه‌ها، می‌توانید از دستورات زیر استفاده کنید.

الف) اجرای Poller به‌صورت دستی

برای اجرای فرآیند Polling و دریافت داده‌ها، می‌توانید از دستور poller.php به‌صورت دستی استفاده کنید. این دستور به Poller می‌گوید که داده‌ها را از دستگاه‌های مختلف جمع‌آوری کند.

دستور Poller:
sudo php /var/www/html/cacti/poller.php

اجرای این دستور باعث می‌شود که Poller تمامی دستگاه‌های پیکربندی‌شده را بررسی کرده و داده‌ها را از آن‌ها دریافت کند.

ب) استفاده از گزینه‌های اضافی در دستور Poller

شما می‌توانید از گزینه‌های مختلف برای اجرای Poller استفاده کنید. مثلاً اگر می‌خواهید Poller را فقط برای یک دستگاه خاص اجرا کنید، می‌توانید از این دستور استفاده کنید:

sudo php /var/www/html/cacti/poller.php -d [device_id]

در این دستور:

  • [device_id] شناسه دستگاهی است که می‌خواهید فقط برای آن Polling انجام دهید.

ج) بررسی وضعیت Poller

برای بررسی وضعیت Poller و اطمینان از این که Polling به درستی انجام می‌شود، می‌توانید از لاگ‌ها استفاده کنید. این لاگ‌ها اطلاعات مربوط به موفقیت یا شکست Polling را به شما نشان می‌دهند.

دستور بررسی لاگ‌ها:
tail -f /var/www/html/cacti/log/poller.log

این دستور اطلاعات را از لاگ Poller به‌طور زنده نمایش می‌دهد.


4. بررسی نتایج Polling و رفع مشکلات

پس از اجرای Poller، باید مطمئن شوید که داده‌ها به درستی جمع‌آوری و نمایش داده شده‌اند. در صورتی که مشکلاتی در ارتباط با دستگاه‌ها یا Polling وجود داشته باشد، باید مراحل زیر را دنبال کنید.

الف) بررسی مشکلات در Polling

اگر Polling به درستی انجام نمی‌شود، ممکن است مشکلاتی وجود داشته باشد که باعث اختلال در جمع‌آوری داده‌ها می‌شود. برخی از مشکلات رایج عبارتند از:

  • تنظیمات اشتباه SNMP: اطمینان حاصل کنید که تنظیمات SNMP به‌درستی در دستگاه‌ها وارد شده باشد.
  • مشکلات شبکه: بررسی کنید که دستگاه‌ها قابل دسترس باشند و هیچ مشکلی در ارتباط شبکه وجود نداشته باشد.
  • خطاهای مربوط به فایروال: اطمینان حاصل کنید که پورت‌های مربوط به SNMP در فایروال باز هستند و ترافیک به دستگاه‌ها امکان‌پذیر است.

ب) رفع مشکلات Polling

برای رفع مشکلات Polling می‌توانید از ابزار snmpwalk برای بررسی وضعیت ارتباط دستگاه‌ها استفاده کنید:

snmpwalk -v 2c -c [community] [device_ip]

این دستور بررسی می‌کند که آیا می‌توانید به دستگاه از طریق SNMP متصل شوید یا خیر.

ج) بررسی وضعیت دستگاه‌ها در Cacti

اگر پس از انجام Polling داده‌ها در Cacti نمایش داده نمی‌شوند، باید مطمئن شوید که دستگاه‌ها به‌درستی به Cacti اضافه شده‌اند و تنظیمات مربوط به منابع داده (Data Sources) به‌درستی انجام شده باشد. برای بررسی این موارد، می‌توانید از بخش Graph Management در Cacti استفاده کنید و ببینید که آیا گراف‌های مربوط به دستگاه‌ها تولید شده‌اند یا خیر.


جمع‌بندی

در این بخش، بررسی اتصال دستگاه‌ها با Cacti و استفاده از ابزار Poller برای دریافت داده‌ها مورد بحث قرار گرفت. برای اطمینان از عملکرد صحیح Poller، لازم است که دستگاه‌ها به درستی پیکربندی شوند، تنظیمات SNMP به دقت وارد شوند و Polling Interval مناسب تنظیم شود. با استفاده از دستور poller.php و بررسی لاگ‌ها، می‌توان از عملکرد صحیح Poller اطمینان حاصل کرده و مشکلات احتمالی را شناسایی و رفع کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تست عملکرد منابع داده: نمایش داده‌های خام برای اطمینان از صحت تنظیمات” subtitle=”توضیحات کامل”]در Cacti، منابع داده (Data Sources) بخش کلیدی از سیستم نظارت هستند که داده‌های جمع‌آوری‌شده از دستگاه‌های مختلف شبکه را در قالب گراف‌ها نمایش می‌دهند. اطمینان از صحت عملکرد منابع داده برای حصول اطمینان از این‌که داده‌های صحیح از دستگاه‌ها به درستی جمع‌آوری و نمایش داده می‌شود، ضروری است. یکی از روش‌های رایج برای تست و بررسی عملکرد منابع داده، نمایش داده‌های خام (Raw Data) است که توسط Poller جمع‌آوری شده‌اند.

این داده‌های خام به شما کمک می‌کنند تا مطمئن شوید که هیچ مشکلی در جمع‌آوری داده‌ها وجود ندارد و تنظیمات SNMP یا Polling به‌درستی انجام شده‌اند. در این بخش، به بررسی نحوه تست عملکرد منابع داده و نمایش داده‌های خام برای اطمینان از صحت تنظیمات پرداخته خواهد شد.


1. مفهوم داده‌های خام (Raw Data)

داده‌های خام به داده‌هایی اطلاق می‌شود که بدون هیچ‌گونه پردازش یا تبدیل (مثل تبدیل به گراف) از دستگاه‌ها دریافت می‌شوند. این داده‌ها به‌طور معمول شامل مقادیر عددی مربوط به وضعیت منابع مختلف دستگاه‌ها هستند، مانند پهنای باند مصرفی، درصد استفاده از CPU، یا حجم مصرفی حافظه. نمایش داده‌های خام این امکان را به شما می‌دهد که دقیقاً ببینید که Poller چه داده‌هایی را از دستگاه جمع‌آوری کرده است و آیا این داده‌ها با آنچه که باید دریافت کنید همخوانی دارند یا خیر.


2. مراحل نمایش داده‌های خام برای تست عملکرد منابع داده

برای بررسی صحت عملکرد منابع داده، باید از رابط کاربری Cacti یا ابزارهای خط فرمان برای نمایش داده‌های خام استفاده کنید. در این بخش، مراحل نمایش داده‌های خام از منابع داده آورده شده است:

الف) نمایش داده‌های خام در رابط کاربری Cacti

  1. ورود به Cacti: ابتدا وارد رابط کاربری Cacti شوید و به بخش “Graph Management” بروید.
  2. انتخاب دستگاه یا منبع داده: دستگاهی که می‌خواهید داده‌های خام آن را مشاهده کنید انتخاب کنید. در این بخش می‌توانید از طریق گزینه‌های موجود دستگاه‌ها و منابع داده‌های آن‌ها را جستجو کنید.
  3. دسترسی به داده‌های خام: برای مشاهده داده‌های خام، باید وارد بخش “Data Sources” شوید. این بخش به شما امکان می‌دهد تا داده‌هایی که Poller جمع‌آوری کرده است را مشاهده کنید.
  4. نمایش داده‌های خام: پس از انتخاب یک منبع داده خاص، گزینه‌ای به نام “View Raw Data” یا “View Data” را مشاهده خواهید کرد. با کلیک روی این گزینه، تمام داده‌های خام مربوط به آن منبع داده نمایش داده می‌شود. این داده‌ها به‌صورت عددی و تاریخ‌گذاری شده نمایش داده خواهند شد.

ب) استفاده از ابزارهای خط فرمان برای نمایش داده‌های خام

اگر می‌خواهید داده‌های خام را از طریق خط فرمان بررسی کنید، می‌توانید از ابزارهایی مانند snmpget یا snmpwalk برای دریافت داده‌های خام از دستگاه‌ها استفاده کنید. این ابزارها به شما این امکان را می‌دهند که به‌طور مستقیم از طریق SNMP داده‌ها را از دستگاه جمع‌آوری کرده و آن‌ها را بررسی کنید.

برای این منظور، از دستور snmpget می‌توانید استفاده کنید تا یک متغیر خاص از دستگاه را دریافت کنید:

snmpget -v 2c -c [community_string] [device_ip] [oid]

در این دستور:

  • [community_string]: رشته‌ی مربوط به دسترسی به SNMP (برای نسخه‌های v1 و v2c).
  • [device_ip]: آدرس IP دستگاه هدف.
  • [oid]: شناسه شیء SNMP (Object Identifier) که داده موردنظر را از آن دریافت می‌کنید.

برای دریافت تمامی داده‌ها از یک دستگاه، می‌توانید از دستور snmpwalk استفاده کنید:

snmpwalk -v 2c -c [community_string] [device_ip]

این دستور به شما این امکان را می‌دهد که همه داده‌های SNMP از دستگاه را مشاهده کنید.


3. تحلیل داده‌های خام و بررسی صحت آن‌ها

پس از دریافت داده‌های خام، شما باید آن‌ها را تحلیل کنید تا از صحت عملکرد منابع داده و دستگاه اطمینان حاصل کنید. نکات زیر برای تحلیل داده‌های خام مفید هستند:

الف) مقایسه داده‌های جمع‌آوری‌شده با مقادیر واقعی

بررسی کنید که داده‌های خام جمع‌آوری‌شده با مقادیر واقعی دستگاه مطابقت دارند یا خیر. به عنوان مثال:

  • برای پهنای باند، باید مقادیر صحیح برای مصرف داده‌ها را مشاهده کنید که نشان‌دهنده فعالیت‌های واقعی شبکه هستند.
  • برای CPU، باید درصد استفاده از CPU به‌درستی نمایش داده شود و مقادیر غیرطبیعی نداشته باشد.
  • برای حافظه، باید مقادیر مصرفی حافظه به‌طور دقیق و بدون اختلال نمایش داده شوند.

ب) بررسی خطاهای احتمالی در داده‌ها

اگر داده‌ها به‌درستی نمایش داده نمی‌شوند یا مقادیر غیرعادی دارند، ممکن است مشکلاتی در تنظیمات SNMP، Polling Interval یا حتی اتصال شبکه وجود داشته باشد. در این‌صورت، باید موارد زیر را بررسی کنید:

  • تنظیمات SNMP: اطمینان حاصل کنید که دستگاه به‌درستی تنظیم شده باشد و اطلاعات مربوط به SNMP مانند Community String صحیح باشد.
  • Polling Interval: بررسی کنید که Polling Interval به درستی تنظیم شده باشد تا Poller قادر به جمع‌آوری داده‌ها در فواصل زمانی منظم باشد.
  • مشکلات شبکه: مطمئن شوید که دستگاه قابل دسترس باشد و هیچ مشکل ارتباطی با آن وجود نداشته باشد.

ج) استفاده از لاگ‌های Cacti برای شناسایی مشکلات

برای شناسایی مشکلات ممکن در فرآیند Polling یا جمع‌آوری داده‌ها، می‌توانید از لاگ‌های Cacti استفاده کنید. این لاگ‌ها به شما اطلاعات دقیقی از فرآیند Polling و خطاهای احتمالی می‌دهند.

برای مشاهده لاگ‌ها در سیستم Cacti، دستور زیر را اجرا کنید:

tail -f /var/www/html/cacti/log/poller.log

این دستور لاگ‌های Poller را نمایش می‌دهد که می‌توانید برای رفع مشکلات و خطاها از آن‌ها استفاده کنید.


جمع‌بندی

در این بخش، نحوه نمایش داده‌های خام برای تست عملکرد منابع داده در Cacti مورد بررسی قرار گرفت. استفاده از ابزارهای داخلی Cacti یا دستورهای خط فرمان مانند snmpget و snmpwalk به شما این امکان را می‌دهد که داده‌های خام را مشاهده کنید و از صحت جمع‌آوری داده‌ها از دستگاه‌ها اطمینان حاصل کنید. با تحلیل داده‌های خام و بررسی خطاهای احتمالی، می‌توانید مشکلات Polling یا تنظیمات دستگاه‌ها را شناسایی و رفع کنید تا عملکرد سیستم نظارت شبکه بهینه باشد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. نکات بهینه‌سازی پیکربندی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از دسته‌بندی‌ها و گروه‌بندی دستگاه‌ها برای مدیریت بهتر” subtitle=”توضیحات کامل”]در یک شبکه بزرگ با تعداد زیادی دستگاه، مدیریت دستگاه‌ها می‌تواند به‌سرعت پیچیده و دشوار شود. یکی از راه‌های ساده‌سازی این فرآیند و تسهیل مدیریت دستگاه‌ها، استفاده از دسته‌بندی‌ها و گروه‌بندی‌ها در ابزارهای مانیتورینگ مانند Cacti است. این ویژگی به مدیران سیستم این امکان را می‌دهد که دستگاه‌ها را بر اساس معیارهای مختلف (مانند نوع، عملکرد، یا موقعیت جغرافیایی) دسته‌بندی کنند و به این ترتیب مدیریت و نظارت بر آن‌ها را ساده‌تر و سازمان‌دهی‌شده‌تر نمایند.

در این بخش، به نحوه استفاده از دسته‌بندی‌ها و گروه‌بندی دستگاه‌ها در Cacti، مزایا و روش‌های اعمال این ویژگی خواهیم پرداخت.


1. مفهوم دسته‌بندی‌ها و گروه‌بندی‌ها در Cacti

دسته‌بندی‌ها و گروه‌بندی‌ها مفهومی مشابه دارند اما از نظر عملکردی تفاوت‌هایی دارند:

  • دسته‌بندی‌ها (Categories): دستگاه‌ها را می‌توان بر اساس ویژگی‌های مختلف (مانند نوع دستگاه، سیستم‌عامل یا محل جغرافیایی) به گروه‌های خاص تقسیم کرد. این دسته‌بندی‌ها در واقع برای تفکیک دستگاه‌ها به بخش‌های منطقی استفاده می‌شوند.
  • گروه‌بندی‌ها (Groups): گروه‌بندی دستگاه‌ها به‌طور کلی بر اساس یک ویژگی مشترک انجام می‌شود، به‌طوری که این ویژگی ممکن است در سطح کلیدی مانند نوع دستگاه یا منطقه باشد. دستگاه‌هایی که در یک گروه قرار می‌گیرند، معمولاً از لحاظ عملکرد یا نقش مشابه هستند.

در Cacti، این ویژگی‌ها به شما این امکان را می‌دهند که دستگاه‌ها را به‌راحتی دسته‌بندی و گروه‌بندی کنید تا از این طریق نظارت و مدیریت روی آن‌ها ساده‌تر و کارآمدتر شود.


2. مراحل استفاده از دسته‌بندی‌ها و گروه‌بندی‌ها برای مدیریت دستگاه‌ها

الف) ایجاد دسته‌بندی‌ها برای دستگاه‌ها

برای ایجاد دسته‌بندی‌های دستگاه‌ها، مراحل زیر را دنبال کنید:

  1. ورود به Cacti: ابتدا وارد محیط کاربری Cacti شوید.
  2. رفتن به بخش “Device Management”: پس از ورود، از منوی اصلی به بخش “Device Management” بروید.
  3. ایجاد دسته‌بندی جدید: در بخش Device Management، گزینه‌ای برای “Categories” یا “Device Categories” پیدا خواهید کرد. با کلیک بر روی آن، به صفحه‌ای منتقل می‌شوید که در آن می‌توانید دسته‌بندی جدیدی برای دستگاه‌ها ایجاد کنید.
  4. تعریف دسته‌بندی:
    • در قسمت Name، نام دسته‌بندی جدید را وارد کنید (مثلاً: Servers, Routers, Switches).
    • در قسمت Description، توضیحی کوتاه از نوع دستگاه‌ها و ویژگی‌های آن‌ها بدهید.
    • پس از وارد کردن اطلاعات، دسته‌بندی را ذخیره کنید.

ب) گروه‌بندی دستگاه‌ها به دسته‌بندی‌ها

پس از ایجاد دسته‌بندی‌ها، دستگاه‌ها را می‌توان به دسته‌های مختلف اختصاص داد:

  1. انتخاب دستگاه‌ها: وارد بخش Device Management شوید و دستگاه‌های موجود را مشاهده کنید.
  2. انتخاب دستگاه برای گروه‌بندی: در لیست دستگاه‌ها، دستگاه موردنظر را برای افزودن به دسته‌بندی انتخاب کنید. در هر دستگاه گزینه‌ای برای “Category” یا “Group” خواهید دید که به شما اجازه می‌دهد تا دستگاه را به یکی از دسته‌بندی‌های موجود اختصاص دهید.
  3. انتخاب دسته‌بندی: دسته‌بندی مناسب را از لیست انتخاب کنید و تنظیمات را ذخیره کنید.

ج) ایجاد گروه‌های دستگاه‌ها

اگر بخواهید دستگاه‌ها را بر اساس ویژگی‌های خاص دیگری مثل موقعیت جغرافیایی یا زیرساخت شبکه‌ای دسته‌بندی کنید، می‌توانید از گروه‌ها استفاده کنید:

  1. رفتن به بخش “Device Groups”: به بخش Device Groups رفته و از این بخش می‌توانید گروه‌های جدیدی برای دستگاه‌ها ایجاد کنید.
  2. تعریف گروه:
    • در قسمت Name، نام گروه جدید را وارد کنید (مثلاً: Data Center 1, Branch Office, Production Network).
    • در قسمت Description، توضیحاتی مانند محل جغرافیایی یا بخش خاص دستگاه‌ها را وارد کنید.
  3. انتساب دستگاه‌ها به گروه‌ها: پس از ایجاد گروه‌ها، دستگاه‌ها را می‌توان به این گروه‌ها اختصاص داد، مشابه با نحوه انجام دسته‌بندی.

3. مزایای استفاده از دسته‌بندی‌ها و گروه‌بندی‌ها

الف) مدیریت ساده‌تر دستگاه‌ها

استفاده از دسته‌بندی‌ها و گروه‌بندی‌ها، مدیریت تعداد زیادی از دستگاه‌ها را ساده می‌کند. به‌جای جستجوی دستی برای هر دستگاه، می‌توانید به راحتی گروه‌ها و دسته‌ها را فیلتر کرده و سریع‌تر به دستگاه‌های موردنظر دسترسی پیدا کنید.

ب) سهولت در گزارش‌دهی و نظارت

با دسته‌بندی و گروه‌بندی دستگاه‌ها، شما می‌توانید گزارش‌ها و گراف‌های خاصی را برای هر گروه از دستگاه‌ها به‌طور جداگانه ایجاد کنید. این کار نه‌تنها دسترسی به داده‌ها را سریع‌تر می‌کند، بلکه امکان تجزیه‌وتحلیل دقیق‌تر وضعیت هر بخش از شبکه را نیز فراهم می‌آورد.

ج) کاهش خطاها در پیکربندی دستگاه‌ها

دسته‌بندی و گروه‌بندی دستگاه‌ها باعث می‌شود که هر دستگاه فقط به یک گروه مشخص تعلق داشته باشد، این موضوع می‌تواند خطاهای ناشی از تنظیمات اشتباه یا فراموشی دستگاه‌ها را کاهش دهد.


4. استفاده از فیلترها برای جستجوی سریع دستگاه‌ها

برای جستجوی سریع دستگاه‌ها در Cacti و دسترسی به دستگاه‌ها بر اساس دسته‌بندی‌ها یا گروه‌ها، می‌توانید از فیلترها استفاده کنید. در بخش Device Management، گزینه‌های فیلتر مختلفی وجود دارد که به شما این امکان را می‌دهد که دستگاه‌ها را بر اساس نام، دسته‌بندی یا گروه خاص جستجو کنید.

الف) استفاده از فیلتر بر اساس دسته‌بندی:

در صفحه Device Management، فیلدی به نام “Category Filter” وجود دارد که می‌توانید از آن برای فیلتر کردن دستگاه‌ها بر اساس دسته‌بندی‌ها استفاده کنید. با انتخاب یک دسته‌بندی خاص از این فیلتر، فقط دستگاه‌های مرتبط با آن دسته‌بندی نمایش داده خواهند شد.

ب) استفاده از فیلتر بر اساس گروه:

در صورت ایجاد گروه‌ها، فیلدی به نام “Group Filter” در اختیار شما قرار خواهد گرفت که مشابه فیلتر دسته‌بندی‌ها عمل می‌کند. با استفاده از این فیلتر، دستگاه‌هایی که به یک گروه خاص تعلق دارند نمایش داده می‌شوند.


جمع‌بندی

استفاده از دسته‌بندی‌ها و گروه‌بندی‌ها در Cacti باعث می‌شود که مدیریت دستگاه‌ها در شبکه‌های بزرگ بسیار ساده‌تر و کارآمدتر شود. این ابزارها به شما کمک می‌کنند تا دستگاه‌ها را بر اساس ویژگی‌های مختلف سازمان‌دهی کرده و از آن‌ها به‌صورت مؤثر نظارت کنید. از طریق این دسته‌بندی‌ها و گروه‌ها، می‌توانید جستجوی دستگاه‌ها را ساده‌تر کرده و به سرعت به دستگاه‌ها و داده‌های آن‌ها دسترسی پیدا کنید. همچنین، این ویژگی‌ها به کاهش خطاها و بهبود عملکرد کلی نظارت شبکه کمک می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم زمان Polling مناسب برای منابع داده” subtitle=”توضیحات کامل”]زمان Polling در Cacti یکی از مهم‌ترین بخش‌ها برای نظارت بر دستگاه‌ها و منابع مختلف است. Polling به فرآیند درخواست دوره‌ای داده‌ها از دستگاه‌ها یا منابع مشخص اطلاق می‌شود تا اطلاعات مربوط به وضعیت یا مصرف منابع به‌طور مداوم به روز شود. انتخاب زمان مناسب برای Polling می‌تواند تأثیر زیادی بر دقت داده‌های جمع‌آوری‌شده و همچنین عملکرد سیستم داشته باشد.

در این بخش، نحوه تنظیم زمان Polling در Cacti، تأثیر آن بر عملکرد سیستم و نکات مهم برای انتخاب زمان مناسب برای Polling منابع داده را بررسی خواهیم کرد.


1. مفهوم Polling در Cacti

در Cacti، Polling به معنای درخواست داده‌های سنجش از دستگاه‌ها و منابع است که به‌طور دوره‌ای انجام می‌شود. این داده‌ها معمولاً شامل اطلاعاتی مانند:

  • پهنای باند مصرف‌شده
  • میزان استفاده از CPU
  • وضعیت حافظه
  • وضعیت شبکه

Polling به‌صورت پیش‌فرض به فواصل زمانی خاص انجام می‌شود و شما می‌توانید زمان Polling را برای هر منبع داده‌ای که در Cacti تعریف می‌کنید تنظیم کنید.

2. انتخاب زمان Polling مناسب

زمان Polling برای منابع داده به‌طور معمول باید متناسب با نیاز نظارت و نوع داده‌هایی که از دستگاه‌ها یا منابع جمع‌آوری می‌شود انتخاب شود. این زمان به‌شدت بر عملکرد Cacti و دقت داده‌های گزارش‌شده تأثیرگذار است.

الف) Polling کوتاه‌تر (زمان‌های کم‌تر از 5 دقیقه)

  • مزایا:
    • دریافت داده‌های دقیق‌تر و به‌روزتر برای منابع حیاتی.
    • مناسب برای دستگاه‌هایی که نیاز به نظارت دقیق دارند مانند روترها، سوئیچ‌ها، یا سرورهای مهم.
  • معایب:
    • نیاز به منابع بیشتر برای انجام Polling مکرر.
    • می‌تواند باعث بار زیاد روی دستگاه‌ها و شبکه شود.

ب) Polling متوسط (بین 5 تا 15 دقیقه)

  • مزایا:
    • ارائه داده‌های مناسب با سرعت به‌روزرسانی معقول.
    • بهینه‌تر از نظر استفاده از منابع سرور Cacti.
  • معایب:
    • ممکن است برای برخی دستگاه‌ها، داده‌ها به‌طور دقیق در زمان‌های بحرانی نمایش داده نشوند.

ج) Polling طولانی‌تر (بین 15 تا 30 دقیقه یا بیشتر)

  • مزایا:
    • کمترین تأثیر را بر عملکرد Cacti و شبکه دارد.
    • مناسب برای دستگاه‌هایی که نظارت بر آن‌ها نیاز به به‌روزرسانی سریع ندارد، مانند دستگاه‌های ذخیره‌سازی یا دستگاه‌های پشتیبانی.
  • معایب:
    • ممکن است داده‌ها دیر به‌روزرسانی شوند و در برخی مواقع نتوانند مشکلات بحرانی را به موقع شناسایی کنند.

3. تنظیم زمان Polling در Cacti

برای تنظیم زمان Polling در Cacti، باید تنظیمات Polling در قسمت مربوطه برای هر منبع داده را مشخص کنید. این تنظیمات به شما این امکان را می‌دهند که برای هر دستگاه یا منبع داده، زمان Polling خاصی را تنظیم کنید.

الف) تنظیم زمان Polling از طریق رابط کاربری گرافیکی

  1. وارد محیط Cacti شوید و به بخش “Devices Management” بروید.
  2. دستگاه یا منبع داده‌ای که می‌خواهید زمان Polling آن را تغییر دهید را انتخاب کنید.
  3. وارد تنظیمات “Data Sources” مربوط به آن دستگاه شوید.
  4. در بخش “Polling Interval” یا “Poller Interval”، مقدار زمان مورد نظر خود را وارد کنید. این زمان معمولاً به صورت ثانیه یا دقیقه وارد می‌شود.
    • برای مثال، برای Polling هر 5 دقیقه، مقدار “5” را وارد کنید.
  5. تغییرات را ذخیره کرده و تنظیمات را اعمال کنید.

ب) تنظیم زمان Polling از طریق پیکربندی کامندی (Command Line)

برای انجام تغییرات به‌صورت مستقیم از طریق Command Line، می‌توانید فایل‌های پیکربندی Cacti را ویرایش کنید. یکی از فایل‌های کلیدی که زمان Polling در آن تنظیم می‌شود، فایل poller.php است.

  1. ابتدا وارد سیستم شوید و فایل پیکربندی Cacti را پیدا کنید:
    • مسیر فایل معمولاً به صورت زیر است:
      /usr/share/cacti/include/config.php
      
  2. باز کردن فایل config.php:
    • با استفاده از ویرایشگر متن مانند nano یا vim این فایل را باز کنید:
      sudo nano /usr/share/cacti/include/config.php
      
  3. جستجو برای پارامترهای Polling: در این فایل، پارامترهایی وجود دارند که می‌توانید آنها را تغییر دهید. به‌طور مثال برای تنظیم زمان Polling، پارامترهای زیر را پیدا کرده و مقدار مورد نظر خود را تنظیم کنید:
    $poller_interval = 300;  // زمان Polling به ثانیه (300 ثانیه = 5 دقیقه)
    
  4. ذخیره تغییرات و خروج از ویرایشگر: پس از انجام تغییرات، فایل را ذخیره کرده و از ویرایشگر خارج شوید.
  5. بررسی و راه‌اندازی مجدد Polling: برای اعمال تنظیمات جدید، بهتر است Poller را مجدداً راه‌اندازی کنید:
    sudo service cacti restart
    

4. نکات مهم در تنظیم زمان Polling

  • تأثیر بر منابع سیستم: زمان Polling کوتاه‌تر نیاز به منابع بیشتری برای پردازش داده‌ها دارد. برای جلوگیری از بار بیش‌ازحد، باید اطمینان حاصل کنید که سرور Cacti قادر به پردازش Polling‌های سریع است.
  • پهنای باند شبکه: برای دستگاه‌هایی که به شبکه متصل هستند، Polling‌های مکرر ممکن است باعث ایجاد ترافیک اضافی شود. برای دستگاه‌هایی که ترافیک بالایی دارند، بهتر است زمان Polling را بیشتر کنید.
  • نوع دستگاه و اهمیت آن: برای دستگاه‌های حیاتی مانند سرورها و روترهای شبکه که مشکلات آن‌ها نیاز به واکنش سریع دارد، بهتر است زمان Polling را کوتاه‌تر انتخاب کنید.
  • نوع داده‌های جمع‌آوری‌شده: برای منابع داده‌ای مانند CPU، حافظه و پهنای باند که تغییرات سریعی دارند، Polling کوتاه‌تری مناسب است. در حالی که برای منابع ثابت‌تر مانند فضای ذخیره‌سازی، زمان Polling بیشتر می‌تواند کارآمدتر باشد.

جمع‌بندی

تنظیم زمان Polling مناسب برای منابع داده در Cacti اهمیت زیادی در دقت داده‌ها و عملکرد کلی سیستم دارد. انتخاب زمان مناسب بستگی به نیازهای نظارتی شما، نوع دستگاه‌ها، و منابع سیستم دارد. تنظیمات Polling کوتاه‌تر برای داده‌های حساس و بحرانی مناسب است، در حالی که برای داده‌های ثابت‌تر یا دستگاه‌های کم‌اهمیت‌تر، Polling‌های طولانی‌تر بهتر عمل می‌کنند. با استفاده از روش‌های گرافیکی و کامندی، می‌توانید این زمان‌ها را به‌راحتی تنظیم کرده و سیستم نظارتی خود را بهینه‌سازی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”کاهش بار سرور با محدود کردن منابع غیرضروری” subtitle=”توضیحات کامل”]در محیط‌های شبکه‌ای که از ابزارهای مانیتورینگ و نظارت مانند Cacti استفاده می‌شود، یکی از چالش‌های مهم مدیریت منابع سرور است. بار زیاد بر روی سرور می‌تواند عملکرد کلی سیستم را کاهش دهد و به تأخیر در پردازش داده‌ها و گزارش‌ها منجر شود. یکی از روش‌های اصلی برای بهبود عملکرد سرور، کاهش بار اضافی است که می‌توان با محدود کردن منابع غیرضروری انجام داد.

در این بخش، نحوه کاهش بار سرور Cacti با محدود کردن منابع غیرضروری بررسی می‌شود. به‌ویژه تمرکز بر کاهش تعداد Polling‌های غیرضروری، بهینه‌سازی فرآیندها و منابع داده‌های اضافی است که تأثیر منفی بر عملکرد سرور دارند.


1. مفهوم کاهش بار سرور

بار سرور به میزان استفاده از منابع سیستم مانند CPU، حافظه و پهنای باند اشاره دارد. زمانی که این منابع به‌شدت مصرف شوند، سرور قادر نخواهد بود عملکرد مطلوبی داشته باشد. در چنین شرایطی، سرعت Polling، پاسخ‌دهی به درخواست‌ها و حتی پردازش گراف‌ها دچار تأخیر می‌شود.

کاهش بار سرور به معنای انجام تنظیمات به‌گونه‌ای است که منابع غیرضروری حذف شوند یا بهینه‌سازی شوند تا سرور با سرعت بهتری کار کند و به درخواست‌ها پاسخ دهد.

2. بررسی منابع غیرضروری در Cacti

در Cacti، منابع غیرضروری می‌توانند شامل موارد زیر باشند:

  • Polling‌های غیرضروری: Polling‌های اضافی برای منابعی که نیاز به نظارت مداوم ندارند می‌تواند بار زیادی به سرور وارد کند.
  • گراف‌های اضافی: ایجاد گراف‌های غیرضروری برای دستگاه‌ها یا منابعی که نیازی به نظارت دقیق ندارند.
  • Data Sources اضافی: ایجاد منابع داده‌ای که هیچ کاربردی ندارند یا اطلاعات آن‌ها از اهمیت کمی برخوردار است.
  • ویجت‌های اضافی: در داشبوردها ممکن است ویجت‌هایی به نمایش گذاشته شوند که داده‌های اضافی را بارگذاری کرده و منابع سرور را مصرف می‌کنند.

3. محدود کردن Polling‌های غیرضروری

یکی از مهم‌ترین راه‌های کاهش بار سرور، محدود کردن Polling‌های غیرضروری است. برخی دستگاه‌ها یا منابع ممکن است به اندازه‌ای حیاتی نباشند که نیاز به دریافت داده‌های مکرر از آن‌ها باشد.

الف) تنظیم زمان Polling برای منابع غیرضروری

برای دستگاه‌هایی که نظارت مداوم نیازی به آن‌ها نیست، می‌توانید زمان Polling را افزایش دهید یا حتی Polling را به‌طور کامل غیرفعال کنید. این کار بار Poller را کاهش می‌دهد.

روش گرافیکی:
  1. وارد Cacti شوید و به بخش Devices بروید.
  2. دستگاهی که زمان Polling آن را می‌خواهید تغییر دهید را انتخاب کنید.
  3. به بخش Data Sources بروید.
  4. در تنظیمات هر Data Source، زمان Polling Interval را برای آن دستگاه تغییر دهید.
  5. برای دستگاه‌های کم‌اهمیت، می‌توانید زمان Polling را به 15 دقیقه یا بیشتر تنظیم کنید.
روش کامندی:

در پیکربندی Cacti، پارامتر poller_interval را به مقادیر بالاتر تغییر دهید. این تنظیم در فایل پیکربندی config.php قرار دارد.

مسیر فایل:

/usr/share/cacti/include/config.php

ویرایش این فایل:

$poller_interval = 900;  // زمان Polling به ثانیه (900 ثانیه = 15 دقیقه)

پس از ویرایش فایل، برای اعمال تغییرات، سرویس Cacti را راه‌اندازی مجدد کنید:

sudo service cacti restart

ب) غیرفعال کردن Polling برای منابع غیرضروری

برای منابع داده‌ای که اصلاً نیازی به نظارت ندارند، می‌توانید Polling را به‌طور کامل غیرفعال کنید. برای این کار، باید منابع داده‌ای اضافی را حذف کنید یا آن‌ها را غیرفعال کنید.

روش گرافیکی:
  1. به بخش Data Sources بروید.
  2. منبع داده‌ای که می‌خواهید آن را غیرفعال کنید را انتخاب کنید.
  3. در تنظیمات آن منبع داده، گزینه Disable Polling را فعال کنید.
روش کامندی:

در فایل پیکربندی data_query.php یا poller.php، می‌توانید دستورات مربوط به Polling منابع داده‌ای که نمی‌خواهید را حذف یا کامنت کنید.


4. حذف یا بهینه‌سازی گراف‌های اضافی

گراف‌ها منابع زیادی را مصرف می‌کنند و به‌ویژه زمانی که گراف‌های زیادی برای دستگاه‌های کم‌اهمیت ساخته می‌شود، این امر می‌تواند به شدت بر عملکرد Cacti تأثیر بگذارد. حذف گراف‌های غیرضروری یا کاهش تعداد آن‌ها باعث کاهش مصرف منابع سرور می‌شود.

الف) حذف گراف‌های غیرضروری

برای حذف گراف‌هایی که دیگر نیازی به آن‌ها ندارید، از رابط کاربری Cacti به بخش Graph Management بروید.

روش گرافیکی:
  1. به بخش Graph Management بروید.
  2. گراف‌های غیرضروری را انتخاب کرده و گزینه Delete را برای حذف آن‌ها فشار دهید.
روش کامندی:

برای حذف گراف‌ها از طریق Command Line، می‌توانید وارد پایگاه داده MySQL مربوط به Cacti شوید و دستورات SQL مربوط به حذف گراف‌ها را اجرا کنید:

mysql -u root -p
USE cacti;
DELETE FROM graph_templates_graph WHERE graph_template_id = [ID];

به‌طور مشابه، شما می‌توانید جدول مربوط به graph_creation را بررسی کرده و گراف‌های اضافی را حذف کنید.


5. بهینه‌سازی Data Sources

همچنین برای کاهش بار سرور، می‌توانید منابع داده‌ای که اضافی هستند یا تکراری می‌باشند را حذف کنید.

الف) حذف Data Source‌های اضافی

برای حذف منابع داده‌ای اضافی که به‌طور مرتب Polling می‌شوند، به بخش Data Sources بروید و آن‌ها را حذف کنید.

روش گرافیکی:
  1. به بخش Data Sources بروید.
  2. منابع داده‌ای که نیاز ندارید را انتخاب کرده و آن‌ها را حذف کنید.
روش کامندی:

در پایگاه داده MySQL، می‌توانید دستورات SQL برای حذف Data Source‌های غیرضروری را اجرا کنید.

mysql -u root -p
USE cacti;
DELETE FROM data_sources WHERE host_id = [ID];

6. بهینه‌سازی ویجت‌ها در داشبورد

ویجت‌هایی که برای نمایش گراف‌ها یا داده‌های مختلف استفاده می‌شوند، ممکن است منابع زیادی مصرف کنند. برای کاهش بار سرور، ویجت‌هایی که به داده‌های غیرضروری وصل می‌شوند را غیرفعال کنید.

الف) غیرفعال کردن ویجت‌های اضافی

  1. به بخش Dashboard Management بروید.
  2. ویجت‌هایی که دیگر به آن‌ها نیاز ندارید را غیرفعال کنید یا حذف کنید.

جمع‌بندی

کاهش بار سرور در Cacti یکی از مسائل حیاتی برای حفظ عملکرد بهینه سیستم است. با محدود کردن Polling‌های غیرضروری، بهینه‌سازی منابع داده، حذف گراف‌ها و ویجت‌های اضافی و استفاده از تنظیمات بهینه می‌توانید بار سرور را کاهش دهید و عملکرد سیستم را بهبود بخشید. در این فرآیند، تنظیمات از طریق رابط کاربری گرافیکی یا پیکربندی دستی از طریق Command Line قابل اعمال هستند که در نهایت به بهینه‌سازی سرور و کاهش مصرف منابع کمک خواهد کرد.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”پاسخ به سوالات فنی کاربران”][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”free” title=”پشتیبانی دائمی و در لحظه” subtitle=”توضیحات کامل”]ما در این دوره تمام تلاش خود را کرده‌ایم تا محتوایی جامع و کاربردی ارائه دهیم که شما را برای ورود به دنیای حرفه‌ای آماده کند. اما اگر در طول دوره یا پس از آن با سوالات فنی، چالش‌ها یا حتی مشکلاتی در اجرای مطالب آموزشی مواجه شدید، نگران نباشید!

  1. پرسش‌های شما، بخش مهمی از دوره است:
    هر سوال یا مشکلی که مطرح کنید، با دقت بررسی شده و پاسخ کامل و کاربردی برای آن ارائه می‌شود. علاوه بر این، سوالات و پاسخ‌های شما به دوره اضافه خواهند شد تا برای سایر کاربران نیز مفید باشد.
  2. پشتیبانی دائمی و در لحظه:
    تیم ما همواره آماده پاسخگویی به سوالات شماست. هدف ما این است که شما با خیالی آسوده بتوانید مهارت‌های خود را به کار بگیرید و پروژه‌های واقعی را با اعتماد به نفس کامل انجام دهید.
  3. آپدیت دائمی دوره:
    این دوره به طور مداوم به‌روزرسانی می‌شود تا همگام با نیازهای جدید و سوالات کاربران تکمیل‌تر و بهتر گردد. هر نکته جدید یا مشکل رایج، در نسخه‌های بعدی دوره قرار خواهد گرفت.

حرف آخر

با ما همراه باشید تا نه تنها به مشکلات شما پاسخ دهیم، بلکه در مسیر یادگیری و پیشرفت حرفه‌ای، شما را پشتیبانی کنیم. هدف ما این است که شما به یک متخصص حرفه‌ای و قابل‌اعتماد تبدیل شوید و بتوانید با اطمینان پروژه‌های واقعی را بپذیرید و انجام دهید.

📩 اگر سوالی دارید یا به مشکلی برخوردید، همین حالا مطرح کنید!
ما در کوتاه‌ترین زمان ممکن پاسخ شما را ارائه خواهیم داد. 🙌[/cdb_course_lesson][/cdb_course_lessons]

نوع دوره

کلاس آنلاین

برند

،

نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

سبد خرید شما خالی است.

ورود به سایت