- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Zabbix监控(八):自动监控windows端口
2014-11-20 10:07:16
说明:Zabbix本身自带两个自动发现模板,分别是磁盘发现Mounted?filesystem?discovery和网卡发现Network?interface?discovery;本人参考这两个模板制做了自动端口发现模板和自动服务发现模板。
1、关于自定义KEY
(1)参考官方文档:
? ? ? ?
(2)Key自定义的语法格式
????????UserParameter=key,command
(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服务
? ? 提示:客户端的脚本和配置可在安装时就提前做好,参考我的安装文档:
HYPERLINK
4、客户端测试
? ? 以管理员身份运行CMD,cd到c:\zabbix目录,输入脚本文件名,回车:
? ? 说明:上图是在我笔记上测试的,扫描出的端口并非监控主机10.188.1.44的。
? ? JSON格式说明:#TCP_PORT是变量名称,后面的数值是变量的值。
5、服务端测试
[root@zabbix ~]# /usr/local/zabbix/bin/zabbix_
文档评论(0)