Linux系统日志管理服务和配置
创始人
2024-10-22 02:34:40
0

文章目录

  • Linux系统日志服务
    • rsyslog
    • 日志分类
    • rsyslog相关文件
    • /var/log/message
      • 重启失败分析
    • /var/log/secure
    • 自定义日志输出路径
      • 1.修改sshd_config配置文件
      • 2.修改rsyslog.conf
      • 3.重启服务
  • 常见日志文件
  • 日志管理工具journalctl
    • 选项说明
    • journalctl用法示例
  • 日志分析实战
    • host无法解析
      • 1.查看日志报错具体内容
    • Httpd启动失败分析
      • 1.80端口占用
      • 2.查找端口占用进程
      • 3.关掉端口占用进程

Linux系统日志服务

虽然运行在Linux系统上的各个服务都有自己的日志系统 ,如redis,nginx,mysql等,它们各自的日志都只是单独记录了它们自身服务的运行状况。如果这些服务自身宕掉了或起不来了该去查看什么日志呢?此时就需要去看Linux的系统日志了。
在这里插入图片描述
在这里插入图片描述
Linux系统日志记录着Linux本身和运行在Linux系统上各种应用服务的事件和运行信息,它就是Linux系统的公用日志服务。

日志记录的内容包括:   1.历史事件: 时间,地点,人物,事件   2.日志级别: 事件的关键性程度,Loglevel 

rsyslog

rsyslog是CentOS6版本以后的系统管理服务,它提供了高性能,出色的安全性和模块化设计。尽管rsyslog最初是常规的syslogd,但已发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,rsyslog每秒可以将超过一百万的消息传递到本地目的地。即使在远程目的地和更精细的处理中,性能通常也被认为是“惊人的"。

官方网站:https://www.rsyslog.com/

rsyslog是linux的标配,linux系统一装好就有。
在这里插入图片描述

rsyslog特性   1.多线程   2.UDP,TCP,SSL,TLS,RELP   3.MySQL, PGSQL, Oracle实现日志存储   4.强大的过滤器,可实现过滤记录日志信息中任意部分   5.自定义输出格式   6.适用于企业级中继链 

rsyslog是单机日志,如果将来涉及到分布式集群等日志分析时,就需要使用到ELK架构了。

ELK: 是由Elasticsearch, Logstash, Kibana三个软件组成的非关系型分布式数据库。

ELK   1.基于apache软件基金会jakarta项目组的项目lucene;   2.Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能;   3.Logstash对日志进行收集、分析,过滤,并将其存储供以后使用Kibana可以提供的日志分析友好的Web界面。 

CentOS中rsyslog的详细信息

[root@centos8 ~]# rpm -qi rsyslog Name        : rsyslog Version     : 8.1911.0 Release     : 7.el8 Architecture: x86_64 Install Date: Sun 12 Nov 2023 10:29:14 AM CST Group       : System Environment/Daemons Size        : 2431186 License     : (GPLv3+ and ASL 2.0) Signature   : RSA/SHA256, Fri 11 Dec 2020 11:38:51 PM CST, Key ID 05b555b38483c65d Source RPM  : rsyslog-8.1911.0-7.el8.src.rpm Build Date  : Thu 10 Dec 2020 11:01:43 AM CST Build Host  : x86-02.mbox.centos.org Relocations : (not relocatable) Packager    : CentOS Buildsys  Vendor      : CentOS URL         : http://www.rsyslog.com/ Summary     : Enhanced system logging and kernel message trapping daemon Description : 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. 

ubuntu中rsyslog软件包的详细信息

