ابزار cacti در حقیقت یک سولوشن open source و گرافیکی تحت وب جهت مانیتورینگ سیستم و شبکه مناسب برای مشاغل IT می باشد و به کاربر امکان استفاده از سرویسها در فاصله های زمانی منظم به منظور ایجاد گرافهای دیتا را با بکارگیری ابزار RRDtool فراهم می آورد. به طور کلی از cacti برای گراف گرفتن دوره ای پارامترهایی از قبیل network bandwidth utilization, CPU load, running processes, disk space استفاده میشود.
در این پست، نصب و تنظیم کامل اپلیکیشن مانیتورینگ شبکه Cacti را با استفاده از ابزار Net-SNMP روی سیستم های RHEL 7.x/6.x/5.x, CentOS 7.x/6.x/5.x و Fedora 21-12 و با استفاده از YUM package manager tool (ابزار مدیرپکیج YUM) آموزش می دهیم.
پکییج های موردنیاز Cacti
پکیج های موردنیاز Cacti که باید روی سیستم عامل های Linux مانند RHEL / CentOS / Fedora نصب شوند عبارتند از:
نصب پکیج های مورد نیاز Cacti روی RHEL / CentOS / Fedora
ابتدا، باید پکیج های زیر را یک به یک با استفاده از YUM package manager tool (ابزار مدیر پکیج YUM) نصب کنیم.
نصب Apache
نصب MySQL
MariaDB بخشی از پروژه دیتابیس MySQL می باشد که توسط این گروه توسعه یافت و جایگزینی برای MySQL می باشد. قبلا، دیتابیسی که رسما تحت RHEL/CentOS 6.x/5.x و Fedora پشتیبانی میشد MySQL بود.
از آنجاییکه MariaDB در حقیقت همان پیاده سازی و اجرای پیشفرض MySQL در RHEL/CentOS 7.x و همچنین 19 Fedora میباشد، اخیرا RedHat از MySQl به MariaDB تغییرجهت داده است.
نصب PHP
نصب PHP-SNMP
نصب NET-SNMP
نصب RRDTool
راه اندازی سرویس های Apache, MySQL و SNMP
هنگامی که تمام نرم افزارهای مورد نیاز برای نصب Cacti را نصب کردید، آنها را یک به یک با استفاده از دستورات زیر راه اندازی کنید.
در RHEL/CentOS 6.x/5.x و Fedora 18-12
در RHEL/CentOS 7. و Fedora 19 Onwards
تنظیم لینک های Start-up
تنظیم سرویس های Apache ,MySQL و SNMP برای استارت کردن آنها موقع Boot سیستم
روی RHEL/CentOS 6.x/5.x و Fedora 18-12
روی RHEL/CentOS 7.x و Fedora 19 Onwards
نصب Cacti روی RHEL / CentOS / Fedora
در اینجا، شما باید EPEL Repository را نصب و فعال سازید. هنگامی که ریپازیتوری را فعال ساختید، دستور زیر را تایپ کنید تا اپلیکیشن Cacti نصب شود.
نمونه خروجی
تنظیم سرور MySQL برای نصب Cacti
اکنون باید MySQL را برای cacti تنظیم کنیم. برای اینکار، باید رمزی را برای سرور جدید MySQL ایجاد کنیم و سپس، ما دیتابیس Cacti را با کاربر cacti ایجاد کنیم. اگر از قبل پسورد (رمز) برای MySQL خود تنظیم کرده اید، لازم نیست دوباره پسورد تنظیم کنید.
تنظیم پسورد MySQL
برای تنظیم پسورد جدید برای سرور MySQL، از دستور زیر استفاده کنید.
نکته : این فقط برای نصب MySQL جدید می باشد.
ایجاد دیتابیس MySQL Cacti
با پسورد جدید وارد سرور MySQL شوید و دیتابیس cacti را با کاربر Cacti ایجاد کنید و پسوردی را برای آن در نظر بگیرید.
بر روی RHEL/CentOS 6.x/5.x و Fedora 18-12
بر روی RHEL/CentOS 7.x و Fedora 19 Onwards
نصب جدول های Cacti برای MySQL
مسیر فایل دیتابیس را با استفاده از کامند RPM پیدا کنید، برای نصب جدول های cacti روی دیتابیس Cacti جدید، دستور زیر را اجرا کنید.
نمونه خروجی
اکنون، مسیر فایل Cacti.sql را داریم، دستور زیر را برای نصب جدول ها اجرا کنید، در اینجا شما باید پسورد کاربر Cacti را وارد کنید.
کانفیگ تنظیمات MySQL برای Cacti
فایل /etc/cacti/db.php را با هر ادیتوری باز کنید.
تغییرات زیر را انجام داده و فایل را ذخیره کنید. مطمئن شوید که پسورد را صحیح تنظیم کرده اید.
تنظیم Firewall برای Cacti
بر روی RHEL/CentOS 6.x/5.x و Fedora 18-12
بر روی RHEL/CentOS 7.x و Fedora 19 Onwards
تنظیم سرور Apache برای نصب Cacti
فایل /etc/httpd/conf.d/cacti.conf را با استفاده از یک ادیتور متن باز کنید.
شما باید دسترسی به اپلیکیشن Cacti را بر روی شبکه فعال سازید. برای مثال، دسترسی به شبکه لوکال 172.16.16.0/20 را برای خود فعال کرده ایم. در مورد شما، متفاوت خواهد بود.
در آخرین ورژن Apache (برای مثال، Apache 2.4)، شما باید با توجه به تنظیمات زیر، تنظیمات را تغییر دهید.
در نهایت، سرویس Apache را ریستارت کنید.
تنظیم Cron برای Cacti
فایل /etc/cron.d/cacti را باز کنید.
دستور زیر را uncomment کنید. دستور poller.php هر 4 دقیقه اجرا می شود و داده های هاست شناخته شده ایی را جمع اوری می کند که توسط اپلیکیشن Cacti برای نمایش گراف ها بکار می رود.
تنظیم installer Cacti
در نهایت، Cacti اماده است، فقط وارد مسیر http://YOUR-IP-HERE/cacti/ شده و دستور installer را دنبال کنید و Next را کلیک کنید.
لطفا نوع نصب را "New Install" انتخاب کنید.
قبل از اینکه پروسه نصب را ادامه دهید مطمئن شوید تمام موارد زیر درست هستند. Finish را کلیک کنید.
صفحه لاگین Cacti، نام کاربر را admin و رمز را نیز admin وارد کنید.
هنگامی که نام کاربر و رمز را وارد کردید، از شما درخواست می شود تا رمز جدید را برای Cacti وارد کنید.
صفحه کنسول Cacti
نحوه ایجاد Graph های جدید در Cacti
برای ایجاد گراف ها، روی New Graphs --> Select Host --> Select SNMP - Interface Statistics کلیک کرده و نوع گراف را In/Out Bits انتخاب کنید. روی Create کلیک کرده. لطفا به صفحه زیر توجه کنید.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب نرم افزار مانیتورینگ شبکه Cacti و Cacti-Spine ورژن 1.1.27 در Ubuntu 16.04 و Debian 9
برای اطلاعات بیشتر سایت Cacti را مشاهده نمایید.
در این پست، نصب و تنظیم کامل اپلیکیشن مانیتورینگ شبکه Cacti را با استفاده از ابزار Net-SNMP روی سیستم های RHEL 7.x/6.x/5.x, CentOS 7.x/6.x/5.x و Fedora 21-12 و با استفاده از YUM package manager tool (ابزار مدیرپکیج YUM) آموزش می دهیم.
پکییج های موردنیاز Cacti
پکیج های موردنیاز Cacti که باید روی سیستم عامل های Linux مانند RHEL / CentOS / Fedora نصب شوند عبارتند از:
- Apache : وب سرور برای نشان دادن نمودارهای (گراف) شبکه که با PHP و RRDTool ایجاد می شوند.
- MySQL : سرور دیتابیس برای ذخیره سازی اطلاعات Cacti
- PHP : ماژول اسکریپت برای ایجاد نمودارها (گراف) با استفاده از RRDTool
- PHP-SNMP : SNMP (پروتکل ساده مدیریت شبکه) برای کنترل و مدیریت شبکه بکار می رود.
- RRDTool : ابزار دیتابیس برای مدیریت و بازیابی داده های سری زمانی از قبیل CPU load, Network Bandwidth.
نصب پکیج های مورد نیاز Cacti روی RHEL / CentOS / Fedora
ابتدا، باید پکیج های زیر را یک به یک با استفاده از YUM package manager tool (ابزار مدیر پکیج YUM) نصب کنیم.
نصب Apache
کد PHP:
# yum install httpd httpd-devel
نصب MySQL
کد PHP:
# yum install mysql mysql-server
MariaDB بخشی از پروژه دیتابیس MySQL می باشد که توسط این گروه توسعه یافت و جایگزینی برای MySQL می باشد. قبلا، دیتابیسی که رسما تحت RHEL/CentOS 6.x/5.x و Fedora پشتیبانی میشد MySQL بود.
از آنجاییکه MariaDB در حقیقت همان پیاده سازی و اجرای پیشفرض MySQL در RHEL/CentOS 7.x و همچنین 19 Fedora میباشد، اخیرا RedHat از MySQl به MariaDB تغییرجهت داده است.
کد PHP:
# yum install mariadb-server -y [On RHEL/CentOS 7.x and Fedora 19 onwards]
نصب PHP
کد PHP:
# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
نصب PHP-SNMP
کد PHP:
# yum install php-snmp
نصب NET-SNMP
کد PHP:
# yum install net-snmp-utils net-snmp-libs
نصب RRDTool
کد PHP:
# yum install rrdtool
راه اندازی سرویس های Apache, MySQL و SNMP
هنگامی که تمام نرم افزارهای مورد نیاز برای نصب Cacti را نصب کردید، آنها را یک به یک با استفاده از دستورات زیر راه اندازی کنید.
در RHEL/CentOS 6.x/5.x و Fedora 18-12
کد PHP:
[root@linux-zone ~]# service httpd start
[root@linux-zone ~]# service mysqld start
[root@linux-zone ~]# service snmpd start
در RHEL/CentOS 7. و Fedora 19 Onwards
کد PHP:
[root@linux-zone ~]# systemctl start httpd.service
[root@linux-zone ~]# systemctl start mariadb.service
[root@linux-zone ~]# systemctl start snmpd.service
تنظیم لینک های Start-up
تنظیم سرویس های Apache ,MySQL و SNMP برای استارت کردن آنها موقع Boot سیستم
روی RHEL/CentOS 6.x/5.x و Fedora 18-12
کد PHP:
[root@linux-zone ~]# /sbin/chkconfig --levels 345 httpd on
[root@linux-zone ~]# /sbin/chkconfig --levels 345 mysqld on
[root@linux-zone ~]# /sbin/chkconfig --levels 345 snmpd on
روی RHEL/CentOS 7.x و Fedora 19 Onwards
کد PHP:
[root@linux-zone ~]# systemctl enable httpd.service
[root@linux-zone ~]# systemctl enable mariadb.service
[root@linux-zone ~]# systemctl enable snmpd.service
نصب Cacti روی RHEL / CentOS / Fedora
در اینجا، شما باید EPEL Repository را نصب و فعال سازید. هنگامی که ریپازیتوری را فعال ساختید، دستور زیر را تایپ کنید تا اپلیکیشن Cacti نصب شود.
کد PHP:
# yum install cacti
کد:
Loaded plugins: fastestmirror, langpacks epel/x86_64/metalink | 4.7 kB 00:00:00 epel | 4.4 kB 00:00:00 (1/2): epel/x86_64/group_gz | 250 kB 00:00:03 (2/2): epel/x86_64/primary_db | 4.0 MB 00:02:20 (1/2): epel/x86_64/updateinfo | 315 kB 00:00:09 (2/2): epel/x86_64/pkgtags | 1.4 MB 00:00:59 Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * epel: ftp.cuhk.edu.hk * extras: centos.excellmedia.net * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package cacti.noarch 0:0.8.8b-7.el7 will be installed --> Processing Dependency: rrdtool for package: cacti-0.8.8b-7.el7.noarch --> Processing Dependency: net-snmp-utils for package: cacti-0.8.8b-7.el7.noarch --> Running transaction check ---> Package net-snmp-utils.x86_64 1:5.7.2-18.el7 will be installed ---> Package rrdtool.x86_64 0:1.4.8-8.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================================= Installing: cacti noarch 0.8.8b-7.el7 epel 2.1 M Installing for dependencies: net-snmp-utils x86_64 1:5.7.2-18.el7 base 195 k rrdtool x86_64 1.4.8-8.el7 base 368 k Transaction Summary ============================================================================================================================================================================================= Install 1 Package (+2 Dependent packages) Total download size: 2.7 M Installed size: 7.2 M Is this ok [y/d/N]: y Downloading packages: (1/3): net-snmp-utils-5.7.2-18.el7.x86_64.rpm | 195 kB 00:00:04 warning: /var/cache/yum/x86_64/7/epel/packages/cacti-0.8.8b-7.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY==============- ] 56 kB/s | 2.4 MB 00:00:05 ETA Public key for cacti-0.8.8b-7.el7.noarch.rpm is not installed (2/3): cacti-0.8.8b-7.el7.noarch.rpm | 2.1 MB 00:00:53 (3/3): rrdtool-1.4.8-8.el7.x86_64.rpm | 368 kB 00:02:47 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 16 kB/s | 2.7 MB 00:02:47 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) " Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-5.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Warning: RPMDB altered outside of yum. Installing : rrdtool-1.4.8-8.el7.x86_64 1/3 Installing : 1:net-snmp-utils-5.7.2-18.el7.x86_64 2/3 Installing : cacti-0.8.8b-7.el7.noarch 3/3 /var/tmp/rpm-tmp.mR0t1v: line 1: fg: no job control warning: %post(cacti-0.8.8b-7.el7.noarch) scriptlet failed, exit status 1 Non-fatal POSTIN scriptlet failure in rpm package cacti-0.8.8b-7.el7.noarch Verifying : 1:net-snmp-utils-5.7.2-18.el7.x86_64 1/3 Verifying : rrdtool-1.4.8-8.el7.x86_64 2/3 Verifying : cacti-0.8.8b-7.el7.noarch 3/3 Installed: cacti.noarch 0:0.8.8b-7.el7 Dependency Installed: net-snmp-utils.x86_64 1:5.7.2-18.el7 rrdtool.x86_64 0:1.4.8-8.el7 Complete!
تنظیم سرور MySQL برای نصب Cacti
اکنون باید MySQL را برای cacti تنظیم کنیم. برای اینکار، باید رمزی را برای سرور جدید MySQL ایجاد کنیم و سپس، ما دیتابیس Cacti را با کاربر cacti ایجاد کنیم. اگر از قبل پسورد (رمز) برای MySQL خود تنظیم کرده اید، لازم نیست دوباره پسورد تنظیم کنید.
تنظیم پسورد MySQL
برای تنظیم پسورد جدید برای سرور MySQL، از دستور زیر استفاده کنید.
نکته : این فقط برای نصب MySQL جدید می باشد.
کد PHP:
[root@linux-zone ~]# mysqladmin -u root password YOUR-PASSWORD-HERE
ایجاد دیتابیس MySQL Cacti
با پسورد جدید وارد سرور MySQL شوید و دیتابیس cacti را با کاربر Cacti ایجاد کنید و پسوردی را برای آن در نظر بگیرید.
بر روی RHEL/CentOS 6.x/5.x و Fedora 18-12
کد PHP:
[root@linux-zone ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73 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 cacti;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit;
Bye
بر روی RHEL/CentOS 7.x و Fedora 19 Onwards
کد PHP:
[root@linux-zone ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.41-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit;
Bye
نصب جدول های Cacti برای MySQL
مسیر فایل دیتابیس را با استفاده از کامند RPM پیدا کنید، برای نصب جدول های cacti روی دیتابیس Cacti جدید، دستور زیر را اجرا کنید.
کد PHP:
# rpm -ql cacti | grep cacti.sql
کد PHP:
/usr/share/doc/cacti-0.8.8b/cacti.sql
کد PHP:
[root@linux-zone ~]# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
Enter password:
کانفیگ تنظیمات MySQL برای Cacti
فایل /etc/cacti/db.php را با هر ادیتوری باز کنید.
کد PHP:
# vi /etc/cacti/db.php
کد PHP:
/* make sure these values reflect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "your-password-here";
$database_port = "3306";
$database_ssl = false;
تنظیم Firewall برای Cacti
بر روی RHEL/CentOS 6.x/5.x و Fedora 18-12
کد PHP:
[root@linux-zone ~]# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT
[root@linux-zone ~]# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
[root@linux-zone ~]# service iptables save
کد PHP:
[root@linux-zone ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@linux-zone ~]# firewall-cmd --reload
تنظیم سرور Apache برای نصب Cacti
فایل /etc/httpd/conf.d/cacti.conf را با استفاده از یک ادیتور متن باز کنید.
کد PHP:
# vi /etc/httpd/conf.d/cacti.conf
کد PHP:
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
Order Deny,Allow
Deny from all
Allow from 172.16.16.0/20
</Directory>
کد PHP:
Alias /cacti /usr/share/cacti
<Directory /usr/share/cacti/>
<IfModule mod_authz_core.c>
# httpd 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# httpd 2.2
Order deny,allow
Deny from all
Allow from all
</IfModule>
</Directory>
کد PHP:
[root@linux-zone ~]# service httpd restart [On RHEL/CentOS 6.x/5.x and Fedora 18-12]
[root@linux-zone ~]# systemctl restart httpd.service [On RHEL/CentOS 7.x and Fedora 19 onwards]
تنظیم Cron برای Cacti
فایل /etc/cron.d/cacti را باز کنید.
کد PHP:
# vi /etc/cron.d/cacti
کد PHP:
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
تنظیم installer Cacti
در نهایت، Cacti اماده است، فقط وارد مسیر http://YOUR-IP-HERE/cacti/ شده و دستور installer را دنبال کنید و Next را کلیک کنید.
لطفا نوع نصب را "New Install" انتخاب کنید.
قبل از اینکه پروسه نصب را ادامه دهید مطمئن شوید تمام موارد زیر درست هستند. Finish را کلیک کنید.
صفحه لاگین Cacti، نام کاربر را admin و رمز را نیز admin وارد کنید.
هنگامی که نام کاربر و رمز را وارد کردید، از شما درخواست می شود تا رمز جدید را برای Cacti وارد کنید.
صفحه کنسول Cacti
نحوه ایجاد Graph های جدید در Cacti
برای ایجاد گراف ها، روی New Graphs --> Select Host --> Select SNMP - Interface Statistics کلیک کرده و نوع گراف را In/Out Bits انتخاب کنید. روی Create کلیک کرده. لطفا به صفحه زیر توجه کنید.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب نرم افزار مانیتورینگ شبکه Cacti و Cacti-Spine ورژن 1.1.27 در Ubuntu 16.04 و Debian 9
برای اطلاعات بیشتر سایت Cacti را مشاهده نمایید.