rsyslog 配置 mysql_rsyslog使用及配置

日志:

日志是历史时间

按时间序列将发生的事件予以记录的文件

日志记录:事件发生的时间,事件内容

日志级别:事件的关键性程度,log level

Linux:哪些进程需要记录日志?

syslog: 日志系统

syslogd: 系统进程的相关日志

klogd: 内核事件相关的日志

我们这里使用rsyslog来记录日志。rsyslog特点:

支持多线程

支持:TCP,SSL,TLS,RELP

支持:MySQL, PGSQL, Oracle等多种关系型数据中

有强大的过滤器,可实现过滤系统信息中的任意部分

支持自定义输出格式

适用于企业级别日志记录需求

模块化程序

rsyslog主配置文件:/etc/rsyslog.conf

rsyslog的选项:facility(设施),priority(级别),Target(路径)

facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录其日志

auth:跟认证相关的

authpriv:跟认证授权相关的

cron:跟周期性任务相关的

daemon:帮守护进程相关的

kern:帮内核记录日志的

lpr:帮打印组记录日志

mail:帮邮件服务记录日志

mark:防火墙标记记录日志的

news: 新闻组

security:跟安全相关的

syslog:syslong自己的日志

user:跟用户相关的

uucp:unix日志

local0 through local7: 8 customed facility(8个自定义的facility)

指定设施时可以使用通配符:指定日志选项

* :所有

,:列表,f1,f2,f3,f4...

! : 取反

; :记录多个日志信息

- :启用异步功能

priority: 级别,如果不用=号会记录比自己更高的级别

debug

info

notice

warn, warning

err, error

crit

alert

emerg,panic

通配符:

* :所有级别

none :没有任何级别,不记录日志信息

; :记录多个日志信息

- :启用异步功能

Target:

文件路径:例如/var/log/messages

用户:*,所有用户

日志服务器:@SERVER_IP

管道:|COMMAND

rsyslog的格式:

facility.priority    Target

例如1:mail.info/var/log/maillog

比指定级别更高的所有级别,包括指定的级别本身

例如2:mail.=info/var/log/maillog:只记录info级别的日志

明确指定级别

例如3:mail.!info/var/log/maillog

除了指定级别

例如4:*.info/var/log/log

所有facility的info级别

例如5: mail.*/var/log/maillog

mail的所有级别

例如6:mail,news.info/var/log/maillog

mail与news的info级别

例如7:mail.notice, new.info/var/log/log

mial的notice级别和new的info级别

例如8:mail.info*

mail的日志发送给当前系统上已登录的所有用户info级别及以上的日志

例如9:[email protected]

将mail的info日志发送给192.168.1.1这个日志服务器

例如10:mail.!info| COMMAND

将mail除info之外的其他级别日志发送给一个命令,如gerp

例如11:*.info;mail.none

记录所有设施的info及其他更高级别日志,但是mail不记录

例如12:mail.*-/var/log/maillog

记录mail的所有级别日志,但是日志是异步同步的

查看日志信息:

tail /etc/log/messages

日志信息格式:

时间主机进程(PID):时间

启用接受其他服务器发送来的日志文件功能:启用日志服务器功能vim /etc/rsyslog.conf

修改配置之后重启才会生效

MODULES:模块

#没跟空格的都是可启用功能

ModLoad imudp:装载一个udp模块

UDPServerRun 514

监听在UDP的514端口接收其他服务器发来的日志信息

--------------------------------------------------

ModLoad imtcp:装载一个tcp模块

InputTCPserverRun:

监听在TCP的514端口接收其他服务器发来的日志信息

--------------------------------------------------

GLOBAL DIRECTIVES:全局指令

--------------------------------------------------

RULES:规则

rsyslog支持将日志存储于MySQL服务器中:vim /etc/rsyslong.conf

yum install rsyslog-mysql: 安装rsyslog-mysql模块

rpm -ql  rsyslog-mysql

/lib/rsyslog/ommysql.so: om代表输出模块im代表输入模块

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql:日志输出模版

begin forwarding rule

MODULES

#Log event to MySQL

$ModLoad ommysql: 装载mysql模块

RULES

mail.*:ommysql:127.0.0.1,Syslog,sysloguser,syslogpass

facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWD

将日志模版重定向输入到mysql数据库

mysql 

mysql : 进入mysql数据库

SHOW DATABASES; : 查看是否已经将模版导入

use Syslog; : 将Syslog设为默认数据库

SHOW TABLES; : 查看默认数据库的表

GRANT ALL ON Syslog.* TO [email protected] IDENTIFIED BY ‘syslogpass‘;

设置sys的用户名与密码并切拥有syslog的所有权限

FLUSH PRIVILEGES;: 刷新权限

service rsyslog restart:重启服务

做一个服务访问让其生成日志

SELECT * FROM SystemEvents;:查看日志信息

你可能感兴趣的:(rsyslog,配置,mysql)