강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

로그구성 및 로그모니터링하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

로그구성 및 로그모니터링하기

 

 

 

시스템관리자는 자기가 관리하는 서버의 로그파일을 항상 모니터링하고 또한 감시해야 한다.

 

 

 

 그 중에서 telnet이나 ftp 또는 ssh등으로 23번포트, 21번포트, 22번포트등을 통해 들어오는 원격접속에 관련된 로그에 대하여 가장 예민하게 확인해야 한다.

 

 

 

 이러한 원격접속에 관한 로그기록은 /etc/syslog.conf파일에 정의되어 있는 것 처럼/var/log/secure에 하고 있다.

 

 

 

 

 

이들에 관한 로그를 계속적으로 모니터링하고자 한다면, "tail -f /var/log/secure"라고 하면 된다.

 

 

 

 이에 관련된 로그를 실시간으로 계속해서 보여주게 된다.

 

 

 

 

 

[root@RockyLinux ~]# tail -f /var/log/secure

Jun 28 09:41:38 RockyLinux01 polkit-agent-helper-1[2914]: pam_unix(polkit-1:auth): user [sspark] has blank password; authenticated without it

Jun 28 09:41:38 RockyLinux01 polkitd[955]: Operator of unix-session:4 successfully authenticated as unix-user:sspark to gain TEMPORARY authorization for action org.freedesktop.NetworkManager.settings.modify.hostname for unix-process:2788:19389 [nmtui] (owned by unix-user:sspark)

Jun 28 09:41:50 RockyLinux01 su[2951]: pam_unix(su-l:session): session opened for user root(uid=0) by (uid=1000)

Jun 28 09:43:04 RockyLinux01 su[2951]: pam_unix(su-l:session): session closed for user root

Jun 28 09:45:42 RockyLinux01 sshd[1836]: pam_unix(sshd:session): session closed for user root

Jun 28 09:45:51 RockyLinux01 sshd[3168]: Accepted password for root from 192.168.19.111 port 51112 ssh2

Jun 28 09:45:51 RockyLinux01 sshd[3168]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)

Jun 28 13:44:35 RockyLinux01 useradd[39276]: failed adding user 'mysql', exit code: 9

Jun 28 14:14:00 RockyLinux01 atd[43141]: pam_unix(atd:session): session opened for user root(uid=0) by (uid=0)

Jun 28 14:14:12 RockyLinux01 atd[43141]: pam_unix(atd:session): session closed for user root

 

 

 

 

 

다음은 시스템로그파일이라고 하는 /var/log/messages 로그파일에 대한 실시간 모니터링방법이다.

 

 

 

 즉 거의 모든 시스템에 관련된 중요한 로그(이벤트)들에 대한 기록은 모두 /var/log/messages에 남겨지게 된다.

 

 

 

  /var/log/secure파일처럼 실시간으로 계속 모니터링하려면 "tail -f /var/log/messages"라고 하면 된다.

 

 

 

 

 

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

Jun 28 14:14:12 RockyLinux01 systemd[1]: session-7.scope: Consumed 11.505s CPU time.

Jun 28 14:14:12 RockyLinux01 systemd-logind[961]: Session 7 logged out. Waiting for processes to exit.

Jun 28 14:14:12 RockyLinux01 systemd-logind[961]: Removed session 7.

Jun 28 14:32:00 RockyLinux01 cupsd[1001]: REQUEST localhost - - "POST / HTTP/1.1" 200 185 Renew-Subscription successful-ok

Jun 28 14:32:43 RockyLinux01 chronyd[1012]: Received KoD RATE from 158.247.195.140

Jun 28 15:15:16 RockyLinux01 systemd[1]: Starting dnf makecache...

Jun 28 15:15:16 RockyLinux01 dnf[44126]: 최근에 메타 자료 캐쉬가 새로 고쳐졌습니다.

 

 

 

 

Jun 28 15:15:16 RockyLinux01 systemd[1]: dnf-makecache.service: Deactivated successfully.

Jun 28 15:15:16 RockyLinux01 systemd[1]: Finished dnf makecache.

Jun 28 15:30:20 RockyLinux01 cupsd[1001]: REQUEST localhost - - "POST / HTTP/1.1" 200 185 Renew-Subscription successful-ok

 

 

 

 

다음은 메일로그라고 하는 /var/log/maillog라는 로그파일에 대한 실시간 모니터링 방법이다.

 

 

 

  sendmail이나 pop(qpopper)등으로 인하여 메일경유 또는 메일송수신에 관련된 기록은 /var/log/maillog파일에 기록을 하게된다.

 

 

 

  앞에서 본 것 처럼 메일관련로그파일을 모니터링하려면 "tail -f /var/log/maillog"라고 하면 된다.

 

 

 

 

 

[root@RockyLinux ~]# tail -f /var/log/maillog

Jun 23 12:45:02 RockyLinux01 sendmail[2188]: 35N3j2gb002188: from=root, size=9540, class=-60, nrcpts=1, msgid=<202306230345.35N3j2gb002188@RockyLinux01>, relay=root@localhost

Jun 23 12:45:02 RockyLinux01 sendmail[2188]: 35N3j2gb002188: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=147540, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

Jun 27 12:24:02 RockyLinux01 sendmail[2325]: My unqualified host name (RockyLinux01) unknown; sleeping for retry

Jun 27 12:25:02 RockyLinux01 sendmail[2325]: unable to qualify my own domain name (RockyLinux01) -- using short name

Jun 27 12:25:02 RockyLinux01 sendmail[2325]: 35R3P2OR002325: from=root, size=10728, class=-60, nrcpts=1, msgid=<202306270325.35R3P2OR002325@RockyLinux01>, relay=root@localhost

