设为首页 收藏本站
查看: 2543|回复: 0

[经验分享] Zabbix监控(八):自动监控windows端口

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-21 15:20:06 | 显示全部楼层 |阅读模式
本帖最后由 23rewr 于 2014-11-21 15:22 编辑

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

1、关于自定义KEY
(1)参考官方文档:
       https://www.zabbix.com/documenta ... tems/userparameters
(2)Key自定义的语法格式
        UserParameter=<key>,<command>
(3)例子:查看linux系统版本
1
2
3
4
5
#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)例子:传递参数的用法
1
2
3
4
5
6
#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文件的行数
1
2
3
4
5
#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\目录中,内容如下:
1
2
3
4
5
6
7
@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中添加以下内容:
1
2
UnsafeUserParameters=1
UserParameter=tcpportlisten,c:\zabbix\discovertcpport.bat



    说明:第一条表示允许使用用户自定义参数,第二条设置用户参数,名称tcpportlisten是自定义的KEY名,后接KEY要执行的命令或脚本文件。
    重新启动zabbix agentd服务

    提示:客户端的脚本和配置可在安装时就提前做好,参考我的安装文档:
http://www.iyunv.com/thread-32509-1-1.html

4、客户端测试
    以管理员身份运行CMD,cd到c:\zabbix目录,输入脚本文件名,回车:
wKiom1RtQWqwf-0NAAHaghGKIIo667.jpg
    说明:上图是在我笔记上测试的,扫描出的端口并非监控主机10.188.1.44的。
    JSON格式说明:#TCP_PORT是变量名称,后面的数值是变量的值。

5、服务端测试
1
[iyunv@zabbix ~]# /usr/local/zabbix/bin/zabbix_get -s 10.188.1.44 -k tcpportlisten



wKioL1RtQfSRFwdAAAHwlLm0gEU429.jpg
    说明:可以看到监控主机扫描出的端口中已有10050,而我在后面添加了一个10050,不要紧,接着往下看。

6、创建端口自动发现规则
    可以单独创建一个模板,也可以直接在windows模板中创建:
wKiom1RtQXyTks-tAANeNsV4EtI936.jpg


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

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


9、给自动发现模板创建触发器原型
wKioL1RtQfXAXByDAAIWIqTyyoo503.jpg
    点击Select prototype为触发器选择Item原型:
wKiom1RtQX3QPdjtAADp9RSSxTw261.jpg

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

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

12、查看端口自动监控结果

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

13、查看最近返回的值
wKioL1RtQfbhaAVyAAROhAIz8HA277.jpg


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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-32512-1-1.html 上篇帖子: Zabbix监控(七):手动监控windows端口 下篇帖子: Zabbix监控(九):自动监控windows服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表