1. Trang chủ
  2. » Luận Văn - Báo Cáo

CẤU HÌNH QUẢN LÝ LOG FILE

19 1K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 232,47 KB

Nội dung

Có hàng trăm các ứng dụng Linux trên thị trường, mỗi với các tập tin cấu hình riêng của họ và các trang trợ giúp. Sự đa dạng này làm cho Linux sôi động, nhưng nó cũng làm cho khó khăn Linux hệ thống hành chính. May mắn thay, trong nhiều trường hợp, các ứng dụng Linux sử dụng các tiện ích syslog để xuất khẩu tất cả các lỗi của họ và thông điệp tình trạng để các tập tin nằm trong thư mục log var.Điều này rất quan trọng trong mối tương quan giữa thời gian và nguyên nhân của các sự kiện có liên quan trên hệ thống của bạn. Nó cũng quan trọng để biết rằng các ứng dụng thường không hiển thị lỗi trên màn hình, nhưng thường sẽ đăng chúng ở đâu đó. Biết được thông báo chính xác mà đi kèm với một lỗi có thể rất quan trọng trong nghiên cứu trục trặc trong hướng dẫn sử dụng sản phẩm, tài liệu trực tuyến, và tìm kiếm Web.Syslog, và các tiện ích logrotate sẽ xóa sạch các file log tương đối dễ dàng để cấu hình nhưng thường không nhận được chia sẻ nó bao phủ ở hầu hết các văn bản. Syslog ở đây như là một chương dành riêng nhằm nhấn mạnh tầm quan trọng của nó về Linux của bạn và chuẩn bị cho bạn một kỹ năng tuyệt vời sẽ giúp bạn khắc phục tất cả các Linux và ứng dụng khác nhau.

Trang 1

MỤC LỤC

GIỚI THIỆU 1

CHƯƠNG I CÁC KHÁI NIỆM VỀ LOG TRONG LINUX 2

1.1 Tổng quan về logfile 2

1.1.1 Khái niệm syslog 2

1.1.2 Khái niệm Log File Rotation 3

1.1.3 Khái niệm Examining Log Files 4

1.1.4 Khái niệm Logging syslog Messages to a Remote Linux Server 4

1.1.5 Khái niệm Syslog-ng 4

CHƯƠNG II CẤU HÌNH SYSLOG TRONG LINUX 4

2.1 Cấu hình Syslogd 4

2.2 Cấu hình Log File Rotation 5

2.3 Cấu hình Examining Log Files 6

2.4 Cấu hình Logging syslog Messages to a Remote Linux Server 8

2.5 Cài đặt và cấu hình syslog-ng 10

2.5.1 Cài đặt 10

2.5.2 Cấu hình syslog-ng 13

Trang 2

GIỚI THIỆU

Có hàng trăm các ứng dụng Linux trên thị trường, mỗi với các tập tin cấu hình riêng của họ và các trang trợ giúp Sự đa dạng này làm cho Linux sôi động, nhưng nó cũng làm cho khó khăn Linux hệ thống hành chính May mắn thay, trong nhiều trường hợp, các ứng dụng Linux sử dụng các tiện ích syslog để xuất khẩu tất cả các lỗi của họ và thông điệp tình trạng để các tập tin nằm trong thư mục / log / var

Điều này rất quan trọng trong mối tương quan giữa thời gian và nguyên nhân của các sự kiện có liên quan trên hệ thống của bạn Nó cũng quan trọng để biết rằng các ứng dụng thường không hiển thị lỗi trên màn hình, nhưng thường

sẽ đăng chúng ở đâu đó Biết được thông báo chính xác mà đi kèm với một lỗi

có thể rất quan trọng trong nghiên cứu trục trặc trong hướng dẫn sử dụng sản phẩm, tài liệu trực tuyến, và tìm kiếm Web

Syslog, và các tiện ích logrotate sẽ xóa sạch các file log tương đối dễ dàng

để cấu hình nhưng thường không nhận được chia sẻ nó bao phủ ở hầu hết các văn bản Syslog ở đây như là một chương dành riêng nhằm nhấn mạnh tầm quan trọng của nó về Linux của bạn và chuẩn bị cho bạn một kỹ năng tuyệt vời sẽ giúp bạn khắc phục tất cả các Linux và ứng dụng khác nhau

