2019独角兽企业重金招聘Python工程师标准>>>

由于不同版存在不兼容问题也试了好多次,网上找别人写的博客版本最后终于成功了。

flume:1.6.0

elasticsearch:1.7.6

kibana:4.1.9

从elasticsearch的lib目录拷贝elasticsearch-1.7.6.jar,lucene-core-4.10.4.jar到flume的lib目录,我们服务器使用的是logcxx和spdlog,使用syslog方式收集日志,(由于spdlog的syslog不能写到远程服务器,自己要改下源码用udp发送出去就行了)。

日志内容:<15>(Balance)[2016-12-15 14:53:28,610][DEBUG] ServerName[Entrance] statistics_total: total_UserCount = [cur_total=11,max_total=0],

红色:syslog用日志级别和日志类型生成的一个数字(自己修改spdlog的syslog需要在一条日志前加上尖括号和这个数字)

绿色:下面正则表达式要过滤出来的服务器名字或者模块名字

蓝色:时间,下面也会转换成时间戳

褐色:级别

黑色:内容

logcxx配置:

log4j.appender.RootSyslog=org.apache.log4j.net.SyslogAppender
log4j.appender.RootSyslog.SyslogHost=127.0.0.1 #flume地址
log4j.appender.RootSyslog.Facility=USER
log4j.appender.RootSyslog.Append=true
log4j.appender.RootSyslog.layout=org.apache.log4j.PatternLayout
log4j.appender.RootSyslog.layout.ConversionPattern=(服务器名字或者模块)[%d][%p] %m%n

flume配置:

agent.sources = sysSource
agent.channels = memoryChannel
agent.sinks = k1

#syslog source
agent.sources.sysSource.type = syslogudp
agent.sources.sysSource.bind = 0.0.0.0
agent.sources.sysSource.port = 514
agent.sources.sysSource.channels = memoryChannel
agent.sources.sysSource.interceptors = i1 i2 i3
#时间
agent.sources.sysSource.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
#服务器IP
agent.sources.sysSource.interceptors.i2.type = org.apache.flume.interceptor.HostInterceptor$Builder
agent.sources.sysSource.interceptors.i2.hostHeader = host
#正则表达式过滤出自定义圆括号中的字符串作为服务器类型名
agent.sources.sysSource.interceptors.i3.type=org.apache.flume.interceptor.RegexExtractorInterceptor$Builder
agent.sources.sysSource.interceptors.i3.regex = ((?<=\\()[^\\)]+)
agent.sources.sysSource.interceptors.i3.serializers = s1 
agent.sources.sysSource.interceptors.i3.serializers.s1.name = server_type

#ElasticSearchSink
agent.sinks.k1.type = org.apache.flume.sink.elasticsearch.ElasticSearchSink
agent.sinks.k1.channel = memoryChannel
#elasticsearch地址
agent.sinks.k1.hostNames = 10.105.92.225:9300 
#elasticsearch索引名字
agent.sinks.k1.indexName = server_log
agent.sinks.k1.batchSize = 100
agent.sinks.k1.indexType = log
#这个要和elasticsearch名字一样
agent.sinks.k1.clusterName = log-es
agent.sinks.k1.serializer = org.apache.flume.sink.elasticsearch.ElasticSearchLogStashEventSerializer

#memory channel
agent.channels.memoryChannel.type = memory
agent.channels.memoryChannel.capacity = 10000
agent.channels.memoryChannel.transacionCapacity = 100
agent.channels.memoryChannel.byteCapacityBufferPercentage = 20
agent.channels.memoryChannel.byteCapacity  = 10240000

elasticsearch配置:

cluster.name: log-es
node.name: "log-es01"
node.master: true
node.data: true

可以给elasticsearch配置kibana和head插件

转载于:https://my.oschina.net/u/1411528/blog/806432

