Kā iestatīt Rsyslog klientu nosūtīt žurnālus uz Rsyslog serveri CentOS 7


Žurnālu pārvaldība ir viena no vissvarīgākajām tīkla infrastruktūras sastāvdaļām. Žurnālu ziņojumus pastāvīgi ģenerē daudzas sistēmas programmatūras, piemēram, utilītas, lietojumprogrammas, dēmoni, ar tīklu saistīti pakalpojumi, kodols, fiziskās ierīces un tā tālāk.

Žurnālfaili izrādās noderīgi Linux sistēmas problēmu novēršanas gadījumā, pārrauga sistēmu un pārskata sistēmas drošības stiprumu un problēmas.

Rsyslog ir atvērtā koda reģistrēšanas programma, kas ir vispopulārākais reģistrēšanas mehānisms milzīgā daudzumā Linux izplatījumu. Tas ir arī noklusējuma reģistrēšanas pakalpojums CentOS 7 vai RHEL 7.

Cents Rsyslog dēmonu var konfigurēt darboties kā serveri, lai apkopotu žurnāla ziņojumus no vairākām tīkla ierīcēm. Šīs ierīces darbojas kā klienti un ir konfigurētas, lai pārsūtītu savus žurnālus uz rsyslog serveri.

Tomēr Rsyslog pakalpojumu var arī konfigurēt un sākt klienta režīmā. Šī iestatīšana rsyslog dēmonam uzdod pārsūtīt žurnāla ziņojumus attālajam Rsyslog serverim, izmantojot TCP vai UDP transporta protokolus. Rsyslog pakalpojumu var konfigurēt arī tā, lai tas vienlaikus darbotos kā klients un kā serveris.

Šajā apmācībā mēs aprakstīsim, kā iestatīt CentOS/RHEL 7 Rsyslog dēmonu žurnālziņu sūtīšanai uz attālo Rsyslog serveri. Šī iestatīšana nodrošina, ka jūsu datora diskā var saglabāt citu datu glabāšanai.

Vieta, kur pēc noklusējuma CentOS tiek ierakstīti gandrīz visi žurnālfaili, ir sistēmas ceļš /var . Ieteicams arī vienmēr izveidot atsevišķu nodalījumu direktorijai /var , kuru var dinamiski palielināt, lai neizmantotu nodalījumu /(root) .

Rsyslog klients vienmēr nosūta žurnāla ziņojumus vienkāršā tekstā, ja nav norādīts citādi. Jums nevajadzētu iestatīt Rsyslog klientu, lai pārsūtītu žurnāla ziņojumus internetā vai tīklos, kas nav jūsu pilnīgā kontrolē.

  1. CentOS 7.3 instalēšanas procedūra
  2. RHEL 7.3 Uzstādīšanas procedūra
  3. Konfigurējiet Rsyslog serveri CentOS/RHEL 7

1. darbība: pārbaudiet Rsyslog instalēšanu

1. Pēc noklusējuma Rsyslog dēmons jau ir instalēts un darbojas CentOS 7 sistēmā. Lai pārbaudītu, vai sistēmā ir rsyslog pakalpojums, izsniedziet šādas komandas.

# rpm -q | grep rsyslog
# rsyslogd -v

2. Ja Rsyslog pakotne nav instalēta CentOS, izpildiet šo komandu, lai instalētu pakalpojumu.

# yum install rsyslog

2. darbība: konfigurējiet Rsyslog pakalpojumu kā klientu

3. Lai CentS 7 sistēmā instalētais Rsyslog dēmons darbotos kā žurnāla klients un visus lokāli ģenerētos žurnāla ziņojumus virzītu uz attālo Rsyslog serveri, modificējiet rsyslog konfigurācijas failu šādi:

Vispirms rediģēšanai atveriet galveno konfigurācijas failu.

# vi /etc/rsyslog.conf

Pēc tam pievienojiet zemāk esošo rindiņu faila beigās, kā parādīts zemāk esošajā fragmentā.

*. *  @192.168.10.254:514

Iepriekš norādītajā rindiņā pārliecinieties, vai esat attiecīgi nomainījis attālā rsyslog servera FQDN IP adresi. Iepriekš minētā līnija uzdod Rsyslog dēmonam nosūtīt visus žurnāla ziņojumus neatkarīgi no iespējas vai smaguma pakāpes resursdatoram ar IP 192.168.10.254 caur 514/UDP portu.

4. Ja attālais žurnāla serveris ir konfigurēts klausīties tikai TCP savienojumos vai vēlaties izmantot uzticamu transporta tīkla protokolu, piemēram, TCP, attālās resursdatora priekšā pievienojiet vēl vienu rakstzīmi @ , kā parādīts zemāk redzamais piemērs:

