原文出处:http://blog.51cto.com//
内容:
1、rsyslog日志服务简介
2、rsyslog的配置详解
3、实现日志服务器收集日志及last、lastb、dmseg命令的使用
4、实现日志存储在mysql中
一、rsyslog日志服务简介
日志的概念好理解,日志作用可用于排障和追溯审计的等
1、rsyslog是一个C/S架构的服务,可监听于某套接字,帮其它主机记录日志信息,在linux系统中可以分类两个日志:
klogd:kernel,记录内核相关的日志
syslogd:service,记录应用程序的日志
rsyslog:是CentOS 6以后的系统使用的日志系统,与之前的syslog日志系统相比,具有以下优点:
支持多线程
支持TCP、SSL、TLS、RELP等协议
强大的过滤器,可实现过滤日志信息中的任意部分
支持自定义输出格式
适用于企业级别日志记录需求
模块化
2、日志的记录格式
日期时间 主机进程[pid]:事件内容

二、rsyslog配置
1、程序包:rsyslog
程序环境:
配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/
主程序:/usr/sbin/rsyslogd
模块路径:/usr/lib64/rsyslog/
Unit File:/usr/lib/systemd/system/rsyslog.service
2、rsyslog中的术语:
facility:设施、信道;
auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7
priority:记录日志的等级,如果等级是info,代表包含了info以及以上的所有等级事件日志都记录
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)
3、配置文件:
由三部分组成:严格按照配置段位置添加配置
MODULES:定义了模块的选修,如接下来的使用mysql模块记录日志则需要在这里配置
GLOBAL DIRECTIVES:定义了全局的环境
RULES:定义了记录日志的设施以及等级等信息
其格式为:
三、实现日志服务器收集日志
前面已经介绍,rsyslog是一个C/S架构,可以通过套接字来进行监听记录工作,起可以基于TCP和UDP工作,默认的监听端口是514,只需要在modules打开即可:
1、修改服务端配置,打开服务监听端口,并重启服务:
2、在客户端的配置中,定义将日志发往服务端:
3、服务端已经收到日志:
4、其它几个日志文件:
last -num:记录登录系统成功的记录
lastb -num :记录登录系统失败的记录
命令的读取日志文件:
/var/log/btmp:登录当前系统的所有的失败的尝试;
/var/log/wtmp:所有成功登录至当前系统的相关信息;
dmesg:系统引导过程中的日志信息;
/var/log/dmesg:系统引导过程中的日志信息;
文本查看工具;
也可以使用dmesg命令;
四、实现日志存储在mysql中
前提:准备好msql server或mariadb server;
1、安装rsyslog连接至mysql server的驱动模块;
可以看到其实rsyslog模块提供的启动mysql的模块还有createDB.sql,它的作用就是定义了日志的记录表格式,可以直接导入该sql语句到mysql即可
2、在mysql server准备rsyslog专用的用户账号;
3、导入该sql语句到mysql即可,生成所需要的数据库和表;
4、配置rsyslog加载ommysql模块
5、配置RULES,将所期望的日志信息记录于mysql中;
其格式为:
facility.priority :ommysql:DBHOST,DB,DBUSER,DBUSERPASS
所以添加以下信息:
6、启动mysql服务,并重启rsyslog服务,mysql已经记录日志,到此为止,日志信息已经成功的存储于数据库中;
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10388.html