List

یکی از نرم‌افزارهای متن‌باز(Open Source) و رایگان مانیتورینگ شبکه نرم‌افزار Cacti است.

نرم افزار Cacti با فراهم کردن واسط کاربری کاملاً گرافیکی، این امکان را به شما می‌دهد تا وضعیت روترها، سویچ‌ها، سرور، ترافیک در حال عبور، وضعیت CPU ، RAM، DISK و … را در یک صفحه و در کنار هم مشاهده کنید.

این نرم افزار توسط پروتکل SNMP به دستگاه های مورد نظر شما متصل و آنها را طی بازه‌های زمانی دلخواه بررسی می‌کند. این نرم‌افزار بر پایه PHP/MySQL می‌باشد و جهت ارائه گراف‌های خود از نرم افزار بسیار خوب RRDTool بهره می‌گیرد.

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

واسط کاربری نرم افزار Cacti
واسط کاربری نرم افزار Cacti

برای نصب و راه اندازی Cacti باید پیش نیازهای آن را نصب کنیم.

1 – نصب LAMP

  • نصب Apache
apt-get install apache2 –y

برای تست نصب شدن http://Server-Address را در مرورگر وارد کنید.

  • نصب Mysql

در حین فرایند نصب از شما می‌خواهد که پسورد root مربوط به Mysql را وارد کنید

apt-get install mysql-server

بعد از نصب دستور زیر را اجرا کنید :

mysql_secure_installation

بعد از اجرای این دستور شما باید پسورد root مربوط به mysql را وارد نمیایید.سپس از شما میخواهد که در صورت نیاز پسورد root را عوض کنید، در صورتی که نیاز به تغییر پسورد ندارد N را وارد کنید تا وارد مرحله بعدی شود.به سادگی می‌توانید بقیه سوالات را با Y جواب دهید.

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y  ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up...
  • نصب PHP

زبان برنامه نویسی متن باز تحت وب است که بصورت گسترده برای ساخت صفحات Dynamic مورد استفاده قرار می‌گیرد.برای نصب PHP دستورات زیر را در ترمینال وارد نمایید.

apt-get install php7.0 libapache2-mod-php7.0

همچنین کتابخانه ها و ماژول های متنوعی دارد که به برای نصب Cacti به ماژول های زیر نیاز خواهیم داشت:

apt-get install php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-gd php7.0-gmp php7.0-mysql php7.0-ldap php7.0-mbstring php7.0-snmp php7.0-xml

می‌توانیم با ساخت صفحه اصلاعات PHP صحت نصب PHP را تست کنیم.برای این منظور دستور زیر را در ترمینال وارد نمایید:

echo “<?php phpinfo(); ?>” > /var/www/html/info.php

آدرس زیر را در مرورگر وارد میکنیم.

http://Server-Address/info.php

قبل از اینکه به ادامه مراحل بپردازیم فایل etc/php/7.0/apache2/php.ini را با ادیتور خود باز کنید و تغییرات زیر را انجام دهید :

file_uploads = On
date.timezone =Asia/Tehran

2 – تنظیمات NTP :

دستور زیر را در ترمینال وارد نمایید :

apt-get install ntp

فایل /etc/ntp.conf را با ادیتور دلخواه باز کنید قسمت زیر را ویرایش کرده و آدرس NTP Pool های دلخواه خود را وارد نمایید.

با استفاده از دستور زیر سرویس NTP را Restart کنید:

systemctl restart ntp.service

می‌توانید با دستور زیر query بزنید تا مطمئن شوید همه چیز خوب کار می‌کند.

ntpdq –p

همچنین مطمئن شوید که گزینه noquery در سطر restrict وجود داشته باشد:

#By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited

3 – ساخت Database و User برای Cacti در Mysql

دستور زیر را در ترمینال وارد کنید و سپس پسورد root مربوط به mysql را وارد نمایید:

mysql –u root –p

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

mysql> create database cacti;
mysql> grant all on cacti.* to cactiuser@localhost identified by 'password';
mysql> flush privileges;
mysql> exit

4 – دانلود Cacti

با استفاده از دستور زیر فایل Cacti را دانلود می‌کنیم.همواره می‌توانید آخریش ورژن cacti را از طریق آدرسhttps://cacti.net/download_cacti.php  دانلود کنید.

wget http://www.cacti.net/downloads/cacti-1.1.33.tar.gz

5 – نصب Cacti

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

این دستور کلیه فایل های موجود در آدرس /var/www/html که دایرکتوری پیش فرض وب سرویس می‌باشد را پاک کند، لذا در اجرای این دستور مراقب باشید :

