Hướng dẫn ghi Syslog trên Linux OS
2 posters
Trang 1 trong tổng số 1 trang
Hướng dẫn ghi Syslog trên Linux OS
Thủy gửi mọi người 1 bài viết hướng dẫn ghi Syslog trên Linux OS. Hy vọng sẽ giúp ích cho các bạn !
Với người quản trị hệ thống việc theo dõi log hệ thống luôn là một trong những việc quan trọng nhất. Sau đây mình xin giới thiệu Syslog, một công cụ ghi log khá phổ biến trên các OS Linux.
syslog là một công cụ nhận biết và ghi lại tất cả các loại system message, từ loại thông thường cho đến quan trọng. Syslog quản lý các system message dựa trên hai nhãn của system message.
Nhãn thứ nhất thể hiện nguồn tạo message
Nhãn thứ hai thể hiện mức độ quan trọng của message, gồm tám giá trị như sau
Security Keyword
0 emergencies
1 alerts
2 critical
3 errors
4 warnings
5 notifications
6 informational
7 debugging
/etc/syslog.conf
là file cấu hình quy định hoạt động ghi log system message của syslog, file này mặc định gồm hai cột.
cột thứ nhất thể hiện syslog sẽ nhận các message từ đâu và mức độ quan trọng của các message, cột thứ hai thể hiện file chứa các message đó.
vi dụ cấu hình sau
*.info;mail.none;authpriv.none;cron.none /var/log/messages
thể hiện file /var/log/message sẽ chứa tất các system message có mức độ từ info trở lên ngoại trừ các message của mail, authpriv, cron.
*.debug /var/log/debug
thể hiện mọi thông tin debug của hệ thống sẽ được ghi vào file /var/log/debug
*.emerg *
thể hiện mọi system message loại emerge sẽ được ghi trực tiếp ra màn hình.
Bên cạnh đó có nhiều dịch vụ hệ thống sẽ ghi log message của nó vào file riêng biệt mà không phụ thuộc vào cấu hình syslog như.
dịch vụ mail sẽ ghi log vào file /var/log/maillog
dịch vụ apache sẽ ghi log vào các file trong thư mục /var/log/httpd/
...
Khi đó muốn xem log của dịch vụ nào bạn phải mở các file log tương ứng của dịch vụ đó
Xem log hệ thống
Thông thường khối lượng system message được ghi lại là rất lớn nhất là đối với những hệ thống có mật độ xử lý lớn. Sau đây là một số lệnh thường dùng để xem những file log có số lượng message lớn.
tail -f /var/log/messages
các log message mới xuất hiện sẽ được đưa ra màn hình
grep string /var/log/messages | more
chỉ hiện các message có chứa ký tự string theo từng trang màn hình.
more /var/log/messages
lần lượt xem log message trên từng trang màn hdduwowcjR
Remote syslog
Với syslog bạn có thể thực hiện việc ghi log của nhiều hệ thống ở nhiều địa điểm cách xa nhau vào một server log duy nhất. Đây cũng là một điểm giúp tăng khả năng bảo mật hệ thống mà bạn cần lưu ý.
cũng như mọi dịch vụ remote khác phần cấu hình sẽ gồm hai phần, phần phía Server (serverlog) và phần phía Client (clientlog).
Cấu hình phía Serverlog
Như đã nói syslog đọc file cấu hình /etc/syslog.conf để xác định loại system message mà nó sẽ nhận và vị trí file mà nó sẽ ghi log vào. Tuy nhiên bên cạnh đó nó còn đọc file /etc/sysconfig/syslog để xác định mốt hoạt động.
Mặc định syslog không nhận system message từ các hệ thống ở xa tuy nhiên điều này sẽ thay đổi nếu biến SYSLOGD_OPTIONS trong file /etc/sysconfig/syslog được đặt thêm giá trị -r như sau.
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages received with -r
# See syslogd( for more details
SYSLOGD_OPTIONS="-m 0 -r"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd( for more details
KLOGD_OPTIONS="-2"
sau khi sau khi sửa file /etc/sysconfig/syslog bạn restart dịch vụ syslog để những thay đổi có hiệu lực.
bạn dùng lệnh netstat để đảm bảo syslog trên hệ thống đã sẵn sàng nhận message từ các hệ thống ở xa.
netstat -a | grep syslog
udp 0 0 *:syslog *:*
Or :
netstat -an | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:*
lúc này syslog đã sẵn sàng nhận system message UDP tại port 514.
Cấu hình phía Clientlog
khai báo địa chỉ ip và tên host đầy đủ (FQDN) của Serverlog tại file /etc/hosts
192.168.1.100 syslogserver.com syslogserver loghost
với loghost là nickname của logserver.
sửa file /etc/syslog.conf để syslog trên máy Clientlog gửi message đến máy loghost (Serverlog).
ví dụ
*.debug @loghost
*.debug /var/log/messages
thể hiện các system message từ mức debug trở lên sẽ cùng được gửi đến máy loghost và ghi vào file /var/log/message trên Clientlog.
Với những hệ thống lớn có số lượng file log lớn thì việc quản lý các file log này cũng là một vấn đề. Logrotate là một công cụ hữu hiệu hỗ trợ cho việc quản trị các file log. Với Logrotate các file log có thể được định kỳ sử dụng lại theo ngày tuần tháng hay theo kích thước file log, nén, xoá bỏ file log...
Hoạt động của logrotate mặc định được cấu hình tại file /etc/logrotate.conf thông qua những tham số tuỳ chọn, sau đây là một số tham số thường dùng.
compress : nén những file log đã sử dụng
nocompress: ngược lại với tuỳ chọn compress
create mode owner group: khi sử dụng một file log mới, file log mới được tạo sẽ có các thuộc tính (mode, owner group).
nocreate : không tạo file log mới.
mail address : khi hết chu kỳ sử dụng file log sẽ được gửi tới địa chỉ (address).
nomail : ngược lại với tuỳ chọn trên.
daily : chu kỳ sử dụng file log theo ngày
weekly : chu kỳ sử dụng file log theo tuần.
monthly : chu kỳ sử dụng file log theo tháng.
rotate count : xác định số lần luân phiên sử dụng file log.
size size : chu kỳ sử dụng file log được xác định theo kích thước.
include /etc/logrotate.d : đọc thêm các thông tin cấu hình tại các file trong thư mục /etc/logrotate. Các tham số khai báo ở các file này có độ ưu tiên cao hơn các tham số khai báo trong file /etc/logrotate.conf.
ví dụ một file /etc/logrotate có thể như sau
weekly
rotate 4
errors root
create
compress
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
/var/log/lastlog {
monthly
rotate 1
}
phần mắc định xác định mỗi file log được ghi trong một tuần, chỉ lưu lại file log của bốn tuần, các logrotate error message được gửi tới root, các file log lưu trữ được nén lại.
cho phép logrotate đọc thêm các thông tin cấu hình nằm tại các file trong thư mục /etc/logrotate.d
file log /var/log/wtmp được ghi log trong một tháng, khi tạo file log mới file này có thuộc tính là 0664, woner là root, group là utmp, chỉ lưu thông tin log trong một tháng.
file log /var/log/lastlog được ghi log trong một tháng, chỉ lưu thông tin log trong một tháng.
Nguồn : Internet
Với người quản trị hệ thống việc theo dõi log hệ thống luôn là một trong những việc quan trọng nhất. Sau đây mình xin giới thiệu Syslog, một công cụ ghi log khá phổ biến trên các OS Linux.
syslog là một công cụ nhận biết và ghi lại tất cả các loại system message, từ loại thông thường cho đến quan trọng. Syslog quản lý các system message dựa trên hai nhãn của system message.
Nhãn thứ nhất thể hiện nguồn tạo message
Nhãn thứ hai thể hiện mức độ quan trọng của message, gồm tám giá trị như sau
Security Keyword
0 emergencies
1 alerts
2 critical
3 errors
4 warnings
5 notifications
6 informational
7 debugging
/etc/syslog.conf
là file cấu hình quy định hoạt động ghi log system message của syslog, file này mặc định gồm hai cột.
cột thứ nhất thể hiện syslog sẽ nhận các message từ đâu và mức độ quan trọng của các message, cột thứ hai thể hiện file chứa các message đó.
vi dụ cấu hình sau
*.info;mail.none;authpriv.none;cron.none /var/log/messages
thể hiện file /var/log/message sẽ chứa tất các system message có mức độ từ info trở lên ngoại trừ các message của mail, authpriv, cron.
*.debug /var/log/debug
thể hiện mọi thông tin debug của hệ thống sẽ được ghi vào file /var/log/debug
*.emerg *
thể hiện mọi system message loại emerge sẽ được ghi trực tiếp ra màn hình.
Bên cạnh đó có nhiều dịch vụ hệ thống sẽ ghi log message của nó vào file riêng biệt mà không phụ thuộc vào cấu hình syslog như.
dịch vụ mail sẽ ghi log vào file /var/log/maillog
dịch vụ apache sẽ ghi log vào các file trong thư mục /var/log/httpd/
...
Khi đó muốn xem log của dịch vụ nào bạn phải mở các file log tương ứng của dịch vụ đó
Xem log hệ thống
Thông thường khối lượng system message được ghi lại là rất lớn nhất là đối với những hệ thống có mật độ xử lý lớn. Sau đây là một số lệnh thường dùng để xem những file log có số lượng message lớn.
tail -f /var/log/messages
các log message mới xuất hiện sẽ được đưa ra màn hình
grep string /var/log/messages | more
chỉ hiện các message có chứa ký tự string theo từng trang màn hình.
more /var/log/messages
lần lượt xem log message trên từng trang màn hdduwowcjR
Remote syslog
Với syslog bạn có thể thực hiện việc ghi log của nhiều hệ thống ở nhiều địa điểm cách xa nhau vào một server log duy nhất. Đây cũng là một điểm giúp tăng khả năng bảo mật hệ thống mà bạn cần lưu ý.
cũng như mọi dịch vụ remote khác phần cấu hình sẽ gồm hai phần, phần phía Server (serverlog) và phần phía Client (clientlog).
Cấu hình phía Serverlog
Như đã nói syslog đọc file cấu hình /etc/syslog.conf để xác định loại system message mà nó sẽ nhận và vị trí file mà nó sẽ ghi log vào. Tuy nhiên bên cạnh đó nó còn đọc file /etc/sysconfig/syslog để xác định mốt hoạt động.
Mặc định syslog không nhận system message từ các hệ thống ở xa tuy nhiên điều này sẽ thay đổi nếu biến SYSLOGD_OPTIONS trong file /etc/sysconfig/syslog được đặt thêm giá trị -r như sau.
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages received with -r
# See syslogd( for more details
SYSLOGD_OPTIONS="-m 0 -r"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
# once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd( for more details
KLOGD_OPTIONS="-2"
sau khi sau khi sửa file /etc/sysconfig/syslog bạn restart dịch vụ syslog để những thay đổi có hiệu lực.
bạn dùng lệnh netstat để đảm bảo syslog trên hệ thống đã sẵn sàng nhận message từ các hệ thống ở xa.
netstat -a | grep syslog
udp 0 0 *:syslog *:*
Or :
netstat -an | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:*
lúc này syslog đã sẵn sàng nhận system message UDP tại port 514.
Cấu hình phía Clientlog
khai báo địa chỉ ip và tên host đầy đủ (FQDN) của Serverlog tại file /etc/hosts
192.168.1.100 syslogserver.com syslogserver loghost
với loghost là nickname của logserver.
sửa file /etc/syslog.conf để syslog trên máy Clientlog gửi message đến máy loghost (Serverlog).
ví dụ
*.debug @loghost
*.debug /var/log/messages
thể hiện các system message từ mức debug trở lên sẽ cùng được gửi đến máy loghost và ghi vào file /var/log/message trên Clientlog.
Với những hệ thống lớn có số lượng file log lớn thì việc quản lý các file log này cũng là một vấn đề. Logrotate là một công cụ hữu hiệu hỗ trợ cho việc quản trị các file log. Với Logrotate các file log có thể được định kỳ sử dụng lại theo ngày tuần tháng hay theo kích thước file log, nén, xoá bỏ file log...
Hoạt động của logrotate mặc định được cấu hình tại file /etc/logrotate.conf thông qua những tham số tuỳ chọn, sau đây là một số tham số thường dùng.
compress : nén những file log đã sử dụng
nocompress: ngược lại với tuỳ chọn compress
create mode owner group: khi sử dụng một file log mới, file log mới được tạo sẽ có các thuộc tính (mode, owner group).
nocreate : không tạo file log mới.
mail address : khi hết chu kỳ sử dụng file log sẽ được gửi tới địa chỉ (address).
nomail : ngược lại với tuỳ chọn trên.
daily : chu kỳ sử dụng file log theo ngày
weekly : chu kỳ sử dụng file log theo tuần.
monthly : chu kỳ sử dụng file log theo tháng.
rotate count : xác định số lần luân phiên sử dụng file log.
size size : chu kỳ sử dụng file log được xác định theo kích thước.
include /etc/logrotate.d : đọc thêm các thông tin cấu hình tại các file trong thư mục /etc/logrotate. Các tham số khai báo ở các file này có độ ưu tiên cao hơn các tham số khai báo trong file /etc/logrotate.conf.
ví dụ một file /etc/logrotate có thể như sau
weekly
rotate 4
errors root
create
compress
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
/var/log/lastlog {
monthly
rotate 1
}
phần mắc định xác định mỗi file log được ghi trong một tuần, chỉ lưu lại file log của bốn tuần, các logrotate error message được gửi tới root, các file log lưu trữ được nén lại.
cho phép logrotate đọc thêm các thông tin cấu hình nằm tại các file trong thư mục /etc/logrotate.d
file log /var/log/wtmp được ghi log trong một tháng, khi tạo file log mới file này có thuộc tính là 0664, woner là root, group là utmp, chỉ lưu thông tin log trong một tháng.
file log /var/log/lastlog được ghi log trong một tháng, chỉ lưu thông tin log trong một tháng.
Nguồn : Internet
error- Tổng số bài gửi : 17
Join date : 15/11/2010
Re: Hướng dẫn ghi Syslog trên Linux OS
CHẳng hiều gì hết
trandinhnhan- Tổng số bài gửi : 43
Join date : 18/10/2010
Re: Hướng dẫn ghi Syslog trên Linux OS
trandinhnhan đã viết:CHẳng hiều gì hết
Bạn chưa thử thực hành nên đương nhiên còn nhiều chỗ ko hiểu.
Nếu muốn hiểu thêm mình nghĩ bạn nên thực hành phần này và cùng chia sẽ kinh nghiệm với mọi người.
Cám ơn sự quan tâm của bạn!
error- Tổng số bài gửi : 17
Join date : 15/11/2010
Similar topics
» SSH trên Linux và bảo mật trên SSH
» Hướng dẫn cài android 4.0 trên máy ảo của windowns
» Hướng dẫn cài đặt LAMP trên Ubuntu
» [Linux/BSD] Hướng dẫn sửa lỗi "cannot mount volume"
» tài liệu hướng dẫn sử dụng linux
» Hướng dẫn cài android 4.0 trên máy ảo của windowns
» Hướng dẫn cài đặt LAMP trên Ubuntu
» [Linux/BSD] Hướng dẫn sửa lỗi "cannot mount volume"
» tài liệu hướng dẫn sử dụng linux
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết