Linux搭建Rsyslog服务器

  • A+
所属分类:服务搭建

分析系统日志有助于排查故障,管理几台服务器可以通过远程登录的方式逐台查看分析,随着服务器设备越来越多,集中分析管理各类日志信息也就显得越来越重要。如果对日志存储期限和查看方式的要求不高,可以直接把其他服务器日志以文本文件的形式存储在日志服务器。

实验环境

操作系统:RHEL 6.10

Rsyslog:8.1908.0

服务端IP:192.168.168.11

客户端IP:192.168.168.12

服务端篇

第一步 安装软件包

  1. [root@wanghualang ~]# wget --no-check-certificate -O /etc/yum.repos.d/rsyslog.repo http://rpms.adiscon.com/v8-stable/rsyslog.repo  
  2. [root@wanghualang ~]# yum -y install rsyslog  

第二步 配置服务

  1. [root@wanghualang ~]# vim /etc/rsyslog.conf   
  2.   
  3. #使用IPv4协议    
  4. global(net.ipprotocol = "ipv4-only")    
  5. #加载本地系统日志记录模块    
  6. module(load="imuxsock")    
  7. #加载内核级别日志记录模块    
  8. module(load="imklog")    
  9. #加载TCP协议接收日志模块    
  10. module(load="imtcp")    
  11. input(type="imtcp" address="192.168.168.11" port="514")   
  12. #加载UDP协议接收日志模块  
  13. module(load="imudp")  
  14. input(type="imudp" address="192.168.168.11" port="514")   
  15. #日志截断最大容量    
  16. $maxMessageSize      16K    
  17. #设置允许发送日志的来路(传输协议、主机IP地址范围)    
  18. $AllowedSender       TCP,127.0.0.1,192.168.168.0/24  
  19. $AllowedSender       UDP,127.0.0.1,192.168.168.0/24  
  20. #设置默认的TimeStamp格式    
  21. $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat    
  22. #设置配置文件路径  
  23. $IncludeConfig /etc/rsyslog.d/*.conf  
  24. #设置日志输出模版(当前格式:主机名/年月/日/信息名称.log)  
  25. template(name="RSYSLOG_SERVER" type="string" string="/var/log/rsyslog_server/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/%PROGRAMNAME%.log")  
  26. #记录所有的kernel日志到/var/log/kernel    
  27. kern.*                                                  /var/log/kernel    
  28. #记录大于等于info级别的日志到/var/log/messages(不记录类型为mail、authpriv、cron的日志)    
  29. *.info;mail.none;authpriv.none;cron.none                /var/log/messages    
  30. #记录类型为auth、authpriv的所有级别日志到/var/log/secure    
  31. auth.*;authpriv.*                                       /var/log/secure    
  32. #记录类型为mail的所有级别日志到/var/log/maillog    
  33. mail.*                                                  /var/log/maillog    
  34. #记录类型为cron的所有级别日志到/var/log/cron    
  35. cron.*                                                  /var/log/cron    
  36. #记录类型为daemon的所有级别日志到/var/log/daemon    
  37. daemon.*                                                /var/log/daemon    
  38. #记录类型为user的所有级别日志到/var/log/user    
  39. user.*                                                  /var/log/user    
  40. #记录所有类型的严重级别日志,并让全体用户看到    
  41. *.emerg                                                 :omusrmsg:*    
  42. #记录uucp、news的重要级别日志到/var/log/spooler    
  43. uucp,news.crit                                          /var/log/spooler    
  44. #记录自定义程序(boot)的所有级别到/var/log/boot    
  45. local7.*                                                /var/log/boot  
  46. #发送日志信息到本地  
  47. *.info                                                  ?RSYSLOG_SERVER  

第三步 配置开机启动、启动服务

  1. [root@wanghualang ~]# chkconfig rsyslog on  
  2. [root@wanghualang ~]# service rsyslog start  

客户端篇

第一步 安装软件包

  1. [root@client ~]# wget --no-check-certificate -O /etc/yum.repos.d/rsyslog.repo http://rpms.adiscon.com/v8-stable/rsyslog.repo  
  2. [root@client ~]# yum -y install rsyslog  

第二步 配置服务

  1. [root@client ~]# vim /etc/rsyslog.conf   
  2.   
  3. #加载本地系统日志记录模块   
  4. module(load="imuxsock")  
  5. #加载内核级别日志记录模块  
  6. module(load="imklog")  
  7. #设置默认的TimeStamp格式   
  8. $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat  
  9. #设置配置文件路径  
  10. $IncludeConfig /etc/rsyslog.d/*.conf  
  11. #记录所有的kernel日志到/var/log/kernel    
  12. kern.*                                                  /var/log/kernel    
  13. #记录大于等于info级别的日志到/var/log/messages(不记录类型为mail、authpriv、cron的日志)    
  14. *.info;mail.none;authpriv.none;cron.none                /var/log/messages    
  15. #记录类型为auth、authpriv的所有级别日志到/var/log/secure    
  16. auth.*;authpriv.*                                       /var/log/secure    
  17. #记录类型为mail的所有级别日志到/var/log/maillog    
  18. mail.*                                                  /var/log/maillog    
  19. #记录类型为cron的所有级别日志到/var/log/cron    
  20. cron.*                                                  /var/log/cron    
  21. #记录类型为daemon的所有级别日志到/var/log/daemon    
  22. daemon.*                                                /var/log/daemon    
  23. #记录类型为user的所有级别日志到/var/log/user    
  24. user.*                                                  /var/log/user    
  25. #记录所有类型的严重级别日志,并让全体用户看到    
  26. *.emerg                                                 :omusrmsg:*    
  27. #记录uucp、news的重要级别日志到/var/log/spooler    
  28. uucp,news.crit                                          /var/log/spooler    
  29. #记录自定义程序(boot)的所有级别到/var/log/boot    
  30. local7.*                                                /var/log/boot  
  31. #使用UDP协议发送日志到远程日志服务器(@@则表示TCP协议)  
  32. *.info                                                  @192.168.168.11:514  

第三步 配置搜集用户历史命令(可选)

  1. [root@client ~]# echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });logger \"[euid=\$(whoami)]\":\$(who am i):[\`pwd\`]\"\$msg\"; }'>> /etc/profile  
  2. [root@client ~]# source /etc/profile  

第四步 配置开机启动、启动服务

  1. [root@client ~]# chkconfig rsyslog on  
  2. [root@client ~]# service rsyslog start  

测试篇

第一步 客户端执行任意命令

  1. [root@client ~]# logger "https://www.wanghualang.com"  

第二步 服务端查看客户端主机日志文件

  1. [root@wanghualang ~]# cat /var/log/rsyslog_server/client/2019/08/21/root.log  
  • 微信赞助网站
  • weinxin
  • 支付宝赞助网站
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: