zabbix 添加自动发现端口并监控
最近在部署zabbix监控 有些服务器上开启的服务端口非常多 如果一个个添加监控会很繁琐,于是想到了自动发现规则 自动发现服务器上的服务端口并进行监控。
在zabbix客户端服务器上进行操作
1)编写端口自动发现的脚本
cat /usr/local/zabbix/scripts/discover_port.sh
#!/bin/bash
portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`)
length=${#portarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"
chmod +x discovertcpport.sh ##增加执行权限
2)配置zabbix客户端的配置文件
在最后添加
tail -5 /usr/local/zabbix/etc/zabbix_agentd.conf
##自动发现端口并监控
UserParameter=tcpportlisten,/bin/bash /usr/local/zabbix/scripts/discover_port.sh "$1"
3)重启zabbix_agent服务
/etc/init.d/zabbix_agentd restart
4)在zabbix客户端进行脚本测试
sh /usr/local/zabbix/scripts/discover_port.sh
{
"data":[
{"{#TCP_PORT}":"10050"},
{"{#TCP_PORT}":"10509"},
{"{#TCP_PORT}":"111"},
{"{#TCP_PORT}":"12871"},
{"{#TCP_PORT}":"228"},
{"{#TCP_PORT}":"25"},
{"{#TCP_PORT}":"3001"},
{"{#TCP_PORT}":"32555"},
{"{#TCP_PORT}":"38312"},
{"{#TCP_PORT}":"8001"},
{"{#TCP_PORT}":"8002"},
{"{#TCP_PORT}":"8003"},
{"{#TCP_PORT}":"8004"},
{"{#TCP_PORT}":"8005"},
{"{#TCP_PORT}":"9000"}
]
}
5)在zabbix服务端进行测试
/usr/local/zabbix/bin/zabbix_get -s 10.128.10.93 -k tcpportlisten
{
"data":[
{"{#TCP_PORT}":"10050"},
{"{#TCP_PORT}":"10509"},
{"{#TCP_PORT}":"111"},
{"{#TCP_PORT}":"12871"},
{"{#TCP_PORT}":"228"},
{"{#TCP_PORT}":"25"},
{"{#TCP_PORT}":"3001"},
{"{#TCP_PORT}":"32555"},
{"{#TCP_PORT}":"38312"},
{"{#TCP_PORT}":"8001"},
{"{#TCP_PORT}":"8002"},
{"{#TCP_PORT}":"8003"},
{"{#TCP_PORT}":"8004"},
{"{#TCP_PORT}":"8005"},
{"{#TCP_PORT}":"9000"}
]
}
测试通过后再zabbixweb页面上进行配置

创建自动发现规则

创建监控项原型

创建 触发器原型

6)查看是否成功
在配置---主机----触发器中进行查看 说明已经成功

问题总结
5.1.服务器测试与客户端通信时:
zabbix sudo: no tty present and no askpass program specified
解决:
zabbix客户端修改zabbix_agentd.conf:
AllowRoot=1
重启客户端:
# /etc/init.d/zabbix_agentd restart
脚本添加权限及修改属主:
# chown zabbix. discover_port.sh
# chmod +x discover_port.sh
5.2.测试通信报错2:
zabbix sudo: sorry, you must have a tty to run sudo
解决:
vi /etc/sudoers (最好用visudo命令)
注释掉 Default requiretty 一行
#Default requiretty
zabbix 添加自动发现端口并监控的更多相关文章
- Zabbix实现自动发现端口并监控
1.新建客户端需要的脚本 # vim discovertcpport.sh #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1&q ...
- zabbix—自动发现端口并监控
自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...
- zabbix 自动发现端口服务监控教程
目录 创建数据表(收集haproxy服务的信息) 针对生成的数据表做监控 在haproxy服务机器上配置 在zabbix上添加监控 前言: 1.线上业务使用了几十上百台haproxy服务,需要针对这些 ...
- 分布式监控系统Zabbix--完整安装记录-批量添加主机和自动发现端口
一.Zabbix-3.0.3批量添加主机的配置如下: 0)被监控机上要安装zabbix_agent,并配置好zabbix_agentd.conf (如下172.29.8.50是zabbix_serve ...
- zabbix的日常监控-自动发现端口并监测(服务器开启的所有端口或监控指定端口)(十三)
动批量检查agent开放的端口 注:此方法给监控磁盘IO(即十二)篇过程一样: 注释:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程 ...
- zabbix 自动发现端口并添加监控设置
自动发现端口并添加监控设置UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh #!/bi ...
- zabbix的自动发现、自定义添加监控项目、配置邮件告警
1.zabbix的自动发现这里的自动发现,所显示出来的是规则的上自动了现 然后 可以对其内容进行相关的配制,如时间或周期 注意:对于单个主机的规则,可以自行添加或删除, 但对于已经添加好了的规则,若需 ...
- zabbix 网络模板自动发现端口时,过滤掉某些特定规则的端口,减少item的方法
1.需求描述 默认情况下Zabbix 模板 中网络接口自动发现接口时,会产生很多item,有时候会有我们不需要的一些接口,这时候需要过滤掉他们. 比如我有一台运行kvm的服 ...
- 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控
zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务 ...
随机推荐
- 第1章 Linux文件类基础命令
1. 关于路径和通配符 Linux中分绝对路径和相对路径,绝对路径一定是从/开始写的,相对路径不从根开始写,还可能使用路径符号. 路径展开符号: . :(一个点)表示当前目录 .. :(两个点)表示上 ...
- 简化开发:Lombok的使用
Java中优雅的使用Lombok 1.简介 Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它通过注释实现这一目的.一个标准的 ...
- mvc 中合并两个list集合
有时候,在进行查询操作的时候需要将从数据库中查询的两张表进行合并,成为一张表然后返回给前端.或者在原有的一张表基础上面加几个新的字段. 这个时候可以新建一个.class[model类],在这个新建的m ...
- DOM入门。
DOM Document Object Model 文档对象模型,dom就是HTML页面的模型,将每个标签都作为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的文本框,层 ...
- Java中net.sf.json包关于JSON与对象互转的坑
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
- virtualbox中设置u盘启动
1.在磁盘管理中查看u盘的磁盘号X 2.管理员运行cmd,进入virtualbox目录 3.运行命令: VBoxManage internalcommands createrawvmdk -filen ...
- JS中将变量转为字符串
译者按: 语言的细枝末节了解一下就可以了,不需要太较真,不过如果一点也不知道的话,那就不太妙了. 原文: Converting a value to string in JavaScript 译者: ...
- 10个最佳Node.js企业应用案例:从Uber到LinkedIn
译者按: Node.js 8已经发布了,NPM模块每周下载量早已超过10亿,从Uber到LinkedIn都在使用Node.js,谁说JavaScript不能写后台? - 原文: 10 best Nod ...
- canvas学习笔记之2d画布基础的实现
一. Canvas是啥 < canvas > 是一个可以使用脚本(通常是js)来绘图的HTML元素 < canvas > 最早由Apple引入WebKit,用于Mac OS X ...
- canvas-7global.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...