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. 三十六、rsync通过服务同步、Linux系统日志、screen工具

    三十六.rsync通过服务同步.Linux系统日志.screen工具 一.rsync通过服务同步 该方式可以理解为:在远程主机上建立一个rsync的服务器,在服务器上配置好各种应用,然后本机将作为客户 ...

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

    一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...

  3. logrotate 命令切换linux系统日志

    logrotate是作为linux系统日志的管理工具存在.他可以轮换,压缩,邮件系统日志文件. 默认的logrotate被加入cron的/etc/cron.daily中作为每日任务执行. /etc/l ...

  4. linux系统日志排故方案,Linux系统故障排查思路与常见案例

    Linux系统故障排查思路与常见案例 1.Linux系统日志与分类 内核及系统日志 这种日志数据由系统服务syslog统一管理,根据其主配置文件"/etc/syslog.conf" ...

  5. Linux系统日志管理

    Linux系统日志管理 ********************************** 目 录 ********************************** Linux rsyslogd ...

  6. Linux系统日志rsyslogd

    Linux系统日志rsyslogd Linux系统日志 Linux上使用rsyslogd守护进程接收用户进程输出的日志和接收内核日志. 用户进程是通过syslogd函数生成系统日志.该函数将日志输出到 ...

  7. Linux系统日志管理(redhat)

    一.Linux系统日志作用 日志对任何一个OS.应用软件.服务进程而言都是必不可少的模块.日志 文件对于系统和网络安全起到中大作用,同时具有审计.跟踪.排错功能. 可以通过日志文件监测系统与网络安全隐 ...

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

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

  9. Linux系统日志采集

    Linux系统日志采集 一. 任务描述 二. 任务目标 三. 任务环境 四. 任务分析 五. 任务实施 步骤1.操作步骤 未经许可,禁止以任何形式转载,若要引用,请标注链接地址 全文共计1821字,阅 ...

  10. [LINUX]linux系统日志

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

最新文章

  1. antd + react model自定义footer_使用ESLint+Prettier规范React+Typescript项目
  2. STM32 UART串口驱动程序
  3. Qt高级——QTestLib单元测试框架
  4. java 图形绘制_Java Graphics 图形绘制
  5. 关于直播学习笔记-005-nginx-rtmp-win32在Win10上使用
  6. 3.4 SE55表维护生成器
  7. 吴恩达深度学习CNN作业:Convolutional Neural Networks: Step by Step
  8. 计算机视觉(CV)中HOG算法的主要步骤
  9. 吴恩达神经网络和深度学习-学习笔记-25-定位数据不匹配
  10. 游戏开发之友元类和友元函数(C++基础)
  11. linux之Fedora 20 开启telnet服务
  12. JAVA-JSP内置对象之request获得所有的参数名称
  13. visa卡号生成器 在线_作为一名程序员,我都收集了哪些好玩的生成器?
  14. 基于matlab的捷联惯导算法编程(二)
  15. jenkins集成kettle
  16. c语言使用反三角函数,C语言中反三角函数怎样调用?
  17. [日常] win10系统设置电脑从不休眠睡眠
  18. 在wamp使用tp5框架开发,连接数据库
  19. HTML网页图片引用设置
  20. mysql 索引的命中率_MYSQL索引命中率

热门文章

  1. JS制作跟随鼠标移动的图片
  2. 青春如同奔流的江河,一去不回来不及道别
  3. Controller层实现页面跳转
  4. 京东首页左侧广告部分设计
  5. 国家计算机类的部门,国考部门
  6. position属性
  7. word上标和下标的快捷键
  8. 雷蛇旋风黑鲨 V2 X 怎么样
  9. 经典视频超分论文总结1
  10. css3 卡片亮光_9种纯CSS3人物信息卡片动态展示效果