root@ubuntu:~# dpkg -s rsyslog Package: rsyslog Status: install ok installed Priority: important Section: admin Installed-Size: 1655 Maintainer: Ubuntu Developers  Architecture: amd64 Version: 8.2001.0-1ubuntu1.3 Provides: linux-kernel-log-daemon, system-log-daemon Depends: libc6 (>= 2.27), libestr0 (>= 0.1.4), libfastjson4 (>= 0.99.7), libsystemd0 (>= 209), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4), adduser, ucf Pre-Depends: init-system-helpers (>= 1.54~) Recommends: logrotate Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-mongodb, rsyslog-doc, rsyslog-openssl | rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp, apparmor (>= 2.8.96~2541-0ubuntu4~) Conflicts: linux-kernel-log-daemon, system-log-daemon Conffiles:  /etc/apparmor.d/usr.sbin.rsyslogd 88fe4a6a37a5cbb88fcadf1e564874c2  /etc/init.d/rsyslog bd41a0654a192d74dfb9c551b06fa855  /etc/logcheck/ignore.d.server/rsyslog 80e9fc074b97751dd4de99855bb8d0e0  /etc/logrotate.d/rsyslog 8159203bf98416c898849057f585e31f  /etc/rsyslog.conf 8f03326e3d7284ef50ac6777ef8a4fb8 Description: reliable system and kernel logging daemon  Rsyslog is a multi-threaded implementation of syslogd (a system utility  providing support for message logging), with features that include:   * reliable syslog over TCP, SSL/TLS and RELP   * on-demand disk buffering   * email alerting   * writing to MySQL or PostgreSQL databases (via separate output plugins)   * permitted sender lists   * filtering on any part of the syslog message   * on-the-wire message compression   * fine-grained output format control   * failover to backup destinations   * enterprise-class encrypted syslog relaying  .  It is the default syslogd on Debian systems. Homepage: http://www.rsyslog.com/ Original-Maintainer: Michael Biebl  
root@ubuntu:~# dpkg -L rsyslog  /etc /etc/apparmor.d ... /etc/init.d /etc/init.d/rsyslog /etc/logcheck .... /etc/logrotate.d /etc/logrotate.d/rsyslog /etc/rsyslog.conf /etc/rsyslog.d /lib /lib/systemd /lib/systemd/system /lib/systemd/system/dmesg.service /lib/systemd/system/rsyslog.service /usr /usr/lib /usr/lib/rsyslog ....  /usr/sbin /usr/sbin/rsyslogd /usr/share /usr/share/doc /usr/share/doc/rsyslog .... /usr/share/man /usr/share/man/man1 .... /usr/share/rsyslog /usr/share/rsyslog/50-default.conf /var /var/spool /var/spool/rsyslog 

日志分类

facility:设施,从功能或程序上对日志进行归类

#内置分类 auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security(auth), user, uucp, syslog  #自定义的分类 local0-local7 

Priority 优先级别,从低到高排序

debug, info, notice, warn(warning), err(error), crit(critica1), alert, emerg(panic) 

参看帮助: man 3 syslog,man logger

[root@centos8 ~]#yum -y insta11 man-pages [root@centos8 ~]#man 3 syslog 

man syslog
在这里插入图片描述

rsyslog相关文件

在这里插入图片描述

vim /etc/rsyslog.conf

# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none                /var/log/messages  # The authpriv file has restricted access. authpriv.*                                              /var/log/secure  # Log all the mail messages in one place. mail.*                                                  -/var/log/maillog  # Log cron stuff cron.*                                                  /var/log/cron  # Everybody gets emergency messages *.emerg                                                 :omusrmsg:*  # Save news errors of level crit and higher in a special file. uucp,news.crit                                          /var/log/spooler  # Save boot messages also to boot.log local7.*                                                /var/log/boot.log 

在这里插入图片描述

/var/log/message

由配置文件,我们可以看出系统的主要日志是记录在“/var/log/messages”里的

*.info;mail.none;authpriv.none;cron.none                /var/log/messages 

当我开启httpd服务时,/var/log/message日志里也会有httpd服务的相关信息记录
在这里插入图片描述

重启失败分析

在这里插入图片描述
那我们就去45行找错误

