Προαπαιτούμενα
Βήμα 1: Ενημερώστε το σύστημα
Βήμα 2: Εγκαταστήστε το Apache
Βήμα 3: Διαμορφώστε το τείχος προστασίας UFW
Βήμα 4: Εγκαταστήστε το MariaDB
Βήμα 5: Εγκαταστήστε την PHP
Βήμα 6: Εγκαταστήστε το Icinga 2 και τα πρόσθετά του
Βήμα 7: Ρυθμίστε τα Icinga 2 IDO modules
Βήμα 8: Εγκαταστήστε το Icinga Web 2
Το Icinga 2 είναι ένα ευρέως χρησιμοποιούμενο σύστημα παρακολούθησης πόρων δικτύου ανοιχτού κώδικα και το Icinga Web 2 είναι η επίσημη διεπαφή ιστού για το Icinga 2.
Σε αυτό το σεμινάριο, θα εξηγήσω πώς να εγκαταστήσετε και τα δύο σε έναν διακομιστή Ubuntu 16.04.
Προαπαιτούμενα
- Μια πρόσφατα αναπτυγμένη παρουσία διακομιστή Vultr Ubuntu 16.04.
- Ένας χρήστης sudo. Για να μάθετε περισσότερα σχετικά με τη δημιουργία ενός χρήστη sudo στο Ubuntu, ανατρέξτε στις οδηγίες για το Debian σε ένα άλλο σεμινάριο Vultr .
Βήμα 1: Ενημερώστε το σύστημα
Συνδεθείτε από ένα τερματικό SSH ως χρήστης sudo και, στη συνέχεια, ενημερώστε το σύστημα στην πιο πρόσφατη σταθερή κατάσταση χρησιμοποιώντας τις ακόλουθες εντολές:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Μετά την επανεκκίνηση, χρησιμοποιήστε τον ίδιο χρήστη sudo για να συνδεθείτε.
Βήμα 2: Εγκαταστήστε το Apache
Εγκαταστήστε το Apache χρησιμοποιώντας την ακόλουθη εντολή:
sudo apt-get install apache2 -y
Διαγράψτε την προεπιλεγμένη σελίδα καλωσορίσματος του Ubuntu Apache:
sudo rm /var/www/html/index.html
Για λόγους ασφαλείας, θα πρέπει να απαγορεύσετε στον Apache να εκθέτει αρχεία και καταλόγους στον ριζικό κατάλογο ιστού /var/www/htmlστους επισκέπτες:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Ξεκινήστε την υπηρεσία Apache και ξεκινήστε την κατά την εκκίνηση:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Από προεπιλογή, το τείχος προστασίας UFW είναι απενεργοποιημένο σε μια νέα παρουσία διακομιστή Vultr Ubuntu 16.04. Χρησιμοποιήστε τις ακόλουθες εντολές για να ενεργοποιήσετε το τείχος προστασίας UFW και να επιτρέψετε την εισερχόμενη κυκλοφορία SSH, HTTP και HTTPS:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
Βήμα 4: Εγκαταστήστε το MariaDB
4.1) Χρησιμοποιήστε την ακόλουθη εντολή για να εγκαταστήσετε το MariaDB:
sudo apt-get install mariadb-client mariadb-server -y
4.2) Ξεκινήστε την υπηρεσία MariaDB:
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
4.3) Ασφαλίστε την εγκατάσταση του MariaDB:
sudo /usr/bin/mysql_secure_installation
Κατά τη διάρκεια της διαδραστικής διαδικασίας, απαντήστε στις ερωτήσεις μία προς μία ως εξής:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Σημείωση : Αντικαταστήστε <your-password>με τον δικό σας κωδικό πρόσβασης root MySQL.
4.4) Τροποποιήστε την προσθήκη ελέγχου ταυτότητας του rootχρήστη MySQL :
sudo mysql -u root -p
Χρησιμοποιήστε τον κωδικό πρόσβασης root MariaDB που ορίσατε νωρίτερα για να συνδεθείτε.
Στο κέλυφος της MySQL:
UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
Σημείωση : Αντικαταστήστε <your-password>με τον δικό σας κωδικό πρόσβασης root MySQL.
Βήμα 5: Εγκαταστήστε την PHP
Εγκαταστήστε την PHP 7.0 και πολλές επεκτάσεις για το Icinga 2 και το Icinga Web 2:
sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-gd php7.0-intl php7.0-xml php7.0-ldap php7.0-mysql php7.0-pgsql php-imagick -y
Εγκαταστήστε την τρέχουσα έκδοση του Composer:
cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Σημείωση : Οι παραπάνω εντολές ενδέχεται να είναι παλιές στο μέλλον, επομένως θα πρέπει πάντα να λαμβάνετε την πιο πρόσφατη έκδοση από τον επίσημο ιστότοπο του Composer .
Για λόγους ευκολίας, μετακινήστε το σενάριο Συνθέτης composer.pharνα /usr/local/binκαι να μετονομάσετε composer:
sudo mv ~/composer.phar /usr/local/bin/composer
Εγκαταστήστε το zip και αποσυμπιέστε:
sudo apt-get install zip unzip -y
Εγκαταστήστε το στοιχείο ZendFramework Db χρησιμοποιώντας το Composer:
composer require zendframework/zend-db
Στη συνέχεια, πρέπει να ρυθμίσετε τη σωστή ζώνη ώρας για το μηχάνημά σας, η οποία μπορεί να προσδιοριστεί από τον επίσημο ιστότοπο της PHP . Για παράδειγμα, εάν η παρουσία του διακομιστή σας βρίσκεται στο κέντρο δεδομένων Vultr Los Angeles, τότε η τιμή ζώνης ώρας για αυτήν είναι America/Los_Angeles.
Ανοίξτε το αρχείο διαμόρφωσης PHP με τον επεξεργαστή vi:
sudo vi /etc/php/7.0/apache2/php.ini
Βρείτε τη γραμμή:
;date.timezone =
Αλλάξτε το σε:
date.timezone = America/Los_Angeles
Αποθήκευση και έξοδος:
:wq!
Επανεκκινήστε την υπηρεσία Apache για να τεθούν σε ισχύ οι νέες ρυθμίσεις:
sudo systemctl restart apache2.service
Βήμα 6: Εγκαταστήστε το Icinga 2 και τα πρόσθετά του
Ρυθμίστε το αποθετήριο Icinga APT:
cd
wget -O - http://packages.icinga.org/icinga.key | sudo apt-key add -
sudo add-apt-repository 'deb http://packages.icinga.org/ubuntu icinga-xenial main'
sudo apt-get update
Εγκαταστήστε το Icinga 2 και πολλές προσθήκες χρησιμοποιώντας το αποθετήριο Icinga APT:
sudo apt-get install icinga2 nagios-plugins -y
Για να μάθετε περισσότερα σχετικά με τις προσθήκες Icinga 2, επισκεφτείτε τον ιστότοπο του Monitoring Plugins Project .
Ξεκινήστε την υπηρεσία Icinga 2:
sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service
Από προεπιλογή, το πρόγραμμα Icinga 2 θα ενεργοποιήσει τρεις δυνατότητες: checker, mainlog και ειδοποίηση. Μπορείτε να το επιβεβαιώσετε χρησιμοποιώντας την ακόλουθη εντολή:
sudo icinga2 feature list
Βήμα 7: Ρυθμίστε τα Icinga 2 IDO modules
7.1) Εγκαταστήστε τις μονάδες IDO (Icinga Data Output) για MySQL
sudo apt-get install icinga2-ido-mysql
Στον Configuring icinga2-ido-mysqlοδηγό, όταν ερωτηθείτε εάν θέλετε να ενεργοποιήσετε τη δυνατότητα ido-mysql του Icinga 2, επιλέξτε <No>. Θα ενεργοποιήσουμε χειροκίνητα αυτήν τη δυνατότητα αργότερα.
Όταν ερωτηθείτε εάν θέλετε να διαμορφώσετε μια βάση δεδομένων για icinga2-ido-mysql, επιλέξτε <No>. Αντίθετα, μπορείτε να δημιουργήσετε με μη αυτόματο τρόπο μια βάση δεδομένων όπως εξηγείται στο βήμα 7.2.
7.2) Δημιουργήστε μια βάση δεδομένων για το Icinga 2
Συνδεθείτε στο κέλυφος MySQL ως root:
sudo mysql -u root -p
Χρησιμοποιήστε τον κωδικό πρόσβασης root MariaDB που ορίσατε στο βήμα 4 για να συνδεθείτε.
Στο κέλυφος της MySQL, δημιουργήστε μια βάση δεδομένων με όνομα icingaκαι έναν χρήστη βάσης δεδομένων icingaμε το όνομα του κωδικού πρόσβασης icingaκαι, στη συνέχεια, εκχωρήστε δικαιώματα σε αυτήν τη βάση δεδομένων σε αυτόν τον χρήστη βάσης δεδομένων.
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
FLUSH PRIVILEGES;
EXIT;
7.3) Εισαγάγετε το σχήμα Icinga 2 IDO
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Όταν σας ζητηθεί, εισαγάγετε τον κωδικό πρόσβασης root MariaDB για να ολοκληρώσετε την εργασία.
7.4) Ενεργοποιήστε τη λειτουργική μονάδα IDO MySQL
sudo vi /etc/icinga2/features-available/ido-mysql.conf
Βρείτε αυτές τις γραμμές:
user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"
Τροποποιήστε τα ως εξής:
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
Αποθήκευση και έξοδος:
:wq!
Ενεργοποιήστε τη δυνατότητα ido-mysql:
sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service
Βήμα 8: Εγκαταστήστε το Icinga Web 2
8.1) Ρυθμίστε τον εξωτερικό σωλήνα εντολών
sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list
Για να μπορέσετε να στείλετε εντολές στο Icinga 2 χρησιμοποιώντας μια διεπαφή ιστού, πρέπει να προσθέσετε τον www-dataχρήστη στην icingacmdομάδα:
sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data
Χρησιμοποιήστε την ακόλουθη εντολή για να επιβεβαιώσετε τη ρύθμισή σας:
id www-data
8.2) Εγκαταστήστε τα πακέτα Icinga Web 2
sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y
Τοποθετήστε τον ριζικό κατάλογο ιστού Apache σε μια τοποθεσία που καθορίζεται από το Icinga Web 2:
sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service
8.3) Ρύθμιση βάσης δεδομένων Icinga Web 2
sudo mysql -u root -p
CREATE DATABASE icingaweb2;
EXIT;
8.4) Φορτώστε το σχήμα της βάσης δεδομένων Icinga Web 2
mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql
8.5) Δημιουργήστε ένα διακριτικό ρύθμισης για μελλοντική χρήση στον οδηγό εγκατάστασης Ιστού Icinga Web 2
sudo icingacli setup token create
8.6) Εκκινήστε τον οδηγό εγκατάστασης Icinga 2 στη διεπαφή Ιστού
Κατευθύνετε το πρόγραμμα περιήγησής σας στην ακόλουθη διεύθυνση URL:
http://<your-serve-ip>/icingaweb2/setup
8.7) Στη σελίδα καλωσορίσματος, εισαγάγετε το διακριτικό ρύθμισης που δημιουργήσατε νωρίτερα και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.8) Στη σελίδα Μονάδες, επιλέξτε μία ή περισσότερες μονάδες που θέλετε να ενεργοποιήσετε (τουλάχιστον, απαιτείται η Monitoringλειτουργική μονάδα) και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.9) Στη σελίδα Απαιτήσεις, βεβαιωθείτε ότι έχει ικανοποιηθεί κάθε απαιτούμενο στοιχείο και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.10) Στη σελίδα Έλεγχος ταυτότητας, πρέπει να επιλέξετε τη μέθοδο ελέγχου ταυτότητας κατά την πρόσβαση στο Icinga Web 2. Εδώ, μπορείτε να επιλέξετε Databaseκαι, στη συνέχεια, να κάνετε κλικ στο Nextκουμπί.
8.11) Στη σελίδα Πόροι βάσης δεδομένων, συμπληρώστε όλα τα απαιτούμενα πεδία όπως παρακάτω και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
- Όνομα πόρου*: icingaweb_db
- Τύπος βάσης δεδομένων*: MySQL
- Host*: localhost
- Όνομα βάσης δεδομένων*: icingaweb2
- Όνομα χρήστη*: root
- Κωδικός πρόσβασης*: <MariaDB-root-password>
8.12) Στη σελίδα Backend ελέγχου ταυτότητας, χρησιμοποιώντας το προεπιλεγμένο όνομα backend icingaweb2, κάντε κλικ στο Nextκουμπί για να προχωρήσετε.
8.13) Στη σελίδα Διαχείριση, ρυθμίστε τον πρώτο λογαριασμό διαχείρισης Icinga Web 2 (ας πούμε ότι είναι icingaweb2admin) και τον κωδικό πρόσβασης (ας πούμε ότι είναι icingaweb2pass) και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.14) Στη σελίδα Διαμόρφωση εφαρμογής, μπορείτε να προσαρμόσετε τις επιλογές διαμόρφωσης που σχετίζονται με την εφαρμογή και την καταγραφή για να ταιριάζουν στις ανάγκες σας. Προς το παρόν, μπορείτε να χρησιμοποιήσετε τις προεπιλεγμένες τιμές που αναφέρονται παρακάτω και να κάνετε κλικ στο Nextκουμπί για να συνεχίσετε.
- Εμφάνιση Stacktraces: Ελεγμένο
- Τύπος αποθήκευσης προτιμήσεων χρήστη*: Βάση δεδομένων
- Τύπος καταγραφής*: Syslog
- Επίπεδο καταγραφής*: Σφάλμα
- Πρόθεμα εφαρμογής*: icingaweb2
8.15) Στη σελίδα Αναθεώρηση, ελέγξτε ξανά τη διαμόρφωσή σας και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.16) Στη σελίδα υποδοχής διαμόρφωσης μονάδας παρακολούθησης, κάντε κλικ στο Nextκουμπί.
8.17) Στη σελίδα Monitoring Backend, χρησιμοποιήστε το προεπιλεγμένο όνομα icingabackend και τον τύπο backend IDOκαι, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
8.18) Στη σελίδα Monitoring IDO Resource, εισαγάγετε τις λεπτομέρειες της βάσης δεδομένων IDO που ρυθμίσατε νωρίτερα και, στη συνέχεια, κάντε κλικ στο Nextκουμπί.
- Όνομα πόρου*: icinga_ido
- Τύπος βάσης δεδομένων*: MySQL
- Host*: localhost
- Όνομα βάσης δεδομένων*: icinga
- Όνομα χρήστη*: icinga
- Κωδικός πρόσβασης*: icinga
8.19) Στη σελίδα Command Transport, συνεχίστε να χρησιμοποιείτε αυτές τις προεπιλεγμένες τιμές που αναφέρονται παρακάτω. Κάντε κλικ στο Nextκουμπί για να προχωρήσετε.
- Όνομα μεταφοράς*: icinga2
- Τύπος μεταφοράς*: Τοπικό αρχείο εντολών
- Αρχείο εντολών*: /var/run/icinga2/cmd/icinga2.cmd
8.20) Στη σελίδα Monitoring Security, εξακολουθείτε να χρησιμοποιείτε την προεπιλεγμένη τιμή:
- Προστατευμένες προσαρμοσμένες μεταβλητές: *pw*,*pass*,community
Κάντε κλικ στο Nextκουμπί για να μεταβείτε στην επόμενη σελίδα.
8.21) Στη σελίδα αξιολόγησης, ελέγξτε ξανά τη διαμόρφωσή σας και, στη συνέχεια, κάντε κλικ στο Finishκουμπί.
8.22) Στα Συγχαρητήρια! σελίδα, κάντε κλικ στο Login to Icinga Web 2κουμπί για να μεταβείτε στη σελίδα σύνδεσης του Icinga Web 2. Χρησιμοποιήστε τον λογαριασμό διαχείρισης Icinga Web 2 και τον κωδικό πρόσβασης που ρυθμίσατε νωρίτερα για να συνδεθείτε. Μη διστάσετε να εξερευνήσετε τον πίνακα ελέγχου του Icinga Web 2.
Αυτό ολοκληρώνει το σεμινάριο μας. Ευχαριστούμε που το διαβάσατε.