首页 > 代码库 > linux日志数据化

linux日志数据化

linux日志:   

/var/log/messages, secure,

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

facility对日志进行分类,并用专门的工具进行记录

auth

认证相关日志

authpriv 

认证授权相关的日志

cron 

帮周期性计划记录日志

daemon 

帮首部进程记录日志

kern 

帮内核记录日志

lpr 

帮打印记录日志

mail 

帮邮件子系统记录日志

mark 

防火墙标记记录日志

news 

新闻组记录日志

security 

安全相关的记录日志,和auth差不多

syslog 

syslog自己的日志

user 

用户相关的日志

uucp 

unix 系统之间

local0 through local7: 8 customed facility

local0 through local7 ,8个可自定义的facility工具

通配符:用来指定facility时使用字符    
    * :  表示所有的facility    
    f1,f2,f3,...: 列表   用来facility例表中,分隔facility使用

    !  :  用来取反    

priority:日志优先级

debug 

调试

info 

次之

notice 

需要注意的

warn, warning 

警告

err, error 

错误

crit 

蓝色警告

alert 

橙色警告

emerg, panic 

红色警告

通配符: 


所有级别 

none

没有任何级别 


rsyslog的主配置文件

/etc/rsyslog.conf,其定义格式 :facility.priority Target    (日志记录工具,日志级别 )

facility.priority;facility.priority不同级别之间用分号隔开。

faclility,facility.priority   相同级别之间用逗号分隔,代表两个facility都是一个priority级别的

例子:

mail.info /var/log/maillog 
# 比指定级别更高的所有级别,包括指定的级别本身; 
mail.=info /var/log/maillog 
# 明确指定级别; 
mail.!info * 
# 除了指定级别 
*.info | COMMAND 
# 所有facility的info级别 
mail.*      ???    
# mail的所有级别 
mail,news.info   ???    
# mail和news都是info级别    
Target: 日志记录的去向

文件路径

例如/var/log/messages 

用户

* 当前系统登录的所有用户,也可以单指

日志服务器

@SERVER_IP 服务器IP

管道

|COMMAND

-

在日志记录去向前加-  ,代表异步储存日志记录。


日志信息格式:    
时间 主机 进程(PID):事件    
clipboard    
启动日志服务器的功能:

rsyslog是模块化的,所有模块化功能都需要写在MODULES段中。

clipboard[1]

装在imudp模块,基于UDP514端口提供服务

# Provides UDP syslog reception   
$ModLoad imudp    
$UDPServerRun 514

装在imtcp模块,基于TCP514端口提供服务  

# Provides TCP syslog reception    
$ModLoad imtcp    
$InputTCPServerRun 514

日志服务器IP:192.168.1.124

本机IP:192.168.1.123

修改日志记录位置为远程服务器192.168.1.124

clipboard[2]    
记录一下时间,在本机执行yum repolist

clipboard[3]

查看日志服务器有没有记录日志:

clipboard[4]

明显日志记录的就是本机的日志信息。


rsyslog支持将日志存储于MySQL服务器中:

要让rsyslog链接到MySQL数据库,它需要自己的驱动。  
1)安装配置好mysql数据库服务;    
2)安装rsyslog-mysql包;这是链接到数据库的必须。

[root@www ~]# rpm -ql rsyslog-mysql

/lib64/rsyslog/ommysql.so        日志输出模块

/usr/share/doc/rsyslog-mysql-5.8.10      

          /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql           日志表格式MySQL脚本可以直接创建库表

添加模块:

#syslog-mysql /lib64/rsyslog/ommysql.so

在#### Modules #####启用模块:  

$ModLoad ommysql  在####rules####段中定义记录日志信息于数据库中  

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

修改日志存放位置

*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.1.124,Syslog,sysloguser,syslogpass

:ommysql(通过momysql这个模块把日志发往):192.168.1.124(数据库地址),Syslog(数据库表),sysloguser(用户),syslogpass(密码)


3)创建rsyslog依赖的数据库:

发送/usr/share/doc/rsyslog-5.8.10/createDB.sql 表到数据库主机

clipboard[5]    
# mysql < /root/createDB.sql

第一次导入失败,是因为我的数据库有密码,所有加上账号密码即可

clipboard[6]    
登陆数据库,即可发现,Syslog库和表创建OK。

clipboard[7]

clipboard[8]

创建前边添加的用户,否则那边无法登陆

clipboard[9]

在192.168.1.123测试登陆MySQL看是否成功。

重启服务:

service rsyslog restart

在192.168.1.123端执行一个安装,查看数据库中是否有日志生成

查看数据库,生成了数据

clipboard[10]

4)通过webGUI展示日志信息  

loganalyzer    
# yum -y install httpd php php-mysql php-gd    
# tar xf loganalyzer-3.6.5.tar.gz    
# mkdir /var/www/html/loganalyzer    
# cp -R loganalyzer-3.6.5/src/* /var/www/html/loganalyzer/    
# cp -R loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer/    
# cd /var/www/html/loganalyzer/    
# chmod +x configure.sh secure.sh    
# ./configure.sh    
# ./secure.sh    
# chmod 666 config.php    
# chown -R apache.apache ./*

http://SERVER_IP/loganalyzer/

http://192.168.1.124/log

clipboard[11]

clipboard[12]

clipboard[13]

clipboard[14]

clipboard[15]

本文出自 “aolens·程超” 博客,请务必保留此出处http://aolens.blog.51cto.com/7021142/1544874

linux日志数据化