一、虚拟机环境设定:
本次系统中日志管理有关的内容均在两台虚拟机中完成
设置客户端desktop虚拟机名称为client,ip地址为172.25.254.115
设置服务端server虚拟机名称为server,ip地址为172.25.254.215
具体设置方法如下:
1.配置网络:
nm-connection-editor
删除旧的,新建网络
Ethernet中Connection name填写为eth0,Device MAC address选xxxxxx(eth0)
IPv4 Settings中选Method为Manual, 点add,依次填写172.25.254.115/215 24 空 save close
2.更改虚拟机名称:
hostnamectl set-hostname client/server.example.com
3.删除两台虚拟机中原/root/.ssh/中保存的文件
rm -fr /root/.ssh/*
二、rsyslog
此服务是用来采集系统日志的,它不产生日志,只是起到采集作用
三、rsyslog的管理
1、各种日志的存储路径
/var/log/messages ##服务信息日志
/var/log/secure ##系统登陆日志
/var/log/cron ##定时任务日志
/var/log/maillog ##邮件日志
/var/log/boot.log ##系统启动日志
2、指定日志采集路径
vim /etc/rsyslog.conf
什么类型的日志.什么级别的日志 /var/log/file ##日志采集规则
3、日志类型分为:
auth ##pam产生的日志
authpriv ##ssh,ftp等登陆信息的验证信息
cron ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy,unix主机之间相关的通讯
local 1~7 ##自定义的日志设备
4、日志级别分为:
debug ##有调试信息的,日志信息最多
info ##一般信息的日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等严重信息
none ##什么都不记录
注意:从上到下,级别从低到高,记录的信息越来越少
四、日志的远程同步
1、在日志发送方:
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
vim /etc/rsyslog.conf
*.* @172.25.254.115 ##‘@’表示udp协议发送,‘@@’表示tcp协议发送
systemctl restart rsyslog
2、在日志接受方:
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
vim /etc/rsyslog.conf
15 $ModLoad imudp ##日志接收模块
16 $UDPServerRun 514 ##开启接收端口
systemctl restart rsyslog ##重启rsyslog服务
3、测试:
在发送方和接收方都清空日志文件
> /var/log/messages
在日志的发送方输入
logger test
cat /var/log/messages ##查看日志已经生成
在日志接收方查看
cat /var/log/messages ##查看日志是否传输成功
4、排错:
1)防火墙是否关闭
2)网络是否通畅
3)服务是否开启
4)接口是否开启
netstat -antlupe | grep rsyslog
5)服务是否重启
五、日志采集格式的设定
在接收方:
vim /etc/rsyslog.conf
systemctl restart rsyslog
$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
*.* /var/log/westos;LOGFMT
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%svslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
cat /var/log/westos
六、时间同步服务
服务名称: chronyd
在服务端:(谁把时间共享出去给别人看)
vim /etc/chrony.conf
22行 allow 172.25.254.0/24 ##允许哪些客户端来同步本机时间
29行 local stratum 10 ##本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd ##重启chronyd服务
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
在客户端:
vim /etc/chrony.conf
server 172.25.254.215 iburst ##本机立即同步215主机的时间
systemctl restart chronyd ##重启chronyd服务
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
测试:
在客户端:
chronyc sources -v
^ ##17.25.254.215的服务器
* ##current synced已完成同步
七、timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
timedatectl set-time ##设定当前时间
timedatectl set-time "2018-7-25 10:10:10" ##更改当前时间为2018年7月26日10点10分10秒
timedatectl set-timezone ##设定当前时区
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
timedatectl set-local-rtc 0|1 ##设定是否使用utc时间,0为关闭,1为开启,也可更改/etc/adjtime文件内容设定
timedatectl list-timezones ##查看支持的所有时区
八、journal
1.日志查看工具journalctl
journalctl -n 3 ##查看最近3条日志
journalctl -p err ##查看错误日志
journalctl -o verbose ##查看日志的详细参数
journalctl _COMM=sshd _PID=10171
journalctl --since ##查看从什么时间开始的日志
journalctl --until ##查看到什么时间为止的日志
journalctl --since "2018-7-26 16:40:00" --until "2018-7-26 17:00:00"
2.如何使用systemd-journald保存系统日志
默认systemd-journald时不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前的日志是无法查看的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal
946cb0e817ea4adb916183df8c4fc817
journalctl