您的位置:首页 > 运维架构 > Linux

linux系统的日志管理

2018-10-18 22:33 417 查看

一、rsyslog服务

这个服务时linux系统中采集日志的服务,下面我们用实验来证明它的作用:

1##为了看的更清楚,我们先清空一次/var/log/message中的日志,然后重启sshd服务,再查看message中的日志内容,如下图:

 

发现重启sshd这一动作已经被记录进了messages这个日志文件中。

##2.下来我们试着关掉rsyslog这个服务,然后再清除掉messages中的日志内容,再重启sshd服务,再看messages文件,如图:

 系统已经没有再采集日志了。

##3.现在我们打开rsyslog这个服务,看结果如何:

所以,我们发现rsyslog这个服务软件是提供系统中日志采集这项工作的。

二、自定义日志采集路径和格式:

再定义日志采集格式和路径之前,我们得先知道都有什么类型什么级别的日志,以及日志存放在系统的什么位置。

#系统日志存放位置:

/var/log/messages                   服务信息日志      

/var/log/secure                         系统登陆日志

/var/log/cron                              定时任务日志

/var/log/maillog                          邮件日志

/var/log/boot.log                         系统启动日志

#日志的类型:

auth                  安全和认证相关消息

authpriv            ssh,ftp等登陆信息的验证信息

cron                    系统定时任务cront和at产生的日志

ftp                        ftp守护进程产生的日志

kern                       内核产生的日志

lpr                           打印产生的日志

mail                         邮件收发信息

syslog                     syslogd服务产生的日志信息

user                       用户程序产生的日志信息

#日志等级:

debug            一般的调试信息说明

info                   基本的通知信息

notice              普通信息,有一定重要性

warning             警告信息,但不影响系统和服务的运行

err                    错误信息,会影响服务或系统的运行

crit                   临界状态信息,比err等级还严重

alert                  警告状态信息,必须立即处理

emerg              疼痛等级信息,系统已经无法使用

none                  什么也不记录

#连接符号

.                        该等级以及该等级以上的日志都记录下来

.=                       记录所需等级的日志,其它不记录

.!                         除该等级外的日志信息都记录

*                           所有的日志都记录

以上就是日志的一些基本概念,下来我们开始自己定义日志格式和路径:

什么类型的日志.什么级别的日志                   /var/log/aporai   ###############日志采集规则

#######路径定义

若我们要指定一个日志文件,他很包容,存放任何日志,怎么做呢?

#1.先在rsyslog服务的配置文件中添加相关信息:

vim  /etc/rsyslog.conf

#2.然后重启服务,接着重启sshd服务。最后测试,查看该指定的目录下的内容:

发现我们定义的日志文件已经存放了系统的日志,如果正常只要系统中产等的日志都会记录到该文件下。

#############定义采集格式

#1. 同样在rsyslog的配置文件中进行配置,如下图:

FROMHOST-IP                     显示主机ip

timegenerated                       显示日志时间

syslogtag                                显示日志记录目标

msg                                         显示日志内容

#2.上面的图片中还有一个wow,它就等于后面设定的格式,如果在后面的配置中要用到该格式,只需把WOW加在其后,所以它是全局生效的,WOW可以是使用任意字符,看个人喜好定义。如下图:

#3.然后重启服务,查看我们该的格式其作用没:

没问题,是按照我们定义的格式显示的。

三、日志的远程同步实验

实验环境:两台虚拟机,server这台作为发端,desktop这台作为收端。

实验目的:为了实现日志的远程同步,实现企业中日志管理的简易性。

实验步骤:

#1.先配置发端,下面的配置中 @代表udp传输,整个意思是把server这台虚拟机上的所有日志向ip为172.25.254.113的这台主机发送一份。

#2.配置收端,意思是打开udp对该服务的端口,同意传过来的日志。最后要记得关掉收端的防火墙。

#3.重启服务,然后测试,在发端产生日志,看收端能否收到:

 

此时收端已经收到发端的日志。

四、时间同步实验:

实验环境:两台虚拟机,server作为提供同步时钟的服务器,desktop作为客户端。

所需软件:chroy

实验目的:

实验步骤:

#1.先配置服务端。分别配置的内容如22、30行所示,22行代表允许同步该主机时钟的网段,30行代表本机作为时间源,不同步其它主机。

#2.配置客户端。只需指定该主机要同步哪台主机服务器。

#3.测试:配置好两台主机后记得要重启服务,然后用该命令在客户端测试:chronyc sources -v  

看见左下角^*的标志,说明时钟同步成功。

五、timedatectl:管理时间系统

timedatectl              #########查看当前系统的时间系统设置

     

Local time:代表本地时间

 Universal time:表世界时间

RTC time:代表硬件时间

 Time zone:时区

#  timedatectl set-local-rtc 1  #######设置硬件时间和本地时间一致

     timedatectl set-local-rtc 0  #######设置硬件时间和格林威治时间一致

# timedatectl    set-time     "2018-10-18 20:20:00"

六、journal对日志的管理:

##1.  journalctl          #########查看内存中的所有日志

      journalctl        -n            5               ##########  查看最近产生的3条日志

                           --since     9:20            ############  查看自从20:30开始的日志

                            -p           err                 #############  查看错误日志信息

                            -o           verbose         F########### 查看日志的详细信息

                _PID=num  _COMM=sshd     ############查看指定Pid和命令的日志

##2.关于实现日志永久保存的方法:

#首先创建日志目录,并加特殊权限和改用户组为systemd-journal:

#重新加载配置文件(不断电加载)

#重新启动系统测试,如图所示:

一个是历史目录,一个是当前目录。

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: