rsyslog 与 logrotate 服务

rsyslog与logrotate服务

rsyslog 负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件。

一、rsyslog

传统 syslogd 守护进程的工作原理(如下图):

1、用户进程将产生的日志消息发送至UNIX域数据报套接字 /dev/log;

2、syslogd 守护进程启动时会读取配置文件 /etc/syslog.conf,该配置文件决定不同种类的消息应送往何处。

注意:rsyslog 是一个 syslogd 的多线程增强版,现在Fedora和Ubuntu, Centos默认的日志系统都是rsyslog了。

配置rsyslog 的命令行参数:

在 rsyslog 的配置文件 /etc/rsyslog.conf,增加下面两行:

local3.* /var/log/haproxy.log
local0.* /var/log/haproxy.log

然后执行下面的命令进行测试:

logger -p local3.info ‘hello world‘

可以看到 /var/log/haproxy.log 增加了改行信息。

/etc/rsyslog.conf 每行配置项的含义:

日志设备  连接符号 日志级别   日志处理方式

日志设备:
———————————————————————-

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

连接符号:
———————————————————————-
.xxx: 表示大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示在xxx之外的等级的信息
Actions

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

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

例子:

———————————————————————-

1. 记录到普通文件或设备文件::
*.* 
   /var/log/file.log   # 绝对路径
*.*     /dev/pts/0
测试: logger -p local3.info
‘KadeFor is testing the rsyslog and logger ‘   logger 命令用于产生日志

2. 转发到远程::
*.* @192.168.0.1       
    # 使用UDP协议转发到192.168.0.1的514(默认)端口
*.* @@192.168.0.1:10514 
   # 使用TCP协议转发到192.168.0.1的10514(默认)端口

3. 发送给用户(需要在线才能收到)::
*.*   root
*.*   root,kadefor,up01 
   # 使用,号分隔多个用户
*.*   *     # *号表示所有在线用户

4. 忽略,丢弃::
local3.*   ~    # 忽略所有local3类型的所有级别的日志

5. 执行脚本::
local3.*    ^/tmp/a.sh 
    # ^号后跟可执行脚本或程序的绝对路径
# 日志内容可以作为脚本的第一个参数.
# 可用来触发报警
.. note::

二、logrotate

时间: 2024-11-04 20:47:35

rsyslog 与 logrotate 服务的相关文章

rsyslog和logrotate服务

参考: http://www.lampbo.org/others/opensource/rsyslog-config-file-detail.html http://bangerlee.blog.chinaunix.net/uid-10540984-id-2609837.html rsyslog 是一个 syslogd 的多线程增强版.现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了. rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新

iptables+rsyslog(syslog)+logrotate访问日志分析

最近,因为相应的业务需求需要对服务器的相应服务做访问分析,在做之前大致思考了下,可以利用iptables的log日志功能用来做相应的日志分析,在此就以做ssh端口访问做日志分析来简单讲解下,在实际生产环境下也可以根据实际情况调整,可以用来做WEB服务等等的相应的访问日志分析. 首先,在使用日志分析之前最重要的就是iptables的log功能,至于iptables中的log功能使用 也很简单,在开启后会把日志写入/var/log/messages内核日志中,而iptables的日志功能使用的几个参

Rsyslog日志收集服务并结合Loganalyzer工具展示

一.日志概述 1.rsyslog简介 syslog是日志收集存储系统,负责记录遵守此服务的内核.程序的日志信息.一般记录为:"日期时间,主机,进程:事件".syslog不仅可以记录本地的系统日志,也可以通过tcp, udp协议记录远程主机的程序日志信息. syslog:系统日志,是一种服务,有两个进程 syslogd:记录应用程序相关的日志 klogd:记录内核相关的日志 rsyslog:是syslog的升级版,使用多线程并发记录本地或远程日志,支持存储日志信息在MySQL,PGSQL

rsyslog 结合logrotate日志切割处理

需求 公司日志系统收集规范为: /var/log/业务名/业务名+域名.log(不带日期) /var/log/业务名/业务名+域名-2017-04-25.log(为前一天的日期.业务不做压缩,由运维统一处理) /var/log/业务名 目录的权限为特定用户(系统中的uid.gid固定) 现状 harbor业务由docker容器启用logrotate来收集日志,日志生成规则为/var/log/日期/业务名.log 需要改造容器的logrotate配置实现要求,初期设想是通过logrotate直接实

rsyslog及logrotate小结

[[email protected] logrotate.d]# ls dracut haproxy httpd mcelog nginx ppp psacct syslog yum ? yum install nginx yum install httpd 这些等安装完事后都会在logrotate.d目录下生成自动轮循机制. ? 但是源码包安装完事,需要手动配置下. 如在以下目录源码安装apache. 添加个httpd文件 /usr/local/apache2/logs/access_log

rsyslog+Loganalyzer日志服务器--初探

Rsyslog 是一个 syslogd 的多线程增强版,在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL, PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.除了默认的udp协议外,rsyslog还支持tcp协议来接收日志.     本文只做简单配置与说明.更多与日志相关的服务的详细解释与配置,请参考http://w.gdu.me/wiki/Linux/rsyslog_logrotate.html rsyslogd服务器及负载均衡:rsyslog和log

rsyslog 详解3

http://www.centosabc.com/archives/601 http://www.cnblogs.com/aguncn/p/4249175.html rsyslog服务和logrotate服务======================================================================rsyslog 是一个 syslogd 的多线程增强版.现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了rsyslog负责

rsyslog

为了使得应用程序不需要自身实现日志记录的功能,linux实现了系统日志服务.Rsyslog是syslog的升级版本, 其在RHEL5的版本中, 名称为syslog.在RHEL6/7其升级为Rsyslog. Rsyslog的特性:支持多线程 支持加密的方式记录传输远程主机日志同时支持tcp/udp将日志可存储在mysql,pgsql,oracle等数据库管理系统中,便于筛选查询强大的自定义过滤器,实现过滤日志信息中任何部分内容,实现选择性记录自定义输出格式 syslog中含有两个服务进程,sysy

rsyslog+loganalyzer+mysql部署日志服务器

rsyslog是一个用来管理系统日志的开源程序,是早前syslog的升级版,对原有的日志系统进行了功能的扩展. rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器.另外就是可以配置为客户端,用来过滤和发送内部日志数据到本地文件夹(如/var/log)或一台远程rsyslog服务器上. 一.rsyslog特性 多线程 支持通过TCP,SSL,TLS,RELP协议实现日志数据的可