生产上经常会监控某些具体端口状态,下面介绍具体步骤:

主机名 ip 操作系统 zabbix版本
zabbix-server 172.27.9.63 Centos7.3.1611 zabbix_server (Zabbix) 3.4.8
zabbix-agent 172.27.9.65 Centos7.3.1611 zabbix_agentd (daemon) (Zabbix) 3.4.8

1.脚本编写

两个脚本,port_alert.sh为端口自发现脚本,port.conf为指定的监控端口号

[root@zabbix-agent ~]# cd /etc/zabbix/script/
[root@zabbix-agent script]# more port_alert.sh
#/bin/bash
CONFIG_FILE=/etc/zabbix/script/port.conf
Check(){
grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -vE '^ *[0-9]+' &> /dev/null
if [ $? -eq 0 ]
then
echo Error: ${CONFIG_FILE} Contains Invalid Port.
exit 1
else
portarray=($(grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -E '^ *[0-9]+'))
fi
}
PortDiscovery(){
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"
}
port(){
Check
PortDiscovery
}
port

 

[root@zabbix-agent script]# more port.conf

#  abc
#ebc

配置文件port.conf每个端口号一行,每行的被监控端口可以有空格,空行和注释行#会被过滤。

2.修改被监控端的zabbix_agent.conf配置文件,新增KEY值port.alert

[root@zabbix-agent ~]# view /etc/zabbix/zabbix_agentd.conf
UserParameter=port.alert,/etc/zabbix/script/port_alert.sh

 重启agent端zabbix服务

[root@zabbix-agent ~]# systemctl restart zabbix-agent

server端测试
[root@zabbix-server ~]# zabbix_get -s 172.27.9.65 -k port.alert
{
"data":[
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""},
{"{#TCP_PORT}":""}
]
}

测试成功,返回json格式的合法端口号

4.新建模板,创建自动发现规则

新建模板:

新建自动发现规则:

自动发现清单中新建监控项原型:

自动发现清单中新建触发器:

添加表达式:

模板关联主机:

查看最新数据:

查看告警信息:

查看微信端告警:

查看邮件报警:

微信、邮件告警搭建链接:http://blog.51cto.com/3241766/2108769

添加报警动作:

zabbix监控指定端口的更多相关文章

  1. zabbix的日常监控-自动发现端口并监测(服务器开启的所有端口或监控指定端口)(十三)

    动批量检查agent开放的端口 注:此方法给监控磁盘IO(即十二)篇过程一样: 注释:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控:  如果服务器会随机出现端口且每次启动程 ...

  2. zabbix使用客户端和不使用客户端监控指定端口

    监控指定端口也很简单,以监控181主机的22端口为例 点击已成功监控的181主机的监控项 点击创建监控项 使用客户端监控端口:选择键值net.tcp.listen[port],需要自己把port改成2 ...

  3. zabbix 监控进程,端口

    环境介绍 操作系统:centos 7.4 zabbix版本:zabbix server 3.4.7 客户端:zabbix-agent 3.4.7 监控进程:mysqld 监控端口:3306 tcp 进 ...

  4. Zabbix监控系统端口

    参考网站: https://www.cnblogs.com/nulige/p/7072019.html

  5. zabbix监控apache80端口

    1.修改zabbix_agentd.conf 修改# EnableRemoteCommands=0 -->去掉注释修改为1--> EnableRemoteCommands=1 ###允许客 ...

  6. zabbix—自动发现端口并监控

    自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控:  如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...

  7. zabbix监控Java 8080端口

    linux下端口和服务是对应的,Java进程启动时默认监听8080端口,如果服务挂掉则8080端口就没有了. lsof -i:8080 端口,如果没有任何的输出,说明该端口不在工作. 想在zabbix ...

  8. Zabbix自定义监控8080端口的连接数

    Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...

  9. Zabbix系列之五——监控TCP端口

    监控端口的几个主要Keys: net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is ...

随机推荐

  1. 3. group_concat与oracle中wm_concat用法一样

    例子如下: select group_concat(rp.ROLE_ID) from eic_right_role_operator rp where rp.OPERATOR_ID = #id#

  2. win8换win7的操作方法

    详细参考UEFI与 Legacy BIOS两种启动模式详解  BIOS的两种引导模式 win8更换win7的方法的两个步骤:    (1).设置BIOS支持Legacy启动,具体目标就是设置secur ...

  3. 如何轻松干掉svd(矩阵奇异值分解),用代码说话

    svd我认识我机器学习里面最扯淡的玩意了.尼玛.老实说,好多机器学习的书老是在扯svd有多高端,然后看了netflix电影推荐大赛,哇塞,冠军队就是用svd+做的.然后狠狠的下载了所有他们的论文,硬是 ...

  4. vue下载和上传excle数据文件,解析excel文件数据并存在数据库中

    下载: VUE: window.open("xxxx/downloadOldTaskDataFile.do_", "_blank"); JAVA: /** * ...

  5. day06-单表查询

    1.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 2.关键 ...

  6. HTML页面禁用Enter键自动提交表单

    今天在开发页面时,遇到一个小BUG,,如下图 在页面的文本框获取焦点之后,再按键盘上的Enter键,页面form就会自动提交.如下是页面禁止Enter自动提交代码: document.onkeydow ...

  7. jquery接触初级-----juqery 动画函数

    1. window.onload(), 一次只能保存对一个函数的引用:如果多次调用,他会自动用后面的函数覆盖前面的函数 2.$(document).ready(); 会在现有行为上追加新的行为,这些函 ...

  8. 2.ECS内 经典网络与VPC网络的区别

    对应阿里云学习视频地址:https://help.aliyun.com/video_detail/67686.html?spm=5176.208355.1107604.1.10d82ca1J91Ckt ...

  9. UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到

    在安卓机上完全看不到shader占用的内存,但问题是,shader在安卓上真的几乎不占用内存了?(我们的游戏中只使用了mobile下的shader) 参考下面这个文章,说是真机上也有: Unity3D ...

  10. 静态函数造成GC的原因

    有时候用deep profiling查看GC时会发现:一个父函数有GC,展开子层级看到一个很奇怪的 CX::ctor,表示CX进行了构造,然后打开父函数代码却完全看不到有new CX的地方,这个时候可 ...