系统日志管理
rsyslog服务
-
定义:此服务用来采集日志不生产日志
-
rsyslog服务管理
-
/var/log/messages 服务信息日志
-
/var/log/secure 系统登陆日志
-
/var/log/cron 定时任务日志
-
/var/log/maillog 邮件日志
-
/var/log/boot.log 系统启动日志
-
1)指定日志路径和日志采集规则
- 什么类型的日志 ==.==什么级别的日志 /var/log/上面的文件名(也可以自己定)
-
2)日志类型分为
- auth (pam产生的日志
- authpriv (ssh ftp产生的日志
- crn (时间任务相关
- kern (内核
- lpr (打印
- mail (邮件
- mark(syslog)-rsyslog (任务内部的信息时间标识
- news (新闻组
- user (用户程序产生的相关信息
- local 1-7 (自定义程序
-
3)日志级别
- debug ( 有调试信息的日志信息最多
- info (一般信息日志最常用
- notice (具有重要信息的
- warning (警告级别
- err (错误级别 阻止某个功能或模块不能正常工作的信息
- crit (严重级别阻止整个系统或整个软件正常工作的信息
- alert (需要立刻修改的信息系
- energ (内核崩溃等严重信息
- none (什么都不记录
重上到下的级别由低到高记录的信息也越来越少
eg:把系统中的所有日志采集到的 /war/og/westos中
vim /etc/rsyslog.conf
*. * /var/log/westos 设置所有日志采集到/var/log/westos
systemctl restart rsyslog 重启服务
systemctl restart sshd 重启服务产生日志
cat /var/log/westos 查看日志
- 日志同步
日志同步可以有两种协议
一种是udp比较快但不是很安全
一种是tcp不是很快但是很安全
- 日志发送方:
- vim /etc/rsyslog.conf
*. * @ 要发送到的ip 设置所有日志采集到指定的ip
systemctl restart rsyslog 重启服务
- vim /etc/rsyslog.conf
- 日志的接受方
- vim /etc/rsyslog.conf
- 进入后在第15、16行将他们的注释去掉
- 15行 $ModLoad imudp
- 16行 $UDPServerRum 514
- systemctl restart rsyslog 重启服务
- systemctl stop firewalld 关闭 防火墙
- systemctl disable firewalld 设定防火墙开启不自启
- 在接收端 查看cat /var/log/messages
cat /var/log/messages
- 日志采集格式的设定
- vim /etc/rsyslog.conf
- 在#####RILES#######下
$template 格式名称,“日志采集格式”
$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
westos 格式名称(可以任意修改)
%timegenerated% 日志生成时间
%FROMHOST-IP% 日志来源主机的IP
%syslogtag% 日志生成的程序
%msg% 日志内容
\n 换行
格式定义完成后需使用
*. * /var/log/messages;westos (以格式名称为westos的格式采集)
systemctl restart rsyslog.conf 重启服务
cat /var/log/messages
- 日志查看工具
journalctl 日志查看工具,直接查看内存中的日志(关机重启后只能看到开机后的日志,系统之前的日志没有)
journalctl -n 3 查看最新的3条日志
journalctl -p err 查看报错日志
journalctl -f 实时监控日志,用ctrl+c结束监控
journalctl --since 01:23 --until 01:50 查看从什么时候(01:23)开始到什么时候(01:50)结束的日志
journalctl -o verbose 查看日志详细参数
journalctl _PID**** 查看pid为****的日志
默认此程序只负责对日志进行查看而不能对日志进程进行保存和采集
那么关机后在开机,对日志进行查看,只能查看到开机后的日志,系统之前的日志因为是保存在内存中的,所以关机后就被晴空,那么在开机后用journalctl看不到的,如何systemd-journald保存日志到硬盘中
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald 刷新服务systemd-journald
reboot 重启之后查看
journalctl 查看日志