找回密码
 注册
关于网站域名变更的通知
查看: 562|回复: 1
打印 上一主题 下一主题

Linux系统日志管理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-25 18:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

- h. }: S( C4 ~4 R" a# c% L1、系统常用的日志(日志是用来记录重大事件的工具)
9 y) F+ Z' Z% C9 Y+ `
( \# a& ?+ t9 {% k6 k% b) P3 p# p    /var/log/message      系统信息日志,包含错误信息等4 t3 R* H/ d# ^' F. ?8 Q; v
5 z; r5 J4 f$ {! J$ M$ u# J
    /var/log/secure         系统登录日志7 F+ \9 i+ X' p/ B9 T) L

  B! @$ Q$ m7 q    /var/log/cron            定时任务日志
0 e$ s4 I" w9 ?5 d- m! B+ j' z5 Y) B9 \  R5 o0 ?4 [0 d# m) g) s
    /var/log/maillog         邮件日志
& @% i5 N) X) x2 ?! }# U* [/ K3 d9 L' ~1 p
    /var/log/boot.log       系统启动日志
: ?& ?9 s. t. M5 d; s4 l) |- q: o7 C& W# N2 T
2、日志管理服务 rsyslog
: X. [( U. Y, v6 T" H# A( U8 F" Q4 Z2 p6 a
    【1】作用:主要用来采集日志,不产生日志/ c' R( M  @  m7 X& I
1 e* e2 z  z9 _- ?4 d8 i
    【2】配置文件:/etc/rsyslog.conf
/ r- h  x: L7 P9 L7 p, D& ~$ d$ @( j$ K7 Z, `
   编辑文件时的格式为:  ------  *.*           存放日志文件 ------
  I) k2 _2 F9 r, ~7 B. H" G$ d2 z
          其中第一个*代表日志类型,第二个*代表日志级别
$ T$ P) j+ Q; _4 u
: G# ]/ w2 I7 [  D: y% R, U    1.日志类型分为:( E  b2 r) w6 R5 _
' A' j0 h3 J: N" d
     auth              ##pam产生的日志* j6 j" H: e2 Y! j, h
! ?; j! J" ]; y9 a4 w. G
     authpriv             ##ssh、ftp等登录信息的验证信息
! t5 Y, ]2 d3 Z, C
3 o6 H. n; R& K( t) m     corn                ##时间任务相关
, t, T3 h5 G/ M; S4 A" d
& @( W- T2 y7 o/ {5 w. U  Q     kern              ##内核
( y8 t2 A1 D! }% Z  C2 ?! O. E. T  _5 j* u1 o
     lpr                 ##打印
0 T( K- w/ I! o+ A; }3 \  N% f3 `& ?
- X( w0 J4 R, x6 j& B, W; b( L     mail                    ##邮件
( ?' @9 m" H) K& Q) `! b) Y
, y, ^3 l5 u- X$ u( W     mark(syslog)-rsyslog##服务内部的信息,时间标识
) q" [/ g" l4 H: R5 F) \( U# x6 e9 U; D4 S5 A
     news  ##新闻组4 m% Y+ n; W. L7 S+ J

7 N7 V( k6 w" e! d- t     user  ##用户程序产生的相关信息" t% ?, K2 ]  c: |
- z* _8 c" C' z' D1 V
     uucp  ##unix  to  nuix  copy主机之间相关的通信' H7 Q$ G1 }; Z& S+ O- O
0 v, C- w& y( j/ V* A# o
     local  1-7  ##自定义的日志设备$ g# Z1 f! Z" x1 n0 i, `8 n' {
8 U! p- J0 u  |' g! V3 U1 D
     2. 日志级别分为:
  D) X" @0 @1 v9 N( m( J5 x; }, ~; c7 @4 g# J
     debug  ##有调试信息的,日志通信最多. z2 i" C8 E2 V2 A6 z

& n4 n  N- }# x( [7 A/ T     info    ##一般信息日志,最常用" S! k- @8 @7 ^+ ]8 A  v- |: s
( @5 g# z4 K) M/ F: q% Y+ ~7 g% Z
  notice   ##最具有重要性的普通条件的信息9 X0 H2 |( G  \2 H2 z1 U

0 `$ {" `, ^) ^$ ]/ X  warning   ##警告级别
% V3 d0 P0 F# n! L) ^. X, O9 F4 t4 D# y
  err     ##错误级别,阻止某个功能或者模块不能正常工作的信息
/ e! G" w& H; @' \. `4 H4 w, h7 r9 ?- M0 n" i. ?
    crit     ##严重级别,阻止整个系统或者整个软件不能正常工作的信息( A  \. I: n0 B/ {

/ k2 \- J! r8 V1 J% ?    alert     ##需要立刻修改的信息: A8 v2 d  E3 c
+ v1 A3 a# j  c' `
    emerg   ##内核崩溃等重要信息
2 ?# U) w. }# {. P
1 s; |; N' S# D0 Y8 O! P! M    none     ##什么都不记录
8 B6 ]) ^2 C* P5 [) P/ p/ A( K& J6 e) a$ @* r/ [9 ~; s' f! O7 s
     注意:从上到下,级别从低到高,记录信息越来越少$ T" I/ {4 Q) c7 N

- u8 x& [# ]* X) r: l' x               详细信息可查手册:man   5   syslog
1 m0 O5 k; T5 L! r: v" h$ P. Y7 r3 Y- l7 ]+ K. p+ r' b
     3.示例:在/etc/rsyslog中添加一个日志文件/var/log/xniu,当sshd服务出错时,该文件会接收到错误
  S; J, p0 V9 o' x5 T. M: ~/ ]" |0 h$ v$ b1 U6 T; D. S% o: U/ W5 e
     [root@client ~]# vim /etc/rsyslog.conf
! z* v: J7 J  s$ |; I- u # z4 L$ J* E/ q, `0 i9 a; O/ A; B' N
      $ [1 J& c3 g7 L: V' ^
2 `6 l3 i9 G; ]; e* p6 R$ O
8 _" X/ m! O+ g6 ^6 A

0 x* B: Q2 m: C( j+ ~
. N$ ^' p& {+ u+ I. G. B' b      
# _: e: }3 Q% a* O8 P     . M( B$ j( ]" b9 i5 w; ]* P. o
     注释: ------ > /var/log/xniu ---是对文件的内容进行清空;当系统配置文件一定要重启使其生效。   - ?6 B" D) o. i: G4 b$ b0 r

! V/ W0 n" F' [% G8 m) r; m3.日志的远程同步 ( k) w1 u% h8 ?% H- |9 o

  q5 V* z7 a8 C        【1】 作用:便于管理多台主机- w2 B( o$ |8 ]

4 B% \" l2 g9 V& W        【2】步骤:    f  Y7 W# t) V4 n; ^4 j9 R- ]1 Q

# `( @. [8 V7 s# T' z" b6 G5 B    (1)在日志发送方:vim  /etc/rsyslog.conf  ----->文件里添加内容: *.*@172.25.254.97            ------>  systEMCtl  restart  rsyslog
& u7 t. f6 I9 ]6 D& F' ?( Y
7 U8 m" ?* c$ L" Q0 W! f% K" E      注释:添加内容里面,@表示使用udp协议发送;@@表示使用tcp协议发送
' d6 Z9 q* y7 _* C( P/ b+ Y6 M
    (2)在日志接收方:vim  /etc/rsyslog.conf ------>使第15行、16行有效------> systemctl restart rsyslog ------>systemctl stop firewalld
) B* q! w+ r% U2 `4 }9 u$ ?! c$ T5 w* _* X9 e
              ------>systemctl   disable firewalld
3 |  |$ j& G0 D1 X- z5 Y/ }: J& M3 S9 j# D, I
            注释: 配置文件里面,15行:$ModLoad  imudp ##表示日志接受模块;
% ^3 \5 L. M8 N$ m4 j& m1 E; C+ h* P' P3 r! F8 X) t: b' `
                     16行:$UDPServerRun 514##表示开启接受模块' `3 R' X$ I+ x, Y
( |! P( d  \; t5 x$ B- K
                     systemctl   stopfirawalld##关闭接受方防火墙 : ^9 S9 e9 C4 |

" `8 I5 M9 P. |- X$ Y" K                     systemctl    disable  firewalld   ##使防火墙开机不自启动 - t; X, h1 k1 M# w

2 z0 _( f- u, X) n- V    (3)发送方和接收方均清空日志文件,使用命令: > /var/log/message ' Z% H$ W" N; E6 r+ D8 ^

. W. F$ F/ g/ h# a8 {4 }( h    (4)测试:在日志的发送方运行:logger   test  ------> cat /var/log/message   ;完成之后,会产生日志信息( e$ T* V5 g# d

, I& p; j. @# A% M* O- ]           在接受方运行:cat    /var/log/message ; & E. l. q' n$ U# s! A

& j5 c& L! ]7 s! l* F" v        【3】示例:client虚拟机为发送方,server虚拟机为接受方;实现日志的同步7 r. n) y0 `- E- I. S4 {
; `& A) i# Z2 V4 x$ F3 {
         [root@client ~]# vim /etc/rsyslog.conf4 T+ h6 [7 l5 _% u; R# g2 A8 ?

5 x1 ?" m, P* B( r         
! E# X4 G2 `3 O" v2 p  O" v! y3 h! b/ K: m! g
- S( }5 ]# B- `9 V0 T1 i, @' W& Q1 R

' G, U$ U4 ^, q! @8 g
/ }5 E6 d3 O3 {6 d1 V6 J, _" C) C1 T' g         
, ~9 d" K) k- ` ) G/ x# W! d/ F5 A4 k8 }) p

) W& d# t5 t* w& D) A2 i1 q         / A5 {7 h# ~1 {" S: [& b
          在服务端进行操作: . P  c2 _4 c! k; p6 g

6 l6 P) Y- m1 X: V: o" _; }) Y         [root@server ~]# vim /etc/rsyslog.conf           
/ k& ]3 `1 h& D( e- q" V8 K. R7 {1 C: y2 r
                , D. k9 M. d3 |+ F

0 I4 P# G( n# d* X) _" g 2 w3 c" y- M! Y* o/ c8 Z
         
' N" y. J% ^& A9 d5 \" a0 H/ s         注意:清空日志文件的先后顺序。+ p* }, ^  i: w; Y; J

/ c" x3 V9 k4 ]) N4 v: S3 e+ k) X) [& i) v( \4.日志采集格式的设定
+ @  d$ s/ y4 Y/ s; h9 i7 A* R
7 N+ X  Y" h/ p0 g2 l& ]7 h  【1】作用:从发送方同步过来的日志,不利于我们查看相关信息;所以要接收方采集的日志按我们自己的设定的规则来显示$ N$ k1 s( L0 W& T' d9 Z3 k: l

) N5 p$ P0 \8 H! D& I! \% |  【2】设定步骤:vim   /etc/rsyslog.conf ------>  $template  LOGFMT,"%timegenerated%  %FROMHOST-IP%  %syslogtag%  %msg%\n"; [' i# ]1 G! D
/ F1 `" V/ D, [& C
             ------>  在自己显示的日志文件后面,把格式添加进去:*.*/var/log/westos;LOGFMT 5 b7 Y9 B  ~8 z$ k  _- f

: ^2 u8 y% E) g1 s+ N7 A! I8 s% `    注释: %timegenerated%   ##显示日志时间
' q' s4 \8 [4 f0 M: C9 h( g' p6 h- w
          %FROMHOST-IP%  ##显示主机IP
# g( ~& K) V) d$ n% N$ X/ x6 L, ?6 `4 ^) O* ~$ Y8 H2 }
         %syslogtag%      ##日志记录目标
