比Filebeat更强大的日志收集工具-Fluent bit的http插件实战

news2024/11/15 23:40:38

文章目录

    • 1.前言
    • 2. fluent bit http插件配置以及参数详解
    • 3. Http 接口服务
      • 3.1 开发Http 接口服务
      • 3.2 重启fluent bit向http web服务发送数据


1.前言

Fluent Bit 的 HTTP 插件提供了一种灵活而通用的机制,可用于将日志数据 从各种环境中传输到指定的远程服务器,具有很强的适用性和实用性。

  • 实时日志传输: HTTP 插件使 Fluent Bit 能够将实时产生的日志数据以 HTTP 协议的形式传输到指定的远程服务器。这对于实时监控、分析和处理日志非常重要。
  • 远程日志收集: 在分布式系统或微服务架构中,日志可能产生在不同的节点上。使用 HTTP 插件,可以轻松地将这些分布在各处的日志集中传输到中心化的日志收集服务器。
  • 云服务集成: 在云环境中,可以使用 HTTP 插件将日志数据发送到云服务提供商的日志服务,实现云端的日志管理和监控。
  • 跨平台和跨语言: HTTP 是一种通用的协议,可以与几乎所有编程语言和平台兼容。因此,HTTP 插件使 Fluent Bit 能够与各种应用程序和系统集成,实现跨平台和跨语言的日志传输。

本文详细介绍了如何进行http插件的配置实现将fluent bit收集的日志信息传输至自定义http接口。

2. fluent bit http插件配置以及参数详解

在这里插入图片描述

  • Match

配置文件中定义的[Input]部分的tag值

在这里插入图片描述
如上述配置文件中所见,[Output]部分Match使用[Input]中Tag值sample

  • Format

文本传输内容的格式,默认为msgpack

  • Header

添加http请求头信息

此样例中通过请求头指定了
Content-Type:application/json

  • URI

目标web服务的Http URI

如,接口完整请求地址为
127.0.0.1:8080/output/http, 那么URI为output/http

  • json_date_key

在输出记录中指定时间键的名称

如,指定输出的时间key为@timestamp,那么通过http传送后接收到的时间信息如下,
在这里插入图片描述

  • json_date_format

指定日期的格式。 支持的格式为double、epoch、iso8601(例如:2018-05-30 T09:39:52 . 000681Z)和java_sql_timestamp(例如:2018-05-30 09:39:52.000681)

如, 指定日期格式为iso8601,Http服务接收到的数据中日期的格式如下,
在这里插入图片描述

3. Http 接口服务

3.1 开发Http 接口服务

注意服务入参一定是要json数组,因为fluent bit发送数据时是数组格式

package com.example.controller;

import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;


@RestController
@RequestMapping("/output")
public class FluentBitDemo {

    @PostMapping("/http")
    public String inputAuditWithMsg(@RequestBody JSONObject[] audits){

        System.out.println("== begin audit with msg ==");

        for(JSONObject obj : audits){
            System.out.println("==  audit msg info ==" + obj.toString());
        }

        return "success";

    }
}

3.2 重启fluent bit向http web服务发送数据

查看Http服务接收到fluent bit 发送的数据
在这里插入图片描述

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

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

相关文章

Python算法题集_滑动窗口最大值

本文为Python算法题集之一的代码示例 题目239:滑动窗口最大值 说明:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗…

常见的网络安全威胁和防护方法

随着数字化转型和新兴技术在各行业广泛应用,网络安全威胁对现代企业的业务运营和生产活动也产生了日益深远的影响。常见的网络安全威胁通常有以下几种: 1. 钓鱼攻击 攻击者伪装成合法的实体(如银行、电子邮件提供商、社交媒体平台等&#xf…

C++实现通讯录管理系统

目录 1、系统需求 2、创建项目 2.1 创建项目 3、菜单功能 4、退出功能 5、添加联系人 5.1 设计联系人结构体 5.2 设计通讯录结构体 5.3 main函数中创建通讯录 5.4 封装联系人函数 5.5 测试添加联系人功能 6、显示联系人 6.1 封装显示联系人函数 7、删除联系人 7.1…

获取依赖aar包的两种方式-在android studio里引入 如:glide

背景:我需要获取aar依赖到内网开发,内网几乎代表没网。 一、 如何需要获取依赖aar包 方式一:在官方的github中下载,耗时不建议 要从开发者网站、GitHub 存储库或其他来源获取 ‘com.github.bumptech.glide:glide:4.12.0’ AAR 包&#xff…

MySQL:MVCC原理详解

MySQL是允许多用户同时操作数据库的,那么就会出现多个事务的并发场景。那么再并发场景会出现很多问题:脏读、不可重复读、幻读的问题。 而解决这些问题所用到的方法就是:MVCC 多版本并发控制。而这个MVCC的实现是基于read_view、undoLog 如…

大规模机器学习(Large Scale Machine Learning)

1.大型数据集的学习 案例: 如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果。我们应该怎样应对一个有 100 万条记录的训练集? 以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误…

古建筑电气火灾的防控与管理

摘要:我国古建筑多为砖木结构,当发生火灾事故时具有蔓延快、扑救难的特点,而火灾对古建筑的损害性很大,电气火灾事故在我国火灾事故中比重居高不下。本文通过对古建筑电气火灾成因进行分析,有针对性地提出了古建筑电气火灾防控对策…

日志之Loki详细讲解

文章目录 1 Loki1.1 引言1.2 Loki工作方式1.2.1 日志解析格式1.2.2 日志搜集架构模式1.2.3 Loki部署模式 1.3 服务端部署1.3.1 AllInOne部署模式1.3.1.1 k8s部署1.3.1.2 创建configmap1.3.1.3 创建持久化存储1.3.1.4 创建应用1.3.1.5 验证部署结果 1.3.2 裸机部署 1.4 Promtail…

炒黄金 vs 炒股:探寻投资路线的差异和各自的优势

在当前不景气的股市,人们越来越关注分散投资的方式,以期降低风险并稳定资产。炒黄金成为了一个备受关注的投资选择,与传统炒股相比,它到底有什么区别呢?本文将从多个维度深入分析这两种投资方式的差异以及各自的优势。…

微信开发者工具 git 拉取 failed invalid authentication scheme

微信开发者工具 git 拉取 failed invalid authentication scheme 拉取代码时报错,无效身份认证 解决方案: 1.检查git地址是否正常 2.检查git用户名密码是否正确

ElementUI组件:Button 按钮

button按钮 点击下载learnelementuispringboot项目源码 效果图 el-button.vue页面效果图 项目里el-button.vue代码 <script> export default {name: "el_button",// 注意这里的名称不能和 router inex.js里的name一样methods: {sendMsg() {// alert(1)xthi…

(2024,双流编码器,文本引导的风格迁移,调制,FFT 和低频滤波)FreeStyle:使用扩散模型进行文本引导风格迁移

FreeStyle: Free Lunch for Text-guided Style Transfer using Diffusion Models 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 LDM 3.2 FreeStyle 的模型结构…

数据结构——并查集

1.并查集的定义 并查集其实也是一种树形结构&#xff0c;在使用中通常用森林的方式来表示 并查集的逻辑结构其实就是集合 并查集一般可以通过双亲写法&#xff08;顺序结构&#xff09;来完成&#xff0c;即通过一个数组存储父亲结点的下标 int s[10005]; int main() {for(…

共享的IP隔一段时间就变?用这种方法可以不需要知道电脑IP

前言 一般来说,电脑接入路由器之后,IP是由路由器自动分配的(DHCP),但如果隔一段时间不开机连接路由器,或者更换了别的网卡进行连接,自动分配的IP就会更改。 比如你手机连接着电脑的共享IP:192.168.1.10,但过段时间之后,电脑的IP突然变成了192.168.1.11,那么你的所有…

UDP/TCP协议特点

1.前置知识 定义应用层协议 1.确定客户端和服务端要传递哪些信息 2.约定传输格式 网络上传输的一般是二进制数据/字符串 结构化数据转二进制/字符串 称为序列化 反之称之为反序列化 下面就是传输层了 在TCP/IP协议中,我们以 目的端口,目的IP 源端口 源IP 协议号这样一个五…

20240129收获

今天终于发现《八部金刚功》第五部我一直做的是错的&#xff0c;嗨。这里这个写法非常聪明&#xff0c;创立的数组&#xff0c;以及用obj[key] item[key]这样的写法&#xff0c;这个写法充分展示了js常规写法中只有等号右边会去参与运算&#xff0c;等号左边就是普通的键的写法…

【c++】类和对象3

拷贝构造函数 拷贝构造函数&#xff1a;只有单个形参&#xff0c;该形参是对本类类型对象的引用(一般常用const修饰)&#xff0c;在用已存在的类类型对象创建新对象时由编译器自动调用。 拷贝构造函数是构造函数的一个重载形式。 函数名相同&#xff0c;参数不同 先定义一个类…

【pytest系列】- parametrize参数化

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

Springboot校验注解

Spring Boot 提供了一组基于 Hibernate Validator 的校验注解&#xff0c;用于验证请求参数、实体对象等数据的合法性。下面是一些常用的 Spring Boot 校验注解及其功能&#xff1a; 导入依赖 <dependency><groupId>org.springframework.boot</groupId><…

正则表达式补充以及sed awk

正则表达式&#xff1a; 下划线算 在单词里面 解释一下过程&#xff1a; 在第二行hello world当中&#xff0c;hello中的h 与后面第一个h相匹配&#xff0c;所以hello中的ello可以和abcde匹配 在world中&#xff0c;w先匹配h匹配不上&#xff0c;则在看0&#xff0c;r&#…