syslog日志服务学习
参考 https://blog.csdn.net/LLZK_/article/details/69945366
https://www.jianshu.com/p/5563fc09952b
配置文件
syslog日志服务的主要文件有以下两个:
1、/var/log --- 日志文件保存在此目录下
根据不同的类型,分有不同的日志文件:
dmesg 内核引导信息日志
message 标准系统错误信息日志 (上述分析的日志格式就是按照此类型分析的)
maillog 邮件系统信息日志
cron 计划任务日志
secure 安全信息日志
2、/etc/syslog.conf或者/etc/rsyslog.conf ---- 配置文件
主要内容如下:
# rsyslog v5 configuration file # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html #### MODULES #### $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception #$ModLoad imudp #$UDPServerRun 514 # Provides TCP syslog reception ## 指明syslog服务提供TCP网络日志的接受 #$ModLoad imtcp #$InputTCPServerRun 514 ## 端口514 #### GLOBAL DIRECTIVES #### # Use default timestamp format $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # File syncing capability is disabled by default. This feature is usually not required, # not useful and an extreme performance hit #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf ##### 重要的是下面这部分,指明了不同类型日志存放的位置 #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log #1 $template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log" #2 *.* ?RemoteLogs #3 & ~
#将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中
第一行#1 $template 定义模板名称RemoteLogs(“RemoteLogs” 可以为其它名字),日志存入到/var/log/devicelog路径下。而日志文件名则依据发送远程日志的机器名及应用程序名来定义。
第二行#2 *.* ?RemoteLogs暗含运行用模板RemoteLogs于所有的接收日志。
第三行#3 & ~则告诉rsyslog后台进程停止进一步去处理日志信息,即不对它们进行本地化写入,它是代表一个重定向规则。如果没有这一行,则意味着接收到的日志会写入两次,一次如前两行写的方式写,第二次则以本地日志记录的方式写入。运行这个规则的另一个结论则是日志服务器自己的日志信息只会写入到依照机器主机名命名的文件中。)
重启下服务,并加入开机启动
注意,我用加粗标注的信息,每条信息都可分为两部分,日志类型----存放路径。
日志类型可分为两个字段:选择条件,重要级。两者之间用点(.)隔开。
选择条件:
选择条件是对消息类型的一种分类,这种分类便于人们把不同的消息发送到不同的位置。syslog配置上允许出现一个以上的选择条件,不同条件之间必须以分好(;)隔开。
kern 内核信息;
user 用户进程信息;
mail 电子邮件相关信息;
daemon 后台进程相关信息;
authpriv 包括特权信息如用户名在内的认证活动;
cron 计划任务信息;
syslog 系统日志信息
lpr 打印服务相关信息。
news 新闻组服务器信息
uucp uucp 生成的信息
local0----local7 本地用户信息
重要级:
表示消息的紧急程序。下面按严重程度由低到高。
debug 不包含函数条件或问题的其他信息
info 提供信息的消息
none 没有重要级,通常用于排错
notice 具有重要性的普通条件
warning 预警信息
err 阻止工具或某些子系统部分功能实现的错误条件
crit 阻止某些工具或子系统功能实现的错误条件
alert 需要立即被修改的条件
emerg 该系统不可用
不同的服务类型有不同的优先级,数值较大的优先级涵盖数值较小的优先级,比如,只指定了一个“notice”,而没有指定其他,其实默认涵盖了“debug”“info”“none”。
存放路径
日志信息可被记录到多个文件里,还可以发送端命名管道,其他程序深圳另一台机器。
主要如下:
file 指定文件的绝对路径
terminal 或 prin 完全的串行或并行设备标志符
@host(@IP地址) 远程的日志服务器
本文来自博客园,作者:zsls-lang,转载请注明原文链接:https://www.cnblogs.com/zsls-lang/p/11004008.html
行也思卿,坐也思卿
日高三竿我犹眠,不管人间万里愁