应用日志通过rsyslog推送到syslog服务器
CentOS 5系列系统自带syslog 1.4.1 centos6 系列 rsyslog 版本 5.8.10 CentOS 7 系列 rsyslog 版本 7.4.7 目前rsyslog的最新版本是8.27.0。 rsyslog 从 8.5.0 重建 imfile 模块。文件名中可以支持通配符。 rsyslog:http://www.rsyslog.com/ 升级rsyslog需要配置yum源,
CentOS 5系列系统自带syslog 1.4.1
centos6 系列 rsyslog 版本 5.8.10
CentOS 7 系列 rsyslog 版本 7.4.7
目前rsyslog的最新版本是8.27.0。 rsyslog 从 8.5.0 重建 imfile 模块。文件名中可以支持通配符。
rsyslog:http://www.rsyslog.com/
升级rsyslog需要配置yum源,centos默认不升级到最新版本。
1\。配置 yum
为了能够使用 RPM 存储库,您需要一个。回购文件。要使用您的网络浏览器,请访问 http://rpms.adiscon.com。在这里,您可以下载 rsyslogall.repo 文件,或转到所需版本的子文件夹(例如 v8-stable),然后从中下载 rsyslog.repo 文件。 (由谷歌翻译)
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
[root@localhost yum.repos.d]# ls
dvd.repo packagekit-media.repo rhel-source.repo rsyslog.repo
[root@localhost yum.repos.d]# cat rsyslog.repo
[rsyslog_v8]
nameu003dAdiscon CentOS-$releasever - $basearch 的本地软件包
baseurlu003dhttp://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch
启用u003d1
gpgchecku003d0
gpgkeyu003dhttp://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
保护u003d1
[root@localhost yum.repos.d]# rpm -qa|grep -i rsyslog
rsyslog-5.8.10-10.el6_6.x86_64
[root@localhost yum.repos.d]# yum -y 安装 rsyslog
[root@localhost yum.repos.d]# rpm -qa|grep -i rsyslog
rsyslog-8.27.0-2.el6.x86_64
[root@localhost yum.repos.d]#
根据官网文档,如果复制上述配置,可能解析变量不正确,安装不成功。这时,我们需要替换第三行中的变量“$releasever”。 $releasever的值代表系统当前的发行版本,可以通过rpm-qi centos-release命令查看,其中Version:6是我们系统的版本号; $base 是我们的系统硬件机架。使用命令 arch 构造(CPU 指令集)。
[root@localhost yum.repos.d]# rpm -qi centos-release
名称 : centos-release 重定位:(不可重定位)
版本 : 6 供应商:CentOS
发布 :5.el6.centos.11.1 构建日期:2013 年 11 月 27 日星期三 07:53:33 PM CST
安装日期:2017 年 4 月 27 日星期四 06:39:55 PM CST 构建主机:c6b9.bsys.dev.centos.org
组 :系统环境/基础 源 RPM:centos-release-6-5.el6.centos.11.1.src.rpm
尺寸 : 32670 许可证:GPLv2
签名 :RSA/SHA1,2013 年 11 月 27 日星期三 09:26:58 PM CST,密钥 ID 0946fca2c105b9de
打包程序 : CentOS BuildSystem http://bugs.centos.org
摘要 :CentOS 发布文件
说明:
CentOS 发布文件
[root@localhost yum.repos.d]# arch
x86_64
[root@localhost yum.repos.d]#
2\。配置 rsyslog
默认情况下,rsyslog 只能传输系统日志,如 DHCP、cron、kern 等。现在要传输一个服务日志到远程 rsyslog 服务器,使用 rsyslog 的 imfile 模块。此模块提供将任何标准文本文件转换为系统日志消息的能力。该文件是逐行读取的,任何读取的行都会传递给 rsyslog 的规则引擎。
官方文件:
http://www.rsyslog.com/doc/v8-stable/configuration/modules/imfile.html
上图是一个配置示例,每个参数可以参考文中对应的模块参数,module指文中的Module Parameters,input指文中的Input Parameters。
[root@localhost yum.repos.d]# cp /etc/rsyslog.conf{,.20170613bak}
[root@localhost yum.repos.d]# vim /etc/rsyslog.conf
模块(loadu003d"imfile" PollingIntervalu003d"10")
input(typeu003d"imfile" Fileu003d"/opt/CalculationUnit/java/sh/logs/bigada.log" Tagu003d"CalculationUnit" Severityu003d"info" Facilityu003d"local0" freshStartTailu003d"on" deleteStateOnFileDeleteu003d"on ")
local0.* @10.10.15.175:514
[root@localhost yum.repos.d]# /etc/init.d/rsyslog 重启
模块
加载u003d"imfile"。加载 imfile 模块
轮询间隔 u003d “10”。轮询文件的频率,单位秒,默认为 10 秒。
输入
类型u003d"imfile"
Fileu003d"/opt/CalculationUnit/java/sh/logs/bigada.log""发送到syslog的文件的绝对路径
标签u003d"计算单位"
严重性u003d“信息”
设施u003d"local0"
freshStartTailu003d"on":设置为on,每次重启rsyslog时只读取最新数据,丢弃旧日志,默认关闭
deleteStateOnFileDeleteu003d"on" 这样可以重新生成文件,需要开启的参数,比如bigdata.log,改名为bigdata%YYY%mm%dd%。每天早上记录,然后重新生成 bigdata.log。
本地 0。*@10.10.15.175:514 定义 syslog 服务器地址
您现在可以查看 syslog 服务器端数据库中的信息
更多推荐
所有评论(0)