29 tháng 12, 2015

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).
acility NumberKeywordFacility Description
0kemkernel messages
1useruser-level messages
2mailmail system
3daemonsystem daemons
4authsecurity/authorization messages
5syslogmessages generated internally by syslog
6lprline printer subsystem
7newsnetwork news subsystem
8uucpUUCP subsystem
9-clock daemon
10authprivsecurity/authorization messages
11ftpFTP daemon
12-network news subsystem
13-log audit
14-log alert
15cronclock daemon
16local0local use 0 (local0)
17local1local use 1 (local1)
18local2local use 2 (local2)
19local3local use 3 (local3)
20local4local use 4 (local4)
21local5local use 5 (local5)
22local6local use 6 (local6)
23local7local use 7 (local7)

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
CodeSeverityKeywordDescription
0Emergencyemerg (panic)System is unstable
1AlertalertAction must be taken immediately
2CriticalcritCritical conditions
3Errorerr (error)Error conditions
4Warningwarning (warn)Warning conditions
5NoticenoticeNormal but significant condition
6InformationalinfoInformational messages
7DebugdebugDebug-level messages

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ácfacilities 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 http://dl.fedoraproject.org/pub/epel...6-8.noarch.rpm
[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  ]

0 nhận xét:

Đăng nhận xét