首页 > 系统相关 >Linux-rsyslog日志格式修改

Linux-rsyslog日志格式修改

时间:2023-06-26 09:03:07浏览次数:55  
标签:none log cron rsyslog Linux var 格式 日志

0.背景

rsyslog是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。

作用:主要用来采集日志,不生产日志

  • 支持输出日志到各种数据库,如 MySQL,PostgreSQL,MongoDB ElasticSearch,等等;

  • 通过 RELP + TCP 实现数据的可靠传输(基于此结合丰富的过滤条件可以建立一种 可靠的数据传输通道供其他应用来使用);

  • 精细的输出格式控制以及对消息的强大 过滤能力;

  • 高精度时间戳;队列操作(内存,磁盘以及混合模式等); 支持数据的加密和压缩传输等。

好咯,反正就是个日志工具。

平时哪些地方涉及到这玩意?

我比较多的就是crontab的日志在这里。

# 查看cron日志的位置
cat /etc/rsyslog.conf | grep cron

# 输出
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
# Log cron stuff
cron.*                                                  /var/log/cron

解释下上面的两行。

  • *.info;mail.none;authpriv.none;cron.none

    这是一个过滤规则,它表示将所有的 info 级别的日志消息发送到 /var/log/messages 文件。

    *.info:所有设备和所有的日志级别为 info 的消息都会匹配这个规则。

    ;mail.none;authpriv.none;cron.none :表示排除 mail、authpriv 和 cron 这些设备和对应的日志级别,不会被发送到 /var/log/messages 文件中。

  • cron.*

    这是另一个过滤规则,它表示将所有与 cron 相关的日志消息发送到 /var/log/cron 文件。

    cron.*: 表示所有来自 cron 设备的日志消息都会匹配这个规则。

你看,为啥在/var/log/cron、/var/log/messages这些地方看日志,因为这里声明过。

1.日志格式修改

以修改/var/log/messages中日志格式为例

这是修改前的样子,我准备将日期改下格式。

image-20230625170221620

1.1 编辑配置文件

vim /etc/rsyslog.conf

1.2 查找关键字

Template=

这是指定日志消息格式的行,在该行下方追加自定义日志格式CustomFormat

$template CustomFormat,"%TIMESTAMP:1:23:date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n"

上述模板定义了新的日志消息格式,其中 %timegenerated:1:10:date-rfc3339% 部分指定了日期和时间的格式为 yyyy/MM/dd HH:mm:ss

1.3 找到要自定格式的日志

/var/log/messages

末尾追加;CustomFormat

*.* /var/log/messages;CustomFormat

这样,rsyslog 将使用新的模板格式来记录日志消息。

image-20230625170730202

1.4 保存并退出

1.5 重新启动 rsyslog 服务

重启使配置更改生效。

systemctl restart rsyslog

现在,日志已经变成另一个格式了。

image-20230625170459818

标签:none,log,cron,rsyslog,Linux,var,格式,日志
From: https://www.cnblogs.com/yang37/p/17504432.html

相关文章

  • Linux多线程01-线程概述
    线程概述与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的UNIX进程只是多线程程序......
  • Linux多线程02-创建线程
    pthread_create描述:pthread_create()函数在调用进程中创建一个新的线程。新线程通过调用start_routine()开始执行,arg作为start_routine()的唯一参数传递。新线程以以下方式之一终止:调用pthread_exit(3),指定可供调用同一进程中pthread_join(3)的其他线程使用的退......
  • Linux多线程04-连接已终止的线程
    pthread_join描述:pthread_join()函数等待由thread指定的线程终止。如果该线程已经终止,则pthread_join()将立即返回。由thread指定的线程必须是可连接的。如果retval不为NULL,则pthread_join()将目标线程的退出状态(即目标线程提供给pthread_exit(3)的值)复制到retval指向的......
  • Linux多线程03-终止线程
    pthread_exit和pthread_self和pthread_equal描述:pthread_exitpthread_exit()函数终止调用该函数的线程,并通过retval返回一个值,如果该线程是可连接的,则在同一进程中调用pthread_join(3)的另一个线程可以获取该值。任何由pthread_cleanup_push(3)建立但尚未弹出的清理处......
  • Linux多线程07-线程属性
    线程属性类型:pthread_attr_t描述:pthread_attr_setdetachstate()函数将由attr引用的线程属性对象的分离状态属性设置为detachstate中指定的值。分离状态属性确定使用线程属性对象attr创建的线程将在可连接状态还是分离状态下创建。可以在detachstate中指定以下值:P......
  • Linux多线程06-线程取消
    pthread_cancel描述:pthread_cancel()函数向线程thread发送一个取消请求。目标线程对取消请求的响应取决于该线程控制的两个属性:其取消状态和类型。一个线程的取消状态由pthread_setcancelstate(3)确定,可以启用(对于新线程而言是默认的)或禁用。如果一个线程已禁用取消,则取消请......
  • Linux多线程05-线程的分离
    pthread_detach描述:pthread_detach()函数将由thread标识的线程标记为已分离。当一个分离的线程终止时,它的资源会自动释放回系统,而不需要另一个线程与已终止的线程加入。尝试分离一个已经分离的线程会导致未指定的行为。#include<pthread.h>intpthread_detach(pthread_tt......
  • Linux多线程08-线程同步
    一个多线程售票示例://三个窗口,共100张票#include<stdio.h>#include<pthread.h>#include<unistd.h>inttickets=100;//所有线程都共享这100张票void*sellticket(void*arg){//卖票while(tickets>0){usleep(6000);//间隔6000微秒p......
  • Windows Common Log File System (CLFS) Driver,也称为CLFS.sys,是Windows操作系统中的
    WindowsCommonLogFileSystem(CLFS)Driver,也称为CLFS.sys,是Windows操作系统中的一个驱动程序。它提供了一个通用的日志文件系统框架,用于记录和管理系统、应用程序和服务的日志。CLFS.sys文件的路径通常位于Windows操作系统的系统目录中。具体的路径取决于安装Windows的......
  • Steam客户端现在可以让你在Linux上启用硬件加速了
    Valve最近发布了一个新的稳定的Steam客户端更新,大多数Linux玩家已经等待了很久,因为它最终让你在你的系统上启用硬件加速。新的稳定的Steam客户端更新是一个重要的更新,带来了一个具有现代设计元素(对话框、菜单、字体和颜色)的全新外观,更丰富的通知,大修的游戏内覆盖,更新的屏......