لینک اصلی : http://blog.oopssec.ir/?p=186
Cacti چیست؟!
Cacti یک ابزار متن باز Ùˆ کاملا ظاهر Ù…Øور برای ابزار round-robin database Ù…ÛŒ باشد. این ابزار یک برنامه مبتنی بر وب برای مانیتور کردن ایونت های شبکه است Ú©Ù‡ برای مدیران لینوکسی بسیار Øیاطی Ùˆ مورد نیاز Ù…ÛŒ باشد. به هر Øال در این آموزش ما Ùقط Ù…ÛŒ خواهیم Ù†Øوه نصب کردن Ùˆ پیکربندی این ابزار را مورد بررسی قرار بدهیم Ùˆ بهتر است برای بدست آوردن اطلاعات بیشتر در مورد این برنامه به وب سایت زیر مراجعه بÙرمائید.
نصب بسته های مورد نیاز
برای نصب و راه اندازی Cacti نیاز به نصب کردن چندین بسته دارید که آن بسته ها در زیر آورده شده است، پس آن ها را طبق آموزش نصب و راه اندازی کنید تا بتوانید برنامه اصلی یعنی Cacti را مورد بهره برداری قرار بدهید. قابل ذکر است که در این آموزش بنده این برنامه را بر روی centos نصب می کتم.
نصب آپاچی سرور
از آپاچی برای نمایش گرا٠های شبکه Ú©Ù‡ توسط ابزار RRDtool ایجاد Ù…ÛŒ گردد استÙاده Ù…ÛŒ شود. زیرا Ú©Ù‡ تمامی اسکریپت های این برنامه با PHP نوشته شده است Ùˆ نیاز به یک وب سرور است Ú©Ù‡ آن را برای ما نمایش دهد. به Ø´Ú©Ù„ زیر باید آن را نصب کنید. (البته آپاچی به صورت پیش Ùرض بر روی سرور ها نصب است، اگر نصب نبود آن را باید نصب کنید.)
نصب کردن MySql
از بانک اطلاعاتی MySql برای ذخیره سازی داده های Cacti استÙاده Ù…ÛŒ شود باید به Ø´Ú©Ù„ زیر نصب گردد.
همانطور Ú©Ù‡ در قسمت های گذشته متذکر شدم ابزار RRDtool از اسکریپت های نوشته شده با زبان PHP برای ایجاد گرا٠استÙاده Ù…ÛŒ کند پس یکی دیگر از بسته ها مورد نیاز RRDtool Ùˆ Cacti بسته های PHP است Ú©Ù‡ باید به Ø´Ú©Ù„ زیر نصب شوند.
نصب کردن PHP-SNMP
این یک extension برای SNMP است Ú©Ù‡ برای دسترسی گرÙتن به داده ها ازش Ù…ÛŒ شود Ùˆ به Ø´Ú©Ù„ زیر باید نصب شود.
نصب کردن Net-SNMP
از این بسته برای مدیریت شبکه استÙاده Ù…ÛŒ شود Ùˆ به Ø´Ú©Ù„ زیر باید نصب شود.
نصب کردن RRDtool
RRDtool بک برنامه برای مدیریت Ùˆ دریاÙت داده Ùˆ اطلاعات شبکه از قبیل پهنای باند، میزان بارگزار CPU Ùˆ.. است Ú©Ù‡ Ø´Ú©Ù„ زیر نصب Ù…ÛŒ شود.
[root@server ~]# yum install rrdtool -y
بعد از نصب بسته های بالا باید آنها را Start کنید به شکل زیر این کار را انجام دهید:
و به شکل زیر سرویس های زیر را به صورت استارت آپ در آورید که در هر بار دوباره بارگزاری سیستم این سرویس ها هم اجرا شوند:
نصب کردن ابزار Cacti
برای نصب کردن بسته نرم اÙزاری Cacti Ú©Ù‡ ابزار مورد بØØ« ما در این قسمت است باید به Ø´Ú©Ù„ زیر عمل کنیم. این ابزار را Ù…ÛŒ توان مجتمع کننده ابزار RRDtool نماید (به زعم از خودم البته)…! به Ø´Ú©Ù„ زیر آنرا نصب کنید:
پیکربندی بانک اطلاعاتی MySql
خب Øال وقت پیکربندی MySql رسیده است. برای اعمال کردن تغییرات در بانک اطلاعاتی MySql نیاز است Ú©Ù‡ به آن با نام کاربری root وارد شوید Ùˆ یک دیتابیس برای Cacti ایجاد کنید. در اینجا بنده از نام MiladCacti به عنوان نام دیتابیس، c3phalex به عنوان نام کاربری Ùˆ milad@@milad به عنوان کلمه عبور استÙاده خواهم کرد. شما از پارامتر های مد نظر خود برای این گزینه ها استÙاده کنید. به تعبیری هر Ú†ÛŒ عشقتون Ù…ÛŒ کشه تعری٠کنید.
Øالا جداول Cacti را به بانک اطلاعاتی MiladCacti وارد کنید. Ù…ØÙ„ cacti.sql را پیدا کرده Ùˆ سپس آن را به بانک اطلاعاتی Cacti وارد کنید. برای پیدا کردن این Ùایل به Ø´Ú©Ù„ زیر عمل کنید.
Øالا Ùایل cacti.sql را به بانک اطلاعاتی باید وارد کنیم به Ø´Ú©Ù„ زیر عمل کنید.
Øالا Ú©Ù‡ جداول به بانک اطلاعاتی MiladCacti وارد شد. Ùایل db.php را باز کرده Ùˆ تغییرات زیر را در آن اعمال کنید.
پیکربندی سرور آپاچی
Ùایل /etc/httpd/conf.d/cacti.conf را باز کتید Ùˆ Ù…Øدوده شبکه خود را اضاÙÙ‡ کنید یا Ù…ÛŒ توانید یک Ø¢ÛŒ Ù¾ÛŒ آدرس وارد کنید. در اینجا، من آدرس شبکه خودم(192.168.1.0/249) را وارد Ù…ÛŒ کنم.
در پایان سرور آپاچی خود را ریستارت کنید.
اگر شما Ù…ÛŒ خواهید Ù…Øیط نصب Cacti را یک ماشین راه دور راه اندازی کند باید به درگاه 80 اجازه اتصال بدهید! به Ø´Ú©Ù„ زیر این کار را انجام دهید.
Øالا iptables Ùˆ ریستارت کنید.
پیکربندی Cron برای Cacti
Ùایل /etc/vron.d/cacti را باز کنید Ùˆ خط زیر را uncomment کنید.
Ùایل بالا باعث Ù…ÛŒ شود Ú©Ù‡ هر پنج دقیقه اسکریپت poller.php اجرا شود Ùˆ داده ها در سیستم میزبان را جمع آوری کند.
Cacti را اجرا کنید
مرورگر را باز کنید Ùˆ به آدرس http://localhost/cacti بروید. بعد از رÙتن به این آدرس تصویر زیر نمایش داده Ù…ÛŒ شود.
بر روی next کلیک کنید تا به مرØله بعدی نصب بروید Ùˆ در مرØله بعد از پنجره DropBox گزینه Install را انتخاب کنید Ùˆ بعد بر روی next کلیک کنید.
در پنجره بعد Ú©Ù‡ نمایش داده Ù…ÛŒ شود از صØت درستی مقادیر وارد شده اطمینان Øاصل کنید.
هنگامی Ú©Ù‡ نصب به پایان Ù…ÛŒ رسد Ùˆ صÙØÙ‡ ورود به Cacti نمایش داده Ù…ÛŒ شود نام کاربری Ùˆ کلمه عبور پیش Ùرض آن admin است. برای ورود به مدیریت آن از admin استÙاده کنید.
در صÙØÙ‡ بعدی از شما Ù…ÛŒ خواهد Ú©Ù‡ کلمه عبور را تغییر دهید. به Ø´Ú©Ù„ زیر عمل کنید.
بعد از اعمال این تنظیمات با Ù…Øیط اصلی Cacti رو به رو خواهید شد.
Cacti چیست؟!
Cacti یک ابزار متن باز Ùˆ کاملا ظاهر Ù…Øور برای ابزار round-robin database Ù…ÛŒ باشد. این ابزار یک برنامه مبتنی بر وب برای مانیتور کردن ایونت های شبکه است Ú©Ù‡ برای مدیران لینوکسی بسیار Øیاطی Ùˆ مورد نیاز Ù…ÛŒ باشد. به هر Øال در این آموزش ما Ùقط Ù…ÛŒ خواهیم Ù†Øوه نصب کردن Ùˆ پیکربندی این ابزار را مورد بررسی قرار بدهیم Ùˆ بهتر است برای بدست آوردن اطلاعات بیشتر در مورد این برنامه به وب سایت زیر مراجعه بÙرمائید.
نصب بسته های مورد نیاز
برای نصب و راه اندازی Cacti نیاز به نصب کردن چندین بسته دارید که آن بسته ها در زیر آورده شده است، پس آن ها را طبق آموزش نصب و راه اندازی کنید تا بتوانید برنامه اصلی یعنی Cacti را مورد بهره برداری قرار بدهید. قابل ذکر است که در این آموزش بنده این برنامه را بر روی centos نصب می کتم.
نصب آپاچی سرور
از آپاچی برای نمایش گرا٠های شبکه Ú©Ù‡ توسط ابزار RRDtool ایجاد Ù…ÛŒ گردد استÙاده Ù…ÛŒ شود. زیرا Ú©Ù‡ تمامی اسکریپت های این برنامه با PHP نوشته شده است Ùˆ نیاز به یک وب سرور است Ú©Ù‡ آن را برای ما نمایش دهد. به Ø´Ú©Ù„ زیر باید آن را نصب کنید. (البته آپاچی به صورت پیش Ùرض بر روی سرور ها نصب است، اگر نصب نبود آن را باید نصب کنید.)
[root@server ~]# yum install httpd httpd-devel -y
از بانک اطلاعاتی MySql برای ذخیره سازی داده های Cacti استÙاده Ù…ÛŒ شود باید به Ø´Ú©Ù„ زیر نصب گردد.
کد:
[LEFT][root@server ~]# yum install mysql mysql-server -y[/LEFT]
کد:
[LEFT][root@server ~]# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli php-mysql -y [/LEFT]
این یک extension برای SNMP است Ú©Ù‡ برای دسترسی گرÙتن به داده ها ازش Ù…ÛŒ شود Ùˆ به Ø´Ú©Ù„ زیر باید نصب شود.
1
[root@server ~]# yum install php-snmp -y
[root@server ~]# yum install php-snmp -y
از این بسته برای مدیریت شبکه استÙاده Ù…ÛŒ شود Ùˆ به Ø´Ú©Ù„ زیر باید نصب شود.
[root@server ~]# yum install net-snmp-utils net-snmp-libs php-pear-Net-SMTP -y
RRDtool بک برنامه برای مدیریت Ùˆ دریاÙت داده Ùˆ اطلاعات شبکه از قبیل پهنای باند، میزان بارگزار CPU Ùˆ.. است Ú©Ù‡ Ø´Ú©Ù„ زیر نصب Ù…ÛŒ شود.
[root@server ~]# yum install rrdtool -y
[root@server ~]# /etc/init.d/httpd start
[root@server ~]# /etc/init.d/mysqld start
[root@server ~]# /etc/init.d/snmpd start
[root@server ~]# /etc/init.d/mysqld start
[root@server ~]# /etc/init.d/snmpd start
[root@server ~]# chkconfig httpd on
[root@server ~]# chkconfig mysqld on
[root@server ~]# chkconfig snmpd on
[root@server ~]# chkconfig mysqld on
[root@server ~]# chkconfig snmpd on
برای نصب کردن بسته نرم اÙزاری Cacti Ú©Ù‡ ابزار مورد بØØ« ما در این قسمت است باید به Ø´Ú©Ù„ زیر عمل کنیم. این ابزار را Ù…ÛŒ توان مجتمع کننده ابزار RRDtool نماید (به زعم از خودم البته)…! به Ø´Ú©Ù„ زیر آنرا نصب کنید:
[root@server ~]# yum install cacti -y
خب Øال وقت پیکربندی MySql رسیده است. برای اعمال کردن تغییرات در بانک اطلاعاتی MySql نیاز است Ú©Ù‡ به آن با نام کاربری root وارد شوید Ùˆ یک دیتابیس برای Cacti ایجاد کنید. در اینجا بنده از نام MiladCacti به عنوان نام دیتابیس، c3phalex به عنوان نام کاربری Ùˆ milad@@milad به عنوان کلمه عبور استÙاده خواهم کرد. شما از پارامتر های مد نظر خود برای این گزینه ها استÙاده کنید. به تعبیری هر Ú†ÛŒ عشقتون Ù…ÛŒ کشه تعری٠کنید.
[root@server ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.69 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database MiladCacti;
Query OK, 1 row affected (0.01 sec)
mysql> GRANT ALL ON MiladCacti.* TO c3phalex@localhost IDENTIFIED BY 'milad@@milad';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.69 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database MiladCacti;
Query OK, 1 row affected (0.01 sec)
mysql> GRANT ALL ON MiladCacti.* TO c3phalex@localhost IDENTIFIED BY 'milad@@milad';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
[root@server ~]# rpm -ql cacti | grep cacti.sql
/usr/share/doc/cacti-0.8.8a/cacti.sql
/usr/share/doc/cacti-0.8.8a/cacti.sql
[root@server ~]# mysql -u c3phalex -p MiladCacti < /usr/share/doc/cacti-0.8.8a/cacti.sql
Enter password:
Enter password:
[root@server ~]# vi /etc/cacti/db.php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "MiladCacti"; ## Name of the Cacti Database ##
$database_hostname = "localhost";
$database_username = "c3phalex"; ## Username for Cacti database ##
$database_password = "milad@@milad"; ## Database password ##
$database_port = "3306";
$database_ssl = false;
/*
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "MiladCacti"; ## Name of the Cacti Database ##
$database_hostname = "localhost";
$database_username = "c3phalex"; ## Username for Cacti database ##
$database_password = "milad@@milad"; ## Database password ##
$database_port = "3306";
$database_ssl = false;
/*
Ùایل /etc/httpd/conf.d/cacti.conf را باز کتید Ùˆ Ù…Øدوده شبکه خود را اضاÙÙ‡ کنید یا Ù…ÛŒ توانید یک Ø¢ÛŒ Ù¾ÛŒ آدرس وارد کنید. در اینجا، من آدرس شبکه خودم(192.168.1.0/249) را وارد Ù…ÛŒ کنم.
[root@server ~]# vi /etc/httpd/conf.d/cacti.conf
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require host localhost
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from 192.168.1.0/24
</IfModule>
</Directory>
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require host localhost
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from 192.168.1.0/24
</IfModule>
</Directory>
[root@server ~]# /etc/init.d/httpd restart
root@server ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[root@server ~]# /etc/init.d/iptables restart
Ùایل /etc/vron.d/cacti را باز کنید Ùˆ خط زیر را uncomment کنید.
کد:
[LEFT][root@server ~]# vi /etc/cron.d/cacti */5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1 [/LEFT]
Cacti را اجرا کنید
مرورگر را باز کنید Ùˆ به آدرس http://localhost/cacti بروید. بعد از رÙتن به این آدرس تصویر زیر نمایش داده Ù…ÛŒ شود.
بر روی next کلیک کنید تا به مرØله بعدی نصب بروید Ùˆ در مرØله بعد از پنجره DropBox گزینه Install را انتخاب کنید Ùˆ بعد بر روی next کلیک کنید.
در پنجره بعد Ú©Ù‡ نمایش داده Ù…ÛŒ شود از صØت درستی مقادیر وارد شده اطمینان Øاصل کنید.
هنگامی Ú©Ù‡ نصب به پایان Ù…ÛŒ رسد Ùˆ صÙØÙ‡ ورود به Cacti نمایش داده Ù…ÛŒ شود نام کاربری Ùˆ کلمه عبور پیش Ùرض آن admin است. برای ورود به مدیریت آن از admin استÙاده کنید.
در صÙØÙ‡ بعدی از شما Ù…ÛŒ خواهد Ú©Ù‡ کلمه عبور را تغییر دهید. به Ø´Ú©Ù„ زیر عمل کنید.
بعد از اعمال این تنظیمات با Ù…Øیط اصلی Cacti رو به رو خواهید شد.