% M9 H' |3 O6 Y0 K. v- Z& e7 W% h4 i) E/ z! F$ D; P
          %msg%         ##日志内容" Y/ L( P; r! f" P7 _! @
  n6 v1 A: Q' {
          \n           ##换行
, m& [/ m4 f9 B- N$ j8 ^' M. m& V1 {2 i& G. w
  【3】 示例: 在server虚拟机中设置规则,可以查看到发送方的信息
1 S% Q; ]5 j5 V2 v
% n, X9 a3 s7 a' g% c9 x4 P         [root@server ~]# vim /etc/rsyslog.conf6 \" G3 S+ `. f8 Q
* f3 Y8 [( `4 {9 ]7 O" Z! d# N
" r; t/ U( }) @& P- c
         # Q8 I8 r$ W$ C7 [4 V9 p' J
         在server主机测试结果:; C& L, `! z, z, Y

& t# h6 z1 E4 k" k7 ^- z: P) Z
; k1 [3 L% E( X7 b9 J9 L! C& n3 L  [0 K1 t6 c) u% z6 d
         
6 n) K7 q7 _$ R; F5.日志分析和采集工具
; [/ W) c8 N+ _  {2 Y; Z" I. Z
3 }0 Z  M" _% C- ?/ N) {( r' {0 c  【1】命令:journalctl##直接执行,进行日志的查看) G. A$ ~2 [' _; o$ L) X

- X3 N; x' |- U  【2】参数:-n    3    ##查看最近三条记录-perr##查看错误日志-overbose##查看日志的详细参数6 Q/ A& k. l2 D: I4 B, @

- f  X, @3 O) f$ M0 L  T! I5 Z         --since##查看从什么时候开始的日志 --until##查看什么时候截止的日志+ U/ c6 S) j4 M& u" V4 [

8 A+ Q9 a0 V1 ]6 j4 ?, k  【3】如何使用--- systemd-journald ---保存系统日志信息
8 k5 S6 [: ~: F
+ H, W/ x- m' w3 d7 g  【4】示例: 使用-n命令来显示最近3条命令 + Y* I. I# H; {! U5 n8 e
3 @1 H3 G* E( D+ B& `' s& Z  h
2 f0 q) t% p6 H5 P+ V! O
8 g( u' ~: P0 C+ G
                    
- S2 s8 g7 |3 O  y  t4 Y' v          使用-p命令显示错误日志:
# C, a) D5 R$ U% g( d" M1 R- O4 A8 {0 z2 l6 W2 N$ d$ h, F8 M
         : i/ S* E& _  H& c
  g9 V( r3 D, N: o; Q

/ z' e! L6 ^6 Q2 H  I        使用-o  verbose查看详细参数:
& s, q1 s& l( Q# p. t/ b( q+ }6 d) p% Y1 V! ^
9 L, _. S9 G' n, `3 g

8 u, C- `$ v/ B( ?# B; z+ `            
! G5 K( Q! ~% J& V1 m, L7 i/ \       也可以用命令:journalctl _PID=2482 _COMM=sshd 来进行精确查找:
2 @. Q, D7 U8 \: h7 w, @( h
$ Z* n8 Y- t* @' a4 s( ? 3 ~$ P1 @/ `' q- x
7 {' \! ?9 ?* [$ F7 @6 w# T3 A
           
( B8 R3 _7 j0 y+ ^; Y8 L5 }. q       使用命令:journalctl --since "2018-07-27 12:00" --until  "2018-07-19 00:00" 时间段的日志
) Q1 Y; F) M6 ]# |
4 x; Z- i- `; v 3 @2 F% g7 L( I7 m8 o; @

6 K& ~4 S# D' b3 H6 g8 S, B      
# K" t8 w) }4 ~% ~5 w # O; p) |1 L3 D

! `' o1 t7 W* z  h* @     补充:日志在系统的存储是暂时的,系统重启后之前的日志信息就不会存在。可以通过以下步骤实现日志的信息保存(在设置之后的留下的信息)   
6 ~/ Y4 l+ ]5 ^% G3 ]3 V$ ~' i6 s6 n; m- z
     [root@client ~]# mkdir /var/log/journal
8 X7 W$ P) H+ X$ t6 G1 l5 O* y: L     [root@client ~]# chgrp systemd-journal /var/log/journal/   
4 l) Y8 L3 ~! M) V( K5 @     [root@client ~]# chmod g+s /var/log/journal/        ## 把该文件的使用均指定为组信息' c' w3 N3 ^+ P( `
     [root@client ~]# ps aux | grep systemd-journal
8 \7 r" D6 Z" b. V     root       364  0.0  0.2  40864  2428 ?        Ss   06:05   0:00 /usr/lib/systemd/systemd-journald
3 p5 B" a$ Z' u+ F1 G     root      5298  0.0  0.0 112644   936 pts/0    R+   12:08   0:00 grep --color=auto systemd-journal
! O, w1 k8 x" ?" ?7 v     [root@client ~]# killall -1 systemd-journald        ##重新开启日志进程
# B& y9 C2 Z& y1 \3 x2 h     [root@client ~]# cd /var/log/journal/1 f" v! f+ `) [. D
     [root@client journal]# ls) Y% }1 n' M  [; r3 m
     946cb0e817ea4adb916183df8c4fc817            ##记录日志信息的id' z  o. e9 d0 K$ p* p0 m) n
     [root@client journal]# ll                   ##该日志会记录7-20 12:09以后的记录
; e- N4 P, [; _. H) n' D$ n' m     total 04 H" E& o% s# M
     drwxr-sr-x 2 root systemd-journal 27 Jul 20 12:09 946cb0e817ea4adb916183df8c4fc817
1 ]! g2 f- ]1 h8 w     [root@client journal]# date5 C6 p  A; o: ~3 _0 k4 C# l9 t4 b) O5 m
      Fri Jul 20 12:10:17 CST 20181 \& N: u( {% L6 u& _
6.日志时间同步" M+ `  m; t8 E* K

6 w* C' M& n% B9 q  【1】作用:让多台虚拟机保持时间的一致。- q* Z$ u/ v& j: m; e: F) u
3 B) u' o, W% Z; L4 p, ?3 T( B
  【2】服务名称:chronyd
1 \, W. A7 K6 f% M0 V, T/ f- b
0 g! V) r/ f' ?2 O- x7 z+ o* L% M  A  【3】步骤:(在两台虚拟机下进行)
9 s0 y+ T- E  C2 V) ?6 C+ Q
) U/ B6 |( f3 a; m& Q0 Z           (1)在服务端配置:vim  /etc/chronyd: A/ p4 p1 }3 n2 i5 q8 m
# [6 I$ W& n& f+ n. v) l" i
                            22行 allow  172.25.254.0/24    ## 允许ip为172.25.254.0、子网掩码为24的主机同步时间