*. *  @@logs.domain.lan:514

Linux rsyslog ļauj arī izmantot dažas īpašās rakstzīmes, piemēram, = vai ! , kuras var pievienot prefiksiem uz prioritāšu līmeņiem, lai vienādības zīmei norādītu “tikai šī prioritāte” un “ne šī prioritāte vai augstāka par šo ”.

Daži Rsyslog prioritārā līmeņa kvalifikāciju paraugi CentOS 7:

  • kern.info = kodola žurnāli ar informācijas prioritāti un augstāku.
  • kodols. = info = tikai kodola ziņojumi ar informācijas prioritāti.
  • kern.info; kern.! err = tikai kodola ziņojumi ar informācijas, paziņojuma un brīdinājuma prioritātēm.
  • kern.debug; kern.! = brīdinājums = visas kodola prioritātes, izņemot brīdinājumu.
  • kodols. * = visi kodola prioritāšu ziņojumi.
  • kern.none = nepierakstiet saistītos kodola iespējas ziņojumus neatkarīgi no prioritātes.

Piemēram, pieņemot, ka uz attālo žurnāla serveri vēlaties nosūtīt tikai konkrētas iespējas ziņojumus, piemēram, visas saistītās pasta ziņas neatkarīgi no prioritātes līmeņa, pievienojiet zemāk redzamo rindu rsyslog konfigurācijas failam:

mail.* @192.168.10.254:514 

5. Visbeidzot, lai lietotu jauno konfigurāciju, ir jāatsāk Rsyslog pakalpojums, lai dēmons varētu uzņemt izmaiņas, izpildot šādu komandu:

# systemctl restart rsyslog.service

6. Ja kādu iemeslu dēļ Rsyslog dēmons sāknēšanas laikā nav iespējots, izsniedziet šādu komandu, lai iespējotu pakalpojumu sistēmu visā:

# systemctl enable rsyslog.service

3. darbība: nosūtiet Apache un Nginx žurnālus uz attālo žurnālu serveri

7. Apache HTTP serveri var konfigurēt tā, lai sūtītu žurnālus uz attālo syslog serveri, tā galvenajam konfigurācijas failam pievienojot šādu rindu, kā parādīts zemāk esošajā piemērā.

# vi /etc/httpd/conf/httpd.conf

Apache galvenajā conf failā pievienojiet zemāk esošo rindu.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

Līnija piespiedīs HTTP dēmonu ierakstīt žurnāla ziņojumus iekšēji failu sistēmas žurnāla failā, bet arī apstrādās ziņojumus tālāk caur pipe to logger utilītu, kas tos nosūtīs uz attālu syslog serveri, atzīmējot tos kā nākošus no local1 objekts.

8. Ja vēlaties arī novirzīt Apache kļūdu žurnāla ziņojumus uz attālo syslog serveri, pievienojiet jaunu kārtulu kā iepriekš redzamajā piemērā norādīto, taču pārliecinieties, ka aizstājiet httpd žurnāla faila nosaukumu un žurnāla faila smaguma pakāpi uz atbilst kļūdas prioritātei, kā parādīts šajā paraugā:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

9. Kad esat pievienojis iepriekš minētās rindas, restartējiet Apache dēmonu, lai lietotu izmaiņas, izsniedzot šādu komandu:

# systemctl restart httpd.service                 

10. Sākot ar 1.7.1 versiju, Nginx tīmekļa serverim ir iebūvētas iespējas, lai tieši reģistrētu savus ziņojumus attālajā syslog serverī, pievienojot šādas koda rindiņas nginx konfigurācijas failam.

error_log syslog:server=192.168.1.10:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.10.254:514,facility=local7,tag=nginx,severity=info main;

IPv6 serverim izmantojiet šādu sintakses formātu, lai pievienotu IPv6 adresi.

access_log syslog:server=[7101:dc7::9]:514,facility=local7,tag=nginx,severity=info;

11. Attālajā Rsyslog serverī rsyslog konfigurācijas failā jāveic šādas izmaiņas, lai saņemtu Apache tīmekļa servera sūtītos žurnālus.

local1.* @Apache_IP_address:514

Tas ir viss! Jūs esat veiksmīgi konfigurējis Rsyslog dēmonu darbībai klienta režīmā, kā arī esat uzdevis Apache HTTP serverim vai Nginx pārsūtīt tā žurnāla ziņojumus attālajam syslog serverim.

Ja sistēma avarē, jums vajadzētu būt iespējai izpētīt problēmu, pārbaudot žurnāla failu saturu, kas tiek glabāts attālajā syslog serverī.