一.日志分类
- kernel–>物理终端(/dev/console)–>/var/log/dmesg 从内核到终端启动到日志文件的记录
- 日志级别越低内容越详细-----日志的详细程度取决于日志级别
- 日志文件路径:/sbin/init
- /var/log/message:系统标准错误日志信息,非内核产生的引导信息,各子系统产生的信息。
- /var/log/secure:与安全相关的日志信息。
- /var/log/maillog:与邮件信息产生的日志信息。
二,系统日志服务
- syslog:centOS5
- rsyslog:centOS6,是syslog的升级版

- 特征:
- 多线程
- 支持UDP,TCP,SSL,TLS协议
- 支持Mysql,pgsql和Oracle实现日志存储;
- 默认没有启用此功能,需要加载rsyslog支持此类存储方式的模块,并配置其可使用mysql模块日志。
- 强大的过滤器,可实现过滤系统日志信息中的任何部分。
- 自定义输出格式。
elasticsearch, logstacsh,kibana=elk(一般大型公司才会用到elk系统,主要作用是进行日志分析)
elasticsearch:存储,分析日志
logstash:日志收集工具
kihana:前端展示工具
-
syslog和rsyslog服务均有两个进程:
syslogd:系统,非内核产生的日志信息
klogd:内核,专门负责记录内核产生的日志信息。 -
syslog服务的配置文件:/etc/syslog.conf
-
yslog服务的配置文件:/etc/rsyslog.conf

三,服务配置文件
1,syslog服务的配置文件:/etc/syslog.conf
-
置文件格式定义为:(日志文件来源服务)facility.priority(优先级别) action(行为动作,)
facility 以理解为日志的来源或设备,目前常用的facility有以下几种: Auth 认证相关 Authpriv 权限,授权相关的 Cron 任务计划相关的 Deamon 守护进程相关的 Kern 内核相关的 Lpr 打印机相关的 Mail 邮件相关的 Mark 标记相关的 News 新闻相关的 Security 安全相关的 Syslog syslog自己的文件日志 User 用户相关的 Uucp Unix to unix cp 相关的 Local0-local7 用户自定义使用 * 表示所有的facility -
priority(log level)日志的级别,一般有以下几种级别(从低到高),级别越低,信息越详细:
| Debug | 程序或系统的调试信息 |
|---|---|
| Info | 一般信息 |
| Notice | 不影响正常功能,需要注意的消息 |
| Warning/warn | 可能影响系统功能,需要提醒用户的重要事件 |
| err/error | 错误信息 |
| Crit | 紧急,比较严重的 |
| Alert | 必须马上处理的 |
| Emerg/panic | 会导致系统不可用的 |
| 表示所有的日志级别 | |
| None | 跟*相反,表示啥也没有 |
- Action(动作)日志记录的位置:
系统上的绝对路径 #普通文件,如:/var/log/xxx | COMMAND 管道,通过管道送给其他的命令处理 终端 终端, 如:/dev/console @HOST 远程主机(远程主机必须要监听在TCP或UDP协议514端口上提供服务)如:@10.1.1.1可以将本地的日志文件上传到远程主机id日志文件中 用户 系统用户,如:root * 登陆到系统上的所有用户,一般emerg级别的日志是这样定义的
2,定义格式的例子:
| Mail.info /var/log/maillog | 表示将mail相关的,级别为info及info以上级别信息同步记录到/var/log/maillog文件中 |
|---|---|
| Mail.* -/var/log/maillog | 表示mail相关的所有日志信息异步记录到/var/log/maillog文件中,路径前的’-'表示异步模式。 |
| Auth.=info @10.1.1.1 | 表示将auth相关的,级别只为info的信息记录到10.1.1.1主机上去,前提是10.1.1.1 要能接收到其他主机发来的日志信息 |
| User.!=error | 表示记录user相关的,不包括error级别的信息 |
| User.!error | 与user.error相反 |
| *.info | 表示记录所有的日志信息的info级别 |
| Mail.* | 表示记录mail的相关的所有级别的信息 |
| *.* | 表示记录所有级别的所有日志信息 |
| Cron.info;mail.info | 多个日志来源可以用分号隔开 |
| Cron,mail.info | 用逗号分割开同一种级别的不同来源的信息。 |

