赞
踩
原文出处:鸟哥笔记:linux系统日志文件介绍
简单的说日志文件就是记录系统活动信息的几个文件,例如:何时、何地(来源ip)、何人(什么服务名称)、做了什么操作。换句话说就是:记录系统在什么时候由哪个进程做了什么样的行为时,发生了什么事件等。
日志文件可以帮助我们了解很多系统重要的事件,包括登入者的部分信息,因此日志文件的权限通常设置为仅有root能够读取而已。常见的日志文件有下面几个:
这个文件记录了系统例行性工作调度的相关信息,如你的crontab调度有没有实际被进行?进行过程中有没有发生错误?/etc/crontab是否编写正确?在这个日志文件内都可以查询。
该文件记录系统在开机时内核检测过程中所产生的各项信息。由于centos默认将开机时内核的硬件检测过程取消显示,因此额外将数据记录在此文件中。
该文件记录了系统上所有帐号最近一次登入系统时的相关信息。lastlog命令就是利用这个文件所记录的信息来显示结果。
该文件或目录记录邮件的来往信息,其实主要记录SMTP和POP3(IMAP)协议提供者所产生的信息。
该文件几乎记录了系统发生的所有错误信息(或者是重要的信息),所以这个文件相当重要;如果系统发生莫名的错误时,这个文件是必查的日志文件之一。
之前有遇到过一个问题就是jetty 进程突然消失,然后就查看此系统日志,发现由于内存不足导致进程被kill掉,后面对内存做了调整
Out of memory: Kill process 11401 (java) score 552 or sacrifice child
具体如下
cat /var/log/messages | grep kill
Dec 26 04:59:08 GZSB-CJB-SHH1-14-MAEGIS-0 mfsmount[23068]: master: tcp recv error: ETIMEDOUT (Operation timed out) (1) Dec 26 04:59:09 GZSB-CJB-SHH1-14-MAEGIS-0 mfsmount[23068]: master: register error (read header: ETIMEDOUT (Operation timed out)) Dec 26 04:59:16 GZSB-CJB-SHH1-14-MAEGIS-0 mfsmount[23068]: registered to master Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: java invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: java cpuset=/ mems_allowed=0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Pid: 21798, comm: java Not tainted 2.6.32-358.14.1.el6.mz150203.x86_64 #1 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Call Trace: Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff810ce041>] ? cpuset_print_task_mems_allowed+0x91/0xb0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81120340>] ? dump_header+0x90/0x1b0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8122930c>] ? security_real_capable_noaudit+0x3c/0x70 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8112004e>] ? find_lock_task_mm+0x2e/0x70 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81120952>] ? oom_kill_process+0x82/0x160 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81120c50>] ? out_of_memory+0x220/0x3c0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff811301af>] ? __alloc_pages_nodemask+0x8bf/0x8f0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81165c4a>] ? alloc_pages_current+0xaa/0x110 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8111d287>] ? __page_cache_alloc+0x87/0x90 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8111cc6e>] ? find_get_page+0x1e/0xa0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8111e18e>] ? filemap_fault+0x1ce/0x670 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff811481b4>] ? __do_fault+0x54/0x530 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81148787>] ? handle_pte_fault+0xf7/0xb90 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff810acd1e>] ? futex_wake+0x10e/0x120 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8114945a>] ? handle_mm_fault+0x23a/0x310 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff810474e9>] ? __do_page_fault+0x139/0x480 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff81013956>] ? native_read_tsc+0x6/0x20 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8103c7d8>] ? pvclock_clocksource_read+0x58/0xd0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8152e7be>] ? do_page_fault+0x3e/0xb0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [<ffffffff8152bb75>] ? page_fault+0x25/0x30 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Mem-Info: Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA per-cpu: Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 0: hi: 0, btch: 1 usd: 0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 1: hi: 0, btch: 1 usd: 0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA32 per-cpu: Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 0: hi: 186, btch: 31 usd: 38 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 1: hi: 186, btch: 31 usd: 91 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 Normal per-cpu: Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 0: hi: 186, btch: 31 usd: 47 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: CPU 1: hi: 186, btch: 31 usd: 173 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: active_anon:680634 inactive_anon:260526 isolated_anon:0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: active_file:57 inactive_file:561 isolated_file:0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: unevictable:0 dirty:21 writeback:8 unstable:0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: free:6954 slab_reclaimable:5081 slab_unreclaimable:8394 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: mapped:113 shmem:44 pagetables:4794 bounce:0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA free:15744kB min:28kB low:32kB high:40kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15356kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: lowmem_reserve[]: 0 3000 4010 4010 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA32 free:10096kB min:6052kB low:7564kB high:9076kB active_anon:2244104kB inactive_anon:563676kB active_file:0kB inactive_file:1056kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3072072kB mlocked:0kB dirty:16kB writeback:0kB mapped:0kB shmem:4kB slab_reclaimable:8608kB slab_unreclaimable:9016kB kernel_stack:10928kB pagetables:11044kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:94 all_unreclaimable? yes Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: lowmem_reserve[]: 0 0 1010 1010 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 Normal free:1976kB min:2036kB low:2544kB high:3052kB active_anon:478432kB inactive_anon:478428kB active_file:276kB inactive_file:1188kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:1034240kB mlocked:0kB dirty:68kB writeback:40kB mapped:500kB shmem:172kB slab_reclaimable:11716kB slab_unreclaimable:24560kB kernel_stack:3768kB pagetables:8132kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:928 all_unreclaimable? yes Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: lowmem_reserve[]: 0 0 0 0 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA: 2*4kB 1*8kB 1*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 1*2048kB 3*4096kB = 15744kB Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 DMA32: 690*4kB 61*8kB 4*16kB 12*32kB 6*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 1*4096kB = 10096kB Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Node 0 Normal: 44*4kB 9*8kB 4*16kB 0*32kB 4*64kB 3*128kB 2*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1976kB Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 34398 total pagecache pages Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 33640 pages in swap cache Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Swap cache stats: add 5089724, delete 5056084, find 1978066/2365289 Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Free swap = 0kB Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Total swap = 2097144kB Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 1048575 pages RAM Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 67405 pages reserved Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 490 pages shared Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: 968020 pages non-shared Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ pid ] uid tgid total_vm rss cpu oom_adj oom_score_adj name Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 383] 0 383 2743 0 1 -17 -1000 udevd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 927] 0 927 23300 42 1 -17 -1000 auditd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 956] 0 956 102457 329 0 0 0 rsyslogd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 976] 32 976 4744 15 1 0 0 rpcbind Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1004] 0 1004 5773 1 1 0 0 rpc.idmapd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1025] 81 1025 5874 4 0 0 0 dbus-daemon Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1049] 0 1049 1020 0 1 0 0 acpid Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1058] 68 1058 6821 95 0 0 0 hald Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1059] 0 1059 4526 1 0 0 0 hald-runner Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1087] 0 1087 5055 1 0 0 0 hald-addon-inpu Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1100] 68 1100 4451 1 1 0 0 hald-addon-acpi Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1120] 0 1120 98035 37 0 0 0 automount Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1142] 0 1142 16115 0 0 -17 -1000 sshd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1150] 0 1150 29303 24 0 0 0 crond Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1163] 501 1163 4935 4 0 0 0 zabbix_agentd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1169] 501 1169 4935 61 0 0 0 zabbix_agentd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1170] 501 1170 4935 3 1 0 0 zabbix_agentd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1171] 501 1171 4935 3 0 0 0 zabbix_agentd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1172] 501 1172 4935 3 0 0 0 zabbix_agentd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1178] 0 1178 5364 4 0 0 0 atd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1301] 0 1301 1016 1 0 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1303] 0 1303 1016 1 0 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1304] 0 1304 1019 1 0 0 0 agetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1306] 0 1306 1016 1 0 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1308] 0 1308 1016 1 0 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1310] 0 1310 1016 1 0 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1317] 0 1317 1016 1 1 0 0 mingetty Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1318] 0 1318 2742 0 1 -17 -1000 udevd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 1319] 0 1319 2742 0 1 -17 -1000 udevd Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [23030] 0 23030 400107 2040 1 0 0 python Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [23068] 0 23068 315785 119 1 0 0 mfsmount Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [ 919] 0 919 745957 260982 1 0 0 java Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [19132] 0 19132 274307 47 1 0 0 redis-server Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [20939] 0 20939 17503 5 0 0 0 nginx Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [21739] 0 21739 576514 91 0 0 0 java Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [21760] 0 21760 635298 24352 0 0 0 java Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [22179] 505 22179 22388 22 0 0 0 nginx Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [22180] 505 22180 22388 22 1 0 0 nginx Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [22181] 505 22181 22388 5 0 0 0 nginx Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [22182] 505 22182 22388 22 0 0 0 nginx Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [11369] 0 11369 586819 63 0 0 0 java Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: [11401] 0 11401 1805039 619478 0 0 0 java Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Out of memory: Kill process 11401 (java) score 552 or sacrifice child Dec 26 05:11:23 GZSB-CJB-SHH1-14-MAEGIS-0.131 kernel: Killed process 11401, UID 0, (java) total-vm:7220156kB, anon-rss:2477764kB, file-rss:156kB
基本上,只要牵扯到需要输入帐号密码的软件,当登入时(不管登入正确与否)都会被记录到这个文件中。包括系统的login程序、图形界面登入所使用的gdm程序、su、sudo等程序,还有网络联机的ssh、telnet等程序,登入信息都会被记载在这里。
这两个文件可以记录正确登入系统者的账户信息(wtmp)与错误登入时所使用的账户信息(faillog)。这个文件对追踪一般帐号者的使用行为很有帮助。
不同的网络服务会使用它自己的日志文件案来记载它们自己产生的各项信息。上述的目录内则是个别服务所制定的日志文件。
常见的日志文件就是这几个,但是不同的linux distributions中,通常日志文件的文件名不会相同(除了/var/log/messages之外)。所以说,还需要查看linux主机上的日志文件设置数据才能知道自己主机上的日志文件主要的文件名。
日志文件的产生主要有两种方式,一种是由软件开发商自行定义写入的日志文件与相关服务,例如www软件apache就是这样处理的;另一种则是由linux distribution提供的日志文件管理服务来同一管理,只要将信息丢给这个服务后,它会自动分门别类地将各种信息放置到相关的日志文件中去。在centos中提供syslogd这个服务来同一管理日志文件。
除了这个syslogd之外,系统内核也需要额外的登入服务来记录内核产生的各项信息,这个专门记录内核信息的日志文件服务就是klogd。所以,日志文件所需服务主要就是syslogd和klogd这两个。
除了以上两个外还有一个叫logrotate(日志文件轮换)的程序,由于系统产生的信息每天都有,如果任凭日志文件持续记录的话,日志文件容量就会持续增大,这可能导致大文件读写效率不佳的问题,所以,需要对日志文件进行备份与更新。而logrotate就是用来解决这个问题的。
logrotate基本上就是将旧的日志文件更改名称,然后新建一个空白的日志文件,如此一来,新的日志文件将重新开始记录,然后只要将就的日志文件保留一段时间就可达到将日志文件“轮转“的目的。此外,如果旧的记录(大概要保存几个月吧)保存一段时间后没有问题,就可让系统自动删除,避免占掉过多的硬盘空间。
针对日志文件所需的功能,需要的服务与程序有:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。