Tarkkaile palvelimen lokeja reaaliajassa "Log.io"-työkalulla RHEL/CentOS 7/6:ssa


Log.io on pieni yksinkertainen mutta tehokas sovellus, joka on rakennettu Node.js:n ja Socket.io:n päälle ja jonka avulla voidaan seurata Linux-palvelinlokia. tiedostot reaaliajassa verkkokäyttöliittymän näytön widgetien kautta.

Tämä opetusohjelma opastaa sinua kuinka voit asentaa ja valvoa paikallisia lokitiedostoja reaaliajassa Log.io:n avulla, joka on asennettu RHEL/CentOS 7/6.x:ään määrittämällä Log.io. b> harvester-tiedosto seurataksesi lokitiedostojen paikallisia muutoksia.

Vaihe 1: Lisää Epel-varastot

1. CentOS:n Epel -tietovarastot tarjoavat binääripaketit Node.js:lle ja NPMNode Packaged Modules . Asenna Epel-varastot antamalla seuraava komento.

RHEL/CentOS 7:ssä
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
RHEL/CentOS 6:ssa
--------------------- 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. Kun olet lisännyt järjestelmääsi Epel Reposin, suorita järjestelmäpäivitys suorittamalla seuraava komento.

yum update

Vaihe 2: Asenna Node.js ja NPM-paketit

3. Node.js on Javascript-palvelinpuolen ohjelmointialusta, jonka avulla voit luoda verkkosovelluksia taustatoiminnoilla. NPM (Node Package Manager) on käytännössä Node.js:n paketinhallinta. Joten seuraavassa vaiheessa siirry eteenpäin ja asenna Node.js- ja NMP-binaarit järjestelmääsi YUM-paketinhallinnan kautta antamalla seuraavat komennot.


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

Vaihe 3: Asenna ja määritä Log.io-sovellus

4. Log.io-sovellus on asennettava järjestelmääsi NPM:n kautta määrittämällä kelvollinen paikallinen järjestelmän käyttäjä, jonka kautta asennus on suoritettava. Vaikka voit käyttää mitä tahansa kelvollista järjestelmän käyttäjää Log.io:n asentamiseen, suosittelen henkilökohtaisesti sovelluksen asentamista juurikäyttäjän tai muun järjestelmän käyttäjän kautta, jolla on pääkäyttäjän oikeudet.

Syy tähän lähestymistapaan on se, että Log.io:lla on oltava pääsy paikallisten lokitiedostojen lukemiseen, ja käyttäjä, jolla ei ole pääkäyttäjän oikeuksia, ei yleensä voi käyttää ja lukea tärkeitä lokitiedostoja.

Joten kirjaudu sisään root-tilillä ja asenna Log.io-sovellus root-tilin kautta antamalla seuraava komento (jos käytät toista käyttäjää, vaihda root-tili järjestelmäsi käyttäjällä vastaavasti).

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

5. Kun sovellus on asennettu, muuta työhakemistosi Log.io-kansioon, joka on piilotettu, ja tee hakemistolistaus kansion sisällön visualisoimiseksi, jotta voit määrittää hakemus edelleen.

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

6. Nyt on aika määrittää Log.io valvomaan paikallisia lokitiedostoja reaaliajassa. Katsotaanpa, miten Log.io toimii.

  1. harvester-tiedosto tarkkailee määritetyissä paikallisissa lokitiedostoissa tehtyjä muutoksia, jotka on ilmoitettu sen määrityksissä ja lähettää tulostensa socket.io TCP:n kautta.
    protokolla, joka edelleen lähettää viestit paikalliselle Log.io-palvelimelle tai mille tahansa muulle IP-osoitteellaan ilmoitettuun etäpalvelimeen (harvestereissa määritetty 0.0.0.0-osoite kaikille log.io-kuuntelupalvelimille) – tiedosto harvester.conf
  2. Log.io-palvelin sitoutuu kaikissa verkkoliitännöissä (ellei log_server.conf-tiedostossa ole toisin määritetty) ja odottaa viestejä paikallisilta tai etäharvesterisolmuilta ja lähettää niiden tulosteen log.io-verkkopalvelimelle (0.0.0.0 tarkoittaa, että se odottaa viestejä mistä tahansa paikallisesta tai etäharvesterista) tiedosto log_server.conf
  3. Log.io-verkkopalvelin sitoutuu kaikissa verkkoliitännöissä, kuuntelee verkkoasiakkaiden yhteyksiä portissa 28778 ja käsittelee ja tulostaa viestit, jotka se vastaanottaa sisäisesti log.io-palvelimelta – tiedosto web_server.conf

