CentOS上配置rsyslog客户端用以远程记录日志

rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。

假定你的网络中已经有一台已经配置好并启动的rsyslog服务器,本指南将为你展示如何来设置CentOS系统将其内部日志消息路由到一台远程rsyslog服务器上。这将大大改善你的系统磁盘空间的使用,尤其是当你还没有一个用于/var目录的独立的大分区。

步骤一: 安装Rsyslog守护进程

在CentOS 6和7上,rsyslog守护进程已经预先安装了。要验证rsyslog是否已经安装到你的CentOS系统上,请执行如下命令:

  1. # rpm -qa | grep rsyslog
  2. # rsyslogd -v

如果处于某种原因,rsyslog守护进程没有出现在你的系统中,请使用以下命令来安装:

  1. # yum install rsyslog

步骤二: 配置Rsyslog守护进程为客户端

接下来的步骤,是要将你的CentOS机器转变成rsyslog客户端,将其所有内部日志消息发送到远程中央日志服务器上。

要实现该功能,请使用你喜爱的文本编辑器打开位于/etc路径下的rsyslog主配置文件:

  1. # nano /etc/rsyslog.conf

开启文件用于编辑后,你需要添加以下声明到文件底部。将IP地址替换为你的远程rsyslog服务器的IP地址。

  1. *.*@192.168.1.25:514

上面的声明告诉rsyslog守护进程,将系统上各个设备的各种日志消息路由到远程rsyslog服务器(192.168.1.25)的UDP端口514。

如果出于某种原因,你需要更为可靠的协议,如TCP,而rsyslog服务器也被配置为监听TCP连接,你必须在远程主机的IP地址前添加一个额外的@字符,像下面这样:

  1. *.*@@192.168.1.25:514

注意,你也可以将rsyslog服务器的IP地址替换成它的主机名(FQDN)。

如果你只想要转发服务器上的指定设备的日志消息,比如说内核设备,那么你可以在rsyslog配置文件中使用以下声明。

  1. kern.*@192.168.1.25:514

修改配置文件后,你需要重启进程以激活修改:

CentOS 7:

  1. # systemctl restart rsyslog.service

CentOS 6:

  1. # service rsyslog restart

非 syslog 日志的转发

在另外一种环境中,让我们假定你已经在机器上安装了一个名为“foobar”的应用程序,它会在/var/log下生成foobar.log日志文件。现在,你想要将它的日志定向到rsyslog服务器,这可以通过像下面这样在rsyslog配置文件中加载imfile模块来实现。

首先,加载imfile模块,这只需做一次。

  1. module(load="imfile"PollingInterval="5")

然后,指定日志文件的路径以便imfile模块可以检测到:

  1. input(type="imfile"
  2. File="/var/log/foobar.log"
  3. Tag="foobar"
  4. Severity="error"
  5. Facility="local7")

最后,定向local7设备到远程rsyslog服务器:

  1. local7.*@192.168.1.25:514

别忘了重启rsyslog进程哦!

步骤三: 让Rsyslog进程自动启动

要让rsyslog客户端在每次系统重启后自动启动,请运行以下命令:

CentOS 7:

  1. # systemctl enable rsyslog.service

CentOS 6:

  1. # chkconfig rsyslog on

小结

在本教程中,我演示了如何将CentOS系统转变成rsyslog客户端以强制它发送日志消息到远程rsyslog服务器。这里我假定rsyslog客户端和服务器之间的连接是安全的(如,在有防火墙保护的公司网络中)。不管在任何情况下,都不要配置rsyslog客户端将日志消息通过不安全的网络转发,或者,特别是通过互联网转发,因为syslog协议是一个明文协议。要进行安全传输,可以考虑使用TLS/SSL来加密日志消息的传输。

时间: 2024-10-07 14:52:12

CentOS上配置rsyslog客户端用以远程记录日志的相关文章

CentOS上配置Cacti监控MySQL

防伪码:即使没有辉煌的未来.如果能有无悔的往昔.   第九章 CentOS上配置Cacti监控MySQL 前言:在企业网络运维过程中,管理员必须随时关注服务器和网络的运行状况.以便及时发现问题,尽可能减少故障的发生.当网络中的设备.服务器等数量较多时,为了更加方便.快捷的获得各种监控信息,通常会借助于一些集中检测软件.本章将以著名的Cacti套件为例,介绍服务器集中监控体系的构建和使用. 一.Cacti官方简介: 1.Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且

