Tải bản đầy đủ (.docx) (19 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (359.02 KB, 19 trang )

MỤC LỤC


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.

2


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.
• user: thông báo về cấp người dùng chung








3





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

4


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

5


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.*
Bạn
Code:

cần

/var/log/daemon.log
restart syslog để

thay

đổi

này



hiệu

$ 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

6

lực:


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:

7


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ề
trong /etc/logrotate.d

sự

quay

vòng

log

của

các

gói

RPM

nằm

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.
8


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
9


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ở:

10


-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 ]

Loading additional iptables modules: 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 ]
11


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 />--21:43:01- />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'

12


[

<=>

] 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
/>--21:46:37- />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

Cài
Code:

đặt eventlog

# tar -zxvf eventlog-0.2.5.tar.gz
# cd eventlog-0.2.5
# ./configure
# make
# make install

13


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

fedora-packaging
ng.conf.RedHat
hpux-packaging

init.d.SunOS
init.d.SuSE

syslog-ng.conf.HP-UX

README

relogger.pl

init.d.HP-UX


lfs-packaging rhel-packaging

init.d.RedHat

Makefile

syslogsyslog-ng.conf.SunOS
syslog-ng.vim

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
# cp contrib/fedora-packaging/syslog-ng.sysconfig /etc/sysconfig/syslogng
14


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

Thay đổi quyền cho file /etc/init.d/syslog-ng

Code:
# chmod 755 /etc/init.d/syslog-ng

Lúc này bạn cần tìm đúng vị trí của syslog-ng và cho init.d script trỏ đến đó
Code:
# updatedb
# locate syslog-ng | grep bin
/usr/local/sbin/syslog-ng
# vi /etc/init.d/syslog-ng
...
#exec="/sbin/syslog-ng"
exec="/usr/local/sbin/syslog-ng"
...

Dừng syslog và khởi tạo syslog-ng
Code:
# service syslog stop
# service syslog-ng start

Tạo một group logs và thêm các users cần dùng vào
Code:
# groupadd logs
# usermod -G logs root

Cấu hình để syslog-ng khởi động ở lần reboot tiếp theo
Code:
# chkconfig syslog off
# chkconfig syslog-ng on
15



2.5.2. Cấu hình syslog-ng
# syslog-ng configuration file.
#
# This should behave pretty much like the original syslog on RedHat. But
# it could be configured a lot smarter.
#
# See syslog-ng(8) and syslog-ng.conf(5) for more information.
# ...
#
options {
sync (0);
time_reopen (10);
log_fifo_size (1000);
use_dns (no);
use_fqdn (no);
create_dirs (yes);
keep_hostname (yes);
};
source s_sys {
file ("/proc/kmsg" log_prefix("kernel: "));
unix-stream ("/dev/log");
internal();
# udp(ip(0.0.0.0) port(514));
# tcp(ip(0.0.0.0) port(514));
};
destination d_cons { file("/dev/console"); };
destination d_mesg { file("/var/log/messages"); };
destination d_auth { file("/var/log/secure"); };
destination d_mail { file("/var/log/maillog" sync(10)); };

destination d_spol { file("/var/log/spooler"); };
destination d_boot { file("/var/log/boot.log"); };
destination d_cron { file("/var/log/cron"); };
destination d_mlal { usertty("*"); };
#filter f_filter1 { facility(kern); };
filter f_filter2 { level(info..emerg) and
not facility(mail,authpriv,cron); };
filter f_filter3 { facility(authpriv); };
filter f_filter4 { facility(mail); };
filter f_filter5 { level(emerg); };
filter f_filter6 { facility(uucp) or
(facility(news) and level(crit..emerg)); };
filter f_filter7 { facility(local7); };

16


filter f_filter8 { facility(cron); };
#log { source(s_sys); filter(f_filter1); destination(d_cons); };
log { source(s_sys); filter(f_filter2); destination(d_mesg); };
log { source(s_sys); filter(f_filter3); destination(d_auth); };
log { source(s_sys); filter(f_filter4); destination(d_mail); };
log { source(s_sys); filter(f_filter5); destination(d_mlal); };
log { source(s_sys); filter(f_filter6); destination(d_spol); };
log { source(s_sys); filter(f_filter7); destination(d_boot); };
log { source(s_sys); filter(f_filter8); destination(d_cron); };
# vim:set ai ts=4 sw=4 sts=4 et:

Bạn có thể dễ dàng nhận ra file cấu hình của syslog-ng được chia thành các khối
riêng rẽ: options, source, filter, destination, và log. Ý nghĩa cơ bản của các khối

