什么类型的日志;什么级别的日志 /var/log/file ##日志采集规则
进程和操作系统内核需要能够为发生的事件记录日志,这些日志可用于系统审核和问题的故障排除,一般这些日志永久存储 /var/log 目录中
- /var/log/messages 大多数系统日志信息记录在此处
- /var/log/secure 安全和身份认证相关的信息和错误的日志文件
- /var/log/maillog 与邮件服务器相关的日志文件
- /var/log/cron 与定时任务相关的日志文件
- /var/log/boot.log 与系统启动有关的日志文件
日志类型分类为:
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 ##什么都不记录
systemd-journald 服务
服务提供一种改进的日志管理服务,可以收集来自内核、启动过程、标准输出、系统日志及守护进程启动和运行期间错误的消息,它将这些消息写入到一个结构化事件日志中
journalctl 命令
journalctl 日志分析命令
journalctl -n 5 查看最近生成的5条日志
journalctl -p err 查看系统报错
journalctl --since --until 查看某个时间段生成的日志
journalctl -o verbose 查看日志能够使用的条件参数
journalctl
_UID 进程uid
_PID 进程id
_GID 进程gid
_HOSTNAME 进程所在主机
_SYSTEMD_UNIT 服务名称
_COMM 命令名称
rsyslog 服务
主配置文件为 /etc/rsyslog.conf ,指定日志保存位置修改配置文件,修改后重启 rsyslog 服务生效
vim /etc/rsyslog.conf 修改配置文件
重启rsyslog服务
可以利用 tail -f 日志文件名 输出文件的后10行,并实时更新
##远程日志同步##
两台主机防火墙关闭,修改完成重起tsyslog服务
日志发送方
vim /etc/rsyslog.conf
*.* @日志接受方ip(man rsyslog.conf “@”表示udp协议发送 “@@”表示tcp协议发送)
- 日志接收方
vim /etc/rsylog.conf
$ModLoad imudp ##加载日志接收功能模块
$UDPServerRun 514 ##加载日志接收接口
-
测试
客户端
服务端
分析系统日志条目
记录该日志的时间戳
发送该日志消息的主机
记录发送该日志消息的进程或程序
发送的实际消息
## 日志采集格式## vim /etc/rsyslog.conf
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
systemd-journald
默认情况下,systemd 日志保存在 /run/log/journal 中,这意味这系统重启时会被清除,那如果将日志保存在 /var/log/journal 目录,这样做的优点是启动后就可以利用历史数据,形成永久日志
实现步骤
mkdir /var/log/journal
chown root.systemd-journal /var/log/journal/
chmod 2755 /var/log/journal
kill -1 systemd-journald
chronyd 服务
确定时间源地址(172.25.254.254)
确定客户主机使用的时间同步服务
在 chronyd.service 服务中加载时间源地址
vim /etc/chrony.conf
server 172.25.254.254 iburst
systemctl restart chronyd.service
查看是否同步成功 chronyc sources -v
timedatectl
查看当前时区
timezonesl list-timezones
设置当前时区
timedatectl set-timezone Africe/Conakry
设置当前系统时间
timedatectl set-time 11:11:11