CentOS下配置VPN客户端

今天想在centos下创建个vpn连接,可谁知点击打开后无法添加vpn连接...悲剧了... 后来在网上找到如下资料解决了...呵呵... 注意,当安装好如下软件包后,点击添加vpn时,记得网关填写的是vpn的地址... 原因:缺少相关软件包 1. Point-to-Point Tunneling Protocol(PPTP) Client 2. NetworkManager vpn plugin for pptp 解决方法: 1. 有EPEL更新源 (EPEL更新源配置http://blog.

Laravel学习笔记(三)--在CentOS上配置Laravel

在Laravel框架上开发了几天,不得不说,确实比较优雅,处理问题逻辑比较清楚. 今天打算在CentOS 7上配置一个Laravel,之前都是在本机上开发,打算实际配置一下. 1)系统上已经安装了Apache.PHP.mysql,安装命令为yum install httpd php mysql 因为CentOS 7自带的php模块很少,如果需要增加模块,需要编译才行,所以需要php-devel模块,用yum install php-devel命令就可以了. 2)安装laravel a)安装com

在CentOS7.4上配置NTP客户端

在CentOS7.4上配置NTP客户端 1.检查是否连通NTP服务器[[email protected] ~]# ntpdate 192.168.1.10013 Dec 15:10:12 ntpdate[9146]: step time server 192.168.1.100 offset -2289.098141 sec[[email protected] ~]# dateFri Dec 13 15:10:19 CST 2019 2.设置NTP客户端[[email protected] ~]

在centos上配置IP

当我们安装好系统后,最先做的应该就是配置IP了,因为无论是要下载工具软件.还是远程链接,网络必不可少,所以我们要先来配置IP! 一.查看IP 如何在centos上查看IP呢,使用 ifconfig 命令 常用参数:-a 查看所有网卡(包括在使用和未使用的) 二.临时获得IP 使用dhclient 命令,自动获得IP,不过只是暂时的 三.通过配置文件获得IP 配置文件位置为: /etc/sysconfig/network-scripts/ifcfg-eth0 (在更改配置文件前最好备份一次,防止修

【数据库】Mean web开发 05-Linux上配置MongoDB自动启动及远程连接

简介 Mean是JavaScript的全栈开发框架.更多介绍 用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB的学习资料可参考: MongoDB中文社区 上一节介绍了MongoDB在Linux上的安装及遇到的问题,这一节介绍MongoDB在Linux上的自动启动及远程连接. 在Linux上自动启动

在centos上配置python3.4环境(哎,痛苦的一天啊!)

centos以及linux版本的系统上默认带的python是2.7版本,但是我需要python3以上的环境啊,为什么就不说啦. openssl-devel .openssl .ncurses-devel.zlib-devel.zlib的安装上先. 之后还会遇到好多问题啊,只要=根据提醒着往上装,要想在安装第三方包的时候方便安装,先装setuptools,再装,easy—install 然后装pip, 可能在配置过程中要反复的重新编译python啊. 最后终于成功啦

如何在CentOS上配置基于主机的入侵检测系统?

任何系统管理员想要在其生产服务器上最先部署的安全措施之一就是检测文件篡改的机制――不法分子篡改的不仅仅是文件内容,还有文件属性. AIDE(全称“高级入侵检测环境”)是一种基于主机的开源入侵检测系统.AIDE通过检查许多文件属性的不一致性来检查系统二进制文件和基本配 置文件的完整性,这些文件属性包括权限.文件类型.索引节点(inode).链接数量.链接名称.用户.用户组.文件大小.块计数.修改时间.访问时间. 创建时间.访问控制列表(acl).SELinux安全上下文.xattrs以及md5/s

在CentOS上配置基于主机的入侵检测系统(IDS)

所有系统管理员想要在他们生产服务器上首先要部署的安全手段之一,就是检测文件篡改的机制——不仅仅是文件内容,而且也包括它们的属性. AIDE (“高级入侵检测环境”的简称)是一个开源的基于主机的入侵检测系统.AIDE通过检查大量文件属性的不一致性来检查系统二进制文件和基本配置文件的完整 性,这些文件属性包括权限.文件类型.索引节点.链接数.链接名.用户.组.文件大小.块计数.修改时间.添加时间.创建时间.acl.SELinux安 全上下文.xattrs,以及md5/sha校验值在内的各种特征. A