rsyslog配置含义

ryslog工作流,输入-处理-输出。linux系统自带的日志收集工具,依赖守护进程。在linux系统中,/var/log/message,/var/log/cron,都是系统通过rsyslog收集的。我看了好多文章,都测试了一遍,整理了一下。

模块

模块modules,比如imfile.so,这个地方可以通过lsof |grep rsyslog来查看

module(load="imfile")#如果需要读文件读时候,需要加载imfile模块

module(load="imtcp") # 开启tcp,

input(type="imtcp" port="514")

规则:

facility.severity    target

local5.*  @@remote-host:514 ##local5下的所有类型通过tcp远程输出

*.info;mail.none;authpriv.none;cron.none;local5.none;local6.none/var/log/messages##所有的info存入/var/log/message,但是cron,local5,local6不存储,这里是为了防止自定义的日志,写入message,  导致文件过大

facility

facility可以理解成日志类型,

auth #pam产生的日志,认证日志

authpriv #ssh,ftp等登录信息的验证信息,认证授权认证

cron #时间任务相关

kern #内核

lpr #打印

mail #邮件

mark(syslog) #rsyslog服务内部的信息,时间标识

news #新闻组

user #用户程序产生的相关信息

uucp #unix to unix copy, unix主机之间相关的通讯

local 1~7 #自定义的日志设备,这个地方我们业务自定义,测试期间用的local5

serverity,

debug #有调式信息的,日志信息最多

info #一般信息的日志,最常用

notice #最具有重要性的普通条件的信息

warning, warn #警告级别

err, error #错误级别,阻止某个功能或者模块不能正常工作的信息

crit #严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert #需要立刻修改的信息

emerg, panic #内核崩溃等严重信息

properties,

属性,可以理解为内置变量,

msg #匹配message中的msg部分

rawmsg #从socket收到的信息,一般用来debug

rawmsg-after-pri #和rawmsg类似,但是syslog PRI被移除了

hostname #message的主机名

source #HOSTNAME的别名

fromhost #message来源的主机名,一般是用在relay chain中

fromhost-ip #同fromhost,不过获取的是ip,这个地方在f

syslogtag #message的tag

programname #是tag的静态部分,例如tag是named[123456],则programname是named,这个地方在php生成的消息的时候,会带[]这种字符,做模板最好用这个

表达式:

contains 属性包含指定的字符串

isequal 属性等于指定的字符串

startswith 属性由指定字符串开始

regex POSIX BRE 正则表达式

ereregex POSIX ERE 正则表达式

:fromhost-ip, isequal, "127.0.0.1" ?TestFormat

if $syslogfacility-text == 'local0' and $msg startswith 'DEVNAME' and ($msg contains 'error1' or $msg contains 'error0') then /var/log/somelog

模板

消息格式

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat ## 默认<接收内容的时间> <发送者的hostname> <$InputFileTag> <原始消息%msg%>

$template MsgFormat,"%msg%\n" ##只保留原始消息

###模板,给不同的类型配置模板,根据rule规则过滤,这个地方要和client约定好

template(name="NgAccessFormat" type="string"

string= "/data/log/ngaccessremote/%fromhost-ip%/%$YEAR%/%$MONTH%/%$DAY%.log"

)

template(name="NgErrorFormat" type="string"

string= "/data/log/ngerrorremote/%fromhost-ip%/%$YEAR%/%$MONTH%/%$DAY%.log"

)

template(name="PhpfpmFormat" type="string"

string= "/data/log/phpfpmremote/%fromhost-ip%/%$YEAR%/%$MONTH%/%$DAY%.log"

)

###这里要保证不同的日志不要命中同一个

:syslogtag,startswith,"errorng" ?NgErrorFormat;MsgFormat

:syslogtag,startswith,"access" ?NgAccessFormat;MsgFormat

:syslogtag,startswith,"phpfpm" ?PhpfpmFormat;MsgFormat

:syslogtag,startswith,"codelog" ?CodeLogFormat;MsgFormat


权限

###设置生成的文件权限,默认是rwx------

$FileOwner root

$FileGroup root

$DirCreateMode 0755

$FileCreateMode 0755

$Umask 0022

队列

这个队列是对output而言,在输出数据对时候,加缓存队列,可以保证消息发送对端失败对情况缓存起来。比如tcp远程发送消息的时候,对方宕机,可以使消息缓存,网络恢复就可以继续发出。缓存分内存,磁盘,还有内存+磁盘。

direact:没有队列,默认情况

disk:磁盘,这个情况下,如果传输失败会在workdirectory下看到相应记录,我在测试的时候,把server的端口关掉,就可以模拟网络失败。可以通过tcpdump抓包来看。

LinkedList,FixedArray 内存

$WorkDirectory /var/lib/rsyslog

$ActionQueueType LinkedList

$ActionQueueFileName local5 ###定义内存,同时制定名字就是内存+缓存的方式

$ActionResumeRetryCount -1

$ActionQueueSaveOnShutdown on

local5.* @@ip:514

配置

在配置机器的时候,要注意两个地方。

1,selinux状态,不要是mac模式,否则syslogd进程没办法读取imfile里定义的文件,即使777也没用

2,如果需要tcp 或者udp,而且防火墙开了,记得开一下端口。telnet 一下

3,如果使用了内存加磁盘的方式,注意一下默认内存限制。

官网地址

http://www.rsyslog.com/doc/v8-stable/

后续

这个只是完成了日志的收集,后面是用通用的elk,还是其他工具,待研究。

这个rsyslog是基于tcp,查网上资料都说带宽性能好,logstash耗性能,后续会继续压测,和性能测试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容