Stebėkite serverio žurnalus realiuoju laiku naudodami „Log.io“ įrankį, esantį RHEL/CentOS 7/6


Log.io yra maža paprasta, bet efektyvi programa, sukurta ant Node.js ir Socket.io , leidžianti stebėti „Linux“ serverių žurnalą failus realiu laiku per žiniatinklio sąsajos ekrano valdiklius.

Šioje instrukcijoje bus nurodyta, kaip galite realiuoju laiku įdiegti ir stebėti bet kokius vietinius žurnalo failus naudodami Log.io , įdiegtą RHEL/CentOS 7/6.x, sukonfigūruodami Log.io derliaus failas, skirtas stebėti visus vietinius žurnalo failų pakeitimus.

1 veiksmas: pridėkite „Epel“ saugyklas

1. „CentOS Epel “ saugyklose pateikiami dvejetainiai paketai, skirti Node.js ir NPM - mazgų supakuoti moduliai . Įdiekite „Epel“ saugyklas išleisdami šią komandą.

# 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. Įtraukę Epel Repos į savo sistemą, atlikite sistemos atnaujinimą vykdydami šią komandą.

# yum update

2 žingsnis: įdiekite „Node.js“ ir „NPM Packages“

3. Node.js yra „Javascript“ serverio pusės programavimo platforma, leidžianti kurti tinklo programas su backend funkcijomis. NPM („Node Package Manager“) yra „Node.js“ paketų tvarkyklė. Taigi, atlikdami kitą žingsnį, įdiekite „Node.js“ ir „NMP“ dvejetainius failus į savo sistemą per „YUM“ paketų tvarkytuvę, pateikdami šias komandas.

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

3 žingsnis: įdiekite ir konfigūruokite „Log.io“ programą

4. Log.io programa turi būti įdiegta jūsų sistemoje per NPM nurodant galiojantį vietinės sistemos vartotoją, per kurį turi būti atliekamas diegimas. Nors jūs galite naudoti bet kurį galiojantį sistemos vartotoją, norėdami įdiegti „Log.io“, aš asmeniškai rekomenduoju įdiegti programą per root vartotoją arba kitą sistemos naudotoją, turinčią root teises.

Šio metodo taikymo priežastis yra ta, kad Log.io turi turėti prieigą skaityti lokaliai žurnalo failus, o vartotojas, neturintis privilegijų pagrindinių teisių, paprastai negali pasiekti ir skaityti kai kurių svarbių žurnalo failų.

Taigi, prisijunkite naudodami „root“ paskyrą ir įdiekite „Log.io“ programą per šakninę paskyrą, pateikdami šią komandą (jei naudojate kitą vartotoją, atitinkamai pakeiskite „root“ paskyrą savo sistemos vartotoju).

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

5. Įdiegę programą, pakeiskite savo darbo katalogą į Log.io aplanką, kuris yra paslėptas, ir atlikite katalogų sąrašą, kad vizualizuotumėte aplanko turinį, kad galėtumėte toliau sukonfigūruoti programą.

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

6. Dabar atėjo laikas sukonfigūruoti Log.io , kad realiu laiku būtų galima stebėti vietinius žurnalo failus. Pažvelkime į tai, kaip veikia Log.io.

  1. derliaus nuėmimo failas stebi pakeitimus nurodytuose vietiniuose žurnalo failuose, kurie deklaruojami jo konfigūracijoje, ir siunčia savo išvestį per socket.io TCP
    protokolas, kuris toliau siunčia pranešimus į „Log.io“ vietinį serverį ar bet kurį kitą nuotolinį serverį, deklaruotą su jo IP adresu (0.0.0.0 adresas, nurodytas kombainuose, transliuojamas į visus „log.io“ klausymo serverius) - failas harvester.conf
  2. „Log.io“ serveris susieja visas tinklo sąsajas (jei faile „log_server.conf“ nenurodyta kitaip) ir laukia pranešimų iš vietinių ar nuotolinių derliaus nuėmimo mazgų ir siunčia jų išvestį į log.io žiniatinklio serverį (0.0.0.0 reiškia, kad jis laukia pranešimų iš bet kurio vietinio ar nuotolinio kombainų) failo log_server.conf
  3. „Log.io“ žiniatinklio serveris susieja visas tinklo sąsajas, išklauso žiniatinklio klientų ryšius 28778 prievade ir apdoroja bei išleidžia pranešimus, kuriuos viduje gauna iš „log.io“ serverio - failas web_server.conf

