一.系统日至默认分类
/var/log/cron ##系统例行性工作调度信息
/var/log/dmesg ##系统开机的时候内核检测过程所产生的各项信息
/var/log/lastlog ##系统上面所有的帐号最近一次登录系统时的相关信息
/var/log/messages ##系统服务及日志,包括服务的信息,报错等(重要)
/var/log/secure ##系统认证信息日志
/var/log/maillog ##系统邮件服务信息
/var/log/boot.log ##系统启动信息
二.日志文件所需相关服务与进程
systemctl status rsyslog.service 具体信息
1.syslogd:主要登陆系统与网络等服务的信息
syslog的配置文件 /etc/rsyslog.conf
vim /etc/rsyslog.conf ##主配置文件
服务.日志级别 /存放文件
服务类型##
auth与认证有关的机制,例如login,ssh,su等
authpriv是ssh,ftp等登陆信息的验证信息
daemon与各个服务有关的信息
kern内核产生信息的地方
lpr打印相关的信息
mail与邮件收发有关的信息
news与新闻组服务器有关的东西
rsyslog就是rsyslogd这个程序本身生成的信息
authpriv是ssh,ftp等登陆信息的验证信息
cron例行性工作调度等生成信息日志的地方
mark(syslog)-rsyslog服务内部的信息,时间标识
user用户程序产生的相关信息
uucp是unix to unix copy,unix主机之间相关的通讯
local 1~7自定义的日志设备
日志级别
debug有调试信息的,日志信息最多
info一些基本的信息说明
notice除了info外还需要注意的一些信息内容
warn(warning)警示的信息,可能有问题,但还不至于影响到某个服务运行的信息
err(error)一些重大的错误信息
crit(critical)比error还严重的错误信息,临界点的意思,这个错误已经非常严重了
alert警告,已经很有问题的等级
emerg(panic)“疼痛”等级,意指系统已经几乎要死机的状态
none什么都不记录
注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[.=!]
“.” 代表比后面高的等级都比记录下来(含该等级)
“.=” 代表所需要的等级就是后面接的等级,其他的不要
“.!” 代表不等于,即是除了该等级外的其他等级都记录
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
例题
message文件需记录所有的信息,但是不想记录cron,mail及news的信息
两种方法
(1).;news,cron,mail.none
(2).;news.none;cron.none;mail.none
rsyslog只要被编辑过就无法继续记录,需要
systemctl restart rsyslog.service
实例
记录到普通文件或设备文件::
. /var/log/file.log # 绝对路径
. /dev/pts/0
测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志发送给用户(需要在线才能收到)
. root
. root,kadefor,up01 # 使用,号分隔多个用户
. * # *号表示所有在线用户忽略,丢弃
local3.* ~ # 忽略所有local3类型的所有级别的日志执行脚本::
local3.* ^/tmp/a.sh # ^号后跟可执行脚本或程序的绝对路径
# 日志内容可以作为脚本的第一个参数.
# 可用来触发报警
2.日志同步
systemctl stop firewalld ##关闭两台主机的火墙
配置日志发送方
. @172.25.0.11 ##通过udp协议把日志发送到11主机,@udp,@@tcp
配置日志接受方
15 ModLoad imudp ##日志接收插件
16
ModLoad imudp ##日志接收插件 16
UDPServerRun 514 ##日志接收插件使用端口
netstat -anulpe | grep rsyslog
udp 0 0 0.0.0.0:514 0.0.0.0:* 0 122073 32654/rsyslogd
udp6 0 0 :::514 :::* 0 122074 32654/rsyslogd
-a ##all
-n ##不做解析
-t ##tcp
-u ##udp
-p ##进程名称
-e ##扩展信息
测试
/var/log/messages ##两边都作
logger test message ##日志发送方
tail -f /var/log/message ##日志接收方
3.日志采集格式
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
$ActionfileDefaultTemplate WESTOS
*.info;mail,authpriv,cron.none /var/log/messages;WESTOS
*.info;mail,authpriv,cron.none /var/log/messages
systemd-journald服务
服务提供一种改进的日志管理服务,可以收集来自内核、
启动过程、标准输出、系统日志及守护进程启动和运行期
间错误的消息,它将这些消息写入到一个结构化事件日志
中
journalctl命令
journalctl ##日志分析命令
journalctl -n 5 ##查看最近生成的5条日志
journalctl -p err ##查看系统报错
journalctl -f ##监控日志
journalctl –since –until ##查看某个时间段生成的日志
journalctl -o verbose ##查看日志能够使用的条件参数
##_SYSTEMD_UNIT=sshd.service服务名称
##_PID=1182进程pid
journalctl
_UID= //进程uid
_PID= //进程id
_GID= //进程gid
_HOSTNAME= //进程所在主机
_SYSTEMD_UNIT= //服务名称
_COMM= //命令名称
4.systemd-journald管理
默认情况下,systemd日志保存在/var/log/journal中,这意
味着系统重启时会被清除,那如果将日志保存
在/var/log/journal目录,这样做的优点是启动后就可以利用历
史数据,形成永久日志
实现步骤:
mkdir /var/log/journal
chowm root:systemd-journal /var/log/journal/
chmod 2755 /var/log/journal/
kill -1 systemd-journald
ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f
5.时间同步
1.服务端
yum install chrony -y ##安装服务
vim /etc/chrony.conf ##主配置文件
21 # Allow NTP client access from local network.
22 allow 172.25.0.0/24 ##允许谁去同步我的时间
27 # Serve time even if not synchronized to any NTP server.
28 local stratum 10 ##不去同步任何人的时间,时间同步服务器级别
systemctl restart chronyd
systemctl stop firewalld
2.客户端
vim /etc/chrony.conf
3 server 0.rhel.pool.ntp.org iburst
4 server 1.rhel.pool.ntp.org iburst====> server ntpserverip iburst
5 server 2.rhel.pool.ntp.org iburst====>
6 server 3.rhel.pool.ntp.org iburst
systemctl restart chronyd
测试:
[root@localhost ~]# chronyc sources -v
210 Number of sources = 1
.– Source mode ‘^’ = server, ‘=’ = peer, ‘#’ = local clock.
/ .- Source state ‘*’ = current synced, ‘+’ = combined , ‘-’ = not combined,
| / ‘?’ = unreachable, ‘x’ = time may be in error, ‘~’ = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
^* 172.25.0.11 10 6 377 41 +170us[ +201us] +/- 191us
6.timedatectl命令
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0|1 ##设定是否使用utc时间
2.klogd:主要登陆内核产生的各项信息
3.logrotate:主要进行日志文件的轮替功能
/etc/logrotate.conf 主要的参数文件
/etc/logrotate.d/ 目录里的所有文件都会被主动读入/etc/logrotate.conf当中来进行