Linux-系统日志简介

1、日志的介绍

日志文件记录了时间地点人物事件四大信息,故系统出现故障时,可以查询日志文件。
系统的日志文件默认都集中放置到/var/log/目录内,其中又以message记录的信息最多。

2、日志的重要性体现

日志文件的重要性主要体现在以下三方面:

  • 解决系统方面的错误
  • 解决网络服务的问题
  • 过往事件记录

日志文件的权限通常是设置为root能够读取而已。由于日志文件可以记载系统很多的详细信息,所以一个有经验的主机管理员会随时随地查阅自己的日志文件,以掌握系统的最新动态。

注意:系统断电没日志。

3、系统中常见的日志

日志 作用 权重
/var/log/cron 定时任务日志 了解
/var/log/cups 记录打印信息的日志 了解
/var/log/dmesg 记录了系统开机时内核的自检信息 了解
/var/log/btmp 记录错误登录的日志,这个文件是二进制文件,只能通过命令lastb命令查看。 重点
/var/log/lastlog 记录系统中所有用户最后以此的登录时间的日志,这个文件是二进制文件,只能通过命令lastlog命令查看。 重点
/var/log/messages 记录系统重要信息的日志。这个日志文件中会记录linux系统的绝大多数重要的信息,如果系统出现问题时,首先要检查的就应该是这个日志文件 重点
/var/log/secure 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录。例如系统的登录,ssh登录,su切换,sudo授权,政治添加用户和修改用户密码都会记录在这个日志文件中。 重点
/var/log/maillog 记录邮件日志 了解
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi打开,而需要last命令来查看。 重点
[root@localhost ~]# lastb
btmp begins Tue Sep  1 11:45:01 2020
[root@localhost ~]# last
root     pts/2        192.168.0.243    Thu Sep  3 07:35   still logged in
root     pts/2        192.168.0.243    Wed Sep  2 18:18 - 23:06  (04:48)
root     pts/1        192.168.0.253    Wed Sep  2 16:26   still logged in
root     pts/0        192.168.0.253    Wed Sep  2 14:05   still logged in
root     pts/0        192.168.0.253    Tue Sep  1 22:04 - 23:00  (00:55)
root     pts/0        192.168.0.253    Tue Sep  1 14:15 - 22:04  (07:48)
root     pts/0        192.168.0.253    Tue Sep  1 13:18 - 13:42  (00:24)
root     pts/1        192.168.0.253    Tue Sep  1 11:00 - 22:04  (11:04)
root     pts/0        192.168.0.253    Tue Sep  1 10:10 - 11:00  (00:50)

4、linux日志的服务

在centos6和7中,系统日志服务已经由原来的syslog变成了rsyslog,rsyslog相比syslog具有一些新的特点:

  • 基于TCP网络协议传输日志信息;
  • 更安全的网络传输方式;
  • 有日志消息的及时分析框架;
  • 后台数据库;
  • 配置文件中可以写简单的逻辑判断;
  • 与syslog配置文件相兼容。

5、rsyslog服务的介绍

此服务是用来采集系统日志的,它本身不产生日志,只是起到采集的作用。

5.1 rsyslog特性

  • 多线程

  • 支持UDP, TCP, SSL, TLS, RELP

  • 支持MySQL, PGSQL, Oracle实现日志存储

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

  • 自定义输出格式

5.2 rsyslog的进程

[root@localhost ~]# ps aux |grep rsyslog
root        927  0.0  0.5 258024  5784 ?        Ssl  9月01   0:08 /usr/sbin/rsyslogd -n
root       4749  0.0  0.0 112824   980 pts/2    R+   07:37   0:00 grep --color=auto syslog

5.3 rsyslog的位置

[root@localhost ~]# which rsyslogd
/usr/sbin/rsyslogd

5.4 rsyslog的版本

[root@localhost ~]# rpm -qf /sbin/rsyslogd
rsyslog-8.24.0-52.el7.x86_64

5.5 rsyslog的软件信息

这里以rsyslog-8.24.0-52.el7.x86_64为例:

[root@localhost ~]# yum info rsyslog-8.24.0-52.el7.x86_64
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
已安装的软件包
名称    :rsyslog
架构    :x86_64
版本    :8.24.0
发布    :52.el7
大小    :1.9 M
源    :installed
来自源:base
简介    : Enhanced system logging and kernel message trapping daemon
网址    :http://www.rsyslog.com/
协议    : (GPLv3+ and ASL 2.0)
描述    : Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL,: syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part,: and fine grain output format control. It is compatible with stock sysklogd: and can be used as a drop-in replacement. Rsyslog is simple to set up, with: advanced features suitable for enterprise-class, encryption-protected syslog: relay chains.

