Παρακολουθήστε τις συσκευές σας χρησιμοποιώντας το LibreNMS στο CentOS 7

Το LibreNMS είναι ένα σύστημα παρακολούθησης δικτύου ανοιχτού κώδικα με πλήρεις δυνατότητες. Χρησιμοποιείται SNMPγια τη λήψη δεδομένων από διαφορετικές συσκευές. Στο LibreNMS υποστηρίζονται διάφορες συσκευές όπως Cisco, Linux, FreeBSD, Juniper, Brocade, Foundry, HP και πολλές άλλες. Υποστηρίζει πολλαπλούς μηχανισμούς ελέγχου ταυτότητας και υποστηρίζει έλεγχο ταυτότητας δύο παραγόντων. Διαθέτει ένα προσαρμόσιμο σύστημα ειδοποίησης που μπορεί να ειδοποιεί τον διαχειριστή του δικτύου μέσω email, IRC ή slack.

Προαπαιτούμενα

Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε nms.example.comως όνομα τομέα που δείχνει προς την παρουσία του Vultr. Βεβαιωθείτε ότι έχετε αντικαταστήσει όλες τις εμφανίσεις του παραδείγματος ονόματος τομέα με το πραγματικό.

Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το CentOS 7 . Αφού ενημερωθεί το σύστημά σας, προχωρήστε στην εγκατάσταση των εξαρτήσεων.

Εγκαταστήστε το Nginx και την PHP

Το μπροστινό μέρος του LibreNMS είναι βασικά γραμμένο σε PHP, επομένως θα χρειαστεί να εγκαταστήσουμε έναν διακομιστή web και PHP. Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το Nginx μαζί με την PHP 7.2 για να αποκτήσουμε μέγιστη ασφάλεια και απόδοση.

Εγκαταστήστε το Nginx.

sudo yum -y install nginx

Ξεκινήστε το Nginx και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση.

sudo systemctl start nginx
sudo systemctl enable nginx

Προσθέστε και ενεργοποιήστε το αποθετήριο Remi, καθώς το προεπιλεγμένο αποθετήριο YUM περιέχει μια παλαιότερη έκδοση της PHP.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

Εγκαταστήστε την έκδοση 7.2 της PHP μαζί με τις λειτουργικές μονάδες που απαιτούνται από το LibreNMS.

sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip

Ανοίξτε το φορτωμένο αρχείο διαμόρφωσης από την PHP σε ένα πρόγραμμα επεξεργασίας.

sudo nano /etc/php.ini

Βρείτε τις ακόλουθες γραμμές, αφαιρέστε το σχόλιο και αλλάξτε την τιμή τους όπως φαίνεται.

;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =

Χρησιμοποιήστε αυτές τις τιμές, αντικαταστήστε τις Asia/Kolkataμε την τοπική ζώνη ώρας.

cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata

Θα χρειαστεί επίσης να αλλάξετε τη ζώνη ώρας του συστήματος εκτελώντας την ακόλουθη εντολή.

sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime

Τώρα ανοίξτε το αρχείο διαμόρφωσης PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

Βρείτε την παρακάτω γραμμή.

listen = 127.0.0.1:9000

Αντικαταστήστε το με την ακόλουθη γραμμή.

listen = /var/run/php-fpm/php-fpm.sock

Από προεπιλογή, το PHP-FPM έχει ρυθμιστεί για χρήστη διακομιστή ιστού Apache. Αλλάξτε τον χρήστη σε nginx.

user = nginx
group = nginx

Περαιτέρω, αποσχολιάστε τις ακόλουθες γραμμές.

listen.owner = nobody
listen.group = nobody

Αποθηκεύστε το αρχείο και βγείτε από το πρόγραμμα επεξεργασίας. Επανεκκινήστε το PHP-FPM και ενεργοποιήστε το να ξεκινήσει κατά την εκκίνηση.

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

Ορίστε την κατάλληλη ιδιοκτησία στο αρχείο υποδοχής.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Εγκαταστήστε το MariaDB

Το MariaDB είναι ένα πιρούνι της MySQL. Προσθέστε το αποθετήριο MariaDB στο σύστημά σας. Το προεπιλεγμένο yumαποθετήριο περιέχει μια παλαιότερη έκδοση του MariaDB.

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

Εγκαταστήστε το MariaDB.

sudo yum -y install mariadb mariadb-server

Τώρα, ανοίξτε το αρχείο διαμόρφωσης MySQL.

sudo nano /etc/my.cnf

Προσθέστε τις ακόλουθες γραμμές στο τέλος του μπλοκ.

