Vyhledávání na webu

Monitorujte protokoly serveru v reálném čase pomocí nástroje „Log.io“ na RHEL/CentOS 7/6


Log.io je malá jednoduchá, ale efektivní aplikace postavená na Node.js a Socket.io, která umožňuje sledovat protokol serverů Linux soubory v reálném čase prostřednictvím widgetů na obrazovce webového rozhraní.

Tento výukový program vás provede instalací a monitorováním jakýchkoli místních souborů protokolu v reálném čase pomocí Log.io nainstalovaného na RHEL/CentOS 7/6.x pomocí konfigurace Log.io soubor harvesteru pro sledování jakýchkoli místních změn v souborech protokolu.

Krok 1: Přidejte úložiště Epel

1. Úložiště CentOS Epel poskytuje binární balíčky pro Node.js a NPMNode Packaged Modules . Nainstalujte úložiště Epel vydáním následujícího příkazu.

Na RHEL/CentOS 7
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Na RHEL/CentOS 6
--------------------- 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. Po přidání Epel Repos do systému proveďte aktualizaci systému spuštěním následujícího příkazu.

yum update

Krok 2: Nainstalujte balíčky Node.js a NPM

3. Node.js je Javascriptová programovací platforma na straně serveru, která umožňuje vytvářet síťové aplikace s backendovými funkcemi. NPM (Node Package Manager) je prakticky správce balíčků pro Node.js. V dalším kroku tedy pokračujte a nainstalujte do svého systému binární soubory Node.js a NMP prostřednictvím správce balíčků YUM vydáním následujících příkazů.


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

Krok 3: Nainstalujte a nakonfigurujte aplikaci Log.io

4. Aplikace Log.io musí být nainstalována do vašeho systému prostřednictvím NPM zadáním platného místního systémového uživatele, přes kterého musí instalace probíhat. I když k instalaci Log.io můžete použít libovolného platného uživatele systému, osobně doporučuji nainstalovat aplikaci prostřednictvím root uživatele nebo jiného systémového uživatele s právy root.

Důvodem pro použití tohoto přístupu je to, že Log.io musí mít přístup ke čtení souborů místního protokolu a uživatel s neoprávněnými kořenovými právy obvykle nemá přístup k některým důležitým souborům protokolu a nemůže je číst.

Přihlaste se tedy pomocí účtu root a nainstalujte aplikaci Log.io prostřednictvím účtu root vydáním následujícího příkazu (pokud používáte jiného uživatele, nahraďte účet root svým systémovým uživatelem).

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

5. Po instalaci aplikace změňte svůj pracovní adresář na složku Log.io, která je skrytá, a proveďte výpis adresáře pro zobrazení obsahu složky, abyste mohli nakonfigurovat aplikaci dále.

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

6. Nyní je čas nakonfigurovat Log.io tak, aby monitoroval soubory místních protokolů v reálném čase. Pojďme se podívat na to, jak Log.io funguje.

  1. Soubor harvester sleduje změny v zadaných souborech místního protokolu deklarovaných ve své konfiguraci a odesílá svůj výstup přes socket.io TCP
    protokol, který dále zasílá zprávy na lokální server Log.io nebo jakýkoli jiný vzdálený server deklarovaný svou IP adresou (adresa 0.0.0.0 uvedená na harvesteru vysílá na všechny naslouchací servery log.io) – soubor harvester.conf
  2. Server Log.io se váže na všechna síťová rozhraní (pokud není v souboru log_server.conf uvedeno jinak) a čeká na zprávy z lokálních nebo vzdálených uzlů harvesterů a jejich výstup odesílá na webový server log.io (0.0.0.0 znamená, že čeká na zprávy z libovolného místního nebo vzdáleného harvestoru) soubor log_server.conf
  3. Webový server Log.io se váže na všechna síťová rozhraní, naslouchá připojení webových klientů na portu 28778 a zpracovává a vydává zprávy, které interně přijímá ze serveru log.io – soubor web_server.conf

