通过Kafka-Logger插件收集流量进行漏洞扫描

news2025/3/18 6:31:41

通过Kafka-Logger插件收集流量进行漏洞扫描

方案

可以通过APISIX kafka-logger 插件将日志作为 JSON 对象推送到 Apache Kafka 集群中,消费Kafka里的数据格式化后添加到MySQL。
在这里插入图片描述

方案详情

1、登录APISIX,启用内置的kafka-logger 插件:
在这里插入图片描述
2、配置插件:
在这里插入图片描述
配置参考:https://apisix.apache.org/zh/docs/apisix/plugins/kafka-logger/

关键字段解释:
batch_max_size:数据首先写入缓冲区。当缓冲区超过 batch_max_size 或 buffer_duration 设置的值时,则会将数据发送到 Kafka 服务器并刷新缓冲区。设置为1时,每次写入到kafka一条流量数据。
brokers:需要推送的 Kafka 的 broker 列表。
cluster_name:Kafka 集群的名称,当有两个及以上 Kafka 集群时使用。只有当 producer_type 设为 async 模式时才可以使用该属性。
include_req_body:当设置为 true 时,包含请求体。注意:如果请求体无法完全存放在内存中,由于 NGINX 的限制,APISIX 无法将它记录下来。
include_resp_body:当设置为 true 时,包含响应体。
producer_batch_size:对应 lua-resty-kafka 中的 batch_size 参数,单位为字节。
producer_type:生产者发送消息的模式。
以下是本地配置,满足现有需求:

{
  "_meta": {
    "disable": true
  },
  "batch_max_size": 1,
  "brokers": [
    {
      "host": "10.200.0.228",
      "port": 9092
    }
  ],
  "buffer_duration": 60,
  "cluster_name": 1,
  "inactive_timeout": 5,
  "include_req_body": true,
  "include_resp_body": true,
  "kafka_topic": "secapisixtest",
  "max_retry_count": 0,
  "meta_format": "default",
  "name": "kafka logger",
  "producer_batch_num": 1,
  "producer_batch_size": 1048576,
  "producer_max_buffering": 50000,
  "producer_time_linger": 1,
  "producer_type": "async",
  "required_acks": 1,
  "retry_delay": 1,
  "timeout": 3
}

3、点击启用并提交:
在这里插入图片描述
4、自此,就已经完成了对APISIX Kafka-Logger插件的配置,Kafka中也有了预期的数据:
在这里插入图片描述
5、后续可以消费Kafka中的数据入新的MySQL库,也可以用现有MySQL,在00:00 - 8:00 限制并发写MySQL,不影响工作时间使用。

稳定性测试

场景一、当Kafka挂掉时,是否影响测试环境稳定性:
1、当开启 kafka-logger 插件,并配置正确Kafka地址时,请求接口可正常请求,延迟在7 millis左右:
在这里插入图片描述
在这里插入图片描述
2、给kafka-logger 插件配置一个不存在的kafka地址,请求接口可正常请求,延迟在7 millis左右,符合预期:
在这里插入图片描述
在这里插入图片描述

回退方案

理论 Kafka-Logger插件作为APISIX原生插件不会影响到测试环境,若出现问题,关闭插件即可(大约占用1分钟):
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1694582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据可视化第9天(利用wordcloud和jieba分析蝙蝠侠评论的关键字)

数据可以在这里下载 https://github.com/harkbox/DataAnalyseStudy WordCloud wordcloud可以很方便的生成词云图,方便的提供可视化可以直接使用pip install wordcloud进行安装如果使用的是Anaconda,可以使用conda install进行安装 下面看一个简单的例子 txt &qu…

MySQL(一) 库和表的基础操作

1. 数据库基础 1.1 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质:磁盘内存 为了解…

【CTF Web】CTFShow web3 Writeup(SQL注入+PHP+UNION注入)

web3 1 管理员被狠狠的教育了&#xff0c;所以决定好好修复一番。这次没问题了。 解法 注意到&#xff1a; <!-- flag in id 1000 -->但是拦截很多种字符。 if(preg_match("/or|\-|\\|\*|\<|\>|\!|x|hex|\/i",$id)){die("id error"); }使用…

vite-plugin-vue-devtools插件

vite-plugin-vue-devtools插件旨在帮助开发者更快地理解并调试Vue应用。它通过提供全面的功能和直观的界面&#xff0c;以图形化的方式展示应用程序状态&#xff0c;使开发者能够更方便地查看和管理Vue应用的各个方面。此外&#xff0c;该插件还支持Vue3.0版本&#xff0c;并且…

【简单介绍下链表基础知识】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

打破传统相亲模式,这几款靠谱的相亲软件助你脱单

相亲软件在当今社会已经变得越来越普遍&#xff0c;市面上有众多相亲软件可供选择&#xff0c;但哪些相亲软件好用呢&#xff1f;下面介绍几款备受好评的相亲软件&#xff0c;帮助你在茫茫人海中找到那个对的人&#xff01; 1、一伴婚恋 这个APP它最大的优点就是信息真实靠谱…