-
文件记录(/var/log/message)日志的格式
-
事件产生的日志 主机 进程(pid):事件内容
-
有些日志记录为二进制格式:/var/log/wtmp,/var/log/btmp
-
/var/log/wtmp:当前系统成功登录的日志,可使用last命令查看其内容
-
/var/log/btmp:当前系统失败的登陆尝试的日志,可使用lastb命令查看其内容
-
Lastlog命令,显示当前系统每一个用户最近一次的登陆时间。
-
-
配置rsyslog服务器:
-
编辑配置文件(/etc/rsyslog.conf),将下列内容前面的注释去掉,然后重启rsyslog服务即可:
#KaTeX parse error: Expected 'EOF', got '#' at position 17: …odLoad imudp #̲UDPServerRun 514#KaTeX parse error: Expected 'EOF', got '#' at position 17: …odLoad imtcp #̲inputTCPServerRun 514
-
来源文件:/etc/rsyslog.conf
# for parameters see http://www.rsyslog.com/doc/imudp.html
#module(load=“imudp”) # needs to be done just once
#input(type=“imudp” port=“514”)
# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
#module(load=“imtcp”) # needs to be done just once
#input(type=“imtcp” port=“514”)
- 配置使用基于mysql存储日志信息的rsyslog服务器:假定此处的mysql和rsyslog是两台不同的主机
注意:请关闭防火墙和SELINUX- a,确保mysql服务正常
- b,在rsyslog服务器上安装rsyslog-mysql模块(yum -y install rsyslog-mysql)
- c,在mysql服务器上授权一个用户能够对syslog数据库有写权限。
GRANT ALL ON syslog.*TO‘syslog’@'172.16.%.%'IDENTIFIED BY ‘syslogpassword’, - d,配置mysql服务器,在主配置文件(/etc/my.cnf)中添加下面两行内容,并重启mysql服务
Skip_name_resolve=on
Innodb_file_per_table =on
e,在rsyslog服务器上执行sql语句
Mysql -usyslog -h 172.16.100.9 -psyslogpassword < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql - f,配置rsyslog服务器能使用mysql存储日志,编辑/etc/rsyslog.conf文件并重启rsyslog服务
在### MODULES###段下面添加如下内容:
$ModLoad ommysql
在### RULES###段下面添加如下内容:
*.info;mail.none;authpriv.none;cron.none;ommysql:172.16.100.9,Syslog,syslog,syslogpassword;
ommysql:表示使用ommysql模块存储日志至mysql
syslog:表示mysql中的syslog数据库
syslogpassword:表示连接mysql的密码 - g,配置webserver,支持php
Yum install httpd php php-mysql php-gd
Service httpd start - h,配置前端展示界面(loganalyzer软件)
Tar xf loganalyzer-3.6.5.tar.gz
Mv loganalyzer-3.6.5/src/var/www/html/loganalyzer
Cp -a loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer/
Cd /var/www/html/loganalyzer/
Chrmod+x *.sh
./configure.sh
./secure.sh
Chmod 666 config.php#如果没有此文件则手动touch一个即可
在浏览器上输入:http://IP/loganalyzer/install.php;

本文介绍了RedHat系统下日志的分类,包括kernel、secure和maillog等日志文件。重点讲解了syslog和rsyslog服务,以及如何配置rsyslog服务以使用UDP、TCP和MySQL存储日志。同时,提到了elk日志分析系统,以及loganalyzer作为前端展示工具的配置方法。
3508

被折叠的 条评论
为什么被折叠?



