yxsailing 发表于 2019-1-10 07:03:42

Cacti获取服务器TCP并发连接数(cacti windows版)

  

  因为官方并没有提供的windows 版本cacti监控tcp连接数的脚本,所以这里是借用linux版本cacti监控tcp连接数的bash脚本来写bat批处理文件。

  

  1、首先从http://forums.cacti.net/download/file.php?id=5198下载官方提供的基于inux版本cacti监控tcp连接数的bash脚本和监控模版tcp-connections.zip
  

  2、 解压tcp-connections.zip解压出来,三个文件,一个cacti_graph_template_tcp_connections.xml文件,一个get_tcp_connections 的bash文件,还一张给你YY的图片
  

  此处我们要对cacti_graph_template_tcp_connections.xml文件中的脚本程序的路径和参照get_tcp_connections文件的内容写get_tcp_connections.bat程序
  

  3、修改cacti_graph_template_tcp_connections.xml文件中的脚本程序的路径。如下:
  修改cacti_graph_template_tcp_connections.xml文件
  用记事本打开xml文件,ctrl + F 查找字符串“input_string”,你会看到一行类似/bin/bash /var/www/htdocs/cacti/scripts/get_tcp_connections
  的代码,大约在438行,顾名思义,这个就是执行提供的脚本位置了,比如我的是 C:\Apache24\htdocs\cacti\scripts\get_tcp_connections.bat
  根据实际情况修改一下。
  因为我们的脚本是windows下的bat脚本 所以前面的/bin/bash 也要删除。最终如下:
  

  原来的内容/bin/bash /var/www/htdocs/cacti/scripts/get_tcp_connections <host> <community>
  修改后的内容C:\Apache24\htdocs\cacti\scripts\get_tcp_connections.bat <host> <community>
  

  4、导入cacti_graph_template_tcp_connections.xml绘图模版:
  登陆cacti监控平台Console(控制台) ---> Import Templates(导入模板)
  

  5、新建C:\Apache24\htdocs\cacti\scripts\get_tcp_connections.bat内容如下:
  注意查找的字符,和linux下的脚本查找的有点区别
  :: get number of tcp connection
  :: $1 = hostname
  :: $2 = snmp community
  :: lots of ways to do this with more style... ;)
  @ECHO off
  SET CACTIDIR=C:\Apache24\htdocs\cacti\scripts
  SET TMPDIR=C:\Apache24\htdocs\cacti\temp
  

  C:\net-snmp\bin\snmpnetstat.exe -v 2c -c %2 -Can -Cp tcp %1 > %TMPDIR%\%1
  

  type %TMPDIR%\%1 | find /c "ESTABLISHED" > %TMPDIR%\ESTABLISHED
  type %TMPDIR%\%1 | find /c "LISTEN" > %TMPDIR%\LISTENING
  type %TMPDIR%\%1 | find /c "TIMEWAIT" > %TMPDIR%\TIME_WAIT
  type %TMPDIR%\%1 | find /c "TIMECLOSE" > %TMPDIR%\TIME_CLOSE
  type %TMPDIR%\%1 | find /c "SYNSENT" > %TMPDIR%\SYNSENT
  type %TMPDIR%\%1 | find /c "FINWAIT1" > %TMPDIR%\FIN1
  type %TMPDIR%\%1 | find /c "FINWAIT2" > %TMPDIR%\FIN2
  type %TMPDIR%\%1 | find /c "SYNRECV" > %TMPDIR%\SYNRECV
  

  SET /p ESTABLISHED=
页: [1]
查看完整版本: Cacti获取服务器TCP并发连接数(cacti windows版)