Giunsa ang Pag-install sa Icinga2 sa RHEL, Rocky ug AlmaLinux


Ang Icinga2 kay usa ka feature-rich nga open-source network monitoring ug alerting application nga usa ka fork sa Nagios monitoring tool.

Gitukod kini aron matubag ang mga kakulangan sa Nagios ug ipaila ang bag-ong mga bahin sama sa usa ka gipaayo ug modernong interface sa gumagamit, usa ka REST API alang sa pag-integrate sa mga bag-ong extension nga wala kinahanglana ang paghimo og mga pagbag-o sa Icinga core, ug dugang nga mga koneksyon sa database.

Gibantayan sa Icinga2 ang pagkaanaa sa mga host ingon man mga serbisyo. Ang pipila niini nga mga serbisyo naglakip sa SNMP, HTTP, HTTPS, ug SSH. Gibantayan usab niini ang mga aparato sa network sama sa mga router ug switch.

Nagtipon usab ang Icinga ug mga sukatan ug nagmugna og mga troso aron mahatagan ka usa ka kompleto nga litrato sa imong imprastraktura sa network. Ang mga log ug metrics makita dayon sa mga dashboard aron ibutang ang tanan sa mas maayong konteksto.

Sa kini nga artikulo, gipakita namon kung giunsa ang pag-install sa aplikasyon sa pag-monitor sa Icinga2 sa RHEL, Rocky Linux, ug AlmaLinux.

Ingon usa ka kinahanglanon sa pag-instalar sa Icinga2, kinahanglan nimo nga ma-install ang LAMP stack. Usa ka gamay nga pag-amping dinhi - Ang Icinga2 nanginahanglan PHP 7.3 ug ulahi nga mga bersyon alang sa pag-install.

Naa na miy tutorial kung unsaon pag-install ang LAMP sa RHEL 8 - Gamita kini nga artikulo para i-install ang Apache webserver ug MariaDB database server kay naka-focus lang ang instructions sa pag-install sa PHP 7.2 nga wala gisuportahan sa Icinga2.

Sa unang lakang niini nga giya, kami mogiya kanimo sa proseso sa pag-instalar sa PHP 7.4 ug sa gikinahanglan nga mga module.

Lakang 1: I-install ang PHP ug PHP Modules

Sa pag-install sa Apache ug MariaDB, Ipadayon nato ug i-install ang PHP 7.4. Kung na-install nimo ang PHP 7.2 ug ulahi nga mga bersyon, kuhaa kini pinaagi sa pagpadagan:

$ sudo dnf remove php

Sunod, i-reset ang kasamtangan nga PHP module sa sistema.

$ sudo dnf module reset php

Pagkahuman niana, ilista ang magamit nga mga bersyon sa PHP sama sa gipakita.

$ sudo dnf module list php

Dayon i-enable ang PHP 7.4.

$ sudo dnf module enable php:7.4

Kung ma-enable na ang PHP 7.4 module, I-install ang PHP ug ang gikinahanglan nga mga extension sa PHP.

$ sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Ang Icinga2 nagkinahanglan usab sa php-imagick extension. Bisan pa, dili kini ma-install nga naandan sama sa among gibuhat sa ubang mga module sa PHP.

Aron ma-install ang extension, pagdagan ang mosunud nga mga mando:

$ dnf install -y ImageMagick ImageMagick-devel
$ sudo pecl install imagick

Dayon ibalhin ngadto sa root user ug idugang ang mga extension sa PHP.INI file.

$ su -
$ echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

Aron magamit ang mga pagbag-o, i-restart ang Apache webserver.

$ sudo systemctl restart httpd

Lakang 2: I-install ang Icinga2 sa RHEL 8

Aron ma-install ang Icinga2, kinahanglan namon nga idugang ang repositoryo sa Icinga tungod kay ang Icinga2 wala gi-host sa mga repositoryo sa AppStream.

Aron mahimo kini, una, i-enable ang EPEL repository.

$ sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Sunod, i-enable ang GPG signing key.

$ sudo rpm --import https://packages.icinga.com/icinga.key

Sunod, paghimo ug repository file sa /etc/yum.repos.d directory.

$ sudo vim  /etc/yum.repos.d/icinga2.repo

Idikit ang mosunod nga block sa code

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

Pag-save ug paggawas sa repository file. Unya i-update ang mga pakete sa cache,

$ sudo dnf makecache

Uban sa gidugang nga repository, i-install ang Icinga2 nga pakete ug uban pang kauban nga Icinga2 nga mga pakete.

$ sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

