Linux部署配置远程日志服务

需求描述

把客户端的日志信息统一收集到远端服务器,用于分析或者存档。

适用版本

Redhat EL6 ,Redhat EL7。

结构简介

一服务端对多客服端,服务端为每个客户端单独生成日志文件。

所需工具

服务器端及客户端都使用同一个工具 rsyslog,用rpm -qa | grep rsyslog 指令检查包是否被安装,如果没有安装,可用yum install rsyslog进行安装。

同样,客户端与服务器端的配置,也是对同一个配置文件/etc/rsyslog.conf进行编辑。

服务器端配置

任意编辑器编辑文件/etc/rsyslog.conf 文件,注释及新增后的内容如下(没变更的内容不再贴出):

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| $ModLoad immark # provides --MARK-- message capability $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp $InputTCPServerRun 514 $AllowedSender udp,172.16.98.0/24 template RemoteHost,"/data/syslog/%YEAR%-%MONTH%-%DAY%/%FROMHOST-IP%.log" :fromhost-ip, !isequal, "127.0.0.1" ?RemoteHost |

说明

  • $AllowedSender udp,172.16.98.0/24,允许172.16.98.0/24网段的主机用udp协议链接到服务器。
  • template RemoteHost,"/data/syslog/%YEAR%-%MONTH%-%DAY%/%FROMHOST-IP%.log" ,定义远端生成日志的格式,时间-客户端ip地址.log,形如:/data/syslog/2019-06-15/172.16.98.38.log。
  • :fromhost-ip, !isequal, "127.0.0.1" ?RemoteHost ,不把服务端本机的日志记录到上一行设定的目录。

服务端启动

  • 创建目录/data/syslog或者你想创建的。
  • 执行service rsyslog restart.

Rsyslog 服务验证

  • RedHat EL6:执行指令 netstat -anp|grep 514 ,有输出即可初步为正常。
  • RedHat EL7:执行指令 ss --ltu ,根据输出检查是否正常。

客户端配置

为更方便理解,这里以两个客户端为例,一個客户端把ssh登录日志传输到服务器端,另一个客户端把自定义日志传输到服务器端。

实例1:把ssh访问日志记录到日志服务器端。

修改文件 /etc/rsyslog.conf,使文本行为:"authpriv.* @172.16.98.39:514",修改完成执行service rsyslog restart。

实例2:把自定义日志记录到日志服务器端。

修改文件/etc/rsyslog.conf,增加一行"local3.* @172.16.98.39:514",保存修改,然后执行命令service rsyslog restart重启服务。

总体效果检验

登录日志服务器系统,进入配置制定的路径,查看是否有目录及相应的文件生成。

  • 用ssh登录欲传输日志到服务器的系统,胡乱输入用户名及密码,或者正确输入用户名及密码。再回到日志服务器定义的日志目录,查看文件是否有记录生成。
  • 登录自定义服务器,检查其相关的服务是否正常;然后再转登日志服务器,查看其日志是否进行写入:

撰写:田逸

相关推荐
hhzz20 分钟前
ansible自动化运维实战--script、unarchive和shell模块(6)
运维·自动化·ansible
蘑菇丁21 分钟前
ansible 批量按用户名创建kerberos主体,并分发到远程主机
大数据·服务器·ansible
幻想编织者25 分钟前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
利刃大大1 小时前
【Linux入门】2w字详解yum、vim、gcc/g++、gdb、makefile以及进度条小程序
linux·c语言·vim·makefile·gdb·gcc
阿狸的家1 小时前
ovs实现lb负载均衡
运维·云计算·负载均衡·ovs
C嘎嘎嵌入式开发1 小时前
什么是僵尸进程
服务器·数据库·c++
乙己4077 小时前
计算机网络——网络层
运维·服务器·计算机网络
飞行的俊哥7 小时前
Linux 内核学习 3b - 和copilot 讨论pci设备的物理地址在内核空间和用户空间映射到虚拟地址的区别
linux·驱动开发·copilot
hunter2062069 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb9 小时前
web服务器 网站部署的架构
服务器·前端·架构