Trang 3

CHƯƠNG I CÁC KHÁI NIỆM VỀ LOG TRONG LINUX

1.1 Tổng quan về logfile

Log File: Đây là một tập tin được tạo ra bởi một máy chủ web hoặc máy chủ proxy có chứa tất cả thông tin về các hoạt động trên máy chủ đó, như thông tin người truy cập, thời gian khách viếng thăm, địa chỉ IP… Log file có rất nhiều tác dụng đối với webmaster như phân tích xem người truy cập vào những phần nào trên trang web nhiều nhất và chuyển sang xem mục nào trên trang web…

1.1.1 Khái niệm syslog

Nhiều sự kiện xảy ra trên hệ thống Linux của bạn nên được log lại cho mục đích quản trị Linux sử dụng hệ thống syslogd để hiển thị và lưu thông tin miêu tả về các sự kiện này Hệ thống này cho phép kiểm soát chặt chẽ logging của các messages từ kernel, từ các tiến trình đang chạy trên hệ thống, hoặc các

hệ thống từ xa Thông báo có thể hiển thị trên console, trong log files và trên màn hình text của người dùng trong hệ thống

4 khái niệm cơ bản của syslog:

- Facility: Facility giúp kiểm soát log đến dựa vào nguồn gốc được quy

định như từng ứng dụng hay tiến trình nào Syslog sử dụng facility để quy hoạch lại log như vậy có thể coi facility là đại diện cho đối tượng tạo ra thông báo (kernel, process, apps,…)

- Priority (level): Mức độ quan trọng của log message được chỉ định.

- Selector: Sự kết hợp giữa facility và level (facility.level), tức khi một

event xảy ra nó sẽ xem có match bất kỳ selector nào hay không, nếu có thì hành động (action) tương ứng khi cấu hình sẽ được thực thi

- Action: Đại diện cho địa chỉ của message tương ứng với

facility.level.action có thể là một tên file, một hostname đứng trước ký tự @, hoặc một danh sách người dung ngăn cách bằng dấu phẩy, hoặc một dấu *

1.1.1.1 Syslog Facilities

Các loại facility được sử dụng và quy định trong hệ thống Linux

auth: sử dụng cho những sự kiện bảo mật

authpriv: các thông báo liên quan đến kiểm soát truy cập và bảo mật

cron: cron daemon

daemon: sử dụng bởi các tiến trình hệ thống và các daemons khác

kern: các thông báo từ kernel

lpr: hệ thống in ấn

mark: những thông báo được generated bởi bản thân syslogd Nó chỉ

chứa một biến timestamp và một chuỗi " MARK ".

news: hệ thống tin tức

syslog: những thông báo được generated bởi bản thân syslogd.

Trang 4

user: thông báo về cấp người dùng chung

uucp: hệ thống con UUCP

local0 to local7: dự trữ cho sử dụng nội bộ

Việc sử dụng facility cho phép bạn kiểm soát địa chỉ đến của message dựa trên nguồn gốc của nó

1.1.1.2 Syslog Priority

Các mức độ ưu tiên của Syslog

debug: các messages ở chế độ debug

info: messages mang thông tin

notice: messages mang tính chất thông báo

warning (hoặc warn): messages cảnh báo

err (hoặc error): messages lỗi

crit: messages nguy hiểm

alert: messages về các hành động phải được thực hiện ngay

emerg (hoặc panic): messages khi hệ thống không thể dùng được nữa

Ngoài ra còn một mức đặc biệt được gọi là none, mức này sẽ disable facility đi cùng Level định nghĩa một số lượng các bản ghi chi tiết trong log file Dấu sao [*] có thể được sử dụng để miêu tả cho tất cả các facilities hoặc tất

cả các levels

1.1.2 Khái niệm Log File Rotation

Phần lớn các bản phân phối sẽ cài đặt một cấu hình syslog mặc định cho

hệ thống, bao gồm logging to messages và các log file khác trong thư mục /var/log Để ngăn cản nhưng file này ngày càng lớn trở nên cồng kềnh và

có thể làm đầy ổ cứng gây ảnh hưởng đến các dịch vụ khác đang chạy Một hệ thống xoay vòng log (log rotation) nên được cài đặt Hệ thống cron đưa ra các lệnh để thiết lập những log files mới, những log file cũ được đổi tên bằng cách thay một con số ở hậu tố