vim +45 /etc/httpd/conf/httpd.conf 

在这里插入图片描述
在这里插入图片描述

/var/log/secure

/var/log/secure里记录着远程登录信息,又记录着用户授权信息auth和privilege
在这里插入图片描述

1.远程登录信息
在这里插入图片描述
2.用户授权信息
在这里插入图片描述
/var/log/secure是个需要经常关注的日志文件,它记录者远程登录的ip,是否有人一直在尝试登录密码。

自定义日志输出路径

1.修改sshd_config配置文件

SyslogFacility
在这里插入图片描述

2.修改rsyslog.conf

主配置文件中可包含子配置文件,于是我们单独自定义一个子配置文件sshd.config
在这里插入图片描述

[root@rocky ~]# vim /etc/rsyslog.d/sshd.config local6.*     /var/log/ssh.log 

3.重启服务

systemctl restart sshd rsyslog 

在这里插入图片描述
此时/var/log/secure文件中没有了具体远程登录的ip地址信息了
在这里插入图片描述

常见日志文件

/var/log/secure:  系统安全日志,文本格式,应周期性分析  /varlog/btmp: 当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看  /var/log/wtmp: 当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看  /var/log/lastlog: 每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看  /var/log/dmesg: CentOS7之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录,也可以通过专用命令dmesg查看,可持续记录硬件变化的情况  /var/log/boot.log 系统服务启动的相关信息,文本格式  /var/log/messages: 系统中大部分的信息  /var/log/anaconda:  anaconda的日志 

日志管理工具journalctl

CentOS7版本以后利用Systemd统一管理所有Unit的启动日志。这样可以只用journalctl—个命令就能查看所有日志(内核日志和应用日志)。

journalctl的配置文件

/etc/systemd/journald.conf 

journalctl的命令格式

journalctl [OPTIONS...] [MATCHES...] 

选项说明

-e, --pager-end     在分页工具内立即跳转到日志的尾部。此选项隐含了-n1000     以确保分页工具不必缓存太多的日志行。不过这个隐含的行数可以被明确设置的 -n选项覆盖。     注意,此选项仅可用于less(1)分页器。  -×, --catalog     在日志的输出中增加一些解释性的短文本,以帮助进一步说明日志的含义、问题的解决方案、支持论坛、开发文档、以及其他任   何内容。     并非所有日志都有这些额外的帮助文本,详见 Message catalog DeveloperDocumentation[5]文档。     注意,如果要将日志输出用于bug报告,请不要使用此选项。 

journalctl用法示例

#查看所有日志(默认情况下,只保存本次启动的日志)  journalctl  #查看内核日志(不显示应用日志)  journalctl -k  #查看系统本次启动的日志  journalctl -b  journalctl -b -0   #查看上一次启动的日志(需更改设置)  journalctl -b -1  #查看指定时间的日志  journalctl --since="2017-10-30 18:10: 30"  journa1ctl --since "20 min ago"  journalctl --since yesterday  journalctl --since "2017-01-10"--until "2017-01-11 03:00"  journalctl --since 09:00 --unti1 "1 hour ago"  #显示尾部的最新10行日志  journalctl -n  #显示尾部指定行数的日志  journalctl -n 20  #实时滚动显示最新日志  journalctl -f  #查看指定服务的日志  journalctl /usr/lib/systemd/systemd  #查看指定进程的日志  journalctl _PID=1  #查看某个路径的脚本的日志  journalctl /usr/bin/bash  #查看指定用户的日志  journalctl _UID=33 --since today  #查看某个unit 的日志  journalctl -u nginx.service  journalctl -u nginx.service --since today  #实时滚动显示某个unit 的最新日志  journalctl -u nginx.service -f  #合并显示多个unit 的日志  journa1ctl -u nginx.service -u php-fpm. service --since today  #查看指定优先级(及其以上级别)的日志,共有8级 0: emerg 1: alert 2: crit 3: err 4: warning 5: notice 6: info 7: debug  journalctl -p err -b  #日志默认分页输出,--no-pager 改为正常的标准输出  journalctl --no-pager  #日志管理journa1ct1 #以JSON格式(单行)输出  journalctl -b -u nginx.service -o json  #以 SON格式(多行)输出,可读性更好  journalctl -b -u nginx.service -o json-pretty  #显示日志占据的硬盘空间  journalct1 --disk-usage  #指定日志文件占据的最大空间  journalctl --vacuum-size=1G  #指定日志文件保存多久  journalctl --vacuum-time=1years 

