无论才能、知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。

如何提升ES recovery的速度

Elasticsearchwin1027 回复了问题 • 6 人关注 • 5 个回复 • 7472 次浏览 • 2015-12-23 22:28 • 来自相关话题

怎样让log stash输出number类型数据

Logstashlephix 回复了问题 • 3 人关注 • 1 个回复 • 5377 次浏览 • 2015-12-17 23:51 • 来自相关话题

elasticsearch maven无法生成jar包

Elasticsearchmedcl 回复了问题 • 2 人关注 • 1 个回复 • 8788 次浏览 • 2015-12-14 16:21 • 来自相关话题

使用elasticsearch对其他数据源进行索引时,如何选用分词器?

Elasticsearchphantom 回复了问题 • 3 人关注 • 2 个回复 • 5036 次浏览 • 2015-12-23 17:15 • 来自相关话题

请问ES如何进行负载均衡,我怎样通过各个ip访问达到均衡访问的目的

Elasticsearchjingkyks 回复了问题 • 2 人关注 • 2 个回复 • 4610 次浏览 • 2015-12-12 10:44 • 来自相关话题

Elasticsearch每隔段时间发生/192.168.1.22:62868 => /192.168.1.23:9200

Elasticsearch三斗室 回复了问题 • 2 人关注 • 2 个回复 • 6140 次浏览 • 2015-12-10 12:32 • 来自相关话题

Day9: Elasticsearch template的order

Advent三斗室 发表了文章 • 3 个评论 • 12870 次浏览 • 2015-12-10 01:13 • 来自相关话题

ELK Stack 在入门学习过程中,必然会碰到自己修改定制索引映射(mapping)乃至模板(template)的问题。
这时候,不少比较认真看 Logstash 文档的新用户会通过下面这段配置来制定自己的模板策略:
output {
elasticsearch {
host => "127.0.0.1"
manage_template => true
template => "/path/to/mytemplate"
template_name => "myname"
}
}

然而随后就发现,自己辛辛苦苦修改出来的模板,通过 curl -XGET 'http://127.0.0.1:9200/_template/myname' 看也确实上传成功了,但实际新数据索引创建出来,就是没生效!

这个原因是:Logstash 默认会上传一个名叫 logstash 的模板到 ES 里。如果你在使用上面这个配置之前,曾经运行过 Logstash(一般来说都会),那么 ES 里就已经存在这么一个模板了。你可以curl -XGET 'http://127.0.0.1:9200/_template/logstash' 验证。

这个时候,ES 里就变成有两个模板,logstash 和 myname,都匹配 logstash-* 索引名,要求设置一定的映射规则了。

ES 会按照一定的规则来尝试自动 merge 多个都匹配上了的模板规则,最终运用到索引上:https://www.elastic.co/guide/e ... lates

其中要点就是:template 是可以设置 order 参数的!而不写这个参数,默认的 order 值就是 0。order 值越大,在 merge 规则的时候优先级越高。

所以,解决这个问题的办法很简单:在你自定义的 template 里,加一行,变成这样:
{
"template" : "logstash-*",
"order" : 1,
"settings" : { ... },
"mappings" : { ... }
}
当然,其实如果只从 Logstash 配置角度出发,其实更简单的办法是:直接修改原来默认的 logstash 模板,然后模板名称也不要改,就好了:
output {
elasticsearch {
host => "127.0.0.1"
manage_template => true
template_overwrite => true
}
}
想了解更全面的 ELK Stack 知识和细节,欢迎购买我的《ELK Stack权威指南》,也欢迎加 QQ 群:315428175 哟。

在ELK中使用sql_last_start参数的时区问题。

Logstashatomyliu 回复了问题 • 2 人关注 • 2 个回复 • 6849 次浏览 • 2015-12-10 11:33 • 来自相关话题

请问下elasticsearch每次查询500条qps猛跌是怎么回事?

Elasticsearchdebuger 回复了问题 • 4 人关注 • 2 个回复 • 8029 次浏览 • 2015-12-18 10:30 • 来自相关话题

elasticsearch-jdbc mysql导入时typemapping无法识别,请帮忙解决

回复

Elasticsearchjason1 发起了问题 • 1 人关注 • 0 个回复 • 5966 次浏览 • 2015-12-09 18:19 • 来自相关话题

大家一起来写Advent吧

Adventmedcl 发表了文章 • 0 个评论 • 5628 次浏览 • 2015-12-09 17:57 • 来自相关话题

三斗已经写了好多篇了,分享了很多小经验和知识,非常不错,不如我们一起把Advent玩起来吧,这样,我们玩一个接力游戏,每个同学写完之后可以@论坛里面的其它同学,被@的同学需要完成一篇小的Advent,然后写完再继续接着传给下一位,如果不在论坛的同学,就邀请他加入下 :)
 
@的操作就是在贴子里@对方的名字,然后你想办法通知到对方就行了,QQ、论坛消息等等反正告诉对方被@和继续就行咯。
没有找到下一个接班的人就继续写下去。哈哈

