此服务是用来采集系统日志的,他不产生日志,只起到采集作用
##/var/log目录下文件含义
名称 | 方法 |
---|---|
服务信息日志 | /var/log/message |
系统登陆日志 | /var/log/secure |
定时任务日志 | /var/log/cron |
邮件日志 | /var/log/maillog |
系统启动日志 | /var/log/boot.log |
##日志采集规则
指定日志采集路径————/var/log/file(什么类型,什么级别的日志)
##日志的类型
名称 | 说明 |
---|---|
auth | pam产生的日志 |
authpriv | ssh,ftp等登录信息的验证信息 |
cron | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy,unix主机之间相关的通讯 |
local 1-7 | 自定义日志设备 |
##日志的级别分为
名称 | 说明 |
---|---|
debug | 有调式信息的,日志信息的最多 |
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
errr | 错误级别,阻止某个功能或模块不能正常工作的信息 |
crit | 严重级别,阻止整个系统或整个软件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 内核崩溃等严重信息 |
从上到下,级别从底到高,记录的信息越来越少
详细可查手册:man 3 rsyslog
##把系统中所有的日志采集到/var/logwestos中
修改/etc/rsyslog.conf中的文件
在rule下填写*.* 指向/var/log/westos 如下图所示
[root@westos_client Desktop]# vim /etc/rsyslog.conf
##修改后重启采集日志(rsyslog)服务
[root@westos_client Desktop]# systemctl restart rsyslog.service
##使系统生成新的日志
[root@westos_client Desktop]# systemctl restart sshd.service
##查看/var/log/westos中的sshd的日志
[root@westos_client Desktop]# cat /var/log/westos
Jul 20 22:18:16 westos_client rsyslogd: [origin software=“rsyslogd” swVersion=“7.4.7” x-pid=“2966” x-info=“http://www.rsyslog.com”] exiting on signal 15.
Jul 20 22:18:16 westos_client rsyslogd: [origin software=“rsyslogd” swVersion=“7.4.7” x-pid=“3073” x-info=“http://www.rsyslog.com”] start
Jul 20 22:18:16 westos_client rsyslogd-2307: warning: ~ action is deprecated, consider using the ‘stop’ statement instead [try http://www.rsyslog.com/e/2307 ]
Jul 20 22:18:16 westos_client systemd: Stopping System Logging Service…
Jul 20 22:18:16 westos_client systemd: Starting System Logging Service…
Jul 20 22:18:16 westos_client systemd: Started System Logging Service.
Jul 20 22:18:20 westos_client systemd: Stopping OpenSSH server daemon…
Jul 20 22:18:20 westos_client sshd[2987]: Received signal 15; terminating.
Jul 20 22:18:20 westos_client systemd: Starting OpenSSH server daemon…
Jul 20 22:18:20 westos_client systemd: Started OpenSSH server daemon.
Jul 20 22:18:20 westos_client sshd[3084]: Server listening on 0.0.0.0 port 22.
Jul 20 22:18:20 westos_client sshd[3084]: Server listening on :: port 22.
在真机中开启两台虚拟机,其中一台命名为westos_cilent,用来做测试端(发送方),ip地址为172.25.254.108;另一台命名为westos_server,ip地址为172.25.254.208,用来作服务端(接受方)
##日志发送方,在该文件中写入*.* @172.25.254.208,其中@表示udp协议发送,@@表示tcp协议发送
[root@westos_client Desktop]# vim /etc/rsyslog.conf
##然后重启服务
[root@westos_client Desktop]# systemctl restart rsyslog.server
##日志接受方,在该文件中
15行 $ModLoad imudp ##日志接受模块
16行 $UDPServerRun 514 ##开启接受端口
[root@westos_client Desktop]# vim /etc/rsyslog.conf
##然后重启服务
[root@westos_client Desktop]# systemctl restart rsyslog.server
##关闭火墙
[root@westos_client Desktop]# systemctl restart rsyslog systemctl stop firewalld
##进行测试:
在两端都清空日志文件
[root@westos_client Desktop]# > /var/log/messages
[root@westos_server Desktop]# > /var/log/messages
在发送端生成日志
[root@westos_client Desktop]# logger test
在接收端和发送端查看
[root@westos_client Desktop]# cat /var/log/messages
[root@westos_server Desktop]# cat /var/log/messages
##两边内容一样,同步成功
发送方(westos_cilent)主机截图
接收方(westos_server)主机截图
systemctl disable firewalld ##可以设定火墙开机关闭
##日志采集格式设定
在vim /etc/rsyslog.conf中可以添加修改内容进行日志采集格式设定
例如:$template NAME,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg% \n"
名称 | 说明 |
---|---|
%timegenerated% | 显示日志时间 |
%timegenerated% | 显示日志时间 |
%FROMHOST-IP% | 显示主机ip |
%syslogtag% | 显示日志记录目标 |
%msg% | 显示日志内容 |
\n | \n |
##在指定日志中采用NAME格式 ————. /var/log/westos;NAME
##修改系统默认日志格式为NAME
A c t i o n F i l e D e f a u l t T e m p l a t e R S Y S L O G T r a d i t i o n a l F i l e F o r m a t 修 改 为 为 ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat修改为为 ActionFileDefaultTemplateRSYSLOGTraditionalFileFormat修改为为ActionFileDefaultTemplate NAME
重启系统后在文件中的更改才能生效
修改/etc/chrony.conf中的数据可以进行时间同步的相关内容
在服务端(westos_server):使用 vim /etc/chrony.conf
在文件22行左右 ##允许这些客户端来同步本机时间——allow 172.25.254.108/24
在文件29行左右 ##本机不同步任何主机时间,本机作为主机 —— local stratum 10
然后重启服务:systemctl restart chronyd
>在客户端(westos_client): vim /etc/chrony.conf
##本机立即同步208主机时间 ——server 172.25.254.208 iburst
>然后重启服务:systemctl restart chronyd
测试:在客户端输入chronyc source -v
出现以下内容,即为测试成功
名称 | 方法 |
---|---|
显示当前时间信息 | timedatecal status |
设定当前时间 | timedatecal set-time |
设定当前时区 | timedatecal set-timezomne |
设定是否使用utc时间 | set-local-rtc 0 |
查看支持的所有时区 | list-timezones |
##显示当前时间信息
[root@westos_client ~]# timedatectl status
Local time: Sun 2019-07-21 09:31:21 EDT
Universal time: Sun 2019-07-21 13:31:21 UTC
RTC time: Sun 2019-07-21 13:31:29
Timezone: America/New_York (EDT, -0400)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2019-03-10 01:59:59 EST
Sun 2019-03-10 03:00:00 EDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2019-11-03 01:59:59 EDT
Sun 2019-11-03 01:00:00 EST
##设定当前时间
[root@westos_client ~]# timedatectl set-time 13:00
设定当前时区
[root@westos_client ~]# timedatectl set-timezone Asia/Shanghai
[root@westos_client ~]# timedatectl
Local time: Mon 2019-07-22 01:00:14 CST
Universal time: Sun 2019-07-21 17:00:14 UTC
RTC time: Sun 2019-07-21 17:00:16
Timezone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
名称 | 方法 |
---|---|
查看最近三条日志 | journalctl -n 3 |
查看错误日志 | journalctl -p err |
查看日志的详细参数 | journalctl -o verbose |
查看从什么时间开始的日志 | journalctl --since |
查看从什么时间为止的日志 | journalctl – --until |
##查看最近三条日志
[root@westos_client ~]# journalctl -n 3
– Logs begin at Sun 2019-07-21 08:59:45 CST, end at Mon 2019-07-22 01:10:01 CS
Jul 22 01:10:01 westos_client.westos.com systemd[1]: Starting Session 48 of use
Jul 22 01:10:01 westos_client.westos.com systemd[1]: Started Session 48 of user
Jul 22 01:10:01 westos_client.westos.com CROND[6777]: (root) CMD (/usr/lib64/sa
##查看错误日志
[root@westos_client ~]# journalctl -p err
– Logs begin at Sun 2019-07-21 08:59:45 CST, end at Mon 2019-07-22 01:10:01 CS
Jul 21 08:59:45 localhost kernel: Failed to access perfctr msr (MSR c1 is 0)
Jul 21 08:59:47 localhost rpcbind[169]: rpcbind terminating on signal. Restart
Jul 21 08:59:58 westos_client.westos.com smartd[507]: Problem creating device n
Jul 21 08:59:58 westos_client.westos.com smartd[507]: In the system’s table of
Jul 21 09:00:07 westos_client.westos.com systemd[1]: Failed to start LSB: Start
Jul 21 09:00:07 westos_client.westos.com systemd[1]: Failed to start /etc/rc.d/
Jul 21 09:00:07 westos_client.westos.com rpcbind[1254]: Cannot open '/var/lib/r
Jul 21 09:00:07 westos_client.westos.com rpcbind[1254]: Cannot open '/var/lib/r
Jul 21 09:00:10 westos_client.westos.com libvirtd[1158]: libvirt version: 1.1.1
Jul 21 09:00:10 westos_client.westos.com libvirtd[1158]: Module /usr/lib64/libv
Jul 21 09:00:33 westos_client.westos.com bluetoothd[1816]: Parsing /etc/bluetoo
Jul 21 10:10:02 westos_client.westos.com systemd[1]: Failed to mark scope sessi
##查看日志的详细参数
[root@westos_client ~]# journalctl -o verbose
– Logs begin at Sun 2019-07-21 08:59:45 CST, end at Mon 2019-07-22 01:10:01 CS
Sun 2019-07-21 08:59:45.651453 CST [s=e42a391092aa4c4d96b1e22b51ab7c16;i=1;b=5a
PRIORITY=6
_TRANSPORT=driver
MESSAGE=Runtime journal is using 5.9M (max 47.3M, leaving 71.0M of free 467
MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6
_PID=81
_UID=0
_GID=0
_COMM=systemd-journal
_EXE=/usr/lib/systemd/systemd-journald
_CMDLINE=/usr/lib/systemd/systemd-journald
_CAP_EFFECTIVE=4402800cf
_SYSTEMD_CGROUP=/system.slice/systemd-journald.service
_SYSTEMD_UNIT=systemd-journald.service
_SYSTEMD_SLICE=system.slice
_SELINUX_CONTEXT=kernel
_BOOT_ID=5aa5861c1cad4c4d8dbe625df1789745
_MACHINE_ID=81343f9ea5964f1db7274f00e1291c46
_HOSTNAME=localhost
Sun 2019-07-21 08:59:45.657866 CST [s=e42a391092aa4c4d96b1e22b51ab7c16;i=2;b=5a
PRIORITY=6
_TRANSPORT=driver
##查看从14:53开始的日志
[root@westos_client ~]# journalctl --since 14:53
– Logs begin at Sun 2019-07-21 08:59:45 CST, end at Mon 2019-07-22 01:10:01 CS
##查看到14:52截至的日志
[root@westos_client ~]# journalctl --since 14:52
– Logs begin at Sun 2019-07-21 08:59:45 CST, end at Mon 2019-07-22 01:10:01 CS
##保存日志
因为日志默认是保存在内存中的,所以每次开关机都这能查看开机之后的日志,上次的日志会自动被释放。我们想要看开机之前的日志只能将其保存在硬盘中,在调取查看。
在硬盘中建立一个存放日志的目录
[root@westos_client ~]# mkdir /var/log/journal
该目录所有组属于系统用户systemd-journal
[root@westos_client ~]# chgrp systemd-journal /var/log/journal/
该目录下创建的所有文件的组都和目录所属组相同,为systemd-journal
[root@westos_client ~]# chmod g+s /var/log/journal/
不关机重新启动systemd-journald
[root@westos_client ~]# killall -1 systemd-journald
查看 /var/log/journal/中内容
[root@westos_client ~]# ls /var/log/journal/
946cb0e817ea4adb916183df8c4fc817