Nadgledanje serverskih prijava u realnom vremenu pomoću alata "Log.io" na RHEL/CentOS 7/6


Log.io je mala jednostavna ali efikasna aplikacija izgrađena na vrhu Node.js i Socket.io, koja omogućava praćenje dnevnika Linux servera datoteke u realnom vremenu putem widgeta na ekranu web interfejsa.

Ovaj vodič će vas voditi o tome kako možete instalirati i nadgledati sve lokalne datoteke dnevnika u realnom vremenu sa Log.io instaliranim na RHEL/CentOS 7/6.x konfiguracijom Log.io b> harvester fajl za praćenje bilo kakvih lokalnih promjena u log datotekama.

Korak 1: Dodajte Epel repozitorije

1. CentOS Epel spremišta pružaju binarne pakete za Node.js i NPMNode Packaged Module . 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 ste dodali Epel Repos na svoj sistem, izvršite nadogradnju sistema pokretanjem sljedeće naredbe.

yum update

Korak 2: Instalirajte Node.js i NPM pakete

3. Node.js je Javascript programska platforma na strani servera koja vam omogućava da kreirate mrežne aplikacije sa pozadinskom funkcijom. NPM (Node Package Manager) je praktično menadžer paketa za Node.js. Dakle, u sljedećem koraku nastavite i instalirajte Node.js i NMP binarne datoteke na vaš sistem preko YUM menadžera paketa izdavanjem sljedećih naredbi.


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

Korak 3: Instalirajte i konfigurirajte Log.io aplikaciju

4. Log.io aplikacija mora biti instalirana na vaš sistem preko NPM-a tako što ćete navesti važećeg lokalnog korisnika sistema, preko kojeg se mora izvršiti instalacija. Iako za instaliranje Log.io možete koristiti bilo kojeg važećeg korisnika sistema, ja lično preporučujem instaliranje aplikacije preko root korisnika ili drugog korisnika sistema sa root privilegijama.

Razlog za korištenje ovog pristupa je taj što Log.io mora imati pristup za lokalno čitanje 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 sa root nalogom i instalirajte Log.io aplikaciju preko root naloga izdavanjem sledeće naredbe (ako koristite drugog korisnika, zamenite root nalog sa svojim korisnikom sistema u skladu sa tim).

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

5. Nakon što je aplikacija instalirana promijenite svoj radni direktorij u Log.io folder, koji je skriven, i napravite listu direktorija da vizualizirate sadržaj foldera 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 log fajlova u realnom vremenu. Uđimo u to kako Log.io funkcionira.

  1. Datoteka harvester prati promjene u specificiranim lokalnim log datotekama koje su deklarirane u njegovoj konfiguraciji i šalje svoj izlaz putem socket.io TCP
    protokol koji dalje šalje poruke Log.io lokalnom serveru ili bilo kom drugom udaljenom serveru deklariranom sa njegovom IP adresom (0.0.0.0 adresa navedena na harvesterima koji emituju sve servere za slušanje log.io) – datoteka harvester.conf
  2. Log.io server se vezuje za sva mrežna sučelja (ako nije drugačije navedeno u log_server.conf datoteci) i čeka poruke od lokalnih ili udaljenih čvorova sakupljača i šalje njihov izlaz na log.io Web server (0.0.0.0 znači da čeka poruke sa bilo kojeg lokalnog ili udaljenog harvestera) datoteku log_server.conf
  3. Log.io Web server se vezuje za sva mrežna sučelja, osluškuje konekcije web klijenata na portu 28778 i obrađuje i šalje poruke koje interno prima od log.io servera – fajl web_server.conf

Prvo otvorite harvester.conf datoteku za uređivanje, koja po defaultu prati samo Apache log fajlove, i zamijenite nodeName izraz da odgovara vašem imenu hosta i definira logStreams > izjave sa kojim internim log fajlovima želite da nadgledate (u ovom slučaju pratim više datoteka dnevnika kao što su revizija, poruke i bezbedni dnevniki). Koristite donji izvod iz datoteke kao vodič.

nano harvester.conf

Izvod iz 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 vam ne treba izlaz iz žetelice da se pošalje na udaljeni Log.io server promijenite liniju host na server izjavu da šalje samo njegov izlaz lokalno modifikovanjem adrese 0.0.0.0 sa adresom povratne petlje (127.0.0.1).

7. Iz sigurnosnih razloga, ako ne očekujete izlaz udaljenih kombajna na vaš lokalni Log.io server otvorite log_server.conf datoteku i zamijenite < b>0.0.0.0 adresa sa adresom povratne petlje (127.0.0.1).

nano log_server.conf

8. Ostale sigurnosne funkcije kao što su prijava akreditiva, HTTPS ili ograničenja zasnovana na IP-ovima za Log.io web server mogu se primijeniti na strani web servera. Za ovaj tutorijal koristiću samo kao sigurnosnu meru samo prijavu akreditiva.

Dakle, otvorite datoteku web_server.conf, dekomentirajte cijelu izjavu auth brisanjem svih kosih crta i zvjezdica i zamijenite user i pass b> direktive prema tome kako je predloženo na donjem snimku ekrana.

nano web_server.conf

Korak 4: Dodajte pravilo zaštitnog zida i pokrenite Log.io aplikaciju

9. Da biste dobili pristup webu Log.io serveru dodajte pravilo na RHEL/CentOS 7 zaštitni zid da otvorite TCP 28778 port izdavanjem sljedeće naredbe.

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

Napomena: Korisnici RHEL/CentOS 6.x mogu otvoriti port 28778 na iptable firewall-u.

Korak 5: Pokrenite Log.io aplikaciju i uđite u Web Interface

10. Da biste pokrenuli Log.io aplikaciju za praćenje dnevnika, uvjerite se da je vaš trenutni radni direktorij korijenski .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 server pokrenut, otvorite pretraživač, unesite IP vašeg servera, a zatim broj porta 28778 koristeći HTTP protokol na URL adresi i trebao bi se pojaviti prompt koji zahtijeva vaše akreditive za prijavu .

Unesite svog korisnika i lozinku konfigurisanu u korak 8 da nastavite dalje i Log.io aplikacija bi sada trebala biti vidljiva na vašem pretraživaču i predstavlja nadgledane log fajlove u realnom vremenu.

http://192.168.1.20:28778

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

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

pkill node

Korak 6: Kreirajte Log.io Manage Script

13. Da biste koristili komandu koja upravlja aplikacijom Log.io sa tri prekidača ( start, stop i status) kreirajte sljedeću skriptu pod nazivom log.io na /usr/local/bin izvršnom direktoriju i dodajte dozvole za izvršavanje ovoj skripti.

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

Dodajte sljedeći izvod ovoj skripti.

#!/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. Da biste pokrenuli, zaustavili ili pregledali Log.io status prijavljivanja s root računom (ili korisnika na kojem je Log.io aplikacija instalirana) i samo pokrenite sljedeće komande da lako upravljate aplikacijom.

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

To je sve! Po mom mišljenju Log.io je odlična i efikasna web aplikacija za nadgledanje datoteka dnevnika lokalnih ili udaljenih servera u stvarnom vremenu i sticanje uvida o tome šta se dešava interno u sistemima, a posebno za otklanjanje grešaka na serverima kada sistemi imaju tendenciju da prestanu da reaguju ili da se ruše, bez potrebe za korišćenjem konzole.