Bii o ṣe le Ṣeto Olupin Wiwọle Central pẹlu Rsyslog ni Lainos


Awọn akọọlẹ jẹ ẹya paati pataki ti eyikeyi sọfitiwia tabi ẹrọ ṣiṣe. Awọn iwe igbasilẹ maa n ṣe igbasilẹ awọn iṣe olumulo, awọn iṣẹlẹ eto, iṣẹ nẹtiwọọki ati pupọ diẹ sii, da lori ohun ti wọn pinnu fun. Ọkan ninu awọn eto ifilọlẹ ti a lo ni ibigbogbo julọ lori awọn eto Linux jẹ rsyslog.

Rsyslog jẹ alagbara, aabo ati eto ṣiṣe iṣẹ ṣiṣe giga eyiti o gba data lati oriṣi awọn orisun (awọn ọna ṣiṣe/awọn ohun elo) ati awọn abajade si awọn ọna kika pupọ.

O ti wa lati daemon syslog deede si ẹya-ara ni kikun, eto gedu ipele eto. A ṣe apẹrẹ rẹ ni apẹẹrẹ alabara/olupin, nitorinaa o le tunto bi alabara ati/tabi bi olupin gedu aarin fun awọn olupin miiran, awọn ẹrọ nẹtiwọọki, ati awọn ohun elo latọna jijin.

Fun idi ti itọsọna yii, a yoo lo awọn ogun wọnyi:

  • Olupin: 192.168.241.140
  • Onibara: 172.31.21.58

Bii o ṣe le Fi sii ati Tunto Server Rsyslog

Pupọ awọn pinpin kaakiri Linux wa pẹlu fifi sori ẹrọ rsyslog ti a fi sii. Ni ọran ti ko fi sii, o le fi sii nipa lilo ohun elo oluṣakoso package Linux rẹ bi o ti han.

$ sudo yum update && yum install rsyslog 	#CentOS 7
$ sudo apt update && apt install rsyslog	#Ubuntu 16.04, 18.04

Lọgan ti a fi sori ẹrọ rsyslog, o nilo lati bẹrẹ iṣẹ fun bayi, muu ṣiṣẹ lati bẹrẹ-adaṣe ni bata ati ṣayẹwo ipo rẹ pẹlu aṣẹ systemctl.

$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog

Faili iṣeto rsyslog akọkọ wa ni /etc/rsyslog.conf, eyiti o ṣajọ awọn modulu, ṣalaye awọn itọsọna agbaye, ni awọn ofin fun sisẹ awọn ifiranṣẹ log ati pe o tun pẹlu gbogbo awọn faili atunto ni /etc/rsyslog.d/ fun ọpọlọpọ awọn ohun elo/iṣẹ .

$ sudo vim /etc/rsyslog.conf

Nipa aiyipada, rsyslog lo awọn modulu ti imjournal ati imusock fun gbigbe wọle awọn ifiranṣẹ wọle ti a ṣeto lati iwe akọọlẹ eto ati fun gbigba awọn ifiranṣẹ syslog lati awọn ohun elo ti n ṣiṣẹ lori eto agbegbe nipasẹ awọn ibori Unix, lẹsẹsẹ.

Lati tunto rsyslog bi nẹtiwọọki kan/olupin gedu aarin, o nilo lati ṣeto ilana naa (boya UDP tabi TCP tabi awọn mejeeji) yoo lo fun gbigba syslog latọna jijin ati ibudo ti o tẹtisi.

Ti o ba fẹ lo asopọ UDP kan, eyiti o yarayara ṣugbọn ko ṣee gbẹkẹle, wa ati ṣoki awọn ila ti o wa ni isalẹ (rọpo 514 pẹlu ibudo ti o fẹ ki o tẹtisi, eyi yẹ ki o ba adirẹsi adirẹsi ibudo naa mu ti awọn alabara firanṣẹ si, a yoo wo ni eyi diẹ sii nigbati o ba tunto alabara rsyslog kan).

$ModLoad imudp
$UDPServerRun 514

