[Rsyslog] [ApacheLog] [LAB] [Phần 2] Hướng dẫn cấu hình đẩy Log Apache về Ryslog Server

30/12/2020

Tiếp nối phần 1, ở phần 2 mình sẽ hướng dẫn 2 cách đẩy Log Apache về Server Log tập trung.

Mô hình:

IP Planning:

Trên Client1:

Mặc định bạn đã cấu hình đẩy Log về Server và đã cài dịch vụ Apache

Khi cài dịch vụ Apache lên, trên thư mục /var/log sẽ xuất hiện thư mục httpd cùng 2 file log access_logerror_log.

Kiểm tra dịch vụ Web

systemctl status httpd

Cấu hình đẩy Log Apache về Rsyslog Server

Cách 1: Sử dụng Rsyslog

Tạo và thêm cấu hính sau sau vào file apache.conf:

vi /etc/rsyslog.d/apache.conf

$ModLoad imfile #Dòng này chỉ thêm một lần  # Apache error file:  $InputFileName /var/log/httpd/error_log #Đường dẫn file log muốn đẩy $InputFileTag errorlog #Tên file  $InputFileSeverity info #Các log từ mức info trở lên được ghi lại $InputFileFacility local3 #Facility log $InputRunFileMonitor  # Apache access file: $InputFileName /var/log/httpd/access_log $InputFileTag accesslog $InputFileSeverity info $InputFileFacility local4 $InputRunFileMonitor  $InputFilePollInterval 10 #Cứ sau 10 giây lại gửi tin nhắn 

Restart Rsyslog

systemctl restart rsyslog

Sử dụng tcpdump để kiểm tra các gói tin đẩy về Rsyslog Server

Như các bạn thấy các gói tin local được đẩy về Rsyslog Server

Kiểm tra trên Rsyslog Server

Xuất hiện thêm 2 file local trên thư mục log của Client1. Như vậy là đã thành công.

Kiểm tra thử 2 file log đẩy về và đối chiếu với bên Client1

ErrorLog – local3

AccessLog – local4

Test 2 file log này bằng cách restart lại dịch vụ httpd và truy cập vào địa chỉ web client1 để kiểm chứng có log đẩy về Server

Cách 2: Sử dụng Logger

Unix/Linux cung cấp lệnh logger là một lệnh thực sự hữu ích để giải quyết hệ thống ghi log. Lệnh logger gửi các thông báo ghi log tới syslogd deamon, và do đó kích thích hệ thống ghi log.

Thêm dòng sau vào cuối file cấu hình: vi /etc/httpd/conf/httpd.conf

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.info'" CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal2.info'" combined
  • ErrorLog trả về Server file local1.log
  • AccessLog trả về file Server local2.log

Sau đó restart lại dịch vụ httpd

systemctl restart httpd

Dùng tcpdump để kiểm tra

Kiểm tra trên Rsyslog Server

2 file local1 và local2 cấu hình ở trên đã được đẩy về Server.

Chú ý: Với 2 định dạng cấu hình file log client đẩy về server xem ở Phần 1

  • Định dạng 1: %PROGRAMNAME%.log – tên theo các chương trình
    • Với cách sử dụng Logger định dạng này log apache được đẩy về server sẽ có tên httpd.log
    • Theo cách cấu hình Rsyslog tên file log đẩy về sẽ là: errorlog.log và accesslog.log như cấu hình ở trên
  • Định dạng 2: %SYSLOGFACILITY-TEXT%.log tên theo cơ sở sinh ra log
    • Log apache được đẩy về theo cách sử dụng Logger: tên file chứa log sẽ là local1.loglocal2.log
    • Theo cách dùng Rsyslog, tên file chứa log sẽ là local3.log ứng với errorloglocal4.log ứng với accesslog

CHÚC CÁC BẠN THÀNH CÔNG!!!

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Hướng dẫn cài đặt Apache CloudStack 4.15.2.0

Bây giờ tôi sẽ hướng dẫn cách thiết lập đám mây riêng tư từng bước bằng cách sử dụng mã...
19/10/2021

Hướng dẫn cài đặt LEMP stack trên Ubuntu 20.04 LTS

LEMP là một nhóm các phần mềm có thể dùng để phục vụ các trang web động và các ứng dụng...
30/12/2020

[Cobbler] Cài đặt Ubuntu16.04 bằng Cobbler

Công việc cài đặt hệ điều hành là một công việc mà dân IT hay nói đây là điều kiện...
30/12/2020