简介:在运维行业中,系统日志尤为重要,运维工作人员可以通过查看日志查找出系统的出错时间。同步日志,方便工作人员检查每一台客户端主机的错误。
1.日志采集规则
日志格式
*.* 文件名称
日志类型.日志级别 日志存放文件
日志类型
auth 用户登录日至(pam产生日志)
authpriv 服务认证日志(sshd认证)
kern 内核日志
cron 定时任务日志
lpr 打印日志
mail 邮件日志
news 新闻
user 用户相关程序日志
local 1-7 用户自定义日志
日志级别
debug 系统调试信息
info 常规信息
warning 警告信息
err 报错(级别底,阻止了某个功能不能正常工作)
crit 报错(级别高,阻止了整个软件或整个系统不能正常工作)
alert 需要立即修改的信息
emerg 内核崩溃
none 不采集任何日志信息
查看本机日志
实例1.查看所有级别的日志
vim /etc/rsyslog.conf
systemctl restart rsyslog.service
cat /var/log/westos
日志在内存中,内容由程序本身决定
2.日志远程同步
对多台主机进行管理,需要进行日志同步。客户端主动将日志发送给服务端
@udp 直接发送,速度快
@@tcp 确认对方处于登录状态后再发送,稳定
*.* @172.25.254.102 ##通过udp协议把日志发送到102号主机
在日志发送方
vim /etc/rsyslog.conf
*.* @172.25.254.102 #日志接受方地址
systemctl restart rsyslog.service
在日志接受方
vim /etc/rsyslog.conf
15 $ModLoad imudp
16 $UDPServerRun 514
systemctl restart rsyslog.service
systemctl stop firewalld
systemctl disable firewalld #将防火墙持续关闭
systemctl restart rsyslog.service
接收端 > /var/log/messages
发送端产生日志 systemctl restart sshd.service
接收端 cat /var/log/messages
3.定义日志采集格式
vim /etc/rsyslog.conf
$template 格式名称,“日志采集格式”
*.info;mail.none;authpriv.none;cron.none /var/log/messages;格式名称
$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timegenerated% #日志生成时间
%FROMHOST-IP% #日志来源主机的IP
%syslogtag% #日志生成程序
%msg% #日志内容
\n #换行
5.journal日志分析工具
journalctl ##日志查看工具,直接查看内存中的日志
journalctl -n 3
journalctl -p err
journalctl -f 用户ctrl+c结束监控
journalctl --since --until
journalctl -o verbose 查看日志详细参数 _PID=651 journalctl_pid=651
对systemd-journald管理
默认此程序只负责对日志进行查看而不对日志进行保存和采集
那么关机后再开机,对日志进行查看,只能查看到开机后的日志,系统之前的日志因为是保存在内存中的,所以关机后就被清空了,那么在开机后使用journalctl看不到之前的日志
如何让systemd-journald保存到硬盘中
mkdir /var/log/journal
chown root.systemd-journal /var/log/journal/
chmod 2755 /var/log/journal/
killall -1 systemd-journald
journalctl -n
date
reboot
ssh root@172.25.254.102
journalctl -n
6.同步时间
1.(node1) 在服务端共享时间
vim /etc/chrony.conf
29 local stratum 10 #开启时间共享功能并设定共享级别
#这个参数开启后本机不去同步别人的时间到本机
22 allow 172.25.254.0/24 #允许客户端来访问本机共享时间
2.(node2)客户端
vim /etc/chrony.conf
2 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
3 server 172.25.254.102 iburst (修改行)
4
5 # Ignore stratum in source selection.
3.两台主机同时 systemctl restart chronyd.service
4.node2 chronyc sources -v
当显示^*的时候说明同步时间成功
7.timedatectl命令
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区