syslog打印不带等级_syslog之一:Linux syslog日志系统详解

目录:

一、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" fordetails

# rotate log files weekly

weekly #每周滚动一次

# keep4weeks worth of backlogs

rotate4#只保留4个切割版本文件,超过后清除

# createnew(empty) log files after rotating old ones

create #滚动完之后创建一个空的新的文件

# use dateasa suffix of the rotated file

dateext

# uncommentthis ifyou want your log files compressed

#compress

# RPM packages drop log rotation information intothisdirectory

include/etc/logrotate.d #包括/etc/logrotate.d 下的文件,手动添加可直接添加到此目录

# no packages own wtmp and btmp-- we'll rotate them here

/var/log/wtmp{

monthly #按月,自己定义

create0664root utmp #创建文件并0664权限

minsize 1M #最新1M

rotate1#保留几个版本

}/var/log/btmp{

missingok

monthly

create0600root utmp

rotate1}

# 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

# Optionsforrsyslogd

# Syslogd options are deprecated since rsyslog v3.

# If you want to use them,switch to compatibility mode 2 by "-c 2"# See rsyslogd(8) formore details

SYSLOGD_OPTIONS="-r -c 5"

~

重启syslog服务

[root@localhost etc]# service rsyslog restart

关闭系统日志记录器: [确定]

启动系统日志记录器:-r option only supported incompatibility modes 0 to 2 -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 muchelseclutters 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 messagesinone 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 0 to 2 -ignored

[确定]

[root@localhost etc]#

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推进五通一平:手淘技术三大容器 五大方案首次整体亮相 百川开放升级

在云栖大会上,马云提出五个“新”,新零售、新制造、新金融、新技术和新能源,称将对各行各业造成巨大的影响,成为决定未来成败的关键。而五个新的实现,也必须是各行各业共同推进,整个生态共同受益的结果。继…

linux mysql管理软件_8款适合Linux用户使用的数据库管理工具!

从内容管理系统到简单的表格,数据库是每一个开发项目的一部分。这就是为什么开发者们如此强调使用正确类型的数据库工具。下面这些可能对您有所帮助!Autotabla是一个你的程序的SQL数据表的CGI管理界面。只需要提供你数据库架构的XML描述,你就…

C#事件与接口

using System;namespace ConsoleApplication1d {delegate void MsgDel(string s);interface IMsg{event MsgDel msgd;void Excute(string s);}class MInfo : IMsg//必须实现接口的全部成员,如事件,函数{//不写这句会提示 Minfo does not implement inter…

jq 下拉加载每次只执行一次_记一次 无限列表 滚动优化

背景长列表优化, 是页面性能优化中的一个比较常见的问题,也是面试中的常客。刚好最近在的项目中, 遇到了一个长列表的性能问题,试过多种方案, 最后得以解决。今天就给大家分享一下。正文场景描述用户需要批量修改 Prod…

2016-5-31 问题及解决

1.执行linux版本时,碰到官方默认发布的cef3二进制包,不支持在动态库中初始化cef3现象:启动时报一下错误->FATAL:content_main_runner.cc(662)] Check failed: base::allocator::IsAllocatorInitialized()原因:在共享库中初始化…

mysql fio测试_Linux下 fio磁盘压测笔记

专业的测试磁盘IO性能的软件:1、fio 【推荐使用】2、iometerfio的使用:参考博客: http://lilinji.blog.51cto.com/5441000/1569623https://linux.die.net/man/1/fiohttp://elf8848.iteye.com/blog/2168876 【讲的比较好】注意,我…

清除浮动塌陷的4种经典套路

【自古深情留不住,总是套路得人心。】 这些日子,各个朋友圈随时可以见到这句话的身影。的确人们常说:“多一点真诚,少一点套路。”,但是最终现象写实也是那么残酷和无奈。 同样在前端攻城狮的道路,我们都是…

mysql有没有开窗函数_mysql实现开窗函数