Lati lo asopọ TCP (eyiti o lọra ṣugbọn igbẹkẹle diẹ sii), wa ati ṣoki awọn ila isalẹ.

$ModLoad imtcp
$InputTCPServerRun 514

Ni ọran yii, a fẹ lati lo mejeeji UDP ati awọn asopọ TCP ni akoko kanna.

Nigbamii ti, o nilo lati ṣalaye ilana ofin fun ṣiṣe awọn àkọọlẹ latọna jijin ni ọna kika atẹle.

facility.severity_level	destination (where to store log)

Nibo:

  • apo: jẹ iru ilana/ifiranṣẹ ti o npese ohun elo, wọn pẹlu auth, cron, daemon, ekuro, agbegbe0..local7. Lilo * tumọ si gbogbo awọn ile-iṣẹ.
  • severity_level: jẹ iru ifiranṣẹ iwọle: emerg-0, titaniji-1, crit-2, err-3, kilo-4, akiyesi-5, alaye-6, yokokoro-7. Lilo * tumọ si gbogbo awọn ipele idibajẹ ati pe ko si ẹnikan ti o tumọ si pe ko nira ipele.
  • nlo: jẹ boya faili agbegbe tabi olupin rsyslog latọna jijin (ṣalaye ni fọọmu IP: ibudo).

A yoo lo awọn ofin atẹle fun gbigba awọn iwe lati awọn ogun jijin, ni lilo awoṣe RemoteLogs. Akiyesi pe awọn ofin wọnyi gbọdọ wa ṣaaju eyikeyi awọn ofin fun ṣiṣe awọn ifiranṣẹ agbegbe, bi o ṣe han ninu sikirinifoto.

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs 
& ~

Nigbati o nwo awọn ofin loke, ofin akọkọ ni\"$awoṣe RemoteLogs,"/var/log /% HOSTNAME% /% PROGRAMNAME% .log ””.

Itọsọna $awoṣe sọ fun rsyslog daemon lati ṣajọ ati kọ gbogbo awọn ifiranṣẹ latọna jijin ti a gba si awọn iwe ọtọtọ labẹ/var/log, da lori orukọ olupin (orukọ ẹrọ alabara) ati ohun elo alabara latọna jijin (eto/ohun elo) ti o ṣe ipilẹṣẹ awọn ifiranṣẹ bi a ti ṣalaye nipasẹ awọn eto ti o wa ni awoṣe RemoteLogs.

Laini keji\"*. *? RemoteLogs" tumọ si awọn ifiranṣẹ igbasilẹ lati gbogbo awọn ile-iṣẹ ni gbogbo awọn ipele idibajẹ nipa lilo iṣeto awoṣe awoṣe RemoteLogs.

Laini ikẹhin\"& ~” kọ rsyslog lati da ṣiṣe ṣiṣe awọn ifiranṣẹ ni kete ti o ba kọ si faili kan. Ti o ko ba ni “& ~”, dipo awọn ifiranṣẹ yoo kọ si awọn faili agbegbe.

Ọpọlọpọ awọn awoṣe miiran wa ti o le lo, fun alaye diẹ sii, wo oju-iwe eniyan atunto rsyslog (eniyan rsyslog.conf) tabi tọka si iwe ayelujara Rsyslog lori ayelujara.

Iyẹn ni pẹlu tito leto olupin rsyslog. Fipamọ ki o pa faili iṣeto naa. Lati lo awọn ayipada aipẹ, tun bẹrẹ rsyslog daemon pẹlu aṣẹ atẹle.

$ sudo systemctl restart rsyslog

Bayi ṣayẹwo awọn sockets nẹtiwọọki nẹtiwọọki. Lo pipaṣẹ ss (tabi grep lati ṣe iyọkuro awọn isopọ rsyslogd.

$ sudo ss -tulnp | grep "rsyslog"

Nigbamii ti, lori CentOS 7, ti o ba ti ṣiṣẹ SELinux, ṣiṣe awọn ofin wọnyi lati gba laaye ijabọ rsyslog da lori oriṣi iho nẹtiwọki.

$ sudo semanage -a -t syslogd_port_t -p udp 514
$ sudo semanage -a -t syslogd_port_t -p tcp 514 

Ti eto naa ba ti ṣiṣẹ ogiriina, o nilo lati ṣii ibudo 514 lati gba awọn asopọ UDP/TCP mejeeji si olupin rsyslog, nipa ṣiṣiṣẹ.

------------- On CentOS ------------- 
$ sudo firewall-cmd --permanent --add-port=514/udp
$ sudo firewall-cmd --permanent --add-port=514/tcp
$ sudo firewall-cmd --reload

------------- On Ubuntu -------------
$ sudo ufw allow 514/udp
$ sudo ufw allow 514/tcp
$ sudo ufw reload 

Bii o ṣe le Tunto Onibara Rsyslog lati Firanṣẹ Awọn àkọọlẹ si olupin Rsyslog

Bayi lori eto alabara, ṣayẹwo ti iṣẹ rsyslog ba n ṣiṣẹ tabi kii ṣe pẹlu aṣẹ atẹle.

$ sudo systemctl status rsyslog

Ti ko ba fi sii, fi sii ki o bẹrẹ iṣẹ bi o ti han tẹlẹ.

$ sudo yum update && yum install rsyslog 	#CentOS 7
$ sudo apt update && apt install rsyslog	#Ubuntu 16.04, 18.04
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog

Lọgan ti iṣẹ rsyslog ti wa ni ṣiṣe ati ṣiṣe, ṣii faili iṣeto akọkọ nibiti iwọ yoo ṣe awọn ayipada si iṣeto aiyipada.

$ sudo vim /etc/rsyslog.conf

Lati fi ipa mu daemon rsyslog lati ṣiṣẹ bi alabara log ati siwaju gbogbo awọn ifiranṣẹ log ti ipilẹṣẹ ti agbegbe si olupin rsyslog latọna jijin, ṣafikun ofin didari yii, ni ipari faili naa bi o ṣe han ninu sikirinifoto atẹle.

*. *  @@192.168.100.10:514

Ofin ti o wa loke yoo firanṣẹ awọn ifiranṣẹ lati gbogbo awọn ile-iṣẹ ati ni gbogbo awọn ipele buru. Lati firanṣẹ awọn ifiranṣẹ lati ile-iṣẹ kan pato fun apẹẹrẹ auth, lo ofin atẹle.

auth. *  @@192.168.100.10:514

Fipamọ awọn ayipada ki o pa faili iṣeto ni. Lati lo awọn eto loke, tun bẹrẹ daemon rsyslog.

$ sudo systemctl restart rsyslog

Bii o ṣe le ṣe Atẹle Wiwọle Wọle lori olupin Rsyslog

Igbesẹ ikẹhin ni lati ṣayẹwo boya rsyslog n gba ati wọle awọn ifiranṣẹ lati ọdọ alabara, labẹ/var/log, ni fọọmu hostname/programname.log.

Ṣiṣe aṣẹ ls si atokọ gigun ti itọsọna awọn obi ati ṣayẹwo boya itọsọna kan wa ti a pe ni ip-172.31.21.58 (tabi ohunkohun ti orukọ olupin ẹrọ ẹrọ onibara rẹ jẹ).

 
$ ls -l /var/log/

Ti itọsọna naa ba wa, ṣayẹwo awọn faili log inu rẹ, nipa ṣiṣiṣẹ.

$ sudo ls -l /var/log/ip-172-31-21-58/

Rsyslog jẹ eto ṣiṣatunṣe iṣẹ ṣiṣe giga, ti a ṣe apẹrẹ ni ibara/faaji olupin. A nireti pe o ni anfani lati fi sori ẹrọ ati tunto Rsyslog gẹgẹbi olupin gedu/olupin gedu nẹtiwọọki ati bi alabara bi a ṣe afihan ninu itọsọna yii.

O tun le fẹ tọka si awọn oju-iwe afọwọyi rsyslog ti o yẹ fun iranlọwọ diẹ sii. Ni ominira lati fun wa ni eyikeyi esi tabi beere awọn ibeere.