首页 Linux网维 Zabbix监控(八):自动监控windows端口

Zabbix监控(八):自动监控windows端口

说明:Zabbix本身自带两个自动发现模板,分别是磁盘发现Mounted filesystem discovery和网卡发现Network inter…

说明:Zabbix本身自带两个自动发现模板,分别是磁盘发现Mounted filesystem discovery和网卡发现Network interface discovery;本人参考这两个模板制做了自动端口发现模板和自动服务发现模板。

1、关于自定义KEY(1)参考官方文档:https://www.zabbix.com/documentation/2.4/manual/config/items/userparameters(2)Key自定义的语法格式

UserParameter=,(3)例子:查看linux系统版本#vi zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=get.os.type,head -1 /etc/issue #service zabbix_agentd restart #zabbix_get -s 127.0.0.1 -k get.os.type

(4)例子:传递参数的用法#vi zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=wc[*],grep -c”$2″$1 #这里表示把$2,$1的传递给key,测试如下 #service zabbix_agentd restart #zabbix_get -s 127.0.0.1-k wc[/etc/passwd,root]

说明:/etc/passwd为$1,root为$2,则key最终运行的命令为grep-croot /etc/passwd(5)例子:查看passwd文件的行数#vi zabbix_agentd.conf UnsafeUserParameters=1 UserParameter=count.line.passwd,wc -l /etc/passwd|awk{print $1} #service zabbix_agentd restart #zabbix_get -s 127.0.0.1 -k count.line.passwd

2、创建脚本文件在客户端新建discovertcpport.bat文件,放在c:\zabbix\目录中,内容如下:@echo off echo { echo         “data”:[ for /F “tokens=2 delims= ” %%i IN (netstat -anp tcp^|find /i “LISTENING”) DO for /F “tokens=2 delims=:” %%j IN (“%%i”) DO echo                 {“{#TCP_PORT}”:”%%j”}, echo                 {“{#TCP_PORT}”:”10050″} echo         ] echo }

脚本说明:命令netstat -anp tcp ^|find /i “LISTENING” 用来查看监听状态的TCP端口;for /F “tokens=2 delims= “表示循环输出的截取值,即每行以空格(delims= )分隔的第2段(token=2)值,以变量%%i输出;

之后以同样的循环截取出端口号并格式化输出结果;这里的输出格式必须按JSON对象格式输出,否则报错“Value should be a JSON object”;特别要注意最后一行没有逗号,因此单独添加一行echo {“{#TCP_PORT}”:”10050″}来结束,以满足JSON对象格式。

3、修改客户端配置在客户端的zabbix_agentd.conf中添加以下内容:UnsafeUserParameters=1 UserParameter=tcpportlisten,c:\zabbix\discovertcpport.bat

说明:第一条表示允许使用用户自定义参数,第二条设置用户参数,名称tcpportlisten是自定义的KEY名,后接KEY要执行的命令或脚本文件重新启动zabbix agentd服务提示:客户端的脚本和配置可在安装时就提前做好,参考我的安装文档:。

http://ywzhou.blog.51cto.com/2785388/15791654、客户端测试以管理员身份运行CMD,cd到c:\zabbix目录,输入脚本文件名,回车:

Zabbix监控(八):自动监控windows端口插图

说明:上图是在我笔记上测试的,扫描出的端口并非监控主机10.188.1.44的JSON格式说明:#TCP_PORT是变量名称,后面的数值是变量的值5、服务端测试[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 10.188.1.44 -k tcpportlisten。

Zabbix监控(八):自动监控windows端口插图1

说明:可以看到监控主机扫描出的端口中已有10050,而我在后面添加了一个10050,不要紧,接着往下看。6、创建端口自动发现规则可以单独创建一个模板,也可以直接在windows模板中创建:

Zabbix监控(八):自动监控windows端口插图2

7、设置端口自动发现规则使用的KEY就是在客户端配置文件中自定义的tcpportlisten

Zabbix监控(八):自动监控windows端口插图3

8、给自动发现模板创建Item原型使用ntp.tcp.listen[]来监控端口状态,[]内的值取自变量#TCP_PORT的值,标题中的$1同样取自变量#TCP_PORT的值。

Zabbix监控(八):自动监控windows端口插图4

9、给自动发现模板创建触发器原型

Zabbix监控(八):自动监控windows端口插图5

点击Select prototype为触发器选择Item原型:

Zabbix监控(八):自动监控windows端口插图6

10、给自动发现模板创建图像原型图像原型也可以不创建,意义不大,返回的值不是0就是1,看不看图无所谓;但是要监控性能这样有曲线的还是有必要的。

Zabbix监控(八):自动监控windows端口插图7

11、重复监控问题如果已经使用net.tcp.listen手动创建了端口监控,会报如下错误,但不要紧。

Zabbix监控(八):自动监控windows端口插图8

12、查看端口自动监控结果由于我是在windows模块中添加的自动发现规则,因此监控主机做好前面说的配置就会自己添加端口监控了;如果是在单独创建的模板中创建的,就要Link到监控主机上了。

Zabbix监控(八):自动监控windows端口插图9

13、查看最近返回的值

Zabbix监控(八):自动监控windows端口插图10

结论:自动监控端口虽然省事,但很多监听端口都不了解,不知是什么程序启用了,可以和前面的端口模板配合使用;先创建端口模板用来监听重要的服务端口,再使用自动监控端口来监控其他监听端口修改下脚本可以用来监控其他的内容,比如监控已启动的服务net start,监控已连接的客户端netstat ESTABLISHED状态等;还可以在端口监控脚本基础上多添加几个和端口有关的ITEMS,如是否可连接,连接性能如何等。

将一些不重要的端口的触发器禁用,否则会频烦收到邮件报警。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部