Linux进阶之日志管理
一、何为日志
1、在程序执行时,可以通过标准输出以及错误输出,让我们知道程序的执行情况,而系统不可能将所有程序的输出信息一起显示,要知道后台执行的程序非常之多,如果一起显示,那我们不用操作了,整天只看输出结果就够忙了!
2、这时就需要日志系统了,有了日志之后,系统可以将所有程序的输出结果,分类到日志中,通过查看日志,我们就可以知道系统的运行情况。
3、ping 192.168.18.254 >> /tmp/cjk这么简单的一条命令,其实就是一个日志,将ping的结果输出到cjk中,我们可以通过cat /tmp/cjk来了解ping命令的运行情况。
二、系统日志服务组件
1、rsyslogd
全名为系统日志服务System Log Daemon,用来采集用户的应用程序或者服务产生的信息。
2、logger
这是一个日志服务的客户端工具,可以使用这个工具,直接在shell中传递信息给系统日志服务,通常用为测试系统日志服务。
三、日志服务安装
rpm -q rsyslog #查询是否已经安装
yum -y install rsyslog #安装系统日志服务
四、日志服务运行状态管理
systemctl stop rsyslog #关闭日志服务
systemctl start rsyslog #开启日志服务
systemctl enable rsyslog #设为开机启动
systemctl disable rsyslog #设置为开机不启动
五、日志服务配置
配置文件的路径/etc/rsyslog.conf
格式:
FACILITY.PRIORITY ACTION
信息来源.优先级别 处理方式
信息来源列表
authpriv #与安全验证有关的信息。
cron #包含at或cron定时执行系统产生的信息。
daemon #一般服务器的信息。
kern #来自内核信息。
lpr #打印系统传来信息。
mail #电子邮件系统信息。
syslog #syslog服务器本身信息
user #一般用户等级信息。
uucp #UUCP子系统信息。
localN #保留。
安全级别列表
轻微 debug #只是排错信息,仅对程序开发人员有用,对系统管理者的你是没有太大意义的。
info #通常这是正常信息,你也可以忽略info的信息。
notice #这是稍微要注意的信息。
warn #可能有问题的警告信息。
err #这是错误信息。
crit #这是危急错误。
alert #这是需特别留意的警报信息。
严重 emerg #这是紧急状况,如果再不处理该服务或系统可能会宕
PRIORITY的计算方式:
PRIORITY:代表等于,或高于PRIORITY。例如,err相当等于err + crit +alert + emerg。
=PRIORITY:恰等于PRIORITY。例如,=err就是err本身。
!PRIORITY:代表除了PRIORITY之外的。例如,!err就为debug + info +notice + warn + crit + alert + emerg。
除此之外,FACILITY与PRIORITY可以使用星号代表所有的,因此*.* 就表示所有的FACILITY的所有PRIORITY信息。
而ACTION字段则是用来定义如何处理接收到的信息。可以指定:
/PATH/FILENAME:将信息储存至/PATH/FILENAME文件中。注意,如要系统日志服务把信息储存到文件,这个文件必须要写绝对路径。
USERNAME:将信息送给已登录用户。
@HOSTNAME:代表将信息转到HOSTNAME的系统日志服务器。
*:将信息传送给所有已登录的用户。
六、日志格式
DATE:信息发生日期。
TIME:信息发生时间。
HOSTNAME:信息发生主机。
APP:产生信息软件。
NAME:软件名称,或是软件组件名称。可以省略。
PID:进程标识。可以省略。
MESSAGES:信息内容。
七、集中式的日志服务
1、为什么需要集中式日志服务
如果你负责管理很多台LINUX服务器,你就需要登录每台服务器查看上面的日志,特别麻烦,如果通过集中式的日志服务,就可以将日志收集起来,统一管理。
2、集中式日志服务的架构日志管理
3、设置步骤
a.修改客户端的配置文件,路径是/etc/rsyslog.conf,加如下参数*.* @logserver。
b.修改服务端的配置文件,路径是/etc/rsyslog.conf,取消如下注释:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
c.重启客户端和服务端的日志服务。
八、日志切割
logrotate #日志切割
/etc/logrotate.conf #配置文件
/etc/logrotate.d/ #切割配置
选项:
-v #详细信息
-f #强制
九、日志管理
什么是日志呢?相信大家都见过windows下的日志,或者是一些应用程序产生的日志,日志服务记录操作系统或对应用程序进行操作时出现的问题。
日志有正确的,记录在什么时间有哪些人执行了什么操作。也有错误日志,记录系统在什么时间发生了什么错误。日志平时很不起眼,但不代表其不重要,当你的电脑发生错误时,需要借助日志系统,判断什么时间,在哪里出现了问题。
ps aux | grep rsyslogd 查看服务是否启动
chkconfig --list | grep rsyslog 查看是否开机启动服务
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cpus/ 记录打印信息日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息。
/var/log/btmp 记录错误登录日志。这个文件为二进制文件,不能通过vi来查看,要使用lastb命令查看。
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志。这个文件为二进制文件,不能通过vi来查看,要使用lastlog命令查看。
/var/log/mailog 记录邮件信息。
/var/log/message 记录系统重要信息日志。这个日志文件中会记录linux系统的绝大多数重要信息。如果系统出现问题,首先要检查的就应该是这个日志文件。
/var/log/secure 记录验证和授权方面的信息。只要涉及账户和密码的程序都会记录。比如说系统的登录,ssh的登录,su切用户,sudo的授权,甚至添加用户以及修改用户密码都会记录在这个日志文件中。
/var/log/wtmp 永久记录所有用户登录、注销信息,同时记录系统启动、重启、关机事件。这个文件为二进制文件,不能通过vi来查看,要使用last命令查看。
/var/run/utmp 记录当前已经登录用户信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。这个文件为二进制文件,不能通过vi来查看,要使用w/who/users命令查看。
上面这些日志都是系统默认日志,除了这些日志之外,还有一些采用rpm方式安装的系统服务也会默认把日志记录在/var/log/目录中。不过这些日志不是由rsyslogd服务来记录和管理,而是各个服务使用自己的日志管理文档来记录自身日志。
/var/log/httpd/ rpm包安装apache服务的默认日志目录
/var/log/mail/ rpm包安装邮件服务器的额外日志目录
/var/log/samba/ rpm包安装samba服务的日志目录
/var/log/sssd/ 守护进程安全服务目录
rsyslogd日志服务的使用
首先说下日志文件格式,基本日志格式包含以下四列:
事件产生时间;
发生事件的服务器的主机名;
发生事件的服务名或程序名;
事件具体信息。
配置文件的位置/etc/rsyslog.conf。
例子:
authpriv.* /var/log/secure
认证相关服务.所有日志等级 记录在/var/log/secure日志
auth 安全和认证的相关信息(不推荐使用authpriv替代)
authpriv 安全和认证的相关信息(私有)
cron 系统定时任务cront和at产生的日志
daemon 和各个守护进程相关的日志
ftp ftp守护进程产生的日志
kern 内核产生日志(不是用户进程产生)
local0-local7 为本地使用预留的服务
lpr 打印产生日志
mail 邮件收发信息
news 与新闻服务器相关日志
syslog syslogd服务产生的日志信息
user 用户等级类别日志信息
uucp uucp子系统日志信息,uucp是早期linux系统进行数据传递的协议
Linux进阶之日志管理的更多相关文章
- Linux学习之日志管理(二十一)
Linux学习之日志管理 目录 日志管理 日志服务 rsyslogd的新特点 启动日志服务 常见日志的作用 日志文件的一般格式 rsyslogd日志服务 /etc/rsyslog.conf配置文件 服 ...
- linux 学习 14 日志管理
第十四讲 日志管理 14.1 日志管理-简介 .日志服务 在CentOS .x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服 ...
- Linux进阶之磁盘管理及LVM逻辑卷
本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...
- linux服务器的日志管理
消息紧急程度排行 emerg:该系统不可用 alert:需要立即修改 crit:紧急情况 err:错误信息 warning:预警信息 notice:具有重要性的普通条件 info:提供信息的消息 de ...
- Linux进阶之进程管理
本节内容 1.进程管理 2.ps 3.uptime 4.top 5.ss -tnl------ lsof -i :22 一. 进程管理的概念 程序:二进制文件,静态 /bin/date,/usr/sb ...
- Linux进阶之软件管理
本节内容 一.rpm:管理linux软件程序的 特点:安装方便 不能解决依赖关系 1.安装软件: -i: -v: -h: rpm -ivh 包名 2.卸载软件 -e: 清楚 rpm -e 程序名 3. ...
- Linux系统的日志管理、时间同步、延迟命令at
方便查看和管理 /var/log/messages ?系统服务及日志,包括服务的信息,报错等等 /var/log/secure ? ? ? ? 系统认证信息日志 /var/log/maillog ? ...
- Linux之tomcat日志管理
tomcat 的日志输出catalina.out,变大,可使用下面方式解决. cronolog. http://blog.csdn.net/huang_xw/article/details/61942 ...
- linux进阶之yum管理
一.部署私有repo源 1.官网下载需要的仓库: rsync -avrt --delete rsync://mirrors.ustc.edu.cn/centos/7/cloud/x86_64/open ...
随机推荐
- 【PHP】用了这么久的Laravel框架,你分析过核心架构了没
Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理.用户身份验证等各种需求.另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器. Laravel以其简洁. ...
- BUAA_OO_2020_第二单元总结
BUAA_OO_2020_第二单元总结 第一次 设计策略 本次作业采用生产者.消费者模式设计,大致框架如图所示: 生产者:输入线程 消费者:电梯线程 托盘:Dispatcher调度器 线程安全方面,调 ...
- JavaWeb 补充(Servlet)
Servlet: server applet 概念: 运行在服务器端的小程序 * Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则. * 将来我们自 ...
- Leedcode算法专题训练(二分查找)
二分查找实现 非常详细的解释,简单但是细节很重要 https://www.cnblogs.com/kyoner/p/11080078.html 正常实现 Input : [1,2,3,4,5] key ...
- 干掉 Feign,Spring Cloud Square 组件发布
Spring Cloud Square 是什么 谈起 Spring Cloud 生态大家一定对 Feign 不陌生,如下图所示,Feign 可以把底层(okhttp.httpclient)Rest 的 ...
- Spring Boot 2.3 新特配置文件属性跟踪
背景 当我们使用 spring boot 在多环境打包,配置属性在不同环境的值不同,如下: spring: profiles: active: @project.profile@ #根据maven 动 ...
- 案例 | 荔枝微课基于 kubernetes 搭建分布式压测系统
王诚强,荔枝微课基础架构负责人.热衷于基础技术研发推广,致力于提供稳定高效的基础架构,推进了荔枝微课集群化从0到1的发展,云原生架构持续演进的实践者. 本文根据2021年4月10日深圳站举办的[腾讯云 ...
- TP6学习笔记一:安装与基本配置
1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...
- 八戒转世投胎竟然是Java设计模式:桥接模式
目录 示例 代码实例 桥接模式 定义 意图 主要解决问题 何时使用 优缺点 八戒转世投胎的故事 示例 请开发一个画图程序,可以画各种颜色不同形状的图形,请用面向对象的思 想设计图形 分析: 1.比如有 ...
- mysql索引性能验证,高性能的索引策略
索引性能验证 1.无索引列的查询 在where条件中查询没有添加索引的列,性能会比较差.我们可以先在sqlyog中打开表t_user的数据,然后复制一个名字出来进行查询. /*无索引列的查询,索引不会 ...