squid自己就可以输出snmp信息,于是用caci来监视squid的服务状态性能就是理所当然的了。
在cacti的论坛上有个SquidStats v0.1的模板就是用来作这个。
为了同时查询squid服务器上其他的相应信息,决定还是用net-snmp把squid的snmp信息转发过来就好。
开启squid的snmp,这个很简单,不多说。
转发squid的snmp信息到net-snmp,这个也很简单,在snmpd.conf里面加入这么一句:
- proxy -v 2c -c public 127.0.0.1:3401 .1.3.6.1.4.1.3495.1
郁闷的事情就来了,通过net-snmp查询squid服务器上的.1.3.6.1.4.1.3495.1这个OID节点,居然会把squid服务器上的net-snmp服务直接搞到挂掉;而直接查询squid的snmp服务端口3401就一点问题都没有。google了一把,在freebsd的邮件列表上查到这么一条:ports/99885: Net-snmp dies when using proxy token,看了半天,反正就是得升级net-snmp就是了,于是花了半天时间编了个net-snmp 5.3.1的rpm,把原来的net-snmp 5.3.0.1给升级了,问题就这么给解决了。
最后要严重感谢一下cacti,让服务性能监测变得如此的方便;然后还要严重感叹一下,net-snmp编译的时间真是太........长了
这两天调试了一下squid 2.6的wccp透明代理,颇走了些弯路,先把调试的几个关键点纪录下来,至于详细的笔记,希望最近我不会再那么懒了,争取这两个礼拜能写出来吧。
推荐的软硬件环境:
- cisco 6509交换机的IOS版本高于12.2(18)SXD4
- 采用2.6.10以上的linux kernel+squid 2.6的最新STABLE发行
实验目的:测试一下 trustix 3.0.5 的root partition安装在software raid1分区上的故障恢复,以解决原来服务器上的hostraid不支持trustix的麻烦
实验环境:Vmware的虚拟机,guest os配置了两块2048M的磁盘,trustix 3.0.5系统分三个区(/boot,/,swap)都安装在software raid1分区上,分区状况如下:
- Disk /dev/sda: 2147 MB, 2147483648 bytes
- 255 heads, 63 sectors/track, 261 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/sda1 1 13 104391 fd Linux raid autodetect
- /dev/sda2 14 78 522112+ fd Linux raid autodetect
- /dev/sda3 79 261 1469947+ fd Linux raid autodetect
- Disk /dev/sdb: 2147 MB, 2147483648 bytes
- 255 heads, 63 sectors/track, 261 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/sdb1 * 1 13 104391 fd Linux raid autodetect
- /dev/sdb2 14 78 522112+ fd Linux raid autodetect
- /dev/sdb3 79 261 1469947+ fd Linux raid autodetect
- Personalities : [raid1]
- md1 : active raid1 sdb2[1] sda2[0]
- 522048 blocks [2/2] [UU]
- md2 : active raid1 sdb3[1] sda3[0]
- 1469824 blocks [2/2] [UU]
- md0 : active raid1 sdb1[1] sda1[0]
- 104320 blocks [2/2] [UU]
- Filesystem Size Used Avail Use% Mounted on
- /dev/md2 1.4G 775M 651M 55% /
- /dev/md0 99M 7.3M 87M 8% /boot
- /dev/md1作为swap分区
模拟故障:将虚拟机关机后,直接在虚拟机的配置里面remove掉原有的scsi0:0
故障恢复:
Continue reading »
准备开始尝试 2.6.x的kernel了,于是在vmware里面部署了台trustix 3.0.5,结果在安装vmware-tools就遇到了相当的问题,记录一下遇到的两个主要问题:
- 由于2.6系列kernel的version.h缺少定义,导致编译vmmemctl、vmxnet的时候会认不出正确的kernel版本,报错如下:
The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE)
does not match your running kernel
-
还是由于2.6系列kernel的函数变动,导致vmmemctl、vmxnet编译的时候会出错,出错信息如下:
- CC [M] /tmp/vmware-config5/vmxnet-only/vmxnet.o
- /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_open':
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:813: warning: passing arg 2 of `request_irq' from incompatible pointer type
- /tmp/vmware-config5/vmxnet-only/vmxnet.c: In function `vmxnet_tx':
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: `CHECKSUM_HW' undeclared (first use in this function)
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: (Each undeclared identifier is reported only once
- /tmp/vmware-config5/vmxnet-only/vmxnet.c:945: error: for each function it appears in.)
- make[2]: *** [/tmp/vmware-config5/vmxnet-only/vmxnet.o] Error 1
- make[1]: *** [_module_/tmp/vmware-config5/vmxnet-only] Error 2
- make[1]: Leaving directory `/usr/src/kernel-source-2.6.19.2-1tr'
- make: *** [vmxnet.ko] Error 2
- make: Leaving directory `/tmp/vmware-config5/vmxnet-only'
- Unable to build the vmxnet module.
查找了一下资料,用以下步骤可以在trustix 3.0.5的默认kernel上正确安装vmware-tools
Continue reading »