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


نحوه نصب کاکتوس ها در اوبونتو
آموزش گام به گام نصب 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 Shell خارج شوید:
MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit;
در مرحله بعد، باید داده های منطقه زمانی خود را به پایگاه داده MySQL وارد کنید. این کار را می توان با استفاده از دستور زیر انجام داد:
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
اکنون وارد پوسته MariaDB شده و با استفاده از دستور زیر امتیازات لازم را به MySQL Time Zone بدهید:
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";
فایل را ذخیره کنید و سپس ببندید. در مرحله بعد، یک فایل گزارش برای کاکتوس ها ایجاد کنید:
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. راه اندازی گام به گام نصب وب کاکتی
اکنون مرورگر خود را باز کرده و با استفاده از آدرس سرور-ip/cacti وارد قسمت نصب Cacti شوید. با وارد کردن این آدرس، مطابق شکل زیر به صفحه ورود هدایت می شوید:


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


با نام کاربری و رمز عبور وارد شوید
رمز عبور پیش فرض را تغییر دهید و دوباره آن را در قسمت Confirm new password وارد کنید و روی دکمه Save کلیک کنید:


رمز عبور پیش فرض را تغییر دهید
همانطور که در تصویر بالا مشاهده می کنید، باید توافق نامه را تایید کنید. برای این منظور موافقت نامه مجوز GPL را فعال کرده و در نهایت بر روی دکمه Start کلیک کنید:


موافقت را تایید کنید
در صفحه بعد روی دکمه Next کلیک کنید. در این مورد، باید صفحه Installation Types را ببینید:


در این صفحه نوع نصب را انتخاب کنید
نوع نصب خود را از منوی کشویی واقع در این قسمت انتخاب کنید و بر روی دکمه Next کلیک کنید. اکنون باید صفحه مجوزهای دایرکتوری را ببینید:


وارد صفحه مجوز دایرکتوری شوید
روی Next کلیک کنید. شما باید صفحه مکان ها و نسخه های باینری مهم را ببینید:


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


می توانید تصویر بالا را ببینید
در این صفحه، گزینه I have read this statement را علامت بزنید و دوباره روی دکمه Next کلیک کنید:


تیک گزینه مربوطه را بزنید
گزینه های مورد نظر خود را انتخاب کرده و روی دکمه Next کلیک کنید. صفحه ای مانند تصویر زیر برای شما نمایش داده می شود:


یک صفحه جدید مانند تصویر بالا نمایش دهید
در این صفحه نیز دوباره بر روی دکمه Next کلیک کنید. اکنون صفحه ای مانند زیر را مشاهده خواهید کرد:


مراحل نصب نرم افزار cacti
اگر روی Next کلیک کنید، صفحه تایید نصب را مشاهده خواهید کرد. نمونه ای از این صفحه در تصویر زیر نشان داده شده است:


صفحه تایید نصب
در همین صفحه تیک گزینه Confirm install را بزنید و سپس بر روی دکمه Install کلیک کنید. در این صورت مراحل نصب شروع می شود. پس از اتمام نصب، باید صفحه ای مانند تصویر زیر را مشاهده کنید:


بعد از نصب کاکتوس ها تصویر بالا را نشان دهید
در این صفحه بر روی دکمه Get Started کلیک کنید. بدین ترتیب داشبورد کاکتی ها را همانطور که در تصویر نشان داده شده مشاهده خواهید کرد:


صفحه نمایش داشبورد کاکتوس ها
نتیجه
مانیتورینگ شبکه یکی از رشته هایی است که متخصصان این حوزه را ملزم به نظارت بر وضعیت مواردی مانند روترها، سرورها، ترافیک استفاده شده و ترافیک در حال استفاده می کند. ابزارهای مختلفی برای این منظور طراحی شده است که یکی از بهترین آنها کاکتوس ها هستند.
با این حال، ممکن است هنگام نصب این نرم افزار بر روی سیستم عامل لینوکس با مشکل مواجه شوید. به همین منظور در این مقاله آموزش سیستم عامل، نحوه نصب ابزار مانیتورینگ Cacti بر روی توزیع اوبونتو 20.04 را به صورت گام به گام به شما آموزش داده ایم.
سوالات متداول
1. کاربرد نرم افزار کاکتی چیست؟
Cacti نرم افزاری با رابط کاربری عالی برای نظارت بر شبکه و جزئیات مربوطه است. با استفاده از این نرم افزار می توانید هر آنچه را که در شبکه می خواهید به صورت نمودار و در هر بازه زمانی که بخواهید مشاهده کنید.
2. آیا کاکتی ها منبع باز هستند؟
بله، یکی از ویژگی های مهم Cacti این است که به صورت متن باز طراحی شده است.
3. Cacti با چه زبان برنامه نویسی نوشته شده است؟
Cacti به زبان PHP نوشته شده است.
4. RRDTool چیست؟
هدف اصلی RRDtool مدیریت داده های حساس به زمان مانند پهنای باند شبکه یا دما یا بار CPU است.
5. مزایای استفاده از ابزار نظارت بر شبکه چیست؟
استفاده از این ابزارها مزایای زیادی دارد. این شامل حفظ سازگاری، جلوگیری از خرابی ها، یافتن و رفع سریع مشکلات، کشف تهدیدات امنیتی، نظارت بر استفاده از پهنای باند، برنامه ریزی ظرفیت و اجرای فناوری های جدید است.