Cacti یکی از بهترین ابزارهای مانیتورینگ شبکه است که مبتنی بر وب بوده و به صورت متن باز در اختیار کاربران قرار گرفته است. این ابزار از زبان برنامهنویسی PHP بهره میبرد و از MySQL بهمنظور ذخیره اطلاعات موردنیاز برای ایجاد و مقداردهی به نمودارها استفاده میکند.
نرم افزار Cacti توسط پروتکل SNMP به دستگاه های مورد نظر شما متصل و آنها را طی Interval تنظیم شده توسط شما بررسی می کند. جالب است بدانید این ابزار جهت ارائه گراف های خود از نرم افزار بسیار خوب RRDTool استفاده میکند.
همانطور که می دانید مانیتور کردن منابع سرور اختصاصی یا مجازی از رخ دادن حوادثی که کمبود منابع موجب آنها میشود جلوگیری می کند.در این آموزش نحوه نصب این ابزار بسیار کاربردی را در سیستم عامل اوبونتو که یکی از محبوبترین توزیعهای لینوکس است را با شما به اشتراک میگذاریم اما اگر هستید با این ابزار مانیتورینگ به طور کامل آشنا شوید، پیشنهاد میکنیم کتاب Cacti Beginner’s Guide را مطالعه فرمایید:
[dflip id=”8473″][/dflip]
آموزش نصب Cacti روی Ubuntu 20.04
روند انجام این کار را به این صورت است:
مرحله 1:
سیستم را به روز کنید و همه پکیج ها را ارتقا دهید تا از بروز هرگونه مشکل جلوگیری شود:
sudo apt update sudo apt upgrade -y
حالا سرور را مجددا راه اندازی کنید:
sudo reboot
مرحله 2:
php و ماژول های مورد نیاز را نصب کنید تا همه چیز را دریافت و نصب کنید.
sudo apt -y install apache2 php php-{mysql,curl,net-socket,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,snmp,mbstring,gmp,json,xml,common,ldap} sudo apt install libapache2-mod-php
با این دستور مطمئن شوید که ماژول php-snmp و php-mysql نصب شده اند:
$ php -v
پارامترهای PHP را به روز رسانی کنید:
sudo vim /etc/php/*/apache2/php.ini
تنظیم منطقه زمانی صحیح:
date.timezone = "Asia/Iran"
به روز رسانی محدودیت حافظه:
memory_limit = 512M
همچنین حداکثر زمان اجرای هر اسکریپت را تنظیم کنید:
max_execution_time = 300
وب سرور آپاچی را مجددا راه اندازی کنید.
مرحله 3:
پیکربندی وب سرور آپاچی با این دستور:
sudo apt install apache2
فقط با Prod ServerTokens، امنیت اولیه را پیکربندی کنید.
sudo vim /etc/apache2/conf-enabled/security.conf
تغییر خط 25:
ServerTokens Prod
تنظیم نام سرور:
$ sudo vim /etc/apache2/apache2.conf ServerName cacti.example.com
در صورت بروز مشکل باید برای مدیر ایمیل ارسال شود، بنابراین در این قسمت مدیر را تعیین کنید:
$ sudo vim /etc/apache2/apache2.conf
ServerAdmin adminuser@example.com
در صورت فعال کردن ufw ، پورت های http و https را روی فایروال باز کنید.
$ sudo ufw allow http Rule added Rule added (v6
$ sudo ufw allow https Rule added Rule added (v6)
حالا باید وب سرویس apache را مجددا راه اندازی کنید:
sudo systemctl restart apache2
مرحله 4:
این دستورات را برای نصب سرور MariaDB در اوبونتو اجرا کنید:
sudo apt install mariadb-server -y
تنظیمات زیر را در [mysqld] اضافه کنید:
$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf [mysqld] innodb_file_format=Barracuda innodb_large_prefix=1 collation-server=utf8mb4_unicode_ci character-set-server=utf8mb4 innodb_doublewrite=OFF max_heap_table_size=128M tmp_table_size=128M join_buffer_size=128M innodb_buffer_pool_size=1G 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_buffer_pool_instances=9
سایر تنظیمات
#around line 116 #character-set-server = utf8mb4 #collation-server = utf8mb4_general_ci
حالا سرویس mariadb را مجددا راه اندازی کنید.
sudo systemctl restart mariadb
برای بررسی هر یک از این تنظیمات، از دستور mysql select استفاده کنید، به عنوان مثال:
$ sudo mysql -u root MariaDB [(none)]> select @@tmp_table_size; +------------------+ | @@tmp_table_size | +------------------+ | 134217728 | +------------------+ 1 row in set (0.00 sec) MariaDB [(none)]> exit Bye
پس از نصب سرور دیتابیس، باید یک دیتابیس برای cacti ایجاد کنید:
$ sudo mysql -u root -p
تست اتصال Database:
$ mysql -u cacti_user -p
تنظیم منطقه زمانی mysql:
$ sudo su - $ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql Enter password: Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
مرحله 5:
پکیج های Snmp و rrdtool را با استفاده از دستور زیر نصب کنید:
sudo apt install snmp snmpd snmp-mibs-downloader rrdtool
وب سرور آپاچی را انتخاب کنید. پروژه کلون از github:
$ sudo apt install git $ git clone -b 1.2.x https://github.com/Cacti/cacti.git
پس از شبیه سازی مخزن کاکتی، فایل ها را به پوشه /var/www/html منتقل کنید:
sudo mv cacti /var/www/html
حالا دیتابیس مورد استفاده توسط کاکتی را از قبل پر کنیم:
sudo mysql -u root cacti < /var/www/html/cacti/cacti.sql
با دیتابیس پر شده، می توانیم ادامه دهیم و فایل config.php را در /var/www/html/cacti/include ایجاد کنیم:
sudo mv /var/www/html/cacti/include/config.php.dist /var/www/html/cacti/include/config.php
فایل پیکربندی کاکتی را تغییر دهید:
$ sudo vim /var/www/html/cacti/include/config.php $database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti_user'; $database_password = 'strongpassword';
مرحله 6:
با فعال کردن بارگیری MIB ها با کامنت کردن خط زیر در /etc/snmp/snmp.conf شروع کنید.
sudo vim /etc/snmp/snmp.conf
تغییر دادن:
mibs :
به :
# mibs :
نام انجمن SNMP را با ویرایش /etc/snmp/snmpd.conf پیکربندی کنید.
sudo vim /etc/snmp/snmpd.conf
دسترسی کامل از لوکال هاست را فعال کنید:
rocommunity MyCacti localhost
دسترسی عمومی را غیرفعال کنید:
# rocommunity public default -V systemonly # rocommunity6 public default -V systemonly
راه اندازی مجدد سرویس snmpd:
sudo systemctl restart snmpd
اعتبار سنجی تنظیمات snmp با استفاده از ابزار خط فرمان snmpwalk:
$ sudo snmpwalk -v 2c -c MyCacti localhost system
نکته: MyCacti را با نام رشته انجمن خود جایگزین کنید.
مرحله 7:
مجوزهای دایرکتوری Cacti را تنظیم کنید:
sudo chown -R www-data:www-data /var/www/html/cacti
ایجاد فایل systemd unit برای cacti:
sudo tee /etc/systemd/system/cactid.service<<EOF [Unit] Description=Cacti Daemon Main Poller Service After=network.target [Service] Type=forking User=www-data Group=www-data EnvironmentFile=/etc/default/cactid ExecStart=/var/www/html/cacti/cactid.php Restart=always RestartSec=5s [Install] WantedBy=multi-user.target EOF
محیط لمسی:
sudo touch /etc/default/cactid
سرویس را راه اندازی و فعال کنید:
sudo systemctl daemon-reload sudo systemctl enable cactid sudo systemctl restart cactid
بررسی وضعیت سرویس cactid:
$ systemctl status cactid
در این قسمت کار نصب cacti به پایان می رسد و به راحتی می توانید با ورود به مرورگر خود و جستجوی عبارت
“http://(Cacti server’s hostname or IP address)/cacti/” از یک سیستم مشتری مجاز در سرور Cacti بروید.
سخن پایانی
امیدواریم این مقاله برای شما مفید بوده باشد. سوالات خود را از طریق قسمت نظرات یا سیستم تیکتینگ با ما در میان گذارید.
بیشتر بخوانید:
https://hostida.com/blog/how-to-monitor-linux-server-resource/