最新消息:

syslog-ng服务器介绍和搭建过程

Linux ipcpu 3155浏览

syslog-ng服务器介绍和搭建过程.md

1. 概述

Syslog常被称为系统日志或系统记录,是一种用来在互联网协定(TCP/IP)的网络中传递记录档讯息的标准。

Syslog主要记录路由器、交换机和防火墙等网络设备和Linux及unix服务器启动及运行的过程中产生的信息。

Linux系统都自带syslog服务端,RHEL 5系统上默认自带了syslog,RHEL 6系统升级为rsyslog,但功能都不是很强大,因此就有了syslog-ng。syslog-ng (syslog-Next generation) 是syslog的升级版,syslog-ng有两个版本,作为syslog的下一代。产品,功能是可想而知,肯定比syslog的功能强大的多,如高性能、可靠的传输、支持多平台、高可靠性、强大的日志过滤及排序、事件标签和关联性等等。

syslog-ng其官方网站是https://syslog-ng.org/

2. syslog-ng服务搭建

2.1 syslog-ng服务安装

在CentOS中我们通过yum可以直接安装

  1. #@install epel first
  2. yum install syslog-ng syslog-ng-libdbi -y

2.2 syslog-ng服务配置

syslog-ng的配置文件是/etc/syslog-ng/syslog-ng.conf

  1. @version:3.2
  2. # syslog-ng configuration file.
  3. #global options
  4. options {
  5. flush_lines (0);
  6. time_reopen (10);
  7. log_fifo_size (1000);
  8. long_hostnames (off);
  9. use_dns (no);
  10. use_fqdn (no);
  11. create_dirs(yes);
  12. keep_hostname (yes);
  13. perm (0640);
  14. dir_perm (0750);
  15. group (root);
  16. dir_group (root);
  17. };
  18. #source
  19. source s_localhost {
  20. file ("/proc/kmsg" program_override("kernel: "));
  21. unix-stream ("/dev/log");
  22. internal();
  23. };
  24. source s_network {
  25. udp(ip(172.1.10.31) port(514));
  26. tcp(ip(172.1.10.31) port(514) max-connections(333));
  27. };
  28. #filter
  29. filter mail_filter { not facility(mail); };
  30. #destination
  31. destination d_localhost {
  32. file ("/data/syslog-ng/$YEAR.$MONTH.$DAY/localhost/$FACILITY.log");
  33. };
  34. destination d_network {
  35. file ("/data/syslog-ng/$YEAR.$MONTH.$DAY/$SOURCEIP/$FACILITY.log");
  36. };
  37. #logging action
  38. log { source(s_localhost);
  39. destination(d_localhost);
  40. };
  41. log { source(s_network);
  42. filter (mail_filter);
  43. destination(d_network);
  44. };

注意TIPS

$SOURCEIP是源IP,不要使用$HOST,防止客户端主机名重复
create_dirs(yes)打开,否则不能自动创建目录
注意关闭rsyslog后在开启syslog-ng
由于Linux系统的mail日志较大,这里进行了过滤

3. 客户端配置

3.1 Linux配置

Linux只需要在/etc/rsyslog.conf加入以下语句,重启rsyslog服务

  1. *.* @172.1.10.31

3.2 网络设备配置

网络设备指定syslog服务器IP地址即可,以cisco为例

  1. logging trap warnings
  2. !logging facility local7
  3. logging host 172.1.10.31

4. 服务器端检查

配置完客户端后,可以在syslog-ng目录中看到自动生成的目录和文件

  1. [root@TV-IT-SYSLOG-01 ~]#tree /data/syslog-ng/2016.07.21/
  2. /data/syslog-ng/2016.07.21/
  3. ├── 172.1.10.22
  4. ├── authpriv.log
  5. ├── cron.log
  6. └── local6.log
  7. ├── 172.16.201.20
  8. └── local7.log
  9. ├── 172.16.201.21
  10. └── local7.log
  11. ├── 172.16.201.51
  12. └── local7.log
  13. └── localhost
  14. ├── cron.log
  15. └── syslog.log
  16. 5 directories, 8 files
  17. [root@TV-IT-SYSLOG-01 ~]#

转载请注明:IPCPU-网络之路 » syslog-ng服务器介绍和搭建过程