& N# g+ x# p4 j. z- b+ B1 X$ B) W7 V. A# f1 X
                            28行 local stratum 10     ##表示不同步其他时间
, y1 C: P' C/ S3 \1 B! ?6 b( B) Q, t6 G
                            systemctl  restart  chronyd   8 G! f! o( ?& S1 H. R
% x. E' {2 k  r8 g4 I4 W
            (2)在客户端配置:vim  /etc/chronyd! G6 T1 o: N7 c

9 j7 A- F) T! C  z8 Z                           2-5行留下一行:server  172.25.254.97    ##表示要同步的主机为172.25.254.97
' n4 L: j, R" B$ }1 D/ }) ^, Q
  [$ _- ^0 |3 h/ |3 i$ l7 w+ k1 y                           systemctl restart  chrond             ## 重启服务
2 J( J) F9 J6 {: R  u3 E2 c! U) a/ ?* Y0 ?* {& w: a9 B" k/ |
                           systemctl stop  firewalld             ## 关闭防火墙
: `# r, m6 }4 f9 P1 W+ ]( _/ Z! v( f8 M$ M: i7 }/ Y( h5 ?
           (3)测试:在客户端输入:chronyc  sources -v
( h% n/ S. i. t8 c# O. {6 O. P! t4 F- Q! e2 e4 I
                若结果为如下,则表示同步成功:0 m3 _; D! k# R9 q4 U0 z' W
! a9 H2 t$ W6 Q4 Z
3 ^% N( g& M2 Y7 |3 D
            
# Y: ]4 `) X) {1 O- t            注意:在做此实验前,两边的时间是不相同的(可以使用date查看);服务器端和客户端要关闭防火墙,这样可以进行数据的同步;
' h1 c8 p& n0 |( t9 B
! @8 \3 q# g3 O5 A8 g) ^                      文件配置之后要重启。               5 K3 C0 R. X! N- m  H
7 g) _  _8 g$ E# O6 L' o
7.时间设置timedatectl . y3 `& F; x% H

. o) v" Z4 T8 E2 \$ u       使用timedatetcl查看系统时间
) J6 L; V9 b5 X# K' U
, I% \2 E/ F6 R7 [2 p' N% j
' ]) Z/ D2 V& G; G/ [" k0 b
9 c3 }( m! W! P. t8 \/ b. u      
5 M7 h' t; e1 c! P       命令timedatectl list-timezones列出所有时区 * M) ^& k2 @/ n8 u" K
1 D7 d! c; T% i( t0 o
" p) G! P1 h% l- R( G3 j9 l: ?# K
7 u8 \& M8 F; w# A* O+ R4 S+ M$ r4 d
      
5 D! @; c/ j6 X9 M+ p5 z# W. h+ C       使用--- timedatectl set-timezone  时区名---来修改时区
# T  A! @# F& }% j
% b) F* k& N4 C) k 0 m, b1 Z3 \3 ~. ], \$ U& w
5 U* L, y4 u! u# p4 m
      
# G! k1 y  i0 E/ i! {( \: u      使用---timedatectl  set-time  "2018-7-20 12:00:00" ---对时间设定
" P% {3 L, R9 j  Y! c, Y2 M+ m& J$ v# u. U% O: s9 ~+ }/ k9 g: f, Y
$ Z1 U6 Z& ?9 C( f
  ^4 }, C( J. N5 ?! I! S* N. O
      
4 l0 Y1 s3 U  W/ i" N      注意:当前系统中的时间为bios时间+时区(windows下无这种计算方法);: @/ d: q4 s! A0 C: {& i

4 m+ Q& S: S$ K. [1 N8 ^          ---timedatectl set-local-rtc 0---表示使用UTC时间
* j( K6 p0 m/ L1 Q% m. A2 r1 w$ v6 O. ]% \
          ---timedatectl set-local-rtc 1---表示使用LOCAL时间
! c+ _7 _% g$ V2 |0 v' H/ \         
9 y* A& ?3 q- M3 k5 Z
9 n: J, U! |" f2 q) o1 Y& T5 V

该用户从未签到

2#
发表于 2021-4-25 18:34 | 只看该作者
Linux系统日志管理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 07:32 , Processed in 0.187500 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表