Sunod, i-install ang Nagios plugins nga gamiton sa pagmonitor sa pisikal ug virtual nga mga host.

$ sudo dnf install nagios-plugins-all -y

Sunod, mahimo ang Icinga2 ido-mysql module ug uban pang mga bahin.

$ sudo icinga2 feature enable ido-mysql syslog command

Unya i-restart ang Icinga alang sa mga pagbag-o nga magamit.

$ sudo systemctl restart icinga2

Lakang 3: Paghimo og Database para sa Icinga-IDO MySQL Module

Ang icinga2-IDO (Icinga Data Output) mysql feature kay usa ka backend feature nga nag-collate ug nag-eksport sa tanang configuration ug status information ngadto sa database. Tungod niini nga rason, kinahanglan nga maghimo kita og database alang sa feature nga Icinga2-ido-mysql.

Busa, pag-log in sa MySQL database server:

$ sudo mysql -u root -p

Paghimo usa ka database ingon man usa ka tiggamit sa database alang sa Icinga2. Dayon ihatag ang tanang mga pribilehiyo sa database user ngadto sa Icinga2 database.

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY '[email ';

Ibutang ang mga pagbag-o ug paggawas sa database server.

> FLUSH PRIVILEGES;
> EXIT;

Sunod, import ang database schema sama sa mosunod. Maaghat ka alang sa usa ka password diin kinahanglan nimo ihatag ang password sa database.

$ sudo mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Sa pagpadayon, usba ang ido-mysql configuration file.

$ sudo vim /etc/icinga2/features-available/ido-mysql.conf

Uncomment ang database block ug ipiho ang mga detalye sa database.

Pag-save ug paggawas.

Sunod, pagsugod ug pagpagana sa Icinga2.

$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2

Dayon pamatud-i ang kahimtang sa Icinga2 sama sa gipakita.

$ sudo systemctl status icinga2

Gikan sa output sa ubos, klaro nga ang Icinga nagdagan sama sa gipaabut.

Lakang 4: I-install ang IcingaWeb2 sa RHEL 8

Ang IcingaWeb2 usa ka open-source nga web-based monitoring tool nga naglakip usab sa command-line interface. Gisuportahan niini ang tanan nga mga bahin sa backend nga Icinga sama sa Icinga-ido-mysql, Icinga core, Icinga2, ug uban pang mga module.

Aron ma-install ang IcingaWeb2, i-install ang PowerTools gamit ang mosunod nga sugo.

$ sudo dnf install 'dnf-command(config-manager)'
$ sudo dnf config-manager --set-enabled powertools

Kung kompleto na ang pag-install, i-install ang IcingaWeb2 ug ang CLI sama sa gipakita.

$ sudo dnf install icingaweb2 icingacli

Lakang 5: Paghimo og Database para sa IcingaWeb2

Sama nga naghimo kami og database schema alang sa Icinga2-IDO-mysql feature, kinahanglan usab nga maghimo kami og ikaduhang schema para sa Icinga Web2.

Busa, sa makausa pa, pag-log in sa database server.

$ sudo mysql -u root -p

