收藏 分销(赏)

明明白白你的Linux服务器.docx

上传人:xrp****65 文档编号:8948802 上传时间:2025-03-09 格式:DOCX 页数:33 大小:395.46KB
下载 相关 举报
明明白白你的Linux服务器.docx_第1页
第1页 / 共33页
明明白白你的Linux服务器.docx_第2页
第2页 / 共33页
点击查看更多>>
资源描述
明明白白你的Linux服务器——硬件篇 本篇文章是《明明白白你的Linux服务器》系列的第一篇。写这篇文章的目的,是因为我经常要到客户的机房或托管的IDC去从事相关系统工作,少则十几台,多则上百,通过下面的内容,你应该能很清楚你目前的Linux服务器的状态性能等信息。 一、如何查看服务器的CPU 今天安装了9台Linux服务器,型号完全不一样(有DELL、HP和IBM服务器),又懒得去对清单,如何在Linux下cpu的个数和核数呢?另外,nginx的cpu工作模式也需要确切的知道linux服务器到底有多少个逻辑cpu,不过现在服务器那是相当的彪悍,直接上worker_processes 8吧。 判断依据: 1.具有相同core id的cpu是同一个core的超线程。(Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.) 2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。(Any cpu with the same physical id are threads or cores in the same physical socket.) 以自己的惠普DL380G6为例说明: ①物理cpu个数: [root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l ②每个物理cpu中core的个数(即核数) [root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 这样可以推算出自己服务器的逻辑CPU为物理个数*核数,如果你的服务器是server2003,你可以在你的资源管理器里以图形化方式看到你的逻辑CPU个数。 二、查看服务器的内存情况 有时候,你运行了许多大的进程,比如你开启了300个fast-cgi。这时候你感觉系统很慢,便需要查看服务器的内存情况: [root@server ~]# free -m total used free shared buffers cached Mem: 249 163 86 0 10 94 -/+ buffers/cache: 58 191 Swap: 511 0 511 参数解释: total 内存总数 used 已经使用的内存数 free 空闲的内存数 shared 多个进程共享的内存总额 buffers Buffer Cache和cached Page Cache 磁盘缓存的大小 -buffers/cache (已用)的内存数:used - buffers - cached +buffers/cache(可用)的内存数:free + buffers + cached 可用的memory=free memory+buffers+cached 上面的数值是一台我公司内网供PHP开发人员使用的DELL PE2850,内存为2G的服务器,其可使用内存为=217+515+826。记住,Linux的内存使用管理机制是有多少就用多少(特别是在频繁存取文件后),即Linux内存不是拿来看的,是拿来用的。 编辑推荐:Linux系统内存监控全面讲解:free命令 三、服务器磁盘使用情况 有时感觉硬盘反映很慢,或需要查看日志所在分区时,下列命令可以查看磁盘的使用情况,很有用: ①查看硬盘分区情况 fdisk –l ②查看当前硬盘使用情况 df –h ③查看硬盘性能 # iostat -x 1 10 Linux 2.6.18-92.el5xen 03/01/2010 avg-cpu: %user %nice %system %iowait %steal %idle 1.10 0.00 4.82 39.54 0.07 54.46 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 3.50 0.40 2.50 5.60     48.00   18.48 0.00 0.97 0.97 0.28 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sde 0.00 0.10 0.30 0.20 2.40 2.40 9.60 0.00 1.60 1.60 0.08 sdf 17.40 0.50 102.00 0.20 12095.20 5.60   118.40 0.70 6.81 2.09 21.36 sdg 232.40 1.90 379.70 0.50 76451.20   19.20   201.13 4.94 13.78 2.45 93.16 像我们公司,开发人员占多数。有时为了节约成本,会同时采购一些性价比比较高的二手服务器;这时一般将服务器的硬件的工作模式设置为RAID1,同时对几种型号的服务器作相同文件的写操作,然后各自执行iostat –d,作对比性测试。这样服务器的硬盘性能孰优孰劣,一下子就能对比出来。 图解: Tps 该设备每秒I/O传输的次数(每秒的I/O请求) Blk_read/s 表求从该设备每秒读的数据块数量 Blk_wrth/s 表示从该设备每秒写的数据块数量 四、查看系统内核 查看系统内核主要为了掌握其版本号,为安装LVS等软件做准备。 uname –a 有关查看内核信息的更多指令,可参考Linux查看版本信息及CPU内核、型号等一文。有关Linux的内核优化,则可参考Linux 2.6.31内核优化指南一文。 五、查看服务器使用的Linux发行版的名称、版本号及描述信息等 lsb_release -a 这是我的某台用于SVN实验的vmware机器情况: 六、查看服务器的平均负载 感觉到系统压力较大时用可top或uptime查看下服务器的平均负载。uptime的另一个用法是查看你的Linux服务器已经稳定运行多少天没有重启了,我这边的机器最高记录是360多天。 七、查看系统整体性能情况 如果感觉系统比较繁忙,可以用vmstat查看系统整体性能情况。vmstat不仅仅适应于linux系统,它一样适用于FreeBSD等unix系统。 vmstat 1 2 如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。 如果pi,po 长期不等于0,表示内存不足。 如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。 编辑推荐:Linux系统监控工具之vmstat详解 八、查看系统已载入的相关模块 Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。你可以将这些功能编译成一个个单独的模块,待需要时再分别载入。比如说在安装LVS+Keepalived,下列用法被经常用到: #检查内核模块,看一下ip_vs是否被加载 lsmod |grep ip_vs ip_vs 77313 0 如果要查看当前系统的已加载模块,直接lsmod。 九、Linux下查找PCI设置 有时需要在Linux下查找PCI设置,可用lspci命令,它可以列出机器中的PCI 设备,比如声卡、显卡、Modem、网卡等,主板集成设备也能列出来。lspci 读取的是hwdata 数据库。有的小伙可能和我一样,最关心的还是网卡型号: [root@mail ~]# lspci | grep Ethernet 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) 07:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) 推荐阅读:七大实用命令行工具 玩转Linux网络配置。至于网络流量的监控,建议用centos自带的工具iptraf,其用法可参考这篇文章。 掌握上面这九条,你对你的Linux服务器的硬件信息基本就可以随时掌控了。 明明白白你的Linux服务器——网络篇 前言:这篇文章是明明白白你的Linux服务器-硬件篇的续篇,《明明白白你的Linux服务器》系列的第二篇。希望大家看完此文后,能很清楚明白你的服务器的网络情况,能很轻松的配置其网络环境。Linux服务器在装完系统,配置其网络环境是每一个system administrator的职能。 一、服务器的网络配置 在服务器的网络配置时,喜欢图形的朋友可用setup或system-config-network来配置。 网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-eth0,设置完毕后直接用service network restart生效 1. [root@linpcl root]#cat /etc/sysconfig/networking/devices/ifcfg-rth0   2. DEVICE=eth0  3. ONBOOT=yes  4. BOOTPROTO=static  5. IPADDR=192.168.0.2   6. NETMASK=255.255.255.0   7. GATEWAY=192.168.0.1  GATEWAY选项可以设置网关参数,这里注意下ONBOOT选项,它表示网卡是否随系统启动而启动,此项一定要设置成on 这里介绍二个不是太常用的参数 USERCTL=no,即不允许普通用户修改网卡 PEERDNS=yes,它表示允许从DHCP获得的DNS覆盖本地的DNS 查看本机所有的网卡情况 ifconfig –a,更高级的网卡路由命令用ip addr,特别是你的服务器由keepalived绑定了虚拟VIP后用其查看很方便查看本机路由 netstat –rn或route  增加一条本机网络路由用命令route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.25,即增加一条网络172.16.6.0/24 经过172.16.2.254 ,这个地址也可以理解为你的下一跳的地址 删除路由用命令route del –net 172.16.86.0/24 如果要永久的生效可用文件编辑的办法 vim /etc/sysconfig/network-scripts/route-eth0 172.16.6.0/24 via 172.16.2.25 查看本机的DNS服务器 cat /etc/resolv.conf 查看主机名hostname 查看主机名对应的IP地址 /etc/hosts 它的执行顺序是优于DNS的,现在多用于集群环境,比如Heartbeat;还有一个妙用,在没用DNS的环境中做测试时,直接改服务器的此文件,达到优先解析的目的查看与本机直连的网络设备用命令arp 这里跟大家介绍一个很有用的工具,mii-tool,判断哪块网卡连接了网线,同事们靠抽插网线来判断哪个网卡连接了网线的办法比较没有效率 1. [root@mail~]#mii-tool   2. eth0: negotiated 100baseTx-FD flow-control, link ok   3. SIOCGMIIPHY on 'eth1' failed: Resource temporarily unavailable  大家看这段文字可能没什么感觉,但到了机房就非常有用了,特别是那些网卡多的服务器,我见得最多的某台Linux服务器上绑定了六块网卡。 二、查看你的服务器网络连接状态 1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'   2. LAST_ACK 14   3. SYN_RECV 348   4. ESTABLISHED 70   5. FIN_WAIT1 229   6. FIN_WAIT2 30   7. CLOSING 33   8. TIME_WAIT 18122  状态:描述 ◆CLOSED:无连接是活动的或正在进行  ◆LISTEN:服务器在等待进入呼叫  ◆SYN_RECV:一个连接请求已经到达,等待确认  ◆SYN_SENT:应用已经开始,打开一个连接  ◆ESTABLISHED:正常数据传输状态  ◆FIN_WAIT1:应用说它已经完成  ◆FIN_WAIT2:另一边已同意释放  ◆ITMED_WAIT:等待所有分组死掉  ◆CLOSING:两边同时尝试关闭  ◆TIME_WAIT:另一边已初始化一个释放  ◆LAST_ACK:等待所有分组死掉  ESTABLISHED的值其实也是当前的并发数,这个可重点关注下;另外,可关注下TIME——WAIT这项的数值。Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量,具体可参见我的另一篇文章:优化Linux生产服务器的经验之谈。 三、 寻找恶意IP并用iptables禁止掉 找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行,有兴趣的请参考我在里发表的自动分析黑名单及白名单的iptables脚本一文 netstat -an| grep :80 | grep -v 127.0.0.1 |awk '{ print $5 }' | sort|awk -F:   '{print $1,$4}' | uniq -c | awk '$1 >50 {print $1,$2}' iptables脚本执行完毕后,用iptables –nv –L 可查看其规则,下面的iptables语法比较详细,推荐记忆 iptables [-t表名] <-A| I |D |R > 链名[规则编号] [-i | o 网卡名称] [-p 协议类型] [-s 源IP地址 | 源子网][--sport 源端口号] [-d 目标IP地址 | 目标子网][--dport 目标端口号] <-j 动作> 四、SMTP会话处理方式 捕获一个SMTP会话,以下命令很管用,推荐下 ;不喜欢用命令的同学我推荐用wireshark 1. tcpdump -vv –x –X –s 1500 `port 25`  五、打印自动运行服务 打印出自动运行的服务,3、5级别的即可;当然喜欢图形的同学可用ntsysv工具。 1. [root@ltos test]# chkconfig -list | grep 3:on | awk '{print $1,$5}'   2. [root@ltos test]# chkconfig –list | grep 5:on | awk '{print $1,$7}'  六、使用Netstat查看协议数据 Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 1. NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]   2. -a 显示所有连接和监听端口。   3. -b 显示包含于创建每个连接或监听端口的可执行组件。   4. -e 显示以太网统计信息。此选项可以与-s选项组合使用。   5. -n 以数字形式显示地址和端口号。   6. -o 显示与每个连接相关的所属进程 ID。   7. -p proto 显示 proto 指定的协议的连接。   8. -r 显示路由表。   9. -s 显示按协议统计信息。  一般用得比较多的就是netstat -an与netstat –rn 七、使用lsof查看文件信息 在unix里面,一切皆文件;而Linux秉承了这一特性,将unix下的工具lsof移植过来得很成功。lsof可以列出被进程所打开的文件的信息。 被打开的文件可以是 1.普通的文件 2.目录   3.网络文件系统的文件 4.字符设备文件   5.(函数)共享库   6.管道,命名管道  7.符号链接 8.底层的socket字流。网络socket,unix域名socket,用得比较多的用法是lsof -i:端口号,列出谁在使用某个端口,例如:lsof -i :3306,我喜欢用此用法来判断服务到底有没有正常启用。 八、使用fuser查看和杀死相关进程 与lsof –i的用法相法,如果我想查找占用3306端口的程序,则用fuser –n tcp -v 8080,另外,fuser的其它功能也是很强大的,我常用的它的两个功能:查看我需要的进程和我要杀死我查到的进程(抚琴煮酒是一般用来解决device is busy的问题) 比如当你想umount光驱的时候,结果系统提示你设备正在使用或者正忙,可是你又找不到到底谁使用了他。这个时候fuser可派上用场了。 1. [root@lancy sbin]# eject   2. umount: /media/cdrom: device is busy   3. umount: /media/cdrom: device is busy   4. eject: unmount of `/media/cdrom' failed   5.   6. [root@lancy sbin]# fuser /mnt/cdrom   7. /mnt/cdrom: 4561c 5382c   8.   9. [root@lancy sbin]# ps -ef |egrep '(4561|5382)' |grep -v grep   10. root 4561 4227 0 20:13 pts/1 00:00:00 bash   11. root 5382 4561 0 21:42 pts/1 00:00:00 vim Autorun.inf  示例中,我想弹出光驱,系统告诉我设备忙着,于是采用fuser命令,参数是你文件或scoket,fuser将查出那些使用了他。4561c,5382c表示目前用两个进程在占用着/mnt/cdrom,分别是4561,5382,进程ID后的字母表示占用资源的方式。 九、TCP_wrappers防火墙 linux上一种特殊的防火墙TCP_wrappers防火墙,TCP 封包会先经过所谓的 IP 过滤机制( IP Filtering ),这是 Linux 提供的第一层保护,他可以将你不想要的来源 IP (经由 TCP 封包的 Head 资料)先当掉再说!如果可以通过的话,在就是要通过TCP_wrappers过滤。如果上面两个都通过了,再就根据每个服务访问控制的设定决定客户机能得到不同的权限和信息.TCP_wrappers防火墙主要涉及到两个文件/etc/hosts.allow和/etc/hosts.deny,可作iptables的补充来保护你的Linux安全,比如只允许内网IP访问你的NFS服务器。 这里说下Linux是怎么识别其顺序的,这里好多朋友容易混淆了;当某个ip想访问你的Linux下的特定服务时,系统首先会检查/etc/hosts.alllow文件,如是有的话就放行,没有的话继续检查/etc/hosts.deny文件,有的话拒绝,没有的就放行,不过一般的做法就直接在/etc/hosts.allow里放允许通行的ip,/etc/hosts.deny里放不允许通行的ip。另外,这里跟大家分享一个经验心得吧: Linux下的服务众多,samba,nfs,rsync,tcp_wrapper,xinetd等,而每个又都有各自支持的写法,这样对于考试学习及工作记忆很不方便,其实它们都支持192.168.0.1/255.255.255.0这样的点分十进制写法;另,iptables是不支持的,它只支持192.168.0.1/24比特建网制。 十、推荐下Linux/unix中常用的扫描端口工具-Nmap 下面是Nmap支持的四种最基本的扫描方式: 1. TCP connect()端口扫描(-sT参数,-sP是用于扫描整个局域网段)   2. TCP同步(SYN)端口扫描(-sS参数)   3. UDP端口扫描(-sU参数)   4. TCP ACK扫描(-sA参数)  我这里以自己的线上邮件服务器为例说明下: 1. [root@mail postfix]# nmap -P0 -sS 211.143.6.X   2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-03-29 16:21 CST   3. Interesting ports on 211.143.6.X:   4. Not shown: 1668 closed ports   5. PORT STATE SERVICE   6. 22/tcp open ssh   7. 25/tcp open smtp   8. 80/tcp open http   9. 110/tcp open pop3   10. 111/tcp open rpcbind   11. 143/tcp open imap   12. 443/tcp open https   13. 465/tcp open smtps   14. 587/tcp open submission   15. 993/tcp open imaps   16. 995/tcp open pop3s   17. 1014/tcp open unknown  lsof -i:1014,发现又是rpc.statd,这东东,每次用的端口都不一样啊;它不能正确处理SIGPID信号,远程攻击者可利用这个漏洞关闭进程,进行拒绝服务攻击;发现rpc.statd是由服务nfslock开启,关闭它即可service nfslock stop;chkconfig nfslock off 关于网站的安全,我这里也有一些自己的浅见,特与大家共享下: 1. iptables最好写成脚本形式,想开哪个端口开哪个,想关哪个关哪个,iptables服务都可关闭;可以用crontab每5分钟自动关闭一次iptables,注意别把自己SSH停掉了,毕竟公司离机房还是很远的! 2. 不定期扫描,发现可疑端口就关闭,实在不太懂就cat /etc/services或google下查找端口。 3. 多注意连接数和系统性能,有时能从上面发现问题,有条件的话就布置nagois监控服务器。 4. 建议掌握netcat、hping、nmap、等安全工具及网络分析工具tcpdump或wireshark,配合监测iptables的安全策略。 5. 多注意自己服务器的内核漏洞,毕竟现在的linux攻击都是内核级的;请至少保证内核为2.6.9以上(不含2.6.9)。 6. 密切关注防火墙日志/var/log/messages。 7. 明明白白你的Linux服务器——日志篇 日志对于安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。正因为如此,抚琴煮酒特的将它整理成一篇比重跟硬件篇、网络篇并列的文章,作为《明明白白你的Linux服务器》系列的第三篇,希望大家能从中学习到对自己有用的东西。 一、配置syslog(gyl4802959同学撰写) 目前,linux依旧使用syslogd作为日志监控进程,对其进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。 /etc/syslog.conf根据如下的格式定义规则: facility.level action 设备.优先级 动作facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。 #号开头的是注释,空白行会自动跳过。 1、facility facility定义日志消息的范围,其可使用的key有: auth -由 pam_pwdb 报告的认证活动。 authpriv -包括特权信息如用户名在内的认证活动 cron -与 cron 和 at 有关的计划任务信息。 daemon -与 inetd 守护进程有关的后台进程信息。 kern -内核信息,首先通过 klogd 传递。 lpr -与打印服务有关的信息。 mail -与电子邮件有关的信息 mark - syslog内部功能用于生成时间戳 news -来自新闻服务器的信息 syslog -由 syslog 生成的信息 user -由用户程序生成的信息 uucp -由 uucp 生成的信息 local0-local7 -与自定义程序使用 * 通配符代表除了 mark 以外的所有功能除mark为内部使用外,还有security为一个旧的key定义,等同于auth,已经不再建议使用。 2、level级别 level定义消息的紧急程度。按严重程度由高到低顺序排列为: emerg -该系统不可用,等同panic alert -需要立即被修改的条件 crit -阻止某些工具或子系统功能实现的错误条件 err -阻止工具或某些子系统部分功能实现的错误条件,等同error warning -预警信息,等同warn notice -具有重要性的普通条件 info -提供信息的消息 debug -不包含函数条件或问题的其他信息 none -没有重要级,通常用于排错 * 所有级别,除了none其中,panic、error、warn均为旧的标识符,不再建议使用。 在定义level级别的时候,需要注意两点: 1)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级; 低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义) 3、selector选择条件 通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。 可以使用分号“;”同时定义多个选择条件。也支持三个修饰符: * - 所有日志信息 = - 等于,即仅包含本优先级的日志信息 ! - 不等于,本优先级日志信息除外 4、action动作 由前面选择条件定义的日志信息,可执行下面的动作: file-指定日志文件的绝对路径 terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2 @host -远程的日志服务器 username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中 named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理。 5、举例 例如: *.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages #把除邮件、新闻组、授权信息、计划任务等外的所有通知性消息都写入messages文件中。 mail,news.=info /var/adm/info #把邮件、新闻组中仅通知性消息写入info文件,其他信息不写入。 mail.*;mail.!=info /var/adm/mail #把邮件的除通知性消息外都写入mail文件中。 mail.=info /dev/tty12 #仅把邮件的通知性消息发送到tty12终端设备 *.alert root,joey #如果root和joey用户已经登陆到系统,则把所有紧急信息通知他们 *.* @finlandia #把所有信息都导向到finlandia主机(通过/etc/hosts或dns解析其IP地址)※注意:每条消息均会经过所有规则的,并不是唯一匹配的。 也就是说,假设mail.=info信息通过上面范例中定义的规则时,/var/adm/info、/var/adm/mail、/dev/tty12,甚至finalandia主机都会收到相同的信息。这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。 二、messages日志 首先说下我们最关注的系统/var/log/messages,这东东不仅是咱们服务器的系统日志,很多时候它也做了许多服务的日志,这也是它被称为杂货铺的原因,值得重点关注,大家一般都喜欢用以下命令看最后十条日志 tail -n10 /var/log/messages 其实还可以将一段日志保存成文件,正用练下自己的awk、sed和grep水平;或者直接用vim来查看,这也是算是一种经验之谈吧。我以前配置bind的主从复制,有时因为权限的原因报错;这时可以在一台报错的服务器上用命令tail -f /var/log/messages实时查看服务器的变化情况,从中查找错误的蛛丝马迹;事实证明,效果很好,而且用于lvs+keepalived的排错效也不错,其它事例依此类推。 三、secure的用法 /var/log/secure:记录登入系统存取数据的文件,例如 pop3, ssh, telnet, ftp 等都会被记录,我们可以利用此文件找出不安全的登陆IP。 四、记录登陆者的数据 /var/log/wtmp:记录登入者的讯息数据,由于本文件已经被编码过(为二进制文件),所以必须使用 last指令来取出文件的内容,你用cat等命令直接查看此文件是不行的。 五、lastlog记录系统时间 /var/log/lastlog : 记录每个使用者最近签入系统的时间, 因此当使用者签入时, 就会显示其上次签入的时间,您应该注意一下这个时间, 若不是您上次签入的时间, 表示您的帐号可能被人盗用了。 此档可用 /usr/bin/lastlog 指令读取(Freebsd下为/usr/sbin/lastlogin)。 六、用dmesg查看启动消息  dmesg提供了一个简单的方法查看系统启动信息。当Linux启动的时候,内核的信息被存入内核ring缓存当中,dmesg可以显示缓存中的内容。默认情况下,dmesg打印内容到屏幕上面,当然你可以重定向输出到一个文件。如果硬件损坏的话,在dmesg日志里是有显示的,可用以下命令来查看dmesg | grep error 七、服务器的邮件日志 服务器的邮件为/var/log/messages,如果要用专业的日志分析工具来分析的话,我推荐用Awstats;由于公司的开发对邮件的要求比较低,所以我帮他们配置的就是最简单的sendmail,有时看看邮件日志里的status状态来判断邮件到底有没有正确发送;在配置Nagios服务器,我也习惯用此日志来判断报警邮件到底有没有发送,如果对自己的shell水平足够自信,也可以写脚本来收集邮件服务器的返回状态等,但专业的事情,建议还是由专业的工具来做,特别是邮件负载比较大时,每天几百万条日志或上千万条日志不是开玩笑的。 八、日志文件的专业工具 像系统的一些服务,比如Apache、Nginx、Squid、还有mysql,都有自己的特定的日志文件,由于格式比较复杂,也推荐用专业工具,如Awstats、Cacti来分析,现在用cacti用得比较多是用它分析Nginx负载均衡器的一段时间的并发情况。 九、输出Iptables日志到一个指定的文件(logboy同学撰写) Iptables的man参考页中提到: 我们可以使用Iptables在Linux内核中建立, 维护和检查IP包过滤规则表。几个不同的表可能已经创建, 每一个表包含了很多内嵌的链, 也可能包含用户自定义的链。Iptables默认把日志信息输出到/var/log/messages文件。不过一些情况下你可能需要修改日志输出的位置。下面向大家介绍如何建立一个新的日志文件/var/log/iptables.log。通过修改或使用新的日志文件, 你可以创建更好的统计信息或者帮助你分析网络攻击信息。 (1). Iptables默认的日志文件 例如, 如果你输入下面的命令, 屏幕将显示/var/log/messages文件中的Iptables日志信息: # tail -f /var/log/messages 输出: Oct 4 00:44:28 debian gconfd (vivek-4435): Resolved address "xml:readonly:/etc/gconf/gconf.xml.defaults" to a read-only configuration source at position 2 Oct 4 01:14:19 debian kernel: IN=ra0 OUT= MAC=00:17:9a:0a:f6:44:00:08:5c:00:00:01:08:00 SRC=200.142.84.36 DST=192.168.1.2 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=18374 DF PROTO=TCP SPT=46040 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0  (2).输出Iptables日志信息到一个指定文件的方法 打开你的/etc/syslog.conf文件: # vi /etc/syslog.conf 在文件末尾加入下面一行信息: kern.warning /var/log/iptables.log 保存和关闭文件。 重新启动Sysl
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服