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

Linux系统日志管理

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
& q( g) s& Z% a5 N) p
1、系统常用的日志(日志是用来记录重大事件的工具)
) H# u0 w+ L- ?5 w7 B
4 H6 v: Y% [, z, B0 b    /var/log/message      系统信息日志,包含错误信息等
: ^& z. I' n& y+ T* y( ~4 x: d8 s$ F' w2 \$ `
    /var/log/secure         系统登录日志
3 G" X- I. Y3 }0 p& x. }# G! i% s% w) ]) \8 Q2 R
    /var/log/cron            定时任务日志1 i. n! [6 W3 U+ @
# _8 \) J6 W/ t  j3 ]; `
    /var/log/maillog         邮件日志
/ v0 t3 j* A, I# _, W
% J" J. v) d, N7 \6 p    /var/log/boot.log       系统启动日志4 T6 e7 E; q7 L0 a

# N2 ?6 h$ U& G. ~! ]! K2、日志管理服务 rsyslog
7 a9 Y2 ~0 x$ t  ~9 u$ W" D+ S7 I- d9 r! a! }7 o) ?
    【1】作用:主要用来采集日志,不产生日志
/ a. ~! v  C# N0 @! T
. }1 H& O( R0 i9 n8 a    【2】配置文件:/etc/rsyslog.conf
7 o  k, i: O) p+ [
! y/ j5 ], T$ U+ v& {1 e# y' H# v3 g   编辑文件时的格式为:  ------  *.*           存放日志文件 ------- C+ z4 T7 l( F8 c+ g2 M

* v1 Y  `4 \+ c7 }          其中第一个*代表日志类型,第二个*代表日志级别) J& g6 J2 }+ [3 E( g
" E+ g! K. e( J& A+ H; ^
    1.日志类型分为:
! Q" \5 n8 t) h& P* ]6 {5 C- x% O& o2 F3 N4 v% ~' D7 o
     auth              ##pam产生的日志
! l2 U+ x$ m6 G( {+ G4 ?- y* K( A2 _3 O% y- L: ~
     authpriv             ##ssh、ftp等登录信息的验证信息
6 }# Z: ^) w1 l  P
- `% n& l/ H1 X: @9 B1 ^9 g+ K& Q     corn                ##时间任务相关4 ~# E' A7 R% q7 n
9 ]3 F8 j5 B) F5 B2 @, i
     kern              ##内核- ]% [4 s& U1 c, f. x+ @

