首页 > 其他分享 >graylog MessageInput 简单说明

graylog MessageInput 简单说明

时间:2022-10-03 13:00:17浏览次数:83  
标签:java graylog2 MessageInput server 626be1f0d80506705b5ba41fbea33c2ec0164bc0 grayl

input 是graylog 处理消息的核心,内部对于网络的处理是基于了netty 框架,消息的核心基类是MessageInput

基类的能力

如下图,包含了基本常用的配置,状态,以及input 节点信息,同时还包含input 组件的静态资源,以及contenpack (后续说明)
每个input 会包含一个transport,知道基于那种通道处理消息,对于消息的处理包含了processRawMessage 方法,数据都是放到
InputBuffer 中的,MessageInput 包含了生命周期的能力,stop,launch,checkConfiguration,terminate,配置管理,以及contentpack
的配置,同时还有一个比较重要的编码器,知道如何处理消息的,消息处理比较依赖InputBuffer 这个比较重要

 

 

实现子类

参考下图,包含了不少常用的实现

 

 

MessageInput 的使用

InputLauncher,InputSetupService,Transport ,InputRegistry 都会使用到MessageInput,InputLauncher 是如何启动MessageInput的(核心是编码器以及通道)
InputSetupService 对于MessageInput 状态的一个管理,也就是我们界面上的操作,Transport 需要依赖MessageInput 知道如何创建通道,InputRegistry 类似input
的仓库,我们可以知道当前存在的input 以及运行情况(实际上就是一个内存存储)

说明

以上是对于MessageInput 的简单说明,对于消息处理会单独说明

参考资料

https://github.com/Graylog2/graylog2-server/blob/626be1f0d80506705b5ba41fbea33c2ec0164bc0/graylog2-server/src/main/java/org/graylog2/shared/initializers/InputSetupService.java
https://github.com/Graylog2/graylog2-server/blob/626be1f0d80506705b5ba41fbea33c2ec0164bc0/graylog2-server/src/main/java/org/graylog2/shared/inputs/InputLauncher.java
https://github.com/Graylog2/graylog2-server/blob/626be1f0d80506705b5ba41fbea33c2ec0164bc0/graylog2-server/src/main/java/org/graylog2/plugin/inputs/MessageInput.java
https://github.com/Graylog2/graylog2-server/blob/626be1f0d80506705b5ba41fbea33c2ec0164bc0/graylog2-server/src/main/java/org/graylog2/shared/buffers/InputBufferImpl.java

标签:java,graylog2,MessageInput,server,626be1f0d80506705b5ba41fbea33c2ec0164bc0,grayl
From: https://www.cnblogs.com/rongfengliang/p/16750341.html

相关文章

  • kafka是啥?虽然很难学,但是实验入门很简单
    文章目录​​kafka概述​​​​kafka快速入门​​​​本地搭建伪分布式kafka集群​​​​使用docker部署kafka​​​​更深入的学习(待更)​​​​学习链接​​kafka概述Kaf......
  • Shiro-01-简单实例
    文章目录​​1.Shiro介绍​​​​2.Shiro与SpringSecurity的对比​​​​3.基本功能​​​​4.Shiro原理​​​​5.Shiro的shiro.ini​​​​6.简单实例​​​​7.身......
  • 程序员的表白原来也如此简单 网友表示很羡慕
    ......
  • 第一季:10简单的谈一下SpringMVC的工作流程【Java面试题】
    第一季:10简单的谈一下SpringMVC的工作流程【Java面试题】​​前言​​​​推荐​​​​第一季:10简单的谈一下SpringMVC的工作流程​​​​题目​​​​分析​​​​最后​​......
  • graylog jprofiler docker 镜像
    主要是添加jprifler方便学习参考dockerfile很简单,添加文件就行了,具体jprofiler官方下载解压就行了FROMgraylog/graylog:4.3COPYjprofiler13.0.3//op......
  • Prometheus 简单理解
    Prometheus是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus内置了一个强大的数据查询语言PromQL。通过PromQL可以实现对监控数据的查......
  • graylog rest servcie 启动&集成说明
    参考处理模块定义Graylog2ModuleprotectedvoidaddSystemRestResource(Class<?>restResourceClass){systemRestResourceBinder().addBinding().toI......
  • numpy简单使用
    1.安装以及测试简介NumPy是一个运行速度非常快的数学库,主要用于数组计算,包含:一个强大的N维数组对象ndarray广播功能函数整合C/C++/Fortran代码的工具线性代数、傅里叶......
  • Rsync的简单使用
    Rsync的简单使用需求一个运行很久的系统里面可能包含了非常多的垃圾文件.但是又不可能随便删除,很多垃圾可能有某些奇葩的用法.有时候新建一个应用复制文件的话比较浪费......
  • UnixBench的简单测试与验证
    UnixBench的简单测试与验证目标飞腾2000+(物理机和虚拟机)IntelGolden6170物理机IntelGolden5218虚拟机[email protected]至强十年前的CPUE5-2620物......