flume採集数据导入elasticsearch 配置
Flume启动通常会报两种错,一种是log4j没有配置,第二种就是缺少各种jar包。SO:
[root@laiym ~]# cp /usr/local/elasticsearch/lib/*/usr/local/flume/lib/
假设有同样的jar包不用覆盖
下述为flume到elasticsearch的一个配置文件。字段使用方法详情大家看官方给出的定义。
#文件名为flume-es.conf
#定义sources,channel和sinks的名称
agent.sources = tail
agent.sinks = elasticsearch
agent.channels = memoryChannel
#配置source的详情
agent.sources.tail.type = exec
agent.sources.tail.command = tail -F /var/log/secure
agent.sources.tail.interceptors=i1 i2 i3
agent.sources.tail.interceptors.i1.type=regex_extractor
agent.sources.tail.interceptors.i1.regex =(\\w+\\s+\\w+\\s+\\d+\\\:\\d+\\\:\\d+)\\s+(\\w+)\\s+(\\w+)
agent.sources.tail.interceptors.i1.serializers = s1 s2s3
agent.sources.tail.interceptors.i1.serializers.s1.name= time
agent.sources.tail.interceptors.i1.serializers.s2.name= hostname
agent.sources.tail.interceptors.i1.serializers.s3.name= service
agent.sources.tail.interceptors.i2.type=org.apache.flume.interceptor.TimestampInterceptor$Builder
agent.sources.tail.interceptors.i3.type=org.apache.flume.interceptor.HostInterceptor$Builder
agent.sources.tail.interceptors.i3.hostHeader = host
#配置channel的详情
agent.channels.memoryChannel.type = memory
agentes.channels.channel1.capacity = 1000000
agentes.channels.channel1.transactionCapacity = 5000
#agentes.channels.channel1.keep-alive = 10
#配置sink的详情
agent.sinks.elasticsearch.type=org.apache.flume.sink.elasticsearch.ElasticSearchSink
agent.sinks.elasticsearch.batchSize=100
agent.sinks.elasticsearch.hostNames=127.0.0.1:9300
agent.sinks.elasticsearch.indexName=linux_secure
agent.sinks.elasticsearch.indexType=message
agent.sinks.elasticsearch.clusterName=elasticsearch
agent.sinks.elasticsearch.serializer=org.apache.flume.sink.elasticsearch.ElasticSearchLogStashEventSerializer
#配置source、sink和channel的详情
agent.sources.tail.channels = memoryChannel
agent.sinks.elasticsearch.channel = memoryChannel
样本日志为linux的secure日志。
Feb 23 17:38:20 laiym sshd[1591]:pam_unix(sshd:session): session closed for user root
Feb 23 17:38:20 laiym sshd[1616]:pam_unix(sshd:session): session closed for user root
Feb 23 17:38:38 laiym sshd[1954]: reverse mappingchecking getaddrinfo for bogon [192.168.141.1] failed - POSSIBLE BREAK-INATTEMPT!
Feb 23 17:38:38 laiym sshd[1954]: Accepted passwordfor root from 192.168.141.1 port 61857 ssh2
Feb 23 17:38:38 laiym sshd[1954]:pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 23 17:50:19 laiym sshd[2019]: reverse mappingchecking getaddrinfo for bogon [192.168.141.1] failed - POSSIBLE BREAK-INATTEMPT!
Feb 23 17:50:19 laiym sshd[2019]: Accepted passwordfor root from 192.168.141.1 port 50289 ssh2
Feb 23 17:50:20 laiym sshd[2019]:pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 24 09:40:51 laiym sshd[1585]:pam_unix(sshd:session): session closed for user root
启动时打开INFO日志和console日志。查看启动状态。
[root@laiym ~]# cd /usr/local/flume/
[root@laiym flume]# ./bin/flume-ng agent -c ./conf/ -f./conf/flume-es.conf -n agent -Dflume.root.logger=INFO,console
在ES中的数据截图:
在kibana中的数据截图:
ok。完美。。!
flume採集数据导入elasticsearch 配置的更多相关文章
- 【转】Flume(NG)架构设计要点及配置实践
Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...
- logstash用jdbc插件将数据库内容导入elasticsearch时间字段相差5小时
logstash将mysql的数据导入elasticsearch之后发现时间字段的相差5个小时 解决办法: 在数据库连接配置后面加上?serverTimezone=UCT这个就OK了 logstash ...
- Logstash学习之路(四)使用Logstash将mysql数据导入elasticsearch(单表同步、多表同步、全量同步、增量同步)
一.使用Logstash将mysql数据导入elasticsearch 1.在mysql中准备数据: mysql> show tables; +----------------+ | Table ...
- Eclipse导入Elasticsearch源码
Eclipse导入Elasticsearch源码的步骤, 基于Elasticsearch 6.2.2的源码版本. 1.安装JDK1.9 Elasticsearch 6.2.2需要JDK1.9编译,否则 ...
- ElasticSearch 配置详解
配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.yml,日志配置文件是logging.yml ...
- Elasticsearch 配置
Elasticsearch 配置 Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展 ...
- elasticsearch配置
配置文件详解1.0版 配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.yml,日志配置文件是 ...
- 【大数据实战】将普通文本文件导入ElasticSearch
以<刑法>文本.txt为例. 一.格式化数据 1,首先,ElasticSearch只能接收格式化的数据,所以,我们需要将文本文件转换为格式化的数据---json. 下图为未处理的文本文件. ...
- elasticsearch配置详解
一.说明 使用的是新版本5.1,直接从官网下载rpm包进行安装,https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5 ...
随机推荐
- php 日期格式化
date('Y-m-d H:i:s',time()); 2014-09-01 05:06:01 date(' y-n-j G:i:s',time()); 14-9-1 5:06:01 mktime(h ...
- npm中的 --save-dev
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里 ...
- insert into 语句的三种写法 以及批量插入
方式1. INSERT INTO t1(field1,field2) VALUE(v001,v002); // 插入一条 方式2. INSERT INTO t1(field1,f ...
- 利用a链接发送电子邮件
实例代码: <a href="mailto:name1@rapidtables.com?cc=name2@rapidtables.com&subject=你好%20我是&quo ...
- 给DBA 的mysql脚本格式
- 网页小技巧-360doc个人图书馆复制文字
用过这个网站的人知道,当你像平时一样复制网页的地址时,这个网站会弹出如下的提示框: 这时候如果你没有账号,又不想注册.真的是一种很崩溃的感觉,但是除了注册登录外,就没有其他的办法了吗? 熟悉网页调试的 ...
- map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots的值为[1, 2, 3], numbers的值仍为[1, 4, ...
- 路飞学城Python-Day80
36-模板语法之继承 Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks . ...
- 路飞学城Python-Day79
27-url控制器之path方法 由于基于re_path的路径编写方式是重复性高的编写url,如果规则改变了,则对应的要去修改很多url,这样是很不方便的 所以采用Django2.0的path去编写u ...
- linux系统时间与网络时间不同步
在解决问题之前,我们首先来了解下面几个知识点: 1. date命令: #date 显示系统时间 2.hwclock命令 (即hardwareclock系统硬件时间) #hwclock 显示硬件时间 ...