này như sau:
• options: nơi chứa những tùy chọn toàn cục, những tuỳ chọn này có thể bị
ghi đè (overridden) bởi 1 trong 4 sections sau
• source: chứa nguồn của thông báo, nó có thể là: files, local sockets hoặc
remote hosts
• destination: đích đến của thông báo. Nó cũng có thể là: files, local
sockets hoặc remote hosts
• filter: đây là một chức năng mạnh và linh động của syslog-ng. Bạn có thể
dùng nó để lọc bất cứ log messages nào như là: syslogd chuẩn, log level, host
names, hoặc một nội dung tùy ý như là một cụm ký tự hay một chuỗi số
• log: Khối này chứa các câu lệnh log, kết nối giữa: source, destination,
filter để báo cho syslog-ng biết là chúng phải làm gì
Một khối options điển hình như sau:
options {
sync (0);
time_reopen (10);
log_fifo_size (1000);
use_dns (no);
use_fqdn (no);
create_dirs (yes);
keep_hostname (yes);
};

Những lệnh trong khối options này phải sử dụng những tuỳ chọn đã được định
nghĩa trong /etc/syslog-ng/syslog-ng.conf. Ý nghĩa của từng tham số trong khối
này:
17


sync: Có bao nhiêu dòng messages sẽ được giữ lại ở hàng đợi output trước khi

ghi ra đĩa. 0 là một tuỳ chọn ưa thích - điều đó có nghĩa là bạn sẽ ghi lại mọi thứ
time_reopen: thời gian đợi (tính bằng s) trước khi những kết nối hỏng được thực
hiện lại
log_fifo_size: số dòng thông báo lớn nhất trong output queue. Output queue
được hiểu là tất cả các destinations file
use_dns (yes|no): dùng hay không dùng DNS
use_fqdn (yes|no): Có dùng một tên miền đầy đủ thay vì một tên miền ngắn hay
không
create_dirs (yes|no): có cho phép tạo thư mục cho các file đích hay không
keep_hostname (yes|no): Xác định xem có trust hostname trong các log
messages hay không. Nếu keep_hostname có giá trị là yes và có 1 hostname
trong message thì syslog-ng không làm gì cả. Ngược lại, nó luôn luôn ghi đè lên
những thông tin từ nơi nhận message
Source, Destination, và Filter Statements
Phần này được cấu hình tùy ý. Để hiển cặn kẽ các thành phần cũng như
tham số trong những khối này bạn cần đọc man 5 syslog-ng.conf
Khối log sẽ đặt tất cả chúng (source, filter, destination) cùng nhau:
log { source(s_sys); filter(f_filter2); destination(d_mesg); };

Enabling Remote Logging
Chúng ta có thể gửi log messages từ các remote clients đến server với
syslogd. Nhưng cách làm này là không an toàn và thông tin có thể bị mất bởi vì
syslogd truyền bằng UDP packets. Đó là lý do bạn cần cài đặt syslog-ng trên
client hosts. Thêm những dòng sau vào syslog-ng.conf trên server để cho phép
nhận messages từ remote clients và dumps chúng ra một file trên host
source s_remote { tcp(); };
destination d_clients { file("/var/log/HOSTS/$HOST/"); };
log { source(s_remote); destination(d_clients); };

Lúc này trên client host bạn có thể tập hợp tất cả các local messages

và gửi chúng đến remote server như sau:
#sample syslog-ng.conf for a remote client

18


source s_local { internal(); unix-stream("/dev/log"); file("/proc/kmsg"
log_prefix("kernel: ")); };
destination d_loghost {tcp("192.168.1.2" port(514));};
log { source(s_local); destination(loghost); };

Hãy nhớ rằng, bất cứ khi nào bạn thay đổi syslog-ng.conf bạn cần khởi
động lại syslog-ng:
# /etc/init.d/syslog-ng restart

Kiểm tra mọi thứ
Bây giờ bạn có thể chạy một vài phép thử đơn giản trên cả server và
client. Thử tạo một login session mới trên server hoặc là chạy su hay sudo. Sau
đó check /var/log/auth.log.
Trên client bạn thử chạy bất cứ lệnh nào đó, sau đó kiểm tra xem có thư
mục mới nào được tạo cho remote client trong /var/log/HOSTS hay không.
Một cách khác là sử dụng lệnh logger:
# logger "this is a test"
# logger -p auth.debug "this is a test"

Lệnh này sẽ tạo một dòng như sau trong logfiles:
Apr 1 16:08:42 localhost.localdomain logger: this is a test

19




×