博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
rsyslog安装配置
阅读量:6096 次
发布时间:2019-06-20

本文共 5014 字,大约阅读时间需要 16 分钟。

hot3.png

1,准备

master:10.1.5.241
slave01:10.1.5.242
在服务器端和客户端分别安装rsyslog
[root ~]# yum -y rsyslog
[root ~]# rsyslogd -version
rsyslogd 5.8.10, compiled with:
    FEATURE_REGEXP:                Yes
    FEATURE_LARGEFILE:            No
    GSSAPI Kerberos 5 support:        Yes
    FEATURE_DEBUG (debug build, slow code):    No
    32bit Atomic operations supported:    Yes
    64bit Atomic operations supported:    Yes
    Runtime Instrumentation (slow code):    No
See http://www.rsyslog.com for more information.
2,配置
配置文件如下:
[root ~]# egrep -v '^#|^$' /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad immark  # provides --MARK-- message capability
$ModLoad imudp                            打开ucp连接,通过ucp传日志
$UDPServerRun 514
$ModLoad imtcp                                        打开tcp连接,通过tcp传日志
$InputTCPServerRun 10514                 
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
例子1,
简单配置:将所有系统log都放入服务器端下的/var/log/all.log下。
配置:
服务器:
/etc/rsyslog.conf文件最后添加
*.*                                    /var/log/all.log
[root ~]# /etc/init.d/rsyslog restart
客户端:
/etc/rsyslog.conf文件最后添加
*.*                                    @@10.1.5.241:10514    通过tcp传
[root@slave01 ~]# /etc/init.d/rsyslog restart
测试:
tail -f /var/log/all.log
例子2,
自定义测试,
配置:
服务器:
/etc/rsyslog.conf文件最后添加
:fromhost,isequal, “slave01″ /var/log/all.log            #过滤来自lave01的日志,放入/var/log/all.log
:fromhost,isequal, “slave01″ ~
[root@master ~]# /etc/init.d/rsyslog restart
客户端:
*.*                    @10.1.5.241:514                     #通过udp传
[root@slave01 ~]# /etc/init.d/rsyslog restart
测试:
[root@slave01 ~]# logger "hello world"           
[root@master ~]# tail -f /var/log/all.log
例子3,
自定义测试,
配置:
服务器:
/etc/rsyslog.conf文件最后添加
local5.*        /var/log/all.log            #过滤local5级别的日志,放入/var/log/all.log
local5.*        ~
[root@master ~]# /etc/init.d/rsyslog restart
客户端:
local5.*                    @10.1.5.241:514                     #通过udp传
[root@slave01 ~]# /etc/init.d/rsyslog restart
测试:
[root@slave01 ~]# logger -p local5.info  "hello world"          # 这里必须指定local5级别
[root@master ~]# tail -f /var/log/all.log
例子4,
自定义测试,
配置:
服务器:
/etc/rsyslog.conf文件最后添加
$template logfile,    "/var/log/logfile_%$year%%$month%%$day%.log"
:msg,contains,        "muyushan"            ?logfile
[root@master ~]# /etc/init.d/rsyslog restart
客户端:
:msg,contains,        "muyushan"                @@10.1.5.241:10514                     #通过tdp传
[root@slave01 ~]# /etc/init.d/rsyslog restart
测试:
[root@slave01 ~]# logger -t muyushan  "hello world"          # 在日志正文每行记录加上“muyushan”标签
[root@master ~]# tail -f /var/log/all.log
例子5,
apache日志管理
配置:
服务器:
mkdir /data/apache/logs
chown apache:apache /data/apache/logs
/etc/rsyslog.conf文件最后添加
$template access_log, "%msg:2:$%\n"
$template error_log, "%msg%\n" 
# web1-access-log
$template access_log_file_web1, "/data/apache/logs/%$NOW%/access-log/web1-access_log"
# web1-error-log
$template error_log_file_web1, "/data/apache/logs/%$NOW%/error-log/web1-error_log" 
# web1-access-log
if $syslogfacility-text == 'local6' and $syslogtag == 'http-access:' and $fromhost-ip == '10.1.5.241' then -?access_log_file_web1;access_log
# web1-error-log
if $syslogfacility-text == 'local6' and $syslogtag == 'http-error:' and $fromhost-ip == '10.1.5.241' then -?error_log_file_web1;error_log
[root@master ~]# /etc/init.d/rsyslog restart
客户端:
vim /etc/http/conf/httpd.conf
 找到以下选项并将此选项标注#
