اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش نصب Cacti و Cacti-Spine در لینوکس "دبیان/اوبونتو"

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش نصب Cacti و Cacti-Spine در لینوکس "دبیان/اوبونتو"

    در این مقاله ما قصد داریم نحوه نصب و کانفیگ آخرین ورژن نرم افزار مانیتورینگ شبکه Cacti را در آخرین ورژن های Ubuntu 16.04 LTS و Debian 9 آموزش دهیم. در این آموزش ما Cacti را از طریق سورس فایل ها نصب و کانفیگ خواهیم کرد.

    ککتی یک ابزار مانیتورینگ اوپن سورس است که برای مانیتور کردن شبکه ها خصوصا دیوایس های شبکه مثل سوئیچ ها روترها و سرورها از طریق پروتکل SNMP ایجاد شده است. Cacti با end user ها در حال تعامل است و میتواند از طریق یک واسط تحت وب مدیریت شود.


    تجهیزات مورد نیاز

    سرویس LAMP نصب شده روی Debian 9

    سرویس LAMP نصب شده روی Ubuntu 16.04


    همچنین توصیه میشود مطالعه کنید :

    سری آموزش های نصب و راه اندازی مانیتورینگ زبیکس در لینوکس



    مرحله 1 : نصب و کانفیگ پیش نیاز های Cacti

    1 - در دبیان 9 فایل sources list را باز کنید و برای اضافه کردن ریپازیتوری های contrib و non-free، با استفاده از دستور زیر باز کنید.
    کد PHP:
    # nano /etc/apt/sources.list 
    خط های زیر را به فایل sources.list اضافه کنید.
    کد PHP:
    deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
    deb-src http://ftp.ro.debian.org/debian/ stretch main

    deb http://security.debian.org/debian-security stretch/updates main contrib non-free
    deb-src http://security.debian.org/debian-security stretch/updates main 
    Click image for larger version  Name:	Add-Repositories-to-Debian-1.png Views:	1 Size:	18.5 KB ID:	22256


    2 - پس از آن، با اجرا کردن دستورات زیر مطمئن شوید که سیستم Update شود.
    کد PHP:
    # apt update
    # apt upgrade 
    3 - در سرور LAMP خود مطمئن شوید که PHP extension های زیر در سیستم موجود باشند.
    کد PHP:
    # apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt 
    4 - سپس با اجرا کردن دستور زیر، فایل کانفیگ PHP را ویرایش کرده و تنظیمات time zone را برای match شدن موقعیت جغرافیایی سرورتان تغییر دهید.
    کد PHP:
    # echo "date.timezone = Asia/Tehran" >> /etc/php/7.0/apache2/php.ini 
    5 - سپس به دیتابیس MySQL یا MariaDB در سرور LAMP خود login کنید و برای نصب Cacti با اجرا کردن دستورات زیر یک Database ایجاد کنید.

    در دستورات زیر نام دیتابیس، یوزر و پسورد مورد نظر خود را به نحوی تغییر دهید که با تنظیمات دلخواه شما انجام شود، همچنین برای دیتابیس Cacti یک پسورد قوی انتخاب کنید.
    کد PHP:
    # mysql -u root -p
    mysqlcreate database cacti;
    mysqlgrant all on cacti.* to 'cactiuser'@'localhost' identified by 'cactipass';
    mysqlflush privileges;
    mysql> exit 
    Click image for larger version  Name:	Create-Cacti-Database-2.png Views:	1 Size:	20.4 KB ID:	22257


    6 - همچنین، دستورات زیر را اجرا کنید تا به کاربر Cacti امکان پرمیژن select به تنظیمات data.timezone مای اسکیول را اعطا کنید.
    کد PHP:
    # mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
    # mysql -u root -p -e 'grant select on mysql.time_zone_name to cactiuser@localhost' 
    7 - سپس فایل تنظیمات سرور MySQL را باز کنید و خط های زیر را در آخر فایل اضافه کنید.
    کد PHP:
    # nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
    # nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 
    خط های زیر را به پایان فایل 50-server.cnf یا mysqld.cnf اضافه کنید.
    کد PHP:
    max_heap_table_size        98M
    tmp_table_size            
    64M
    join_buffer_size        
    64M
    innodb_buffer_pool_size    
    485M
    innodb_doublewrite        
    off
    innodb_flush_log_at_timeout    
    3
    innodb_read_io_threads    
    32
    innodb_write_io_threads    
    16 
    برای دیتابیس MariaDB همچنین خط زیر را به پایان فایل 50-server.cnf اضافه کنید.
    کد PHP:
    innodb_additional_mem_pool_size    80M 
    Click image for larger version  Name:	Configure-MySQL-for-Cacti-3.png Views:	1 Size:	14.7 KB ID:	22258


    8 - در نهایت سرویس های MySQL و Apache را برای اعمال تمامی تنظیمات restart کنید همچنین با استفاده از دستور زیر از وضعیت run بودن هر دو سرویس مطمئن شوید.
    کد PHP:
    # systemctl restart mysql apache2
    # systemctl status mysql apache2 


    مرحله 2 : دانلود و آماده سازی نصب Cacti

    9 - نصب Cacti از Source را با دانلود و extract کردن آخرین ورژن Cacti شروع میکنیم، سپس همه فایل های اکسترکت شده را در دایرکتوری root آپاچی (/var/www/html/) کپی میکنیم.
    کد PHP:
    # wget https://www.cacti.net/downloads/cacti-latest.tar.gz
    # tar xfz cacti-latest.tar.gz
    # cp -rf cacti-1.1.27/* /var/www/html/ 
    10 - فایل index.html را از دایرکتوری /var/www/html حذف میکنیم، همچنین فایل log ککتی را ایجاد کرده و در آخر به دایرکتوری root آپاچی permission میدهیم.
    کد PHP:
    # rm /var/www/html/index.html
    # touch /var/www/html/log/cacti.log
    # chown -R www-data:www-data /var/www/html/ 
    11 - سپس فایل کانفیگ Cacti را با استفاده از یک ادیتور همانند زیر باز میکنیم.
    کد PHP:
    # nano /var/www/html/include/config.php 
    در زیر نمونه فایل config.php در Cacti را مشاهده میکنید. نام دیتابیس، یوزر و پسورد را که در مراحل بالاتر ایجاد کردیم، در آن جایگزین کنید. در صورتی که مسیر دایرکتوری cacti تا را میخواهید عوض کنید میتوانید بخش "url_path" را به مسیر مورد نیاز خود تغییر دهید.
    کد PHP:
    $database_type     'mysql';
    $database_default  'cacti';
    $database_hostname 'localhost';
    $database_username 'cactiuser';
    $database_password 'cactipass;
    $database_port     = '
    3306';
    $database_ssl      = false;

    $url_path = '
    /'; 
    Click image for larger version  Name:	Cacti-Configuration-Settings-4.png Views:	1 Size:	30.3 KB ID:	22259


    12 - سپس، دیتابیس Cacti را که فایل آن "cacti.sql" میباشد از دایرکتوری /var/www/html و با استفاده از دستور زیر در MySQL وارد کنید.
    کد PHP:
    # mysql -u cactiuser cacti -p < /var/www/html/cacti.sql
    OR
    # mysql -u root cacti -p < /var/www/html/cacti.sql 
    13 - اکنون یک سری resources های اضافی را نصب میکنیم. از آنجایی که موتور Cacti اطلاعات دیوایس ها را با استفاده از پروتکل SNMP جمع آوری میکند و همچنین گزارش های تصویری را با استفاده از RRDtool نمایش میدهد، تمامی این پکیج ها را با استفاده از دستور زیر نصب میکنیم.
    کد PHP:
    # apt install snmp snmpd snmp-mibs-downloader rrdtool 
    14 - با restart کردن سرویس snmpd، چک کنید که سرویس SNMP در حال اجرا باشد. همچنین وضعیت سرویس SNMP و پورت های باز آنرا بررسی کنید.
    کد PHP:
    # systemctl restart snmpd.service
    # systemctl status snmpd.service
    # ss -tulpn| grep snmp 


    مرحله 3 : دانلود و نصب Cacti-Spine

    15 - Cacti-Spine در حقیقت یک جایگزین نوشته شده به زبان C برای poller پیش فرض ککتی cmd.php میباشد. که در حقیقت زمان اجرا را سرعت میبخشد. برای کامپایل کردن Cacti-Spine poller از طریق سورس ابتدا باید پیشنیازهای زیر را در سیستم تان نصب کنید.
    کد PHP:
    ---------------- On Debian 9 ----------------
    # apt install build-essential dos2unix dh-autoreconf help2man libssl-dev  libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev  libmariadbclient-dev

    ---------------- On Ubuntu ----------------
    # apt install build-essential dos2unix dh-autoreconf help2man libssl-dev  libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev  libmysqld-dev 
    16 - بعد از اینکه dependency های بالا را نصب کردید آخرین ورژن Cacti-Spine را با استفاده از دستورات زیر دانلود، اکسترکت و کامپایل کنید.
    کد PHP:
    # wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
    # tar xfz cacti-spine-latest.tar.gz
    # cd cacti-spine-1.1.27/ 
    17 - با استفاده از دستورات زیر Cacti-Spine را از سورس، کامپایل و نصب میکنیم.
    کد PHP:
    # ./bootstrap
    # ./configure
    # make
    # make install 
    18 - سپس با استفاده از دستورات زیر owner فایل باینری Spine را تعریف کنید. (اکانت root) و همچنین بیت SUID را با استفاده از دستور زیر برای ابزار Spine تعریف کنید.
    کد PHP:
    # chown root:root /usr/local/spine/bin/spine
    # chmod +s /usr/local/spine/bin/spine 
    19 - ابتدا فایل کانفیگ Cacti Spine را تغییر نام دهید و سپس نام دیتابیس، یوزر و پسورد را در فایل spine.conf همانند آنچه که در زیر نمایش داده شده اضافه کنید.
    کد PHP:
    # mv /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf
    # nano /usr/local/spine/etc/spine.conf 
    تنظیمات زیر را در فایل spine.conf ویرایش کنید.
    کد PHP:
    DB_Host localhost
    DB_Database cacti
    DB_User cactiuser
    DB_Pass cactipass
    DB_Port 3306
    DB_PreG 0 


    مرحله 4 : تنظیمات نصب Cacti

    20 - برای نصب Cacti یک مرورگر را باز کنید و آدرس IP یا domain name سرور خود را مثل URL زیر در آن وارد کنید.
    کد PHP:
    http://your_IP/install 
    ابتدا تیک Accept License Agreement را بزنید و سپس برای ادامه روی Next کلیک کنید.

    Click image for larger version  Name:	Cacti-License-Agreement-5.png Views:	1 Size:	51.4 KB ID:	22260


    21 - سپس از نصب تجهیزات مورد نیاز سیستم مطمئن شوید و برای ادامه Next را فشار دهید.

    Click image for larger version  Name:	Cacti-Pre-Installation-Checks-6.png Views:	1 Size:	65.3 KB ID:	22261


    22 - در پنجره بعدی، New Primary Server را انتخاب کنید و برای ادامه Next کنید.

    Click image for larger version  Name:	Select-Cacti-Installation-Type-7.png Views:	1 Size:	18.6 KB ID:	22262


    23 - سپس، مسیرهای باینری مهم و همچنین ورژن ها را بررسی کنید و مسیر باینری Spine را به /usr/local/spine/bin/spine تغییر دهید. هنگامی که کارتان تمام شد روی Next کلیک کنید.

    Click image for larger version  Name:	Verify-Cacit-Binary-Locations-8.png Views:	1 Size:	80.7 KB ID:	22263


    24 - سپس بررسی کنید آیا همه پرمیژن های دایرکتوری سرور وب به درستی تعریف شده اند (پرمیژن write باید تعریف شود) و سپس برای ادامه روی Next کلیک کنید.

    Click image for larger version  Name:	Cacti-Directory-Permission-Checks-9.png Views:	1 Size:	66.7 KB ID:	22264


    25 - در مرحله بعد تمامی template ها را چک کنید و به منظور خاتمه دادن به پروسه نصب روی دکمه Finish کلیک کنید.

    Click image for larger version  Name:	Cacti-Template-Setup-10.png Views:	1 Size:	41.7 KB ID:	22265


    26 - با استفاده از یوزر و پسورد پیش فرض همانند زیر به کنسول وب Cacti لاگین کنید و پسورد admin را تغییر دهید.
    کد PHP:
    Usernameadmin
    Password
    admin 
    Click image for larger version  Name:	Cacti-Admin-Login-11.png Views:	1 Size:	19.6 KB ID:	22266

    Click image for larger version  Name:	Change-Cacti-Admin-Password-12.png Views:	1 Size:	22.9 KB ID:	22267


    27 - سپس به قسمت Console -> Configuration -> Settings و تب Poller رفته و Poller Type را از cmd.php به باینری Spine تغییر دهید و برای ذخیره تغییرات به پایین صفحه آمده و روی دکمه Save کلیک کنید.

    Click image for larger version  Name:	Cacti-Poller-Settings-12.png Views:	1 Size:	72.8 KB ID:	22268


    28 - سپس به Console -> Configuration -> Settings و تب Paths رفته و مسیر زیر را به فایل کانفیگ Cacti-Spine اضافه کنید. در بخش Alternate Poller Path مسیر Spine Config File Path را به مسیر زیر تغییر دهید.
    کد PHP:
    /usr/local/spine/etc/spine.conf 
    برای اعمال تغییرات روی دکمه Save کلیک کنید.

    Click image for larger version  Name:	Add-Cacti-Spine-Configuration-14.png Views:	1 Size:	65.6 KB ID:	22269


    29 - مرحله آخر که Cacti Poller را به منظور شروع جمع آوری Data از دیوایس های در حال مانیتور فعال میسازد، در حقیقت اضافه کردن یک تسک crontab جدید میباشد تا از هر دیوایس از طریق SNMP و هر 5 دقیقه یکبار کوئری بگیرد.

    crontab job باید متعلق (owner) به اکانت www-data باشد.
    کد PHP:
    # crontab -u www-data -e 
    خط زیر را به فایل cron اضافه کنید.
    کد PHP:
    */* * * * /usr/bin/php /var/www/html/poller.php 

    همچنین توصیه میشود : دستور cron و crontab در لینوکس به همراه 11 مثال عملی


    30 - چند دقیقه منتظر بمانید تا Cacti اطلاعات را جمع آوری کند سپس به Graphs -> Default Tree رفته و در اینجا شما باید Graph های جمع آوری شده از دیوایس های در حال مانیتورتان را بتوانید مشاهده کنید.

    Click image for larger version  Name:	Cacti-Monitoring-Graphs-14.png Views:	1 Size:	70.2 KB ID:	22270


    شما اکنون با موفقیت Cacti را به همراه Cacti-Spine poller از سورس در آخرین نسخه از سرورهای Debian 9 و Ubuntu 16.04 LTS نصب و کانفیگ کردید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-09-2021, 11:39 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X