RHCE——分析和存储日志

原创 2017年07月31日 23:08:07

系统日志架构

在Linux 7 中系统消息由systemd-journaldrsyslog负责。
系统日志消息由systemd-jourmald转发到rsyslog,而rsyslog经过处理,将日志文件写在/var/log下面。

linux日志文件概述

日志文件 用途
var/log/messages 大多数系统日志记录
var/log/secure 安全和身份认证相关的消息和错误的日志文件
/var/log/maillog 发送到系统或从系统发出的电子邮件的活动
/var/log/cron 与定期执行的相关文件
/var/log/boot.log 自检过程

查看日志文件

rsyslog的配置文件在/etc/rsyslog.conf
日志文件由rsyslog负责维护,包括许多的应用的日志文件,有类似Apache Web日志也存在/var/log的对应的文件中。

rsyslog.conf中示例规则部分

#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
#*.*                                                    @xx.xx.xx.xx 
//表示将本机日志存储到指定的服务器上
# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

在另一台机器存储服务器的日志

目的是可以防止非法入侵抹除日志文件

 1. 在要备份日志的机器上
[student@localhost 桌面]$ vim /etc/rsyslog.conf 
 2. 在配置文件中添加配置传送方向
#*.*                      @xx.xx.xx.xx 
3. 重启服务                          
[student@localhost 桌面]$ systemctl restart rsyslog.service 
 4. 在备份文件存储的机器上
 [root@desktop ~]# vim /etc/rsyslog.conf 
 5. 修改文件,开启514端口的TCP,和UDP服务
 # Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
 6. 重启服务
 [root@desktop ~]# systemctl restart rsyslog.service 
 7. 关闭防护墙
 [root@desktop ~]# systemctl stop firewalld.service

日志文件轮转

logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录:

1)配置文件介绍
Linux系统默认安装logrotate工具,它默认的配置文件在:
/etc/logrotate.conf
/etc/logrotate.d/

利用tail监控日志文件

实时监控文件后10行的内容

[root@desktop ~]# tail -f /var/log/messages

使用logger发送日志消息

[root@desktop ~]# logger "456"

查看systemd日志条目

通过journalctl查找事件

要以root身分现实完整系统日志

[root@desktop ~]# journalctl 
[root@desktop ~]# journalctl -n 5  
#显示最后五行的日志
[root@desktop ~]# journalctl -p err 
#仅列出优先级在err及以上的日志
[root@desktop ~]# journalctl -f
#动态查看日志后10行
[root@desktop ~]# journalctl --since today
#显示当天记录
[root@desktop ~]# journalctl --since "2017-7-29 00:00:00" --until "2017-7-30 00:00:00"
#查询该时段的日志


