Monitorējiet servera žurnālus reāllaikā, izmantojot rīku Log.io RHEL/CentOS 7/6


Log.io ir maza vienkārša, bet efektīva lietojumprogramma, kas veidota virs Node.js un Socket.io , kas ļauj uzraudzīt Linux serveru žurnālu failus reāllaikā, izmantojot tīmekļa saskarnes ekrāna logrīkus.

Šī apmācība palīdzēs jums uzzināt, kā reāllaikā instalēt un pārraudzīt visus vietējos žurnālfailus, izmantojot Log.io , kas instalēts RHEL/CentOS 7/6.x, konfigurējot Log.io harvestera fails, lai uzraudzītu visas lokālās izmaiņas žurnāla failos.

1. darbība: pievienojiet Epel krātuves

1. CentOS Epel krātuves nodrošina bināros pakotnes Node.js un NPM - Node Packaged Modules . Instalējiet Epel krātuves, izsniedzot šādu komandu.

# 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ēc tam, kad esat savā sistēmā pievienojis Epel Repos , veiciet sistēmas jaunināšanu, izpildot šādu komandu.

# yum update

2. darbība: instalējiet Node.js un NPM pakotnes

3. Node.js ir Javascript servera puses programmēšanas platforma, kas ļauj jums izveidot tīkla lietojumprogrammas ar aizmugures funkcionalitāti. NPM (mezglu pakotņu pārvaldnieks) praktiski ir Node.js pakotņu pārvaldnieks. Tātad, nākamajā solī dodieties uz priekšu un instalējiet Node.js un NMP bināros failus savā sistēmā, izmantojot YUM pakotņu pārvaldnieku, izsniedzot šādas komandas.

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

3. darbība: instalējiet un konfigurējiet lietojumprogrammu Log.io

4. Log.io lietojumprogramma jāinstalē jūsu sistēmā, izmantojot NPM, norādot derīgu vietējās sistēmas lietotāju, caur kuru jāveic instalēšana. Lai gan Log.io instalēšanai varat izmantot jebkuru derīgu sistēmas lietotāju, es personīgi iesaku instalēt lietojumprogrammu, izmantojot root lietotāju vai citu sistēmas lietotāju ar root tiesībām.

Šīs pieejas izmantošanas iemesls ir tas, ka vietnei Log.io ir jābūt piekļuvei lokālu žurnālfailu lasīšanai un lietotājam ar root privilēģijām, kam nav privilēģiju, parasti nevar piekļūt dažiem svarīgiem žurnālfailiem un tos lasīt.

Tātad, piesakieties ar root kontu un instalējiet lietojumprogrammu Log.io, izmantojot root kontu, izsniedzot šādu komandu (ja izmantojat citu lietotāju, attiecīgi aizstājiet root kontu ar savu sistēmas lietotāju).

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

5. Pēc lietojumprogrammas instalēšanas nomainiet darba direktoriju uz mapi Log.io , kas ir paslēpta, un veiciet direktoriju sarakstu, lai vizualizētu mapes saturu, lai turpmāk konfigurētu lietojumprogrammu.

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

6. Tagad ir pienācis laiks konfigurēt Log.io , lai reāllaikā uzraudzītu vietējos žurnālfailus. Iepazīsimies ar Log.io darbību.

  1. Harvestera fails seko izmaiņām norādītajos lokālajos žurnāla failos, kas deklarēti tā konfigurācijā, un nosūta izvadi, izmantojot socket.io TCP
    protokols, kas tālāk nosūta ziņojumus uz Log.io vietējo serveri vai jebkuru citu attālo serveri, kas deklarēts ar tā IP adresi (novācēju raidījumos norādītā 0.0.0.0 adrese visiem log.io klausīšanās serveriem) - fails harvester.conf
  2. Log.io serveris sasaista visas tīkla saskarnes (ja failā log_server.conf nav norādīts citādi) un gaida ziņojumus no lokālajiem vai attālajiem kombainiem un nosūta to izvadi uz log.io tīmekļa serveri (0.0.0.0 nozīmē, ka tas gaida ziņojumus no vietējiem vai attāliem kombainiem) fails log_server.conf
  3. Log.io tīmekļa serveris saistās ar visām tīkla saskarnēm, klausās tīmekļa klientu savienojumus portā 28778 un apstrādā un izvada ziņojumus, kurus tas iekšēji saņem no log.io servera - fails web_server.conf

