Tôi đang thiết lập rsyslog trong môi trường nhiều bên thuê để chuyển tiếp đến máy chủ trung tâm. Bởi vì nó là nhiều bên thuê, tôi muốn thêm tiền tố vào tên máy chủ từ máy chủ rsyslog đầu tiên với một phần bổ sung dành riêng cho khách hàng trước khi chuyển tiếp đến máy chủ trung tâm. Tôi đã lên kế hoạch đặt tiền tố theo cách thủ công, tuy nhiên, tiền tố được định cấu hình trong một tệp khác trên máy chủ và nếu có thể thu thập thông tin này từ tệp đó thì càng tốt.
Bởi vì máy chủ đầu tiên sẽ chuyển tiếp từ nhiều máy chủ, nên phần bổ sung phải là một bản viết lại động bao gồm tên máy chủ ban đầu chứ không phải là một bản ghi đè được mã hóa cứng của cùng một tên máy chủ cho tất cả các mục nhập mà tôi đã thấy trong một số ví dụ.
Lý tưởng nhất là những gì tôi đang cố gắng thực hiện được tóm tắt bằng mã giả sau:
bộ quy tắc (tên = "myrule") {
đặt $hostname = "<prefix>-%HOSTNAME%"
hành động (loại = "omfwd" mục tiêu = "ip từ xa")
}
Tôi sẽ chịu trách nhiệm cho cả rơle trung gian và máy chủ trung tâm, nhưng mỗi rơle có thể lưu trữ nhiều khách hàng, vì vậy tôi không nghĩ rằng việc viết lại có thể được thực hiện trên máy chủ trung tâm, nhưng tôi có toàn quyền kiểm soát cả hai lớp. Mỗi khách hàng được kết nối thông qua một giao diện chuyên dụng và tôi đã lên kế hoạch cho một bộ quy tắc riêng gắn với đầu vào được định cấu hình cho từng giao diện và bộ quy tắc để bao gồm tiền tố cụ thể của khách hàng. Vì lý do này, tôi nghĩ rằng cấu hình cần phải có trên rơle, nhưng nếu có một cách khác, thì tôi sẵn sàng thử bất cứ điều gì đáp ứng mục tiêu cuối cùng là làm cho các sự kiện có thể nhận dạng được khách hàng.
Lý do muốn sử dụng tính năng viết lại tên máy chủ là vì điều này phù hợp với cách các công cụ khác được định cấu hình trong môi trường và rất mong muốn giữ một thiết lập đồng nhất. Tuy nhiên, nếu không thể, phương pháp khác có thể được xem xét nếu phương pháp đầu tiên không khả thi về mặt kỹ thuật.
Ví dụ: mỗi rơle được kết nối với nhiều khách hàng thông qua các bảng định tuyến riêng biệt và máy khách cuối có tên máy chủ khác nhau, ví dụ: site1-sw1 hoặc site2-rtr2. Tuy nhiên, vấn đề sau đó là tiền tố khách hàng không có trong tên vì đó là tài liệu tham khảo của chúng tôi để biết thiết bị liên quan đến khách hàng nào. Trong các hệ thống khác, chúng tôi đổi tên các tên này thành cust1-site1-sw1 và cust1-site2-rtr2, đặc biệt là khi có thể có cust2-site2-rtr2 chẳng hạn. Chúng tôi muốn hành vi tương đương trong nhật ký hệ thống.
cách chính xác để làm điều này là gì?