Paghimo ug database ug database user para sa IcingaWeb2 unya ihatag ang tanang permiso sa database user sa Icinga Web2 database.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO [email  IDENTIFIED BY '[email ';

I-save ang mga pagbag-o ug paggawas.

> FLUSH PRIVILEGES;
> QUIT

Sa dihang na-install ang Icinga2, usa ka bag-ong configuration file alang sa Icinga2 ang gihimo. Mahimo nimo kini tan-awon sama sa gipakita.

$ cat /etc/httpd/conf.d/icingaweb2.conf

Kinahanglan nimo nga i-restart ang Apache webserver alang sa mga pagbag-o nga magsugod.

$ sudo systemctl restart httpd

Dugang pa, kinahanglan nimo nga itakda ang SELinux mode sa 'permissive' sama sa mosunod.

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Lakang 6: Kompletoha ang Icinga2 Setup gikan sa Browser

Ang lakang sa pag-instalar sa Icinga2 mao ang paghimo sa usa ka token sa pag-setup, nga usa ka talagsaon nga code nga gamiton alang sa pag-authenticate sa unang lakang sa pag-set up sa Icinga2 sa usa ka browser.

Aron makamugna og sekreto nga token, padagana ang command:

$ sudo icingacli setup token create

Kopyaha ug hupti nga luwas ang setup token. Kung mawala nimo ang token, mahimo nimo kini makuha pinaagi sa pagpadagan sa mando:

$ sudo icingacli setup token show

Niini nga punto sa kini nga giya, ang tanan nga mga pag-configure gisusi. Ang nahabilin mao ang pagkompleto sa pag-install gikan sa usa ka web browser. Aron mahimo kini, tan-awa ang gipakita nga URL

http://server-ip/icingaweb2/setup

Sa welcome page, idikit ang setup token nga imong namugna sa sayo pa.

Kung na-paste na nimo ang token, i-klik ang 'Next' aron magpadayon. Kini magdala kanimo ngadto sa panid sa 'Modules'. Naghatag kini usa ka kinatibuk-ang panan-aw sa tanan nga mga module nga mahimo nimong mahimo. Pinaagi sa default, ang 'monitoring' module gipalihok.

I-enable ang imong gusto nga mga module ug i-scroll down ug i-klik ang 'Next' aron magpadayon.

Niini nga seksyon, siguruha nga ang tanan nga mga kinahanglanon sa PHP natagbaw, nga naglakip sa mga module sa PHP, mga librarya, ug mga direktoryo. Kung maayo ang tanan, i-scroll down ug i-klik ang 'Next'.

Sa panid sa 'Authentication', ibilin ang tanan ug i-klik ang 'Sunod'.

Sa seksyon nga 'Database Resource', sulati ang mga detalye sa database alang sa IcingaWeb2 nga gipiho sa Lakang 5.

Aron makumpirma nga husto ang mga detalye sa database, pag-scroll hangtod sa ubos ug i-klik ang 'Validate Configuration'.

Kung maayo ang tanan, kinahanglan ka makadawat usa ka pahibalo nga malampuson nga gi-validate ang pag-configure.

Aron moadto sa sunod nga lakang, pag-scroll down ug i-klik ang 'Next'. Alang sa 'Authentication Backend' i-klik lang ang 'Next' aron dawaton ang mga default.

Sa sunod nga lakang, paghimo ug Admin user nga gamiton sa pag-access ug pag-log in sa Icinga2 web interface.

Alang sa seksyon sa 'Pag-monitor sa aplikasyon', dawata ang mga default ug i-klik ang 'Sunod'.

Ribyuha ang tanan nga mga pagbag-o nga imong nahimo hangtod karon. Kung maayo ang tanan, i-klik ang 'Sunod' ug kung gibati nimo nga maghimo bisan unsang mga pagbag-o, i-klik ang 'balik' ug buhata ang gikinahanglan nga mga pagbag-o.

Ang sunod nga seksyon mao ang configuration sa monitoring module para sa IcingaWeb2. Kini ang kinauyokan nga module alang sa Icinga Web 2 nga nagtanyag sa kahimtang ug pagreport sa mga panan-aw nga adunay lig-on nga mga kapabilidad sa pagsala alang sa pagsubay sa hinungdanon nga mga panghitabo.

I-klik ang 'Sunod' aron magpadayon.

Sa sunod nga lakang, pun-a ang porma sa mga detalye sa database alang sa Icinga2-ido-mysql nga bahin sama sa gipiho sa Lakang 3.

Aron ma-validate ang configuration, i-scroll down ug i-klik ang 'Validate configuration'.

Makuha nimo ang pahibalo nga malampuson nga na-validate ang configuration.

Aron makapadayon sa sunod nga lakang, i-scroll down ug i-klik ang 'Next'. Alang sa 'Command Transport', gamita ang 'Local Command File' isip matang sa transportasyon ug i-klik ang 'Next'.

Sa seksyon nga 'Pag-monitor sa Seguridad', i-klik ang 'Sunod'.

Sa makausa pa, ribyuha ang tanan nga mga pag-configure alang sa module sa pag-monitor sa Icinga2. Kung maayo ang tanan, i-klik ang 'Finish' kung dili, balik ug buhata ang kinahanglan nga mga pagbag-o.

Kung maayo ang tanan sa pag-setup sa Icinga Web 2, kinahanglan ka makadawat usa ka pahibalo nga ang Icinga Web 2 malampuson nga na-set up. Aron maka-log in sa web interface, i-klik ang 'Login to Icinga Web 2' link.

Gibuksan niini ang interface sa Icinga Web 2. Ihatag ang mga detalye sa Admin account ug i-klik ang 'login'.

Kini nagdala kanimo sa Icinga2 monitoring dashboard sama sa gipakita.

Ug mao kana. Gikan didto mahimo nimong bantayan ang lainlaing mga host ug serbisyo sa sulod sa imong imprastraktura sa network. Niini nga giya, kami naglakaw kanimo pinaagi sa pag-instalar sa Icinga Web 2 sa RHEL 8, Rocky Linux, ug AlmaLinux.