k8s命令式对象管理和配置

kubectl补全: # dnf install -y bash-completion # echo "source <(kubectl completion bash)" >> ~/.bashrc # kubectl completion bash > /etc/bash_completion.d/kubectl 命令式对象管理 kubectl命令 # 查看所有pod kubectl get pod # 查看某个po…

swust oj 1075: 求最小生成树(Prim算法)

#include <iostream> using namespace std;typedef struct {int n;int e;char data[500];int edge[500][500]; }Graph;typedef struct {int index;int cost; }mincost;typedef struct {int x;//起点int y;//终点int weight;//权重 }EDGE;typedef struct {int index;int …

Arduino下载与安装(Windows 10)

Arduino下载与安装(Windows 10) 官网 下载安装 打开官网&#xff0c;点击SOFTWARE&#xff0c;进入到软件下载界面&#xff0c;选择Windows 选择JUST DOWNLOAD 在弹出的界面中&#xff0c;填入电子邮件地址&#xff0c;勾选Privacy Policy&#xff0c;点击JUST DOWNLOAD即可 …

C语言:表达式运算的类型转换

相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 1、前言 C语言作为一种强类型语言&#xff0c;要求在进行操作时变量类型必须匹配。然而&#xff0c;为了提高灵活性和便利性&#xff0c;C语言提供了一套规则&#xff0…

【C语言】C语言-学生成绩管理系统(源码+数据文件+课程论文)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

【面试干货】事务的并发问题(脏读、不可重复读、幻读)与解决策略

【面试干货】事务的并发问题&#xff08;脏读、不可重复读、幻读&#xff09;与解决策略 一、脏读&#xff08;Dirty Read&#xff09;二、不可重复读&#xff08;Non-repeatable Read&#xff09;三、幻读&#xff08;Phantom Read&#xff09;四、总结 &#x1f496;The Begi…

图计算与ID-Mapping

目录 一、图计算&#xff1a; 图计算起源&#xff1a; 图计算特点&#xff1a; 图计算的应用&#xff1a; Spark GraphX图处理库 ID-Mapping 二、总结&#xff1a; 一、图计算&#xff1a; 图&#xff08;Graph&#xff09;是用于表示对象之间关联关系的一种抽象数据结构…

C++初探_右值引用

左值&#xff1a;在内存中有确定的存储地址。 右值&#xff1a;可出现在赋值表达式右边。包括&#xff1a;字面常量、诸如xy等的表达式&#xff0c;以及返回值的函数。 代码&#xff1a; #include <iostream> using namespace std;int main() {int x 10;int y 13;int…

《拯救大学生课设不挂科第二期之Windows11下安装VC6.0(VC++6.0)与跑通Hello World C语言程序教程》【官方笔记】

背景与目标人群&#xff1a; 大学第一次学C语言的时候&#xff0c;大部分老师会选择VC6这个编辑器。 但由于很多人是新手&#xff0c;第一次上大学学C语言。 老师要求VC6.0&#xff08;VC6.0&#xff09;写C语言跑程序可能很多人还是第一次接触电脑。 需要安装VC6这个编辑器…

Spring服务启动后就执行某个方法

下边按照执行顺序前后&#xff0c;测试代码结果截图放到最后&#xff1a; 1、注解PostConstruct 时间&#xff1a;当前bean被创建并且所有的依赖注入完成之后执行&#xff1b; 使用&#xff1a;当前bean 所在类内的某个方法上 添加该注解&#xff1b;该方法没有参数&#xf…

Parasoft C++Test软件静态分析操作指南_编码规范/标准检查

系列文章目录 Parasoft CTest软件安装指南 Parasoft CTest软件静态分析操作指南_编码规范/标准检查 Parasoft CTest软件静态分析操作指南_软件质量度量 Parasoft CTest软件静态分析_自动提取静态分析数据生成文档 Parasoft CTest软件单元测试_操作指南 Parasoft CTest软件单元…

SQL分类——DDL(数据定义语言)

一、DDL&#xff08;数据定义语言&#xff09; &#xff08;1&#xff09;DDL——数据库——操作的相关语法&#xff1a; 查询 可以一次性查询当前数据库服务器中所有的数据库&#xff1a; SHOW DATABASES; 查询当前所处的数据库&#xff1a; SELECT DATABASE(); 创建 一般最简…

基于FPGA的函数信号发生器设计

本科时期的一个课设&#xff0c;现在将他分享出来&#xff0c;写了很详细的文章&#xff0c;可以直接拿去使用&#xff1a;设计采用波形查找表和相位累加器的方法实现DDS&#xff0c;查找表的数据位宽为8位&#xff0c;采样点数为4096。波形产生范围是100Hz-20MHz&#xff0c;最…

上位机图像处理和嵌入式模块部署(mcu定时器配置)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在mcu开发过程当中&#xff0c;有一种开发模式用的比较多&#xff0c;那就是中断while&#xff08;1&#xff09;。这里面的中断&#xff0c;又是以…