Zoeken op website

Monitor serveraanmeldingen in realtime met de "Log.io"-tool op RHEL/CentOS 7/6


Log.io is een kleine, eenvoudige maar effectieve applicatie die is gebouwd bovenop Node.js en Socket.io, waarmee het logboek van Linux-servers kan worden gecontroleerd bestanden in realtime via schermwidgets van de webinterface.

In deze tutorial wordt uitgelegd hoe u lokale logbestanden in realtime kunt installeren en controleren met Log.io geïnstalleerd op RHEL/CentOS 7/6.x door Log.io te configureren b> harvester-bestand om eventuele lokale wijzigingen in logbestanden te controleren.

Stap 1: voeg Epel-repository's toe

1. CentOS Epel-repository's bieden de binaire pakketten voor Node.js en NPMNode Packaged Modules . Installeer Epel-repository's door de volgende opdracht uit te voeren.

Op RHEL/CentOS 7
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Op RHEL/CentOS 6
--------------------- 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. Nadat u Epel Repos op uw systeem heeft toegevoegd, voert u een systeemupgrade uit door de volgende opdracht uit te voeren.

yum update

Stap 2: Installeer Node.js- en NPM-pakketten

3. Node.js is een Javascript-programmeerplatform op de server waarmee u netwerkapplicaties met backend-functionaliteit kunt maken. NPM (Node Package Manager) is praktisch de pakketbeheerder voor Node.js. Dus ga bij de volgende stap door en installeer de binaire bestanden Node.js en NMP op uw systeem via YUM-pakketbeheer door de volgende opdrachten uit te voeren.


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

Stap 3: Installeer en configureer de Log.io-applicatie

4. Log.io-applicatie moet op uw systeem worden geïnstalleerd via NPM door een geldige lokale systeemgebruiker op te geven, via wie de installatie moet plaatsvinden. Hoewel je elke geldige systeemgebruiker kunt gebruiken om Log.io te installeren, raad ik persoonlijk aan om de applicatie te installeren via een root-gebruiker of een andere systeemgebruiker met root-rechten.

De reden voor het gebruik van deze aanpak is dat Log.io toegang moet hebben om lokale logbestanden te lezen en dat een gebruiker met rootrechten zonder rechten doorgaans geen toegang heeft tot bepaalde belangrijke logbestanden en deze niet kan lezen.

Log dus in met een root-account en installeer de Log.io-applicatie via een root-account door de volgende opdracht uit te voeren (als u een andere gebruiker gebruikt, vervang dan het root-account door uw systeemgebruiker).

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

5. Nadat de applicatie is geïnstalleerd, wijzigt u uw werkmap in de map Log.io, die verborgen is, en maakt u een maplijst om de mapinhoud te visualiseren om de verder toepassen.

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

6. Nu is het tijd om Log.io te configureren om lokale logbestanden in realtime te controleren. Laten we eens kijken hoe Log.io werkt.

  1. Het harvester-bestand let op wijzigingen in de opgegeven lokale logbestanden die in de configuratie zijn gedeclareerd en verzendt de uitvoer ervan via socket.io TCP
    protocol dat de berichten verder verzendt naar de lokale server van Log.io of een andere externe server die is aangegeven met zijn IP-adres (adres 0.0.0.0 gespecificeerd op de harvester-uitzendingen naar alle log.io-luisterservers) – bestand harvester.conf
  2. De Log.io-server bindt zich aan alle netwerkinterfaces (tenzij anders gespecificeerd in het log_server.conf-bestand) en wacht op berichten van lokale of externe harvesters-knooppunten en stuurt hun uitvoer naar de log.io-webserver (0.0.0.0 betekent dat deze wacht op berichten van lokale of externe harvesters) bestand log_server.conf
  3. Log.io-webserver bindt op alle netwerkinterfaces, luistert naar verbindingen van webclients op poort 28778 en verwerkt en voert de berichten uit die deze intern ontvangt van de log.io-server – bestand web_server.conf

