LinuxService- 日志集中管理·rsyslog

本文介绍如何使用rsyslog进行日志集中管理,包括配置服务器和客户端以实现通过UDP、TCP和RELP传输日志,以及如何测试日志传输的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  使用rsyslog进行日志集中管理

      采用C/S架构:客户端将其日志上传到服务器端,通过对服务器端日志的查询,来实现对其他客户端的日志进行集中管理。将所有其他计算机上的日志全部都记录在一个计算机上。

journal   -xn                           //这个不常用

tail   -f   /var/log/messages       //查看常规日志

      日志的传输方式有三种:UDP(tcp 514)、 TCP(tcp 514)、RELP(tcp 2514) 。UDP传输, 但信息有损耗;基于TCP明文的传输,只在特定情况下丢失信息,并被广泛使用;RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用。安全级别是UDP<TCP<RELP

2  配置rsyslog服务,以2台虚拟机为例

将client连接到server端,可以在server端查看到client客户端的日志信息。以TCP传输为例。

2.1 服务器端

第一步 编辑配置文件:vim   /etc/rsyslog.conf,启用传输方式

启用UDP传输方式:取消15、16行的注释

启用TCP传输方式:取消19、20行的注释

启用RELP传输方式得手动添加:$ModLoad    imrelp  

$InputRELPServerRun    2514

注:如果采用relp传输方式,在服务器和客户端都需安装 rsyslog-relp

第二步 开启传输端口监听 vim   /etc/sysconfig/rsyslog,添加:

SYSLOGD_OPTIONS="-r514   -c2"

注: -r  指定监听端口 ;  -c2  使用兼容模式(是否使用兼容模式只针对TCP、UDP,即使用TCP传输时,加上-c2参数意味着兼容UDP模式传输,以此类推;但是RELP用不到-c2参数,即RELP无兼容模式)

第三步 重启服务  systemctl   restart   rsyslog

2.2 客户端

第一步 指定日志传输方式 ,编辑配置文件  #vim   /etc/rsyslog.conf,在最后添加所用的传输方式的格式内容。1)、2)、3)是“或”的关系

1)*.*   @服务器ip地址:端口号           //采用UDP传输的格式

例:*.*   @192.168.1.1:514

2)*.*   @@服务器IP地址:端口号         //TCP传输

例:*.*   @@192.168.1.1:514

3)$ModLoad   omrelp

*.*   :omrelp:服务器IP地址:端口号      //RELP传输

例:$ModLoad   omrelp

    *.*   :omrelp:192.168.1.2:2514

第二步 重启服务  systemctl   restart   rsyslog

第三步 先用 tail  -f  /var/log/messages   预先查看本客户端的日志信息

1)在客户端生成一条日志,看服务器端是否接受到这个日志 

#logger  -t  kern  -p  err  "hello,wahaha"

//使用logger命令生成日志消息,消息级别为内核信息,类型为错误日志信息,内容为hello  wahaha。

2)tail   -f    /var/log/messages  再次看一下是否产生了错误日志

第四步 在服务器端查看:tail   -f   /var/log/messages

注:如果采用relp传输方式,在服务器端除了要修改/etc/rsyslog中的传输方式外,还要修改/etc/sysconfig/rsyslog中监听的端口号。

3 采用UDP、RELP传输方式

3.1  采用UDP传输

1)配置服务器端

第一步 编辑配置文件:vim  /etc/rsyslog.conf,启用UDP传输方式,取消15、16行的注释

第二步 开启传输端口监听 vim   /etc/sysconfig/rsyslog,添加:

SYSLOGD_OPTIONS="-r514   -c2"

第三步 重启服务  systemctl   restart   rsyslog

2)配置客户端

第一步 指定日志传输方式 ,编辑配置文件  #vim   /etc/rsyslog.conf,在最后添加

*.*    @192.168.1.1:514

第二步 重启服务  systemctl   restart   rsyslog

第三步 先用 tail  -f  /var/log/messages   预先查看本客户端的日志信息

1)在客户端生成一条日志,看服务器端是否接受到这个日志 

#logger  -t  kern  -p  err  "hello,wahaha"

2)tail   -f   /var/log/messages  再次看一下是否产生了错误日志

第四步 在服务器端查看:tail   -f   /var/log/messages

3.2 采用RELP传输方式

1)配置服务器端

第一步 安装软件      #yum   install   rsyslog-relp

第二步 编辑配置文件  #vim   /etc/rsyslog.conf  ,在最后添加两行

$ModLoad    imrelp

$InputRELPServerRun   2514

