linux的日志管理

Posted 菜鸟成长历程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的日志管理相关的知识,希望对你有一定的参考价值。

日志管理

学习目标

  1. 清楚日志在系统中的作用
  2. 能够看懂rsyslog基本配置项的含义
  3. 知道系统保存日志的位置
  4. 能够自己动手配置日志服务器

一、日志介绍

1. 日志概念

日志是系统用来记录系统运行时候的一些相关信息文本文件

2. 日志作用

日志是为了保存相关程序的运行状态、错误信息等,为了对系统进行分析、保存历史记录以及在出现错误的时候发现分析错误使用

3. linux系统日志类型

内核信息

服务信息

应用程序信息

二、rsyslog

1. rsyslog介绍

  • rsyslog是linux系统中用来实现日志功能的服务,在CentOS5及更早版本中使用的是syslog,rsyslog是syslog的增强版本。rsyslog默认已经安装,并且是自启动的。

  • 可以通过下面的命令控制rsyslog

    [root@itcast ~]# systemctl status|start|stop|restart rsyslog  
    
  • rsyslog的配置文件为

    /etc/rsyslog.conf

  • 日志消息一般保存在

    /var/log

  • 查看日志命令一般使用

    tail -f  logfile   # 实时查看日志
    tail -n  logfile   # 查看最新n行
    

2. rsyslog概念

2.1 facility

设施,用来定义日志消息的来源,方便对日志进行分类。

kern 内核消息

user 用户级消息

mail 邮件系统消息

daemom 系统服务消息

auth 认证系统消息

syslog 日志系统自身消息

lpr 打印

authpriv 权限系统消息

cron 定时任务消息

news 新闻系统消息

uucp uucp系统消息

ftp ftp服务消息

local0 ~ local7 自定义消息

2.2 priority

日志级别,定义不同消息的级别

Emergency 系统已经不可用

alert 必须立即进行处理

critical 严重错误

error 错误

warning 警告

notice 正常信息,但是较为重要

informational 正常信息

debug debug信息

3. rsyslog配置

3.1 rsyslog.conf组成

MODULES

GLOBAL DRICTIVES

RULES

3.2 RULES配置规则

facility.priority		target

target (保存位置):
	文件、用户、日志服务器
	
# 比如:
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
mail.*                                                  -/var/log/maillog@

# 如果是日志服务器格式是:
*.* @192.168.100.1 (使用UDP协议发送)
*.* @@192.168.100.1 (使用TCP协议发送)

4. rsyslog实践

4.1 查看sshd的日志位置

[root@itcast ~]# vim /etc/ssh/sshd_config
...省略...
# Logging                                                                        
# obsoletes QuietMode and FascistLogging                                         
#SyslogFacility AUTH                                                             
SyslogFacility AUTHPRIV                                                          
#LogLevel INFO 
...省略...

[root@itcast ~]# vim /etc/rsyslog.conf 
....省略...
# The authpriv file has restricted access.                                       
authpriv.*                                              /var/log/secure 
...省略...

4.2 配置日志服务器

日志服务器原理图

配置具体步骤:

日志服务器配置

# 在日志服务器中开启tcp或者udp监听
[root@itcast ~]# vim /etc/rsyslog.conf
...省略...
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
...省略...

[root@itcast ~]# systemctl restart rsyslog

日志客户端配置

[root@itcast ~]# vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none                @@172.16.99.215   # 以TCP方式发送
[root@itcast ~]# systemctl restart rsyslog


# 测试效果
[root@itcast(日志客户端) ~]# yum -y install samba	                //在日志客户端安装一个软件
[root@itcast(日志客户端) ~]# tail /var/log/messages							    //查看没有生成日志

[root@itcast2(日志服务器) ~]# tail /var/log/messages								//在服务器端查看生成了日志

以上是关于linux的日志管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux实操篇—— 日志管理

执行代码时有时不显示对话框片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

linux 日志管理

Linux学习之日志管理(二十一)

Linux 日志管理