2 x1 \: w; B4 @5 {8 k7 f8 I     lpr                 ##打印: z4 U! ?- v3 b* [
9 R& i6 ~! l5 q5 ^: U
     mail                    ##邮件6 D6 B* i9 \+ x8 A2 k& T

* [# z  i6 Y7 a/ N! ~3 r8 m6 V     mark(syslog)-rsyslog##服务内部的信息,时间标识
8 @- y' R" W2 z& N; ^8 M/ N! J0 f9 l0 Y! C8 S
     news  ##新闻组+ i$ q& `' t4 e- V& f$ {

7 A+ H# M8 a4 d/ G     user  ##用户程序产生的相关信息3 o( X" u2 j+ U, f" \
; ?% Y% f5 b0 e+ p/ D' D
     uucp  ##unix  to  nuix  copy主机之间相关的通信
. G* }% o1 C: m6 o0 l8 G2 \3 U, s. j
# Y/ B0 C, O% J9 j     local  1-7  ##自定义的日志设备, p+ r! I% {5 p! J& @. \3 y
4 v) a' W2 r* l- _9 W
     2. 日志级别分为:2 [- O& D& J8 m3 A$ C! K4 a0 K' I
# I% o* T) p. S6 t4 R, t/ ^
     debug  ##有调试信息的,日志通信最多1 @3 N6 v$ u  X# @* u% ]
% F' {+ A- x7 M0 q+ |
     info    ##一般信息日志,最常用
6 s+ s- H) r( U6 A( j0 O9 I
; f2 I5 I  d/ `' d0 l* T1 {" N  notice   ##最具有重要性的普通条件的信息
; U6 n" ^$ v: C) B" C2 Z! n
6 Z3 Y( Q' ^4 |+ ^  warning   ##警告级别
" C, F8 }% [0 i0 N% g7 y: L8 L3 ]* |5 H9 K2 H2 S) q, ^
  err     ##错误级别,阻止某个功能或者模块不能正常工作的信息
$ V, O0 d+ e! n7 ~8 B- @/ x) ]7 t. T% E9 _/ b9 M4 u& y6 J& R
    crit     ##严重级别,阻止整个系统或者整个软件不能正常工作的信息3 d( Y9 b$ L# ~. M

4 z  Q) O% D' E8 ~    alert     ##需要立刻修改的信息
* X3 k  @! |0 S+ i, I0 E. f6 ^& U; T  I% T
    emerg   ##内核崩溃等重要信息+ g; M: H+ m' b& C& K2 }  _
; u$ E, r1 C* S5 |7 x' n
    none     ##什么都不记录 9 O  H- O1 V5 x. m5 Y4 I% d( U
' T; H" Y. I9 y3 N
     注意:从上到下,级别从低到高,记录信息越来越少
  j9 F6 r; J. E: i5 t* e5 ~- S% {8 L
               详细信息可查手册:man   5   syslog
, O) G8 v1 A2 t( a
/ ]& G1 e$ I0 H/ w7 p) h     3.示例:在/etc/rsyslog中添加一个日志文件/var/log/xniu,当sshd服务出错时,该文件会接收到错误. z8 k9 e' e! k# R* ]+ Q' U7 O9 \, Q
; t+ o7 A+ l! J7 w3 @0 R; s, j
     [root@client ~]# vim /etc/rsyslog.conf+ l: b3 h% B( F% m2 f: Y" ^

3 ~% @+ b" J) h      $ h$ c7 L+ {3 u2 U% b7 R

) b$ x7 h, s0 M, O5 e9 q
* O/ e7 Y* Z$ p( X2 u
& A1 b7 j. S8 [7 k: A# K" X$ b
2 M. N9 s5 V. ]4 H0 w! a      
) B. T+ \/ F5 W' S/ i     : ?1 Q3 _# x/ U
     注释: ------ > /var/log/xniu ---是对文件的内容进行清空;当系统配置文件一定要重启使其生效。   
9 D* f$ h6 U9 u; ^1 w4 H8 Z' G( E0 M7 ?- Z1 [, m& l
3.日志的远程同步
0 I& u0 a0 [, F4 V* z
  F8 o7 b: Y* v" J        【1】 作用:便于管理多台主机# x: U' L$ r( n, t

5 B; \! i* q5 f* ]$ n        【2】步骤:  : ]3 h6 N0 u! |- v9 R

, H0 Q1 C- p- t2 N: e9 l6 ^    (1)在日志发送方:vim  /etc/rsyslog.conf  ----->文件里添加内容: *.*@172.25.254.97            ------>  systEMCtl  restart  rsyslog
! D7 k/ a  ]% k; e2 i- J
0 J0 O$ e; c: ]: ]  y      注释:添加内容里面,@表示使用udp协议发送;@@表示使用tcp协议发送 0 t8 |' K  _. C0 B9 Z( M

" a% P4 T8 v. a# ?; c* `    (2)在日志接收方:vim  /etc/rsyslog.conf ------>使第15行、16行有效------> systemctl restart rsyslog ------>systemctl stop firewalld
8 l6 `, M$ J8 G3 v
9 H7 Z( r" O- H! h. {1 f, s  N: b              ------>systemctl   disable firewalld" L2 x6 f' B. g- e
7 F4 g, E3 \7 Z
            注释: 配置文件里面,15行:$ModLoad  imudp ##表示日志接受模块;! Q" G2 C9 [+ U
. e4 m: C  z( S* J1 V
                     16行:$UDPServerRun 514##表示开启接受模块1 }6 C/ i' N: P5 u" @9 G8 w
, g; l# n+ u; t9 R. V2 e* t1 |
                     systemctl   stopfirawalld##关闭接受方防火墙
) F5 F# z3 g4 h& G; t% [* e- Y
  M: s# u6 y  F  v- A, ?                     systemctl    disable  firewalld   ##使防火墙开机不自启动 5 b% Y$ k3 M/ o- q% Z/ A
( w+ I) g$ |' a
    (3)发送方和接收方均清空日志文件,使用命令: > /var/log/message 1 w( O( [) y, H

* |* a# o/ k& @    (4)测试:在日志的发送方运行:logger   test  ------> cat /var/log/message   ;完成之后,会产生日志信息
5 O9 Q: H- f: c! a" Q/ ~
  E4 [* e( [7 C2 a           在接受方运行:cat    /var/log/message ; - b; I4 K9 L' h  D4 z

* R# N/ F' Y7 y- L9 S6 K        【3】示例:client虚拟机为发送方,server虚拟机为接受方;实现日志的同步
, R, _/ Z( u6 x0 F' Z% R% ?- ?6 G/ `/ e+ R- o" J0 X# i! G; T; O
         [root@client ~]# vim /etc/rsyslog.conf2 C& T' v, {& T7 \( B+ `. d5 l
/ L& e7 w1 h* v
         
! H! }& k$ V2 D4 O& U6 A6 g# \' {* i: r: `, _1 t2 M- f

& U: ~4 n" G* h9 V2 y, P' w. W% {. \7 ~: ?' W$ p& l+ O

8 `7 \4 ]6 T9 H. x7 S& y8 D         6 b% d/ \# m3 O/ v0 S
5 ^- C' U% K# U$ \4 I5 K5 b
2 Q) ]1 L2 o2 z1 I9 M' O
         ; W- N! I3 x# F8 a* g& n6 H
          在服务端进行操作:
7 F! z* O1 e1 J# l
0 d' ?3 {0 Y" p: [! `. K8 I         [root@server ~]# vim /etc/rsyslog.conf             E* S1 a, d$ n) L  s
: f% n' k/ L$ S, w( \" y$ |
               
: z& q: s3 M/ g1 R2 V+ X1 L# P7 {6 e! N( Q$ E
2 S9 g& b3 M5 N* y" O
         
" C! @. I- L, v1 T         注意:清空日志文件的先后顺序。
) S6 g; C9 \, ^  o5 _; H8 t1 W7 t6 o, `# [3 a0 m
4.日志采集格式的设定$ g2 N" ?, d+ I6 W5 @% J

, V  q1 ?0 X7 j& W2 m' n9 X# y  【1】作用:从发送方同步过来的日志,不利于我们查看相关信息;所以要接收方采集的日志按我们自己的设定的规则来显示
6 |4 j; `: Z- ?  n' R) ?9 ]% y& c+ v( i
  【2】设定步骤:vim   /etc/rsyslog.conf ------>  $template  LOGFMT,"%timegenerated%  %FROMHOST-IP%  %syslogtag%  %msg%\n"- k) L: e1 S. z' x