CustomLog logs/access_log combined
ErrorLog logs/error_log
分别在此2个选项下添加如下内容
CustomLog "|/usr/bin/logger -p local6.info -t http-access" combined
ErrorLog "| /usr/bin/logger -p local6.info -t http-error"
/etc/rsyslog.conf文件最后添加
local5.*        /var/log/all.log            #过滤local5级别的日志,放入/var/log/all.log
local5.*        ~
[root@slave01 ~]# /etc/init.d/rsyslog restart
测试:
[root@master ~]# tail -f /data/apache/logs/%$NOW%/access-log/web1-access_log
[root@master ~]# tail -f /data/apache/logs/%$NOW%/error-log/web1-error_log
附录:

  • 日志设备(可以理解为日志类型)

日志设备/类型 说明
auth –pam产生的日志
authpriv –ssh,ftp等登录信息的验证信息
cron –时间任务相关
kern –内核
lpr –打印
mail –邮件
mark(syslog) –rsyslog服务内部的信息,时间标识
news –新闻组
user –用户程序产生的相关信息
uucp –unix to unix copy, unix主机之间相关的通讯
local 1~7 –自定义的日志设备
  • 日志级别

从上到下,级别从低到高,记录的信息越来越少 详细的可以查看手册: man 3 syslog

级别 说明 级别值
debug –有调式信息的,日志信息最多 7
info –一般信息的日志,最常用
notice –最具有重要性的普通条件的信息
warning –警告级别 4
err –错误级别,阻止某个功能或者模块不能正常工作的信息
crit –严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert –需要立刻修改的信息
emerg –内核崩溃等严重信息
none –什么都不记录
  • 连接符号

连接符号 说明
.xxx 表示大于等于xxx级别的信息
.=xxx 表示等于xxx级别的信息
.!xxx 表示在xxx之外的等级的信息

示例:

 :msg,contains,"error"        # 选择包含 error 的日志 :hostname,isequal, "host1"   # 选择主机名为 host1 的日志 :msg,!regex,"fatal .* error" # 选择不匹配指定正则表达式的日志

logger的使用

logger 是一个shell 命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。

logger -it error  -p local5.info "hello world"

-i 在每行都记录进程ID

-t 日志中的每一行都加一个error标签

-p 指定自定义的日志设备,和配置文件的local5.*对应,配置文件里没有.info。

说明,如果是自己写的程序,在生成日志的代码中需要用logger命令转到系统的日志接口。

参考:

使用说明:http://w.gdu.me/wiki/Linux/rsyslog_logrotate.html

配置介绍:http://blog.clanzx.net/2013/12/31/rsyslog.html

http://www.cnblogs.com/blueswu/p/3564763.html

http://www.tuicool.com/articles/Jv2eUvn

转载于:https://my.oschina.net/duxuefeng/blog/317570

你可能感兴趣的文章
实验八 sqlite数据库操作
查看>>
四种简单的排序算法(转)
查看>>
Quartz2D之着色器使用初步
查看>>
多线程条件
查看>>
Git [remote rejected] xxxx->xxxx <no such ref>修复了推送分支的错误
查看>>
Porter/Duff,图片加遮罩setColorFilter
查看>>
黄聪:VMware安装Ubuntu10.10【图解】转
查看>>
Centos 6.x 升级openssh版本
查看>>
公式推♂倒题
查看>>
vue实现点击展开,点击收起
查看>>
如何使frame能居中显示
查看>>
第k小数
查看>>
构建之法阅读笔记三
查看>>
Python/PHP 远程文件/图片 下载
查看>>
【原创】一文彻底搞懂安卓WebView白名单校验
查看>>
写给对前途迷茫的朋友:五句话定会改变你的人生
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
JAVA入门到精通-第86讲-半双工/全双工
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>