linux中日志管理的示例分析

100次阅读
没有评论

共计 4018 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章主要介绍了 linux 中日志管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

1. 什么是日志
电脑的日志相当于我们平常写的日记,日志里面记录的是服务器的状态。
原因:
日志的存在可以使管理员提前知道服务器的各种状态,如果服务器出现什么问题可以提前处理。
那么问题来了,公司的服务器很多,难道管理员一个一个查看服务器的状态吗?实际上并不是这样的,为了提高工作效率,我们可以把所有服务器的日志集中在一起管理,放在一台主机上管理,将其他服务器的日志都传到这台管理日志的主机上,这样就方便多了。
注意:系统启动自动打开的 shell 会一直产生日志
2. 搭建实验环境
key1: 先在真机里面开启两台虚拟机,并且配置好网络
key2: 将真机作为日志的接收方,将 desktop 虚拟机作为日志的发送方
(备注:这里真机的 ip 为 172.25.254.39   虚拟机 ip 为 172.25.254.239)
3. 系统日志管理基本概念
1.rsyslog:此服务是用来采集系统日志的,它自己不产生日志,只是起到采集日志的作用
2.rsyslog 的管理:
/var/log/messages 服务信息日志
/var/log/secure 系统登陆日志
/var/log/cron 定时任务日志
/var/log/maillog 邮件日志
/var/log/boot.log 系统启动日志
注: 以上这些路径是用来指定日志的采集路径
3. 日志采集规则在 /var/log/file(文件名)中设置
注:心里要清楚什么类型的日志,什么级别的日志
日志类型
auth pam     产生的日志
authpriv      ssh,ftp 等登陆信息的验证信息
cron         时间任务相关
kern           内核
lpr             打印
mail           邮件
mark       (syslog)-rsyslog 服务内部的信息,时间标示
news       新闻组
user         用户程序产生的相关信息
uucp       unix to unix copy ,unix 主机之间相关的通讯
local 1~7 自定义的日志设备
linux 中日志管理的示例分析

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

注:从上到下,级别从低到高,记录的信息越来越少, 详细的可以查看手册:man 3 syslog

4. 日志的定向采集
将什么类型、什么级别的日志放在哪个路径下,这就叫日志的定向采集
这样做也有利于日志的管理和查看,因此应该设计采集规则
(1)搭建实验环境:开启虚拟机,配置 ip
(2)操作:打开设定日志采集规则的文件 vim /etc/rsyslog.conf
(3) 在日志采集文件里面设置将任意类型、任何级别的日志都存放在 /var/log/westos 下, 如果 westos 文件不存在,会自动生成该文件 命令格式为. /var/log/westos
(4) 重启系统  systemctl  restart rsyslog
linux 中日志管理的示例分析
(5)测试:1 生成日志 systemctl restart sshd
2 查看日志 cat /var/log/westos
linux 中日志管理的示例分析

5. 日志的远程同步
一台服务器管理多台服务器
在日志发送方设置:
1. 在虚拟机 desktop 中先 vim /etc/rsyslog.conf
写入  .          @172.25.254.39(接受方 ip 及真机的 ip)
linux 中日志管理的示例分析
2. 退出文件后,再 shell 里面输入 systemctl  restart rsyslog,重启系统
在日志接受方设置:
1. 在主机 server 主机中先 vim /etc/rsyslog.conf
2. 将 /etc/rsyslog.conf 这个文件中的 15 行和 16 行的注释去掉
15 $ModLoad imudp 日志接受模块
16 $UDPServerRun 514 开启接收模块
linux 中日志管理的示例分析
3. 重启系统 systemctl restart rsyslog
4. 关闭火墙  syatemctl  stop firewalled
linux 中日志管理的示例分析

