1.zabbix4.0的自定义脚本和模板-tcp状态参数.docx

1.zabbix4.0的自定义脚本和模板-tcp状态参数.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

zabbix4.0的自定义脚本键值和自定义模板监控-tcp状态参数监控

规划:

zabbix_server上:192.168.43.166

a)通过zabbix-get-s192.168.43.xx-k键值名,查询被监控端的键值获得情况

b)自定义模板xxx,和在模板上添加监控项,配置触发器等

c)添加主机组和被监控主机(通过手动添加或者自动发现添加都可)

d)将添加的被监控主机应用自定义的模板

zabbix_agentd上:192.168.43.xx

a)编辑主配置文件zabbix_agentd.conf和各键名配置文件xxx.conf

b)编辑监控脚本和配置文件中通过执行脚本获得的值赋值给键名

注意事项:

自定义脚本键值和自定义模板监控配置,可以根据需要看是否配置触发器和图形,有的需要需要触发器和报警,有的只是监控页面展示即可,根据自己需求配置即可。

1.自定义监控tcp状态:(脚本和配置)——一般只是展示数据,不用配置触发器

1)zabbix_agentd上:

[root@node1~]#vim/usr/local/zabbix/etc/zabbix_agentd.conf#编辑配置文件引用key

PidFile=/usr/local/zabbix/zabbix_agentd.pid

LogFile=/usr/local/zabbix/zabbix_agentd.log

Hostname=node1

Server=192.168.43.166#zabbix_server的ip地址

ServerActive=192.168.43.166#zabbix_server的ip地址,自动注册时才会用到

UnsafeUserParameters=1

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

[root@node1~]#vim/usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp.conf#编辑配置文件引用key

UserParameter=tcp.status[*],/usr/local/zabbix/scripts/tcp_status.sh"$1"#*是传递给脚本的参数,$1是接收传递参数的变量

[root@node1~]#mkdir/usr/local/zabbix/scripts#存放Shell脚本

[root@node1~]#vim/usr/local/zabbix/scripts/tcp_status.sh#编辑监控脚本

#!/bin/bash

#tcp共有下面几种状态:LISTEN,SYN_SENT,SYN-RECEIVED,ESTABLISHED,FIN-WAIT-1,FIN-WAIT-2,CLOSE-WAIT,CLOSING,LAST-ACK,TIME-WAIT,CLOSED.注意:下面Usage写的名字可能和上面的名字不一致,没关系,下面是是写的关键字,命令中会根据关键字过滤出上面的相应状态.

[$#-ne1]&&echo"Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV|SYN-SENT|TIME-WAIT"&&exit1

tcp_status_fun(){

TCP_STAT=$1#注意此处的$1和下面awk的++s[$1]没关系,awk的$1表示打印出$1的内容作为k,也可是$2,$NR等

ss-ant|awk'NR>1{++s[$1]}END{for(kins)printk,s[k]}'>/tmp/ss.txt

TCP_STAT_VALUE=$(grep"$TCP_STAT"/tmp/ss.txt|cut-d''-f2)#该命令是用cut分隔列,空格分隔,打印第2列

#TCP_STAT_VALUE=$(grep"$TCP_STAT"/tmp/ss.txt|awk'{print$2}')#上面的命令也可换成该命令,用awk分隔打印列

if[-z"$TCP_STAT_VALUE"];then

TCP_STAT_VALUE=0

fi

echo$TCP_STAT_VALUE

}

tcp_status_fun$1#此处的$1才是用到了上面

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档