首页 > 其他分享 >zabbix--监控服务端口

zabbix--监控服务端口

时间:2023-06-08 16:37:01浏览次数:50  
标签:-- changed 端口 tcp zabbix agent 172.24 port

zabbix-agent端配置#

✏️ 创建自动发现配置文件

# vim /etc/zabbix/zabbix_agentd.d/userparameter_tcp_port.conf
UserParameter=discovery.tcp_port,/etc/zabbix/scripts/tcp_port_discovery.py

✏️ 创建脚本存放目录

# mkdir /etc/zabbix/scripts

✏️ 编写脚本

# vim /etc/zabbix/scripts/tcp_port_discovery.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

# 使用python2 commands模块

import re
import commands
import json

DROP_LIST = ['22','25','111']
# 排除端口

def filterList():
    DROP_str = "|".join(DROP_LIST)
    CMD="netstat -pntl | awk '{print $4,$7}'|grep  [0-9] |egrep -vw '%s'" % (DROP_str)
    Result_Str = commands.getoutput(CMD)
    #print (Result_Str)
    tmp_list = Result_Str.split("\n") #每行加入列表
    new_dict = {}
    for line in tmp_list:
       # print (line)
       PORT_REG = re.search(r"(127.0.0.1:|\d+.\d+.\d+.\d+:|:::|0.0.0.0:)(\d+).+\d+/(\S+)",line)
       if PORT_REG is not None:
           match_line =  (PORT_REG.groups())
           new_dict[ match_line[-1]]  =  match_line[-2]
    return new_dict

if __name__ == "__main__":
    Results = filterList()
    #格式化成适合zabbix lld的json数据
    ports = []
    for key  in  Results:
        ports += [{'{#PNAME}':key,'{#PPORT}':Results[key]}]
    print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))

✏️ ​给脚本赋予执行权限

# chmod +x /etc/zabbix/scripts/tcp_port_discovery.py

✏️ ​重启zabbix-agent

# systemctl restart zabbix-agent

✏️ ​zabbix-server端测试能否获取到值

# zabbix_get -s 172.24.115.131 -k discovery.tcp_port
{
    "data":[]
}
#说明:如果像上面获取不到值,那是因为zabbix使用的是zabbix用户允许,然而linux普通用户没有权限执行netstat -p选项,故而获取不到数据。
#解决办法:agent端给netstat命令属主加上s权限。或者在添加sudo权限。
# which netstat 
/usr/bin/netstat
[root@centos7-2 ~]# chmod u+s /usr/bin/netstat

#再次在zabbix-server端获取值
# zabbix_get -s 192.168.3.12 -k discovery.tcp_port
{
    "data":[
        {
            "{#PNAME}":"zabbix_agentd",
            "{#PPORT}":"10050"
        },
        {
            "{#PNAME}":"data_adapter",
            "{#PPORT}":"17993"
        },
        {
            "{#PNAME}":"nginx:",
            "{#PPORT}":"15692"
        },
        {
            "{#PNAME}":"redis-server",
            "{#PPORT}":"6379"
        },
        {
            "{#PNAME}":"zwopen_recep",
            "{#PPORT}":"14001"
        },
    ]
}

 

zabbix-server端配置#

✏️ web界面添加服务tcp端口监控的模板

1️⃣ 创建模板

2️⃣ 点击上面创建的模板进来创建自动发现规则

上面填写完成,可以点击测试进行测试下是否能获取到agent端的值,没问题后再点击添加

3️⃣ 点击上面创建的自动发现规则,创建监控原型

4️⃣ 创建触发器原型

5️⃣ 监控主机链接模板

6️⃣ 验证

 

ansible playbook配置agent端#

标签:--,changed,端口,tcp,zabbix,agent,172.24,port
From: https://www.cnblogs.com/A121/p/17466867.html

相关文章

  • zabbix--独立部署zabbix-web
    迁移yum部署的zabbix组件zabbix-web背景描述:业主对项目生产环境所有服务器进行了漏洞扫描,结果zabbix监控服务器扫描出大量php和apache的漏洞。原因分析:​由于我们zabbix服务器上面只是部署了zabbix相关的服务,没有运行其它服务,故排除为zabbix-web服务依赖php和apache。官方默......
  • jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title>......
  • 一次windows下使用cmake遇到的问题
    背景在windows下的cmake和mingw提供的make,在windows环境下进行了简单尝试,结果发现make的时候失败:#include<iostream>intmain(){std::cout<<"Hello,makefile."<<std::endl;return0;}CMakeList如下:project(test)add_executable(testtest.cpp)非常......
  • CSS实现简单动态渐变闪烁效果
    CSS练习用例:.event{border-radius:4px;-webkit-border-radius:4px;color:#FFFFFF;font-size:12px;margin:0px30px;padding:2px0px;}.event.received{background-color:#4B946A;display:none;}@keyframe......
  • TLD5097EL-ASEMI代理英飞LED驱动TLD5097EL
    编辑:llTLD5097EL-ASEMI代理英飞LED驱动TLD5097EL型号:TLD5097EL品牌:Infineon(英飞凌)封装:SSOP-14-EP-150mil类型:LED驱动、汽车芯片TLD5097EL特性输入电压范围宽,从4.5V到45V极低关断电流:Iq_OFF<10µA开关频率范围从100kHz到500kHz与外部时钟源同步模拟调光功能,可调......
  • 使用ActivityOptions做Activity切换动画
    不知道大家有没有注意到startActivity(Intent,Bundle),那么ActivityOptions就是这个Bundle的原型,负责Activity跳转时的动画。publicvoidonClick(Viewview){Intentintent=newIntent(this,SecondActivity.class);ActivityOptionsoptions=Act......
  • simulink之S函数
    simulink中用户可以使用已有的模块构建系统模型,如果遇到无法由内建模块构成的模型时,编写S-函数也能完成仿真,不但灵活,而且可以采用C,C++,Fortran或Ada云烟,只要生成dll文件,就可以在simulink中直接调用。S-函数允许用户向模型中添加自己编写的模块,按照简单规则,在S-函数添加算法。将......
  • MySql锁知识记录积累(一)
    1.关于脏读、幻读和不可重复读脏读:一个事务A读取到了另一个事务B未提交的数据,叫做脏读不可重复读:事务A被事务B干扰到了!在事务A范围内,两个相同的查询,读取同一条记录,却反返回了不同的结果,即不可重复读幻读:事务A查询一个范围内的结果集,另一个并发事务B往这个范围中插入/删除了数据,并......
  • java jxl创建/读取/修改Excel 操作Excel
    创建Excelpackagetest1;importjava.io.File;importjava.io.IOException;importjxl.Workbook;importjxl.write.Label;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;importjxl.write.WriteException;importjxl.writ......
  • RocketMQ消费暂停问题分析
    一、背景客经使用rocketMq批量推送数据到pcr执行次贷策略引擎和互斥决策引擎,pcr将决策结果推送到前置路由。二、问题现象描述在客经推数据时,pcr-updateBorrowState消息积压越来越多,从日志上看,pcr不拉取消息,重启服务器后可以消费消息,过一会又消费变慢,不断重启才让所有消息消费......