Điểm:0

Lọc các khối đầu ra nhật ký từ luồng nhật ký

lá cờ gb

Đây là nhiệm vụ của tôi:

Tôi có một luồng nguồn đầu ra nhật ký trực tiếp từ một quy trình nhắn tin. Rất nhiều đầu ra không liên quan đến tôi nhưng có những phần tôi muốn thu thập và đánh giá riêng. Các khối đó bắt đầu bằng "---BEGIN Request---" ở cuối một dòng riêng biệt bắt đầu bằng ngày/giờ, tên máy chủ và quy trình[pid]: . Và theo đó, một khối kết thúc bằng "---END Request---" ở cuối một dòng khác. Giữa hai điều này là những gì tôi muốn nắm bắt.

Nỗ lực của tôi tại sed với tệp trích xuất nhật ký không thành công. Tôi đã tiếp cận vấn đề này bằng cách cố gắng xóa mọi thứ bên ngoài tiêu điểm của mình nhưng tôi vẫn nhận được từng dòng. Có lẽ ai đó nhìn thấy sai lầm của tôi:

sed -r '/---END Yêu cầu---$/{
   $!{N 
     s/---END Yêu cầu---.?\n([^:]+: )---BEGIN Request---$/---END Request---\n\1---BEGIN Request- --/
     t sub-hit
     :tiểu thư
     P          
     D          
     : hit phụ
   }    
 }' mẫu.log

Tôi nghĩ rằng awk có thể là một công cụ thay thế để sử dụng ở đây nhưng tôi chưa xem xét hiệu suất của nó để làm việc trên luồng nhật ký trực tiếp.

Luôn có người có giải pháp sử dụng python hoặc bất kỳ ngôn ngữ nào khác. Tôi sẵn sàng chấp nhận điều đó nhưng hãy cân nhắc việc tôi dự định sử dụng điều này trên luồng nhật ký chứ không phải trên các tệp văn bản tĩnh.

Đây là đoạn trích nhật ký mẫu đơn giản hóa của tôi để thử nghiệm. Tôi đã ẩn danh và loại bỏ một số thứ.

Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: PUT /token/connect HTTP/2.0
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Máy chủ: Host-230-17-17-10
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Chấp nhận: */*
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Mã hóa chấp nhận: gzip, deflate, br
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Ngôn ngữ chấp nhận: de-de
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Kiểm soát bộ đệm: không có bộ đệm
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Content-Length: 306
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Content-Type: text/xml
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: User-Agent: TokenHandler/3.2
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: <?xml version="1.0" encoding="UTF-8"?>
Ngày 20 tháng 1 14:20:47 host-230-17-17-10 tokenhandler[4230]: <!DOCTYPE, v.v. Cố ý cắt ngắn ở đây cho Askubfox
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: ---END Yêu cầu---
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 OK
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: Kết nối: đóng
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:47 Host-230-17-17-10 tokenhandler[4230]: ---END Phản hồi---
Ngày 20 tháng 1 14:20:47 host-230-17-17-10 tokenhandler[4230]: transport=http method=PUT status=200 proto=HTTP/2.0 host=10.17.17.240 user_agent=TokenHandler/3.2 path=/token/ liên kết
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: POST /v3/token/033aaed70bdce765ace3223a5dc5 HTTP/1.1
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Máy chủ: Host-230-17-17-10
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Kết nối: đóng
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: Ủy quyền: Cơ bản bWljcm9tZG06MjVuWjdWV3BjMkZaalRkZlRNVTNzaWdyS2xwZlRsVQ==
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Kết nối: đóng
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Content-Length: 0
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---END Yêu cầu---
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: level=info component=tknzr method=add udid=033aaed70bdce765ace3223a5dc5 err=null Take=145.419185ms
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 OK
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Kết nối: đóng
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Content-Type: application/json; bộ ký tự = utf-8
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: {
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: "status": "success",
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: "notification_id": "FC88CDE8-D3AD-4607-602F-6005E70E83E2"
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: }
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---END Phản hồi---
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: transport=http method=POST status=200 proto=HTTP/1.1 host=10.17.17.230 user_agent= path=/v3/token/033aaed70bdce765ace3223a5dc5
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Request---
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: PUT /token/connect HTTP/2.0
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Máy chủ: Host-230-17-17-10
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Chấp nhận: */*
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Mã hóa chấp nhận: gzip, deflate, br
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: Ngôn ngữ chấp nhận: en-US,en;q=0.9
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Kiểm soát bộ đệm: không có bộ đệm
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Content-Length: 306
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Content-Type: text/xml
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: User-Agent: TokenHandler/3.2
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: <?xml version="1.0" encoding="UTF-8"?>
Ngày 20 tháng 1 14:20:48 host-230-17-17-10 tokenhandler[4230]: <!DOCTYPE, v.v. Cố ý cắt ngắn ở đây cho Askubfox
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---END Yêu cầu---
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---BEGIN Response---
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: HTTP/1.1 200 OK
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: Kết nối: đóng
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: [1B blob data]
Ngày 20 tháng 1 14:20:48 Host-230-17-17-10 tokenhandler[4230]: ---END Phản hồi---
Điểm:0
lá cờ in

Trong một luồng (nhật ký trực tiếp), bạn có thể sử dụng tùy chọn sed -u (không có bộ đệm)

Bạn có thể sử dụng thêm |cắt -c55-10000 vào cuối lệnh để cắt ngày, tên máy chủ, v.v.

Andreas avatar
lá cờ gb
Xin chào Denis, tôi thích tham số không có bộ đệm. Ý tưởng sử dụng cut với các vị trí cố định của bạn sẽ không hoạt động nếu pid (id tiến trình) trong dấu ngoặc vuông có nhiều hoặc ít chữ số hơn 4. Tôi đã biết mình sẽ sử dụng `cut -d':' -f 4- ` để đạt được điều đó.

Đă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.