Cài đặt và cấu hình syslog-ng trên CentOS 6
Khái niệm facility level và secrity level:
Facility level: đại diện cho đối tượng tạo ra thông báo (kernel, process).
[TABLE="class: grid, width: 500"]
[TR]
[TD]acility Number[/TD]
[TD]Keyword[/TD]
[TD]Facility Description[/TD]
[/TR]
[TR]
[TD]0[/TD]
[TD]kem[/TD]
[TD]kernel messages[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]user[/TD]
[TD]user-level messages[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]mail[/TD]
[TD]mail system[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]daemon[/TD]
[TD]system daemons[/TD]
[/TR]
[TR]
[TD]4[/TD]
[TD]auth[/TD]
[TD]security/authorization messages[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]syslog[/TD]
[TD]messages generated internally by syslog[/TD]
[/TR]
[TR]
[TD]6[/TD]
[TD]lpr[/TD]
[TD]line printer subsystem[/TD]
[/TR]
[TR]
[TD]7[/TD]
[TD]news[/TD]
[TD]network news subsystem[/TD]
[/TR]
[TR]
[TD]8[/TD]
[TD]uucp[/TD]
[TD]UUCP subsystem[/TD]
[/TR]
[TR]
[TD]9[/TD]
[TD]-[/TD]
[TD]clock daemon[/TD]
[/TR]
[TR]
[TD]10[/TD]
[TD]authpriv[/TD]
[TD]security/authorization messages[/TD]
[/TR]
[TR]
[TD]11[/TD]
[TD]ftp[/TD]
[TD]FTP daemon[/TD]
[/TR]
[TR]
[TD]12[/TD]
[TD]-[/TD]
[TD]network news subsystem[/TD]
[/TR]
[TR]
[TD]13[/TD]
[TD]-[/TD]
[TD]log audit[/TD]
[/TR]
[TR]
[TD]14[/TD]
[TD]-[/TD]
[TD]log alert[/TD]
[/TR]
[TR]
[TD]15[/TD]
[TD]cron[/TD]
[TD]clock daemon[/TD]
[/TR]
[TR]
[TD]16[/TD]
[TD]local0[/TD]
[TD]local use 0 (local0)[/TD]
[/TR]
[TR]
[TD]17[/TD]
[TD]local1[/TD]
[TD]local use 1 (local1)[/TD]
[/TR]
[TR]
[TD]18[/TD]
[TD]local2[/TD]
[TD]local use 2 (local2)[/TD]
[/TR]
[TR]
[TD]19[/TD]
[TD]local3[/TD]
[TD]local use 3 (local3)[/TD]
[/TR]
[TR]
[TD]20[/TD]
[TD]local4[/TD]
[TD]local use 4 (local4)[/TD]
[/TR]
[TR]
[TD]21[/TD]
[TD]local5[/TD]
[TD]local use 5 (local5)[/TD]
[/TR]
[TR]
[TD]22[/TD]
[TD]local6[/TD]
[TD]local use 6 (local6)[/TD]
[/TR]
[TR]
[TD]23[/TD]
[TD]local7[/TD]
[TD]local use 7 (local7)[/TD]
[/TR]
[/TABLE]
Việc sử dụng facility cho phép chúng ta kiểm soát log được dễ dàng hơn, dựa vào nguồn gốc của nó.
Severity levels: xác định một ngưỡng mà messages sẽ được logged
[TABLE="class: grid, width: 500"]
[TR]
[TD]Code[/TD]
[TD]Severity[/TD]
[TD]Keyword[/TD]
[TD]Description[/TD]
[/TR]
[TR]
[TD]0[/TD]
[TD]Emergency[/TD]
[TD]emerg (panic)[/TD]
[TD]System is unstable[/TD]
[/TR]
[TR]
[TD]1[/TD]
[TD]Alert[/TD]
[TD]alert[/TD]
[TD]Action must be taken immediately[/TD]
[/TR]
[TR]
[TD]2[/TD]
[TD]Critical[/TD]
[TD]crit[/TD]
[TD]Critical conditions[/TD]
[/TR]
[TR]
[TD]3[/TD]
[TD]Error[/TD]
[TD]err (error)[/TD]
[TD]Error conditions[/TD]
[/TR]
[TR]
[TD]4[/TD]
[TD]Warning[/TD]
[TD]warning (warn)[/TD]
[TD]Warning conditions[/TD]
[/TR]
[TR]
[TD]5[/TD]
[TD]Notice[/TD]
[TD]notice[/TD]
[TD]Normal but significant condition[/TD]
[/TR]
[TR]
[TD]6[/TD]
[TD]Informational[/TD]
[TD]info[/TD]
[TD]Informational messages[/TD]
[/TR]
[TR]
[TD]7[/TD]
[TD]Debug[/TD]
[TD]debug[/TD]
[TD]Debug-level messages[/TD]
[/TR]
[/TABLE]
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 . Severity levels đị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 level hoặc tất cả Severity levels.
Cài đặt syslog-ng:
Yêu cầu:
· Hệ điều hành CentOS 6.x trở lên
· Kết nối internet
Cài đặt EPEL repo:
Code:
[root@myserver ~]# cd /root
[root@myserver ~]# wget [URL]http://dl.fedoraproject.org/pub/epel/6Server/i386/epel-release-6-8.noarch.rpm[/URL]
[root@myserver ~]# rpm -Uvh /root/epel-release-6-8.noarch.rpm
kiểm tra lại EPEL repo đã cài đặt thành công hay không
Code:
[root@myserver ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.cisp.com
* epel: mirror.metrocast.net
* extras: mirror.symnds.com
* updates: mirrors.easynews.com
repo id repo name status
base CentOS-6 - Base 4,802
epel Extra Packages for Enterprise Linux 6 - i386 8,318
extras CentOS-6 - Extras 12
updates CentOS-6 - Updates 93
repolist: 13,225
cài đặt syslog-ng
Code:
[root@myserver ~]# yum install syslog-ng syslog-ng-libdbi
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.cisp.com
* epel: archive.linux.duke.edu
* extras: mirror.symnds.com
* updates: mirrors.easynews.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package syslog-ng.i686 0:3.2.5-3.el6 will be installed
--> Processing Dependency: libnet.so.1 for package: syslog-ng-3.2.5-3.el6.i686
--> Processing Dependency: libevtlog.so.0 for package: syslog-ng-3.2.5-3.el6.i686
---> Package syslog-ng-libdbi.i686 0:3.2.5-3.el6 will be installed
--> Processing Dependency: libdbi.so.0 for package: syslog-ng-libdbi-3.2.5-3.el6.i686
--> Running transaction check
---> Package eventlog.i686 0:0.2.12-1.el6 will be installed
---> Package libdbi.i686 0:0.8.3-4.el6 will be installed
---> Package libnet.i686 0:1.1.5-1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Installing:
syslog-ng i686 3.2.5-3.el6 epel 442 k
syslog-ng-libdbi i686 3.2.5-3.el6 epel 31 k
Installing for dependencies:
eventlog i686 0.2.12-1.el6 epel 17 k
libdbi i686 0.8.3-4.el6 base 39 k
libnet i686 1.1.5-1.el6 epel 55 k
Transaction Summary
====================================================================================================
Install 5 Package(s)
Total download size: 583 k
Installed size: 1.7 M
Is this ok [y/N]: y
Nếu hệ thống yêu cầu import GPG key, gõ y để đồng ý
Code:
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6)
Package: epel-release-6-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Hệ thống đã cài đặt thành công syslog-ng. Nhưng chưa thể chạy được vì mặc định hệ thống đang dùng rsylog.
Cấu hình hệ thống dùng syslog-ng:
tắt rsyslog
Code:
[root@myserver ~]# chkconfig rsyslog off
Kiểm tra lại kết quả
Code:
[root@myserver ~]# chkconfig --list rsyslog
rsyslog 0:off 1:off 2:off 3:off 4:off 5:off
bật syslog-ng
Code:
[root@myserver ~]# chkconfig syslog-ng on
kiểm tra lại kết quả
Code:
[root@myserver ~]# chkconfig --list syslog-ng
syslog-ng 0:off 1:off 2:on 3:on 4:on
Stop Rsyslog
Code:
[root@myserver ~]# service rsyslog stop
Shutting down system logger: [ OK ]
Start Syslog-ng
Code:
[root@myserver ~]# service syslog-ng start
Starting syslog-ng: [ OK ]
Cấu hình syslog-ng nhận log từ các thiết bị trong mạng:
Thêm dòng cấu hình sau vào phần cuối của file cấu hình syslog-ng /etc/syslog-ng/syslog-ng.conf:
Code:
# test log
source s_device {
udp(ip(0.0.0.0) port(514));
tcp(ip(0.0.0.0) port(514));
};
destination d_device {
file(
"/var/log/syslog/$HOST-$YEAR$MONTH$DAY.log"
perm(644)
create_dirs(yes)
);
};
log { source(s_ device); destination(d_ device); };
với cấu hình trên hệ thống sẽ nhận log từ tất cả các thiết bị trong mạng với địa chỉ ip nguồn là bất kỳ, trên port 514, giao thức tcp và upd. Và sẽ đặt file log của thiết bị trong thư mục /var/log/syslog. Tên của file log sẽ được đặt dựa vào tên của máy chủ và thời gian hiện hành của hệ thống.
khởi động lại dịch vụ syslog-ng để thực hiện các thay đổi.
Code:
[root@myserver syslog-ng]# service syslog-ng restart
Stopping syslog-ng: [ OK ]
Starting syslog-ng: [ OK ]