Bii o ṣe Ṣẹda olupin Wọle Aarin pẹlu Rsyslog ni CentOS/RHEL 7


Ni aṣẹ fun olutọju eto lati ṣe idanimọ tabi ṣe iṣoro iṣoro kan lori eto olupin CentOS 7 tabi RHEL 7, o gbọdọ mọ ki o wo awọn iṣẹlẹ ti o ṣẹlẹ lori eto naa ni akoko kan pato lati awọn faili log ti a fipamọ sinu eto ninu/var/log liana.

Olupin syslog lori ẹrọ Linux le ṣiṣẹ aaye ibojuwo aringbungbun lori nẹtiwọọki nibiti gbogbo awọn olupin, awọn ẹrọ nẹtiwọọki, awọn onimọ ipa-ọna, awọn iyipada ati pupọ julọ awọn iṣẹ inu wọn ti n ṣe awọn iwe akọọlẹ, boya o ni ibatan si ọrọ inu inu kan pato tabi awọn ifiranṣẹ alaye nikan le firanṣẹ awọn iwe wọn. .

Lori eto CentOS/RHEL 7, Rsyslog daemon jẹ olupin log akọkọ ti a fi sii, atẹle pẹlu Systemd Journal Daemon (journald).

Olupin Rsyslog ni kọ bi alabara/iṣẹ faaji olupin ati pe o le ṣaṣeyọri awọn ipa mejeeji nigbakanna. O le ṣiṣẹ bi olupin kan ati gba gbogbo awọn akọọlẹ ti a tan kaakiri nipasẹ awọn ẹrọ miiran ni nẹtiwọọki tabi o le ṣiṣẹ bi alabara nipasẹ fifiranṣẹ gbogbo awọn iṣẹlẹ eto inu ti o wọle si olupin syslog endpoint latọna jijin.

Nigbati a ba tunto rsyslog bi alabara, awọn akọọlẹ le wa ni fipamọ ni agbegbe ni awọn faili lori faili faili agbegbe tabi o le firanṣẹ latọna jijin ju ki o kọ wọn sinu awọn faili ti o fipamọ sori ẹrọ tabi kọ awọn faili log log ni agbegbe ki o fi wọn ranṣẹ si olupin syslog latọna jijin ni akoko kanna.

Olupin Syslog ṣiṣẹ eyikeyi ifiranṣẹ log nipa lilo ero atẹle:

type (facility).priority (severity)  destination(where to send the log)

A. Ohun elo tabi iru data jẹ aṣoju nipasẹ awọn ilana eto inu ti o ṣe awọn ifiranṣẹ. Ninu awọn ilana inu inu Linux (awọn ohun elo) ti o ṣe awọn iwe akọọlẹ ni a ṣe deede bi atẹle:

  • auth = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ awọn ilana idanimọ (wiwọle).
  • cron = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ awọn ilana iṣeto (crontab).
  • daemon = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ daemons (awọn iṣẹ inu).
  • ekuro = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ Kernel Linux funrararẹ.
  • mail = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ olupin meeli kan.
  • syslog = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ rsyslog daemon funrararẹ.
  • lpr = awọn ifiranṣẹ ti ipilẹṣẹ nipasẹ awọn atẹwe agbegbe tabi olupin atẹjade kan.
  • local0 - local7 = awọn ifiranse aṣa ti o ṣalaye nipasẹ olutọju kan (agbegbe7 ni igbagbogbo fun Cisco tabi Windows).

B. Awọn ipele ayo (idibajẹ) jẹ tunṣe deede. A fun ni ayo kọọkan pẹlu abbreviation boṣewa ati nọmba kan bi a ti ṣalaye rẹ ni isalẹ. Ifilelẹ 7th ni ipele ti o ga julọ ti gbogbo.

  • emerg = Pajawiri - 0
  • gbigbọn = Awọn titaniji - 1
  • err = Awọn aṣiṣe - 3
  • kilo = Awọn ikilọ - 4
  • akiyesi = Iwifunni - 5
  • info = Alaye - 6
  • n ṣatunṣe aṣiṣe = N ṣatunṣe aṣiṣe - 7

Awọn ọrọ pataki Rsyslog:

  • * = gbogbo awọn ohun elo tabi awọn ayo
  • ko si = awọn ile-iṣẹ ko ni awọn ayo ti a fun ni apẹẹrẹ: mail.none

C. Apakan kẹta fun eto syslog jẹ aṣoju nipasẹ itọsọna ibi-ajo. Rsyslog daemon le firanṣẹ awọn ifiranṣẹ wọle lati wa ni kikọ ninu faili kan lori faili faili agbegbe (pupọ julọ ninu faili kan ninu/var/log/directory) tabi lati fi paipu ranṣẹ si ilana agbegbe miiran tabi lati firanṣẹ si itọnisọna olumulo ti agbegbe kan (si stdout) , tabi fi ifiranṣẹ ranṣẹ si olupin syslog latọna jijin nipasẹ ilana TCP/UDP, tabi paapaa sọ ifiranṣẹ naa di si/dev/asan.

