V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flaty
V2EX  ›  程序员

ELK 大佬来看看。

  •  
  •   flaty · 2018-09-30 11:05:37 +08:00 · 1766 次点击
    这是一个创建于 2250 天前的主题,其中的信息可能已经有所发展或是发生改变。

    elk

    上图是用 es 的 terms 的分组多层饼,主要用于查看异常。出问题的是在最外层饼,filed 为 msg 字段。

    箭头所指全部为 missing value(同一颜色),实际上是 java 的异常栈。就是有一大坨异常换行的。 在 es 中搜索这些异常也是 OK 的,至少可以说明分词是 OK 的吧。

    问题是:

    只要是异常栈的 msg ( msg 即是异常栈),必须勾选 show miss value 才会显示。为何异常栈的 msg 会 miss value 呢?

    ps:其它的较短的未打印异常栈的是 OK 的。参见图中左上顶部最外层有一小色块。

    pps:

    es 的 mapping 的确有如下: "ignore_above": 256。但如果会 ignore,为何搜索是 OK 的?按我的理解,如果超过 256 截取,搜索异常也是不正常才对。

    2 条回复    2018-09-30 11:50:16 +08:00
    oaix
        1
    oaix  
       2018-09-30 11:44:14 +08:00
    聚合的时候用的是 msg.keyword 这个子字段, 它的 mapping type 应该是 keyword. 我猜搜索用的是 msg 这个字段, 它的 type 应该是 text, 即分词的, ignore_above 这个选项只会影响到 msg.keyword 字段, 所以搜索没有问题.
    flaty
        2
    flaty  
    OP
       2018-09-30 11:50:16 +08:00
    @oaix
    谢谢大佬。我又仔细翻了下官方文档。应是你说的这样。

    keywork 是专用于聚合的字段。默认超 256 被截取掉了。

    所以,这里实际上应是有两个字段,msg 和 msg.keyword.

    谢谢~!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5437 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:57 · PVG 14:57 · LAX 22:57 · JFK 01:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.