zabbix—自动发现端口并监控
自动批量检查agent开放的端口
PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控;
如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端口
约定
zabbix所有执行的脚本统一放置在 /etc/zabbix/scripts 目录下#cd /etc/zabbix/ #mkdir scripts #chown root:zabbix -R /etc/zabbix/scripts/ #chmod 755 /etc/zabbix/scripts/
zabbix-agent操作
1、脚本内容
scripts]# vim discovery.sh#!/bin/bash portarray=(`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++))doprintf '\n\t\t{'printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"if [ $i -lt $[$length-1] ];thenprintf ','fidone printf "\n\t]\n" printf "}\n"scripts]#chmod +s /usr/bin/netstat
2、添加key值
cat /etc/zabbix/zabbix_agentd.conf 添加如下内容: UnsafeUserParameters=1 UserParameter=tcpportlisten,/etc/zabbix/scripts/discovery.sh
3、重启agent服务
#systemctl restart zabbix-agent.service
zabbix-server端操作
# zabbix_get -s 172.18.243.7 -p 10050 -k tcpportlisten {"data": [{"{#TCP_PORT}": "10000"},{"{#TCP_PORT}": "10050"},{"{#TCP_PORT}": "9400"},{"{#TCP_PORT}": "9500"}] }
说明:由于端口太多,这里只是部分端口
ps:172.18.243.7 #客户端IP
tcpportlisten # /etc/zabbix/zabbix_agentd.confkey值
Web端的配置
1、创建模板:Template Ports Discovery
2、创建自动发现规则
3、创建监控项原型
4、创建图形原型
5、创建触发器
6、在主机中关联此模板
7、查看结果
酱紫就配置完成端口自动扫描并监控完成了,酱紫就可以通过监控端口实现监控服务是否正常了<^^>
监控指定端口范围内的端口
scripts]#vim discovery.sh#!/usr/bin/python __author__ = 'Yan' import os import jsondata = {} tcp_list = [] port_list = [] t = ['10050','10081','10087','10096','10097','10000','10073','10099','120000','17000','18050','18051','18081','22','28050','3000','32000','5500','80'] tt = [] command = " netstat -tnlp|egrep -i tcp|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq" lines = os.popen(command).readlines() for line in lines:port = line.split()port_list.append(port[0]) for i in port_list:if i in t:tt.appendinformation for port in list(set(tt)):port_dict = {}port_dict['{#TCP_PORT}'] = porttcp_list.append(port_dict)data['data'] = tcp_list jsonStr = json.dumps(data, sort_keys=True, indent=4) print jsonStr ~ #scripts]#chmod +xdiscovery.sh# /scripts]# ./discovery.sh {"data": [{"{#TCP_PORT}": "80"},{"{#TCP_PORT}": "22"},{"{#TCP_PORT}": "12000"},{"{#TCP_PORT}": "10050"}] }
OK!
友情提示:Web端提示Value should be a J.SON object
原因为python脚本中使用了netstat -p参数,权限问题,zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,导致从服务器取到的自动发现脚本为空。
解决办法:
chmod +s /bin/netstat(客户端)
转载于:https://www.cnblogs.com/yaun1498078591/p/10782253.html
zabbix—自动发现端口并监控相关推荐
- zabbix自动发现端口
目的: 通过批量实现自动发现端口,避免傻傻的一个一个添加 解决方案: 使用zabbix的discovery功能来实现监控. 注意:自动发现端口,需要在sysctl.conf中修改下系统自动打开端口的范 ...
- zabbix自动发现实现批量监控docker状态
最近在搞zabbix监控docker以及docker内部应用状态信息,网上找的资料好少,只找到了一个大神的一篇文章,用的是python实现监控docker容器的基本状态,我在他给的脚本基础上进行修改, ...
- zabbix的日常监控-自动发现端口并监测(服务器开启的所有端口或监控指定端口)(十三)...
动批量检查agent开放的端口 注:此方法给监控磁盘IO(即十二)篇过程一样: 注释:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控: 如果服务器会随机出现端口且每次启动程 ...
- ZABBIX自动发现Redis端口并监控
转载来源 :ZABBIX自动发现Redis端口并监控 : https://mp.weixin.qq.com/s/UDeRYn6376MBzNyRt48aAw ZABBIX自动发现Redis端口并监控 ...
- zabbix自动发现规则实现批量监控主机的TCP监听端口
检查服务器所有监听端口和其对应的服务名称的脚本可以参考https://blog.zzyyxx.top/blog/post/gordy/acf57f04f9e1 现在准备加入zabbix自动发现规则并 ...
- zabbix自动发现,端口 url检测
一,自动发现 1,开启自动发现 配置自动发现 修改自动发现的网段 启用自动发现 2.配置自动发现的动作 配置自动发现的动作 添加动作的IP地址 添加自动发现的操作 启用动作 3,检验 二,自动注册 1 ...
- 利用zabbix自动发现监控mongo数据库
但如果公司使用mongo的端口如果不一致的话,那建议使用zabbix的自动发现的功能,自动发现mongo监听的端口,并对它进行相关数据的收集. 先看一下效果图, 教你如何利用zabbix自动发现监控m ...
- 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)
目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...
- 5 zabbix 添加host_运维监控实战篇,zabbix自动发现和自动注册图文详解
一.介绍 自动发现 Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服 ...
最新文章
- codevs 1531 山峰
- hdu4847 水题
- 强化学习(十三) 策略梯度(Policy Gradient)
- Velocity语法使用总结
- Spring中Quartz的最精简的配置
- leetcode 刷题142 143
- VC 对话框 DIALOG
- python迭代-可迭代对象与迭代器对象
- php钓鱼怎么使用方法,路亚钓法操作步骤及抛投技巧
- 程序自动化需要一个Windows服务
- 单例模式 - 双锁机制
- 数据挖掘:模型选择——监督学习(回归)
- vc与三菱PLC编程口通信C语言源代码,三菱PLC通讯与编程实例!
- JSON字符串转对象集合
- 腾讯教育 App Flutter 跨端点播组件实践
- 设置为首页,加入收藏 | JS完美实现代码收藏
- 【大话Mysql面试】-Mysql常见面试题目
- Cisco交换机下载IOS
- 新中大 金蝶 用友产品技术比较
- 区块链开发基础知识学习
热门文章
- 面向站长和网站管理员的Web缓存加速指南
- Mozilla官方:Firefox 3.5.1问题并非安全漏洞 仅是堆溢出Crash
- C++读取numpy数据二进制文件
- 使用FastJson解析时有关内部类的两个问题
- pandas如何统计所有列的空值,并转化为list?
- python3 爬虫--Chrome以及 Chromedriver安装配置
- [SecureCRT]通过SFTP方式上传本地文件到服务器
- 架构实例之Demo_JSP
- android MotionEvent中getX()和getRawX()的区别
- poj1182(食物链)续