Superviseu els registres del servidor en temps real amb l'eina Log.io a RHEL/CentOS 7/6


Log.io és una petita aplicació senzilla però eficaç construïda a sobre de Node.js i Socket.io, que permet supervisar el registre dels servidors Linux fitxers en temps real mitjançant ginys de pantalla de la interfície web.

Aquest tutorial us guiarà sobre com podeu instal·lar i supervisar qualsevol fitxer de registre local en temps real amb Log.io instal·lat a RHEL/CentOS 7/6.x mitjançant la configuració de Log.io b> fitxer Harvester per supervisar qualsevol canvi local als fitxers de registre.

Pas 1: afegiu repositoris Epel

1. Els dipòsits Epel de CentOS proporcionen els paquets binaris per a Node.js i NPMMòduls empaquetats per nodes. Instal·leu els dipòsits d'Epel emetent l'ordre següent.

# yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm

--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
# yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. Després d'afegir Epel Repos al vostre sistema, feu una actualització del sistema executant l'ordre següent.

# yum update

Pas 2: instal·leu els paquets Node.js i NPM

3. Node.js és una plataforma de programació Javascript del costat del servidor que us permet crear aplicacions de xarxa amb funcionalitat de backend. NPM (Node Package Manager) és pràcticament el gestor de paquets per a Node.js. Per tant, al següent pas, seguiu endavant i instal·leu els binaris Node.js i NMP al vostre sistema mitjançant el gestor de paquets YUM emetent les ordres següents.

# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
# yum install -y nodejs

Pas 3: instal·leu i configureu l'aplicació Log.io

4. L'aplicació Log.io s'ha d'instal·lar al vostre sistema mitjançant NPM especificant un usuari del sistema local vàlid, a través del qual s'ha de fer la instal·lació. Tot i que podeu utilitzar qualsevol usuari del sistema vàlid per instal·lar Log.io, personalment us recomano instal·lar l'aplicació mitjançant un usuari root o un altre usuari del sistema amb privilegis root.

El motiu d'utilitzar aquest enfocament és que Log.io ha de tenir accés per llegir fitxers de registre localment i un usuari amb privilegis de root sense privilegis normalment no pot accedir i llegir alguns fitxers de registre importants.