5.6 rsyslog配置文件

vim /etc/rsyslog.conf                ##rsyslog服务配置文件
systemctl restart rsyslog.service   ##更改配置文件后需重启服务

5.7 日志采集格式的设定

vim /etc/rsyslog.conf$template NAME,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
##名字必须大写,参数之间可用'空格','|'等方式断开*.info;masil.none;authpriv.none;cron.none    /var/log/messages;NAME
##在需要用该格式的日志路径后面加;NAME
参数 解释
%timegenerated% 显示日志时间
%FROMHOST-IP% 显示主机IP
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行

配置文件中的格式:

cron.*     /var/log/cron
什么类型的日志.什么级别的日志 日志采集路径

5.8 日志的类型

auth         ##pam产生的日志
authpriv        ##ssh,ftp等登陆信息的验证信息
cron            ##时间任务相关
kern            ##内核
lpr             ##打印
mail            ##邮件
mark(syslog)-rsyslog  ##服务内部的信息,时间标示
news            ##新闻组
user            ##用户程序产生的相关信息
uucp            ##unix to unix copy,unix主机之间相关的通讯
local 1~7       ##自定义的日志设备

5.9 日志级别

debug            ##有调试信息的,日志信息最多
info            ##一般信息的日志,最常用
notice          ##最具有重要性的普通条件的信息
warning         ##警告级别
err             ##错误级别,阻止某个功能或模块不能正常工作的信息
crit            ##严重级别,阻止整个系统或整个软件不能正常工作的信息
alert           ##需要立刻修改的信息
emerg           ##内核崩溃等严重信息
none            ##什么都不记录

注意:从上到下,级别从低到高,记录的信息越来越少

6、日志的远程同步

6.1 在日志发送方

vim /etc/rsyslog.conf
在文件中任意行加入
*.* @172.25.254.210            ##在*.*表示任意类型。任意级别  "@"表示UDP协议发送,“@@”表示TCP协议发送
systemctl restart rsyslong  ##更改rsyslog.conf后需要重启服务才能生效

6.2 在日志接受方:

vim /etc/rsyslog.conf
14 # Provides UDP syslog reception      ##UDP接口
15 $ModLoad imudp                       ##日志接收模块
16 $UDPServerRun 514                    ##开启接收端口systemctl restart rsyslog               ##重启日志服务
systemctl stop    firewalld             ##关闭防火墙
systemctl disable firewalld             ##设定火墙开机关闭

7、日志查看工具journalctl

查看最近3条日志

[root@localhost ~]# journalctl  -n 3
-- Logs begin at 三 2020-09-02 04:55:07 CST, end at 四 2020-09-03 08:54:37 CST. --
9月 03 08:54:37 localhost.localdomain kernel: device vethd42dd78 left promiscuous mode
9月 03 08:54:37 localhost.localdomain kernel: br-e0146cb93473: port 1(vethd42dd78) entered disabled state
9月 03 08:54:37 localhost.localdomain NetworkManager[660]: <info>  [1599094477.3544] device (vethd42dd78): released from master device br-e0146cb
lines 1-4/4 (END)

查看错误日志

[root@localhost ~]# journalctl -p err
-- No entries --

常用实例:

journalctl  --since "8:55"  ##查看从什么时间开始的日志
journalctl  --until "10:58"   ##查看到什么时间为止的日志
journalctl -o  verbose      ##查看日志的详细参数
journalctl _PID=84          ##查看进程号为84的是日志信息

8、日志分析系统ELK

ELK:elasticsearch, logstash, kibana(日志分析系统,三款开源产品名称的首字母集合)

  • Elasticsearch是个开源分布式搜索引擎
  • Logstash对日志进行收集、分析,并将其存储供以后使用
  • kibana 可以提供的日志分析友好的Web界面
  • 非关系型分布式数据库
  • 基于apache软件基金会jakarta项目组的项目lucene

由于篇幅原因,elk另行讲解。