mysql实现开窗函数开窗分析函数简单来讲就是相似partition by aaa, bbb order by ccc这样的形式mysql在使用mysql的过程当中遇到过这样的需求,须要求出一段时间内每一个item的最大值及对应的那一条记录。最大值很容易使用group by item求出来,可是求出那…

java 格式化时间计算

package com.roshi.utils.common;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateUtilsCom {/*** 格式化时间 * param date* return* author lzq* throws ParseException * date 2016年…

微信小程序点播插件_微信小程序 wxParse插件显示视频问题

修改wxParse/html2json.js 文件 ,在 html2json(html, bindName)方法里var node {node: element,tag: tag,};这里使用 node.tag 能够获取标签类型,比如: img、embed、video这里我的系统后台编辑器使用的是ckeditor 上传视频。生成的便签是&am…

GridView - Batch Editing - How to cancel editing or disable the editor conditionally

Please refer to :https://www.devexpress.com/Support/Center/Example/Details/T115116转载于:https://www.cnblogs.com/michelledawm/p/5980940.html

linkerd mysql_Linkerd和k8s无法正常工作

我试图让我的头在kubernetes的链接。我在我的本地minikube中使用他们网站上的linkerd deamonset示例它全部部署在production命名空间中。当我尝试http_proxy$(kubectl --namespaceproduction get svc l5d -o jsonpath"{.status.loadBalancer.ingress[0].*}"):4140 cu…

mssql 跨库获取mysql

exec sp_addlinkedserver serverMYSQL, --这是链接服务器的名称 srvproductmysql, --这个你自己随便吧 providerMSDASQL, --这是固定的,不能瞎填,否则死定了 datasrcmyserver, --这是ODBC里面data source name,系统DNS locationNULL, provstrDRIVER{MyS…

mysql standalone模式_Boss7 Standalone模式开发配置

PS:以下配置均添加到standalone.xml文件中。1.Get请求编码设置,将如下配置添加到标签之后2.开启开发模式:搜索“urn:jboss:domain:web:1.1”,在此标签下添加如下配置:3.虚拟域名设置搜索“urn:jboss:domain:web:1.1”&…

机器学习笔记——深度学习入门篇

前向传播与反向传播转载于:https://www.cnblogs.com/hdu-cpd/p/5988606.html

java 模板模式_Java模板模式(Template模式)

Java模板模式(Template模式)下一节>Template模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。其实Java的抽象类本来就是Template模式,因此使用很普遍。而且很容易理解和使用,我们直接以示例开始&#xff1…

python ide: pycharm

1, 设置python路径 2,运行py文件 https://www.jetbrains.com/help/pycharm/2016.1/creating-and-running-your-first-python-project.html#d50296e226 3, 格式化代码 From the main menu, select Code | Reformat Code or press CtrlAltL. 转载于:https://www.cnblo…

pandas入门(2)

使用dataframe的列当做索引 frame DataFrame({a:range(7),b:range(7,0,-1),c:[one,one,one,two,two,two,two],d:[0,1,2,0,1,2,3]}) frame.set_index([c,d]) a b c d one 0 0 7 1 1 6 2 2 5 two 0 3 4 1 4 3 2 5 2 3 6 1 可以使用frame.set_index([c,d],dropFalse)将…

IP地址框

//IP地址框 // 此段代码:独立的获取本机IP地址和计算机名 WORD wVersionRequested; WSADATA wsaData; char name[255]; CString ip; PHOSTENT hostinfo; wVersionRequested MAKEWORD(2, 0); if (WSAStartup(wVersionRequested, &wsaData) 0) { if(ge…

java 释放数组_java集合ArrayList中clear方法内存释放分析

最近在看ArrayList源码的时候看到了ArrayList的clear方法&#xff0c;源码如下&#xff1a;public void clear() {modCount;// clear to let GC do its workfor (int i 0; i < size; i)elementData[i] null;size 0;}在看到这段代码的时候联想到内存释放的问题如下代码&am…