Thứ tư, 27/11/2013 | 00:00 GMT+7

Cách cài đặt và sử dụng Trình phân tích và báo cáo log Logwatch trên VPS

Các ứng dụng tạo ra cái được gọi là “tệp log ” để theo dõi các hoạt động diễn ra tại bất kỳ thời điểm nào. Những file này, không phải là kết quả văn bản đơn giản, có thể rất phức tạp để thực hiện, đặc biệt nếu server đang được quản lý là một server bận.


Khi đến lúc cần tham khảo các file log (ví dụ như trong trường hợp bị lỗi, mất dữ liệu, v.v.), việc sử dụng tất cả các trợ giúp có sẵn trở nên quan trọng. Có thể nhanh chóng hiểu (phân tích cú pháp) những gì họ có thể kể về các sự kiện trong quá khứ và phân tích chính xác những gì đã xảy ra sau đó trở nên đặc biệt quan trọng để đưa ra giải pháp.

Tiếp nối các bài viết trước của ta về việc tăng cường hệ thống Linux, giám sát bảo mật và gửi cảnh báo qua email, trong bài viết DigitalOcean này, ta sẽ nói về Logwatch : một trình phân tích và phân tích log rất mạnh mẽ có thể giúp cuộc sống của bất kỳ administrator hệ thống chuyên dụng nào dễ dàng hơn một chút khi xử lý các nhiệm vụ và vấn đề liên quan đến ứng dụng.

Tệp log


Giống như các hộp đen của các ngôi sao từ Startrek, để giữ cho hệ thống (tức là server ) hoạt động, các administrator ngày nay thậm chí dựa vào log . Nói đùa sang một bên, các file do ứng dụng tạo ra này đóng role quyết định trong việc theo dõi lại và hiểu những gì đã xảy ra trong quá khứ [tại một thời điểm nhất định] cho mục đích khôi phục toàn bộ / một phần dữ liệu (tức là từ nhật ký giao dịch ), các phân tích liên quan đến hiệu suất hoặc chiến lược (ví dụ: từ nhật ký server ) hoặc các sửa đổi cho tương lai (ví dụ từ log truy cập).

Nói một cách đơn giản, file log sẽ bao gồm các hành động và sự kiện diễn ra trong một khoảng thời gian nhất định.

Một file log tốt phải càng chi tiết càng tốt để giúp người quản trị, người có trách nhiệm bảo trì hệ thống, tìm thấy thông tin chính xác cần thiết cho một mục đích nhất định. Chính vì lý do này, các file log thường KHÔNG ngắn gọn và chúng chứa vô số lần lặp lại và vô số (hầu hết) các mục thừa cần phân tích và lọc kỹ để có ý nghĩa đối với con người.

Đây là lúc Logwatch, một ứng dụng máy tính được thiết kế cho công việc này, phát huy tác dụng.

Nhập Logwatch


Quản lý log là một lĩnh vực bao gồm phần lớn là tìm kiếm, xoay vòng / lưu giữ log và báo cáo. Logwatch là một ứng dụng giúp quản lý log đơn giản bằng cách phân tích hàng ngày và báo cáo một bản tóm tắt ngắn từ các hoạt động diễn ra trên máy của bạn.

Các báo cáo do Logwatch tạo ra được phân loại theo các dịch vụ (tức là ứng dụng) đang chạy trên hệ thống của bạn, có thể được cấu hình để bao gồm những cái bạn thích hoặc tất cả chúng cùng nhau bằng cách sửa đổi file cấu hình tương đối đơn giản của nó. Hơn nữa, Logwatch cho phép tạo các tập lệnh phân tích tùy chỉnh cho các nhu cầu cụ thể.

Cài đặt Logwatch


Xin lưu ý: Logwatch là một ứng dụng vô hại không ảnh hưởng đến các dịch vụ hoặc dung lượng công việc hiện tại của bạn. Tuy nhiên, như mọi khi, bạn nên thử trước trên một hệ thống mới và đảm bảo backup .

Trên CentOS / RHEL


Rất đơn giản để cài đặt Logwatch trên hệ thống dựa trên RHEL (ví dụ: CentOS). Vì nó là một ứng dụng bao gồm các tập lệnh Perl khác nhau, nên cần phải có một số phụ thuộc liên quan. Vì ta sẽ sử dụng trình quản lý gói yum , điều này sẽ được tự động xử lý. Trừ khi bạn đã cài đặt mailx, Logwatch cũng sẽ download cho bạn trong suốt quá trình.

