今天突然要对服务器进行TCP连接数和磁盘IO的监控!很久没弄这个了,开始百度吧………………
找到一篇还不错的,可以成功!
搜到cacti添加监控TCP连接的模板,两个文件,一个xml模板文件,一个提供数据的bash脚本,依然通过snmp系列中的snmpnetstat来获得想要的数据,这两个文件附件中可以下载
cacti官网英文论坛里也有相关介绍
1、修改xml文件
下载附件后,解压出来,三个文件,一个cacti_graph_template_tcp_connections.xml文件,一个get_tcp_connections bash文件,还一张给你YY的图片
写道
-
用记事本打开xml文件,ctrl + F 查找字符串“input_string”,你会看到一行类似/bin/bash /var/www/htdocs/cacti/scripts/get_tcp_connections
-
的代码,顾名思义,这个就是执行提供数据的bash脚本了,文件目录神马的你都知道了
-
-
根据实际情况修改一下
2、修改get_tcp_connections
这个文件最好是移到cacti/scripts目录下去,然后执行
-
chmod +x get_tcp_connections
给它加上可执行权限
打开文件,你会看到如下内容
-
#/bin/bash
-
-
# get number of tcp connection
-
# $1 = hostname
-
# $2 = snmp community
-
# lots of ways to do this with more style... ;)
-
# jbrooks@oddelement.com
-
-
CACTIDIR=/var/www/htdocs/cacti/scripts
-
TMPDIR=/var/log/cacti_tcp_cache
-
-
cd $CACTIDIR
-
-
-
snmpnetstat -v 2c -c $2 -Can -Cp tcp $1 > $TMPDIR/$1
-
-
ESTABLISHED=`grep ESTABLISHED $TMPDIR/$1 |wc -l`
-
LISTENING=`grep LISTEN $TMPDIR/$1 |wc -l`
-
TIME_WAIT=`grep TIMEWAIT $TMPDIR/$1 |wc -l`
-
TIME_CLOSE=`grep TIMECLOSE $TMPDIR/$1 |wc -l`
-
FIN1=`grep FINWAIT1 $TMPDIR/$1 |wc -l`
-
FIN2=`grep FINWAIT2 $TMPDIR/$1 |wc -l`
-
SYNSENT=`grep SYNSENT $TMPDIR/$1 |wc -l`
-
SYNRECV=`grep SYNRECV $TMPDIR/$1 |wc -l`
-
-
echo -n established:${ESTABLISHED} listen:${LISTENING} time_wait:${TIME_WAIT} time_close:
-
${TIME_CLOSE} syn_sent:${SYNSENT} fin_wait1:${FIN1} fin_wait2:${FIN2} syn_recv:${SYNRECV}
-
-
# uncomment for debugging:
-
# echo $1: established:$ESTABLISHED listen:$LISTENING time_wait:$TIME_WAIT time_close:
-
$TIME_CLOSE syn_sent:$SYN fin_wait1:$FIN1 fin_wait2:$FIN2 >> $TMPDIR/tcp.log
-
-
# may want to comment this for debugging too
-
rm $TMPDIR/$1
其中CACTIDIR请根据实际情况修改,TMPDIR请根据实际情况创建一个,一定要创建,否则报错no such dictory or file
脚本蛮简单的,抓取数据是通过
-
snmpnetstat -v 2c -c $2 -Can -Cp tcp $1 > $TMPDIR/$1
这个来实现的,你可以先在命令行手动执行一下,看看能不能获取到数据,其中$2是commity,默认是public,$1是要抓取数据的ip地址,本机就写localhost。
执行完后能够抓取到数据就说明没问题了
3、导入模板
登录cacti的web界面,选择“导入模板”,将那个xml文件导入进去,保存后就会看到对应的数据模板和图像模板了,随便找台服务器添加一个tcp connection图像,一般是没什么问题了,有问题的话看web界面里的cacti日志就知道了
模板附件下载:
tcp-connections.zip
顺便说一下,我的cacti的版本是0.8.8a
阅读(1646) | 评论(0) | 转发(0) |