Bài toán chuyển ra: Chúng ta có một reverse-proxy website server, có tầm khoảng 100 một số loại log được xuất hiện (hoặc những server, từng VPS đều có log). Làm sao để đẩy log về triệu tập vào một server log gần như là real-time, một thể đến Việc thống trị, điều tra?
Hướng đi: Tại trên đây tôi vẫn phối kết hợp cả Rsyslog với Syslog-ng.
Bạn đang xem: Rsyslog là gì
Xem thêm: Mua Bán Ô Tô Cổ Giá Rẻ Hơn Xe Máy Ở Việt Nam, Ô Tô Cũ Giá Rẻ,Ô Tô Cổ Lỗ Sĩ Giá 25
Rsyslog đang gửi log đến đến Syslog-ng, kế tiếp thực hiện cỗ thanh lọc (filter) của syslog-ng nhằm chia từng nhiều loại log đó ra.Mô hình
Cấu hình rsyslog clientĐể hỗ trợ file ko kể, ta rất cần được nhảy module imFile của Rsyslog lên.
$ModLoad imfile# Bật module Imfile######################################################## log access$InputFilePollInterval 2$InputFileName /var/log/apache2/access.log$InputFileTag FRAMGIA-ACCESS-LOG$InputFileStateFile CS1-state-varlog$InputFileSeverity info$InputFileFacility local5$InputRunFileMonitor######################################################## log error $InputFilePollInterval 2$InputFileName /var/log/apache2/error.log$InputFileTag FRAMGIA-ERROR-LOG$InputFileStateFile CS1-state-varlog$InputFileSeverity info$InputFileFacility local5$InputRunFileMonitorlocal5.*
10.0.1.171:514Giải thích:
$InputFilePollInterval 2 #Thời gian quét log tái diễn trong vòng 2 giây
$InputFileName /var/log/apache2/error.log #Đường dẫn file log
$InputFileTag FRAMGIA-ERROR-LOG #TAG của log, tag này còn có công dụng phân nhiều loại log trên syslog-ng server
$InputFileStateFile CS1-state-varlog
$InputFileSeverity info #Mode log, mức độ chú ý là info
$InputFileFacility local5 #mode local5, rsyslog cho phép tùy trở thành tự local 0-7
$InputRunFileMonitor #monitor tệp tin log được định nghĩa làm việc trên
local5.*
IP_SYSLOG_SERVER:514 #gom tất cả gian lận local5 đẩy về VPS port 514
Cài đặt Server Syslog-ng
yum install epel-releaseyum install syslog-ng syslog-ng-libdbiCentos đã cần sử dụng Rsyslog là khối hệ thống lưu lại log mặc định, vày vậy ao ước chuyển sang Syslog-ng ta cần phải tắt Rsyslog đi
service rsyslog stopchkconfig rsyslog off#---------------------------------service syslog-ng startchkconfig syslog-ng onvyên ổn /etc/syslog-ng/conf.d/proxy.conf
############################### SOURCE#Lắng nghe ở port 514, ta rất có thể quăng quật udp đi vị udp là giao thức bất ổn địnhsource s_reverse_proxy udp(ip(0.0.0.0) port(514) tags()); tcp(ip(0.0.0.0) port(514) tags()); ; ################################ APACHE ACCESS LOG# Định nghĩa destination filedestination d_reverse_proxy2 file( "/opt/syslog-file-server/reverse_proxy/apache-access-$HOST-$YEAR$MONTH$DAY.log" perm(644) create_dirs(yes) );;#Định nghĩa cỗ lọcfilter f_reverse_proxy2 match("FRAMGIA-ACCESS-LOG") ;# xử lýlog source(s_reverse_proxy); filter(f_reverse_proxy2); destination(d_reverse_proxy2); ;################################ APACHE ERROR LOGdestination d_reverse_proxy3 file( "/opt/syslog-file-server/reverse_proxy/apache-error-$HOST-$YEAR$MONTH$DAY.log" perm(644) create_dirs(yes) );;filter f_reverse_proxy3 match("FRAMGIA-ERROR-LOG") ;log source(s_reverse_proxy); filter(f_reverse_proxy3); destination(d_reverse_proxy3); ;-source: đựng nguồn của thông tin, nó có thể là: files, local sockets hoặc remote hosts.-destination: đích đến của các messages, nó cho thấy phần đông gì được log với được log vào đâu. Nó cũng rất có thể là: files, local sockets hoặc remote hosts.-filter: bộ lọc của syslog-ng cung ứng rất mạnh mẽ---facility() Được chia thành 23 loại, user, mail, syslog, ftp, cron ....---filter()filter trong filter---host()filter source host---inlist()whitelisting/blacklisting.---level() or priority()lọc theo cường độ nlỗi info, warning, criical---match()match kí tự---message()Use a regular expression lớn filter messages based on their content.---netmask()lọc theo ip hoặc cả dải mạng---program()lọc theo program---source()thanh lọc theo source, chỉ cung ứng syslog-ng client---tags()thanh lọc theo tag nhưng mà client gửi đến