Để cài đặt Logwatch trên CentOS / RHEL, hãy chạy như sau:

$ yum install -y logwatch 

Trên Ubuntu / Debian


Lấy Logwatch cho các hệ thống dựa trên Debian (ví dụ: Ubuntu) rất giống với quy trình được giải thích ở trên, ngoại trừ sự khác biệt về trình quản lý gói (aptitude v. Yum).

Để cài đặt Logwatch trên Ubuntu / Debian, hãy chạy như sau:

$ aptitude install -y logwatch 

Cấu hình Logwatch


Mặc dù các cài đặt của nó có thể được overrides trong mỗi lần chạy theo cách thủ công, nhưng nói chung, bạn cần Logwatch chạy hàng ngày, sử dụng cấu hình chung.

Đặt cấu hình chung của đồng hồ ghi log


Tệp cấu hình mặc định cho Logwatch được đặt tại:

/usr/share/logwatch/default.conf/logwatch.conf 

Hãy mở file này bằng editor nano để sửa đổi nội dung của nó:

$ nano /usr/share/logwatch/default.conf/logwatch.conf 

Khi chạy lệnh trên, bạn sẽ gặp một danh sách dài các biến mà ứng dụng sử dụng mỗi khi chạy, dù là tự động hay thủ công.

Để bắt đầu sử dụng nó, ta cần thực hiện một vài thay đổi đối với các giá trị mặc định này.

