आरएचईएल/सेंटोस 8/7 और फेडोरा 30 पर कैक्टि (नेटवर्क मॉनिटरिंग) स्थापित करें


कैक्टि टूल एक ओपन-सोर्स वेब-आधारित नेटवर्क मॉनिटरिंग और आईटी व्यवसाय के लिए सिस्टम मॉनिटरिंग ग्राफ़िंग समाधान है। कैक्टि एक उपयोगकर्ता को RRDtool का उपयोग करके परिणामी डेटा पर ग्राफ़ बनाने के लिए नियमित अंतराल पर सेवाओं को मतदान करने में सक्षम बनाता है। आम तौर पर, इसका उपयोग मेट्रिक्स जैसे डिस्क स्थान आदि के समय-श्रृंखला डेटा को ग्राफ़ करने के लिए किया जाता है।

इस कैसे-कैसे में, हम आपको दिखाने जा रहे हैं कि डीएनएफ पैकेज मैनेजर टूल का उपयोग करके आरएचईएल, सेंटोस और फेडोरा सिस्टम पर नेट-एसएनएमपी टूल का उपयोग करके कैक्टि नामक एक संपूर्ण नेटवर्क मॉनिटरिंग एप्लिकेशन को कैसे इंस्टॉल और सेट अप किया जाए।

Cacti को आपके Linux ऑपरेटिंग सिस्टम जैसे RHEL/CentOS/Fedora पर निम्नलिखित पैकेजों को स्थापित करने की आवश्यकता है।

