系统日志

一.系统日至默认分类

/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

实例

  1. 记录到普通文件或设备文件::
    . /var/log/file.log # 绝对路径
    . /dev/pts/0
    测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志

  2. 发送给用户(需要在线才能收到)
    . root
    . root,kadefor,up01 # 使用,号分隔多个用户
    . * # *号表示所有在线用户

  3. 忽略,丢弃
    local3.* ~ # 忽略所有local3类型的所有级别的日志

  4. 执行脚本::
    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当中来进行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值