Ví dụ khi có sự xoay vòng log xảy ra file /var/log/messages sẽ được chuyển thành /var/log/messages.1 và hệ thống sẽ tạo mới một file /var/log/mesages Sự xoay vòng này có thể được cấu hình cho một số lượng lớn các file

Tùy theo cấu hình mà các file này sẽ được lưu lại bao nhiêu bản cũ nhất trên server trước khi bị xóa đi Tiện ích thi hành rotation là logrotate Lệnh này được cấu hình sử dụng cho một hoặc nhiều files - được xác định bởi các tham số

đi cùng File cấu hình mặc định là /etc/logrotate.conf

Có hai kiểu xoay vòng log thường được sử dụng:

 Xoay vòng log theo dung lượng file

 Xoay vòng log theo thời gian

Trang 5

Mỗi kiểu đều có ưu nhược điểm riêng Tùy thuộc vào đặc điểm của từng

hệ thống mà ta chọn kiểu xoay vòng log thích hợp Để cấu hình xoay vòng log cho các dịch vụ ta sẽ đặt các file cấu hình xoay vòng log trong thư mục /etc/logrotate.d

1.1.3 Khái niệm Examining Log Files

Bạn có thể học được nhiều cách hoạt động của hệ thống bằng cách xem lại các log files được tạo Một lúc nào đó sẽ cần thiết để gỡ rối vấn đề gặp phải

từ những thông tin đã được logged đó Phần lớn các log files có dạng plain text,

nó rất dễ dàng để xem lại với một vài lệnh như: tail, less, và grep

Một dòng thông báo log được tạo với các thông tin sau, ngăn cách bởi 1 khoảng trắng (space)

 Date/time

 Origin hostname

 Message sender

 Message text

1.1.4 Khái niệm Logging syslog Messages to a Remote Linux Server

Việc logging các thông báo của hệ thống đến một remote server cũng là một cách bảo mật tốt Thuận lợi của việc này:

- Tập trung các log files về một server trung tâm

- Kiểm soát lỗi hoặc các hành động nguy hiểm một cách tốt hơn

- Hành động xóa log files của kẻ xấu không thể xảy ra cùng một lúc nhất

là khi bạn ngăn cản user truy cập đến logging server

1.1.5 Khái niệm Syslog-ng

Syslog-ng là một ứng dụng tổ hợp các tính năng của logrotate và syslog,

nó cho phép tùy biến dễ dàng, và giàu tính năng hơn

Ưu điểm:

+ Logging đáng tin cậy vì có thể truyền qua TCP

+ Không có sự quay vòng log files mà chúng được lưu theo vị trí mặc định + Cải thiện các log entries

Trang 6

CHƯƠNG II CẤU HÌNH SYSLOG TRONG LINUX

2.1 Cấu hình Syslogd

Ví dụ, để theo dõi các daemon bạn có thể thêm 1 dòng

vào /etc/syslog.conf như sau:

Code:

# Define a new log file for daemon facility

daemon.* /var/log/daemon.log

Bạn cần restart syslog để thay đổi này có hiệu lực: Code:

$ sudo /sbin/service syslog restart

Shutting down kernel logger: [ OK ]

Shutting down system logger: [ OK ]

Starting system logger: [ OK ]

Starting kernel logger: [ OK ]

Tiếp theo bạn cần reboot để daemon.log được tạo trong /var/log

Để test, bạn có thể sử dụng tiện ích logger để gửi messages đến facility bằng shell script:

Code:

$ logger -p daemon.notice "Anh yeu em"

Thông báo "This is a notice" sẽ xuất hiện trong /var/log/daemon.log

Trang 7

2.2 Cấu hình Log File Rotation

Lệnh này được cấu hình sử dụng cho một hoặc nhiều files - được xác định bởi các tham số đi cùng File cấu hình mặc định là /etc/logrotate.conf Code:

Trang 8

Trong ví dụ này, bạn sẽ thấy:

Hệ thống sẽ quay vòng log files hàng tuần

Lưu lại những thông tin logs đáng giá trong 4 tuần

Sử dụng định dạng Ngày tháng thêm vào để làm hậu tố của log files (20071111, 20071118, )

