一. syslog简介

syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。

syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。

几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。

日志滚动(日志切割):

所谓的滚动是指历史信息所保存的日志,如;messages文件日志会越来越大等到了某一段时间,会把messages文件重新命名为messages.1,系统并重新创建messages文件,所以叫做日志滚动

syslog配置文件/etc/rsyslog.conf

注:centos 6 的配置文件是/etc/rsyslog.conf,centos5的配置文件是/etc/syslog.conf

5.配置文件定义格式为facility.priority  action

facility是指哪个facility来源产生的日志;   priority是指拿个级别的日志 ;action是指产生日志怎么办是保存在文件中还是其他。。。

facility可以理解为日志的来源或设备或选择条件,目前常用的facility有以下几种:

auth                      #认证相关的

authpriv                #权限,授权相关的

cron                      #任务计划相关的

daemon                #守护进程相关的

kern                       #内核相关的

lpr                          #打印相关的

mail                        #邮件相关的

mark                       #标记相关的

news                       #新闻相关的

security                   #安全相关的,与auth类似

syslog                      #syslog自己的

user                         #用户相关的

uucp                        #unix to unix cp相关的

local0到local7          #用户自定义使用

*                                #*表示所有的facility

priority(log level)日志优先级的级别,一般分为以下几种级别(从低到高)

注:级别越低记录的越详细

debug                    #程序或系统的调试信息

info                         #一般信息

notice                     #不影响正常的功能,需要提醒用户的重要事件

warning/warn         #可能影响系统功能,需要提醒用户的重要事件

err/error                  #错误信息

crit                           #比较严重的

alert                         #必须马上处理的

emerg/canic            #会导致系统不可用的

*                               #表示所有的日志级别

none                        #跟*相反,表示什么也没有

action(动作)日志记录的位置

系统上的绝对路径      #普通文件 如:/var/log/XXX

|                                #管道 通过管道送给其他的命令出来

终端                          #终端 如:/dev/console

@host                      #远程主机  如@10.1.1.1

用户                          #系统用户 如:root

*                               #登录到系统上的所有用户,一般emerg级别的日志是这样定义的

定义格式列子:

mail.info  /var/log/mail.log   #表示将mail相关的,级别为info及info以上级别的信息记录到/var/log/mail.log文件中

auth.=info  @10.1.1.1            #表示将auth相关的,级别为info的信息记录到10.1.1.1主机上去,前提是10.1.1.1要能接收其主机发来的日志信息

user.!=error                            #表示记录user相关的,不包括error级别的信息

user.!error                           #表示user.error相反

*.info                                      #表示记录所有的日志信息的info级别

mail.*                                      #表示记录所有mail相关的所有级别的信息

*.*                                           #表示记录所有的日志信息的所有的日志级别

cron.info;mail.info                  #多个日志来源可以用“ ; ”隔开

cron,mail.info                         #与cron.info;mail.info        是一个意思

mail.*;mail.!=info                    #表示记录mail相关的所有级别的信息,但是不包括info级别的信息

重启服务

#service rsyslog reload    注:不重启但能读到配置文件;不建议重启

最新文章

  1. Java中用得比较顺手的事件监听
  2. Rxjava异常处理
  3. 系统吞吐量(TPS)、用户并发量
  4. solr 日期查询格式
  5. PHP 中 define() 和 const 定义常量时的区别
  6. [Java] arraycopy 数组复制(转)
  7. csrf 跨站请求伪造
  8. 20个最漂亮的基于WordPress的企业网站
  9. SQL Server自增长列插入指定值 -- SET IDENTITY_INSERT ON|OFF(转)
  10. SQL(二) 将一张表数据插入另外一张表
  11. 前端面试题(6)图片格式jpg,gif,png-8,png-24的区别,及其各自的使用场景
  12. nodejs实现OAuth2.0授权服务
  13. UVA850【简单模拟】
  14. linux中使用docker-compose部署软件配置分享
  15. css实现div左侧突出一个带边框的三角形
  16. OkHttp3源码详解(五) okhttp连接池复用机制
  17. YOLO V2 代码分析
  18. MySql 8.0 版本使用navicat连不上解决
  19. 生成springboot docker镜像 并上传到阿里云镜像厂库
  20. How to save rules of the iptables?

热门文章

  1. CentOS7.4-btrfs管理及使用
  2. CentOS6.9下sftp配置和scp用法
  3. NodeJS学习笔记 进阶 (12)Nodejs进阶:crypto模块之理论篇
  4. Shell应用之网卡流量监测
  5. ATP自造8Gb内存颗粒供DDR3使用
  6. caioj 1067动态规划入门(一维一边推5: 乘积最大(高精度版))
  7. Java基础学习总结(20)——基础语法
  8. Android旋转屏幕后国际化语言失效的解决的方法
  9. java中string与json互相转化
  10. windows下用ADT进行android NDK开发的具体教程(从环境搭建、配置到编译全过程)