测试:
(1)在发送方和接受方清空日志文件   命令: 
/var/log/messages
(2) 在日志发送方的 shell 当中输入
logger 内容
分别  cat  /var/log/messages   看否有文件已经生成
注:在查看日志时,同时也生成了很多的 /etc/rc.d/rc.local 文件,为了在实现日志同步时便于观看应该在发送方主机清空这个文件
linux 中日志管理的示例分析
重新启动:reboot
(3)在日志接收方:
重启系统:systemctl restart rsyslog
关闭火墙:systemctl stop firewalld
linux 中日志管理的示例分析
(4)在日志接收方发送发都清空历史日志文件
/var/log/messages,重新建立日志,并且查看
(5)在日志接收方查看远程同步的日志
用该命令在接收方可以查看接口配置是否正确 netstat -antlupe | grep rsyslog
linux 中日志管理的示例分析
日志的采集格式

linux 中日志管理的示例分析
linux 中日志管理的示例分析

一般情况下我们采集到的日志格式如下
 cat /var/log/messages  日志是默认的格式
 1. 在接受日志方(server 服务端)进行日志采集格式的设置
 1. 先  vim /etc/rsyslog.conf
 2. 然后在 rules(规则下)设置日志采集规则
 3.$template JJ(任意写),“%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”  显示日志的生成时间  %timegenerated%
  显示发送发的 ip %FROMHOST-IP%
  日志内容  %msg%
  日志记录目标  %syslogtag%
  换行 \n
  在下面写  *.* /var/log/messages;JJ # 在指定的日志中采用 JJ 格式
 4. 重启服务
 5. 在日志接收方查看日志格式
 6. 想要文件的默认格式都是这样
**7. 设置系统时间 **

timedatectl                                       管理系统时间
linux 中日志管理的示例分析
timedatectl status                             显示当前时间信息
timedatectl set-time                         设定当前时间
timedatectl set-timezone                 设定当前时区
linux 中日志管理的示例分析
timedatectl set-local-rtc 0 或 1           设定是否使用 utc 时间
linux 中日志管理的示例分析
timedatectl list-timezones               查看支持的所有时区
linux 中日志管理的示例分析
3 个 local time
Universal time                                 国际时间
RTC       time                                   硬件时间  
Timezone                                       时区

8. 时间同步服务
服务名称:chronyd
步骤:在服务端:
1.vim /etc/chrony.conf
1.allow 172.25.254.0/24   允许那些客户端来同步本机时间
2.local stratum 10 本机不同步任何主机的时间,本机作为时间源
linux 中日志管理的示例分析
3.systemctl restart chronyd

在客户端
1.vim /etc/chrony.conf
1.server 172.25.254.239(服务端的 ip)iburst(删除其他的)   本机立即同步 211 主机的时间
linux 中日志管理的示例分析
2.systemctl restart chronyd
测试
在客户端输入:chronyc sources -v
linux 中日志管理的示例分析
出现 ip 就说明好了

在客户端和服务端均输入 date 看是否时间同步

9. 新的日志采集方式 journal
1. 原因:
1.rsyslog 采集日志,从磁盘读取,速度慢,reboot 重启系统之后系统之前的日志会被清除
2.journal 不采集日志,直接从内核存看日志,速度更快,reboot 重启系统之后系统之前的日志会被清除
2.journalctl 日志查看工具
journalctl -n 3                     查看最近 3 条日志
journalctl -p err                 查看错误日志
journalctl -o verbose         查看日志的详细参数
journalctl –since               查看从什么时间开始的日志
journalctl –until                 查看到什么时间为止的日志
linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析
3. 在硬盘创建一个区域,专门存放 journal 采集的日志(这样 reboot 之后日志还会存在)
1.mkdir /var/log/journal
2.chgrp systemd-journal /var/log/journal/
(系统初始化程序控制这个日志,改这个文件的所有组 systemd-journal, 这样系统就能识别这个文件了,把这个文件放入这个组,让组控制这个文件)
3.chmod g+s /var/log/journal/(改这个文件的权限,使这个文件的 systemd-journal 组都能查看这个日志)
linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析linux 中日志管理的示例分析
4.ls -ld /var/log/journal/                   查看文件属性
5.ps aux | grep journal                     查看进程
6.killall -1 /usr/lib/systemd/systemd-journald(进程重新加载配置,不会关闭进程)
7.date                                             查看系统当前时间
8.ls /var/log/journal/
9.bootctl                                             重启
linux 中日志管理的示例分析

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“linux 中日志管理的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4018字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)