Jun 27 12:25:02 RockyLinux01 sendmail[2325]: 35R3P2OR002325: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=148728, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

Jun 28 10:45:03 RockyLinux01 sendmail[9657]: My unqualified host name (RockyLinux) unknown; sleeping for retry

Jun 28 10:46:03 RockyLinux01 sendmail[9657]: unable to qualify my own domain name (RockyLinux) -- using short name

Jun 28 10:46:03 RockyLinux01 sendmail[9657]: 35S1k3ab009657: from=root, size=15066, class=-60, nrcpts=1, msgid=<202306280146.35S1k3ab009657@RockyLinux>, relay=root@localhost

Jun 28 10:46:03 RockyLinux01 sendmail[9657]: 35S1k3ab009657: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=153066, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

 

 

 

 

 

다음은 /var/log/boot.log라는 시스템부팅메시지를 보관하고있는 부팅로그파일의 내용을 확인한 것이다.

 

 

 

 즉 부팅시의 에러나 부팅시 장애등을 확인해보려면 부팅로그 (/var/log/boot.log) 파일을 살펴보면 된다.

 

 

 

 

 

[root@RockyLinux ~]# tail -f /var/log/boot.log

         Starting Virtualization qemu daemon...

         Starting Vsftpd ftp daemon...

[  OK  ] Started Vsftpd ftp daemon.

[  OK  ] Started Notify NFS peers of a restart.

[  OK  ] Finished Permit User Sessions.

[  OK  ] Started Deferred execution scheduler.

[  OK  ] Started Command Scheduler.

         Starting GNOME Display Manager...

         Starting Hold until boot process finishes up...

[  OK  ] Started GNOME Display Manager.

 

 

 

/bin/dmesg라는 명령어를 다음과 같이 실행하여 부팅메시지를 확인할 수도 있다.

 

 

 

 dmesg라는  명령어를 통해서 관련 부팅시의 로그기록을 살펴보는 방법은 아래와 같다.

 

 

 

 

 

[root@RockyLinux ~]# dmesg | more

[    0.000000] Linux version 5.14.0-162.23.1.el9_1.x86_64 (mockbuild@dal1-prod-builder001.bld.equ.rockylinux.org) (gcc (

GCC) 11.3.1 20220421 (Red Hat 11.3.1-2), GNU ld version 2.35.2-24.el9) #1 SMP PREEMPT_DYNAMIC Tue Apr 11 19:09:37 UTC 20

23

[    0.000000] The list of certified hardware and cloud instances for Enterprise Linux 9 can be viewed at the Red Hat Ec

osystem Catalog, https://catalog.redhat.com.

[    0.000000] Command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-5.14.0-162.23.1.el9_1.x86_64 root=/dev/mapper/rl-root ro resu

me=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet selinux=0

[    0.000000] [Firmware Bug]: TSC doesn't count with P0 frequency!

[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'

[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'

[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256

[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.

[    0.000000] signal: max sigframe size: 1776

[    0.000000] BIOS-provided physical RAM map:

 

 

 

 

그리고 다음은 dmesg라는 명령어를 "dmesg | grep 관련문자" 와 같은 형식으로 사용한 예로서 부팅메시지들 가운데 원하는 부분만을 확인하고자할 때 사용한다.

 

 

 

 다음 예는 부팅시에 Memory에 관한 로그기록을 보고자 한 것이다.

 

 

 

 

 

[root@RockyLinux ~]# dmesg | grep Memory

[    0.012035] Memory: 260860K/2080452K available (14344K kernel code, 6000K rwdata, 9208K rodata, 2744K init, 7196K bss, 153576K reserved, 0K cma-reserved)

[    0.152566] x86/mm: Memory block size: 128MB

[root@RockyLinux ~]#

 

 

 

 

마지막으로 시스템에는 크론(crond)과 예약작업(atd)에 관한 로그를 기록하는 파일이 존재하며 보는 바와같이 /var/log/cron에 존재한다.

 

 

 

  crond은 시스템에 정기적으로 실행되는 것에 대한 설정을 가지고 지정된 시각에 실행하는 데몬이다.

 

 

 

  crond /usr/sbin/crond이며, 이 데몬에서 남겨지는 로그기록 파일은 /var/log/cron이다.

 

 

 

  이를 모니터링하는 방법은 위와 동일하게 "tail -f /var/log/cron"으로 하면 된다.

 

 

 

 

 

[root@RockyLinux ~]# tail -f /var/log/cron

Jun 28 13:01:01 RockyLinux01 CROND[38459]: (root) CMDEND (run-parts /etc/cron.hourly)

Jun 28 14:01:01 RockyLinux01 CROND[42610]: (root) CMD (run-parts /etc/cron.hourly)

Jun 28 14:01:01 RockyLinux01 run-parts[42610]: (/etc/cron.hourly) starting 0anacron

Jun 28 14:01:01 RockyLinux01 run-parts[42610]: (/etc/cron.hourly) finished 0anacron

Jun 28 14:01:01 RockyLinux01 CROND[42609]: (root) CMDEND (run-parts /etc/cron.hourly)

Jun 28 14:14:00 RockyLinux01 atd[43141]: Starting job 3 (a0000301ad433a) for user 'root' (0)

Jun 28 15:01:01 RockyLinux01 CROND[44029]: (root) CMD (run-parts /etc/cron.hourly)

Jun 28 15:01:01 RockyLinux01 run-parts[44029]: (/etc/cron.hourly) starting 0anacron

Jun 28 15:01:01 RockyLinux01 run-parts[44029]: (/etc/cron.hourly) finished 0anacron

Jun 28 15:01:01 RockyLinux01 CROND[44028]: (root) CMDEND (run-parts /etc/cron.hourly)

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,798 개
  • 현재 접속자 :  101 명