Pratite zapisnike poslužitelja u stvarnom vremenu pomoću alata "Log.io" na RHEL/CentOS 7/6


Log.io je mala jednostavna, ali učinkovita aplikacija izgrađena na temelju Node.js i Socket.io, koja omogućuje praćenje dnevnika Linux poslužitelja datoteke u stvarnom vremenu putem widgeta zaslona web sučelja.

Ovaj vodič će vas voditi o tome kako možete instalirati i nadzirati sve lokalne datoteke dnevnika u stvarnom vremenu s Log.io instaliranim na RHEL/CentOS 7/6.x konfiguracijom Log.io harvester file za praćenje svih lokalnih promjena u log datotekama.

Korak 1: Dodajte Epel spremišta

1. CentOS Epel spremišta pružaju binarne pakete za Node.js i NPMNode Packaged Modules . Instalirajte Epel spremišta izdavanjem sljedeće naredbe.

Na RHEL/CentOS 7
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Na 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. Nakon što dodate Epel Repos na svoj sustav, izvršite nadogradnju sustava pokretanjem sljedeće naredbe.

yum update

Korak 2: Instalirajte Node.js i NPM pakete

3. Node.js je Javascript programska platforma na strani poslužitelja koja vam omogućuje stvaranje mrežnih aplikacija s pozadinskom funkcionalnošću. NPM (Node Package Manager) praktički je upravitelj paketa za Node.js. Dakle, na sljedećem koraku nastavite i instalirajte Node.js i NMP binarne datoteke na svoj sustav putem upravitelja paketa YUM izdavanjem sljedećih naredbi.


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

Korak 3: Instalirajte i konfigurirajte aplikaciju Log.io

4. Aplikacija Log.io mora biti instalirana na vaš sustav putem NPM-a navođenjem važećeg lokalnog korisnika sustava, preko kojeg se mora izvršiti instalacija. Iako možete koristiti bilo kojeg važećeg korisnika sustava za instaliranje Log.io-a, osobno preporučujem instaliranje aplikacije preko root korisnika ili drugog korisnika sustava s root privilegijama.

Razlog korištenja ovog pristupa je taj što Log.io mora imati pristup za čitanje lokalnih datoteka dnevnika, a korisnik s root privilegijama bez privilegija obično ne može pristupiti i čitati neke važne datoteke dnevnika.

Dakle, prijavite se s root računom i instalirajte aplikaciju Log.io putem root računa izdavanjem sljedeće naredbe (ako koristite drugog korisnika zamijenite root račun sa svojim korisnikom sustava u skladu s tim).

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

5. Nakon što je aplikacija instalirana, promijenite svoj radni direktorij u Log.io mapu, koja je skrivena, i napravite popis direktorija za vizualizaciju sadržaja mape kako biste konfigurirali primjena dalje.

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

6. Sada je vrijeme da konfigurirate Log.io za praćenje lokalnih datoteka dnevnika u stvarnom vremenu. Pogledajmo kako Log.io funkcionira.

  1. Datoteka harvester prati promjene u navedenim lokalnim datotekama dnevnika deklariranim u njezinoj konfiguraciji i šalje svoj izlaz putem socket.io TCP
    protokol koji dalje šalje poruke Log.io lokalnom poslužitelju ili bilo kojem drugom udaljenom poslužitelju deklariranom svojom IP adresom (adresa 0.0.0.0 navedena na harvesterima emitira se na sve poslužitelje koji slušaju log.io) – datoteka harvester.conf
  2. Poslužitelj Log.io veže se na sva mrežna sučelja (ako nije drugačije navedeno u datoteci log_server.conf) i čeka poruke s lokalnih ili udaljenih čvorova harvestera i šalje njihov izlaz web poslužitelju log.io (0.0.0.0 znači da čeka poruke iz bilo kojeg lokalnog ili udaljenog harvestera) datoteka log_server.conf
  3. Web-poslužitelj Log.io veže se na sva mrežna sučelja, osluškuje veze web-klijenata na portu 28778 te obrađuje i šalje poruke koje interno prima s poslužitelja log.io – datoteka web_server.conf

