Weboldal keresés

A szervernaplók valós idejű megfigyelése a „Log.io” eszközzel az RHEL/CentOS 7/6 rendszeren


A Log.io egy kicsi, egyszerű, de hatékony alkalmazás, amely a Node.js és Socket.io tetejére épül, amely lehetővé teszi a Linux szerverek naplójának figyelését fájlokat valós időben a webes felület képernyő widgetjein keresztül.

Ez az oktatóanyag végigvezeti Önt, hogyan telepíthet és figyelhet meg valós időben bármilyen helyi naplófájlt a Log.io konfigurálásával az RHEL/CentOS 7/6.x rendszeren telepített Log.io segítségével. b> harvester fájlt a naplófájlok helyi változásainak figyeléséhez.

1. lépés: Epel-tárak hozzáadása

1. A CentOS Epel adattárai biztosítják a Node.js és az NPMNode Packaged Modules – bináris csomagjait . Telepítse az Epel-tárolókat a következő parancs kiadásával.

RHEL/CentOS 7 rendszeren
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
RHEL/CentOS 6 rendszeren
--------------------- 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. Miután hozzáadta az Epel Repost a rendszeréhez, hajtsa végre a rendszerfrissítést a következő parancs futtatásával.

yum update

2. lépés: Telepítse a Node.js és az NPM-csomagokat

3. A Node.js egy Javascript szerveroldali programozási platform, amely lehetővé teszi hálózati alkalmazások létrehozását háttérfunkciókkal. Az NPM (Node Package Manager) gyakorlatilag a Node.js csomagkezelője. Tehát a következő lépésben telepítse a Node.js és NMP bináris fájlokat a rendszerére a YUM csomagkezelőn keresztül a következő parancsok kiadásával.


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

3. lépés: Telepítse és konfigurálja a Log.io alkalmazást

4. A Log.io alkalmazást az NPM-en keresztül kell telepíteni a rendszerére egy érvényes helyi rendszerfelhasználó megadásával, amelyen keresztül a telepítésnek meg kell történnie. Bár bármely érvényes rendszerfelhasználót használhatja a Log.io telepítéséhez, én személy szerint azt javaslom, hogy az alkalmazást root felhasználón vagy más rendszerfelhasználón keresztül telepítse root jogosultságokkal.

Ennek a megközelítésnek az az oka, hogy a Log.io-nak hozzáféréssel kell rendelkeznie a helyi naplófájlok olvasásához, és a nem jogosultságokkal rendelkező root jogosultságokkal rendelkező felhasználók általában nem férhetnek hozzá és nem olvashatnak néhány fontos naplófájlt.

Tehát jelentkezzen be root fiókkal, és telepítse a Log.io alkalmazást a root fiókon keresztül a következő parancs kiadásával (ha másik felhasználót használ, cserélje le a root fiókot a rendszerfelhasználójával).

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

5. Az alkalmazás telepítése után módosítsa a munkakönyvtárat Log.io mappára, amely rejtett, és készítsen egy könyvtárlistát a mappa tartalmának megjelenítéséhez, és konfigurálja a alkalmazás tovább.

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

6. Itt az ideje, hogy beállítsa a Log.io fájlt a helyi naplófájlok valós időben történő figyelésére. Nézzük meg, hogyan működik a Log.io.

  1. A harvester fájl figyeli a konfigurációjában deklarált meghatározott helyi naplófájlok változásait, és a kimenetet a socket.io TCP-n keresztül küldi el.
    protokoll, amely továbbküldi az üzeneteket a Log.io helyi szervernek vagy bármely más távoli szervernek, amely az IP-címével (a 0.0.0.0 cím van megadva, amely az összes log.io figyelő szerverre sugárzott harvestereken) – harvester.conf
  2. A Log.io szerver az összes hálózati interfészen kötődik (ha a log_server.conf fájlban nincs másként megadva), és várja a helyi vagy távoli betakarító csomópontok üzeneteit, és elküldi a kimenetüket a log.io webszervernek (a 0.0.0.0 azt jelenti, hogy várja az üzeneteket bármely helyi vagy távoli betakarítóból) log_server.conf fájlból
  3. A Log.io webszerver minden hálózati interfészen kötődik, figyeli a webes kliensek kapcsolatait a 28778-as porton, valamint feldolgozza és kiadja a log.io szervertől kapott üzeneteket – web_server.conf fájl