Linux-系统日志简介相关推荐

  1. 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

    如何查看linux系统下的各种日志文件 linux 系统日志的分析大全 日志分类: 1. 连接时间的日志 连接时间日志一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这 ...

  2. [LINUX]linux系统日志

    linux系统日志 second60  20180206 1简介 linux系统拥有非常强大的日志功能,保存着几乎有所有操作记录,包括内核和程序产生的各种错误信息,警告信息或其他提示信息,对这些信息管 ...

  3. Linux 交叉编译简介

    Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...

  4. 77.Linux系统日志,screen工具介绍

    Linux系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时** ...

  5. Linux系统.xsesion日志文件,linux系统日志

    ##日志记录系统每天发生的各种各样的事情,比如监控系统的状况,排查系统的故障等.你可以通过日志来检查错误发生的原因,或者受到***时留下的痕迹.日志的主要功能是审计和监测,还有实时的监测系统状态,监测 ...

  6. 【Android 逆向】Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )

    文章目录 一.Linux 权限简介 二.系统权限 / 用户权限 / 匿名用户权限 1.系统权限 2.用户权限 3.匿名用户权限 一.Linux 权限简介 Linux 是基于文件的系统 , 内存 , 设 ...

  7. Linux系统日志切割

    Linux系统日志切割 如果服务器有大量的用户的话,这些日志文件的大小会很快地增加,在服务器硬盘不是非常充足的情况下,必须采取措施防止日志文件将硬盘撑爆.现代的Linux版本都有一个小程序,名为log ...

  8. rsync通过服务同步、linux系统日志、screen工具

    rsync通过服务同步 /etc/rsyncd.conf是rsync的默认配置文件,该配置文件不存在,需要编辑内容 主服务器上的操作: 1.[root@test rsync]# cat /etc/rs ...

  9. Alpine Linux 使用简介

    Alpine Linux使用简介 目录: 一.Alpine简要介绍 二.Alpine本地安装 三.Alpine在Docker下运行 四.Alpine的配置和使用 4.1网络相关文件 4.2更新国内源 ...

  10. WSL:WSL(Windows Subsystem for Linux)的简介、安装、使用方法之详细攻略

    WSL:WSL(Windows Subsystem for Linux)的简介.安装.使用方法之详细攻略 目录 WSL的简介 WSL的安装 WSL的使用方法 WSL的简介 Windows Subsys ...

最新文章

  1. java object finalize_Java Object finalize() 方法
  2. 为什么微服务一定要有网关呢?
  3. 华为:对部分顶尖学生实行年薪制 最高200万元
  4. myeclipse中的js文件报错
  5. Nexus刷官方下载的映像_occam
  6. java 随机数 【指定范围】
  7. Erasing Zeroes CodeForces - 1303A
  8. 程序员的一个好习惯,你有几个?
  9. Linux调试分析诊断利器——strace
  10. XMPP即时通讯协议使用(前传)——协议详解
  11. mac android使用WiFi安装应用调试程序
  12. html5广告具有什么特性,最快认知什么才是HTML5广告!
  13. MindSpore21天实战营(1):基于MindSpore Lite开发目标检测的安卓APP实战
  14. 猿创征文|【国产数据库实战】一文学会应用SqlSugar访问及操作人大金仓数据库
  15. python程序设计搜题软件_智慧职教云课堂APPPython程序设计(常州工业职业技术学院)期末考试搜题公众号答案...
  16. 看MindSpore加持下,如何「炼出」首个千亿参数中文预训练语言模型?
  17. VirtualBox安装虚拟机全过程
  18. 减小PDF文档大小(转载)
  19. [导入]梦幻快车(DreamMail) v4.0 正式版 ?
  20. 《战胜华尔街》书中的精髓:业余投资者如何根据行业特点选好股票,赚得比专业的投资者还要多?

热门文章

  1. 华为正式官宣鸿蒙OS,华为正式官宣,鸿蒙OS 2.0系统即将问世,Mate 40有望首发
  2. 【Java】配置环境找不到jdk安装路径怎么办?
  3. 华为靠近获准为伦敦地铁供给移动收集
  4. docker分布式应用部署方案
  5. Android面试之线程同步的方法
  6. csgo下方各种数据都是意思_信用卡有多少种额度你知道吗?各种额度都表示什么意思?...
  7. 当贝投影仪三个不同型号,优势性能大对比
  8. 面试无忧:源码+实践,讲到MySQL调优的底层算法实现
  9. 操作系统武功修炼心法
  10. c语言代码错误c2059,error C2059: 语法异常:“常量”