Nejprve otevřete soubor harvester.conf pro úpravy, který ve výchozím nastavení monitoruje pouze soubory protokolu Apache, a nahraďte příkaz nodeName tak, aby odpovídal vašemu názvu hostitele a definoval logStreams příkazy s jakými interními soubory protokolu chcete monitorovat (v tomto případě sleduji více souborů protokolu, jako jsou audit, zprávy a zabezpečené protokoly). Použijte níže uvedený úryvek jako vodítko.

nano harvester.conf

Výňatek ze souboru Harvestor.

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

Pokud také nepotřebujete, aby byl výstup harvesteru odesílán na vzdálený server Log.io, změňte řádek hostitel na příkazu server tak, aby byl pouze odesílán jeho výstup lokálně úpravou adresy 0.0.0.0 pomocí adresy zpětné smyčky (127.0.0.1).

7. Pokud z bezpečnostních důvodů neočekáváte výstup vzdáleného harvestoru na váš místní server Log.io, otevřete soubor log_server.conf a nahraďte < b>0.0.0.0 adresa s adresou zpětné smyčky (127.0.0.1).

nano log_server.conf

8. Na straně webového serveru lze použít další bezpečnostní funkce, jako je přihlášení pomocí přihlašovacích údajů, HTTPS nebo omezení na základě IP adres na webový server Log.io. Pro tento tutoriál použiji pouze jako bezpečnostní opatření pouze přihlašovací údaje.

Otevřete tedy soubor web_server.conf, odkomentujte celý příkaz auth odstraněním všech lomítek a hvězdiček a nahraďte user a pass b> direktivy odpovídajícím způsobem, jak je navrženo na spodním snímku obrazovky.

nano web_server.conf

Krok 4: Přidejte pravidlo brány firewall a spusťte aplikaci Log.io

9. Chcete-li získat webový přístup k serveru Log.io, přidejte pravidlo na RHEL/CentOS 7 Firewall otevřete port TCP 28778 zadáním následujícího příkazu.

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

Poznámka: Uživatelé RHEL/CentOS 6.x mohou otevřít port 28778 na iptable firewallu.

Krok 5: Spusťte aplikaci Log.io a vstupte do webového rozhraní

10. Chcete-li spustit aplikaci pro sledování protokolů Log.io, ujistěte se, že váš aktuální pracovní adresář je domovským adresářem uživatele root .log.io a použijte následující příkazy v následujícím pořadí pro spuštění aplikace.

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

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

11. Po spuštění serveru otevřete prohlížeč, zadejte IP adresu svých serverů a poté číslo portu 28778 pomocí protokolu HTTP na adrese URL a měla by se objevit výzva k zadání přihlašovacích údajů. .

Chcete-li pokračovat dále, zadejte své uživatele a heslo nakonfigurované v kroku 8 a aplikace Log.io by nyní měla být viditelná ve vašem prohlížeči a zobrazovat monitorované soubory protokolu v reálném čase.

http://192.168.1.20:28778

Na webovém rozhraní přidejte nové obrazovky a podle toho uspořádejte své streamy nebo uzly.

12. Chcete-li zastavit aplikaci Log.io, spusťte následující příkaz.

pkill node

Krok 6: Vytvořte skript pro správu Log.io

13. Chcete-li použít příkaz, který spravuje aplikaci Log.io pomocí tří přepínačů ( start, stop a status) vytvořte následující skript s názvem log.io ve spustitelném adresáři /usr/local/bin a připojte k tomuto skriptu oprávnění ke spuštění.

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

Přidejte do tohoto souboru skriptu následující úryvek.

#!/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. Chcete-li spustit, zastavit nebo zobrazit stav Log.io přihlášení pomocí účtu root (nebo uživatele, u kterého byla nainstalována aplikace Log.io) a jednoduše spusťte následující příkazy pro snadnou správu aplikace.

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

To je vše! Podle mého názoru je Log.io vynikající a efektivní webová aplikace pro sledování souborů protokolů místních nebo vzdálených serverů v reálném čase a získání přehledu o tom, co se děje interně v systémech, a zejména pro ladění problémů se serverem, když systémy mají tendenci přestat reagovat nebo padat, aniž by bylo nutné používat konzoli.