Cacti یکی از ابزارهای مانیتورینگ وب است که به صورت متن باز و با زبان برنامه نویسی PHP طراحی شده است. این ابزار مبتنی بر وب است و از MySQL برای ذخیره اطلاعات مورد نیاز برای ایجاد و ارزیابی نمودارها استفاده می کند. کاکتوس ها می توانند دستگاه های متصل به شبکه را زیر نظر بگیرند، میزان پهنای باند استفاده شده را ردیابی کنند و یک نمودار شیک در مورد آن ترسیم کنند. Cacti از پروتکل SNMP برای جمع آوری اطلاعات در مورد دستگاه های راه دور استفاده می کند و به شما امکان می دهد ترافیک شبکه و استفاده از پهنای باند را با مرورگر نظارت کنید. در این مقاله از وبلاگ پارس پاک می خواهیم نحوه نصب ابزار مانیتورینگ Cacti را بر روی سرور توزیع Ubuntu 20.04 به شما آموزش دهیم. پس تا انتها همراه ما باشید.
پیش نیازها
برای اینکه بتوانید از این مقاله استفاده کنید و ابزار Cacti را در توزیع Ubuntu 20.04 خود نصب کنید، به پیش نیازهای زیر نیاز دارید:
- سرور با سیستم عامل اوبونتو 20.04
- رمز عبور ریشه روی سرور پیکربندی شده است
نحوه نصب Cacti در اوبونتو
آموزش گام به گام نصب Cacti در اوبونتو 20.04
اگر پیش نیازهای ذکر شده را دارید، می توانید Cacti را بر روی توزیع Ubuntu 20.04 نصب کنید. سپس مراحل انجام این کار را مرحله به مرحله توضیح داده ایم.
1. وابستگی های مورد نیاز را نصب کنید
برای نصب وابستگی های مورد نیاز، ابتدا باید دایرکتوری بسته APT را به آخرین نسخه به روز کنید. برای این منظور می توانید از دستور زیر استفاده کنید:
apt-get update -y
پس از انجام این کار، سایر وابستگی های لازم را با دستور زیر نصب کنید:
apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y
پس از نصب تمام وابستگی های مورد نیاز، می توانید سرور LAMP را نیز نصب کنید. در ادامه مقاله نحوه انجام این کار را توضیح داده ایم.
2. نصب سرور LAMP
در مرحله بعد باید وب سرور آپاچی، PHP، MariaDB و سایر پلاگین های ضروری PHP را روی سرور خود نصب کنید. با اجرای دستور زیر می توانید همه اینها را نصب کنید:
apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y
پس از نصب تمام بسته ها، فایل پیکربندی PHP را ویرایش کرده و تنظیمات پیش فرض را به صورت زیر تغییر دهید:
nano /etc/php/8.1/apache2/php.ini
این خطوط را به صورت زیر تغییر دهید:
memory_limit = 512M max_execution_time = 60 date.timezone = UTC
سپس فایل را ذخیره کرده و ببندید. سپس یک فایل پیکربندی PHP دیگر را ویرایش کنید و تنظیمات پیش فرض آن فایل را به صورت زیر تغییر دهید:
nano /etc/php/8.1/cli/php.ini
همچنین در این فایل، خطوط زیر را تغییر دهید:
memory_limit = 512M max_execution_time = 60 date.timezone = UTC
پس از اتمام، فایل را ذخیره و ببندید. سپس سرویس Apache را مجددا راه اندازی کنید تا تغییرات در فایل اعمال شود:
systemctl restart apache2
پس از انجام موفقیت آمیز مراحل ذکر شده در بالا، می توانید به مرحله بعدی بروید.
نصب سرور LAMP برای اجرای نرم افزار Cacti
3. یک پایگاه داده ایجاد کنید
در مرحله بعد، باید یک پایگاه داده ایجاد کنید. از آنجایی که Cacti از MariaDB به عنوان پایگاه داده استفاده می کند، باید یک پایگاه داده MariaDB و یک کاربر برای Cacti ایجاد کنید. برای این کار ابتدا فایل پیکربندی پیش فرض MariaDB را ویرایش کرده و برخی از تنظیمات پیش فرض این فایل را به صورت زیر تغییر دهید:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
خطوط زیر در بخش [mysql] در صورت لزوم اضافه یا اصلاح کنید:
collation-server = utf8mb4_unicode_ci max_heap_table_size = 128M tmp_table_size = 64M join_buffer_size = 64M innodb_file_format = Barracuda innodb_large_prefix = 1 innodb_buffer_pool_size = 512M innodb_flush_log_at_timeout = 3 innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 5000 innodb_io_capacity_max = 10000 innodb_doublewrite = OFF
فایل را ذخیره کنید و آن را ببندید. سپس سرویس MariaDB را مجددا راه اندازی کنید تا تغییرات اعمال شوند:
systemctl restart mariadb
سپس با استفاده از دستور زیر پوسته MariaDB را وارد کنید:
mysql
پس از ورود به سیستم، با استفاده از دستور زیر یک پایگاه داده و کاربر Cacti ایجاد کنید:
MariaDB [(none)]> create database cactidb; MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';
سپس امتیازات داده شده را رها کرده و با دستور زیر از پوسته MariaDB خارج شوید:
MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;
در مرحله بعد، باید داده های منطقه زمانی خود را به پایگاه داده MySQL وارد کنید. این کار را می توان با استفاده از دستور زیر انجام داد:
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
اکنون وارد پوسته MariaDB شوید و با استفاده از دستور زیر، امتیازات منطقه زمانی MySQL مورد نیاز را اعطا کنید:
mysql MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];
آخرین مرحله در این مرحله پاک کردن امتیازات و خروج از پوسته MariaDB است. این کار را با دستور زیر انجام دهید:
MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;
4. نصب و پیکربندی کاکتوس ها
ابتدا آخرین نسخه Cacti را از وب سایت رسمی آن دانلود کنید:
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
پس از اتمام دانلود، فایل دانلود شده را با استفاده از دستور زیر استخراج کنید:
tar -zxvf cacti-latest.tar.gz
بعد، باید دایرکتوری استخراج شده را به دایرکتوری ریشه Apache منتقل کنید:
mv cacti-1* /var/www/html/cacti
در مرحله بعد، باید پایگاه داده را به پایگاه داده Cacti وارد کنید:
mysql cactidb < /var/www/html/cacti/cacti.sql
سپس فایل Cacti config.php را ویرایش کنید و تنظیمات پایگاه داده خود را تنظیم کنید:
nano /var/www/html/cacti/include/config.php
خطوط زیر را به:
$database_type="mysql"; $database_default="cactidb"; $database_hostname="localhost"; $database_username="cactiuser"; $database_password = 'password'; $database_port="3306";
فایل را ذخیره کنید و سپس ببندید. در مرحله بعد، فایل log را برای Cacti ایجاد کنید:
touch /var/www/html/cacti/log/cacti.log
سپس، مالکیت و مجوزهای دایرکتوری Cacti را با استفاده از دستور زیر تنظیم کنید:
chown -R www-data:www-data /var/www/html/cacti/ chmod -R 775 /var/www/html/cacti/
سپس با استفاده از دستور زیر یک فایل جدید به نام Cacti cron ایجاد کنید:
nano /etc/cron.d/cacti
خط زیر را در این فایل قرار دهید:
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
وقتی کارتان تمام شد، فایل را ذخیره کرده و ببندید.
آموزش نصب و پیکربندی کاکتوس ها
در مرحله بعد، باید یک فایل پیکربندی مجازی آپاچی برای Cacti ایجاد کنید. با استفاده از دستور زیر می توانید این کار را انجام دهید:
nano /etc/apache2/sites-available/cacti.conf
در این فایل دستورات زیر را قرار دهید:
Alias /cacti /var/www/html/cacti <Directory /var/www/html/cacti> Options +FollowSymLinks AllowOverride None <IfVersion >= 2.3> Require all granted </IfVersion> <IfVersion < 2.3> Order Allow,Deny Allow from all </IfVersion> AddType application/x-httpd-php .php <IfModule mod_php.c> php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # this setting is necessary for some locales php_value mbstring.func_overload 0 php_value include_path . </IfModule> DirectoryIndex index.php </Directory>
فایل را ذخیره کنید و آن را ببندید. سپس فایل های میزبان مجازی را با استفاده از دستور زیر فعال کنید:
a2ensite cacti
در مرحله بعد، باید سرویس Apache را مجددا راه اندازی کنید تا تغییرات پیکربندی اعمال شود:
systemctl restart apache2
همچنین می توانید با استفاده از دستور زیر وضعیت سرویس آپاچی خود را بررسی کنید:
systemctl status apache2
با وارد کردن دستور بالا باید خروجی ای مانند تصویر زیر را مشاهده کنید:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese> Active: active (running) since Sun 2022-07-24 03:58:11 UTC; 7s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 12847 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S> Main PID: 12851 (apache2) Tasks: 6 (limit: 2242) Memory: 13.7M CPU: 103ms CGroup: /system.slice/apache2.service ??12851 /usr/sbin/apache2 -k start ??12852 /usr/sbin/apache2 -k start ??12853 /usr/sbin/apache2 -k start ??12854 /usr/sbin/apache2 -k start ??12855 /usr/sbin/apache2 -k start ??12856 /usr/sbin/apache2 -k start Jul 24 03:58:11 ubuntu systemd[1]: Starting The Apache HTTP Server...
6. راه اندازی مرحله به مرحله Cacti Web Installation
اکنون مرورگر خود را باز کرده و با استفاده از آدرس your-server-ip/cacti وارد قسمت نصب Cacti شوید. با وارد کردن این آدرس، مطابق شکل زیر به صفحه ورود هدایت می شوید:
وارد صفحه نصب کاکتوس شوید
در این صفحه از نام کاربری و رمز عبور مدیر استفاده کنید و روی دکمه ورود کلیک کنید. در این مورد، باید صفحه تنظیم مجدد رمز عبور را مشاهده کنید:
با نام کاربری و رمز عبور وارد شوید
رمز عبور پیش فرض را تغییر دهید و دوباره آن را در قسمت Confirm new password وارد کنید و روی دکمه Save کلیک کنید:
رمز عبور پیش فرض را تغییر دهید
همانطور که در تصویر بالا مشاهده می کنید، باید توافق نامه را تایید کنید. برای این منظور، موافقت نامه مجوز GPL را فعال کرده و در نهایت روی دکمه Begin کلیک کنید:
توافق نامه را تایید کنید.
در صفحه بعد روی دکمه Next کلیک کنید. در این مورد، باید صفحه Installation Type را ببینید:
در این صفحه نوع نصب را انتخاب کنید
نوع نصب خود را از منوی کشویی در این قسمت انتخاب کنید و روی دکمه Next کلیک کنید. اکنون باید صفحه مجوز دایرکتوری را ببینید:
وارد صفحه مجوز دایرکتوری شوید
روی Next کلیک کنید. شما باید صفحه باینری ها و نسخه های مهم را ببینید:
صفحه بالا را مشاهده خواهید کرد
دوباره روی دکمه Next کلیک کنید. شما باید صفحه ای مانند تصویر زیر ببینید:
می توانید تصویر بالا را ببینید
در این صفحه، گزینه I have read this statement را علامت بزنید و دوباره روی دکمه Next کلیک کنید:
گزینه مناسب را علامت بزنید
گزینه های مورد نظر را انتخاب کرده و روی دکمه Next کلیک کنید. صفحه ای مانند تصویر زیر به شما نشان داده می شود:
یک صفحه جدید را به شکل تصویر بالا نشان دهید
در این صفحه نیز دوباره روی دکمه Next کلیک کنید. اکنون صفحه ای مانند تصویر زیر خواهید دید:
مراحل نصب نرم افزار کاکتی
اگر روی Next کلیک کنید، صفحه تایید نصب را مشاهده خواهید کرد. نمونه ای از این صفحه در تصویر زیر نشان داده شده است:
صفحه تایید نصب
در همین صفحه تیک گزینه Confirm install را بزنید و سپس دکمه Install را بزنید. در این صورت مراحل نصب شروع می شود. پس از اتمام نصب، باید صفحه ای مانند تصویر زیر را مشاهده کنید:
بعد از نصب کاکتی ها تصویر بالا را نمایش دهید
در این صفحه بر روی دکمه Get Started کلیک کنید. بنابراین داشبورد Cacti همانطور که در تصویر نشان داده شده است به شما نشان داده می شود:
صفحه نمایش داشبورد کاکتوس
نتیجه
مانیتورینگ شبکه یکی از موضوعاتی است که متخصصان این حوزه برای نظارت بر وضعیت مواردی مانند روترها، سرورها، ترافیک استفاده شده و استفاده شده به آن نیاز دارند. ابزارهای مختلفی برای این منظور ساخته شده است که یکی از بهترین آنها کاکتوس است.
با این حال، نصب این نرم افزار بر روی سیستم عامل لینوکس ممکن است برای شما مشکل ایجاد کند. به همین منظور در این آموزش سیستم عامل، نحوه نصب ابزار مانیتورینگ Cacti در توزیع اوبونتو 20.04 را قدم به قدم به شما آموزش داده ایم.
سوالات متداول
1. فایده نرم افزار کاکتی چیست؟
Cacti نرم افزاری با رابط کاربری عالی برای مانیتورینگ شبکه و جزئیات مربوط به آن است. با کمک این نرم افزار می توانید موارد مورد نظر خود را در وب به صورت نمودار و در بازه های زمانی دلخواه خود مشاهده کنید.
2. آیا کاکتی ها منبع باز هستند؟
بله، یکی از ویژگی های مهم کاکتوس ها این است که به صورت متن باز طراحی شده است.
3. Cacti با چه زبان برنامه نویسی نوشته شده است؟
Cacti به زبان PHP نوشته شده است.
4. RRDtool چیست؟
هدف اصلی RRDtool مدیریت داده های حساس به زمان مانند پهنای باند شبکه یا دما یا بار CPU است.
5. استفاده از ابزارهای مانیتورینگ شبکه چه مزایایی دارد؟
استفاده از این ابزارها مزایای بسیاری دارد. از جمله حفظ سازگاری، جلوگیری از خرابی ها، یافتن و رفع سریع مشکلات، شناسایی تهدیدات امنیتی، نظارت بر استفاده از پهنای باند، برنامه ریزی ظرفیت و اجرای فناوری های جدید.