Forutsetninger
Trinn 1: Oppdater systemet
Trinn 2: Installer Apache
Trinn 3: Konfigurer UFW-brannmuren
Trinn 4: Installer MariaDB
Trinn 5: Installer PHP
Trinn 6: Installer Icinga 2 og dens plugins
Trinn 7: Sett opp Icinga 2 IDO-modulene
Trinn 8: Installer Icinga Web 2
Icinga 2 er et mye brukt åpen kildekode-nettverksressursovervåkingssystem, og Icinga Web 2 er det offisielle webgrensesnittet for Icinga 2.
I denne opplæringen vil jeg forklare hvordan du installerer dem begge på en Ubuntu 16.04-server.
Forutsetninger
- En nylig distribuert Vultr Ubuntu 16.04-serverforekomst.
- En sudo-bruker. For å lære mer om hvordan du oppretter en sudo-bruker på Ubuntu, se instruksjoner om Debian i en annen Vultr-opplæring .
Trinn 1: Oppdater systemet
Logg på fra en SSH-terminal som sudo-bruker, og oppdater deretter systemet til siste stabile status ved å bruke følgende kommandoer:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
Etter omstart, bruk den samme sudo-brukeren til å logge på.
Trinn 2: Installer Apache
Installer Apache ved å bruke følgende kommando:
sudo apt-get install apache2 -y
Slett standard Ubuntu Apache-velkomstside:
sudo rm /var/www/html/index.html
Av sikkerhetshensyn bør du forby Apache fra å eksponere filer og kataloger i webrotkatalogen /var/www/htmlfor besøkende:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Start Apache-tjenesten og få den i gang ved oppstart:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Som standard er UFW-brannmuren deaktivert på en nylig distribuert Vultr Ubuntu 16.04-serverforekomst. Bruk følgende kommandoer for å aktivere UFW-brannmuren og tillate innkommende trafikk av SSH, HTTP og HTTPS:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
Trinn 4: Installer MariaDB
4.1) Bruk følgende kommando for å installere MariaDB:
sudo apt-get install mariadb-client mariadb-server -y
4.2) Start MariaDB-tjenesten:
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
4.3) Sikre installasjonen av MariaDB:
sudo /usr/bin/mysql_secure_installation
Under den interaktive prosessen, svar på spørsmål ett etter ett som nedenfor:
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
Merk : Erstatt <your-password>med ditt eget MySQL root-passord.
4.4) Endre autentiseringsplugin for MySQL- rootbruker:
sudo mysql -u root -p
Bruk MariaDB root-passordet du satte tidligere for å logge på.
I MySQL-skallet:
UPDATE mysql.user SET authentication_string=PASSWORD('<your-password>'), plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
EXIT;
Merk : Erstatt <your-password>med ditt eget MySQL root-passord.
Trinn 5: Installer PHP
Installer PHP 7.0 og flere utvidelser for Icinga 2 og 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
Installer gjeldende versjon av 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');"
Merk : Kommandoene ovenfor kan være utdaterte i fremtiden, så du bør alltid hente den nyeste versjonen fra Composers offisielle nettsted .
For enkelhets skyld kan du flytte Composer-skriptet composer.phartil /usr/local/binog gi det nytt navn composer:
sudo mv ~/composer.phar /usr/local/bin/composer
Installer zip og pakk ut:
sudo apt-get install zip unzip -y
Installer ZendFramework Db-komponenten ved å bruke Composer:
composer require zendframework/zend-db
Deretter må du sette opp riktig tidssone for maskinen din, som kan bestemmes fra PHP offisielle nettsted . For eksempel, hvis serverforekomsten din ligger i Vultr Los Angeles datasenter, er tidssoneverdien for den America/Los_Angeles.
Åpne PHP-konfigurasjonsfilen med vi-editoren:
sudo vi /etc/php/7.0/apache2/php.ini
Finn linjen:
;date.timezone =
Endre det til:
date.timezone = America/Los_Angeles
Lagre og avslutt:
:wq!
Start Apache-tjenesten på nytt for å sette nye innstillinger i kraft:
sudo systemctl restart apache2.service
Trinn 6: Installer Icinga 2 og dens plugins
Sett opp Icinga APT-repoen:
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
Installer Icinga 2 og flere plugins ved å bruke Icinga APT-repoen:
sudo apt-get install icinga2 nagios-plugins -y
For å lære mer om Icinga 2-plugins, vennligst besøk nettstedet Monitoring Plugins Project .
Start Icinga 2-tjenesten:
sudo systemctl start icinga2.service
sudo systemctl enable icinga2.service
Som standard vil Icinga 2-programmet aktivere tre funksjoner: kontrollør, hovedlogg og varsling. Du kan bekrefte det ved å bruke følgende kommando:
sudo icinga2 feature list
Trinn 7: Sett opp Icinga 2 IDO-modulene
7.1) Installer IDO-modulene (Icinga Data Output) for MySQL
sudo apt-get install icinga2-ido-mysql
I Configuring icinga2-ido-mysqlveiviseren, når du blir spurt om du vil aktivere Icinga 2s ido-mysql-funksjon, velg <No>. Vi vil aktivere denne funksjonen manuelt senere.
Når du blir spurt om du vil konfigurere en database for icinga2-ido-mysql, velger du <No>. I stedet kan du opprette en database manuelt som forklart i trinn 7.2.
7.2) Opprett en database for Icinga 2
Logg inn på MySQL-skallet som root:
sudo mysql -u root -p
Bruk MariaDB root-passordet du satte i trinn 4 for å logge på.
I MySQL-skallet oppretter du en database med navn icingaog en databasebruker icingamed passordet icinga, og gi deretter privilegier på denne databasen til denne databasebrukeren.
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) Importer Icinga 2 IDO-skjemaet
sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Når du blir bedt om det, skriv inn MariaDB-rotpassordet for å fullføre jobben.
7.4) Aktiver IDO MySQL-modulen
sudo vi /etc/icinga2/features-available/ido-mysql.conf
Finn disse linjene:
user = "icinga2",
password = "",
host = "localhost",
database = "icinga2"
Endre dem som nedenfor:
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
Lagre og avslutt:
:wq!
Aktiver ido-mysql-funksjonen:
sudo icinga2 feature enable ido-mysql
sudo systemctl restart icinga2.service
Trinn 8: Installer Icinga Web 2
8.1) Sett opp eksternt kommandorør
sudo icinga2 feature enable command
sudo systemctl restart icinga2.service
sudo icinga2 feature list
Før du kan sende kommandoer til Icinga 2 ved hjelp av et nettgrensesnitt, må du legge til www-databrukeren i icingacmdgruppen:
sudo groupadd icingacmd
sudo usermod -a -G icingacmd www-data
Bruk følgende kommando for å bekrefte oppsettet:
id www-data
8.2) Installer Icinga Web 2-pakker
sudo apt-get install icingaweb2 icingaweb2-module-monitoring icingaweb2-module-doc icingacli -y
Pek Apache-nettrotkatalogen til en plassering spesifisert av Icinga Web 2:
sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
sudo systemctl restart apache2.service
8.3) Sett opp Icinga Web 2-database
sudo mysql -u root -p
CREATE DATABASE icingaweb2;
EXIT;
8.4) Last inn Icinga Web 2-databaseskjemaet
mysql -u root -p icingaweb2 < /usr/share/icingaweb2/etc/schema/mysql.schema.sql
8.5) Generer et oppsettstoken for senere bruk i Icinga Web 2 webinstallasjonsveiviseren
sudo icingacli setup token create
8.6) Start Icinga 2-installasjonsveiviseren i webgrensesnittet
Pek nettleseren til følgende URL:
http://<your-serve-ip>/icingaweb2/setup
8.7) På velkomstsiden, skriv inn oppsetttokenet du genererte tidligere, og klikk deretter på Nextknappen.
8.8) På Moduler-siden, velg én eller flere moduler du vil aktivere (minst Monitoringmodulen er påkrevd), og klikk deretter på Nextknappen.
8.9) På Krav-siden, sørg for at alle nødvendige elementer er oppfylt, og klikk deretter på Nextknappen.
8.10) På Autentisering-siden må du velge autentiseringsmetode når du får tilgang til Icinga Web 2. Her kan du velge Database, og deretter klikke på Nextknappen.
8.11) På Databaseressurssiden fyller du ut alle obligatoriske felter som nedenfor, og klikker deretter på Nextknappen.
- Ressursnavn*: icingaweb_db
- Databasetype*: MySQL
- Vert*: lokalvert
- Databasenavn*: icingaweb2
- Brukernavn*: rot
- Passord*: <MariaDB-root-passord>
8.12) På Authentication Backend-siden, med standard backend-navn icingaweb2, klikk på Nextknappen for å gå videre.
8.13) På administrasjonssiden konfigurerer du den første Icinga Web 2-administrasjonskontoen (si det er icingaweb2admin) og passordet (si det er icingaweb2pass), og klikker deretter på Nextknappen.
8.14) På applikasjonskonfigurasjonssiden kan du justere applikasjons- og loggingsrelaterte konfigurasjonsalternativer for å passe dine behov. Foreløpig kan du bruke standardverdiene som er oppført nedenfor og klikke på Nextknappen for å fortsette.
- Vis Stacktraces: Avmerket
- Lagringstype for brukerpreferanse*: Database
- Loggingstype*: Syslog
- Loggingsnivå*: Feil
- Applikasjonsprefiks*: icingaweb2
8.15) På gjennomgangssiden dobbeltsjekker du konfigurasjonen og klikker på Nextknappen.
8.16) På velkomstsiden for konfigurasjon av overvåkingsmodul klikker du på Nextknappen.
8.17) På siden Overvåking av backend bruker du standard backendnavn icingaog backendtype IDO, og klikker deretter på Nextknappen.
8.18) På siden Overvåking av IDO-ressurser, skriv inn IDO-databasedetaljer du konfigurerte tidligere, og klikk deretter på Nextknappen.
- Ressursnavn*: icinga_ido
- Databasetype*: MySQL
- Vert*: lokalvert
- Databasenavn*: icinga
- Brukernavn*: icinga
- Passord*: icinga
8.19) På Command Transport-siden, bruk fortsatt disse standardverdiene som er oppført nedenfor. Klikk på Nextknappen for å gå videre.
- Transportnavn*: icinga2
- Transporttype*: Lokal kommandofil
- Kommandofil*: /var/run/icinga2/cmd/icinga2.cmd
8.20) På siden Overvåkingssikkerhet bruker du fortsatt standardverdien:
- Beskyttede tilpassede variabler: *pw*,*pass*,community
Klikk på Nextknappen for å gå til neste side.
8.21) På gjennomgangssiden, dobbeltsjekk konfigurasjonen din, og klikk deretter på Finishknappen.
8.22) Gratulerer! siden, klikker du på Login to Icinga Web 2knappen for å hoppe til Icinga Web 2-påloggingssiden. Bruk Icinga Web 2-administrasjonskontoen og passordet du konfigurerte tidligere for å logge på. Utforsk gjerne Icinga Web 2-dashbordet.
Det avslutter veiledningen vår. Takk for at du leser.