首页 > 系统相关 >Linux 服务 | rsyslog

Linux 服务 | rsyslog

时间:2023-02-18 17:56:34浏览次数:38  
标签:服务 log 信息 rsyslog Linux 日志 模板 属性

rsyslog 是实现日志功能的服务,用来采集日志信息。

主配置文件/etc/rsyslog.conf中,可以设置日志的处理方式。


MODULES

  • 默认开启的两个 imuxsock、imjournal

  • imuxsock 提供对本地系统日志记录的支持

  • imjournal 提供对systemd日志的访问

  • imudp 提供 UDP 方式系统日志接收

  • imtcp 提供 TCP 方式系统日志接收


RULES

  • 规则设置的格式是filter action

  • filter过滤后的日志,送到action处理

  • 多个 rule 用分号隔开*.info;mail.none

过滤器 filter

  • 基于设施.优先级的过滤器。例:kern.* /dev/console

    • kern是产生日志的设施,*是日志优先级

    • 设施类型(facility)
      kern 内核信息
      user 用户程序产生的相关信息
      mail 邮件系统信息
      daemon 守护进程产生的信息
      auth pam认证系统信息
      syslog 日志系统自身信息
      authpriv ssh、ftp等登录信息
      cron 系统执行定时任务产生的信息
      lpr 打印相关信息
      mark 服务内部的信息,时间标识
      uucp Unix-to-Unix Copy 两个unix之间的相关通信
      local0-local7 保留,本地使用

      • 多个设施用,隔开

      • *表示所有设施

    • 日志优先级(priority)

      • debug (7) , info (6) , notice (5) , warning (4) , err (3) , crit (2) , alert (1) , emerg (0)

      • none会记录没有指定级别的信息

      • *记录所有级别信息

      • 多个级别用,隔开

    • 记录日志内容的设置
      . 等级高于符号后面的信息会记录
      .= 只有符号后面等级的信息会记录
      .! 除了符号后面等级,其他的都会记录(注意前面需要先有其他过滤规则,否则什么不记录)

  • 基于属性的过滤器。例:msg, contains, "error"

    • :msg是要比较的日志属性,contains是要执行的比较操作,"error"是比较的值

    • 比较操作

      • contains 匹配提供的字符串值是否是属性的一部分,如果不区分大小写,使用contains_i
      • isequal 比较属性和值是否相等
      • startswith 属性是否以指定字符串开始(startswith_i)
      • regex 正则表达式(POSIX BRE 基本正则)匹配
      • ereregex 正则表达式(POSIX ERE 扩展正则)匹配
      • isempty 判断属性是否为空,不需要 value
  • 基于表达式的过滤器

    • 使用了 rsyslog 自定义的脚本语言RainerScript构建复杂的 filter。

执行操作 action

多个 action 用&连接

action 后面加;模板名可以使用模板格式化日志

  • 日志保存到日志文件。例cron.* /var/log/cron.log

    • 表示所有 cron 执行的日志都放在 cron.log 中

    • 通常生成日志时会同步到日志文件。前面加-则忽略同步

    • 可以动态生成日志文件,用预定义输出路径模板,并在文件名前加?

  • 通过网络发送日志信息

    *.* @192.168.0.1        # 使用 UDP 发送,默认端口514
    
    *.* @@example.com:18    # 使用 TCP 发送到端口18, 默认10514
    
    *.* @(z9)[2001:db8::1]  # UDP, ipv6,使用zlib级别9压缩
    
    • @表示用 UTP 协议发送

    • @@表示用 TCP 协议发送

    • z9表示用 zlib 压缩日志级别,可设置 1-9。可以不设置压缩

  • 丢弃日志,例cron.* ~

    • 使用~

模板 template

所有系统日志都可以用指定模板进行格式化

  • 创建模板

    $template TEMPLATE_NAME,"text %PROPERTY% more text", [OPTION]

    • TEMPLATE_NAME为模板名称

    • "text %PROPERTY% more text"为模板内容

    • OPTION为模板功能,可设置sqlstdsql,数据库存储时用到

  • 生成动态文件名

    $template DynamicFile,"/var/log/test_logs/%timegenerated%-test.log"
    *.* ?DynamicFile
    
    • timegenerated属性从日志信息中提取出信息时间戳
  • 属性

    • 属性放在两个%之间,可以取得日志信息中的内容。

    • 可用的属性列表man rsyslog.conf


服务确认

  • 修改配置后重启服务

    systemctl restart rsyslog.service

  • 写入测试 log

    logger -p syslog.info -t test "this is a test log."

  • 在系统日志文件/var/log/messages中确认写入的测试 log



rsyslog 能满足几乎所有的日志处理。

以后有用到其他内容再来补充

标签:服务,log,信息,rsyslog,Linux,日志,模板,属性
From: https://www.cnblogs.com/rendd/p/17133192.html

相关文章

  • Linux基础 - 用户管理
     [root@my-node10~]#useruseradduserdelusermodusers[root@my-node10~]#groupgroupaddgroupdelgroupmemsgroupmodgroups 新增用户: usera......
  • Istio和Envoy在服务网格中的架构
    分两部分来分析,首先是Istio组件Pilot与Envoy的交互过程。1)Pilot使用client-go的Informer组件连接APIServer获取集群中所有服务的Service和对应的Endpoints信息,这样就完......
  • 1.Linux系统安装
    0.操作系统版本[root@yuanzj~]#cat/etc/redhat-releaseCentOSrelease6.10注意:在安装Oracle10g版本数据库时候,需要修改版本号为[root@yuanzj~]#cat/etc/redhat-......
  • Linux远程连接
    一、Linux远程链接1、前置步骤(1)确定Linux服务器的IP地址,可以通过ifconfig查看对应的IP地址(2)实际工作中,IP地址是由服务器管理人员给我们2、确......
  • RabbitMQ 服务器启用 SSL/TLS
    为客户端和服务器生成自签名证书为了启用TLS/SSL,我们需要证书/密钥对。这可以借助OpenSSL为客户端和服务器生成自签名证书。生成自签名CA证书我们现在将使用OpenSSL创......
  • Linux操作系统介绍
    一、概念1、操作系统管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。用户在操作系统(应用程序)上操作计算机硬件2、常......
  • 为 RabbitMQ 服务器启用 SSL/TLS
    为RabbitMQ服务器启用SSL/TLS目录为RabbitMQ服务器启用SSL/TLS为客户端和服务器生成自签名证书在RabbitMQ服务器中启用TLS/SSL支持使用RabbitMQAssistant连......
  • Linux 系统中缓存行cacheline
    为了解决计算机系统中主内存与CPU之间运行速度差问题,会在CPU与主内存之间添加一级或者多级高速缓冲存储器(Cache)。这个Cache一般是被集成到CPU内部的,所以也叫CPUCache,如图......
  • Linux 获取设置资源API
    getrlimit()/setrlimit()函数获取或设置资源使用限制,linux下每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用的进程......
  • Linux 网络管理技术
    Linux网络管理技术OSI七层模型和TCP/IP四层模型OSI七层模型:OSI(OpenSystemInterconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信......