ZABBIX客户端的安装、配置
4 篇帖子 分页: 1 / 1
帖子HanQiao » 2017年 11月 15日 10:46 星期三
想在windows上写个bat批处理脚本,目的是获取指定端口的总连接数,比如192.168.123.202这个IP上80,81,82这三个端口的总连接数,脚本在windows上运行符合要求,但是在zabbix_server上运行zabbix_get命令时,出现两个问题:1、取不到想要的值,2、多出几行bat文件运行时的返回值,但是在windows中运行是没有的
帖子HanQiao » 2017年 11月 15日 10:56 星期三
由于附件上传不了

-------------------------------------------------------------------------------------------------
[root@zabbix bin]# ./zabbix_get -s 192.168.123.202 -p 10050 -k "tcp[192.168.123.202]"
▒Ҳ▒▒▒▒ļ▒ - 192.168.123.202
ϵͳ▒Ҳ▒▒▒▒ļ▒ D:\zabbix_agentd\2.txt▒▒
S:0
这个是zabbix_server上的结果

-------------------------------------------------------------------------------------------------
C:\Users\Administrator>D:\zabbix_agentd\test.bat 192.168.123.202
S:4
这个是windows上运行的结果

-------------------------------------------------------------------------------------------------
@echo off&setlocal enabledelayedexpansion
set input=%1%
set S=0
if not %input% =="" (
if exist "D:\zabbix_agentd\2.txt" del D:\zabbix_agentd\2.txt

type C:\Users\Administrator\Desktop\GateSvr\gs.conf|find "%input%" > D:\zabbix_agentd\1.txt
::gs.conf里面保存着要查询的端口及对应IP等数据,因为这个值有时候会变化

for /f "tokens=2,4 delims= " %%a in (D:\zabbix_agentd\1.txt) do netstat -an | find "%%b:%%a" | find /v /c "0.0.0.0:0" >> D:\zabbix_agentd\2.txt

for /f %%c in (D:\zabbix_agentd\2.txt) do (
set /a S+=%%c
)
::这边的数据不会处理,因为第一次写bat脚本,就只能把查询结果放在一个文件中再读取了

echo S:!S!
) else (
echo not input
)
这个是bat批处理脚本



以上的所有文件的权限全开
帖子HanQiao » 2017年 11月 15日 11:16 星期三
有人说是编码问题_(:з)∠)_,忘记了windows是GBK编码
帖子iThinkyouGuest » 2018年 2月 11日 11:23 星期天
我也觉得有可能是编码把,你在window下的脚本,先转换成unix呢?
4 篇帖子 分页: 1 / 1

登录

在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客