百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux原生日志系统Rsylog的简单使用

nanshan 2024-10-22 13:03 33 浏览 0 评论

概述

Rsyslog 是一个 syslogd 的多线程增强版,依然基于Syslog协议(linux6之前默认使用syslog程序,centos6用rsyslog所取代)完成系统日志的处理转发,官方形容它是一个极速(如火箭般快速)的日志处理系统。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,可用于:

  1. 接收来自各种来源的输入
  2. 转换过滤格式化输出
  3. 将结果输出到不同的目的地,集成日志分析平台

Rsyslog支持 MySQL、PostgreSQL、故障转移日志目标、ElasticSearch、syslog/tcp 传输、细粒度输出格式控制、高精度时间戳、排队操作以及过滤任何消息部分的能力。它定位于企业级但也考虑了中小系统的需求。RSYSLOG 每秒可以向本地目的地(rsyslogd)传送超过一百万条消息。对远程目的地或需更精细的消息处理时,性能通常也被认为是“惊人的”。官方文档

rsyslog在centos7中现在已经是取代了之前默认使用的syslog程序。所以是不用安装下载的,如果没有可以是要弄yum进行安装。我们可以通过以下命令来查看它的运行状态

service rsyslog status

可以看见系统是默认安装好的,并且是处于运行状态的。

配置文件

rsyslog的默认配置文件位置是/etc/rsyslog.conf。我们首先查看一下配置文件通过vim /etc/rsyslog.conf命令。

可以看到这里有一句

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

包含所有配置文件在/etc/rsyslog.d/*.conf目录下,这种方式和Nginx的配置方式一样。我们可以不修改这个主配置文件,而是在这个目录下编写相对应的配置文件。

这个目录下也已经有了一个配置文件listen.conf里面也写好了一句配置$SystemLogSocketName /run/systemd/journal/syslog

接着我们在仔细看下面的配置信息RULES部分

#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

这里我理解的就它的路由规则(优先级),*代表任意,只要符合规则,那么日志信息就会存储到后面对应的日志文件中。

logger命令

前面简单的介绍一下rsylog日志系统和相关配置信息。那么我们怎么样能像这个系统发送日志信息呢?这里就要使用到我们的logger命令了。logger是Linux和Unix操作系统中使用的命令行工具,用于将日志添加到本地/var/log/syslog文件或远程Syslog服务器。 记录器提供了用于添加日志的不同选项,例如设置优先级,指定远程系统或显式定义Syslog端口。

默认情况下,大多数Linux发行版中都安装了logger命令。 因此,无需显式安装它。 我们可以使用-h选项打印帮助和用法信息,如下所示。 logger命令中最常用的选项将在列表中列出一些说明。

logger命令具有简单的语法,其中首先提供选项,然后提供我们要发送Syslog的日志或消息。

logger OPTIONS LOG_INFO

可以看到我们成功发送了一条日志,并且保存在了/var/log/messages中

后面我们将会讲一个简单案例来实战一下~

链接:https://juejin.cn/post/7221470013874520120

相关推荐

0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)

文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...

ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes

为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...

生产环境starrocks 3.1存算一体集群部署

集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...

在CentOS上添加swap虚拟内存并设置优先级

现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...

国产深度(deepin)操作系统优化指南

1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...

postgresql-15.4 多节点主从(读写分离)

1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...

Docker 容器 Java 服务内存与 GC 优化实施方案

一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...

虚拟内存设置、解决linux内存不够问题

虚拟内存设置(解决linux内存不够情况)背景介绍  Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...

Elasticsearch性能调优(5):服务器配置选择

在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...

Es如何落地

一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...

针对Linux内存管理知识学习总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...

MySQL进阶之性能优化

概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...

Linux Cgroups(Control Groups)原理

LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...

linux 常用性能优化参数及理解

1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...

如何在 Linux 中使用 Sysctl 命令?

sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...

取消回复欢迎 发表评论: