Linux日志服务管理

日志介绍
什么是日志
在现实生活中,记录日志也非常重要,比如银行的转账记录,飞机上的黑盒子,那么将系统和应用发生的事件记录至日志中,以助于排错和分析使用

日志记录的内容包括:

历史事件:时间,地点,人物,事件

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

Linux系统使用的两种系统日志服务
sysklogd:
在CentOS 5 之前的版本,采用的是 sysklogd 日志管理系统服务,syslogd用于记录应用日志,klogd用于记录内核日志。但是,CentOS 5 以及之前版本的系统,已经快要随着时代的发展而退出舞台了。

rsyslog:
rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。即使在远程的目的地和更精细的处理中,性能通常也被认为是惊人的。

rsyslog 特性

多线程

UDP, TCP, SSL, TLS, RELP

MySQL, PGSQL, Oracle实现日志存储

强大的过滤器,可实现过滤记录日志信息中任意部分

自定义输出格式

适用于企业级中继

常见日志文件
日志文件位置 日志文件说明
/var/log/messages内核和公共日志 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已及用户自定义安装软件的日志,也会在这里列出。
/var/log/cron 计划任务日志 记录与系统定时任务相关的曰志
/var/log/dmesg 系统引导日志 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/maillog 邮件日志 记录邮件信息的曰志
用户日志
/var/log/lastlog 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/secure 记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp 永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/tun/ulmp
记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用Vi查看,而要使用w、who、users等命令查看

日志文件的格式:

日志文件的格式包含以下 4 列:

事件产生的时间。

产生事件的服务器的主机名。

产生事件的服务名或程序名。

事件的具体信息。

日志文件分析
内核及系统日志配置文件及日志消息等级

[root@localhost mnt]# cat /etc/rsyslog.conf
查看/etc/rsyslog.conf配置文件
* . info;mail.none;authpriv.none;cron.none /var/log/messages

*.info #表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none #表示某事件的信息不写到日志文件里(这里比如是邮件)

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)

级别 消息 级别 具体描述
0 EMERG 紧急 会导致主机系统不可用的情况
1 ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能影响系统功能,需要提醒用户的重要事件
5 NOTICE 注意 下会影响正常功能,但是需要注意的事件
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等
实验
单独设置ssh日志

首先进入vim /etc/ssh/sshd_config 目录下修改配置文件

加入自定义的local6保存退出之后使用systemctl restart sshd这条命令刷新一下

 

 

 

然后再/etc/rsyslog.conf文件的第74行添加自己的文件位置

 

 

 

使用ssh命令重新登录一下,就可以看到目录中出现了sshd.log文件

 

 

 

远程日志功能

远程日志功能就是将一台服务器上的日志文件,传输到另一台服务器上

服务端配置

首先我们需要进入 /etc/rsyslog.conf 文件中开启19 20两行,以开启接收方的传输端口

 

 

 

使用ss命令可以查看端口是否开启 使用systemctl restart rsyslog这条命令重启日志服务

需要关闭防火墙systemctl stop firewalld

 

 

 

客户端配置

之后我们修改发送端 rsyslog的配置文件,两个@代表tcp协议(一个@代表udp)

 

 

 

注意,需要关闭防火墙systemctl stop firewalld,修改完配置文件之后,需要重启服务

完成之后,我们使用logger命令在日志文件中添加测试字段

 

 

 

之后我们来到接收方,使用tail命令来参看一下/var/log/messages文件

 

posted @   menglang  阅读(199)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示