在Linux 7 中系统消息由systemd-journald
和rsyslog
负责。
系统日志消息由systemd-jourmald
转发到rsyslog
,而rsyslog
经过处理,将日志文件写在/var/log
下面。
日志文件 | 用途 |
---|---|
var/log/messages | 大多数系统日志记录 |
var/log/secure | 安全和身份认证相关的消息和错误的日志文件 |
/var/log/maillog | 发送到系统或从系统发出的电子邮件的活动 |
/var/log/cron | 与定期执行的相关文件 |
/var/log/boot.log | 自检过程 |
rsyslog
的配置文件在/etc/rsyslog.conf
中
日志文件由rsyslog
负责维护,包括许多的应用的日志文件,有类似Apache Web日志也存在/var/log
的对应的文件中。
#### RULES ####
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
#*.* @xx.xx.xx.xx
//表示将本机日志存储到指定的服务器上
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg :omusrmsg:*
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
目的是可以防止非法入侵抹除日志文件
1. 在要备份日志的机器上
[student@localhost 桌面]$ vim /etc/rsyslog.conf
2. 在配置文件中添加配置传送方向
#*.* @xx.xx.xx.xx
3. 重启服务
[student@localhost 桌面]$ systemctl restart rsyslog.service
4. 在备份文件存储的机器上
[root@desktop ~]# vim /etc/rsyslog.conf
5. 修改文件,开启514端口的TCP,和UDP服务
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
6. 重启服务
[root@desktop ~]# systemctl restart rsyslog.service
7. 关闭防护墙
[root@desktop ~]# systemctl stop firewalld.service
logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录:
1)配置文件介绍
Linux系统默认安装logrotate工具,它默认的配置文件在:
/etc/logrotate.conf
/etc/logrotate.d/
tail
监控日志文件实时监控文件后10行的内容
[root@desktop ~]# tail -f /var/log/messages
logger
发送日志消息[root@desktop ~]# logger "456"
journalctl
查找事件要以root身分现实完整系统日志
[root@desktop ~]# journalctl
[root@desktop ~]# journalctl -n 5
#显示最后五行的日志
[root@desktop ~]# journalctl -p err
#仅列出优先级在err及以上的日志
[root@desktop ~]# journalctl -f
#动态查看日志后10行
[root@desktop ~]# journalctl --since today
#显示当天记录
[root@desktop ~]# journalctl --since "2017-7-29 00:00:00" --until "2017-7-30 00:00:00"
#查询该时段的日志
[root@desktop ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service
#仅指定一个匹配条件, 显示所有符合该匹配条件的日志
[root@desktop ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
#指定了两个不同字段的匹配条件, 显示同时满足两个匹配条件的日志
[root@desktop ~]# journalctl
-- Logs begin at 日 2017-03-19 00:06:49 CST, end at 一 2017-07-31 22:06:45 CST.
3月 19 07:58:21 debug010000002015.local.alipay.net systemd-journal[91]: Runtime
3月 19 07:58:21 debug010000002015.local.alipay.net systemd-journal[91]: Runtime
详细journalctl命令
配置永久systemd文件
[root@desktop ~]# mkdir /var/log/journal1
[root@desktop log]# chown root:systemd-journal /var/log/journal1
[root@desktop log]# chmod 2755 /var/log/journal1
[root@desktop journal1]# killall -USR1 systemd-journald
关于当前关于时间的系统设置
[student@localhost 桌面]$ datetiamctl
bash: datetiamctl: 未找到命令...
[student@localhost 桌面]$ timedatectl
Local time: 一 2017-07-31 22:41:55 CST
Universal time: 一 2017-07-31 14:41:55 UTC
Timezone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[student@localhost 桌面]$ timedatectl list-timezones
# 显示系统支持的时区
[student@localhost 桌面]$ timedatectl set-timezones Africa/Abidjan
# 设定时区
[student@localhost 桌面]$ timedatectl set-time 9:00:00
# 设定时间
[student@localhost 桌面]$ timedatectl set-ntp true
# 通过ntp自动获取时间
chrondy服务通常与配置的NTP服务器同步,使通常不精确的本地时钟(RTC)保持准确
其配置文件在/etc/chrony.conf
NTP服务,
更改本地的时间源
国内常用NTP及其地址
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
# server 210.72.145.44 iburst
更改时间源后,重启服务
[student@localhost 桌面]$ systemctl restart chronyd.service
# 详细输出
[root@localhost ~]# chronyc sources -v
210 Number of sources = 4
.-- 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
===============================================================================
^* news.neu.edu.cn 2 6 77 10 -13ms[ -21ms] +/- 60ms
^- biisoni.miuku.net 2 6 77 9 -6064us[-6064us] +/- 179ms
^- 61-216-153-105.HINET-IP.h 3 6 137 2 +5213us[+5213us] +/- 116ms
^+ 59.46.44.253 2 6 77 10 +52ms[ +52ms] +/- 117ms