Per tant, inicieu la sessió amb el compte root i instal·leu l'aplicació Log.io mitjançant el compte root emetent l'ordre següent (si feu servir un altre usuari substituïu el compte root amb l'usuari del vostre sistema en conseqüència).

# npm install -g log.io --user “root”

5. Un cop instal·lada l'aplicació, canvieu el vostre directori de treball a la carpeta Log.io, que està amagada, i feu una llista de directoris per visualitzar el contingut de la carpeta per poder configurar l'aplicació més.

# pwd  		[Make sure you are on the right path]
# cd .log.io/
# ls

6. Ara és el moment de configurar Log.io per supervisar els fitxers de registre locals en temps real. Anem a conèixer com funciona Log.io.

  1. El fitxer recol·lector vigila els canvis en els fitxers de registre locals especificats declarats a la seva configuració i envia la seva sortida a través de socket.io TCP
    protocol que, a més, envia els missatges al servidor local Log.io o a qualsevol altre servidor remot declarat amb la seva adreça IP (adreça 0.0.0.0 especificada a les emissions de recol·lectors a tots els servidors d'escolta de log.io) – fitxer harvester.conf
  2. El servidor Log.io s'enllaça a totes les interfícies de xarxa (si no s'especifica el contrari al fitxer log_server.conf) i espera missatges dels nodes de recol·lectors locals o remots i envia la seva sortida al servidor web log.io (0.0.0.0 significa que espera missatges de qualsevol fitxer recol·lector local o remot) log_server.conf
  3. El servidor web Log.io s'enllaça a totes les interfícies de xarxa, escolta les connexions dels clients web al port 28778 i processa i envia els missatges que rep internament del servidor log.io: fitxer web_server.conf< /li>

Obriu primer el fitxer harvester.conf per editar, que per defecte només supervisa els fitxers de registre d'Apache, i substituïu la instrucció nodeName perquè coincideixi amb el vostre nom d'amfitrió i definiu els logStreams declaracions amb quins fitxers de registre interns voleu supervisar (en aquest cas estic supervisant diversos fitxers de registre com auditoria, missatges i registres segurs). Utilitzeu l'extracte del fitxer següent com a guia.

# nano harvester.conf

Extracte del fitxer Harvester.

exports.config = {
  nodeName: "pxe-server",
  logStreams: {

audit: [
      "/var/log/audit/audit.log"
    ],

messages: [
      "/var/log/messages"
    ],

secure: [
      "/var/log/secure"
    ]

},
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

A més, si no necessiteu que la sortida de la recol·lectora s'enviï a un servidor Log.io remot, canvieu la línia amfitrió al servidor per enviar només la seva sortida local mitjançant la modificació de l'adreça 0.0.0.0 amb l'adreça de loopback (127.0.0.1).

7. Per motius de seguretat, si no espereu que els recol·lectors remots entrin al vostre servidor local Log.io, obriu el fitxer log_server.conf i substituïu 0.0.0.0 b> adreça amb adreça de loopback (127.0.0.1).

# nano log_server.conf

8. Es poden aplicar altres funcions de seguretat, com ara l'inici de sessió de credencials, HTTPS o restriccions basades en les IP al servidor web Log.io, al costat del servidor web. Per a aquest tutorial només utilitzaré com a mesura de seguretat només l'inici de sessió de credencial.

Per tant, obriu el fitxer web_server.conf, descomenteu tota la instrucció auth suprimint totes les barres obliques i asteriscs i substituïu user i pass b> directives en conseqüència, tal com es suggereix a la captura de pantalla inferior.

# nano web_server.conf

Pas 4: afegiu la regla del tallafoc i inicieu l'aplicació Log.io

9. Per obtenir accés web al servidor Log.io, afegiu una regla al tallafoc RHEL/CentOS 7 per obrir TCP 28778 emet l'ordre següent.

# firewall-cmd --add-port=28778/tcp --permanent
# firewall-cmd --reload

Nota: els usuaris de RHEL/CentOS 6.x poden obrir el port 28778 al tallafoc iptable.

Pas 5: inicieu l'aplicació Log.io i entreu a la interfície web

10. Per iniciar l'aplicació de supervisió de registres Log.io, assegureu-vos que el vostre directori de treball actual és la casa d'arrel .log.io i utilitzeu les ordres següents en l'ordre següent per iniciar aplicació.

------------ First start server, put it in background and press Enter key ------------
# log.io-server & 

------------ Start log harvester in background ------------
# log.io-harvester & 

11. Un cop s'hagi iniciat el servidor, obriu un navegador, introduïu l'IP del vostre servidor seguit del número de port 28778 mitjançant el protocol HTTP a l'adreça URL i hauria d'aparèixer un missatge que us demanarà les vostres credencials d'inici de sessió.

Introduïu l'usuari i la contrasenya configurats al pas 8 per continuar més endavant i l'aplicació Log.io ara hauria de ser visible al vostre navegador presentant fitxers de registre supervisats en temps real.

http://192.168.1.20:28778

A la interfície web, afegiu pantalles noves i organitzeu els vostres fluxos o nodes en conseqüència.

12. Per aturar l'aplicació Log.io, executeu l'ordre següent.

# pkill node

Pas 6: creeu un script de gestió de Log.io

13. Per utilitzar una ordre que gestiona l'aplicació Log.io amb tres interruptors ( inici, atura i estat >) creeu el següent script anomenat log.io al directori executable /usr/local/bin i afegiu els permisos d'execució a aquest script.

# nano /usr/local/bin/log.io
# chmod +x /usr/local/bin/log.io

Afegiu l'extracte següent a aquest fitxer d'script.

#!/bin/bash

                start() {
                echo "Starting log.io process..."
                /usr/bin/log.io-server &
                /usr/bin/log.io-harvester &
                                         }

                stop() {
                echo "Stopping io-log process..."
                pkill node
                                         }                             

                status() {
                echo "Status io-log process..."
                netstat -tlp | grep node
                                         }

case "$1" in
                start)
start
        ;;
                stop)
stop
        ;;
                status)
status
                ;;
                *)
echo "Usage: start|stop|status"
        ;;
Esac

14. Per iniciar, aturar o veure l'inici de sessió de l'estat de Log.io amb el compte root (o l'usuari que s'ha instal·lat l'aplicació Log.io) i només executeu les ordres següents per gestionar fàcilment l'aplicació.

# log.io start
# log.io status
# log.io stop

Això és tot! Al meu entendre, Log.io és una aplicació web excel·lent i eficaç per supervisar els fitxers de registre dels servidors locals o remots en temps real i obtenir una visió del que passa internament als sistemes i especialment per depurar problemes del servidor quan els sistemes solen deixar de respondre o fallar, sense necessitat d'utilitzar una consola.