[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

Επανεκκινήστε το MariaDB και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση.

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Πριν διαμορφώσετε τη βάση δεδομένων, θα πρέπει πρώτα να ασφαλίσετε το MariaDB.

sudo mysql_secure_installation

Θα σας ζητηθεί ο τρέχων κωδικός πρόσβασης root MariaDB. Από προεπιλογή, δεν υπάρχει κωδικός πρόσβασης root σε μια νέα εγκατάσταση του MariaDB. Πατήστε το πλήκτρο " Enter" για να προχωρήσετε. Ορίστε έναν ισχυρό κωδικό πρόσβασης για τον rootχρήστη του διακομιστή MariaDB και απαντήστε " Y" σε όλες τις άλλες ερωτήσεις που σας τίθενται. Οι ερωτήσεις που τίθενται είναι αυτονόητες.

Συνδεθείτε στο κέλυφος της MySQL ως root.

mysql -u root -p

Δώστε τον κωδικό πρόσβασης στον χρήστη root του MariaDB για να συνδεθεί.

Εκτελέστε τα ακόλουθα ερωτήματα για να δημιουργήσετε μια βάση δεδομένων και έναν χρήστη βάσης δεδομένων για την εγκατάσταση του LibreNMS.

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Μπορείτε να αντικαταστήσετε το όνομα της βάσης δεδομένων librenmsκαι το όνομα χρήστη librenmsσύμφωνα με την επιλογή σας. Βεβαιωθείτε ότι έχετε αλλάξει StrongPasswordσε έναν πολύ ισχυρό κωδικό πρόσβασης.

Εγκαταστήστε το LibreNMS

Εκτός από τις παραπάνω εξαρτήσεις, το LibreNMS χρειάζεται λίγες περισσότερες εξαρτήσεις. Εγκαταστήστε τα τρέχοντας.

sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap  python-memcached rrdtool

Προσθέστε έναν νέο μη προνομιούχο χρήστη για την εφαρμογή LibreNMS.

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx

Το LibreNMS μπορεί να εγκατασταθεί απευθείας κλωνοποιώντας το αποθετήριο Github του.

cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms

Διορθώστε την ιδιοκτησία.

sudo chown librenms:librenms -R /opt/librenms

Το LibreNMS βασίζεται στο SNMP για πολλές εργασίες. Εφόσον έχουμε ήδη εγκαταστήσει το SNMP, αντιγράψτε το παράδειγμα αρχείου ρυθμίσεων στη θέση του.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

Ανοίξτε το αρχείο ρυθμίσεων στο πρόγραμμα επεξεργασίας.

sudo nano /etc/snmp/snmpd.conf

Βρείτε αυτή τη γραμμή.

com2sec readonly  default         RANDOMSTRINGGOESHERE

Επεξεργαστείτε το κείμενο RANDOMSTRINGGOESHEREκαι αντικαταστήστε τη συμβολοσειρά κοινότητας με οποιαδήποτε συμβολοσειρά της επιλογής σας. Για παράδειγμα.

com2sec readonly  default         my-org

Θυμηθείτε τη συμβολοσειρά καθώς θα απαιτηθεί αργότερα όταν προσθέσουμε την πρώτη συσκευή SNMP.

Το SNMP χρειάζεται επίσης πληροφορίες σχετικά με την έκδοση διανομής. Κατεβάστε και εγκαταστήστε το σενάριο για να βρείτε την έκδοση διανομής.

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro

Ξεκινήστε την υπηρεσία δαίμονα SNMP και ενεργοποιήστε την αυτόματη εκκίνηση κατά την εκκίνηση.

sudo systemctl enable snmpd
sudo systemctl restart snmpd

Τώρα θα χρειαστεί να προσθέσετε μερικές εγγραφές crontab για να εκτελέσετε τις προγραμματισμένες εργασίες. Δημιουργήστε ένα νέο αρχείο εργασίας cron.

sudo nano /etc/cron.d/librenms

Συμπληρώστε το αρχείο με το παρακάτω κείμενο.

33   */6  * * *   librenms    /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5  *    * * *   librenms    /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15   0    * * *   librenms    /opt/librenms/daily.sh >> /dev/null 2>&1
*    *    * * *   librenms    /opt/librenms/alerts.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/poll-billing.php >> /dev/null 2>&1
01   *    * * *   librenms    /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5  *    * * *   librenms    /opt/librenms/check-services.php >> /dev/null 2>&1

Επανεκκινήστε την υπηρεσία cron daemon.

sudo systemctl restart crond

Ρύθμιση logrotateέτσι ώστε τα αρχεία καταγραφής να ανανεώνονται αυτόματα με την πάροδο του χρόνου.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Τέλος, ορίστε την κατάλληλη ιδιοκτησία και δικαιώματα.

sudo chown -R librenms:nginx /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs

Διαμορφώσεις SSL και Nginx VHost

Οι συνδέσεις και άλλες πληροφορίες που αποστέλλονται μέσω της διεπαφής ιστού του LibreNMS δεν είναι ασφαλείς εάν η σύνδεση δεν είναι κρυπτογραφημένη με SSL. Θα διαμορφώσουμε το Nginx ώστε να χρησιμοποιεί το SSL που δημιουργείται με το Let's Encrypt free SSL.

Εγκαταστήστε το Certbot, το οποίο είναι η εφαρμογή πελάτη για το Let's Encrypt CA.

sudo yum -y install certbot

Για να μπορέσετε να ζητήσετε τα πιστοποιητικά, θα πρέπει να επιτρέψετε τη θύρα 80και 443, ή το πρότυπο HTTPκαι τις HTTPSυπηρεσίες μέσω του τείχους προστασίας.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

Σημείωση : Για να αποκτήσετε πιστοποιητικά από το Let's Encrypt CA, ο τομέας για τον οποίο πρόκειται να δημιουργηθούν τα πιστοποιητικά πρέπει να κατευθύνεται προς τον διακομιστή. Εάν όχι, κάντε τις απαραίτητες αλλαγές στις εγγραφές DNS του τομέα και περιμένετε να διαδοθεί το DNS προτού υποβάλετε ξανά το αίτημα πιστοποιητικού. Το Certbot ελέγχει την αρχή τομέα πριν από την παροχή των πιστοποιητικών.

Δημιουργήστε τα πιστοποιητικά SSL:

sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com

Τα πιστοποιητικά που δημιουργούνται είναι πιθανό να αποθηκευτούν στον /etc/letsencrypt/live/nms.example.com/κατάλογο. Το πιστοποιητικό SSL θα αποθηκευτεί ως fullchain.pemκαι το ιδιωτικό κλειδί θα αποθηκευτεί ως privkey.pem.

Ας κρυπτογραφήσουμε τα πιστοποιητικά λήγουν σε 90 ημέρες, επομένως συνιστάται να ρυθμίσετε την αυτόματη ανανέωση για τα πιστοποιητικά χρησιμοποιώντας μια εργασία cron.

Ανοίξτε το αρχείο εργασίας cron.

sudo crontab -e

Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου.

30 5 * * 1 /usr/bin/certbot renew --quiet

Η παραπάνω εργασία cron θα εκτελείται κάθε Δευτέρα στις 5:30 π.μ. τοπική ώρα. Εάν το πιστοποιητικό πρόκειται να λήξει, θα ανανεωθεί αυτόματα.

Δημιουργήστε έναν νέο εικονικό κεντρικό υπολογιστή.

sudo nano /etc/nginx/conf.d/nms.example.com.conf

Συμπληρώστε το αρχείο.

server {
    listen 80;
    server_name nms.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name nms.example.com;

    ssl_certificate           /etc/letsencrypt/live/nms.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/nms.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /opt/librenms/logs/librenms.nginx.access.log;
    root        /opt/librenms/html;
    index       index.php;

    charset utf-8;
    gzip on;
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location /api/v0 {
        try_files $uri $uri/ /api_v0.php?$query_string;
    }
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
 }

Αντικαταστήστε nms.example.comτον πραγματικό τομέα σας στην παραπάνω διαμόρφωση.

Επανεκκινήστε το Nginx.

sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx

Εγκατάσταση με χρήση WebUI

Για να ολοκληρώσετε την εγκατάσταση, ανοίξτε το https://nms.example.comστο αγαπημένο σας πρόγραμμα περιήγησης. Θα δείτε ότι οι απαιτήσεις ικανοποιούνται. Δώστε τα στοιχεία της βάσης δεδομένων σας και δημιουργήστε έναν νέο λογαριασμό διαχειριστή. Μόλις εγκατασταθεί, θα λάβετε ένα μήνυμα για την επικύρωση της εγκατάστασης. Κάντε κλικ στον σύνδεσμο και συνδεθείτε χρησιμοποιώντας τον λογαριασμό διαχειριστή. Θα δείτε ότι όλα εκτός από το " Poller" έχουν κατάσταση " Ok".

Παρακολουθήστε τις συσκευές σας χρησιμοποιώντας το LibreNMS στο CentOS 7

Τώρα, κάντε κλικ στον σύνδεσμο για να προσθέσετε μια συσκευή. Στη Add Deviceδιεπαφή " ", δώστε το όνομα κεντρικού υπολογιστή ως localhost και αφήστε τα πάντα ως έχουν. Δώστε τη συμβολοσειρά της κοινότητάς σας στο πεδίο κοινότητας. Πρέπει να είναι ακριβώς η ίδια συμβολοσειρά που καταχωρίσατε snmpd.confκατά τη διαμόρφωση του SNMP.

Παρακολουθήστε τις συσκευές σας χρησιμοποιώντας το LibreNMS στο CentOS 7

Μόλις προστεθεί η συσκευή, μπορείτε να δείτε τις λεπτομέρειες μεταβαίνοντας στην Devicesκαρτέλα " ".

Παρακολουθήστε τις συσκευές σας χρησιμοποιώντας το LibreNMS στο CentOS 7

Ομοίως, μπορείτε να προσθέσετε περισσότερες συσκευές στην εφαρμογή LibreNMS για παρακολούθηση "καθ' όλο το εικοσιτετράωρο".

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα