linux系统日志
系统日志
进程和操作系统内核需要能够为发生的事件记录日志,这些日志可用于系统审核和问题的故障排除,一般这些日志永久存储 /var/log 目录中
- /var/log/messages 大多数系统日志信息记录在此处
- /var/log/secure 安全和身份认证相关的信息和错误的日志文件
- /var/log/maillog 与邮件服务器相关的日志文件
- /var/log/cron 与定时任务相关的日志文件
- /var/log/boot.log 与系统启动有关的日志文件
指定日志采集路径
/var/log/file 根据日志采集规则,可以指定日志的类型,类别
日志类型分为:
- auth pam 产生的日志
- authpriv ssh,ftp 等登录信息的验证信息
- cron 时间任务相关
- kern 内核
- lpr 打印
- mail 邮件
- mark(syslog)-rsyslog 服务内部的信息,时间标识
- news 新闻组
- user 用户程序产生的相关信息
- uucp unix to unix copy,unix 主机之间相关的通讯
- local 1~7 自定义的日志设备
日志级别分为:
- debug 有调试信息的,日志信息最多
- info 一般信息的日志,最常用
- notice 最具有重要性的普通条件的信息
- warning 警告级别
- err 错误级别,阻止某个功能或者模块不能正常工作的信息
- crit 严重级别,阻止整个系统或者整个软件不能工作的信息
- alert 需要立刻修改的信息
- emerg 内核崩溃等严重信息
- none 什么都不记录
rsyslog 服务
rsyslog 是一个开源工具,被广泛用于linux系统以 TCP/UDP 协议转发或接收日志消息
主配置文件为 /etc/rsyslog.conf ,指定日志保存位置修改配置文件,修改后重启 rsyslog 服务生效
vim /etc/rsyslog.conf 修改配置文件
重启rsyslog服务
可以利用 tail -f 日志文件名 输出文件的后10行,并实时更新
远程日志同步
两台主机防火墙关闭,修改完成后重启 rsyslogd 服务
- 日志发送方
vim /etc/rsyslog.conf
*.* @日志接受方ip(man rsyslog.conf “@”表示udp协议发送 “@@”表示tcp协议发送)
- 日志接收方
vim /etc/rsylog.conf
$ModLoad imudp 加载日志接收功能模块
$UDPServerRun 514 加载日志接收接口
-
测试
客户端
服务端
分析系统日志条目
对于/var/log/secure文件中的一条日志信息,每一项代表的含义分析如下
记录该日志的时间戳
发送该日志消息的主机
记录发送该日志消息的进程或程序
发送的实际消息
日志的采集格式
vim /etc/rsyslog.conf
%timegenerated% 显示日志时间
%FROMHOST-IP% 显示主机ip
%syslogtag% 日志记录目标
%msg% 日志内容
\n 换行
chronyd 服务
确定时间源地址(172.25.254.254)
确定客户主机使用的时间同步服务,在 chronyd.service 服务中加载时间源地址
服务端:
vim /etc/chrony.conf
allow 172.25.254.37/24 允许客户端来同步本地时间
local stratum 10 本机不同步任何主机的时间,自己作为时间源
systemctl restart chronyd
客户端:
vim /etc/chrony.conf
server 172.25.254.237 iburst 本机立即同步237主机上的时间
systemctl restart chronyd.service
查看是否同步成功 chronyc sources -v
timedatectl 管理系统时间
timedatectl status 显示当前时间信息
timedatectl set-local-rhc 0|1 设定是否使用utc时间
timedatectl list-timezone 查看支持的所有时区
timedatectl set-timezone Africe/Conakry 设置当前时区
timedatectl set-time 11:11:11 设置当前系统时间
systemd-journald 服务
服务提供一种改进的日志管理服务,可以收集来自内核、启动过程、标准输出、系统日志及守护进程启动和运行期间错误的消息,它将这些消息写入到一个结构化事件日志中
journalctl 命令
journalctl 日志查看工具
journalctl -n 5 查看最近生成的5条日志
journalctl -p err 查看系统报错
journalctl --since --until 查看某个时间段生成的日志
journalctl -o verbose 查看日志能够使用的条件参数
systemd-journald
默认情况下,systemd 日志保存在 /run/log/journal 中,这意味这系统重启时会被清除,那如果将日志保存在 /var/log/journal 目录,这样做的优点是启动后就可以利用历史数据,形成永久日志
相关阅读
1、前言 在服务器运维或者部署系统中,经常需要确认服务器的系统版本、cpu信息等。 2、方法 1、uname -a Linux查看版本当前操
1、inux进程信息 1.1. ps 命令:报告程序状况 ps -A 显示所有程序 ps -ef 显示所有程序,并以ascii字符显示树状结构,表达程序间的
本文转载自:Linux中apt与apt-get命令的区别与解释以及Linux命令apt-get使用方式Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt
转载地址:https://blog.csdn.net/lu_embedded/article/details/51432616在学习Linux驱动开发时,首先需要了解Linux的模块化机制(modu
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文