Pirmiausia redagavimui atidarykite failą harvester.conf , kuris pagal numatytuosius nustatymus stebi tik „Apache“ žurnalo failus, ir pakeiskite nodeName sakinį, kad jis atitiktų jūsų pagrindinio kompiuterio pavadinimą ir apibrėžtų logStreams teiginiai su kokiais vidiniais žurnalo failais norite stebėti (šiuo atveju stebiu kelis žurnalo failus, pvz., auditą, pranešimus ir saugius žurnalus). Kaip vadovą naudokite toliau pateiktą failo ištrauką.

# nano harvester.conf

Kombaino bylos ištrauka.

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

Taip pat, jei nereikia, kad derliaus nuėmimo įrenginys būtų siunčiamas į nuotolinį Log.io serverį, pakeiskite serverio serverio sakinio eilutę siųsti jos išvestis lokaliai modifikuojant 0.0.0.0 adresą su atgalinio ryšio adresu ( 127.0.0.1) .

7. Saugumo sumetimais, jei nesitikite nuotolinio kombainų išvedimo į vietinį Log.io serverį, atidarykite failą log_server.conf ir pakeiskite 0.0.0.0 adresas su atgalinio ryšio adresu ( 127.0.0.1 ).

# nano log_server.conf

8. Kitos saugos funkcijos, tokios kaip prisijungimo duomenų prisijungimas, HTTPS arba apribojimai, pagrįsti IP į „Log.io“ tinklo serverį, gali būti naudojami žiniatinklio serverio pusėje. Šioje pamokoje kaip saugumo priemonę naudosiu tik prisijungimo duomenis.

Taigi atidarykite failą web_server.conf , atžymėkite visą auth sakinį ištrindami visus pasviruosius brūkšnelius ir žvaigždutes ir pakeiskite user ir pass direktyvos atitinkamai, kaip siūloma apatiniame ekrano kopija.

# nano web_server.conf

4 žingsnis: pridėkite užkardos taisyklę ir paleiskite „Log.io“ programą

9. Norėdami gauti prieigą prie serverio Log.io , pridėkite taisyklę RHEL / CentOS 7 užkardoje, kad atidarytumėte TCP 28778 uostas išduodamas šią komandą.

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

Pastaba: RHEL/CentOS 6.x vartotojai gali atidaryti „iptable“ užkardos prievadą 28778 .

5 žingsnis: Paleiskite „Log.io“ programą ir įveskite žiniatinklio sąsają

10. Norėdami paleisti žurnalo stebėjimo programą Log.io , įsitikinkite, kad dabartinis jūsų darbo katalogas yra pagrindinis šakninis .log.io ir pradėkite naudodami šias komandas tokia tvarka taikymas.

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

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

11. Paleidus serverį, atidarykite naršyklę, įveskite savo serverio IP ir 28778 prievado numerį, naudodami HTTP protokolą URL adrese, ir turėtų pasirodyti raginimas, reikalaujantis prisijungimo duomenų.

Įveskite savo vartotoją ir slaptažodį, sukonfigūruotą atlikdami 8 veiksmą , kad tęstumėte toliau, o programa Log.io dabar turėtų būti matoma jūsų naršyklėje, realiuoju laiku pateikiant stebimus žurnalo failus.

http://192.168.1.20:28778

Žiniatinklio sąsajoje pridėkite naujų ekranų ir atitinkamai sutvarkykite srautus ar mazgus.

12. Norėdami sustabdyti programą Log.io , vykdykite šią komandą.

# pkill node

6 veiksmas: sukurkite „Log.io“ tvarkymo scenarijų

13. Norėdami naudoti komandą, valdančią programą Log.io su trimis jungikliais ( paleidimas , sustabdymas ir būsena ) sukurkite šį scenarijų pavadinimu log.io vykdomajame kataloge /usr/local/bin ir pridėkite vykdymo teises prie šio scenarijaus.

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

Prie šio scenarijaus failo pridėkite šią ištrauką.

#!/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. Norėdami paleisti, sustabdyti arba peržiūrėti „Log.io“ būsenos prisijungimą su pagrindine paskyra (arba vartotoju, kuriame įdiegta „Log.io“ programa) ir tiesiog paleiskite šias komandas, kad galėtumėte lengvai valdyti programą.

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

Tai viskas! Mano manymu, Log.io yra puiki ir efektyvi žiniatinklio programa, skirta stebėti vietinius ar nuotolinius serverius. Žurnalo failai realiuoju laiku stebimi ir išryškinama, kas vyksta sistemoje, ypač derinant serverio problemas, kai sistemos paprastai nereaguoja arba sugenda, nereikia naudoti konsolės.


Visos teisės saugomos. © Linux-Console.net • 2019-2024