Lưu ý trong tương lai, bạn có thể cần quay lại để sửa đổi các cài đặt nhất định được xác định ở đây. Tất cả các dịch vụ (ứng dụng) được Logwatch phân tích đều được liệt kê trên file này, như đã giải thích ở trên (Cấu hình # 5). Khi bạn cài đặt hoặc xóa ứng dụng khỏi server ảo của bạn , bạn có thể tiếp tục nhận được báo cáo về tất cả hoặc một số ứng dụng bằng cách thay đổi cài đặt tại đây (xem bên dưới *).

Các tùy chọn quan trọng mà ta cần đặt:

Xin lưu ý: Bạn cần sử dụng các phím mũi tên để lên hoặc xuống các dòng khi áp dụng các thay đổi sau trên tài liệu. Sau khi thực hiện xong các thay đổi (mục 1 - 6), bạn cần nhấn CTRL + X và sau đó xác nhận với Y để lưu và đóng. Thay đổi này sẽ có hiệu lực tự động lần sau logwatch chạy.

1. Địa chỉ e-mail mà thông báo hàng ngày (báo cáo) được gửi đến:

MailTo = root 

Thay thế root bằng địa chỉ email của bạn.

Ví dụ: MailTo = sysadmin@mydomain.com

2. Địa chỉ e-mail mà từ đó các báo cáo này có nguồn root :

MailFrom = Logwatch 

Bạn có thể cần thay thế Logwatch bằng của riêng mình .

Ví dụ: MailFrom = sysadmin@mydomain.com

3. Đặt phạm vi cho các báo cáo:

Range = yesterday 

Bạn có các tùy chọn nhận báo cáo cho Tất cả (tất cả đều có sẵn từ đầu), Hôm nay (chỉ hôm nay) hoặc Hôm qua (mới hôm qua).

Ví dụ: Range = Today

4. Đặt chi tiết báo cáo:

Detail = Low 

Bạn có thể sửa đổi chi tiết của báo cáo tại đây. Các tùy chọn là: Thấp , Trung bìnhCao .

Ví dụ: Detail = Medium

5. Cài đặt các dịch vụ (ứng dụng) cần phân tích:

Theo mặc định, Logwatch bao gồm một loạt các dịch vụ. Nếu bạn muốn xem danh sách đầy đủ, bạn có thể truy vấn nội dung của các tập scripts/services file có tại /usr/share/logwatch/ .

Ví dụ: ls -l /usr/share/logwatch/scripts/services

Service = All 

Bạn có thể chọn nhận báo cáo cho tất cả các dịch vụ hoặc một số dịch vụ cụ thể.

Đối với tất cả các dịch vụ, hãy giữ dòng là: Service = All

Nếu bạn muốn nhận báo cáo cho những báo cáo cụ thể, hãy sửa đổi nó tương tự như ví dụ sau, liệt kê từng dịch vụ trên một dòng mới (ví dụ: Service = [name] ).

Thí dụ:

Service = sendmail Service = http Service = identd Service = sshd2 Service = sudo .. 

6. Tắt báo cáo hàng ngày:

# DailyReport = No 

Nếu bạn không muốn có số lần thay hàng ngày, bạn nên bỏ comment này.

Ví dụ: DailyReport = No thay vì # DailyReport = No

Và đó là nó! Sau khi thực hiện những thay đổi này, bạn sẽ nhận được báo cáo hàng ngày dựa trên các file log từ server của bạn tự động.

Để tìm hiểu thêm về Logwatch và tạo các dịch vụ tùy chỉnh để nhận báo cáo, bạn có thể truy cập tài liệu đầy đủ của nó bằng cách nhấp vào đây .

Chạy đồng hồ ghi log theo cách thủ công


Cần lưu ý bạn có tùy chọn chạy Logwatch theo cách thủ công khi nào bạn cần thông qua dòng lệnh.

Dưới đây là các tùy chọn có sẵn [từ tài liệu]:

logwatch  [--detail  level  ] [--logfile log-file-group ] [--service service-name ] [--print]    [--mailto address ] [--archives] [--range range  ]  [--debug  level  ]  [--save  file-name  ]    [--logdir  directory ] [--hostname hostname ] [--splithosts] [--multiemail] [--output output-    type ] [--numeric] [--no-oldfiles-log] [--version] [--help|--usage] 

Trừ khi bạn chỉ định một tùy chọn, nó sẽ được đọc từ file cấu hình.

Thí dụ:

$ logwatch --detail Low --mailto email@address --service http --range today 

Và đây là báo cáo Logwatch có thể trông như thế nào:

################### Logwatch 7.3.6 (05/19/07) ####################         Processing Initiated: Wed Nov 15 15:07:00 2013         Date Range Processed: today                               ( 2013-Nov-15 )                               Period is day.       Detail Level of Output: 0               Type of Output: unformatted            Logfiles for Host: host_name                  ##################################################################   --------------------- Postfix Begin ------------------------      3.453K  Bytes accepted                             3,536     3.453K  Bytes delivered                            3,536  ========   ================================================          3   Accepted                                 100.00%  --------   ------------------------------------------------         3   Total                                    100.00%  ========   ================================================          3   Removed from queue         2   Delivered         1   Sent via SMTP          1   Connection failure (outbound)          1   Postfix start    ---------------------- Postfix End -------------------------    --------------------- Connections (secure-log) Begin ------------------------   New Users:     apache (48)   New Groups:     apache (48)    **Unmatched Entries**     groupadd: group added to /etc/group: name=apache, GID=48: 1 Time(s)     groupadd: group added to /etc/gshadow: name=apache: 1 Time(s)   ---------------------- Connections (secure-log) End -------------------------   --------------------- SSHD Begin ------------------------    SSHD Started: 2 Time(s)   Users logging in through sshd:     root:        ip_addr (ip_addr): 1 time   ---------------------- SSHD End -------------------------   --------------------- yum Begin ------------------------    Packages Installed:     apr-1.3.9-5.el6_2.x86_64     apr-util-1.3.9-3.el6_0.1.x86_64     perl-YAML-Syck-1.07-4.el6.x86_64     4:perl-5.10.1-131.el6_4.x86_64     mailx-12.4-6.el6.x86_64     1:perl-Pod-Simple-3.13-131.el6_4.x86_64     1:perl-Pod-Escapes-1.04-131.el6_4.x86_64     3:perl-version-0.77-131.el6_4.x86_64     httpd-2.2.15-29.el6.centos.x86_64     4:perl-libs-5.10.1-131.el6_4.x86_64     mailcap-2.1.31-2.el6.noarch     perl-Date-Manip-6.24-1.el6.noarch     1:perl-Module-Pluggable-3.90-131.el6_4.x86_64     httpd-tools-2.2.15-29.el6.centos.x86_64     apr-util-ldap-1.3.9-3.el6_0.1.x86_64     logwatch-7.3.6-49.el6.noarch   ---------------------- yum End ------------------------- 

<div class = “author”> Gửi bởi: <a
href = “https://twitter.com/ostezer”> OS Tezer </div>


Tags:

Các tin liên quan