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 系统上面原本就有非常多的计划性工作,因此这个系统服 ...
随机推荐
- 浅谈OCR之Tesseract
光 学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程.OCR技术非常专业,一般多是印刷.打印 ...
- UVa 11210 Chinese Mahjong (暴力,递归寻找)
题意:这个题意.有点麻烦,就是说给定13张牌,让你求能“听”的牌.(具体的见原题) 原题链接: https://uva.onlinejudge.org/index.php?option=com_onl ...
- ansible-playbook api 2.0 直接运行
官方文档见 http://docs.ansible.com/ansible/dev_guide/developing_api.html 拿官方的例子修改如下 import json from col ...
- SDK | 声波传输
SDK | 声波传输 - 音频流生成 https://github.com/CloudSide/WaveTransSdk/tree/master/c/freq_util Objective-C: ht ...
- EntityFramework 基本模式和Code-First的简单使用
1.Database-First Database First就是首先建立好数据库,或者存在现成的数据库也可以.然后在vs中添加ADO.Net实体数据模型,找到需要的数据库和表.它是以数据库设计为基 ...
- 深入浅析Node.js单线程模型
Node.js采用 事件驱动 和 异步I/O 的方式,实现了一个单线程.高并发的运行时环境,而单线程就意味着同一时间只能做一件事,那么Node.js如何利用单线程来实现高并发和异步I/O?本文将围绕这 ...
- 自适应XAML布局经验总结 (四)区域布局设计模式
本系列对实际项目中的XAML布局场景进行总结,给出了较优化的自适应布局解决方案,希望对大家有所帮助. 下面介绍区域布局设计模式. 7. 头尾模式 页面有时分为顶部栏,中间内容和底部栏三部分.这时可以使 ...
- [ACM_模拟] HDU 1006 Tick and Tick [时钟间隔角度问题]
Problem Description The three hands of the clock are rotating every second and meeting each other ma ...
- .net core signalR 忽略https 证书
var connection = new HubConnectionBuilder().WithUrl(serverUrl, option => { option.HttpMessageHand ...
- Restframework 权限permission 组件实例-2
1.在视图类里添加权限组件 class BookView(APIView): authentication_classes = [UserAuth] permission_classes = [SVI ...