荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: lvyou (让一切随风沉默), 信区: Security
标  题: Linux下实时数据监测.
发信站: 荔园晨风BBS站 (Mon May 28 23:14:53 2001), 转信

发信人: bjgyt (虚心), 信区: Security
标  题: Linux下实时数据监测(转载)
发信站: 武汉白云黄鹤站 (2001年05月28日15:34:58 星期一), 转信


5月25号在linuxbyte上看到了一篇采访linus的文章《 Linus谈Linux企业应用战略
》很
有感触。当问到linus:" 如果你只能在支持企业应用和支持桌面中选择一个, 你
的选择
是什么?",linus回答道:" 桌面是皇帝(desktop is king)。 进入桌面市场难度更
大,
但桌面是吸引"。其实linux已经发展了正么多年,为什么对M$桌面地位还是不能动
摇呢
?不是Linux上没有优秀的桌面系统,像KDE,GNOME都是十分优秀的,但是关键问
题就是
在于对用户的考虑上欠缺了很多。因此我在这篇文章中我在某一个方面给大家一个
思路
,这个思路也可以应用于多个方面,比如网络安全,Linux的功能简化。
假设这样几种情况:
A. 在个人桌面上的应用:
在windows下当你删除一个程序的时候,windows会给你一个确认,以防止发生误删
除。
但是在Linux下,比如使用kfm删除一个文件的时候,很简单,这个文件会马上消失
了。
但是在另一种情况下,比如你在xterm下touch或者rm一个文件,当你切换到kfm的
时候,
你会发现没什么变化,只有你重新刷新窗口才会发现改变。还有当你使用两个软件
编辑
同一个文件的时候,当一个软件对文件作了更改,另一个软件也不会像通常的
windows程
序一样提示"文件作了修改"。这些在windows很平常的功能为什么在linux却没有呢
?不
是我们的技术不能实现,而是我们没想到。
B. 在服务器上的应用:
比如你有两台服务器,一台做主服务器,另一台做备份,你需要将主服务器上的任何
变化同
步的反映到备份服务器上。通常我们怎么做呢?最简单的方法就是不停的将数据通
过ft
p传过去,我想管理员会很累把。当然也可以使用NFS以及rsync,但是怎么样发现
数据的
变化呢,sigh,有是笨方法,你每隔5分ls一下不就行了(faint,admin们千万别
打我)

好了,不挑那么多毛病了,那么刚才我提到的问题怎么解决呢?当然解决的办法有
很多
,比如使用SANs(Storage Area Network, e.g GFS),或者在程序中不停的
polling,
当然还有一些我不知道的方法。在这篇文章中我将介绍使用FAM and IMON来实现以
上的
功能。
我将先首先介绍一下什么是FAM (File Alteration Monitor)和IMON (Inode
Monitor)。
 Imon最初是由Wiltse Carpenter 和 Bruce Karsh在SGI的IRIX上开发出来的。后
来一位
在SGI公司叫Roger Chickering的小伙子把它成功的移植到Linux上了。并且让它成
为了
一个Open Source的项目。
Fam提供了一种供应用程序使用的API,它能够在特定的文件和目录改变的时候做出
反应
。Fam分为两部分,一部分是监听请求以及传递信息的daemon部分,还有一部分是
libfam
, 它是一个能够让应用程序与daemon通信的库。 FAM不仅可以应用于本地,也可以
应用
于网络,fam可以与远程的fam通信。
Imon是作为内核的一部分进行工作的,Fam将它要监测的文件和目录告诉Imon,然
后由I
mon负责监测,当文件改变的时候内核告诉Imon,Imon再告诉fam,最后由fam告诉
应用程
序。 Imon是作为内核的patch的形式出现的。
通常我们使用Fam和Imon一起协同工作,但他们是相互独立的两个部分。如果没有
Imon,
Fam的API会采用Polling的方式进行监测文件,当然这样就没有任何意义了。Imon
也可以
独立工作,不过目前只有Fam可以使用Imon(当然你可以基于Imon开发一些新的应
用)。

当然fam还有一些其他方面的应用,将我们的linux做的更加智能。例如,我们可以
监测
/etc/passwd,/etc/shadow文件的改变,以防止非法的行为;也可以动态监测
inet服务
,而不需要我们每次修改inetd.conf都重新去KILL -HUP了;也可以做一个linux下
的fo
xmail,可以实时的收信。当然还有其他许多应用,我提到的只是一个思路,就像前
面我讲
到的一样,不是我们的技术上不能实现,而是你没有想到。
当然它的开放源代码可以给我们了解它的实现过程以很大的帮助,我们可以又掌握
了一
种在内核中捕捉数据的方法。
另外Fam&Imon作为Open Source的项目,目前正式开发的只有IRIX和LINUX版本的,用
于其
他的unix操作系统的也只需要做较少的修改,据我了解目前在Freebsd和Solaris上
应该没
什么问题(需要一定的patch),具体关于她的情况可以去他的网站看看随时的信息
.
我在上面所讲的只是提供了一个思路和方法,具体如何使用还是有感兴趣的人具体
看一
下他的技术文档把,不是很复杂。参看下面的网址
附:相关网址:http://oss.sgi.com/projects/fam/
--


--


   ■◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆■
   ■   喜 欢 与 爱 之 间 的 路 上 我 等 着 你   ■
   ■◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆■

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.29]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店