Prvo otvorite harvester.conf datoteku za uređivanje, koja prema zadanim postavkama nadzire samo Apache log datoteke, i zamijenite nodeName izjavu da odgovara vašem nazivu glavnog računala i definirajte logStreams izjave s internim datotekama dnevnika koje želite nadzirati (u ovom slučaju nadzirem više datoteka dnevnika kao što su revizija, poruke i sigurni zapisnici). Koristite donji izvadak datoteke kao vodič.

nano harvester.conf

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

Također, ako ne trebate izlaz harvestera za slanje na udaljeni poslužitelj Log.io, promijenite redak host na izjavi poslužitelja da šalje samo njegov izlaz lokalno mijenjanjem adrese 0.0.0.0 s povratnom adresom (127.0.0.1).

7. Iz sigurnosnih razloga, ako ne očekujete izlaz udaljenih harvestera na vaš lokalni Log.io poslužitelj, otvorite datoteku log_server.conf i zamijenite < b>0.0.0.0 adresa s povratnom adresom (127.0.0.1).

nano log_server.conf

8. Ostale sigurnosne značajke kao što su prijava vjerodajnicama, HTTPS ili ograničenje temeljeno na IP adresama na web poslužitelju Log.io mogu se primijeniti na strani web poslužitelja. Za ovaj vodič koristit ću samo prijavu vjerodajnicama kao sigurnosnu mjeru.

Dakle, otvorite datoteku web_server.conf, odkomentirajte cijelu izjavu auth brisanjem svih kosih crta i zvjezdica i zamijenite user i pass prema smjernicama kako je predloženo na donjoj snimci zaslona.

nano web_server.conf

Korak 4: Dodajte pravilo vatrozida i pokrenite aplikaciju Log.io

9. Kako biste dobili web pristup Log.io poslužitelju dodajte pravilo na RHEL/CentOS 7 vatrozid za otvaranje TCP 28778 porta izdavanjem sljedeće naredbe.

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

Napomena: korisnici RHEL/CentOS 6.x mogu otvoriti priključak 28778 na iptable vatrozidu.

Korak 5: Pokrenite aplikaciju Log.io i uđite u web sučelje

10. Kako biste pokrenuli aplikaciju za praćenje dnevnika Log.io, uvjerite se da je vaš trenutni radni direktorij rootov početni .log.io i koristite sljedeće naredbe sljedećim redoslijedom za pokretanje aplikacije.

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

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

11. Nakon što je poslužitelj pokrenut, otvorite preglednik, unesite IP poslužitelja i zatim 28778 broj porta koristeći HTTP protokol na URL adresi i trebao bi se pojaviti upit koji zahtijeva vaše vjerodajnice za prijavu .

Unesite svoje korisničko ime i zaporku konfigurirane u koraku 8 da biste nastavili dalje i aplikacija Log.io sada bi trebala biti vidljiva u vašem pregledniku prikazujući nadzirane datoteke dnevnika u stvarnom vremenu.

http://192.168.1.20:28778

Na web sučelju dodajte nove zaslone i organizirajte svoje tokove ili čvorove u skladu s tim.

12. Za zaustavljanje aplikacije Log.io pokrenite sljedeću naredbu.

pkill node

Korak 6: Stvorite skriptu za upravljanje Log.io

13. Kako biste koristili naredbu koja upravlja aplikacijom Log.io s tri prekidača ( start, stop i status) kreirajte sljedeću skriptu pod nazivom log.io u izvršnom direktoriju /usr/local/bin i ovoj skripti dodajte dozvole za izvođenje.

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

Dodajte sljedeći izvadak ovoj datoteci skripte.

#!/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. Za početak, zaustavljanje ili pregled statusa Log.io prijavite se s root računom (ili korisnikom kojem je instalirana aplikacija Log.io) i samo pokrenite sljedeće naredbe za jednostavno upravljanje aplikacijom.

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

To je sve! Po mom mišljenju Log.io je izvrsna i učinkovita web aplikacija za praćenje datoteka dnevnika lokalnih ili udaljenih poslužitelja u stvarnom vremenu i dobivanje uvida u ono što se događa interno u sustavima, a posebno za otklanjanje grešaka na poslužitelju kada sustavi imaju tendenciju da ne reagiraju ili se ruše, bez potrebe za korištenjem konzole.