当前位置: 首页 > news >正文

Linux rsyslog 日志服务及日志转发实践

一、基础知识

1、简介

rsyslog 是一个开源工具,基于 syslog 协议完成系统日志的处理转发,它可用于接受来自各种来源的输入,转换它们,并将结果输出到不同的目的地。

rsyslog 提供了高性能、强大的安全功能和模块化设计,支持多种输入和输出模块,可以与各种设备和系统集成,例如 syslog、TCP、UDP、TLS 等。同时,它还支持多种过滤和处理规则,可以根据需求定制化日志的存储、转发和处理方式。

2、rsyslog 特性

  • 支持输出日志到各种数据库,如 MySQL,PostgreSQL,MongoDB ElasticSearch,实现使用第三方服务对日志进行存储和分析;

  • 精细的输出格式控制以及对日志内容的强大过滤能力,可实现过滤记录日志信息中的指定部份;

  • 通过 RELP + TCP 实现数据的可靠传输;

  • 支持数据的加密和压缩传输等;

  • 支持多线程。

3、目录结构

  • /usr/sbin/rsyslogd   #主程序

  • /usr/lib/systemd/system/rsyslog.service   #服务脚本

  • /etc/rsyslog.conf   #主配置文件

  • /etc/rsyslog.d/*.conf   #配置文件目录中的配置文件

  • /usr/lib/rsyslog/*.so   #库文件

4、服务相关命令

查看服务自启动状态,默认开机自启动

systemctl is-active rsyslog

设置开机自启动

systemctl enable rsyslog

禁用开机自启动

systemctl disable rsyslog

启动服务

systemctl start rsyslog

停止服务

systemctl stop rsyslog

重启服务

systemctl restart rsyslog

查看服务状态

systemctl status rsyslog

二、日志文件查看

rsyslog 收集的日志通常存储在 /var/log/ 目录下(具体路径可在配置文件中自定义)

查看文件内容

cat /var/log/messages     # 系统通用消息日志

cat /var/log/auth.log     # 认证、权限相关日志(如登录、sudo操作)

cat /var/log/syslog       # 系统核心日志

分页查看

less /var/log/messages 

more /var/log/messages 

实时输出日志

tail -f /var/log/messages

tail -n 100 -f /var/log/messages

过滤日志

grep "Error" /var/log/messages

grep -i "failed" /var/log/auth.log

三、日志转发实践

1、角色分配

日志收集服务器:在此模式下,rsyslog 进程可以从网络中收集其他主机上的日志数据,这些主机通过 TCP 或 UDP 协议会将日志配置为发送到另外的远程服务器,进行集中存储,方便统一管理。

客户端:在此模式下,rsyslog 可以过滤和发送内部日志消息到本地文件夹(如 /var/log)或一台可以路由到的远程 rsyslog 服务器上。

主机 IP操作系统角色
10.0.0.112ubuntulog server
10.0.0.15rockyclient1
10.0.0.13ubuntuclient2

2、工作流程及配置解读

  • 客户端主机配置:通过 @ 符号,将指定的日志发送到远程主机的514端口,@ 代表 udp,@@ 代表 tcp,*.info 代表所有info级别的日志
    *.info @remote_addr:514

  • 服务端主机配置:加载 udp 或者 tcp 模块,然后开启对应的 input 功能
    module(load="imudp")
    input(type="imudp" port="514")
    module(load="imtcp")
    input(type="imtcp" port="514")

3、log server 配置

编辑 log server 主机 /etc/rsyslog.conf 配置文件,去掉 TCP、UDP 模块的注释,开启 TCP、UDP 相关功能

确认接收的认证日志,转发过来的日志会被写到 /var/log/syslog 文件中

重启服务,检测效果

4、rocky9 转发配置及测试

client1(10.0.0.15)编辑 /etc/rsyslog.d/net.conf 文件,配置远程转发,转发到 log server(10.0.0.112) 的 udp 协议514端口(默认514 ,可以省略)

重启服务

测试效果,在 client1 上写入日志

client1 上查看系统日志 

log server 上查看日志

5、ubuntu 转发配置及测试

client2(10.0.0.113)编辑 /etc/rsyslog.d/net.conf 文件,配置远程转发,转发到 log server(10.0.0.112) 的 tcp 协议514端口(默认514 ,可以省略)

重启服务

测试效果,在 client2 上写入日志

client2 上查看系统日志 

log server 上查看日志

http://www.dtcms.com/a/427525.html

相关文章:

  • 静态网站flash怎么看网站的访问量
  • 体育如何做原创视频网站潮州seo网站推广
  • d40: vue杂项问题
  • WordPress 安全检查指南:让你的网站更稳定、更安全
  • 类似于wordpress的网站开放平台供稿人计划
  • Vue.js props mutating:反模式如何被视为一种良好实践。
  • 基于STM32与influxDB的电力监控系统-12
  • 学习html的网站网站备案一次就可以了吧
  • Linux兄弟线程唤醒和调度的实现
  • Process Hacker下载和安装教程(附安装包)
  • 坑梓网站建设方案公众号制作网页
  • 企业身份认证系统选型:Azure AD 与 Keycloak 功能详解
  • 云手机ARM架构都具有哪些挑战
  • 域名与网站amh wordpress伪静态设置
  • docker 安装 xxl-job 详解
  • 数字博物馆网站建设备案的时候需要网站吗
  • 数学-绝对值(二)
  • css三角形源码
  • 行业网站名录温州网站 公司
  • 资阳网站建设方案wordpress api 发贴
  • 做个网站要多久柚段子wordpress主题模板
  • 网站开发需要学什么语言腾讯广告代理商
  • 【完整源码+数据集+部署教程】鹿角图像分割系统: yolov8-seg-C2f-DCNV2-Dynamic
  • 人工智能发展史 — 物理学诺奖之 Hinton 玻尔兹曼机模型
  • Spring 框架中 ​​RestTemplate 的使用方法​​
  • Vue3中基于路由的动态递归菜单组件实现
  • 建设主题网站的顺序一般是网站规划的案例
  • 免费网站建设制作上海网络推广报价
  • 手撕JS实现call,apply,bind
  • 【Java学习】类加载与实例化过程