<ओल>

  • Apache: PHP और RRDTool द्वारा बनाए गए नेटवर्क ग्राफ़ को प्रदर्शित करने के लिए एक वेब सर्वर।
  • MySQL: कैक्टि जानकारी संग्रहीत करने के लिए एक डेटाबेस सर्वर।
  • PHP : आरआरडीटूल का उपयोग करके ग्राफ बनाने के लिए एक स्क्रिप्ट मॉड्यूल।
  • PHP-SNMP: डेटा तक पहुँचने के लिए SNMP के लिए एक PHP एक्सटेंशन।
  • NET-SNMP : एक SNMP (सिंपल नेटवर्क मैनेजमेंट प्रोटोकॉल) का उपयोग नेटवर्क को प्रबंधित करने के लिए किया जाता है।
  • RRDTool : CPU लोड, नेटवर्क बैंडविड्थ, आदि जैसे समय श्रृंखला डेटा को प्रबंधित और पुनर्प्राप्त करने के लिए एक डेटाबेस टूल।
  • नोट: यहां दिखाए गए इंस्टॉलेशन निर्देश CentOS 7.5 Linux वितरण के आधार पर लिखे गए हैं।

    आरएचईएल/सेंटोस/फेडोरा पर कैक्टि आवश्यक पैकेज स्थापित करना

    सबसे पहले, हमें दिखाए गए डिफॉल्ट पैकेज मैनेजर टूल का उपयोग करके निम्नलिखित डिपेंडेंसी पैकेज को एक-एक करके इंस्टॉल करना होगा।

    # yum install httpd httpd-devel   [On RHEL/CentOS 7/6]
    # dnf install httpd httpd-devel   [On RHEL/CentOS 8 and Fedora 30]
    
    # yum install mysql mysql-server      [On RHEL/CentOS 6]
    

    MariaDB MySQL डेटाबेस प्रोजेक्ट का एक समुदाय-विकसित कांटा है और MySQL के लिए एक प्रतिस्थापन प्रदान करता है। पहले आधिकारिक समर्थित डेटाबेस RHEL/CentOS और Fedora के तहत MySQL था।

    हाल ही में, RedHat MySQL से MariaDB के लिए एक नया लेन-देन करता है, क्योंकि MariaDB RHEL/CentOS 8/7 और Fedora 19 में MySQL का डिफ़ॉल्ट कार्यान्वयन है।

    # yum install mariadb-server -y		[On RHEL/CentOS 7]
    # dnf install mariadb-server -y         [On RHEL/CentOS 8 and Fedora 30]
    
    # yum install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
    OR
    # dnf install php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli
    
    # yum install php-snmp
    OR
    # dnf install php-snmp         
    
    # yum install net-snmp-utils net-snmp-libs
    OR
    # dnf install net-snmp-utils net-snmp-libs
    
    # yum install rrdtool
    OR
    # dnf install rrdtool
    

    अपाचे, माईएसक्यूएल, और एसएनएमपी सेवाएं शुरू करना

    एक बार जब आप कैक्टि इंस्टालेशन के लिए सभी आवश्यक सॉफ़्टवेयर इंस्टॉल कर लेते हैं, तो आइए निम्नलिखित कमांड का उपयोग करके उन्हें एक-एक करके शुरू करें।

     service httpd start
     service mysqld start
     service snmpd start
    
     systemctl start httpd.service
     systemctl start mariadb.service
     systemctl start snmpd.service
    

    सिस्टम स्टार्ट-अप लिंक कॉन्फ़िगर करें

    बूट पर प्रारंभ करने के लिए Apache, MySQL और SNMP सेवाओं को कॉन्फ़िगर करना।

     /sbin/chkconfig --levels 345 httpd on
     /sbin/chkconfig --levels 345 mysqld on
     /sbin/chkconfig --levels 345 snmpd on
    
     systemctl enable httpd.service
     systemctl enable mariadb.service
     systemctl enable snmpd.service
    

    आरएचईएल/सेंटोस/फेडोरा पर कैक्टि स्थापित करें

    यहां, आपको ईपीईएल रिपॉजिटरी को स्थापित और सक्षम करने की आवश्यकता है। एक बार जब आप रिपॉजिटरी को सक्षम कर लेते हैं, तो कैक्टि एप्लिकेशन को इंस्टॉल करने के लिए निम्न कमांड टाइप करें।

    # yum install cacti         [On RHEL/CentOS 7]
    # dnf install cacti         [On RHEL/CentOS 8 and Fedora 30]
    

    कैक्टि इंस्टालेशन के लिए MySQL सर्वर को कॉन्फ़िगर करना

    हमें कैक्टि के लिए MySQL को कॉन्फ़िगर करने की आवश्यकता है, ऐसा करने के लिए हमें एक नए स्थापित MySQL सर्वर को सुरक्षित करने की आवश्यकता है और फिर हम उपयोगकर्ता कैक्टि के साथ कैक्टि डेटाबेस बनाएंगे। यदि आप MySQL पहले से स्थापित और सुरक्षित हैं, तो इसे दोबारा करने की आवश्यकता नहीं है।

    # mysql_secure_installation
    

    एक नए बनाए गए पासवर्ड के साथ MySQL सर्वर में लॉग इन करें और उपयोगकर्ता कैक्टि के साथ कैक्टि डेटाबेस बनाएं और इसके लिए पासवर्ड सेट करें।

     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 [email  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
    
     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 [email  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
    

    RPM कमांड का उपयोग करके डेटाबेस फ़ाइल पथ का पता लगाएं, नव निर्मित कैक्टि डेटाबेस में कैक्टि टेबल स्थापित करने के लिए, निम्न कमांड का उपयोग करें।

    # rpm -ql cacti | grep cacti.sql
    /usr/share/doc/cacti-1.2.6/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:

    /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;

    कैक्टि के लिए फ़ायरवॉल को कॉन्फ़िगर करना

     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
    
     firewall-cmd --permanent --zone=public --add-service=http
     firewall-cmd --reload
    

    कैक्टि इंस्टालेशन के लिए अपाचे सर्वर को कॉन्फ़िगर करना

    अपनी पसंद के संपादक के साथ /etc/httpd/conf.d/cacti.conf नामक फ़ाइल खोलें।

    # vi /etc/httpd/conf.d/cacti.conf
    

    आपको अपने स्थानीय नेटवर्क या प्रति आईपी स्तर के लिए कैक्टि एप्लिकेशन तक पहुंच सक्षम करने की आवश्यकता है। उदाहरण के लिए, हमने अपने स्थानीय LAN नेटवर्क 172.16.16.0/20 तक पहुंच सक्षम कर दी है। आपके मामले में यह अलग होगा।

    Alias /cacti    /usr/share/cacti
     
    <Directory /usr/share/cacti/>
            Order Deny,Allow
            Deny from all
            Allow from 172.16.16.0/20
    </Directory>
    

    Apache (उदा: Apache 2.4) के नवीनतम संस्करण में, आपको निम्न सेटिंग्स के अनुसार बदलने की आवश्यकता हो सकती है।

    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 and Fedora 18-12]
     systemctl restart httpd.service		[On RHEL/CentOS 8/7 and Fedora 19 onwards]
    

    कैक्टि के लिए क्रॉन सेट करना

    फ़ाइल खोलें /etc/cron.d/cacti।

    # vi /etc/cron.d/cacti

    निम्नलिखित पंक्ति को अनकमेंट करें। Poller.php स्क्रिप्ट हर 5 मिनट में चलती है और ज्ञात होस्ट का डेटा एकत्र करती है जिसका उपयोग कैक्टि एप्लिकेशन द्वारा ग्राफ़ प्रदर्शित करने के लिए किया जाता है।

    #*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

    कैक्टि इंस्टॉलर सेटअप चला रहा है

    अंत में, कैक्टि तैयार है, बस http://YOUR-IP-HERE/cacti/ पर जाएं और निम्नलिखित स्क्रीन के माध्यम से इंस्टॉलर निर्देश का पालन करें। डिफ़ॉल्ट लॉगिन विवरण दर्ज करें और एंटर बटन दबाएं।

    User: admin
    Password: admin
    

    अगला, डिफ़ॉल्ट कैक्टि पासवर्ड बदलें।

    कैक्टि लाइसेंस समझौते को स्वीकार करें।

    इसके बाद, स्क्रीन कैक्टि इंस्टॉलेशन के लिए प्री-इंस्टॉलेशन चेक दिखाता है, कृपया अपनी /etc/php.ini फ़ाइल में सुझाई गई सेटिंग्स को सही करें और परिवर्तन करने के बाद अपाचे को पुनरारंभ करें।

    memory_limit = 800M
    max_execution_time = 60
    date.timezone = Asia/Kolkata
    

    इसी तरह, आपको उपयोगकर्ता कैक्टि के लिए MySQL TimeZone डेटाबेस तक पहुँच प्रदान करने की भी आवश्यकता है, ताकि डेटाबेस वैश्विक TimeZone जानकारी से आबाद हो।

    mysql> use mysql;
    mysql> GRANT SELECT ON mysql.time_zone_name TO [email ;
    mysql> flush privileges;
    

    कृपया स्थापना प्रकार को नया इंस्टॉल के रूप में चुनें।

    जारी रखने से पहले सुनिश्चित करें कि निम्नलिखित सभी निर्देशिका अनुमतियाँ सही हैं।

    जारी रखने से पहले सुनिश्चित करें कि ये सभी महत्वपूर्ण बाइनरी स्थान और संस्करण मान सही हैं।

    कृपया मतदान स्रोतों के लिए उपयोग की जाने वाली डिफ़ॉल्ट डेटा स्रोत प्रोफ़ाइल चुनें।

    कृपया, वह डिवाइस टेम्प्लेट चुनें जिसे आप कैक्टि इंस्टाल करने के बाद उपयोग करना चाहते हैं।

    दिखाए गए अनुसार [mysqld] अनुभाग के अंतर्गत अपनी MySQL कॉन्फ़िगरेशन फ़ाइल /etc/my.cnf में सर्वर Collation सेट करें।

    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    

    आपका कैक्टि सर्वर लगभग तैयार है। कृपया पुष्टि करें कि आप आगे बढ़ने में प्रसन्न हैं।

    अधिक जानकारी और उपयोग के लिए कृपया कैक्टि पेज पर जाएं।