日志分析实战

host无法解析

1.查看日志报错具体内容

在这里插入图片描述
当我修改了DNS为114后就解析正常了,因为我自己的DNS服务确实有问题
在这里插入图片描述
在这里插入图片描述

Httpd启动失败分析

1.80端口占用

在这里插入图片描述

2.查找端口占用进程

netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。

netstat -tunlp | grep 端口号  -t (tcp) 仅显示tcp相关选项  -u (udp)仅显示udp相关选项  -n 拒绝显示别名,能显示数字的全部转化为数字  -l 仅列出在Listen(监听)的服务状态  -p 显示建立相关链接的程序名 

在这里插入图片描述

3.关掉端口占用进程

关掉nginx服务
在这里插入图片描述

相关内容

热门资讯

正版授权!如何购买金花房卡雷霆... 正版授权!如何购买金花房卡雷霆大厅/房卡正版如何购买Sa9Ix苹果iPhone 17手机即将进入量产...
一分钟了解!游戏推荐牛牛房卡出... 您好!微信女娲大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(女娲大厅)大厅介绍:...
重大通报,微信金花房卡怎么弄神... 神盾大厅/新天道房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
一分钟了解!金花房卡出售海星大... 海星大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
科技实测!牛牛房卡制作链接熊猫... 您好!微信熊猫大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(熊猫大厅)大厅介绍:...
重大通报,游戏推荐牛牛房卡出售... 今 日消息,白虎大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
正版授权!金花房卡如何购买金牛... 金牛座厅/新西部房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
推荐一款!游戏推荐牛牛房卡出售... 微信游戏中心:九酷大厅/随意玩房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
重大通报,牛牛房卡制作链接新蜜... 新蜜瓜大厅/随意玩是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:3...
头条推荐!牛牛房卡官网兄弟大厅... 头条推荐!牛牛房卡官网兄弟大厅/新道游/房卡链接怎么弄的Sa9Ix苹果iPhone 17手机即将进入...
我来教你/牛牛房卡游戏平台加盟... 我来教你/牛牛房卡游戏平台加盟九九大厅/上游房卡多少钱一张九九大厅是一款非常受欢迎的游戏,咨询房/卡...
IA解析/游戏微信牛牛房卡宝马... 微信游戏中心:宝马系列/随意玩房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
科技实测!如何购买金花房卡鸿狐... 鸿狐大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
一分钟了解!金花微信链接市场价... 一分钟了解!金花微信链接市场价格表西兵互娱/随意玩/正规房卡找谁买Sa9Ix苹果iPhone 17手...
头条推荐!金花房卡专卖店麒麟大... 您好!微信麒麟大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(麒麟大厅)大厅介绍:...
安卓系统12什么样,全新功能与... 你知道吗?最近安卓系统又升级啦!这次可是直接跳到了12版本,听起来是不是很激动人心?别急,让我带你一...
头条推荐!牛牛房卡制作链接芙蓉... 微信游戏中心:芙蓉大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
IA解析/微信金花房卡怎么弄烛... 烛龙大厅/新道游是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:33...
重大通报,金花房间怎么创建新悠... 今 日消息,新悠悠房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单介...
IA解析/金花房卡专卖店星空乐... 微信游戏中心:星空乐娱房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...