Điểm:0

Rsyslog chỉ chuyển tiếp một số tệp nhật ký tới logstash

lá cờ br

Tôi có một máy khách chuyển tiếp tệp nhật ký của nó tới máy chủ rsyslog trung tâm. Tôi có thể xem nhật ký trên máy chủ nhật ký hệ thống trung tâm tại đây:

root@server:/var/log# ls -al /var/log/client/
tổng cộng 1952
drwxr-xr-x 2 nhật ký hệ thống syslog 4096 ngày 19 tháng 6 07:06 .
drwxrwxr-x 14 root syslog 4096 Ngày 19 tháng 6 10:26 ..
-rw-r----- 1 nhật ký hệ thống adm 324895 ngày 19 tháng 6 16:02 auth.log
-rw-r----- 1 nhật ký hệ thống adm 31787 ngày 19 tháng 6 15:17 authpriv.log
-rw-r----- 1 nhật ký hệ thống adm 3859 ngày 19 tháng 6 15:17 cron.log
-rw-r----- 1 nhật ký hệ thống adm 96770 ngày 19 tháng 6 15:38 daemon.log
-rw-r----- 1 nhật ký hệ thống adm 1475044 ngày 19 tháng 6 16:03 kern.log
-rw-r----- 1 nhật ký hệ thống adm 11019 ngày 19 tháng 6 12:50 local0.log
-rw-r----- 1 nhật ký hệ thống adm 15883 Ngày 19 tháng 6 12:49 syslog.log
-rw-r----- 1 nhật ký hệ thống adm 1688 ngày 19 tháng 6 07:16 user.log

Tôi quan tâm nhất đến local0.log.

Tôi đã định cấu hình máy chủ rsyslog trung tâm để chuyển tiếp nhật ký tới logstash:

root@server:/etc/rsyslog.d# mèo /etc/rsyslog.d/70-output.conf 

mẫu (tên = "json-mẫu"
  loại = "danh sách") {
    hằng số (giá trị = "{")
      hằng số (giá trị = "\" @ dấu thời gian \": \"") thuộc tính (tên = "timereported" dateFormat = "rfc3339")
      hằng số(giá trị="\",\"@version\":\"1")
      hằng số (giá trị = "\", \ "tin nhắn \": \"") thuộc tính (tên = "tin nhắn" định dạng = "json")
      hằng số (giá trị = "\", \ "sysloghost \": \"") thuộc tính (tên = "tên máy chủ")
      hằng số (giá trị = "\", \ "mức độ nghiêm trọng \": \"") thuộc tính (tên = "syslogseverity-text")
      hằng số (giá trị = "\", \ "cơ sở \": \"") thuộc tính (tên = "syslogfacility-text")
      hằng số (giá trị = "\", \ "tên chương trình \": \"") thuộc tính (tên = "tên chương trình")
      hằng số(giá trị="\",\"procid\":\"") thuộc tính(name="procid")
    hằng số (giá trị = "\"}\n")
}

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

Logstash được định cấu hình để chuyển tiếp nhật ký tới elaticsearch:

root@server:/etc/rsyslog.d# mèo /etc/logstash/conf.d/logstash.conf 
đầu vào {                                                                                      
  tcp {                                                                                      
    máy chủ => "127.0.0.1"                                                                      
    cổng => 10514                                                                            
    giải mã => "json"                                                                          
    gõ => "rsyslog"                                                                        
  }                                                                                          
}                                                                                            
                                                                                         
lọc { }                                                                                   
                                                                                                                                                                                                     
đầu ra {                                                                                     
  nếu [loại] == "rsyslog" {                                                                   
    tìm kiếm đàn hồi {                                                                          
      máy chủ => [ "127.0.0.1:9200" ]                                                          
    }                                                                                        
  }                                                                                          
}  

Tôi có thể thấy elaticsearch hiện có nhật ký:

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

{
  "lấy" : 4,
  "timed_out" : sai,
  ...
    "hit" : [
      {
        "_index" : "logstash-2021.06.19-000001",
        "_type" : "_doc",
        "_id" : "3YxQJHoBrZHyFIavQWQZ",
        "_score" : 1,0,
        "_nguồn" : {
          "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 ",
        ...
      

Tuy nhiên, có vẻ như chỉ một số tệp nhật ký đang được chuyển tiếp tới logstash (hoặc logstash không chuyển tiếp chúng tới elaticsearch).

Nhìn vào tất cả các bản ghi trong elaticsearch (hoặc trong kibana) tôi có thể thấy /var/log/client/local0.log đang bị bỏ qua hoàn toàn.

Có cách nào để buộc tệp nhật ký này được đưa vào không? Làm thế nào tôi có thể khắc phục sự cố này?

Cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.