首页 > 编程知识 正文

linux日志文件功能,linux日志分析软件

时间:2023-05-05 14:05:21 阅读:16560 作者:1716

NFS服务日志分析

上一篇博客中介绍的Apache、Ftp、iptable等网络服务可以详细记录客户端信息,包括IP地址、访问时间和内容。 另一方面,NFS在Linux发行版中的NFS服务日志记录功能较弱。 例如,服务器端无法记录某个远程IP地址何时访问NFS服务器的信息。 但是,Unix系列Oracle Solaris系统(在被Oracle收购之前称为Sun OS )相对完善了NFS日志记录功能,包括与Kerberos V5的完全集成,从而提高了系统的机密性

1 Linux上的NFS日志

RedHat Linux发行版NFS服务的日志记录在/ajdxtg/log/messages文件中。 然后,使用cat命令查看消息文件。 内容如下。

# cat/ajdxtg/log/messages|grep NFS

dec 2914336049336059 localhost NFS : RPC.mountdshutdownsucceeded

dec 2914336049336059 localhost kernel : nfsd : lastserverhasexited

dec 2914336049336059 localhost kernel : nfsd : unexportingallfilesystems

dec 2914336049336059本地主机NFS : nfsd-2 succeeded

dec 2914336049336059 localhost NFS : RPC.rquotadshutdownsucceeded

dec 2914336050336009 localhost nfslock : RPC.statdshutdownsucceeded

dec 2915:57336053 Linux-1 nfslock : RPC.statd启动succeeded

使用dec 2915:58336008 Linux-1 NFS :启动NFS服务:已完成

dec 2915336058336009 Linux-1 NFS : RPC.rquotad启动succeeded

通过以上日志可以方便地分析服务的启动时间和状态,但缺点是不能单独输出到独立的NFS服务日志,容易阅读,查找错误不方便。

2Solaris上的NFS服务器日志

UNIX平台上的NFS服务广泛应用于虚拟化、中央存储系统和服务器群集。 本节主要介绍Solaris平台上的NFS日志。 Solaris服务器平台配置NFS服务后,如果不手动设置日志文件,日志将记录在messages文件中,就像Linux一样,但Solaris nfslogd daemon提供了非常详细的日志功能和提示记录内容包括时间戳、客户端IP地址、请求UID、访问文件和操作类型等信息。

Nfslogd进程的功能有以下四点:

将操作历史记录中的原始数据转换为ASCII记录。

将IP解析为主机名。

将UID解析为登录名。

将文件句柄映射到路径名。

因此,必须在NFS服务器上启动Nfslogd进程。 Solaris系统上的NFS服务日志在配置文件/etc/nfs/nfslog.conf中定义。 以下示例使用默认值启动NFS日志后台进程

#/usr/lib/nfs/nfslogd

1 )配置NFS日志(适用于Solaris平台的以下配置) ) ) ) ) ) ) ) ) )。

用于在Solaris系统上配置NFS服务的配置文件的路径为/etc/nfs/nfslog.conf,该文件定义了nfslogd必须使用的路径、日志类型和文件名。 每个定义类型都有一个标签,要配置NFS日志,必须确保在每个共享资源上创建了标签。

要启用NFS服务,请首先将共享目录添加到/etc/dfs/dfstab配置文件中。 请参阅图1。

然后编辑/etc/nfs/nfslog.conf文件,将global defaultdir=/ajdxtg/NFS log=nfslogfhtable=fhtablebuffer=NFS log _ work

表1 NFS轮廓参数说明区域的含义

Default dir主目录的路径

日志文件的路径和定义的文件名

fhtableFile-handle-to-path数据库文件的路径名

Buffer缓存文件路径

Logformat=extended创建用户可读日志文件的extended表示更详细的内容,基本上用basic表示

以下命令启动NFS服务:

#/etc/init.d/nfs.serverstart

/p>

#ps–ef |grep nfs             \*验证NFS服务启动是否成功

下面对相关守护进程加以解释:

(1)statd 与lockd为lock manager提供崩溃恢复功能。

(2)nfsd 控制客户端的文件系统请求。为那些已经成功地挂载了本地共享资源的客户机提供资源读写服务。

(3)mountd处理远程系统发来的挂载请求,提供访问控制。收到客户机的mount请求时,它检查/etc/dfs/sharetab文件以确定该资源是否被共享,以及客户机是否有访问权限。

(4)lockd 在NFS文件上记录加锁操作。

(5)nfslogd 操作日志。它的行为由/etc/default/nfslogd定义。

注意:以上是在服务器端的进程,在客户端有statd和lockd这两个进程。

当启动NFS服务成功后在/ajdxtg/nfs目录下产生四个文件:

fhtable.0198000500000002.dir

fhtable.0198000500000002.pag

nfslog_workbuffer_log_in_process

nfslog

图2为Solaris系统下NFS服务器产生的日志信息。

图2 Unix系统中的NFS日志

下面详细解释其中一条日志的各个字段含义:

1).访问时间,Sun Dec 30 20:45:41 2012

2).耗时,表示读取或写入文件操作所需要的大致时间,他只能精确到秒,所以在本示例中是0,意味着它花了小于1s。

3).远程访问的IP或主机名,此处为“bjtest”

4).文件容量(单位:字节),此处为“0”

5).路径名称 ,/home/cgweb/test

6).数据类型,此字段始终有个“b”,因为NFS始终是以二进制传输,b代表了数据传输类型

7).传输选项, “_”由于NFS不执行任何特殊操作。值为“_”。

8).操作指令,mkdir表示新建目录,read表示读操作

9).访问模式,此处字段为“r”。

10).用户ID,代表用户标示符,这里是60001。我们查看/etc/passwd就知道,nobody的ID是6001

11).服务类型:表示客户端访问的服务类型, nfs3-tcp表示通过TCP的NFSv3版作为nfs3-tcp的扩展日志格式。

12).认证,此项表示用户是否经过身份认证,0代表未通过验证,1代表通过身份验证。

13).验证名, * 通过验证的将显示名称,如果没有通过验证一律显示*号

在了解了NFS日志格式的含义之后,在日常工作中要注意观察访问时间、主机(或IP)、路径及执行操作这几项内容的细节变化。另外,在进行NFS服务的调试故障时,使用频率较多的还有Solaris自带的snoop命令,它可以显示NFS客户机和NFS服务器的网络通信过程,对于排错特别有效,下面举个例子。

2)举例说明:

NFS Server IP :192.168.168.0.200

客户端: 192.168.0.201

#snoop 192.168.0.200  192.168.0.201

这行命令表示抓 192.168.0.200和192.168.0.201之间的数据流。抓取的信息如图3所示。

图3 Snoop抓包

从图3中标记黑体的这条日志可以看出客户端(192.168.0.201)在NFS服务器共享中新建了名为chentest的目录。上图清晰的记录了客户端访问服务器的详细操作,这一过程也一同被记录在了nfslog日志文件中。如果在snoop后面加上“-v”参数将显示更多底层的Ethernet 帧信息。

本文出自 2014年畅销书《UNIX/Linux网络日志分析与流量监控》第一章。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。