Először nyissa meg szerkesztésre a harvester.conf fájlt, amely alapértelmezés szerint csak az Apache naplófájljait figyeli, és cserélje ki a nodeName utasítást, hogy megfeleljen a gazdagépnévnek, és határozza meg a logStreams fájlt. > utasításokat, amelyekkel milyen belső naplófájlokat szeretne figyelni (ebben az esetben több naplófájlt figyelek, például auditot, üzeneteket és biztonságos naplókat). Használja útmutatóként az alábbi fájlrészletet.

nano harvester.conf

Harvester fájl kivonat.

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

Ha nincs szüksége a harvester kimenetének elküldésére egy távoli Log.io kiszolgálóra, módosítsa a host sort a server utasításban, hogy csak küldjön a kimenete helyileg a 0.0.0.0 cím visszacsatolási címmel (127.0.0.1) történő módosításával.

7. Biztonsági okokból, ha nem vár távoli betakarítók kimenetét a helyi Log.io szerverre, nyissa meg a log_server.conf fájlt, és cserélje ki a következőt: b>0.0.0.0 cím hurokcímmel (127.0.0.1).

nano log_server.conf

8. Más biztonsági funkciók, például a hitelesítő adatokkal való bejelentkezés, a HTTPS vagy a Log.io webszerver IP-címén alapuló korlátozása alkalmazhatók a webszerver oldalon. Ebben az oktatóanyagban biztonsági intézkedésként csak a hitelesítő adatokkal való bejelentkezést használom.

Tehát nyissa meg a web_server.conf fájlt, törölje a megjegyzéseket a teljes auth utasításból az összes perjel és csillag törlésével, és cserélje ki a user és a passt. b> direktívákat ennek megfelelően az alsó képernyőképen javasolt módon.

nano web_server.conf

4. lépés: Adja hozzá a tűzfalszabályt, és indítsa el a Log.io alkalmazást

9. A Log.io szerver webes hozzáférése érdekében adjon hozzá egy szabályt a RHEL/CentOS 7 tűzfalhoz a 28778 TCP port megnyitásához a következő parancs kiadásával.

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

Megjegyzés: Az RHEL/CentOS 6.x felhasználók megnyithatják a 28778 portot az iptable tűzfalán.

5. lépés: Indítsa el a Log.io alkalmazást, és lépjen be a webes felületbe

10. A Log.io naplófigyelő alkalmazás elindításához győződjön meg arról, hogy az aktuális munkakönyvtár a root kezdőlapja .log.io, és használja a következőt parancsokat a következő sorrendben az alkalmazás elindításához.

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

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

11. Miután a szerver elindult, nyisson meg egy böngészőt, írja be a szerver IP-címét, majd a 28778 portszámot HTTP-protokoll használatával az URL-címen, és meg kell jelennie a bejelentkezési adatait kérő üzenetnek. .

A továbblépéshez adja meg a 8. lépésben beállított felhasználóját és jelszavát, és a Log.io alkalmazásnak most már láthatónak kell lennie a böngészőjében, és valós időben megjeleníti a felügyelt naplófájlokat.

http://192.168.1.20:28778

A webes felületen adjon hozzá új képernyőket, és ennek megfelelően rendezze adatfolyamait vagy csomópontjait.

12. A Log.io alkalmazás leállításához futtassa a következő parancsot.

pkill node

6. lépés: Hozzon létre Log.io Manage Script

13. A Log.io alkalmazást kezelő parancs használatához három kapcsolóval ( start, stop és status) hozza létre a következő log.io nevű szkriptet a /usr/local/bin végrehajtható könyvtárban, és fűzze hozzá a végrehajtási engedélyeket ehhez a szkripthez.

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

Adja hozzá a következő kivonatot ehhez a szkriptfájlhoz.

#!/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. A Log.io állapotának elindításához, leállításához vagy megtekintéséhez a bejelentkezés root fiókkal (vagy azzal a felhasználóval, akire a Log.io alkalmazás telepítve van), és egyszerűen futtassa a következő parancsokat az alkalmazás egyszerű kezeléséhez.

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

Ez minden! Véleményem szerint a Log.io egy kiváló és hatékony webes alkalmazás a helyi vagy távoli kiszolgálók naplófájljainak valós idejű figyelésére, és kitekintést kap a rendszerek belső folyamatairól, és különösen a szerverproblémák elhárítására. A rendszerek általában nem válaszolnak vagy összeomlanak anélkül, hogy konzolt kellene használni.