Linux syslog日志系统详解
一. syslog简介
syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
功能:记录至系统记录。
二 . syslog服务与配置
安装syslog软件包
软件包名称为:rsyslog-5.8.10-10.el6_6.x86_64
我用的是centos系统,配置的有第三方的yum源,我直接yum install直接装就OK了
装完后用 rpm -qa | grep syslog下看是否已安装
2.syslog日志系统可以根据程序详细信息的不同定义不同的日志级别。
3.Linux上的日志系统分为:syslog和syslog-ng(syslog日志系统的升级版)
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脚本配置文件
1
2
3
|
[root@localhost cron .daily] # pwd
/etc/cron .daily
[root@localhost cron .daily] # vim logrotate
|
滚动日志信息配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
[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 4 weeks worth of backlogs
rotate 4 #只保留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 0664 root utmp #创建文件并0664权限
minsize 1M #最新1M
rotate 1 #保留几个版本
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# 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
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 注:不重启但能读到配置文件;不建议重启
6.搭建Linux日志服务器
1
|
编辑配置文件 [root@localhost etc] # vim /etc/sysconfig/rsyslog
|
修改配置文件中SYSLOGD_OPTIONS="-c 5" 添加“ -r选项”即可
目的可以让服务器能够接受客户端传来的数据
配置文件如下
1
2
3
4
5
6
7
|
[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 2 by "-c 2"
# See rsyslogd(8) for more details
SYSLOGD_OPTIONS= "-r -c 5"
~
|
重启syslog服务
1
2
3
4
5
|
[root@localhost etc] # service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器:-r option only supported in compatibility modes 0 to 2 - ignored
[确定]
[root@localhost etc] #
|
7.搭建syslog客户端
在syslog配置文件中修改/etc/rsyslog.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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客户端
1
2
3
4
5
|
[root@localhost etc] # service rsyslog restart
关闭系统日志记录器: [确定]
启动系统日志记录器:-r option only supported in compatibility modes 0 to 2 - ignored
[确定]
[root@localhost etc] #
|
注:如果以上内容发现错误,请告知留言即可,以方便纠正保证内容的准确性!!!
本文出自 “白手起家” 博客,请务必保留此出处http://baishouqijia.blog.51cto.com/2580498/1680914
Linux syslog日志系统详解相关推荐
- syslog打印不带等级_syslog之一:Linux syslog日志系统详解
目录: 一.syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理 ...
- linux系统日志分几个等级,Linux下日志系统详解
Linux下日志系统详 1.linux系统上有两个日志服务syslog和syslog-ng syslog服务有两个进程syslogd和klogd syslogd: 系统产生的日志信息 klogd:内核 ...
- linux下日志管理系统,Linux管理日志系统详解
本文和大家探讨如何利用linux日志系统来管理系统.为方便阅读,在作者原文的基础上,有所修改. 对于日志信息的管理通常采用两种方法,一种方法是不同服务器的日志信息都存放在各自系统内,系统管理员对各服务 ...
- dns日志级别 linux,linux下DNS服务器视图view及日志系统详解
linux下DNS服务器视图view及日志系统详解DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1 ...
- Loki日志系统详解4——语法
Loki日志系统详解3--部署 Loki提供了HTTP接口,我们这里就不详解了,大家可以看: https://github.com/grafana/loki/blob/master/docs/api. ...
- linux命令行使用ppt,linux命令行系统详解.ppt
linux命令行系统详解.ppt (161页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 第2章 命令与示例 1为什么要学习命令?命令对于 ...
- 抛弃ELK!Loki日志系统详解!
背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...
- C++高性能服务器框架——日志系统详解
1|0日志文件系统 对文件系统进行修改时,需要进行很多操作.这些操作可能中途被打断,也就是说,这些操作不是"不可中断"(atomic)的.如果操作被打断,就可能造成文件系统出现不一 ...
- java日志系统详解
本文转自:点击打开链接 Java日志系统确实比较丰富,常用的有log4j.JUL.logback等等,同时伴随着日志系统的发展,出现了日志框架commons-logging和slf4j. 简短地描述下 ...
最新文章
- R语言构建混淆矩阵(仿真数据)并基于混淆矩阵(confusion matrix)计算并计算Accuracy、Precision、Recall(sensitivity)、F1、Specificity指标
- python实现远程登录_python远程登录代码
- Mybaitis 缓存的优化
- Servlet Cookie处理
- 【落地为王】域乎区块链应用之影视文化篇:让梦想照进现实
- PMP每日三题(2022年2月15日)
- 牛客 - 乘法(二分套二分)
- zen-coding for notepad++,前端最佳手写代码编辑器
- Linux云自动化运维第三课
- DataBseDesign工作笔记002---数据库表设计
- EJB+JSF开发示例(附源码)
- 文章中的代码添加语法高亮
- 网络安全:9次实验带你学会网安
- nowcoder-linux
- python 斯皮尔曼相关系数_斯皮尔曼等级相关系数(Spearmansrankcorrelationcoefficient)
- PLSQL 教程 简单上手教程
- 网页缩放与窗口缩放_缩放—对您的隐私有多严重?
- 惠普计算机安转不上xp,雨林木风xp系统上安装不上惠普打印机驱动的解决办法...
- 电脑任务栏卡死,解决办法
- uni-app报错 cid unmatched at view.umd.min.js:1解决方案