Thông tin về sự quay vòng log của các gói RPM nằm trong /etc/logrotate.d

Rotation được thiết lập cho 2 files: /var/log/wtmp và /var/log/btmp

Ví dụ: Cấu hình xoay vòng log cho log của web server apache ta làm như sau

Tạo file cấu hình cấu hình xoay vòng log

/etc/logrotate.d/httpd

Thêm phần cấu hình bên dưới vào file cấu hình

Size 70M: hệ thống sẽ xoay vòng log khi dung lượng file log lớn hơn

70M Tại đây chúng ta cũng có thể cấu hình xoay vòng log dựa trên thời gian bằng cách dùng các chỉ thị sau (daily, weekly, monthly) Để xoay vòng log theo ngày, tuần và tháng

Compress: nén các file log cũ theo chuẩn gzip Mục đích giảm không gian

đĩa cứng

Dateext: ngày sẽ được thêm vào trong tên file mới.

Rotate 7: hệ thống chỉ lưu giữ 7 file log trên server Các file cũ hơn sẽ

được xóa bỏ khỏi hệ thống

Misingok: hệ thống sẽ không tạo ra lỗi Nếu tập tin không được tìm thấy Sharedscripts: chạy các script bất kỳ trước (prerotate) hoặc sau khi (postrotate) xoay vòng cho mỗi file log.

Trang 9

2.3 Cấu hình Examining Log Files

Một đoạn messages điển hình như sau

Trong trường hợp này, hostname là t36 và messages đến từ các dịch vụ Bất cứ lúc nào bạn cũng có thể xem lại nội dung log files của bạn bằng cách dùng less

Code:

$ less /var/log/messages

hoặc tail

Code:

$ tail -f /var/log/messages

Để tìm kiếm các thông báo xác định về mouse, bạn có thể dùng grep

Code:

# grep '[Mm]ouse' /var/log/messages

Dec 8 00:15:28 smp kernel: Detected PS/2 Mouse Port.

Dec 8 10:55:02 smp gpm: Shutting down gpm mouse services:

Thông thường, nếu bạn sử dụng grep để tìm kiếm một item đặc biệt trong / var/log/messages, bạn sẽ cần phải tìm kiếm tất cả các rotated files với

một wildcard (tạm dịch: ký tự đại diện) Chẳng hạn, để tìm kiếm tất cả các

Trang 10

messages từ sendmail bạn cần:

Code:

# grep 'sendmail:' /var/log/messages*

Khi bạn xác định vấn đề từ log files, hãy nhìn vào hostname và sender đầu tiên, sau đó là messages text Trong nhiều trường hợp bạn có thể xác định được cái gì là sai từ thông báo đó Thi thoảng, những thông báo lỗi đó chỉ là đầu mối,

và việc xem lại toàn bộ các logs của bạn là cần thiết Trong trường hợp này, sẽ hữu ích nếu bạn tạm thời thay đổi level trong /etc/syslog.conf thành debug để log lại nhiều thông tin hơn giúp bạn giải quyết vấn đề

2.4 Cấu hình Logging syslog Messages to a Remote Linux Server

Cấu hình syslog cho server

Theo mặc định thì syslog không nhận các thông báo từ remote clients Để làm điều này bạn cần chỉnh /etc/sysconfig/syslog và thêm một tuỳ chọn -r vào cuối tham số SYSLOGD_OPTIONS

Nếu trên server bạn có dùng iptables, hãy chắc chắn rằng cổng 514 cho UDP đã được mở:

Trang 11

-A RH-Firewall-1-INPUT -m state state NEW -m udp -p udp dport 514 -j ACCEPT

Nhớ restart iptables:

Code:

# /sbin/service iptables restart

Flushing firewall rules: [ OK ]

Setting chains to policy ACCEPT: filter [ OK ]

Unloading iptables modules: [ OK ]

Applying iptables firewall rules: [ OK ]

ip_conntrack_netbios_n[ OK ]ntrack_ftp

Cấu hình cho client

Syslog server đã có thể nhận các syslog messages Ở client, bạn phải cấu hình để gửi messages đến nó Để thực hiện điều này bạn cần

sửa /etc/syslog.conf như sau:

Code:

*.debug @192.168.1.3

*.debug /var/log/messages

