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 NPM – Node 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.
- 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 - 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
- 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.