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/