Linux日志管理
原文链接:https://blog.csdn.net/wanghu66/article/details/83061119
一、日志来源
日至由程序产生,存储在内存条中
1、日志的查看
> /nar/log/messages ##清空目录内容
cat /var/log/messages ##查看日志
systemctl start rsyslog.service ##加载日志收集
/var/log/secure ##系统登陆日志
/var/log/cron ##定时任务日志
/var/log/maillog ##邮件日志
/var/log/boot.log ##系统启动日志
2、日志的类型分为:
auth ##pam产生的日志
authpriv ##ssh,ftp等登陆服务的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标示
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy,unix主机之间相关的通讯
local 1~7 #自定义的日志设备
3、日志级别分为:
debug ##有调式信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件信息
warning ##警告级别
err ##错误级别,组织某个功能或者模块不能正常工作的信息
crit ##严重级别,组织整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
注意 :日志级别从上到下,级别从底到高,记录的信息越来越少,--man 3 syslog
二、日志同步
发送端
1、修改发送方式 vim /etc/rsyslog.conf
发送方式有两种TCP和UDP,一个@符表示发送方式是UDP,两个@@符则表示发送TCP
2、重起服务 systemctl restart rsyslog.service
3、写日志 logger hello
接收端
1、关闭防火墙 systemctl stop firewalld
2、修改接收方式 vim /etc/rsyslog.conf
发送方式为UDP则修改15行和16行 显示行号:set nu
发送TCP则修改19行和20行
3、重起服务 systemctl restart rsyslog.service
4、查看结果
查看前先清空日志文件
> /var/log/messages
cat /var/log/messages
5、实时监控日志
tail -f /var/log/messages
三、日志采集格式
接收方
vim /etc/rsyslog.conf
行添加:$template WESTOS,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%
"
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
##换行
54行输出添加: /var/log/messages;WESTOS
然后重起服务 systemctl restart rsyslog.service
查看效果
四、时间同步服务
服务端:
1、修改参数 vim /etc/chron.conf
2、重起服务 systemctl restart chrony.service
3、date ##查看当前时间
修改部分 22行改服务地址 29行启用
客户端:
1、修改参数 ##vim /etc/chrony.conf
2、重起服务 ##systemctl restart chronyd.service
3、查看时间 ##date
4、查看同步来源 chronyc sources -V
改到同步的服务器地址
五、设置系统时间
timedatectl ##查看系统时区
timedatectl list-timezones ##查看全部时区
timedatectl set-timezone Asis/Shanghai ##设定时区为上海
timedatectl set-local-rtc 1 ##系统时间改为硬件时间 RTC->local time
timedatectl set-local-rtc o ##硬件时间同步约定时间 RTC->universal time
六、查看内存日志
journalctl ##查看全部
journalctl -n 3 ##查看最新3条
journalctl --since 19:00 --until 19:10:10 #查看起始时间到结束时间的日志可加日期
journalctl -p err ##报错日志
journalctl -o verbose ##日志详细内容
journalctl _PID=1245 _COMM=sshd ##查看包含这些参数的日志(在详细日志查看)
journalctl
systemctl status sshd ##打开进程
systemctl restart sshd.service ##重起进程
reboot ##重起以前的日志丢失(存在内存 断电清空)
七、让系统采集 journal信息
1、建立journal文件 ##mkdir /var/log/journal
2、添加组成员 ##chgrp systemd-journal /var/log/journal/ 组是自动创建的
3、设置任何文件都属于组 ##chmod g+s /var/log/journal
4、查看进程PID ##ps aux | grep systemd-journal
5、不断电重起进程 kill -1 352
默认情况下,systemd日志保存在/run/log/journal中,系统重启时会被清除
如果将日志保存在/var/log/journal目录,启动后就可以利用历史数据,形成永久日志
查看重起前的日志存放 bootctl ##查看硬件地址