! M4 c# p2 j7 s9 [% p* H             ------>  在自己显示的日志文件后面,把格式添加进去:*.*/var/log/westos;LOGFMT 4 d7 v* P/ g; H
* O! D" s; ~' v' ?
    注释: %timegenerated%   ##显示日志时间
/ D9 s# S3 t$ ~5 w6 n9 e$ Y5 q6 ~, f
          %FROMHOST-IP%  ##显示主机IP
7 X: g& ~' f0 G( A: r/ o# V) B( o! z; k8 U( }. ]. }% f- H( O/ |
         %syslogtag%      ##日志记录目标8 R$ H1 T3 D. [

% b* u5 d: Z  n5 H' y# J/ T) r          %msg%         ##日志内容
  H' _9 z) o: H# d) h
" }( d# |% H1 N5 k" n. @( q          \n           ##换行
2 ?& e" d1 J" b8 Q2 m" y* C1 h; u; e$ M" [
  【3】 示例: 在server虚拟机中设置规则,可以查看到发送方的信息+ r, m% ]0 S- r8 Y* |4 M9 D+ P
3 r( R* j0 {& q7 g1 u
         [root@server ~]# vim /etc/rsyslog.conf
6 {' D9 }3 O5 ^# c
9 w2 y. v6 y1 i) Q: A 7 O( A* o; N5 v( X7 C& Y, F
         
# l) a% [5 v# X# a" p* u- P         在server主机测试结果:5 ?7 E4 A5 t9 m1 ^+ m/ o* A
" O: [  J4 m2 m( I) N

1 y! I6 V6 s+ m2 h0 x+ [: q
# O5 R" f! _  f         
# v, W: n8 o# H0 v% u  R# B7 \+ U5.日志分析和采集工具
( o) Q+ j: f! |1 G& v# ^/ E+ Z: Y/ r( r( j
  【1】命令:journalctl##直接执行,进行日志的查看# v0 {+ E- a6 v0 S9 i* ~

& N9 `  q  w9 ]) q7 \  【2】参数:-n    3    ##查看最近三条记录-perr##查看错误日志-overbose##查看日志的详细参数  x% E' h. v7 w4 Y" q6 _( m0 U

( \8 j" E' p* Z9 v( H6 j- j         --since##查看从什么时候开始的日志 --until##查看什么时候截止的日志" m: a: p) B: [; @; I

  }# b+ M1 ?% A3 `  【3】如何使用--- systemd-journald ---保存系统日志信息
, B& Q. U& Z' x* r& O  W5 T) C8 m0 ~' s* X
  【4】示例: 使用-n命令来显示最近3条命令
- C& J6 q0 Y( a$ L" i& B# w' v4 i( ~6 ]& p! ?, R
+ b" ~3 M% Q: J, N; `4 ?

( \1 Q1 ~9 V/ t                    
1 H; V$ r; Y+ _$ G% W          使用-p命令显示错误日志:
% }5 u; N) \- Y' t( u) q) M3 Y, ^
        
; p5 G2 K. {& w! {( k. J3 \5 A
: F! w, Z! k) c1 L- d
# h' t. x2 p0 P) v        使用-o  verbose查看详细参数:
. B" D2 a1 n& \% J- D1 m- Q- M' @8 k) P8 G  N5 K* R$ P

% Q- q* p/ }8 [2 \+ b+ L
; Q6 O2 `- x& F5 i/ @            
  r# n2 q- x% ~% m       也可以用命令:journalctl _PID=2482 _COMM=sshd 来进行精确查找:
+ N+ q2 [( U/ |: J9 \
! a3 m, p% h8 \ 9 d  Q$ q) [, l  D& E/ m& t0 j

+ B# j# ]; P: Y" S4 ^           1 d% a$ S4 a9 ^8 S- ~3 `
       使用命令:journalctl --since "2018-07-27 12:00" --until  "2018-07-19 00:00" 时间段的日志: a/ |3 ]3 e- B  F  `

/ o) z6 Z- c% j2 H7 H7 t
. w( y% C# y2 ]0 `: o
* }  @: Y1 h, O7 p$ r1 T5 a' W3 O       , m6 b8 r" D7 _
+ L  H. I7 m; F9 @
; n4 d2 N$ U- {0 g
     补充:日志在系统的存储是暂时的,系统重启后之前的日志信息就不会存在。可以通过以下步骤实现日志的信息保存(在设置之后的留下的信息)   9 g7 {, ]1 y1 @7 {5 r
: R% o5 y& Y+ t8 O' L  l
     [root@client ~]# mkdir /var/log/journal
8 b& Z9 w0 R3 o* U: B4 C     [root@client ~]# chgrp systemd-journal /var/log/journal/   / s- i& u# A* U) G
     [root@client ~]# chmod g+s /var/log/journal/        ## 把该文件的使用均指定为组信息
: Y) \$ B3 t# |7 p1 P2 J) t     [root@client ~]# ps aux | grep systemd-journal7 s& n" h! ?3 c5 ]
     root       364  0.0  0.2  40864  2428 ?        Ss   06:05   0:00 /usr/lib/systemd/systemd-journald
1 s- J' [; p: ~0 q/ H/ g' v3 C' n     root      5298  0.0  0.0 112644   936 pts/0    R+   12:08   0:00 grep --color=auto systemd-journal
& h( {/ t! j- ^$ d0 w     [root@client ~]# killall -1 systemd-journald        ##重新开启日志进程
  Y% q( Q/ _9 ~3 w  s* s! a- F$ M     [root@client ~]# cd /var/log/journal/
5 d7 b* q( O1 Y     [root@client journal]# ls. ]3 k+ ^2 E/ z  M! D- m: F
     946cb0e817ea4adb916183df8c4fc817            ##记录日志信息的id4 v+ w& l( \6 R' l( D( ~$ W
     [root@client journal]# ll                   ##该日志会记录7-20 12:09以后的记录9 W5 v* |) ~7 U3 Q3 _5 x% F
     total 0
. y2 E+ b+ I2 D! H     drwxr-sr-x 2 root systemd-journal 27 Jul 20 12:09 946cb0e817ea4adb916183df8c4fc817
' D5 S' i$ v0 z, G! S3 ?     [root@client journal]# date3 I- y$ G- Z0 Q5 f
      Fri Jul 20 12:10:17 CST 2018
' m- l0 A7 d1 d9 V. K6.日志时间同步
8 l4 I7 E9 f$ m/ l* m: C2 D- V  o3 z& h1 i
  【1】作用:让多台虚拟机保持时间的一致。4 q+ @9 X3 l4 l, r) }+ t

: l/ |( k% [+ b7 i9 m5 I  X  【2】服务名称:chronyd1 @4 q; A! R" P( Q( a

& m( b# S1 p. s% b; h& Y1 n0 o9 Q  【3】步骤:(在两台虚拟机下进行)# i$ V9 u7 D" x8 P

9 z; @" {  |# T# ^1 |           (1)在服务端配置:vim  /etc/chronyd4 F# K; x7 S' p! z( s

5 [; k' j2 A6 q                            22行 allow  172.25.254.0/24    ## 允许ip为172.25.254.0、子网掩码为24的主机同步时间8 ^" }7 {% Z* x/ o0 O7 h

$ {2 h2 W. N: M6 ]' U                            28行 local stratum 10     ##表示不同步其他时间
+ u4 O9 {+ ~  M! p  T; u
  o! t- x! e5 P                            systemctl  restart  chronyd   
) n/ ^) q4 a# J# t/ j4 i( H% K2 n5 o& g4 Z. o# \7 k
            (2)在客户端配置:vim  /etc/chronyd- t/ Z- C7 r' N; X8 ]3 [0 k

: G- K+ z9 ?& N: ~% x                           2-5行留下一行:server  172.25.254.97    ##表示要同步的主机为172.25.254.97
' x# Y: h5 U% b% A, T2 f
) {$ K4 f* J% w6 B                           systemctl restart  chrond             ## 重启服务0 n7 v" h* R, Z& _# {: u& A
8 h6 C' `  @" F$ C1 x6 \' |% ^
                           systemctl stop  firewalld             ## 关闭防火墙
# F" a" N2 V/ Q# l+ ]7 o3 }7 d* ^1 [
           (3)测试:在客户端输入:chronyc  sources -v! z5 u) r0 P9 q  l" P' o7 c# [

; N" d* D' M0 ]  K1 u8 ?                若结果为如下,则表示同步成功:: v5 @% h, x# W" ]% o+ D7 q
# `  n: g1 O$ I( S, r3 j; f
6 P9 N) o" v/ ~4 G. R( V( P5 B
            
: \5 X" p  w# R8 g3 C# w$ j            注意:在做此实验前,两边的时间是不相同的(可以使用date查看);服务器端和客户端要关闭防火墙,这样可以进行数据的同步;
& t1 |8 G" P9 i! |$ s7 F; B- b5 x9 k! ~+ R/ V$ u
                      文件配置之后要重启。               + v7 U$ [& \, Q. w

, D7 h4 q$ o7 t/ K) E/ {8 U7.时间设置timedatectl   B4 t( C! l6 p* U

$ I. R. T: p2 A- L5 b: U, N       使用timedatetcl查看系统时间7 d& e& i$ \; E* ~) S$ Y

) H  [% `& D' e
4 N- V1 F( W4 I* F6 ^: y7 j9 c4 b" ^/ E  V. O& O. R' I
      
6 |5 o! n+ C$ o0 [       命令timedatectl list-timezones列出所有时区
2 E! H; a( Y' ]. U) ~2 O0 i9 U/ G1 W+ {8 L& L

  w) F) z; z! }' l4 v9 k" E6 u  y& n: S: Y; b  B
      1 @# `, j; R5 V. b. v, E
       使用--- timedatectl set-timezone  时区名---来修改时区
6 \0 {0 ^+ d; n! }& i  _" h7 R( w
6 p" I$ D% W' D+ Q- n2 B: E  h; j 6 g; O) z6 ]& S3 N% X/ n5 p

* v$ R/ g7 ^5 D      7 z: e- B" Z. R9 }
      使用---timedatectl  set-time  "2018-7-20 12:00:00" ---对时间设定" d1 y7 S# t3 w! l
2 m1 z. P2 u  E+ b! f5 B. U
* \3 o; i/ w% ?* v, h5 K& b% S

/ g5 d. I! _3 Q       1 j) U9 p  w7 x7 j: Z
      注意:当前系统中的时间为bios时间+时区(windows下无这种计算方法);
; b+ V1 d7 I5 c8 A% }% D* ?2 g" X! N5 P
          ---timedatectl set-local-rtc 0---表示使用UTC时间
# v$ e9 {1 g1 L7 U: i. d$ ^
6 j; ~1 t* [( y( z          ---timedatectl set-local-rtc 1---表示使用LOCAL时间
# X- r' C, ?4 u1 s1 W' s8 |% i         " q+ {' ?1 N  @  I0 c/ S5 J3 k

$ g9 ^  K. m: w8 S+ }& {& j

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-24 12:39 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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