Jälgige serverilogisid reaalajas RHEL/CentOS 7/6 tööriista "Log.io" abil


Log.io on väike lihtne, kuid tõhus rakendus, mis põhineb Node.js ja Socket.io peal, mis võimaldab jälgida Linuxi serverite logi failid reaalajas veebiliidese ekraani vidinate kaudu.

See õpetus annab teile teada, kuidas saate kõiki kohalikke logifaile reaalajas installida ja jälgida, kui Log.io on installitud RHEL/CentOS 7/6.x-le, seadistades Log.io harvesterifail logifailide kohalike muudatuste jälgimiseks.

1. samm: lisage Epeli hoidlad

1. CentOS Epeli hoidlad pakuvad binaarpakette Node.js ja NPM - Node pakettmoodulid jaoks. Installige Epeli hoidlad, väljastades järgmise käsu.

# 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. Pärast Epeli repode oma süsteemi lisamist tehke süsteemi uuendus, käivitades järgmise käsu.

# yum update

2. samm: installige Node.js ja NPM paketid

3. Node.js on Javascripti serveripoolne programmeerimisplatvorm, mis võimaldab teil luua taustaprogrammi funktsioonidega võrgurakendusi. NPM (sõlmpakettide haldur) on praktiliselt Node.js-i paketihaldur. Niisiis, minge järgmisele sammule ja installige NUM.js ja NMP kahendfailid oma süsteemi YUM-i paketihalduri kaudu, väljastades järgmised käsud.

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

3. samm: installige ja konfigureerige Log.io rakendus

4. Log.io rakendus tuleb teie süsteemi installida NPM-i kaudu, määrates kehtiva kohaliku süsteemi kasutaja, mille kaudu installimine peab toimuma. Kuigi saate Log.io installimiseks kasutada mis tahes kehtivat süsteemikasutajat, soovitan isiklikult rakenduse installida root kasutaja või muu root-õigustega süsteemi kasutaja kaudu.

Selle lähenemise kasutamise põhjuseks on see, et rakendusel Log.io peab olema juurdepääs kohalike logifailide lugemiseks ja kasutajal, kellel pole õigusi juurõigustega, ei ole tavaliselt juurdepääsu mõnele olulisele logifailile ja seda ei saa lugeda.

Niisiis, logige sisse juurkontoga ja installige rakendus Log.io juurkonto kaudu, väljastades järgmise käsu (kui kasutate muud kasutajat, asendage juurkonto vastavalt oma süsteemikasutajaga).

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

5. Pärast rakenduse installimist muutke oma töökataloog kaustaks Log.io , mis on peidetud, ja tehke kataloogi loend kausta sisu visualiseerimiseks, et rakendust veelgi konfigureerida.

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

6. Nüüd on aeg seadistada Log.io kohalike logifailide reaalajas jälgimiseks. Saame teada, kuidas Log.io töötab.

  1. Harvesteri fail jälgib muudatusi määratud konfiguratsioonis deklareeritud kohalikes logifailides ja saadab väljundi socket.io TCP kaudu
    protokoll, mis saadab sõnumeid edasi Log.io lokaalserverisse või mõnda muusse kaugserverisse, mis on deklareeritud koos oma IP-aadressiga (harvesterites määratud 0.0.0.0 aadress edastab kõik log.io kuulamisserverid) - fail harvester.conf
  2. Log.io server seob kõik võrguliidesed (kui failis log_server.conf pole teisiti määratletud) ja ootab kohalike või kaugkombainide sõlmede teateid ning saadab nende väljundi log.io veebiserverisse (0.0.0.0 tähendab, et ootab sõnumeid mis tahes kohalikult või kaugkombainilt) fail log_server.conf
  3. Log.io veebiserver seob kõik võrguliidesed, kuulab veebiklientide ühendusi pordil 28778 ning töötleb ja väljastab log.io serverilt sisemiselt vastuvõetud sõnumeid - fail web_server.conf