写Advent,选择发表类型『文章』,分类选择『advent』,话题添加『advent』+其它的自选

下面是一篇ELK的Advent,顺便分享一下。Day 5 - ELK Operations and Administration
 
 欢迎补充完善规则。
 

Elasticsearch 整合 SQL 嵌套group by

ElasticsearchDengShk 回复了问题 • 2 人关注 • 2 个回复 • 7161 次浏览 • 2015-12-10 09:44 • 来自相关话题

自建的索引没数据?

Elasticsearchmaxam0128 发表了文章 • 4 个评论 • 6635 次浏览 • 2015-12-09 16:40 • 来自相关话题

ELK的架构:
logstash==>redis==>logstash==>elasticsearch==>kibana开始我自己在ES上建索引,
建索引语句如下:
curl -XPUT "http://localhost:9200/qn-service" -d '{"mappings":{"_default_":{"properties":{"speaker":{"type":"string","index":"not_analyzed"},"play_name":{"type":"string","index":"not_analyzed"},"line_id":{"type":"integer"},"speech_number":{"type":"integer"}}}}}'
然后通过logstash导数据到ES后,却发现查询不到数据,然后用
curl http://localhost:9200/_cat/indices?v  命令发现索引的数据为空;
C4A56AE5-0FC8-4008-92C8-EA3AB20580BC.png

发现es自动建的索引有数据,而我自己的索引数据为空。
找了半天原因没找到,然后就将es中得数据删除,
 curl -XDELETE *[/url]
用上述方法重建索引;
然后按照书上《ELK权威指南》上得方法,直接导入数据到es,
curl -XPUT http://localhost:9200/_bulk --data-binary @shakespeare.json
却发现自己建的索引还是没有数据,es却多了一个叫shakespeare得索引,这个索引中有数据,那么我有两点疑问1:为什么我用书上建索引的方法建立索引(shakespeare名字被我改成qn-service)却没有数据?
2:shakespeare这个索引是哪里来得?
 
logstash shipper.conf
input {
        file {
                path => ["/data/logs/superErpLog/trace/shakespeare.json"]
                start_position => "beginning"
                sincedb_path => "/dev/null"
        }
}
filter{
        json{
                source=>"message"
                remove_field => ["message"]
        }
}
output {
        stdout{}
        redis {
                host => "localhost"
                port => 6379
                data_type => "list"
                key => "performance"
        }

logstash center.conf
input {
        redis {
                host => "localhost"
                port => 6379 
                type => "redis-input"
                data_type => "list"
                key => "performance"
        }   
}

output {
        stdout {}
        elasticsearch {
                cluster => "elasticsearch"
                host => "localhost"
                port => 9200
                codec => "json" 
                protocol => "http"
        }   
}

问个logstash date 处理日志的问题

Logstashnjedison 回复了问题 • 2 人关注 • 2 个回复 • 11474 次浏览 • 2015-12-09 17:52 • 来自相关话题

Day8:隐藏仪表盘的菜单栏

Advent三斗室 发表了文章 • 3 个评论 • 4955 次浏览 • 2015-12-09 11:07 • 来自相关话题

Kibana4 上线后,又有同事找过来。还好这次是小问题:『新版的这个仪表盘顶部菜单栏太宽了啊。头顶上监控屏幕空间有限,能不能省省?』

跟 Kibana3 相比,确实宽了点。这时候好几个方案瞬间进入我脑子里:
  1. 浏览器往下拖动一点,不过要确保定期刷新的时候还能回到拖动位置;
  2. 进 ui/public/chrome/chrome.html 里把 navbar 干掉;
  3. 添加一个 bootstrap 效果,navbar 默认隐藏,鼠标挪上去自动浮现。


不过等打开 chrome.html 看了一下,发现 navbar 本身是有相关的隐藏判断的:
<nav
ng-style="::{ background: chrome.getNavBackground() }"
ng-class="{ show: chrome.getVisible() }"
class="hide navbar navbar-inverse navbar-static-top">
这个设置在 ui/public/chrome/api/angular.js 里的 internals.setVisibleDefault(!$location.search().embed);。我们知道 $locatio.search() 是 AngularJS 的标准用法,这里也就是代表 URL 请求参数里是否有 ?embed 选项。

好了,我们试一下,把 http://localhost:5601/app/kiba ... ydash 改成http://localhost:5601/app/kiba ... embed,回车,果然,整个菜单栏都消失了!同步消失的还有每个 panel 的编辑按钮。

其实呢,embed 在页面上是有说明的,在 dashboard 的 share 连接里,提供了一个 iframe 分享方式,iframe 里使用的,就是 embed 链接!

注意:Kibana4 部分版本的 share 说明中的 embed 位置生成的有问题,请小心。

想了解更全面的 ELK Stack 知识和细节,欢迎购买我的《ELK Stack权威指南》,也欢迎加 QQ 群:315428175 哟。