Lati le tunto CentOS/RHEL 7 gegebi Oluṣakoso Wọle aarin, akọkọ a nilo lati ṣayẹwo ati rii daju pe ipin/var nibiti gbogbo faili log ti wa ni igbasilẹ ti tobi to (diẹ GB diẹ) lati le ni anfani lati tọju gbogbo awọn wọle awọn faili ti yoo firanṣẹ nipasẹ awọn ẹrọ miiran. O jẹ ipinnu ti o dara lati lo awakọ lọtọ (LVM, RAID) lati gbe itọsọna/var/log/liana sii.

  1. Ilana Fifi sori CentOS 7.3
  2. Ilana fifi sori ẹrọ RHEL 7.3

Bii o ṣe le Tunto Rsyslog ni CentOS/RHEL 7 Server

1. Nipa aiyipada, iṣẹ Rsyslog ti fi sori ẹrọ laifọwọyi ati pe o yẹ ki o ṣiṣẹ ni CentOS/RHEL 7. Lati le ṣayẹwo ti o ba ti bẹrẹ daemon ninu eto naa, gbekalẹ aṣẹ atẹle pẹlu awọn anfani root.

# systemctl status rsyslog.service

Ti iṣẹ naa ko ba ṣiṣẹ ni aiyipada, ṣiṣẹ pipaṣẹ isalẹ lati le bẹrẹ rsyslog daemon.

# systemctl start rsyslog.service

2. Ti a ko ba fi package rsyslog sori ẹrọ ti o pinnu lati lo bi olupin gedu ti aarin, gbekalẹ aṣẹ atẹle lati fi package rsyslog sii.

# yum install rsyslog

3. Igbesẹ akọkọ ti a nilo lati ṣe lori eto naa lati le tunto rsyslog daemon bi olupin akọọlẹ aarin, nitorinaa o le gba awọn ifiranṣẹ log fun awọn alabara ita, ni lati ṣii ati ṣatunkọ, ni lilo olootu ọrọ ayanfẹ rẹ, iṣeto akọkọ faili lati /etc/rsyslog.conf, bi a ṣe gbekalẹ ninu iyọkuro isalẹ.

# vi /etc/rsyslog.conf