Open eerst het bestand harvester.conf om te bewerken, dat standaard alleen Apache-logbestanden controleert, en vervang de nodeName-instructie zodat deze overeenkomt met uw hostnaam en definieer de logStreams verklaringen met welke interne logbestanden u wilt monitoren (in dit geval monitor ik meerdere logbestanden zoals audit, berichten en beveiligde logs). Gebruik het onderstaande bestandsfragment als richtlijn.

nano harvester.conf

Harvester-bestandsuittreksel.

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
  }
}

Als u geen harvester-uitvoer naar een externe Log.io-server hoeft te sturen, wijzigt u de regel host op server-instructie zodat deze alleen wordt verzonden de uitvoer wordt lokaal uitgevoerd door adres 0.0.0.0 te wijzigen met loopback-adres (127.0.0.1).

7. Als u om veiligheidsredenen geen uitvoer van externe harvesters naar uw lokale Log.io-server verwacht, opent u het bestand log_server.conf en vervangt u < b>0.0.0.0 adres met loopback-adres (127.0.0.1).

nano log_server.conf

8. Andere beveiligingsfuncties zoals inloggen, HTTPS of beperking op basis van IP's naar de Log.io-webserver kunnen worden toegepast op de webserver. Voor deze tutorial zal ik alleen als veiligheidsmaatregel alleen logingegevens gebruiken.

Open dus het bestand web_server.conf, verwijder het commentaar van de volledige auth-instructie door alle schuine strepen en sterretjes te verwijderen en vervang user en pass b> richtlijnen overeenkomstig zoals voorgesteld op de onderste schermafbeelding.

nano web_server.conf

Stap 4: Voeg een firewallregel toe en start de Log.io-toepassing

9. Om webtoegang te krijgen tot de Log.io-server, voegt u een regel toe aan RHEL/CentOS 7 Firewall om de TCP 28778-poort te openen door de volgende opdracht te geven.

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

Opmerking: RHEL/CentOS 6.x-gebruikers kunnen poort 28778 openen op een iptable-firewall.

Stap 5: Start de Log.io-applicatie en open de webinterface

10. Om de logmonitoringtoepassing Log.io te starten, moet u ervoor zorgen dat uw huidige werkmap de thuismap .log.io van de root is en het volgende gebruiken opdrachten in de volgende volgorde om de toepassing te starten.

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

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

11. Nadat de server is gestart, opent u een browser, voert u het IP-adres van uw server in, gevolgd door 28778 poortnummer met behulp van het HTTP-protocol op het URL-adres. Er zou een prompt moeten verschijnen waarin uw inloggegevens worden gevraagd .

Voer uw gebruiker en wachtwoord in die u in stap 8 hebt geconfigureerd om verder te gaan. De Log.io-applicatie zou nu zichtbaar moeten zijn in uw browser en de gecontroleerde logbestanden in realtime weergeven.

http://192.168.1.20:28778

Voeg in de webinterface nieuwe schermen toe en organiseer uw streams of knooppunten dienovereenkomstig.

12. Om de Log.io-toepassing te stoppen, voert u de volgende opdracht uit.

pkill node

Stap 6: Maak een Log.io-beheerscript

13. Om een opdracht te gebruiken die de Log.io-applicatie beheert met drie schakelaars ( start, stop en status) maak het volgende script met de naam log.io in de uitvoerbare map /usr/local/bin en voeg uitvoeringsrechten toe aan dit script.

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

Voeg het volgende fragment toe aan dit scriptbestand.

#!/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. Om de Log.io-status te starten, stoppen of bekijken, logt u in met een root-account (of de gebruiker waarop de Log.io-app is geïnstalleerd) en voert u gewoon de volgende opdrachten uit om de applicatie eenvoudig te beheren.

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

Dat is alles! Naar mijn mening is Log.io een uitstekende en effectieve webapplicatie om logbestanden van lokale of externe servers in realtime te monitoren en een beeld te krijgen van wat er intern in de systemen gebeurt en vooral om serverproblemen op te lossen wanneer systemen reageren vaak niet meer of crashen, zonder dat er een console nodig is.