syslog之一:Linux syslog日志系统详解
目录:
《syslog之二:syslog协议及rsyslog服务全解析》
《syslog之三:建立Windows下面的syslog日志服务器》
《Linux下dmesg命令处理故障和收集系统信息的7种用法》
一、syslog简介
syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
功能:记录至系统记录。
二 、syslog服务与配置
2.1、安装syslog软件包
软件包名称为:rsyslog-5.8.10-10.el6_6.x86_64
我用的是centos系统,配置的有第三方的yum源,我直接yum install直接装就OK了
装完后用 rpm -qa | grep syslog下看是否已安装
2.2、syslog日志系统可以根据程序详细信息的不同定义不同的日志级别
2.3、Linux上的日志系统分为:syslog和syslog-ng(syslog日志系统的升级版)
2.4、syslog服务:
syslog服务进程分两个,分别是:syslogd(系统,非内核产生的日志)和klogd(专门记录内核产生的日志)
kernel-->物理终端(/dev/console)-->/var/log/dmesg
其中/var/log/dmesg文件可以使用dmesg命令和cat查看文件内容
日志滚动(日志切割):
所谓的滚动是指历史信息所保存的日志,如;messages文件日志会越来越大等到了某一段时间,会把messages文件重新命名为messages.1,系统并重新创建messages文件,所以叫做日志滚动
/sbin/init
/var/log/messages:系统标准错误日志信息;非内核产生的引导信息,各子系统产生的信息
/vat/log/maillog:邮件系统产生的日志信息
/vat/log/secure:安全相关log
系统自带的日志切割程序logrotate
logrotate脚本配置文件
[root@localhost cron.daily]# pwd
/etc/cron.daily
[root@localhost cron.daily]# vim logrotate
滚动日志信息配置文件
[root@localhost cron.daily]# pwd
/etc/cron.daily
[root@localhost cron.daily]# vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly #每周滚动一次
# keep weeks worth of backlogs
rotate #只保留4个切割版本文件,超过后清除
# create new (empty) log files after rotating old ones
create #滚动完之后创建一个空的新的文件
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d #包括/etc/logrotate.d 下的文件,手动添加可直接添加到此目录
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp{
monthly #按月,自己定义
create root utmp #创建文件并0664权限
minsize 1M #最新1M
rotate #保留几个版本
}
/var/log/btmp{
missingok
monthly
create root utmp
rotate
}
# system-specific logs may be also be configured here.
[root@localhost cron.daily]#
syslog配置文件/etc/rsyslog.conf
注:centos 6 的配置文件是/etc/rsyslog.conf,centos5的配置文件是/etc/syslog.conf
2.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 注:不重启但能读到配置文件;不建议重启
2.6、搭建Linux日志服务器
编辑配置文件 [root@localhost etc]# vim /etc/sysconfig/rsyslog
修改配置文件中SYSLOGD_OPTIONS="-c 5" 添加“ -r选项”即可
目的可以让服务器能够接受客户端传来的数据
配置文件如下
[root@localhost etc]# vim /etc/sysconfig/rsyslog
# Options for rsyslogd
# Syslogd options are deprecated since rsyslog v3.
# If you want to use them, switch to compatibility mode by "-c 2"
# See rsyslogd() for more details
SYSLOGD_OPTIONS="-r -c 5"
~
重启syslog服务
[root@localhost etc]# service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器:-r option only supported incompatibility modes to - ignored
[确定]
[root@localhost etc]#
2.7、搭建syslog客户端
在syslog配置文件中修改/etc/rsyslog.conf
[root@localhost etc]# vim /etc/rsyslog.conf
# 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.* @192.168.1.66
# Log cron stuff
cron.* /var/log/cron
.
.
.
省略
重启syslog客户端
[root@localhost etc]# service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器:-r option only supported incompatibility modes to - ignored
[确定]
[root@localhost etc]#
syslog之一:Linux syslog日志系统详解的更多相关文章
- Tomcat日志系统详解
综合:Tomcat下相关的日志文件 Cataline引擎的日志文件,文件名catalina.日期.log Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的 ...
- 《Tomcat日志系统详解》
综合:Tomcat下相关的日志文件 Cataline引擎的日志文件,文件名catalina.日期.log Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的 ...
- (转)Linux 系统设置 : dmesg 命令详解
原文:https://blog.csdn.net/yexiangCSDN/article/details/80683246 https://www.cnblogs.com/duanxz/p/34770 ...
- 关于syslog日志功能详解 事件日志分析、EventLog Analyzer
关于syslog日志功能详解 事件日志分析.EventLog Analyzer 一.日志管理 保障网络安全 Windows系统日志分析 Syslog日志分析 应用程序日志分析 Windows终端服务器 ...
- linux ./configure 的参数详解
转载自http://blog.csdn.net/zjt289198457/article/details/6918656 linux ./configure 的参数详解 ./configure 该 ...
- 【转】linux中inittab文件详解
原文网址:http://www.2cto.com/os/201108/98426.html linux中inittab文件详解 init的进程号是1(ps -aux | less),从这一点就能看出, ...
- 【转帖】Linux定时任务Crontab命令详解
Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...
- centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解
centos7.2环境nginx+mysql+php-fpm+svn配置walle自动化部署系统详解 操作系统:centos 7.2 x86_64 安装walle系统服务端 1.以下安装,均在宿主机( ...
- Linux定时任务Crontab命令详解_转
转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...
随机推荐
- java Exception 出错的栈信息打印到日志中 打印堆栈信息
我们在开发程序的过程当中,日志是必不可少的工具,这有助于我们分析问题的原因,和出错的详细信息,而java的异常机制又会方便且迅速的帮我们找到出错行的位置. try { .... } catch (Ex ...
- GetDocument missing storage-class or type specifiers的解决方法
error C2143: syntax error : missing ';' before '*'error C2501: 'CTest1Doc' : missing storage-class o ...
- 给Notepad++换主题
Notepad++是一款不错的编辑器,很轻巧,我很喜欢它.再换个主题,加个代码高亮,看上去就更专业了.如果你是Mac用户,应该听说或使用过Textmate(什么?没听过,那你该补课了!),Textma ...
- Codeforces807 A. Is it rated? 2017-05-08 23:03 177人阅读 评论(0) 收藏
A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- HDU1269 迷宫城堡 2016-07-24 13:47 84人阅读 评论(0) 收藏
迷宫城堡 Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的 ...
- C++ 引用 指针 使用举例
1. 请看下程序 inline void CScanLineFill::removeOldNodeAET(AET* &aetList, const float yCurrent) { AET* ...
- ORACLE报表触发器
http://www.cnblogs.com/quanweiru/archive/2012/09/26/2704308.html 触发器一.报表触发器(report trigger)报表触发器主要用于 ...
- Transaction And Lock--唯一索引下INSERT导致的死锁
背景: 曾经的一位同事问我:"数据库只有并发INSERT 操作,会造成死锁么?",我没有太多思考地回答"不会",但真的不会吗? 测试: --========== ...
- LINQ to objects遇到的小坑
1.C#中LINQ to Objects中延迟查询的陷阱(其他类型的LINQ也基本一致) 之前在不了解LINQ延迟查询的时候,我使用下面的这种方式,将where语句的结果直接as为List<T& ...
- .net core 基于Jwt实现Token令牌
Startup类ConfigureServices中 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJw ...