مدیریت سرورمقالات وب
چگونه ابزار Cacti را بر روی فدورا، سنت او اس و RHEL نصب کنیم؟

همانطور که می دانید Cacti یکی از ابزارهای متن باز مبتنی بر وب برای مانیتورینگ شبکه و سیستم است که برای کسب وکارهای مختلف مورد استفاده قرار می گیرد. این ابزار کاربران را قادر می سازد در دوره های زمانی منظم سرویس های خود را مورد بررسی قرار دهند و نمودارهایی را به کمک ابزار RRD ایجاد نمایند. معمولا این ابزار برای تولید نمودارهای زمانی از معیارها همچون پهنای باند و کاربرد آن، بار CPU، زمان اجرای فرآیندها و فضای دیسک مورد استفاده قرار می گیرد. در این مقاله قصد داریم آموزش جامعی را برای نصب ابزار Cacti بر روی سنت او اس، فدورا و RHEL داشته باشیم. پس همراه وب ایده باشید.
پکیج های مورد نیاز Cacti:
برای اینکه بتوانید این ابزار را بر روی توزیع های لینوکسی نصب کنید به پکیج های زیر نیاز خواهید داشت:
- آپاچی: وب سروری برای نماش نمودارهای شبکه ایجاد شده توسط PHP و ابزار RRD
- MYSQL: سرور پایگاه داده برای ذخیره سازی اطلاعات Cacti
- PHP: ماژول اسکریپت برای ایجاد نمودار
- PHP-SNMP: اکستنشن PHP برای SNMP برای دسترسی به داده
- Net-snmp
- ابزار RRD: ابزار پایگاه داده برای مدیریت و بازیابی داده های زمانی همچون بار CPU و مصرف پهنای باند.
نصب پکیج های مورد نیاز Cacti :
قبل از اینکه بخواهیم خود ابزار مانیتورینگ را بر روی سیستم خود نصب کنیم باید پکیج های آن را یک به یک نصب نماییم. اجازه دهید هر کدام از این گزینه ها و دستورهایی که برای آن به کار می رود را با هم مرور کنیم.
نصب آپاچی:
# yum install httpd httpd-devel --------- On Fedora 22+ releases --------- # dnf install httpd httpd-devel
نصب پایگاه داده MYSQL:
# yum install mysql mysql-server [On RHEL/CentOS 6/5 and Fedora 12-18]
همانطور که می دانید Mariadb در برخی از شرایط جایگزین MYSQL می شود.
# yum install mariadb-server -y [On RHEL/CentOS 7.x and Fedora 19 onwards] # dnf install mariadb-server -y [On Fedora 22+ onwards]
نصب PHP:
# yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli --------- On Fedora 22+ releases --------- # dnf install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
نصب PHP-SNMP:
# yum install php-snmp # dnf install php-snmp [On Fedora 22+ onwards]
نصب NET-SNMP:
# yum install net-snmp-utils net-snmp-libs # dnf install net-snmp-utils net-snmp-libs [On Fedora 22+ onwards]
نصب ابزار RRD:
# yum install rrdtool # dnf install rrdtool [On Fedora 22+ onwards]
استارت آپاچی، MYSQL و SNMP:
بعد از اینکه نرم افزارهای مورد نیاز برای این ابزار را نصب کردید باید یک به یک به کمک دستورهای زیر آن ها را استارت کنید.
بر روی RHEL، سنت او اس6.x و 5.x . فدورا 18-12:
# service httpd start # service mysqld start # service snmpd start
بر روی RHEL، سنت او اس 7.xو فدورا 19 به بعد:
# systemctl start httpd.service # systemctl start mariadb.service # systemctl start snmpd.service
پیکربندی لینک های استارت آپ سیستم:
پیکربندی آپاچی ، MYSQL و SNMP برای استارت در بوت سیستم هم باید انجام شود. از دستورات زیر برای اینکار استفاده کنید:
بر روی سیستم عامل RHEL، سنت او اس 6.x و 5.x و فدورا 12-18:
# /sbin/chkconfig --levels 345 httpd on # /sbin/chkconfig --levels 345 mysqld on # /sbin/chkconfig --levels 345 snmpd on
بر روی سیستم عامل RHEL، سنت او اس 7.x و فدورا 19 به بعد:
# systemctl enable httpd.service # systemctl enable mariadb.service # systemctl enable snmpd.service
نصب cacti بر روی RHEL، سنت او اس و فدورا:
در این مرحله شما باید مخزن EPEL را نصب و فعال کنید. بعد از فعال کردن مخزن، دستور زیر را برای نصب اپلیکیشن Cacti وارد نمایید:
# yum install cacti # dnf install cacti [On Fedora 22+ onwards]
خروجی باید شبیه موارد زیر باشد:
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) <epel@fedoraproject.org>" 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:
در این گام باید پایگاه داده خود را برای نصب Cacti پیکربندی کنیم. برای اینکار باید پسوردی را برای سرور MYSQL خود که به تازگی نصب شده است ایجاد کنیم و سپس پایگاه داده ای را با کاربر Cacti بسازیم. اگر پایگاه داده شما در حال حاضر با پسورد محافظت می شود دیگر نیازی نیست پسورد را مجددا ایجاد کنید در غیر اینصورت به سراغ گام بعدی بروید و پسوردی برای پایگاه داده خود بسازید:
تنظیم پسورد MYSQL:
برای تنظیم پسورد جدید برای سرور پایگاه داده خود از دستورات زیر استفاده کنید( توجه داشته باشید که اینکار برای MYSQL ای است که به تازگی نصب شده است)
# mysqladmin -u root password پسورد شما
ایجاد پایگاه داده برای ابزار Cacti:
به کمک پسورد جدیدی که ایجاد کردید وارد سرور پایگاه داده خود شوید و پایگاه داده Cacti و نام کاربری cacti را ایجاد نمایید. سپس پسوردی برای آن انتخاب کنید.
بر روی RHEL، سنت او اس 6.x و 5.x و فدورا 12-18:
# 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، سنت او اس 7.x و فدورا 19 به بعد:
# 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 مسیر فایل پایگاه داده را بیابید. برای نصب جدول برای پایگاه داده جدیدی که ایجاد کرده اید از دستورات زیر استفاده کنید:
# rpm -ql cacti | grep cacti.sql
خروجی نمونه:
/usr/share/doc/cacti-0.8.8b/cacti.sql OR /usr/share/doc/cacti/cacti.sql
خوب حالا که در فایل Cacti.sql هستید، دستور زیر را تایپ کنید تا جدول نصب شود. در این بخش شما باید پسورد کاربر cacti را وارد کنید:
# mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql Enter password:
پیکربندی تنظیمات Mysql برای Cacti:
فایلی به نام /etc/cacti/db.php را با ویرایشگر باز کنید:
# vi /etc/cacti/db.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;
پیکربندی فایروال برای ابزار Cacti:
بر روی سیستم عامل های RHEL، سنت او اس 6.x و 5.x و فدورا 12-18:
# iptables -A INPUT -p udp -m state --state NEW --dport 80 -j ACCEPT # iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT # service iptables save
بر روی سیستم های RHEL، سنت او اس 7.x و فدورا 19 به بعد:
# firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --reload
پیکربندی آپاچی برای نصب Cacti:
فایلی به نام /etc/httpd/conf.d/cacti.conf را با ویرایشگر مدنظر خود باز کنید:
# vi /etc/httpd/conf.d/cacti.conf
باید دسترسی به این اپلیکیشن را برای شبکه محلی یا به ازای هر ای پی فعال نمایید. به طور مثال ما دسترسی به شبکه محلی LAN را فعال کرده ایم. شما باید بر اساس شرایط خود این موارد را تغییر دهید:
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> Order Deny,Allow Deny from all Allow from 172.16.16.0/20 </Directory>
در آخرین نسخه های اپاچی، ممکن است نیاز داشته باشید تغییراتی را همچون تنظیمات زیر انجام دهید:
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>
در نهایت باید سرویس آپاچی را ریستارت کنید:
# service httpd restart [On RHEL/CentOS 6.x/5.x and Fedora 18-12] # systemctl restart httpd.service [On RHEL/CentOS 7.x and Fedora 19 onwards]
تنظیمات Cron برای cacti:
فایل /etc/cron.d/cacti را باز کنید:
# vi /etc/cron.d/cacti
خطوط زیر را Uncomment کنید. اسکریپت poller.php هر 5 دقیقه یکبار اجرا می شود و داده های هاست مدنظر را جمع آوری می کند و به Cacti کمک می کند نمودارهای موجود را به نمایش بگذارد.
#*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
اجرای نصب کننده ابزار Cacti:
خوب حالا ابزار شما آماده است. می توانید بر روی مرورگر خود آدرس http://YOUR-IP-HERE/cacti را وارد کنید و دستورات ارائه شده را دنبال کنید. بر روی دکمه next کلیک کنید.
نوع نصب را به صورت new install انتخاب کنید و مطمئن شوید همه مقادیر را اصلاح می کنید. سپس بر روی دکمه finish کلیک کنید.
چگونه نمودارهای جدیدی برای Cacti ایجاد کنیم؟
برای ایجاد نمودار جدید، بر روی New graph کلیک کنید، Host را انتخاب کنید، SNMP – Interface Statistics را انتخاب نمایید و نوع نمودار را انتخاب کنید. سپس بر روی دکمه Create کلیک کنید.