Ninu faili iṣeto akọkọ ti rsyslog, wa ati airotẹlẹ awọn ila wọnyi (yọkuro aami hashtag # ni ibẹrẹ laini) lati pese ipese gbigbe UDP si olupin Rsyslog nipasẹ ibudo 514. UDP jẹ ilana boṣewa ti a lo fun gbigbe log nipasẹ Rsyslog.

$ModLoad imudp 
$UDPServerRun 514

4. Ilana UDP ko ni ori TCP, eyiti o jẹ ki o yarayara fun gbigbe data ju ilana TCP lọ. Ni apa keji, ilana UDP ko ṣe idaniloju igbẹkẹle ti data ti a firanṣẹ.

Sibẹsibẹ, ti o ba nilo lati lo ilana TCP fun gbigba wọle o gbọdọ wa ati ṣoki awọn ila wọnyi lati faili /etc/rsyslog.conf lati le tunto Rsyslog daemon lati di ati tẹtisi iho TCP kan lori ibudo 514. TCP ati awọn ibọsẹ tẹtisi UDP fun gbigba le tunto lori olupin Rsyslog nigbakanna.

$ModLoad imtcp 
$InputTCPServerRun 514 

5. Ni igbesẹ ti n tẹle, maṣe pa faili naa sibẹsibẹ, ṣẹda awoṣe tuntun ti yoo ṣee lo fun gbigba awọn ifiranṣẹ latọna jijin. Awoṣe yii yoo paṣẹ fun olupin Rsyslog agbegbe nibiti lati fipamọ awọn ifiranṣẹ ti o gba ti a firanṣẹ nipasẹ awọn alabara nẹtiwọọki syslog. Awoṣe gbọdọ wa ni afikun ṣaaju ibẹrẹ ti Àkọsílẹ DIRECTIVES ÀWỌN bí a ti ṣe àpèjúwe nínú àyọkà ìsàlẹ̀.

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

Ilana $RemoteLogs ti o wa loke nkọ Rsyslog daemon lati ṣajọ ati kọ gbogbo awọn ifiranṣẹ log ti o gba si awọn faili ọtọtọ, da lori orukọ ẹrọ onibara ati ohun elo alabara latọna jijin (ohun elo) ti o ṣe awọn ifiranṣẹ ti o da lori awọn ohun-ini ti a ṣalaye mu wa ni iṣeto awoṣe. :% HOSTNAME% ati% PROGRAMNAME%.

Gbogbo awọn faili log wọnyi ni yoo kọ si faili faili agbegbe si faili ifiṣootọ ti a darukọ lẹhin orukọ olupin ẹrọ ti alabara ati fipamọ sinu/var/log/directory.

Ofin & ~ ṣe itọsọna fun olupin Rsyslog agbegbe lati da ṣiṣe ṣiṣe ifiranṣẹ log ti o gba siwaju ki o danu awọn ifiranṣẹ naa (kii ṣe kọ wọn si awọn faili log inu).

Orukọ RemoteLogs jẹ orukọ lainidii ti a fun ni itọsọna awoṣe yii. O le lo orukọ eyikeyi ti o le rii ti o baamu fun awoṣe rẹ julọ.

Lati le kọ gbogbo awọn ifiranṣẹ ti o gba lati ọdọ awọn alabara ni faili log kan ti a npè ni lẹhin Adirẹsi IP ti alabara latọna jijin, laisi sisẹ ohun elo ti o ṣẹda ifiranṣẹ naa, lo iyasọtọ ni isalẹ.

$template FromIp,"/var/log/%FROMHOST-IP%.log" 
. ?FromIp & ~ 

Apẹẹrẹ miiran ti awoṣe nibiti gbogbo awọn ifiranṣẹ pẹlu asia ile-iṣẹ auth yoo wọle si awoṣe ti a pe ni “TmplAuth“.

$template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
authpriv.*   ?TmplAuth

Ni isalẹ jẹ fọọmu iyasọtọ lati asọye awoṣe kan lati ọdọ olupin Rsyslog 7:

template(name="TmplMsg" type="string"
         string="/var/log/remote/msg/%HOSTNAME%/%PROGRAMNAME:::secpath-replace%.log"
        )

Aṣayan awoṣe loke le tun kọ bi:

template(name="TmplMsg" type="list") {
    constant(value="/var/log/remote/msg/")
    property(name="hostname")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    }

Lati kọ awọn awoṣe Rsyslog ti o nira, ka iwe itọsọna faili iṣeto Rsyslog nipasẹ ipinfunni aṣẹ eniyan rsyslog.conf tabi kan si awọn iwe ori ayelujara Rsyslog.

6. Lẹhin ti o ti ṣatunkọ faili iṣeto Rsyslog pẹlu awọn eto tirẹ bi a ti salaye loke, tun bẹrẹ daemon Rsyslog lati le lo awọn ayipada nipa gbigbe aṣẹ wọnyi jade:

# service rsyslog restart

7. Ni bayi, o yẹ ki o tunto olupin Rsyslog lati ṣiṣẹ olupin log si aarin ati ṣe igbasilẹ awọn ifiranṣẹ lati ọdọ awọn alabara syslog. Lati jẹrisi awọn ibuduro nẹtiwọọki Rsyslog, ṣiṣe aṣẹ netstat pẹlu awọn anfani root ati lo ọra lati ṣe iyọda okun rsyslog.

# netstat -tulpn | grep rsyslog 

8. Ti o ba ni SELinux ṣiṣẹ ni CentOS/RHEL 7, gbekalẹ aṣẹ atẹle lati tunto SELinux lati gba laaye ijabọ rsyslog da lori iru iho iho nẹtiwọọki.

# semanage -a -t syslogd_port_t -p udp 514
# semanage -a -t syslogd_port_t -p tcp 514 

9. Ti ogiriina ba ṣiṣẹ ati ti nṣiṣe lọwọ, ṣiṣe aṣẹ ni isalẹ lati le ṣafikun awọn ofin pataki fun ṣiṣi awọn ibudo rsyslog ni Firewalld.

# firewall-cmd --permanent --add-port=514/tcp
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd –reload

Gbogbo ẹ niyẹn! Rsyslog ti wa ni tunto ni ipo olupin ati pe o le ṣe aarin awọn iwe lati awọn alabara latọna jijin. Ninu nkan ti n tẹle, a yoo rii bi a ṣe le tunto alabara Rsyslog lori olupin CentOS/RHEL 7.

Lilo olupin Rsyslog gẹgẹbi aaye ibojuwo aarin fun awọn ifiranṣẹ log latọna jijin o le ṣe ayewo awọn faili log ati ki o ṣe akiyesi ipo ilera awọn alabara tabi ṣe aṣiṣe awọn ọran alabara ni irọrun diẹ sii nigbati awọn ọna ṣiṣe ba tabi wa labẹ iru ikọlu kan.