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

Linux系统日志管理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
& |' z$ f' |2 ~! o# K( m
1、系统常用的日志(日志是用来记录重大事件的工具)
2 f' O" @, ?' @( `7 I) u7 m$ j6 k) s! R& T, M" u
    /var/log/message      系统信息日志,包含错误信息等
& `. D! t  |/ ~" a
2 b, p" V. ^2 L0 }; C    /var/log/secure         系统登录日志
; B5 w' h/ _! C1 ^+ X* u. X: `( t4 r2 s( b- ]5 j/ B
    /var/log/cron            定时任务日志* z9 ?; Q& F" e( A7 J6 c) a

, j+ r( O# N# W4 Y2 S3 }2 W; i    /var/log/maillog         邮件日志
& N+ _& b2 N& q+ J: r3 p, v, G: f, V: W
    /var/log/boot.log       系统启动日志
% y) V6 y. n) O9 Q, ~2 ?' w( T# N8 E7 Z2 W. q" ?) j2 v
2、日志管理服务 rsyslog1 [" Z) h5 o, y. _4 |& l6 }

/ v: E9 X! T  [# K    【1】作用:主要用来采集日志,不产生日志
2 f8 _6 d; e# @
7 l6 l3 ?* j' k: J& o: e2 ^+ G    【2】配置文件:/etc/rsyslog.conf0 I6 G1 h# o% [2 |( d! W+ z- v& t* u% n

" ?. C9 a1 I2 ^5 l! F   编辑文件时的格式为:  ------  *.*           存放日志文件 ------8 {# Y- @; ]* @; s/ n
0 [* P+ L$ \  K/ l
          其中第一个*代表日志类型,第二个*代表日志级别3 R0 c+ ^. o5 r6 e4 K, }: g7 E
: i; J* q; B; [
    1.日志类型分为:9 p# n/ K5 n! I$ @: v3 A

) m6 V  G( s& O( z! }# l  x& N     auth              ##pam产生的日志
1 s& e( z1 b- w) O$ @  {( e; G) a8 Q' V/ d5 l
     authpriv             ##ssh、ftp等登录信息的验证信息
( Z4 U" s# @7 o: ^  h/ f
+ j, \# n  s$ v$ q" P8 s' s     corn                ##时间任务相关& |& a1 S+ S* _/ h8 B0 u+ f

$ G+ _: q  r9 p4 l" P( @2 A     kern              ##内核# c# N- r- }% _* p( t# c. e8 y3 x

# ^- G5 z: @# ]     lpr                 ##打印6 k7 P) I$ N- l

. N, P) W* e- ^- E1 d% U) a" {     mail                    ##邮件
- ^1 p6 T+ l+ g! H
' P" s0 F1 D3 M* b9 B     mark(syslog)-rsyslog##服务内部的信息,时间标识# P  I: V+ x! S& G3 `1 G
2 |' D2 v, u6 J3 T; P. t; G, [1 j
     news  ##新闻组+ r% H7 X; y8 L

% ?0 Y* ^6 O3 t     user  ##用户程序产生的相关信息$ l8 b) S" X, P! k% r
# }* ?" H  w8 }; p
     uucp  ##unix  to  nuix  copy主机之间相关的通信1 O) _' L) C8 X0 ~, H

$ T  j3 O8 ?! E& m: e     local  1-7  ##自定义的日志设备5 C5 U. p5 u( {1 I7 Z/ Y

8 _* X8 {! `5 F7 ^4 P. W9 l     2. 日志级别分为:
; V6 g& z3 J% g! j- Z
# O9 @& A: }" R6 ?( F# o5 f1 }     debug  ##有调试信息的,日志通信最多' n; K0 W% S" [# X( |( M9 h
# y2 s$ [" l2 e& D- |7 k$ s* ~
     info    ##一般信息日志,最常用
& D" y. Q; @: Z& S1 ~* ~1 q( M9 i6 F  H' A
  notice   ##最具有重要性的普通条件的信息$ a8 t% y' T6 o* c* _

4 O1 g+ ]0 v- d" I: W# c( V, ~, o  warning   ##警告级别0 x% F' A( y" T8 K; q% v+ G

9 k: x' `* O% e6 B- w& ^  err     ##错误级别,阻止某个功能或者模块不能正常工作的信息
! ^; z! V7 d" W1 b5 f7 C
# t$ j: W+ {( D) n, v' s2 @& ?! g    crit     ##严重级别,阻止整个系统或者整个软件不能正常工作的信息% J( |0 u& t/ |- j' d: Y
; I( O" @: ?2 M* u+ t7 O! B
    alert     ##需要立刻修改的信息" _0 Y# e) g2 I' g1 x
: `5 B/ ], [. l; s8 |
    emerg   ##内核崩溃等重要信息) s1 b9 a: l4 Y) i2 \& v' `
% C# e/ [& {+ w; W& Y, f" \
    none     ##什么都不记录 % B5 B) w) h3 l# n
3 m, i, J9 Z7 k8 X7 }
     注意:从上到下,级别从低到高,记录信息越来越少/ Y: m& C: s* l$ j+ U

" F* p. [) f+ j: S) o1 {3 g, _" D               详细信息可查手册:man   5   syslog
% F4 r4 G/ K! U# z" a! f
  X; P- i% q2 l  s     3.示例:在/etc/rsyslog中添加一个日志文件/var/log/xniu,当sshd服务出错时,该文件会接收到错误
& y3 M5 L# m. W$ _, H+ s4 D' \+ Z. `$ ?3 l9 |0 B* t2 ~
     [root@client ~]# vim /etc/rsyslog.conf
9 N3 N" Z% e% m$ |+ m( E ( y; p+ a5 I4 t
     
' m1 S7 y) H. F: I% K# ^6 G 7 I' Z: j* H/ M* H

8 B) I5 q6 Q" v8 W* v0 O6 G 5 w9 n1 I0 d1 s# Z1 U5 }- e4 v2 C

, q/ @# @* \3 b4 _      ) S7 B/ ^6 R1 p6 V- b- T) C
     
9 |1 d( \& D; p( G4 K     注释: ------ > /var/log/xniu ---是对文件的内容进行清空;当系统配置文件一定要重启使其生效。   
  t8 u. t: Z0 j+ D5 a: M" X$ F0 z
3.日志的远程同步 - K- e! Y) @. }* k- p  ~0 Z
9 w# K* x) B6 ^* d4 K" v
        【1】 作用:便于管理多台主机& D2 L) a% y4 U6 V( I- Y. w

4 j2 @* M# y% |& L( P& x3 i# p        【2】步骤:  3 o, m" H- \8 Y0 l3 X8 ^! H
* N$ _/ P6 w4 K6 `
    (1)在日志发送方:vim  /etc/rsyslog.conf  ----->文件里添加内容: *.*@172.25.254.97            ------>  systEMCtl  restart  rsyslog2 `6 N9 m+ k$ E, Y/ f

, g8 ^8 \" U; m1 B2 g% M! b. `      注释:添加内容里面,@表示使用udp协议发送;@@表示使用tcp协议发送
  n! c2 G/ e" b( ]6 @; M7 o3 o) J9 h6 a1 X  w' ^* c% z. Y6 y% \
    (2)在日志接收方:vim  /etc/rsyslog.conf ------>使第15行、16行有效------> systemctl restart rsyslog ------>systemctl stop firewalld' f% f; V9 a2 _) |% u7 F
4 V1 H! R  Z7 I. N7 z: k
              ------>systemctl   disable firewalld
; B" T! q8 B9 R+ P, w( T9 u# K0 G0 s
            注释: 配置文件里面,15行:$ModLoad  imudp ##表示日志接受模块;
& X. m) X0 e4 ^* L2 q  p+ o* E& T: A+ _2 }
                     16行:$UDPServerRun 514##表示开启接受模块$ w( H: W; C" @
* ~3 k- e. R8 |
                     systemctl   stopfirawalld##关闭接受方防火墙
* ?: x" A# b: {" Y7 T+ g
+ L$ ^8 D( h/ T! u; M                     systemctl    disable  firewalld   ##使防火墙开机不自启动 % @3 c8 ~+ Y8 j1 t
) D3 [9 p/ q" k* i
    (3)发送方和接收方均清空日志文件,使用命令: > /var/log/message
: v7 \# O- \5 R$ J3 S4 \* c) t. z+ b3 y, h
    (4)测试:在日志的发送方运行:logger   test  ------> cat /var/log/message   ;完成之后,会产生日志信息2 C, c- S% x3 s) P. V6 y+ [

5 X! K; n, G; Q+ B           在接受方运行:cat    /var/log/message ;
1 d. W2 Q% `% g* ]# d: R9 i: b/ N% N# k8 v# Z
        【3】示例:client虚拟机为发送方,server虚拟机为接受方;实现日志的同步- o2 ]" o: ?6 Z. p
. p, }7 \4 B; z& w# V" M, j
         [root@client ~]# vim /etc/rsyslog.conf0 m5 L7 r. F* y

. [; o: r. |% b         
' I* D+ A9 x  c- y
" f! m! k% t6 t" V
) r6 w3 K% G! t6 O. F6 y$ {& W5 }: q: Q; W7 o" O2 A, K
8 @0 x* E/ L8 q, U
         : |3 B( A7 [0 W3 e( A4 z
) x" K! B0 W, P, u7 Z1 v, H0 i& O
2 h" N$ g) Y" V+ `$ l
         
/ E- V2 E* R. Y4 e          在服务端进行操作: 9 S! M: n# R& a! ^" ]

2 d% O0 E% y7 W4 [6 B9 w         [root@server ~]# vim /etc/rsyslog.conf           
9 o. {- A$ o1 R( v, }
1 ~, y' t& f& R  K& x- M                  N0 }, T4 j1 [+ ^

; n6 K: R3 Y  E6 I
5 k" s2 t0 }: X) e         " p( `% u" N+ y- U+ C
         注意:清空日志文件的先后顺序。1 o) B- W/ H% C! M5 [$ u

% \# u( g& h, l1 z- I4.日志采集格式的设定
0 D) \/ g) q; L2 j5 {) A8 l0 }9 `5 i* V  U
  【1】作用:从发送方同步过来的日志,不利于我们查看相关信息;所以要接收方采集的日志按我们自己的设定的规则来显示* _' W0 [6 p1 r5 E4 w: O6 Q
/ T0 p( E) f! E" ]( f5 E/ R
  【2】设定步骤:vim   /etc/rsyslog.conf ------>  $template  LOGFMT,"%timegenerated%  %FROMHOST-IP%  %syslogtag%  %msg%\n"5 g' ^  g: G" y- l6 f
6 z( Q* A8 W4 C& P( u& u
             ------>  在自己显示的日志文件后面,把格式添加进去:*.*/var/log/westos;LOGFMT
8 r2 z; q/ R5 D2 t" o1 h: d% C$ a# W) p
    注释: %timegenerated%   ##显示日志时间
' _/ _- I! e1 n' ~9 Q5 q5 v5 |! Q3 h# d% _' l# W' x; n
          %FROMHOST-IP%  ##显示主机IP
( g% c6 j/ Z8 D: c/ r/ N1 f0 K/ S5 m( j$ {6 O1 J
         %syslogtag%      ##日志记录目标6 O+ y$ u' G1 ^, _
, S+ R3 P/ L' z- G3 f
          %msg%         ##日志内容" j2 m* x3 ~2 M2 x3 P9 U
# x% U0 s+ @7 A
          \n           ##换行
* e: F9 ?! y% p; ?: z  A( E3 D' {1 o+ Y! C$ d, j0 l
  【3】 示例: 在server虚拟机中设置规则,可以查看到发送方的信息
2 V! e* p" F7 Y. Q9 |, C  M
! l  h- T' _- ~  W0 @: U         [root@server ~]# vim /etc/rsyslog.conf5 }7 j: Q, W2 d' ?9 |

/ Y9 t5 s$ N# R4 s1 X
7 {( O4 d4 \" Z* ^6 Q& E         ! K8 O) J0 R) z+ |1 c# ^2 p+ A
         在server主机测试结果:
3 O  t; R- z! \9 I8 u
, _( f: x0 U7 h& t7 O! ] / i" P7 a1 ^, P5 A1 n

7 G1 N- y2 U1 j4 L# D3 v         
, d# N2 ~) G( H# @3 a, N5.日志分析和采集工具
- g0 s5 h' o! @
) S' @9 ^0 ^) F$ \$ G6 l1 u/ ~  【1】命令:journalctl##直接执行,进行日志的查看8 |' Y- D5 T  _* {
5 v3 `* |4 p2 u% I0 p
  【2】参数:-n    3    ##查看最近三条记录-perr##查看错误日志-overbose##查看日志的详细参数4 e' W) E% t, W, a
  U( R6 {$ w& g2 V. T
         --since##查看从什么时候开始的日志 --until##查看什么时候截止的日志
6 ?4 R- G+ U! U3 j1 m3 s+ l
0 [* |$ X/ J' ^4 n4 l  【3】如何使用--- systemd-journald ---保存系统日志信息
; a2 m5 _6 c7 F# Q; q' ^2 E% y  Y
/ J7 t- @* Q- g. m% D  【4】示例: 使用-n命令来显示最近3条命令 7 L( |9 Q3 X" \1 S
5 `3 Q+ O, R, h( U0 l$ @

; u& a) M" w7 t, R
; n& b1 e0 [# }                    ; c- z" N0 s8 T7 ^, \
          使用-p命令显示错误日志:
! A/ Y% N% @. I- R! A8 E& @0 h" O2 N
         " y  O) R5 m9 H+ M" J
: B/ J8 y) C1 W8 q3 {. n! n  a  T9 I2 k

+ i2 `6 d2 K% ]. |( b+ X4 m% n        使用-o  verbose查看详细参数:, D5 K4 r7 u! i- Z4 W' c
9 X2 {# x$ e- }) o) j2 J) o3 d+ C) x
0 W3 C- N5 k, y7 d- s, e% H
: |  a' ]8 a6 H( ~
            + L. I) q! D. C" V9 J9 I: N2 _8 J* v
       也可以用命令:journalctl _PID=2482 _COMM=sshd 来进行精确查找:5 O9 V& l5 U' z- d7 B

2 J0 W9 Q# a9 c$ ^1 {8 t+ J   I4 d( l) W& c. e3 _5 }

. w1 R7 u$ q3 O) m           6 S! u' R6 l3 a( X  j0 z' B
       使用命令:journalctl --since "2018-07-27 12:00" --until  "2018-07-19 00:00" 时间段的日志7 C. w* F  L, s9 z$ K2 C
7 I) T, f; x! m+ ?  f
/ |6 U: N! D0 K. [6 J

9 ]$ Z( r5 L# b4 B5 M0 n0 ~9 i       : H2 z1 N4 l+ s# F% F9 {# i+ h
+ }' M# h+ @3 o9 _5 T6 e* g' E5 N& X

4 T$ G7 o8 ?$ G/ Z! t     补充:日志在系统的存储是暂时的,系统重启后之前的日志信息就不会存在。可以通过以下步骤实现日志的信息保存(在设置之后的留下的信息)   
: s' P2 `( @3 q) l! ~
2 ]+ Y( Y$ l! O# L4 P+ M3 o     [root@client ~]# mkdir /var/log/journal
$ {2 b: K8 B! U$ S3 g, o$ S- s8 a     [root@client ~]# chgrp systemd-journal /var/log/journal/   
% U* A* f3 R8 `& V$ s' O5 E5 z     [root@client ~]# chmod g+s /var/log/journal/        ## 把该文件的使用均指定为组信息
7 M* ?7 o& j# P% n' ]  t0 R     [root@client ~]# ps aux | grep systemd-journal
3 y' ?, C3 ~6 y& y: r; a     root       364  0.0  0.2  40864  2428 ?        Ss   06:05   0:00 /usr/lib/systemd/systemd-journald% \  t/ K6 ~- A% L
     root      5298  0.0  0.0 112644   936 pts/0    R+   12:08   0:00 grep --color=auto systemd-journal
* ]4 q+ L: m' R% ~/ w     [root@client ~]# killall -1 systemd-journald        ##重新开启日志进程. ?9 ^1 D, {* q2 B2 F
     [root@client ~]# cd /var/log/journal/! u( f2 H  p5 q  H6 B2 A5 {
     [root@client journal]# ls
5 \3 q! Y8 X+ n- K% `' n. a5 R+ @6 N     946cb0e817ea4adb916183df8c4fc817            ##记录日志信息的id
8 r, o0 Q5 }) {% F7 Y7 W/ L. c2 \     [root@client journal]# ll                   ##该日志会记录7-20 12:09以后的记录1 K0 g% v& P& z
     total 08 v; [" J! E/ T0 t$ W
     drwxr-sr-x 2 root systemd-journal 27 Jul 20 12:09 946cb0e817ea4adb916183df8c4fc817
4 A: |1 w) R8 c: M- c# I     [root@client journal]# date
; A* I$ a* f( m7 A3 f      Fri Jul 20 12:10:17 CST 2018' c0 l: }( A+ [
6.日志时间同步2 {2 @0 E# ^6 f0 w
( C# y$ F5 Z' ~& m- v  ]6 J# n/ s& x. P
  【1】作用:让多台虚拟机保持时间的一致。6 e3 j- N3 _) Z$ n/ b; [

3 F2 o) R7 r, S2 d5 Z2 O7 [- L  【2】服务名称:chronyd$ \0 X3 G$ @- ^! {
6 Q3 j% w9 F4 [' _; k) p
  【3】步骤:(在两台虚拟机下进行)1 k+ ^* B, _5 M( ]
( h) H) H3 w# N% r3 b  K& Q
           (1)在服务端配置:vim  /etc/chronyd
9 Q( m- H7 b1 ?/ d& o' A8 c% q3 Q, [, Y* R5 f
                            22行 allow  172.25.254.0/24    ## 允许ip为172.25.254.0、子网掩码为24的主机同步时间# E! t0 P2 @; `3 ]$ {

" x1 e6 d/ B0 o9 K! e                            28行 local stratum 10     ##表示不同步其他时间; R& w( [: _5 _& Z2 O
; M2 u% u1 f+ P  O& i
                            systemctl  restart  chronyd   
9 |# l# S- b& ?; X* r
3 }5 l: k: J7 y6 D            (2)在客户端配置:vim  /etc/chronyd
& p) g! k, n2 X, C
4 e1 K& L6 Y: Z) }                           2-5行留下一行:server  172.25.254.97    ##表示要同步的主机为172.25.254.978 M+ f1 X& `2 w

5 j9 c- h: P5 R# P                           systemctl restart  chrond             ## 重启服务
7 S- k# n' V4 j' g+ ^
+ h3 L# ^) a9 W+ n                           systemctl stop  firewalld             ## 关闭防火墙5 T: Q+ m' w+ G/ C$ |
$ F3 `" v- R3 U& A$ Q* _; p9 `6 ]% T
           (3)测试:在客户端输入:chronyc  sources -v
1 F7 b: t8 c  j- m7 N3 v( {1 C9 ^8 w5 D  d" v1 C
                若结果为如下,则表示同步成功:- T+ E+ w! C& V3 A$ f
( M* ]. S2 c4 ?5 h4 p
3 |% r/ n3 X! C7 z, H% e& r5 x
            
* G' h. G- ~9 p+ {) M  d% @            注意:在做此实验前,两边的时间是不相同的(可以使用date查看);服务器端和客户端要关闭防火墙,这样可以进行数据的同步;7 q% G8 @- m; P/ ]1 ?. V

) u% ^6 a* f, E1 I4 N                      文件配置之后要重启。               , d( X& e, i0 p- D5 R4 ~( x) W

7 X% K$ \9 _) X( G' b* o; P2 N7.时间设置timedatectl
/ S" p) n+ u! F* z* i; G# P0 A8 }
       使用timedatetcl查看系统时间  @3 w) ]3 B' P" a! t5 z
( Q4 @9 a' b$ y& b7 d7 s5 k
: n% I( i2 v# ?4 ^
7 t4 C3 v! W7 f* f2 I
      
  w1 m, \* G- r$ _" H0 s; I: |6 m       命令timedatectl list-timezones列出所有时区
$ J3 P) V0 r' B" r  ]& l4 C9 n3 W$ M; O4 x
& `, k1 {# ^7 T/ c3 v- e) [4 J

. s, u* {! X) ]( F. B8 ?      
/ v+ C: D8 P0 s       使用--- timedatectl set-timezone  时区名---来修改时区 # ]( M. |; F- I+ K2 j! w
/ i7 p% Z6 |8 W' {9 {: s. k

5 i5 h. k. S) ^% |% k4 e8 b1 [5 o" Y
* b$ q3 u& p* }5 E      ( s& B0 ~. ^' Z% R" B. _
      使用---timedatectl  set-time  "2018-7-20 12:00:00" ---对时间设定7 x9 q% O0 S& |6 d7 {8 o; e
5 |+ J3 e& T9 v2 T( V2 C
7 k% X, u3 ~4 i" w( v+ y
/ o! G. l  T8 a8 H
       5 @# I. H+ T4 ^: i( [. F: [
      注意:当前系统中的时间为bios时间+时区(windows下无这种计算方法);
9 D, P6 m( g1 B, u5 k' {2 ?6 D+ }! W2 H& V1 W
          ---timedatectl set-local-rtc 0---表示使用UTC时间6 S+ s/ L) y  x4 f9 D9 c

% _9 q1 q- |) h          ---timedatectl set-local-rtc 1---表示使用LOCAL时间: }5 u4 V- j) r1 o
         
- {% e7 _+ W. t
+ B: s8 T  ], Q5 V/ z0 G

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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