Puncte:0

Rsyslog redirecționează doar unele fișiere jurnal către logstash

drapel br

Am o mașină client care își trimite fișierele jurnal către un server central rsyslog. Pot vedea jurnalele de pe serverul central syslog aici:

root@server:/var/log# ls -al /var/log/client/
total 1952
drwxr-xr-x 2 syslog syslog 4096 19 iunie 07:06 .
drwxrwxr-x 14 root syslog 4096 19 iunie 10:26 ..
-rw-r----- 1 syslog adm 324895 19 iunie 16:02 auth.log
-rw-r----- 1 syslog adm 31787 19 iunie 15:17 authpriv.log
-rw-r----- 1 syslog adm 3859 19 iunie 15:17 cron.log
-rw-r----- 1 syslog adm 96770 19 iunie 15:38 daemon.log
-rw-r----- 1 syslog adm 1475044 19 iunie 16:03 kern.log
-rw-r----- 1 syslog adm 11019 19 iunie 12:50 local0.log
-rw-r----- 1 syslog adm 15883 19 iunie 12:49 syslog.log
-rw-r----- 1 syslog adm 1688 19 iunie 07:16 user.log

Cel mai mult sunt interesat de local0.log.

Am configurat serverul central rsyslog pentru a trimite jurnalele către logstash:

root@server:/etc/rsyslog.d# cat /etc/rsyslog.d/70-output.conf 

template(name="json-template"
  tip="listă") {
    constant(valoare="{")
      constant(value="\"@timestamp\":\"") proprietate(name="timereported" dateFormat="rfc3339")
      constant(valoare="\",\"@versiunea\":\"1")
      constant(value="\",\"message\":\"") proprietate(name="msg" format="json")
      constant(value="\",\"sysloghost\":\"") proprietate(nume="nume gazdă")
      constant(value="\",\"severity\":\"") proprietate(name="syslogseverity-text")
      constant(value="\",\"facility\":\"") proprietate(name="syslogfacility-text")
      constant(value="\",\"programname\":\"") proprietate(name="programname")
      constant(value="\",\"procid\":\"") proprietate(name="procid")
    constant(valoare="\"}\n")
}

*.* action(type="omfwd" target="localhost" port="10514" protocol="udp" template="json-template")

Logstash este configurat pentru a trimite jurnalele către elasticsearch:

root@server:/etc/rsyslog.d# cat /etc/logstash/conf.d/logstash.conf 
intrare {                                                                                      
  tcp {                                                                                      
    gazdă => "127.0.0.1"                                                                      
    port => 10514                                                                            
    codec => "json"                                                                          
    tip => "rsyslog"                                                                        
  }                                                                                          
}                                                                                            
                                                                                         
filtru { }                                                                                   
                                                                                                                                                                                                     
ieșire {                                                                                     
  dacă [tip] == „rsyslog” {                                                                   
    elasticsearch {                                                                          
      gazde => [ "127.0.0.1:9200" ]                                                          
    }                                                                                        
  }                                                                                          
}  

Văd că elasticsearch are acum jurnalele:

root@server:/etc/rsyslog.d# curl -XGET 'http://localhost:9200/logstash-*/_search?q=*&pretty'

{
  "a luat": 4,
  "timed_out": fals,
  ...
    "hituri": [
      {
        "_index" : "logstash-2021.06.19-000001",
        "_type" : "_doc",
        "_id" : "3YxQJHoBrZHyFIavQWQZ",
        „_score” : 1,0,
        "_sursă" : {
          "message" : " [20468.211706] [UFW BLOCK] IN=eth0 OUT= MAC=<snip> SRC=<snip> DST=<snip> LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=15690 PROTO=TCP SPT=43024 DPT=6780 WINDOW=1024 RES=0x00 SYN URGP=0 ",
        ...
      

Cu toate acestea, se pare că doar unele dintre fișierele jurnal sunt redirecționate către logstash (sau logstash nu le redirecționează către elasticsearch).

Privind toate jurnalele din elasticsearch (sau din kibana) pot vedea /var/log/client/local0.log este complet ignorat.

Există vreo modalitate de a forța acest fișier jurnal să fie inclus? Cum pot depana acest lucru?

Mulțumiri!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.