[root@desktop ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service
#仅指定一个匹配条件, 显示所有符合该匹配条件的日志


[root@desktop ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097

#指定了两个不同字段的匹配条件, 显示同时满足两个匹配条件的日志
[root@desktop ~]# journalctl 
-- Logs begin at 日 2017-03-19 00:06:49 CST, end at 一 2017-07-31 22:06:45 CST. 
3月 19 07:58:21 debug010000002015.local.alipay.net systemd-journal[91]: Runtime 
3月 19 07:58:21 debug010000002015.local.alipay.net systemd-journal[91]: Runtime 

详细journalctl命令

保存systemd日志

配置永久systemd文件

[root@desktop ~]# mkdir /var/log/journal1
[root@desktop log]# chown root:systemd-journal /var/log/journal1
[root@desktop log]# chmod 2755 /var/log/journal1
[root@desktop journal1]# killall -USR1 systemd-journald

保持准确时间

关于当前关于时间的系统设置

[student@localhost 桌面]$ datetiamctl
bash: datetiamctl: 未找到命令...
[student@localhost 桌面]$ timedatectl 
      Local time: 一 2017-07-31 22:41:55 CST
  Universal time: 一 2017-07-31 14:41:55 UTC
        Timezone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[student@localhost 桌面]$ timedatectl list-timezones 
# 显示系统支持的时区
[student@localhost 桌面]$ timedatectl set-timezones Africa/Abidjan
# 设定时区
[student@localhost 桌面]$ timedatectl set-time 90000
# 设定时间
[student@localhost 桌面]$ timedatectl set-ntp true
# 通过ntp自动获取时间

配置和监控chrondy

chrondy服务通常与配置的NTP服务器同步,使通常不精确的本地时钟(RTC)保持准确
其配置文件在/etc/chrony.conf
NTP服务,
更改本地的时间源
国内常用NTP及其地址

# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.rhel.pool.ntp.org iburst
server 1.rhel.pool.ntp.org iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
# server 210.72.145.44 iburst

更改时间源后,重启服务

[student@localhost 桌面]$ systemctl restart chronyd.service 

# 详细输出
[root@localhost ~]# chronyc sources -v
210 Number of sources = 4

  .-- 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
===============================================================================
^* news.neu.edu.cn               2   6    77    10    -13ms[  -21ms] +/-   60ms
^- biisoni.miuku.net             2   6    77     9  -6064us[-6064us] +/-  179ms
^- 61-216-153-105.HINET-IP.h     3   6   137     2  +5213us[+5213us] +/-  116ms
^+ 59.46.44.253                  2   6    77    10    +52ms[  +52ms] +/-  117ms

日志分析方法概述

注:写得有点乱,但目前市面上这方面内容的确不多,mark一下~ http://blog.csdn.net/pkueecser/article/details/9569251 ============...
  • textboy
  • textboy
  • 2016-08-22 11:31:24
  • 9903

Linux系统日志及日志分析

转自:http://blog.csdn.net/leizi191110211/article/details/51580828 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的...
  • zhaoyangyao888
  • zhaoyangyao888
  • 2016-07-21 10:08:21
  • 2969

客户端日志存储系统,能保存日志

  • 2011年05月19日 12:38
  • 12.91MB
  • 下载

Go 学习笔记

Go 的基础语法学习
  • u012291393
  • u012291393
  • 2017-10-28 19:34:29
  • 346

Go学习笔记

##Go语言 - Go是一种开放源码的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效的软件。 - Go有时被称为“类C语言”或“21世纪的C”。从C中,Go集成了表达式语法、控制流语句、基...
  • u011304970
  • u011304970
  • 2017-04-23 17:20:51
  • 2328

海量游戏日志收集与分析

摘要: 6月29日2016云栖大会成都峰会拉开帷幕,阿里云高级专家简志带来了“海量游戏日志的存储与分析”的重要演讲。从数据、云计算改变游戏行业,再谈到日志服务的整个过程,包括日志的作用、日志处理的挑战...
  • yunqishequ1
  • yunqishequ1
  • 2016-07-08 15:58:13
  • 2148

日志数据库存储解决方案

在Oracle中,基本的结构是表,Oracle10g支持多种类型的表,包括:外部表: 可以把存储在平面文件中的数据看做是一个表,用户可以对其直接进行查询,并在查询中把它和其他表关联起来。可以使用外部...
  • mdifferent
  • mdifferent
  • 2011-05-03 10:09:00
  • 2525

golang log15使用说明

gloang日志库log15使用说明: 介绍 log15是一个强大的结构化的golang日志包,支持日志颜色按等级输出,支持输出到终端、文件、流、系统日志和网络等。 import ...
  • ZQZ_QiZheng
  • ZQZ_QiZheng
  • 2018-04-02 10:57:00
  • 29

RHCE——分析和存储日志

系统日志架构在Linux 7 中系统消息由systemd-journald和rsyslog负责。 系统日志消息由systemd-jourmald转发到rsyslog,而rsyslog经过处理,将日志...
  • Mq_Go
  • Mq_Go
  • 2017-07-31 23:08:07
  • 296

使用Pig对手机上网日志进行分析

在成功安装Pig的基础上,本文将使用Pig对手机上网日志进行分析,具体步骤如下: 写在前面: 手机上网日志文件phone_log.txt,文件内容 及 字段说明部分截图如下 需求分析 显示每个...
  • wl101yjx
  • wl101yjx
  • 2014-05-24 10:17:59
  • 2084
收藏助手
不良信息举报
您举报文章:RHCE——分析和存储日志
举报原因:
原因补充:

(最多只允许输入30个字)