flume+elasticsearch日志收集分析相关推荐

  1. 基于ELK打造强大的日志收集分析系统(springboot2+logback+logstash+elasticsearch+kibana)

    前言 上一代的日志分析系统springboot+log4j+flume+kafka仿佛还是昨天,现在已经流行起了新一代的springboot2+logback+logstash+elasticsear ...

  2. Flume 海量日志收集利器

    Flume 海量日志收集利器 关于日志收集 服务器日志收集 服务器日志是大数据系统中最主要的数据来源之一 服务器日志可能包含的信息 访问信息 系统信息 其他业务信息 基于服务器日志的应用 业务仪表盘: ...

  3. log_pipe日志收集分析系统介绍

    一.简要介绍 log_pipe是一个高性能的日志收集分析系统,从13年11月第一版上线以来,已经在阿里内部有了广泛的使用,目前在日志最为繁忙的CDN节点内部已经部署超过20个节点,用于对CDN的访问日 ...

  4. Flume-NG + HDFS + HIVE 日志收集分析 | EyeLu技术Blog

    Flume-NG + HDFS + HIVE 日志收集分析 | EyeLu技术Blog: "" (Via.) 转载于:https://www.cnblogs.com/devops/ ...

  5. 一套标准的ASP.NET Core容器化应用日志收集分析方案

    点击上方蓝字 给一个关注吧 讲故事 关注我公众号的朋友,应该知道我写了一些云原生应用日志收集和分析相关的文章,其中内容大多聚焦某个具体的组件: 超级有用的TraceId,快点用起来吧! 如何利用NLo ...

  6. flume分布式日志收集系统操作

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去. 2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点. 3.agent里面包含3个核心 ...

  7. ElasticStack搭建Java日志收集分析,并将其构建docker镜像-学习笔记

    参考视频(ElasticStack)https://www.bilibili.com/video/av53652729 (Docker)           https://www.bilibili. ...

  8. ELK (一)部署ELK+Filebeat日志收集分析系统

    说明:此安装流程只适用于8.0.0以下的版本 1. ElasticSearch 部署 1.1 下载ElasticSearch的wget指令: wget https://artifacts.elasti ...

  9. 基于Nginx、Kafka日志收集分析

    项目环境: 8台服务器(2G,2核) Centos7, Nginx, Keepalived, Filebeat, Kafka, Zookeeper, MariaDB  项目描述: 收集用户访问Ngi ...

最新文章

  1. vue子组件调用父组件内的方法
  2. mysql数据库配置文件my.ini
  3. 计算机中减法英语,计算机中的减法运算
  4. 【线上圆桌整理 - 微软】后疫情时代现代化办公新趋势
  5. PyQt4设置窗口左上角的小图标
  6. Java把时间毫秒数转换成日期和时间
  7. PyTorch: 各种图像格式相互转化
  8. 2022美赛M奖经验总结(4)图文优化篇
  9. 十大常用机器学习算法总结(持续完善)
  10. PayPal支付配置
  11. Pyqt5 遇到的超级无敌大坑!clicked.connect后面的connect出现下划线 计算机积极拒绝问题
  12. pytracking系列跟踪算法的配置(LWL, KYS, PrDiMP, DiMP and ATOM Trackers)(Ubuntu版本)
  13. 小程序即时配送配置指南
  14. weblogic12c重置密码linux,weblogic 12c忘记domain密码重置方法
  15. 门限签名(1)——秘密共享
  16. SAS(五)建立SAS数据集的方法及导出数据
  17. 使用python判断一个数是否为素数
  18. spring-xxx-xxx-0.0.1-SNAPSHOT.jar中没有主清单属性完美解决
  19. 深入了解C语言和C++哪个更难?
  20. 【前端三分钟】利用Javascript实现打字效果

热门文章

  1. java设计模式之设计原则④接口隔离原则
  2. TensorFlow: Could not load requested Qt binding.
  3. 三维重建:闭环检测-相机闭环
  4. 『中级篇』Docker Cloud自动构建 Docker image(55)
  5. bootstrap File Input 多文件上传插件使用记录(二)删除原文件
  6. 回溯法求解N皇后问题(Java实现)
  7. 大家好,给大家介绍一下,这是我的智能伙伴…..
  8. Python之Idel利器jupyter notebook
  9. TextBox的智能感知
  10. 荣幸参加 微软 Teched 2012 会议