这篇文章主要介绍了linux中日志管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
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 自定义的日志设备
**日志级别** 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(5)测试:1>生成日志 systemctl restart sshd2>查看日志 cat /var/log/westos
5.日志的远程同步一台服务器管理多台服务器在日志发送方设置:1.在虚拟机 desktop 中先 vim /etc/rsyslog.conf写入 . @172.25.254.39(接受方ip 及真机的ip)2.退出文件后,再shell里面输入systemctl restart rsyslog ,重启系统在日志接受方设置:1.在主机server 主机中先 vim /etc/rsyslog.conf2.将/etc/rsyslog.conf 这个文件中的15行和16行的注释去掉15 $ModLoad imudp 日志接受模块16 $UDPServerRun 514 开启接收模块3.重启系统 systemctl restart rsyslog4.关闭火墙 syatemctl stop firewalled
测试:(1)在发送方和接受方清空日志文件 命令: /var/log/messages(2) 在日志发送方的shell当中输入logger 内容分别 cat /var/log/messages 看否有文件已经生成注:在查看日志时,同时也生成了很多的/etc/rc.d/rc.local文件,为了在实现日志同步时便于观看应该在发送方主机清空这个文件重新启动:reboot(3)在日志接收方:重启系统:systemctl restart rsyslog关闭火墙: systemctl stop firewalld(4)在日志接收方发送发都清空历史日志文件/var/log/messages ,重新建立日志,并且查看(5)在日志接收方查看远程同步的日志用该命令在接收方可以查看接口配置是否正确 netstat -antlupe | grep rsyslog日志的采集格式
一般情况下我们采集到的日志格式如下 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 管理系统时间timedatectl status 显示当前时间信息timedatectl set-time 设定当前时间timedatectl set-timezone 设定当前时区timedatectl set-local-rtc 0或1 设定是否使用utc时间timedatectl list-timezones 查看支持的所有时区3个local timeUniversal time 国际时间RTC time 硬件时间 Timezone 时区
8.时间同步服务服务名称:chronyd步骤: 在服务端:1.vim /etc/chrony.conf1.allow 172.25.254.0/24 允许那些客户端来同步本机时间2.local stratum 10 本机不同步任何主机的时间,本机作为时间源3.systemctl restart chronyd
在客户端1.vim /etc/chrony.conf1.server 172.25.254.239(服务端的ip) iburst(删除其他的) 本机立即同步211主机的时间2.systemctl restart chronyd测试在客户端输入:chronyc sources -v出现 ip 就说明好了
在客户端和服务端均输入 date看是否时间同步
9.新的日志采集方式journal1.原因:1.rsyslog采集日志,从磁盘读取,速度慢,reboot 重启系统之后系统之前的日志会被清除2.journal 不采集日志,直接从内核存看日志 ,速度更快,reboot 重启系统之后系统之前的日志会被清除2.journalctl日志查看工具journalctl -n 3 查看最近3条日志journalctl -p err 查看错误日志journalctl -o verbose 查看日志的详细参数journalctl --since 查看从什么时间开始的日志journalctl --until 查看到什么时间为止的日志3.在硬盘创建一个区域,专门存放journal采集的日志(这样reboot之后日志还会存在)1.mkdir /var/log/journal2.chgrp systemd-journal /var/log/journal/(系统初始化程序控制这个日志,改这个文件的所有组systemd-journal,这样系统就能识别这个文件了,把这个文件放入这个组,让组控制这个文件)3.chmod g+s /var/log/journal/(改这个文件的权限,使这个文件的systemd-journal组都能查看这个日志)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中日志管理的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!