Vispirms rediģēšanai atveriet failu harvester.conf , kas pēc noklusējuma uzrauga tikai Apache žurnālfailus, un aizstājiet nodeName priekšrakstu, lai tas atbilstu jūsu resursdatora nosaukumam, un definējiet logStreams paziņojumi ar kādiem iekšējiem žurnāla failiem vēlaties uzraudzīt (šajā gadījumā es uzraugu vairākus žurnāla failus, piemēram, auditu, ziņojumus un drošus žurnālus). Izmantojiet zemāk esošo faila fragmentu kā ceļvedi.

# nano harvester.conf

Harvestera faila fragments.

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

Arī tad, ja jums nav nepieciešams, lai kombaina izvade tiktu nosūtīta uz attālo Log.io serveri, mainiet servera paziņojuma rindu resursdators uz tikai sūtīšanu tā izvadi lokāli, modificējot 0.0.0.0 adresi ar loopback adresi ( 127.0.0.1) .

7. Drošības apsvērumu dēļ, ja negaidāt attālo kombainu izvadi uz vietējo Log.io serveri, atveriet failu log_server.conf un aizstājiet 0.0.0.0 adrese ar atgriezeniskās saites adresi ( 127.0.0.1 ).

# nano log_server.conf

8. Citas drošības funkcijas, piemēram, pieteikšanās akreditācijas datus, HTTPS vai ierobežojumus, kuru pamatā ir IP uz Log.io tīmekļa serveri, var izmantot tīmekļa servera pusē. Šajā apmācībā es kā drošības līdzekli izmantošu tikai pieteikšanās akreditācijas datus.

Tātad, atveriet failu web_server.conf , noņemiet komentāru no visa auth paziņojuma, izdzēšot visas slīpsvītras un zvaigznītes un aizstājot lietotājs un nododot direktīvas attiecīgi, kā ieteikts apakšējā ekrānuzņēmumā.

# nano web_server.conf

4. darbība: pievienojiet ugunsmūra kārtulu un palaidiet programmu Log.io

9. Lai iegūtu tīmekļa piekļuvi serverim Log.io , pievienojiet kārtulu RHEL / CentOS 7 ugunsmūrim, lai atvērtu TCP 28778 ports, izsniedzot šādu komandu.

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

Piezīme. RHEL/CentOS 6.x lietotāji iptable ugunsmūrī var atvērt portu 28778 .

5. solis: Startējiet lietojumprogrammu Log.io un ievadiet Web interfeisu

10. Lai sāktu žurnāla uzraudzības lietojumprogrammu Log.io , pārliecinieties, ka pašreizējais darba direktorijs ir root mājas .log.io , un, lai sāktu, izmantojiet šādas komandas šādā secībā: pieteikumu.

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

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

11. Pēc servera palaišanas atveriet pārlūkprogrammu, ievadiet sava servera IP, kam seko 28778 porta numurs, izmantojot URL protokola HTTP protokolu, un parādīsies uzvedne ar pieprasījumu jūsu pieteikšanās akreditācijas datiem.

Lai turpinātu, ievadiet savu lietotāju un paroli, kas konfigurēta 8. darbībā , un lietojumprogrammai Log.io tagad jābūt redzamai jūsu pārlūkprogrammā, reāllaikā parādot uzraudzītos žurnālfailus.

http://192.168.1.20:28778

Tīmekļa saskarnē pievienojiet jaunus ekrānus un attiecīgi kārtojiet straumes vai mezglus.

12. Lai apturētu lietojumprogrammu Log.io , izpildiet šādu komandu.

# pkill node

6. darbība: izveidojiet Log.io pārvaldības skriptu

13. Lai izmantotu komandu, kas pārvalda lietojumprogrammu Log.io ar trim slēdžiem ( start , stop un status ) izveidojiet šādu skriptu ar nosaukumu log.io izpildāmā direktorijā /usr/local/bin un pievienojiet izpildes atļaujas šim skriptam.

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

Pievienojiet šim fragmentam šo skripta failu.

#!/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. Lai sāktu, apturētu vai skatītu Log.io statusa pieteikšanos ar root kontu (vai lietotāju, kurā ir instalēta lietotne Log.io), vienkārši izpildiet šīs komandas, lai ērti pārvaldītu lietojumprogrammu.

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

Tas ir viss! Manuprāt, Log.io ir lieliska un efektīva tīmekļa lietojumprogramma vietējo vai attālo serveru reģistrēšanai. Reāllaika faili un reāllaika faili ļauj uzzināt, kas iekšēji notiek sistēmā, un jo īpaši, lai atkļūdotu servera problēmas sistēmas mēdz kļūt nereaģējošas vai avarē, neizmantojot konsoli.