rm –rf /var/www/html/*
mv c acti-1.1.33/* /var/www/html/
cd /var/www/html/includ

فایل config.php را باز کنید و مقادیر زیر را متناسب با مرحله 3 تغییر دهید :

/* make sure these values reflect your actual database/host/user/password */
$database_type     = 'mysql';
$database_default  = 'cacti';$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password';
$database_port     = '3306';
$database_ssl      = false;

همچنین url_path را به صورت زیر تغییر دهید :

$url_path = '/';

فایل را ذخیره کنید و خارج شوید، سپس دستور زیر را در ترمینال وارد نمایید:

mysql -u root -p cacti < /var/www/html/cacti.sql

پسورد mysql را وارد کنید و صبر کنید تا فرایند به اتمام برسد و command line در اختیار شما قرار بگیرد.سپس دستورات زیر را وارد کنید:

systemctl restart mysql.service
systemctl restart apache2.service

سپس در مرورگر آدرس زیر را وارد کنید : http://Server-address

در صفحه باز شده تیک Accept GPL License Agreement را انتخاب و دکمه Begin را کلیک نمایید تا وارد صفحه Pre-installation Checks شوید :

اگر در صفحه Pre-installation Checks با خطای زیر مواجه شدید دستورات زیر را وارد نمایید :

Pre-installation Checks
Pre-installation Checks
MySQL TimeZone Support
ERROR: Your Cacti database login account does not have access to the MySQL TimeZone database. Please provide the Cacti database account "select" access to the time_zone_name" table in the "mysql" database, and populate MySQL's TimeZone information before proceeding.

دستورات :

mysql -u root –p
Enter password: YOUR-PASSWORD-HERE
mysql> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY ' password ';
mysql> FLUSH privileges;
mysql> quit;
mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password: YOUR-PASSWORD-HERE
systemctl restart apache2.service

مجدد به مرورگر برگردید و صفحه را Refresh کنید و صفحه Pre-installation Checks را تا پایین چک نمایید.

اگه شما هم مثل من با این پیش نیاز ها روبه رو شدید که از قبل آماده نکرده اید مراحل زیر را انجام دهید :

فایل etc/mysql/mysql.conf.d/mysqld.cnf را با ادیتور خود باز کنید و زیر قسمت [mysqld] خط های زیر را اضافه کنید :

max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
innodb_buffer_pool_size=256M
innodb_doublewrite=0
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16

فایل را ذخیره کنید و دستورات زیر را در ترمینال وارد کنید :

systemctl restart mysql.service
systemctl restart apache2.service

صفحه وب را Refresh کنید و Next را کلیک کنید

در صفحه Installation Type گزینه ی New Primary Server را انتخاب کنید و Next را کلیک کنید :

اگه از اول آموزش همراه بوده باشید قطعا با این صفحه روبه رو خواهید شد، لذا نگران نباشید و تا انتهای آموزش همراه من باشید :

خب طبق این صفحه ما ابزار های rrdtool، snmpwalk ، snmpget ، snmpbulkwalk ، snmpgetnext ، snmptrap، spine را نیاز داریم و همچنین فایل /var/www/html/log/cacti.log را هم باید ایجاد کنیم.

با استفاده از دستور زیر ابزار های rrdtool، snmpwalk ، snmpget ، snmpbulkwalk ، snmpgetnext ، snmptrap را نصب خواهیم کرد.

apt-get install rrdtool snmp snmpd –y

برای نصب spine به ترتیب زیر عمل می‌کنیم:

cd /opt

با استفاده از دستور زیر Source مربوط به spine را دانلود میکنیم.آخرین نسخه را همواره میتوانید از آدرسhttps://cacti.net/spine_download.php دانلود کنید.

wget http://www.cacti.net/downloads/spine/cacti-spine-1.1.33.tar.gz
tar xzvf cacti-spine-1.1.33.tar.gz
cd cacti-spine-1.1.33/
/opt/cacti-spine-1.1.33 # ./bootstrap

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

FATAL: Unable to locate dos2unix utility
./bootstrap: 38: exit: Illegal number: -1

دستور:

opt/cacti-spine-1.1.33 # apt-get install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev –y

مجدد ./bootstrap را اجرا می‌کنیم و بعد از اتمام دستورات زیر را به ترتیب وارد می‌کنیم.

/opt/cacti-spine-1.1.33 #./configure
/opt/cacti-spine-1.1.33 #make
/opt/cacti-spine-1.1.33 #make install
/opt/cacti-spine-1.1.33 #chown
root:root /usr/local/spine/bin/spine
/opt/cacti-spine-1.1.33 #chmod +s /usr/local/spine/bin/spine