Esmalt avage redigeerimiseks fail harvester.conf , mis vaikimisi jälgib ainult Apache'i logifaile, ja asendage lause nodeName teie hosti nimega ja määratlege logStreams avaldused sisemiste logifailidega, mida soovite jälgida (sellisel juhul jälgin mitut logifaili, näiteks auditit, sõnumeid ja turvalisi logisid). Kasutage juhendina allolevat faili väljavõtet.

# nano harvester.conf

Harvesteri faili väljavõte.

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

Samuti, kui te ei vaja kombaineri väljundi saatmist kaugserverisse Log.io , muutke serveri lause rida host ainult saatmiseks selle väljundi lokaalselt, muutes 0.0.0.0 aadressi loopback-aadressiga ( 127.0.0.1) .

7. Turvalisuse huvides, kui te ei looda kaugkombainide väljundit oma kohalikku Log.io serverisse, avage fail log_server.conf ja asendage 0.0.0.0 loopback-aadressiga aadress ( 127.0.0.1 ).

# nano log_server.conf

8. Veebiserveri poolel saab rakendada muid turvaelemente, näiteks mandaatide sisselogimist, HTTPS-i või Log.io veebiserveri IP-dele tuginevaid piiranguid. Selle õpetuse jaoks kasutan turvameetmena ainult mandaadi sisselogimist.

Niisiis, avage fail web_server.conf , tühjendage kogu lause auth kommenteerimine, kustutades kõik kaldkriipsud ja tärnid ning asendades kasutaja ja edasi direktiivid vastavalt alumisele ekraanipildile.

# nano web_server.conf

4. samm: lisage tulemüüri reegel ja käivitage rakendus Log.io

9. Veebijuurdepääsu saamiseks serverisse Log.io lisage reegel saidile RHEL / CentOS 7 tulemüüris, et avada TCP 28778 port, väljastades järgmise käsu.

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

Märkus. RHEL/CentOS 6.x kasutajad saavad iptable tulemüüris avada porti 28778 .

5. samm: käivitage rakendus Log.io ja sisestage veebiliides

10. Logi Logi.io logiseirerakenduse käivitamiseks veenduge, et teie praegune töökataloog oleks juure kodu .log.io ja kasutage alustamiseks järgmisi käske järgmises järjekorras rakendus.

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

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

11. Pärast serveri käivitamist avage brauser, sisestage oma serverite IP ja seejärel 28778 pordi number, kasutades URL-i aadressil HTTP-protokolli, ja ilmuma peaks viip, mis nõuab teie sisselogimisandmeid.

Jätkamiseks sisestage etapis 8 konfigureeritud kasutaja ja parool ning rakendus Log.io peaks nüüd olema teie brauseris nähtav, esitades jälgitavaid logifaile reaalajas.

http://192.168.1.20:28778

Veebiliideses lisage uued ekraanid ja korraldage oma voogud või sõlmed vastavalt.

12. Rakenduse Log.io peatamiseks käivitage järgmine käsk.

# pkill node

6. samm: looge Log.io skripti haldamine

13. Käsu kasutamiseks, mis haldab rakendust Log.io kolme lülitiga ( start , stop ja status ) looge järgmine skript nimega log.io käivitatavas kataloogis /usr/local/bin ja lisage sellele skriptile täitmisõigused.

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

Lisage sellele skriptifailile järgmine väljavõte.

#!/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. Log.io oleku sisselogimise alustamiseks, peatamiseks või vaatamiseks juurkontoga (või kasutajaga, kelle rakendus Log.io on installitud) ja käivitage rakenduse hõlpsaks haldamiseks järgmised käsud.

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

See on kõik! Minu arvates on Log.io suurepärane ja tõhus veebirakendus kohalike või kaugserverite logifailide jälgimiseks reaalajas ja annab ülevaate süsteemides sisemiselt toimuvast ning eriti serveri probleemide silumiseks süsteemid kipuvad reageerima või kokku jooksma, ilma et oleks vaja konsooli kasutada.