cacti 流量合并方法

[不指定 2010/03/25 11:39 | by 井宿 ]
http://hi.baidu.com/ncache/blog/item/60f4e7359c364146241f1455.html
認証周りでauthn_dbd_moduleとDBDriverにpgsqlを使用しているが、そのせいで困ったことが発生した。

apacheを2.2.9に上げてapacheのrestartを行ったところ、

DBD: Can't load driver file apr_dbd_pgsql.so

なんて言われてしまった。

packageのtar ballを見たところ、確かにapr_dbd_pgsql.soなんてファイルは存在していない。
原因はdevel/aprをインストールしていないことかと思いインストールしてみるも、こちらのportsにもapr_dbd_pgsql.soなんてファイルは存在せず。
apache22のportsをコンパイルしてみると、srclib/apr-util/dbd/.libs/apr_dbd_pgsql.soが作成されている。
portsをインストールしてみれば/usr/local/lib/apr-util-1にapr_dbd_pgsql.soがインストールされているではないですか。

どうもWITH_PGSQL=1でコンパイルした際に追加されるファイルがportsのpkg_plistに追加されてなかったことが原因らしい。
とりあえず/usr/local/lib/apr-util-1以下をコピーして動くようになった。

portsをコンパイルしてパッケージ化するサーバと、パッケージをインストールするサーバが異なる場合は要注意。
解决方法, 在make前执行 make clean 即可.
类似于以下信息:
“exports.c:1653: error: redefinition of 'ap_hack_apr_version_string'
exports.c:1022: error: previous definition of 'ap_hack_apr_version_string' was here
make[2]: *** [exports.lo] Error 1
make[2]: Leaving directory `/usr/local/src/httpd-2.2.*/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/httpd-2.2.*/server'
make: *** [all-recursive] Error 1”

有些人说路径不对,有些说perl包不对,有的说zlib不对。
反正有病乱投医。
翻了好久的网页才搞定。
解决办法:
在configure后加上 “--with-included-apr”。

再重新编译, make, make install. 即可:)。
重新安装, 用
apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
Cookie是内容简单的文本消息,它保存在客户机器的内存里,或者作为文件保存在客户机器的硬盘里。Cookie被用来保存客户端与服务器之间事务处理的状态信息,因为协议(HTTP)是无状态的(stateless)。尽管cookie的确给我们带来了便利,但是它们可能会造成安全风险。然而,如果不考虑其安全问题,cookie还是相当有用的。你可以(用它来)监视自己Apache服务器上Web网站的流量,了解Web页面上正在使用什么特性(这对于网站的流量分析很有用),通过识别用户和追踪其活动来改善服务器的安全状况。

配置Apache,实现cookie追踪phpm
a.com
在将cookie用来实现这些复杂的特性之前,了解如何首先就安装好Apache服务器,让其能够使用cookie是很重要的。Apache带有一个生成cookie并将其发送到客户端的模块——mod_usertrack。这个模块必须在配置Apache的时候加载。

在配置文件httpd.conf里,用来加载cookie模块的代码其实已经写好了(但是通常都被注释掉了)。要让代码在系统配置里加载这个模块,你只需要将下面这几行取消注释就行了:
LoadModuleusertrack_module modules/mod_usertrack.so
AddModulemod_usertrack.c

一旦你激活了生成cookie的特性,那就需要其他的配置信息。你必须配置cookie自身,并设置其日志记录。由于cookie是由客户端进行记录的,所以详细记录客户端网站的活动是可能的。这样日志文件就成了一个安全工具和分析工具。

什么类型的cookie?

Httpd.conf文件里的下面这些行用来设置cookie的格式和记录条件。在缺省情况下,Apache将其cookie命名为Apache。如果你想省掉cookie名,这是可以的。但是,你也可以自己选择cookie名,就像下面这样:
              CookieName          MyCookie

Cookie的格式也是可选的。Apache在缺省情况下会把Netscape的cookie样式设置为:
              CookieStyle          Netscape

你也可以用自定义的样式来取代缺省的样式,只要你喜欢。但是,除了Netscape自己的格式之外,cookie还有自己的“标准”。事实上,Netscape在RFC 2109和RFC 2965首先提出了这些标准。要取代缺省的样式,就要使用下面的样式名:

对于RFC 2109的cookie格式,输入下面的内容:
              CookieStyle          Cookie

对于RFC 2965的cookie格式,就要输入下面的内容:
              CookieStyle          Cookie2

Cookie的存留时间
你希望cookie能够存活多长时间?这可以在配置的时候决定,在每个cookie的标题里都会包含一个由配制值指定的失效日期。如果你不输入失效日期,Apache就会缺省地将cookie的存留时间设置为每个会话(保存在内存里,并在会话结束的时候删除)。如果你输入一个数值,Apache会把这个值作为存活的秒数(在下面的例子里是1小时):
CookieExpires        3600

另外,你也可以在引号里输入一个时间段:
CookieExpires        "3 days"

利用cookie
一旦你激活了cookie并设置好了名称、格式和有效期,你就准备好开始记录了。当cookie追踪(这一特性)被激活时,Apache会在收到新请求的时候生成一个cookie。为了在httpd.conf文件里激活追踪,你需要写入下面这一行:
              CookieTracking             On

当你追踪cookie的时候,你就是在追踪特定域里的活动。要记住,驻留在客户端机器里的cookie通常含有相关的域以及用户服务器交互操作的路径。你可以在这里输入域名,这个域名然后将成为由客户端保存的cookie的一部分。你不一定要使用它,缺省的形式是在送出的cookie的标题里留一个空地方。但是,如果你不输入域,那么你就不能够为一组客户端指定所要访问的域。
              CookieDomain         .userdomain.com

追踪数据会去哪儿?
你可以在配置的时候在httpd.conf里加入这样一行来设置日志文件,就像下面这样:
              CustomLog  logs/clickstream “n %r %t”

在上面这一行里,logs/clickstream指定了日志目录和clickstream这个子目录,cookie的日志文件就放在里面。

跟踪数据
一旦你生成这个日志,每次有客户端请求的时候,都会有内容加到这个日志里。有了这样一个日志,你就可以追踪到大量的信息。下面是这些信息可能的一些用途:

通过访问频率来追踪所有的用户,也就是说,一天一次、一周两次等等。

通过停留时间来追踪所有的用户,也就是说,他们在一个Web网站上花了多少时间。
将最近的用户也过去所有用户的列表进行对比。
通过点击动作来追踪单个用户的活动,也就是说,他所访问的页面和链接(这对于Web网站的分析很有用)。
追踪单个用户在某个Web网页上花的时间。
通过特定时间段内的点击(数量)来追踪集体用户的活动,也就是说,哪些链接/按钮/特性在给定的天数、星期等时间段使用得最多。
通过页面的访问来追踪集体用户的活动,也就是说,在给定的时间段内哪个Web页面被查看次数最多——在平均的时间周期内。

你可以为这些信息想到其他的使用方法,但是这是一个开始。你可以知道用户正在哪里闲逛,哪些用户正在到处转;看到什么时候用户在访问一个固定的网站,以及其使用模式是否反映了他正在正常使用等等。日志文件很容易操控;设计一些工具(从其中)提取特定的信息用于安全或者分析的目的只不过是一个简单的练习。

Linux下用文件的inode删除文件

[不指定 2010/03/12 15:48 | by 井宿 ]
文件的inode定义了文件的大小、所有人等文件的特征。每个文件和目录都有自己唯一的inode数字。但是为什么用inode来删除文件,而不是用常用的rm -rf命令呢?原因是,如果你不小心创建了含有特殊字符的文件和目录,比如带有 ? * ^ 的文件名,就会很难删除。下面我们就来介绍一下:1)如何找出文件和目录的inode;2)配合find命令,删除特定的inode文件;3)其他有用的删除顽固文件的方法。

* 如何找出文件的inode?

用stat 或者ls -il 。带有 -i 参数的ls命令,就是指显示文件的inode。

* 找到inode后,如何删除这个文件?
find . -inum [inode数字] -exec rm -i {} \;

1)下面我们完整实验一下,创建一个带特殊字符的文件:

$ cd /tmp
$ touch “\+Xy \+\8″
$ ls

2)尝试用rm命令删除

$ rm \+Xy \+\8

3)找出这个文件的inode数字

$ ls -il
342137 -rw-r–r– 1 tw tw 0 2008-11-20 08:57 \+Xy \+\8

4)342137就是我们要找的inode数字。下面用find命令删除它

$ find . -inum 342137 -exec rm -i {} \;

比如,你的系统中有”2008/11/20″这个文件,用rm是删除不了的。Linux不允许你建立这个文件,但是Windows下就可以。所以find配合inode的用处就在这里。

下面介绍一下其他有用的删除技巧:

* 可以尝试用文件名加引号的方法删除文件。比如 “–help”文件,可以用rm “–help”删除

* 也可以用unlink删除文件。unlink 。unlink命令调用unlink函数,可以删除一个特定文件

* 用mtools删除Windows下创建的非法文件。这种方法在find命令配合inode失效时,最为有用。专门对付autorun.inf病毒创建的文件夹。

也可以xargs配合rm批量删除在不同位置的文件:把待删文件的完整路径都写入一个文本文件,如file.txt内容如下:
file1
/tmp/file2.txt
~/data.txt

然后运行下面的命令删除file.txt中所列的文件
$ xargs rm
Tags:

建立高可用的Moosefs文件系统

[晴 2010/02/20 11:58 | by 井宿 ]
作者: ChinaUnix网友: waynew

一、概述
Moose通过DNBD提供磁盘及时同步,通过HeartBeat提供Failover,来达到高可用。

二、系统环境,软件版本及所需要的包
1、系统环境:

System:RHEL5U3

Kernel:2.6.18-128.el5

2、软件版本:

HeartBeat heartbeat-3.0.0-33.2

DRBD:drbd-8.3.2

MooseFS:mfs-1.5.12



3、所需包:

Kernel-devel

Flex

Gcc

三、安装Heartbeat
1.
我这人比较懒,直接用Yum装的,

#  vim /etc/yum.repos.d/rhel-debuginfo.repo

[ha]

name=Heartbeat

baseurl=http://download.opensuse.org/repositories/server:/ha-clustering/RHEL_5/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

#     yum install heartbeat.i386 heartbeat-devel.i38



2、编辑HeartBeat配置文件

#     cp  /usr/share/doc/heartbeat-3.0.0/ha.cf  /etc/ha.d/.

#     vim /etc/ha.d/ha.cf

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 2            //设定heartbeat之间的时间间隔为2秒.

deadtime 30           //在30秒后宣布节点死亡。

warntime 10          //在日志中发出“late heartbeat“警告之前等待的时间,单位为秒。

initdead 120           //

udpport 694           //使用端口694进行bcast和ucast通信。

mcast eth0 225.0.0.1 694 1 0        //组播地址

ucast eth0 192.168.1.234              //使用的网卡及ip

auto_failback on                          //on是主机故障后,是否自动切回

node    oss1               //节点1

node    oss2               //节点2

ping 192.168.1.46         // ping 地址

respawn hacluster /usr/lib/heartbeat/ipfail

apiauth ipfail gid=haclient uid=hacluster



3、编辑HA验证文件

#     cp /usr/share/doc/heartbeat-3.0.0/authkeys  /etc/ha.d/authkeys

#     vim /etc/ha.d/authkeys

auth 3

#1 crc

#2 sha1 HI!

3 md5 Hello!

我选择的是Md5的验证方式,

最后记得将authkeys  权限给为600

#     chmod 600 authkeys



4、编辑haresources

oss1 192.168.1.230 drbddisk::r0 Filesystem::/dev/drbd0::/mnt/mfs::ext3 mfsmaster

四、安装DRBD
1、安装Drbd

#     tar zxvf drbd-8.3.2.tar.gz

#     cd drbd-8.3.2

#     make KERNVER=2.6.18-128.el5  KDIR=/usr/src/kernels/2.6.18-128.el5-i686

#     make install

#     vim /etc/drbd.conf

      global {

   usage-count yes;            //是否参加使用者统计

Tags: , , , ,

30岁

[夜晚 2010/02/15 02:53 | by 井宿 ]
一晃 30岁末

30岁的1年 发生了以下事情

换工作和升值

交友,相处1年多

AFK cwow实属无奈

爱上了wowtcg 沉迷于此

牵扯上买房被骗风波

搬家,租房。。。。。。

定期的打羽毛球。。。。。。

30岁的1年发生的事情,恐怕在早些年几年加起来也未无法比拟,无论是数量上还是复杂度上。

现在最烦的是那些保险员,推销员

现在最喜欢的,是美腿MM和魔兽世界卡牌

ARM Linux NTFS 文件系统读写

[阴 2010/02/11 17:30 | by 井宿 ]
一、准备

1、 module-init-tools-3.0.tar.bz2

2、 ntfs-3g-1.2812.tgz

3、 fuse-2.5.2.tar.gz

二、环境

我的是在fedore 8,arm-linux-gcc-3.3.2。

export PATH=/usr/local/arm/3.3.2/bin/:$PATH

因为arm-linux kernel 我也是用arm-linux-gcc-3.3.2来编释的,使用中发现编释kernel和编释fuse-

2.5.2.tar.gz不一样的话,编释fuse-2.5.2.tar.gz出来的fuse.ko不能ismod或modprobe。

三、安装过程

1、编释module-init-tools工具,后面要用到。

        tar xvjf module-init-tools-3.0.tar.bz2

        ./configue CC=arm-linux-gcc –host=arm-linux –prefix=/usr/mod_init

        make install

        cp –fdr /usr/ntfs-g3 <到arm-linux 的/usr 目录下>


2、编释ntfs-3g

        tar xvzf ntfs-3g-1.2812.tgz

        ./configue CC=arm-linux-gcc –host=arm-linux –prefix=/usr/ntfs-g3

        make install

        cp –fdr /usr/ntfs-g3 <到arm-linux 的/usr 目录下>


  3、编释fuse

        tar xvzf fuse-2.5.2.tar.gz

        ./configure CC=arm-linux-gcc --host=arm-linux --enable-kernel-module --with-

           kernel=/home/longjindong/single-flash-linux-2.6.15-8140

        make

         这里不要install..

        cp fuse.ko <到arm-linux 的/lib/modules/2.6.15/ 目录下,如果没有这个目录,那就

        mkdir –p /lib/modules/2.6.15/ >
Tags: , ,
分页: 5/114 第一页 上页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下页 最后页 [ 显示模式: 摘要 | 列表 ]