zabbix监控指定端口

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

主机名 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为指定的监控端口号

[[email protected] ~]# cd /etc/zabbix/script/
[[email protected] 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
[[email protected] script]# more port.conf
22
80
#  abc 1
#ebc
50
3306  
8080
10050
10051
 3822
21
9100

注意两个脚本属主为zabbix:zabbix。

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

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

[[email protected] ~]# view /etc/zabbix/zabbix_agentd.conf
UserParameter=port.alert,/etc/zabbix/script/port_alert.sh

重启agent端zabbix服务

[[email protected] ~]# systemctl restart zabbix-agent

3.server端测试

[[email protected] ~]# zabbix_get -s 172.27.9.65 -k port.alert
{
        "data":[
                {"{#TCP_PORT}":"22"},
                {"{#TCP_PORT}":"80"},
                {"{#TCP_PORT}":"50"},
                {"{#TCP_PORT}":"3306"},
                {"{#TCP_PORT}":"8080"},
                {"{#TCP_PORT}":"10050"},
                {"{#TCP_PORT}":"10051"},
                {"{#TCP_PORT}":"3822"},
                {"{#TCP_PORT}":"21"},
                {"{#TCP_PORT}":"9100"}
        ]
}

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

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

新建模板:

新建自动发现规则:

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

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

添加表达式:

模板关联主机:

查看最新数据:

查看告警信息:

查看微信端告警:

查看邮件报警:

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

原文地址:http://blog.51cto.com/3241766/2117521

时间: 2024-10-15 18:32:05

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

Zabbix监控指定端口的步骤

前文有讲过"Zabbix监控制定程序的步骤",但是有不少程序是依赖端口的,会有几率出现端口的故障,那么zabbix也会有对应的检测端口的key. 这个key就是net.tcp.listen[port],这个key如果检测对应的port是正常的,返回值是1,否则就是0. 如果你忘记了对应的端口,而只记得程序名怎么办? #netstat,至于后面的参数是ntpl还是ntp就是具体情况具体分析了. 假设我们现在要检测一下9202端口,就如图所示的配item呗: 配完item,配trigger

zabbix监控H3C交换机端口流量

一.获取H3C交换机的OID 要获取H3C交换机的OID,必须确保该交换机是可以被网管的,即该交换机的161(SNMP)端口是被开启的.如161端口没有被开启,需在交换机上加上以下配置: snmp-agent community read whmp snmp-agent sys-info version all snmp-agent target-host trap address udp-domain 10.9.52.42 udp-port 161 param securityname net

Zabbix监控(七):手动监控windows端口状态

1.监控端口的几个主要Keys: net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state. 监控TCP端口是否监听 net.tcp.port[<ip>,port] Check, if it is possible to make TCP connection to the port number. 0 - cannot connect, 1 - c

zabbix系列(三):设置邮件报警,并测试监控80端口;

相关环境: 操作系统 描述 IP地址 server05 (centos6.6) 服务器端 192.168.10.65 server04 (centos6.6) 客户端 192.168.10.64 一.使用zabbix邮件报警功能 1.安装sendmail [[email protected]~]# service postfix stop   #linux默认使用postfix邮件服务,先关闭postfix,ss –tnl查看25端口关闭监听 [[email protected]~]#yum i

zabbix Simple checks 监控 自定义端口

在工作中有可能服务器开启了如服务 tcp 2333端口,但又不能对这台服务器进行操作.通过ZABBIX来检查这台服务器 tcp 2333端口是否处于开启状态,见下图. 感谢以下前辈!! zabbix Simple checks基本检测 http://www.ttlsa.com/zabbix/zabbix-simple-checks/ zabbix监控系统fping配置  http://blog.chinaunix.net/uid-29179844-id-4049896.html zabbix监控

zabbix自定义监控实现思路以及自定义监控某个端口的连接数

一 zabbix自定义监控实现思路 我在前面有写到: zabbix3.x服务端安装和配置 zabbix3.x客户端安装和配置 zabbix监控memcached 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是: 写一个脚本用于获取待监控服务的一些状态信息 在zabbix客户端的配置文件zabbix_agentd.conf中添加上自定义的"UserParameter",目的是方便zabbix调用我们上面写的那个脚本去获取待监控服务的信息 在zabbix服务端使用za

原来zabbix监控进程与端口是如此的简单!

使用zabbix自带key监控进程与端口 每个公司都有自己的程序,自己的进程名与端口监听,对于nagios来说,这些都经常需要自己去写插件,但是zabbix不需要,它自己就有监控进程与端口的key. 在使用zabbix的key来监控进程与端口前,我也自己写了插件,但用起来很不爽,因为需要在所有agent上都要进行配置与维护.如果用zabbix自带的功能,只需要在server端维护就可以了.简直就是操十分心与操一分心的区别啊,为什么我就没有早点发现这功能呢. 开始正题...... 1.监控端口 监

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

监控端口的几个主要Keys: net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is in LISTEN state. 监控TCP端口是否监听 net.tcp.port[<ip>,port] Check, if it is possible to make TCP connection to the port number. 0 - cannot connect, 1 - can

zabbix基本监控,端口监控,WEB站点监控,邮件报警

zabbix 监控: zabbix版本:3.4.1 OS:centos7.3 php版本:7.0 nginx版本:1.12.1 mysql:mariadb10.2.7 安装zabbix: 安装依赖包: yum install –y autoconf automake imakelibxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bisonlibtool 下载zabbix源码包: http://sourceforg