بعد از اتمام به مرورگر برگردید و قسمت آدرس spine را به شرح زیر تغییر دهید:

اخرین مورد خطای مربوط نبودن فایل cacti.log بود که برای این مشکل دستورات زیر را به ترتیب وارد نمایید :

touch /var/www/html/log/cacti.log
chown -R www-data:www-data /var/www/html/

مرورگر را Refresh کنید و Next را کلیک کنید.

در صفحه Directory Permission Checks مطمئن شوید که همه دسترسی های مورد نیاز را ایجاد کرده اید و Next را کلیک کنید (اگه طبق آموزش پیش اومده باشید با صفحه زیر مواجه خواهید شد )

در صفحه های Template Setup، Template های مورد نیاز خود را تیک بزنید و روی Finish کلیک کنید.( در آینده نیز می‌توانید Template های دلخواه خود را اضافه کنید )

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

  Posts

November 20th, 2018

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

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

September 19th, 2018

پشتیبان گیری از لینوکس سرور با BitTorrent Sync

.BitTorrent Sync با استفاده از پروتکل BitTorrent به شما این امکان را میدهد که محتوا را بین سرورها همگام سازی کنید.همچنین بصورت مستقیم میتوانید بین کامپیوتر و گوشی هوشمند خود این همگام سازی را انجام دهید بدون اینکه نیاز باشد محتوا را به سرور third-party ارسال کنید.

September 13th, 2018

نصب Let’s Encrypt روی Nginx

گواهینامه های SSL ارتباطات امن و رمزگذاری شده بین یک وب سایت و یک مرورگر اینترنتی را فراهم می کند. SSL مخفف Secure Sockets Layer است و پروتکلی است که رمزگذاری را فراهم می کند. گواهینامه های SSL به طور معمول در صفحاتی که کاربران نهایی نیاز به ارسال اطلاعات حساس در اینترنت مانند جزئیات کارت اعتباری یا کلمه عبور دارند استفاده میشود.

September 3rd, 2018

بازیابی رمز عبور ESXi

در شرایط مختلفی این امکان وجود دارد که نیاز داشته باشید پسورد ESXi را بازیابی کنید که برای انجام این کار روش های متفاوتی وجود دارد اما نکته ی مهمی که در بازیابی رمز عبور وجود دارد حفظ اطلاعاتی است که روی سرور وجود دارد!

August 28th, 2018

HTTPS چگونه کار میکند ؟

HTTPS بطور ساده همان پروتکل استاندارد HTTP میباشد که از لایه ی رمزنگاری /SSLTLS استفاده میکند.

August 19th, 2018

نصب و پیکر بندی Samba Server روی Ubuntu 16.04

Samba نرم افزار رایگان و متن باز پروتکل SMB/CIFS است که برای سیستم های UNIX/LINUX توسعه داده شده و امکان اشتراک گذاری فایل و پرینتر ها را بین سیستم های UNIX/LINUX و همچنین Windows را در یک شبکه local فراهم میکند.

August 4th, 2018

نحوه‌ی عضویت ESXi در Active Directory

ESXi از روش های مختلف احراز هویت پشتیبانی میکند که یکی از آنها Active Directory است. در واقع شما میتوانید AD را به عنوان مکانیزم احراز هویت به vSphere اضافه کنید.

July 25th, 2018

نصب و کانفیگ Bind9 در Ubuntu/Debian

سرویس DNS یا Domain Name System همانظور که میدانیم سرویس اینترنتی است که ترجمه دامنه را به IP انجام میدهد.با استفاده از DNS نه تنها میتوانیم دامنه را به IP ترجمه کنیم بلکه میتوانیم IP را نیز به دامنه ترجمه کنیم.

July 18th, 2018

راه اندازی NFS Share در Ubuntu 16.04

عبارت NFS کوتاه شده Network File System میباشد و در اینجا قصد داریم نحوه نصب و پیگربندی NFS Share در Ubuntu 16.04 را آموزش دهیم که با استفاده از آن سایر کامپیوتر هایی که در شبکه local شما قرار دارند میتوانند به فایل ها و دایرکتوری های شما دسترسی داشته باشند.

November 19th, 2017

نصب نرم افزار مانیتورینگ Cacti در Ubuntu 16.04

یکی از نرم‌افزارهای متن‌باز(Open Source) و رایگان مانیتورینگ شبکه نرم‌افزار Cacti است.