第三步 开启传输端口监听 vim   /etc/sysconfig/rsyslog,添加:

SYSLOGD_OPTIONS="-r2514"

第四步 重启服务  systemctl   restart   rsyslog

2)配置客户端及测试

第一步 安装软件      #yum   install   rsyslog-relp

第二步 指定日志传输方式 ,编辑配置文件  #vim  /etc/rsyslog.conf,在最后添加2行

$ModLoad   omrelp

    *.*   :omrelp:192.168.1.1:2514

第三步 重启服务  systemctl   restart   rsyslog

第四步 先用 tail   -f   /var/log/messages   预先查看本客户端的日志信息

1)在客户端生成一条日志,看服务器端是否接受到这个日志 

#logger  -t  kern  -p  err  "hello,wahaha"

2)tail   -f   /var/log/messages  再次看一下是否产生了错误日志

第五步 在服务器端查看:tail   -f   /var/log/messages


转载请注明出处,谢谢!

<think>好的,用户需要了解如何查看和管理Linux服务器上的系统日志文件。首先,我应该根据提供的引用资料整理相关信息,确保回答准确。引用[1]提到常用的命令如tail、cat、grep等,这些是基础工具。需要详细说明每个命令的用法和适用场景,比如实时查看日志用tail -f,搜索特定内容用grep。 接着,引用[2]指出系统默认使用syslog,现在可能升级到了rsyslogjournald。需要提到配置文件的位置,比如/etc/rsyslog.conf,以及如何自定义日志规则。同时,systemd的journalctl命令也很重要,应该包括常用的journalctl选项,如-u指定服务,-f跟踪日志等。 然后,引用[3]虽然来自Windows的事件查看器,但可以忽略,因为用户关注的是Linux。引用[4]提到tac命令,反向显示文件内容,可能在查看最新日志时有用,需要简要说明。 接下来,管理日志部分需要涉及日志轮转工具logrotate,说明其配置文件和自动清理机制。另外,手动清理旧日志的方法,比如使用find命令删除超过一定天数的文件,但要注意谨慎操作。 安全性和权限方面,需要提醒用户修改日志文件权限,使用sudo访问受限制的日志,并定期备份重要日志。可能还需要提到集中式日志管理工具,如ELK栈,但引用资料中没有相关引用,所以可能不展开。 最后,生成相关问题时要覆盖常用命令、实时监控、配置文件位置、自动清理、权限管理和工具比较等方面,确保问题有针对性,帮助用户进一步学习。 需要确保回答结构清晰,分点列出查看和管理的方法,每个部分都有对应的命令示例和解释,并正确添加引用标记。同时避免使用Markdown格式,保持自然的中文表达,符合用户的要求。</think>### 如何查看和管理 Linux 服务器上的系统日志文件 #### 一、查看系统日志的方法 1. **基础命令工具** - **`tail`**: 实时查看日志末尾内容,例如 `tail -f /var/log/syslog` 可动态跟踪最新日志更新[^1]。 - **`grep`**: 过滤关键词,如 `grep "error" /var/log/syslog` 可快速定位错误信息。 - **`less`/`more`**: 分页查看长日志文件,支持上下翻页和搜索功能。 - **`tac`**: 反向显示文件内容(从末尾到开头),适合查看最新日志条目[^4]。 2. **系统日志服务** - **`rsyslog`**: 默认日志守护进程,配置文件位于 `/etc/rsyslog.conf`,定义日志存储路径和规则[^2]。 - **`journalctl`**: 配合 `systemd` 的日志管理工具,支持按服务、时间筛选,例如: ```bash journalctl -u nginx.service -f # 实时查看Nginx服务日志 ``` - **专用日志文件**: 如 `/var/log/auth.log`(认证日志)、`/var/log/kern.log`(内核日志)等。 #### 二、日志管理实践 1. **日志轮转与清理** - **`logrotate`**: 自动压缩和删除旧日志,配置文件位于 `/etc/logrotate.conf`,可自定义周期和保留数量。 - **手动清理**: 使用 `find /var/log -name "*.log" -mtime +30 -exec rm {} \;` 删除30天前的日志(需谨慎操作)。 2. **安全与权限** - 通过 `chmod` 和 `chown` 限制日志文件访问权限,例如仅允许 `root` 或特定用户组读取敏感日志- 使用 `sudo` 提权查看受保护日志,如 `sudo journalctl --since "2023-10-01"`。 3. **集中化日志管理(进阶)** - 部署 `ELK` 栈(Elasticsearch、Logstash、Kibana)或 `Graylog`,实现日志聚合、分析和可视化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值