Requisits previs
Pas 1: actualitzeu el sistema
Pas 2: instal·leu Apache
Pas 3: configureu el tallafoc UFW
Pas 4: instal·leu MariaDB
Pas 5: instal·leu PHP
Pas 6: instal·leu Icinga 2 i els seus connectors
Pas 7: configureu els mòduls Icinga 2 IDO
Pas 8: instal·leu Icinga Web 2
Icinga 2 és un sistema de control de recursos de xarxa de codi obert àmpliament utilitzat, i Icinga Web 2 és la interfície web oficial d'Icinga 2.
En aquest tutorial, explicaré com instal·lar-los tots dos en un servidor Ubuntu 16.04.
Requisits previs
- Una instància de servidor Vultr Ubuntu 16.04 recentment desplegada.
- Un usuari de sudo. Per obtenir més informació sobre com crear un usuari sudo a Ubuntu, consulteu les instruccions sobre Debian en un altre tutorial de Vultr .
Pas 1: actualitzeu el sistema
Inicieu sessió des d'un terminal SSH com a usuari sudo i, a continuació, actualitzeu el sistema a l'estat estable més recent mitjançant les ordres següents:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Després del reinici, utilitzeu el mateix usuari sudo per iniciar sessió.
Pas 2: instal·leu Apache
Instal·leu Apache amb l'ordre següent:
sudo apt-get install apache2 -y
Suprimeix la pàgina de benvinguda d'Ubuntu Apache per defecte:
sudo rm /var/www/html/index.html
Per motius de seguretat, hauríeu de prohibir a Apache que exposin fitxers i directoris dins del directori arrel web /var/www/htmlals visitants:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Inicieu el servei Apache i inicieu-lo a l'arrencada:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
De manera predeterminada, el tallafoc UFW està desactivat en una instància del servidor Vultr Ubuntu 16.04 recentment desplegada. Utilitzeu les ordres següents per habilitar el tallafoc UFW i per permetre el trànsit entrant de SSH, HTTP i HTTPS:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
Pas 4: instal·leu MariaDB
4.1) Utilitzeu l'ordre següent per instal·lar MariaDB:
sudo apt-get install mariadb-client mariadb-server -y
4.2) Inicieu el servei MariaDB:
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
4.3) Assegureu la instal·lació de MariaDB:
sudo /usr/bin/mysql_secure_installation
Durant el procés interactiu, respon les preguntes una per una de la següent manera:
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
Nota : substituïu-la <your-password>per la vostra pròpia contrasenya d'arrel de MySQL.
4.4) Modifiqueu el connector d'autenticació de l' rootusuari de MySQL :
sudo mysql -u root -p
Utilitzeu la contrasenya d'arrel de MariaDB que heu establert anteriorment per iniciar sessió.
A l'intèrpret d'ordres de MySQL:
UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
Nota : substituïu-la <your-password>per la vostra pròpia contrasenya d'arrel de MySQL.
Pas 5: instal·leu PHP
Instal·leu PHP 7.0 i diverses extensions per a Icinga 2 i 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
Instal·leu la versió actual de 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');"
Nota : les ordres anteriors poden estar obsoletes en el futur, de manera que sempre hauríeu d'obtenir la darrera versió del lloc web oficial de Composer .
Per comoditat, moveu l'script de Composer composer.phara /usr/local/bini canvieu-li el nom composer:
sudo mv ~/composer.phar /usr/local/bin/composer
Instal·leu zip i descomprimiu:
sudo apt-get install zip unzip -y
Instal·leu el component ZendFramework Db mitjançant Composer:
composer require zendframework/zend-db
Aleshores, heu de configurar la zona horària adequada per a la vostra màquina, que es pot determinar des del lloc web oficial de PHP . Per exemple, si la vostra instància de servidor resideix al centre de dades Vultr Los Angeles, el valor de la zona horària és America/Los_Angeles.
Obriu el fitxer de configuració PHP amb l'editor vi:
sudo vi /etc/php/7.0/apache2/php.ini
Troba la línia:
;date.timezone =
Canvia-ho per:
date.timezone = America/Los_Angeles
Desa i surt:
:wq!
Reinicieu el servei Apache per tal de posar en vigor la nova configuració:
sudo systemctl restart apache2.service
Pas 6: instal·leu Icinga 2 i els seus connectors
Configura el repositori 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
Instal·leu Icinga 2 i diversos connectors mitjançant el repo Icinga APT:
sudo apt-get install icinga2 nagios-plugins -y
Per obtenir més informació sobre els connectors d'Icinga 2, visiteu el lloc web del Projecte de connectors de monitoratge .
Inicieu el servei Icinga 2:
sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service
Per defecte, el programa Icinga 2 habilitarà tres funcions: verificador, registre principal i notificació. Podeu confirmar-ho amb l'ordre següent:
sudo icinga2 feature list
Pas 7: configureu els mòduls Icinga 2 IDO
7.1) Instal·leu els mòduls IDO (Icinga Data Output) per a MySQL
sudo apt-get install icinga2-ido-mysql
A l' Configuring icinga2-ido-mysqlassistent, quan se us pregunti si voleu habilitar la funció ido-mysql d'Icinga 2, trieu <No>. Activarem manualment aquesta funció més endavant.
Quan se us pregunti si voleu configurar una base de dades per a icinga2-ido-mysql, trieu <No>. En lloc d'això, podeu crear manualment una base de dades tal com s'explica al pas 7.2.
7.2) Crear una base de dades per a Icinga 2
Inicieu sessió al shell de MySQL com a root:
sudo mysql -u root -p
Utilitzeu la contrasenya d'arrel de MariaDB que heu establert al pas 4 per iniciar sessió.
A l'intèrpret d'ordres de MySQL, creeu una base de dades anomenada icingai un usuari de la base de dades anomenat icingaamb la contrasenya icingai, a continuació, concediu privilegis sobre aquesta base de dades a aquest usuari de la base de dades.
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) Importeu l'esquema IDO d'Icinga 2
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Quan se us demani, introduïu la contrasenya d'arrel de MariaDB per acabar la feina.
7.4) Habiliteu el mòdul IDO MySQL
sudo vi /etc/icinga2/features-available/ido-mysql.conf
Troba aquestes línies:
user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"
Modifiqueu-los com a continuació:
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
Desa i surt:
:wq!
Habiliteu la funció ido-mysql:
sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service
Pas 8: instal·leu Icinga Web 2
8.1) Configuració de la canonada de comandament externa
sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list
Abans de poder enviar ordres a Icinga 2 mitjançant una interfície web, heu d'afegir l' www-datausuari al icingacmdgrup:
sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data
Utilitzeu l'ordre següent per confirmar la vostra configuració:
id www-data
8.2) Instal·leu els paquets Icinga Web 2
sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y
Apunteu el directori arrel web d'Apache a una ubicació especificada per Icinga Web 2:
sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service
8.3) Configuració de la base de dades Icinga Web 2
sudo mysql -u root -p
CREATE DATABASE icingaweb2;
EXIT;
8.4) Carregueu l'esquema de la base de dades Icinga Web 2
mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql
8.5) Genereu un testimoni de configuració per utilitzar-lo posteriorment a l'assistent d'instal·lació web d'Icinga Web 2
sudo icingacli setup token create
8.6) Inicieu l'assistent d'instal·lació d'Icinga 2 a la interfície web
Apunteu el vostre navegador web a l'URL següent:
http://<your-serve-ip>/icingaweb2/setup
8.7) A la pàgina de benvinguda, introduïu el testimoni de configuració que heu generat anteriorment i, a continuació, feu clic al Nextbotó.
8.8) A la pàgina Mòduls, seleccioneu un o més mòduls que voleu habilitar (almenys, el Monitoringmòdul és obligatori) i, a continuació, feu clic al Nextbotó .
8.9) A la pàgina Requisits, assegureu-vos que tots els elements necessaris estiguin satisfets i, a continuació, feu clic al Nextbotó.
8.10) A la pàgina d'autenticació, heu de triar el mètode d'autenticació en accedir a Icinga Web 2. Aquí podeu triar Database, i després fer clic al Nextbotó .
8.11) A la pàgina de recursos de la base de dades, ompliu tots els camps obligatoris com a continuació i, a continuació, feu clic al Nextbotó.
- Nom del recurs*: icingaweb_db
- Tipus de base de dades*: MySQL
- Amfitrió*: localhost
- Nom de la base de dades*: icingaweb2
- Nom d'usuari*: root
- Contrasenya*: <contrasenya-arrel-MariaDB>
8.12) A la pàgina del backend d'autenticació, utilitzant el nom del backend predeterminat icingaweb2, feu clic al Nextbotó per continuar.
8.13) A la pàgina Administració, configureu el primer compte d'administrador d'Icinga Web 2 (diguem que és icingaweb2admin) i la contrasenya (diguem que és icingaweb2pass) i, a continuació, feu clic al Nextbotó.
8.14) A la pàgina Configuració de l'aplicació, podeu ajustar les opcions de configuració relacionades amb l'aplicació i el registre perquè s'adaptin a les vostres necessitats. De moment, podeu utilitzar els valors predeterminats que s'indiquen a continuació i fer clic al Nextbotó per continuar.
- Mostra Stacktraces: marcat
- Tipus d'emmagatzematge de preferències de l'usuari*: Base de dades
- Tipus de registre*: Syslog
- Nivell de registre*: Error
- Prefix de l'aplicació*: icingaweb2
8.15) A la pàgina Revisió, comproveu la vostra configuració i feu clic al Nextbotó .
8.16) A la pàgina de benvinguda de la configuració del mòdul de monitorització, feu clic al Nextbotó .
8.17) A la pàgina Monitoring Backend, utilitzeu el nom icingai el tipus de backend predeterminats i IDO, a continuació, feu clic al Nextbotó .
8.18) A la pàgina Monitoring IDO Resource, introduïu els detalls de la base de dades IDO que heu configurat anteriorment i, a continuació, feu clic al Nextbotó.
- Nom del recurs*: icinga_ido
- Tipus de base de dades*: MySQL
- Amfitrió*: localhost
- Nom de la base de dades*: icinga
- Nom d'usuari*: icinga
- Contrasenya*: icinga
8.19) A la pàgina Transport d'ordres, utilitzeu encara aquests valors predeterminats que s'indiquen a continuació. Feu clic al Nextbotó per seguir endavant.
- Nom del transport*: icinga2
- Tipus de transport*: Fitxer d'ordres local
- Fitxer d'ordres*: /var/run/icinga2/cmd/icinga2.cmd
8.20) A la pàgina Monitorització de seguretat, encara utilitzeu el valor predeterminat:
- Variables personalitzades protegides: *pw*,*pass*,community
Feu clic al Nextbotó per anar a la pàgina següent.
8.21) A la pàgina de revisió, comproveu la vostra configuració i feu clic al Finishbotó .
8.22) A les Felicitats! pàgina, feu clic al Login to Icinga Web 2botó per anar a la pàgina d'inici de sessió d'Icinga Web 2. Utilitzeu el compte d'administrador d'Icinga Web 2 i la contrasenya que heu configurat anteriorment per iniciar la sessió. No dubteu a explorar el tauler d'Icinga Web 2.
Així conclou el nostre tutorial. Gràcies per llegir.