Từ bây giờ, tất cả các messages có level là debug hoặc cao hơn đều được log tại server 172.16.1.1 cũng như tại local (/var/log/messages)

Hãy nhớ là chúng ta cần restart lại syslog

Code:

$ sudo /sbin/service syslog restart

Password:

Shutting down kernel logger: [ OK ]

Shutting down system logger: [ OK ]

Starting system logger: [ OK ]

Starting kernel logger: [ OK ]

Trang 12

Test:

Trên client, bạn thử:

Code:

$ sudo /sbin/service openvpn stop

Shutting down openvpn: [ OK ]

Trên server, kiểm tra xem đã nhận được syslog messages chưa: Code:

# tail /var/log/messages

Dec 1 21:31:13 192.168.1.2 localhost openvpn[4507]: TCP/UDP: Closing socket

Dec 1 21:31:13 192.168.1.2 localhost openvpn[4507]: SIGTERM[hard,] received, process exiting

Như vậy, việc gửi logging messages đến remote server đã thành công

2.5 Cài đặt và cấu hình syslog-ng

2.5.1 Cài đặt

Cả eventlog và syslog-ng các bạn đều có thể download từ website:

www.balabit.com

Code:

# wget http://www.balabit.com/downloads/files/eventlog/0.2/eventlog-0.2.5.tar.gz

21:43:01

http://www.balabit.com/downloads/files/eventlog/0.2/eventlog-0.2.5.tar.gz

Resolving www.balabit.com 212.92.18.33

Connecting to www.balabit.com|212.92.18.33|:80 connected.

HTTP request sent, awaiting response 200 OK

Length: unspecified [application/octet-stream]

Saving to: `eventlog-0.2.5.tar.gz'

Trang 13

[ <=> ] 312,164 35.3K/s in 8.6s

21:43:29 (35.3 KB/s) - `eventlog-0.2.5.tar.gz' saved [312164]

Code:

# wget http://www.balabit.com/downloads/files/syslog-ng/sources/2.0/src/ syslog-ng-2.0.6.tar.gz

21:46:37 http://www.balabit.com/downloads/files/syslog-ng/sources/2.0/src/syslog-ng-2.0.6.tar.gz

Resolving www.balabit.com 212.92.18.33

Connecting to www.balabit.com|212.92.18.33|:80 connected.

HTTP request sent, awaiting response 200 OK

Length: unspecified [application/octet-stream]

Saving to: `syslog-ng-2.0.6.tar.gz'

[ <=> ] 369,302 15.2K/s in 21s

21:47:00 (17.0 KB/s) - `syslog-ng-2.0.6.tar.gz' saved [369302]

Tiến hành cài thư viện glib (nếu chưa có)

Code:

$ yum -y install glib

Code:

# tar -zxvf eventlog-0.2.5.tar.gz

# cd eventlog-0.2.5

# /configure

# make

# make install

Trang 14

Gán biến môi trường PKG_CONFIG_PATH

Code:

# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

Bước tiếp theo, cài syslog-ng

Code:

# tar -zxvf syslog-ng-2.0.6.tar.gz

# cd syslog-ng-2.0.6

# /configure sysconfdir=/etc

# make

# make install

Quá trình cài đặt kết thúc, chúng ta sẽ có được các file cấu hình mẫu nằm trong thư mục contrib

Code:

[root@localhost syslog-ng-2.0.6]# ls contrib

aix-packaging init.d.solaris Makefile.in syslog-ng.conf.HP-UX fedora-packaging init.d.SunOS README syslog-ng.conf.RedHat

hpux-packaging init.d.SuSE relogger.pl syslog-ng.conf.SunOS init.d.HP-UX lfs-packaging rhel-packaging syslog-ng.vim

init.d.RedHat Makefile syslog2ng

init.d.RedHat-7.3 Makefile.am syslog-ng.conf.doc

Tạo một thư mục syslog-ng trong /etc và copy các scripts và file cấu hình mẫu đến nơi tương ứng (Tuỳ vào Distro bạn đang dùng mà chọn thư mục thích hợp)

Code:

# mkdir /etc/syslog-ng

# cp contrib/fedora-packaging/syslog-ng.init /etc/init.d/syslog-ng

# cp contrib/fedora-packaging/syslog-ng.conf /etc/syslog-ng

Ngày đăng: 25/06/2016, 11:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w