Avaa ensin muokkausta varten harvester.conf-tiedosto, joka oletuksena valvoo vain Apachen lokitiedostoja, ja korvaa lauseke nodeName vastaamaan isäntänimeäsi ja määritä logStreams. > lausunnot, joiden sisäisiä lokitiedostoja haluat seurata (tässä tapauksessa valvon useita lokitiedostoja, kuten auditointia, viestejä ja suojattuja lokeja). Käytä alla olevaa tiedostoottetta oppaana.

nano harvester.conf

Harvesteritiedostoote.

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

Myös, jos et tarvitse harvesterin lähtöä lähetettäväksi Log.io-etäpalvelimelle, muuta palvelin-käskyn rivi host niin, että vain lähetä sen tulosteen paikallisesti muokkaamalla 0.0.0.0-osoitetta silmukan osoitteella (127.0.0.1).

7. Turvallisuussyistä, jos et odota etäharvestereiden tulosta paikalliselle Log.io-palvelimelle avaa log_server.conf-tiedosto ja korvaa b>0.0.0.0 osoite silmukkaosoitteella (127.0.0.1).

nano log_server.conf

8. Muita suojausominaisuuksia, kuten tunnistetietojen kirjautuminen, HTTPS tai Log.io-verkkopalvelimen IP-osoitteisiin perustuva rajoitus, voidaan käyttää verkkopalvelimen puolella. Käytän tässä opetusohjelmassa turvatoimenpiteenä vain kirjautumistietoa.

Joten avaa web_server.conf-tiedosto, poista kommentit koko auth-lauseesta poistamalla kaikki vinoviivat ja tähdet ja korvaa käyttäjä ja pass b> ohjeiden mukaisesti, kuten alemmassa kuvakaappauksessa ehdotetaan.

nano web_server.conf

Vaihe 4: Lisää palomuurisääntö ja käynnistä Log.io-sovellus

9. Saadaksesi verkkoyhteyden Log.io-palvelimeen lisää sääntö RHEL/CentOS 7 -palomuuriin avata TCP 28778 -portti antamalla seuraava komento.

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

Huomaa: RHEL/CentOS 6.x -käyttäjät voivat avata portin 28778 iptable-palomuurissa.

Vaihe 5: Käynnistä Log.io-sovellus ja siirry Web Interface

10. Käynnistä Log.io lokinvalvontasovellus varmistamalla, että nykyinen työhakemistosi on pääkäyttäjän kotiosoite .log.io ja käytä seuraavaa komennot seuraavassa järjestyksessä käynnistääksesi sovelluksen.

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

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

11. Kun palvelin on käynnistetty, avaa selain, kirjoita palvelimesi IP-osoite ja 28778-porttinumero käyttämällä HTTP-protokollaa URL-osoitteessa. Näkyviin tulee kehote, jossa pyydetään kirjautumistietojasi. .

Syötä vaiheessa 8 määritetty käyttäjä ja salasana jatkaaksesi eteenpäin, ja Log.io-sovelluksen pitäisi nyt näkyä selaimessasi ja näyttää valvotut lokitiedostot reaaliajassa.

http://192.168.1.20:28778

Verkkokäyttöliittymässä lisää uusia näyttöjä ja järjestä streamisi tai solmusi vastaavasti.

12. Pysäytä Log.io-sovellus suorittamalla seuraava komento.

pkill node

Vaihe 6: Luo Log.io Manage Script

13. Jotta voit käyttää komentoa, joka hallitsee Log.io-sovellusta kolmella kytkimellä ( käynnistys, stop ja status) luo seuraava komentosarja nimeltä log.io /usr/local/bin-suoritettavaan hakemistoon ja lisää suoritusoikeudet tähän komentosarjaan.

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

Lisää seuraava ote tähän komentosarjatiedostoon.

#!/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. Voit aloittaa, pysäyttää tai tarkastella Log.io-tilan kirjautumista root-tilillä (tai käyttäjällä, jolle Log.io-sovellus on asennettu) ja suorita seuraavat komennot sovelluksen hallintaa varten.

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

Siinä kaikki! Mielestäni Log.io on erinomainen ja tehokas verkkosovellus paikallisten tai etäpalvelimien lokitiedostojen tarkkailemiseen reaaliajassa ja näkemykseen järjestelmien sisäisistä tapahtumista ja erityisesti palvelinongelmien korjaamiseen, kun järjestelmät yleensä lakkaavat vastaamasta tai kaatuvat ilman konsolin käyttöä.