logstash 导入数据向Elasticsearch导入日志没有报错,但在kibana中没有生成index,没有分配Indices

> 博客详情
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究此方案可行性的时候,我发现ELK(ElasticSearch, Logstash, Kibana)平台恰好可以同时实现日志收集、日志搜索和日志分析的功能,于是又去学习了一番。之后发现如果使用这三者,收集日志也可以不再使用Kafka了,Logstash就可以帮我们完成。当然,虽然Logstash也支持使用Kafka作为数据源输入,但是使用这三者就没有必要再增加系统复杂度了。
ELK平台介绍
在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:
以下内容来自:
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
----------------------------摘抄内容结束-------------------------------
画了一个ELK工作的原理图:
如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。
ELK平台搭建
System: Centos release 6.7 (Final)
ElasticSearch: 2.1.0
Logstash: 2.1.1
Kibana: 4.3.0
Java: openjdk version &"1.8.0_65"
注:由于Logstash的运行依赖于Java环境, 而Logstash 1.5以上版本不低于java 1.7,因此推荐使用最新版本的Java。因为我们只需要Java的运行环境,所以可以只安装JRE,不过这里我依然使用JDK,请自行搜索安装。
ElasticSearch
配置ElasticSearch:
tar&-zxvf&elasticsearch-2.1.0.tar.gz
cd&elasticsearch-2.1.0
安装Head插件(Optional):
./bin/plugin&install&mobz/elasticsearch-head
然后编辑ES的配置文件:
vi&config/elasticsearch.yml
修改以下配置项:
cluster.name=es_cluster
node.name=node0
path.data=/tmp/elasticsearch/data
path.logs=/tmp/elasticsearch/logs
#当前hostname或IP,我这里是centos2
network.host=centos2
network.port=9200
其他的选项保持默认,然后启动ES:
./bin/elasticsearch
可以看到,它跟其他的节点的传输端口为9300,接受HTTP请求的端口为9200。
使用ctrl+C停止。当然,也可以使用后台进程的方式启动ES:
./bin/elasticsearch&&
然后可以打开页面localhost:9200,将会看到以下内容:
返回展示了配置的cluster_name和name,以及安装的ES的版本等信息。
刚刚安装的head插件,它是一个用浏览器跟ES集群交互的插件,可以查看集群状态、集群的doc内容、执行搜索和普通的Rest请求等。现在也可以使用它打开页面来查看ES集群状态:
可以看到,现在,ES集群中没有index,也没有type,因此这两条是空的。
Logstash的功能如下:
其实它就是一个收集器而已,我们需要为它指定Input和Output(当然Input和Output可以为多个)。由于我们需要把Java代码中Log4j的日志输出到ElasticSearch中,因此这里的Input就是Log4j,而Output就是ElasticSearch。
配置Logstash:
tar&-zxvf&logstash-2.1.1.tar.gz
cd&logstash-2.1.1
编写配置文件(名字和位置可以随意,这里我放在config目录下,取名为log4j_to_es.conf):
mkdir&config
vi&config/log4j_to_es.conf
输入以下内容:
#&For&detail&structure&of&this&file
#&Set:&https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
&&#&For&detail&config&for&log4j&as&input,&
&&#&See:&https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html
&&&&mode&=&&"server"
&&&&host&=&&"centos2"
&&&&port&=&&4567
&&#Only&matched&data&are&send&to&output.
&&#&For&detail&config&for&elasticsearch&as&output,&
&&#&See:&https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html
&&elasticsearch&{
&&&&action&=&&"index"&&&&&&
#The&operation&on&ES
&&&&hosts&&=&&"centos2:9200"
#ElasticSearch&host,&can&be&array.
&&&&index&&=&&"applog"&&&&&
#The&index&to&write&data&to.
logstash命令只有2个参数:
因此使用agent来启动它(使用-f指定配置文件):
./bin/logstash&agent&-f&config/log4j_to_es.conf
到这里,我们已经可以使用Logstash来收集日志并保存到ES中了,下面来看看项目代码。
照例先看项目结构图:
pom.xml,很简单,只用到了Log4j库:
&dependency&
&&&&&groupId&log4j&/groupId&
&&&&&artifactId&log4j&/artifactId&
&&&&&version&1.2.17&/version&
&/dependency&
log4j.properties,将Log4j的日志输出到SocketAppender,因为官网是这么说的:
log4j.rootLogger=INFO,console
#&for&package&com.demo.elk,&log&would&be&sent&to&socket&appender.
log4j.logger.com.demo.elk=DEBUG,&socket
#&appender&socket
log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.Port=4567
log4j.appender.socket.RemoteHost=centos2
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=%d&[%-5p]&[%l]&%m%n
log4j.appender.socket.ReconnectionDelay=10000
#&appender&console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d&[%-5p]&[%l]&%m%n
注意:这里的端口号需要跟Logstash监听的端口号一致,这里是4567。
Application.java,使用Log4j的LOGGER打印日志即可:
package&com.demo.
import&org.apache.log4j.L
public&class&Application&{
&&&&private&static&final&Logger&LOGGER&=&Logger.getLogger(Application.class);
&&&&public&static&void&main(String[]&args)&throws&Exception&{
&&&&&&&&for&(int&i&=&0;&i&&&10;&i++)&{
&&&&&&&&&&&&LOGGER.error("Info&log&["&+&i&+&"].");
&&&&&&&&&&&&Thread.sleep(500);
用Head插件查看ES状态和内容
运行Application.java,先看看console的输出(当然,这个输出只是为了做验证,不输出到console也可以的):
再来看看ES的head页面:
切换到Browser标签:
单击某一个文档(doc),则会展示该文档的所有信息:
可以看到,除了基础的message字段是我们的日志内容,Logstash还为我们增加了许多字段。而在中也明确说明了这一点:
上面使用了ES的Head插件观察了ES集群的状态和数据,但这只是个简单的用于跟ES交互的页面而已,并不能生成报表或者图表什么的,接下来使用Kibana来执行搜索并生成图表。
配置Kibana:
tar&-zxvf&kibana-4.3.0-linux-x86.tar.gz
cd&kibana-4.3.0-linux-x86
vi&config/kibana.yml
修改以下几项(由于是单机版的,因此host的值也可以使用localhost来代替,这里仅仅作为演示):
server.port:&5601
server.host:&“centos2”
elasticsearch.url:&http://centos2:9200
kibana.index:&“.kibana”
启动kibana:
./bin/kibana
用浏览器打开该地址:
为了后续使用Kibana,需要配置至少一个Index名字或者Pattern,它用于在分析时确定ES中的Index。这里我输入之前配置的Index名字applog,Kibana会自动加载该Index下doc的field,并自动选择合适的field用于图标中的时间字段:
点击Create后,可以看到左侧增加了配置的Index名字:
接下来切换到Discover标签上,注意右上角是查询的时间范围,如果没有查找到数据,那么你就可能需要调整这个时间范围了,这里我选择Today:
接下来就能看到ES中的数据了:
执行搜索看看呢:
点击右边的保存按钮,保存该查询为search_all_logs。接下来去Visualize页面,点击新建一个柱状图(Vertical Bar Chart),然后选择刚刚保存的查询search_all_logs,之后,Kibana将生成类似于下图的柱状图(只有10条日志,而且是在同一时间段的,比较丑,但足可以说明问题了:) &):
你可以在左边设置图形的各项参数,点击Apply Changes按钮,右边的图形将被更新。同理,其他类型的图形都可以实时更新。
点击右边的保存,保存此图,命名为search_all_logs_visual。接下来切换到Dashboard页面:
单击新建按钮,选择刚刚保存的search_all_logs_visual图形,面板上将展示该图:
如果有较多数据,我们可以根据业务需求和关注点在Dashboard页面添加多个图表:柱形图,折线图,地图,饼图等等。当然,我们可以设置更新频率,让图表自动更新:
如果设置的时间间隔够短,就很趋近于实时分析了。
到这里,ELK平台部署和基本的测试已完成。
什么applog?
applog就是配置文件中output 下的index
仔细看了下文章,发现之前的log4j_to_es.conf文件中的output下的elasticsearch中的index
=& "ec",实际应该写为index
=& "applog",误导了大家,已修改,谢谢指正。
仔细看了下文章,发现之前的log4j_to_es.conf文件中的output下的elasticsearch中的index =& "ec",实际应该写为index =& "applog",误导了大家,已修改,谢谢指正。
额,很遗憾的告诉你,我只是在本地环境使用了几台服务器搭建了这个框架,我也没研究过如何使这套系统的性能达到最优,也没研究过这套系统的上限是多大。抱歉
那段时间只是在研究一套收集和分析日志的系统,没有试过使用Java代码去访问ES中的日志哦。请问这样做有什么优点呢?
嗯嗯,成功了就好。我还在想我在写博客的时候有没有忽略什么呢,也没有时间再去重现你的问题了,所以一直没有回复你。
引用来自“摆渡者”的评论额,很遗憾的告诉你,我只是在本地环境使用了几台服务器搭建了这个框架,我也没研究过如何使这套系统的性能达到最优,也没研究过这套系统的上限是多大。抱歉公司目前的日志系统没有用到ELK方案,整个日志系统架构与ELK相似,但核心也是elasticsearch。实时日志记录都是1秒内查询成功,最近10天,日均日志量在12G左右,一点问题没有
引用来自“摆渡者”的评论额,很遗憾的告诉你,我只是在本地环境使用了几台服务器搭建了这个框架,我也没研究过如何使这套系统的性能达到最优,也没研究过这套系统的上限是多大。抱歉用java去查ES着实有点蛋疼,做个日志聚合分析curl简洁但换成java感觉就麻烦多了。如果要做强烈建议还是看官网,遍寻很多博客最后还是在官网get到想要的
引用来自“摆渡者”的评论额,很遗憾的告诉你,我只是在本地环境使用了几台服务器搭建了这个框架,我也没研究过如何使这套系统的性能达到最优,也没研究过这套系统的上限是多大。抱歉引用来自“痕迹EX”的评论公司目前的日志系统没有用到ELK方案,整个日志系统架构与ELK相似,但核心也是elasticsearch。实时日志记录都是1秒内查询成功,最近10天,日均日志量在12G左右,一点问题没有你好,请问你公司的日志环境是多少台机器?每台每天都是12G的量吗?欢迎分享
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&1、下载elasticsearch。wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.10.tar.gz
2、解压后,进入bin目录。执行如下命令,让elasticsearch以前台方式启动:./elasticsearch -f
[ 16:21:31,825][INFO ][node
] [Saint Elmo] version[0.90.10], pid[32269], build[0a-01-10T10:18:37Z]
[ 16:21:31,826][INFO ][node
] [Saint Elmo] initializing ...
[ 16:21:31,836][INFO ][plugins
] [Saint Elmo] loaded [], sites []
[ 16:21:35,425][INFO ][node
] [Saint Elmo] initialized
[ 16:21:35,425][INFO ][node
] [Saint Elmo] starting ...
[ 16:21:35,578][INFO ][transport
] [Saint Elmo] bound_address {inet[/0.0.0.0:9300]}, publish_address {inet[/10.0.2.15:9300]}
Redis1、其安装方式可以参考我的另一篇文章。2、进入其bin目录,执行如下命令,使之在控制台输出debug信息:./redis-server --loglevel verbose
[32470] 16 Jan 16:45:57.330 * The server is now ready to accept connections on port 6379
[32470] 16 Jan 16:45:57.330 - 0 clients connected (0 slaves), 283536 bytes in use
logstash日志生成器(shipper)1、新建一个配置文件:shipper.conf,其内容如下:input {
type =& "example"
codec =& rubydebug
host =& "127.0.0.1"
port =& 6379
data_type =& "list"
key =& "logstash"
2、启动shipper。执行如下命令:java -jar logstash-1.3.2-flatjar.jar agent -f shipper.conf
终端窗口将出现如下提示信息:Using milestone 2 output plugin 'redis'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.3.2/plugin-milestones {:level=&:warn}
然后在终端窗口直接按回车,将出现如下信息:{
"message" =& "",
"@version" =& "1",
"@timestamp" =& "T08:15:19.400Z",
"type" =& "example",
"host" =& "redhat"
这个json信息将发送给redis, 同时redis的终端窗口将出现类似下面的提示信息:[32470] 16 Jan 17:09:23.604 - Accepted 127.0.0.1:44640
[32470] 16 Jan 17:09:27.127 - DB 0: 1 keys (0 volatile) in 4 slots HT.
[32470] 16 Jan 17:09:27.127 - 1 clients connected (0 slaves), 304752 bytes in use
logstash日志索引器(indexer)1、新建一个配置文件:indexer.conf,其内容如下:input {
host =& "127.0.0.1"
# these settings should match the output of the agent
data_type =& "list"
key =& "logstash"
# We use the 'json' codec here because we expect to read
# json events from redis.
codec =& json
stdout { debug =& true debug_format =& "json"}
elasticsearch {
host =& "127.0.0.1"
2、启动日志索引器。执行如下命令:java -jar logstash-1.3.2-flatjar.jar agent -f indexer.conf
终端窗口将出现如下提示信息:Using milestone 2 input plugin 'redis'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.3.2/plugin-milestones {:level=&:warn}
You are using a deprecated config setting "debug_format" set in stdout. Deprecated settings will continue to work, but are scheduled for removal from logstash in the future.
If you have any questions about this, please visit the #logstash channel on freenode irc. {:name=&"debug_format", :plugin=&, :level=&:warn}
索引器从Redis接收到信息,在终端窗口会显示类似如下的信息:{"message":"","@version":"1","@timestamp":"T17:10:03.831+08:00","type":"example","host":"redhat"}{"message":"","@version":"1","@timestamp":"T17:13:20.545+08:00","type":"example","host":"redhat"}{
logstash WEB界面(kibana)1、启动kibana。执行如下命令:java -jar logstash-1.3.2-flatjar.jar web
2、打开浏览器(须支持HTML5),输入地址:http://127.0.0.1:9292/index.html#/dashboard/file/logstash.json。界面效果如下:&&参考资料
&正文结束&
作者:&&&&& 编写时间:日网址:作者保留所有权利,转载请保留文章全部内容或者说明原作者和转载地址!
阅读(17213)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_084066',
blogTitle:'安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台',
blogAbstract:'本文是参考logstash官方文档实践的笔记,搭建环境和所需组件如下:Redhat 5.7 64bit / CentOS 5.xJDK 1.6.0_45logstash 1.3.2 (内带kibana)elasticsearch 0.90.10redis 2.8.4',
blogTag:'logstash,kinana,elasticsearch,redis,日志分析',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:3,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}cd /etc/pki/tlssudo openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
Option 2: FQDN (DNS):
cd /etc/pki/tlssudo openssl req -subj '/CN=&^&logstash_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
Logstash安装:
Logstash Forwarder(客户端):
安装Logstash Forwarderwget https://download.elastic.co/logstash-forwarder/binaries/logstash-forwarder-0.4.0-1.x86_64.rpmyum localinstall logstash-forwarder-0.4.0-1.x86_64.rpm
#查看logstash-forwarder的配置文件位置rpm -qc logstash-forwarder/etc/logstash-forwarder.conf
#备份配置文件cp /etc/logstash-forwarder.conf /etc/logstash-forwarder.conf.save
#编辑 /etc/logstash-forwarder.conf,需要根据实际情况进行修改
vim /etc/logstash-forwarder.conf {& "network": {& & "servers": [ "这里写服务器的ip:5000" ],
& & "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt",
& & "timeout": 15& },
& "files": [& & {& & & "paths": [& & & & "/var/log/messages",& & & & "/var/log/secure"& & & ],
& & & "fields": { "type": "syslog" }& & }& ]}
Logstash Server(服务端):
#下载rpm包wget https://download.elastic.co/logstash/logstash/packages/centos/logstash-1.5.4-1.noarch.rpm#安装yum localinstall logstash-1.5.4-1.noarch.rpm #创建一个01-logstash-initial.conf文件vim /etc/logstash/conf.d/01-logstash-initial.conf input {& lumberjack {& & port =& 5000& & type =& "logs"& & ssl_certificate =& "/etc/pki/tls/certs/logstash-forwarder.crt"& & ssl_key =& "/etc/pki/tls/private/logstash-forwarder.key"& }}
filter {& if [type] == "syslog" {& & grok {& & & match =& { "message" =& "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:[%{POSINT:syslog_pid}])?: %{GREEDYDATA:syslog_message}" }& & & add_field =& [ "received_at", "%{@timestamp}" ]& & & add_field =& [ "received_from", "%{host}" ]& & }& & syslog_pri { }& & date {& & & match =& [ "syslog_timestamp", "MMM& d HH:mm:ss", "MMM dd HH:mm:ss" ]& & }& }}
output {& elasticsearch { host =& localhost }& stdout { codec =& rubydebug }}
#启动logstash服务service logstash startservice logstash status
#访问Kibana,Time-field name 选择 @timestamp 要在下一步操作 Nginx 日志配置之后访问 不然会没有数据不能创建http://localhost:5601/
#增加节点和客户端配置一样,注意同步证书(可以通过SSH的方式同步)/etc/pki/tls/certs/logstash-forwarder.crt
配置Nginx日志:
#修改客户端配置vim /etc/logstash-forwarder.conf
{& "network": {& & "servers": [ "自己服务器的ip地址:5000" ],
& & "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt",
& & "timeout": 15& },
& "files": [& & {& & & "paths": [& & & & "/var/log/messages",& & & & "/var/log/secure"& & & ],& & & "fields": { "type": "syslog" }& & }, {& & & "paths": [& & & & "/app/local/nginx/logs/access.log"& & & ],& & & "fields": { "type": "nginx" }& & }& ]}
#服务端增加patternsmkdir /opt/logstash/patternsvim /opt/logstash/patterns/nginx
NGUSERNAME [a-zA-Z.@-+_%]+NGUSER %{NGUSERNAME}NGINXACCESS %{IPORHOST:remote_addr} - - [%{HTTPDATE:time_local}] "%{WORD:method} %{URIPATH:path}(?:%{URIPARAM:param})? HTTP/%{NUMBER:httpversion}" %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}
#修改logstash权限chown -R logstash:logstash /opt/logstash/patterns
#修改服务端配置vim /etc/logstash/conf.d/01-logstash-initial.conf
input {& lumberjack {& & port =& 5000& & type =& "logs"& & ssl_certificate =& "/etc/pki/tls/certs/logstash-forwarder.crt"& & ssl_key =& "/etc/pki/tls/private/logstash-forwarder.key"& }}
filter {& if [type] == "syslog" {& & grok {& & & match =& { "message" =& "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:[%{POSINT:syslog_pid}])?: %{GREEDYDATA:syslog_message}" }& & & add_field =& [ "received_at", "%{@timestamp}" ]& & & add_field =& [ "received_from", "%{host}" ]& & }& & syslog_pri { }& & date {& & & match =& [ "syslog_timestamp", "MMM& d HH:mm:ss", "MMM dd HH:mm:ss" ]& & }& }& if [type] == "nginx" {& & grok {& & &
match =& { "message" =& "%{NGINXACCESS}" }& & }& }}
output {& elasticsearch { host =& localhost }& stdout { codec =& rubydebug }}
我们看一下完成配置之后的效果:
好了,我是折腾了2天才折腾出来的,感觉自己好笨。写篇总结为了下一次能够快速的搭建起来。
Linux上安装部署ElasticSearch全程记录&
Elasticsearch安装使用教程
ElasticSearch 配置文件译文解析
ElasticSearch集群搭建实例&
分布式搜索ElasticSearch单机与服务器环境搭建&
ElasticSearch的工作机制& &
ElasticSearch 的详细介绍:ElasticSearch 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (12/30/:23)
& (12/12/:21)
& (01月15日)
& (12/25/:50)
& (12/11/:16)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
carbon 发表于 什么原因,求楼主抽空给我解释一下
(0) carbon 发表于 完全按照你的步骤来的,只不过java版本是1.8.0,但我打开kibana时看不到Time-field name这个项

我要回帖

更多关于 logstash search 的文章

 

随机推荐