Kibana 报告字段存在冲突,我该如何解决?

2023-11-21

在 Kibana 中,我注意到在刷新索引模式后,我的一个字段显示为conflicted.

Example:

Conflicting field in Kibana

所以我知道这是因为 Elastic Search 在该字段中发现了不同类型的值,我如何确定这一点?它导致我的视​​觉效果破坏,因为它们无法与冲突的字段一起使用。 如何针对现有数据解决这个问题?


经过几个小时的尝试和浏览 Elastic 文档后,我终于找到了问题的答案。

在Elastic Search 5.1(我使用的版本)中,您可以重新索引那些“有问题”的特定索引。

您可以通过单击在 Kibana 中找到它Management > Index Patterns并寻找显示为的字段conflicted。然后单击相应的铅笔图标即可查看该字段的详细信息。其中将显示不同字段类型下的索引。

我在 Power-Shell 中编写了一个脚本,通过指定“有问题的索引”来自动执行此操作,然后执行以下操作(假设您的有问题的索引被称为:log-20170101):

  • 创建映射log-20170101-1
  • 重新索引log-20170101 to log-20170101-1
  • Delete log-20170101
  • 创建映射log-20170101
  • 重新索引log-20170101-1 to log-20170101
  • Delete log-20170101-1

现在,当您在 Kibana 中刷新索引模式时,您会注意到该字段不再是conflicted.

您可以阅读:Mappings and 重新索引

确保在下面指定新映射时,使用您正在寻找的适当的映射数据类型。

您可以通过使用以下命令查询 Elastic API 来获取现有映射:

GET /_mapping/<your mapping name>

这里有一个skeleton我在 Power-Shell 中编写的(示例)脚本,它非常基本,但我认为它可以提供帮助。

$index_list = @( 
    "log-20170101"
)

$index_list  | % {
    $index_name = $_

    $mapping_body = "
    {
        ""mappings"": {
            ""logevent"": {
                ""properties"": {
                    ""@timestamp"": {
                        ""type"": ""date""
                    },
                    ""correlationId"": {
                        ""type"": ""text"",
                        ""fields"": {
                            ""keyword"": {
                                ""type"": ""keyword"",
                                ""ignore_above"": 256
                            }
                        }
                    },
                    ""duration"": {
                        ""properties"": {
                            ""TotalMilliseconds"": {
                                ""type"": ""float""
                            }
                        }
                    }
                }
            }
        }
    }"

    $reindex_body = "{
        ""source"": {
            ""index"": ""$index_name""
        },
        ""dest"": {
            ""index"": ""$index_name-1""
        }
    }"

    $reindex_body_reverse = "{
        ""source"": {
            ""index"": ""$index_name-1""
        },
        ""dest"": {
            ""index"": ""$index_name""
        }
    }"

    Invoke-WebRequest -Uri http://elasticserver:9200/$index_name-1 -Method Put -Body $mapping_body
    Invoke-WebRequest -Uri http://elasticserver:9200/_reindex -Method Post -Body $reindex_body
    Invoke-WebRequest -Uri http://elasticserver:9200/$index_name -Method Delete
    Invoke-WebRequest -Uri http://elasticserver:9200/$index_name -Method Put -Body $mapping_body
    Invoke-WebRequest -Uri http://elasticserver:9200/_reindex -Method Post -Body $reindex_body_reverse
    Invoke-WebRequest -Uri http://elasticserver:9200/$index_name-1 -Method Delete
}

EDIT

看到这个post了解如何设置默认映射以尝试防止此问题再次发生。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kibana 报告字段存在冲突,我该如何解决? 的相关文章

随机推荐

  • 如何加速 Python 中的异步请求

    我想从网站下载 抓取 5000 万条日志记录 我没有一次性下载 5000 万个 而是尝试使用以下代码一次下载 1000 万个 但它一次只能处理 20 000 个 超过这个数量会引发错误 因此它变得非常耗时下载那么多数据 目前下载20000条
  • 变量可以在 Sass 文件的 import 语句中使用吗?

    在更少的情况下我可以做这样的事情 basePath some crazy project path to repeat less import basePath less less 所以我尝试在 Sass 中做同样的事情 basePath
  • 捕获关闭 gtk.window

    我有 gtk Window 我需要捕获关闭 我需要关闭显示消息对话框 如果应该关闭窗口 则单击 是 除非有显示窗口 谢谢 处理删除事件信号 返回 False 关闭 True 取消
  • 在固定的时间间隔后调用特定方法

    在我的android应用程序中 我想定期调用特定的方法 即 每 5 秒后 我该怎么做 您可以使用Timer用于方法的固定周期执行 这是代码示例 final long period 0 new Timer schedule new Timer
  • 复制完成后,CloudBlockBlob.StartCopyAsync 是否返回?

    有多种方法可以复制 Azure Blob 存储块 有同步和异步版本StartCopy 还有一个BeginStartCopy其中还有完成回调 The BeginStartCopy方法明确指出复制完成时执行回调 The StartCopy两种方
  • 在 JavaFX 中保存为 jpg 的图像是粉红色的

    我想将 ImageView 中的图像保存到具有不同分辨率的文件中 将其作为 png 结果如预期 至于 jpg 我将所有文件设为粉红色 诀窍在哪里 这是代码 Object imagesFromFotoListView ta myFotoLis
  • 如何编写一个只接受一个枚举变量作为输入的函数?

    我有一个枚举 enum Group OfTwo first usize second usize OfThree one usize two usize three usize 我想编写一个仅以参数作为参数的函数Group OfTwo变体
  • CSS3 对 HTA 的支持

    HTA 支持 HTML5 和 CSS3 吗 如果我计划仅在 Windows 操作系统上使用我的应用程序 这是一个执行一些基本文件处理的简单应用程序 HTA 是一个可行的选择吗 如果我使用简单的平面文件 文本文件 来存储 HTA 的数据 是否
  • 如何在Angular中实现多级路由?

    我正在做一个小项目 以便更多地了解 Angular 但我真的不知道如何实现多级路由 我读过文档关于路由器组件的新版本以及 Stack Overflow 上的一些其他主题 first second third 但我找不到解决我的问题的方法 让
  • 透明、无边框的 ProgressDialog

    我有一个ProgressDialog我已将其放置在屏幕底部 以免与徽标重叠 我想做的是为ProgressDialog删除背景和边框 我在这里没有任何运气 有谁知道如何应用这种风格 您是否尝试过将背景设置为透明颜色 这个答案给出了详细的代码示
  • 如何为 HttpClient 请求设置 Content-Type 标头?

    我正在尝试设置Content Type的标头HttpClient我调用的 API 所需的对象 我尝试设置Content Type像下面这样 using var httpClient new HttpClient httpClient Bas
  • 如何处理android中弹出窗口内按钮的onclick事件

    在我的应用程序中 我最初在屏幕上有一个按钮 然后在onclick按钮时 应该会打开一个弹出窗口 在弹出窗口中 我有一个图像按钮 并且onclick通过这个按钮 我想开始一个活动 弹出窗口打开 但我不明白如何处理onclick弹出窗口内的图像
  • 如何将科学记数法转换为小数形式?

    虽然很基本 但我在任何地方都找不到答案 如何禁用小标题中的科学记数法 并让小标题显示小数 My data 我有一个简单的小题 结果是lm gt broom tidy library tidyverse I used dput to get
  • 每侧有 2 个 y 轴且比例不同的 ggplot

    我需要在一个图表中绘制一个显示计数的条形图和一个显示比率的折线图 我可以单独完成这两个图表 但是当我将它们放在一起时 我会缩放第一层 即geom bar 与第二层重叠 即geom line 我可以移动轴吗geom line向右 Answer
  • 屏蔽 CALayer - iPhone

    我正在为 iPhone 创建一个自定义开 关切换开 关 类似于标准开关 并且我正在设置滑块的蒙版 但调用 myView layer setMask maskLayer 设置遮罩层相对于其遮罩层的位置 而不是相对于遮罩层的容器层的位置 对于这
  • 如何让 raw_input 重复直到我想退出?

    说我想用raw input像这样 code raw input Please enter your three letter code or a blank line to quit under if name main 如何让它在每次运行
  • 如何从头开始构建具有人类可读角度的旋转矩阵?

    一直阻碍我进行 3D 编程的一件事是无法理解数学是如何运作的 我可以使用方法和函数在编程流程中很好地遵循数学 那么对我来说一切都清晰且合乎逻辑 但在数学符号中 我只是无法从中得到正面或反面 我一直在阅读网站 观看一些机构的视频试图解释这一点
  • 正则表达式删除多行注释

    我正在尝试使用这个正则表达式 JS g 取代 sdandsads 什么也没有 但它不起作用 为什么 o O 点捕获除换行符之外的所有内容 如果 dotall 为 false 所以要么使用 dotall 正如其他答案 评论中提到的 这在 ja
  • Android:折叠线性布局而不是折叠工具栏

    我正在尝试在单个片段中创建主 详细信息事务 我考虑使用 LinearLayout 作为标题的编辑文本的容器 然后是 RecyclerView 了解详细信息 如何实现类似于 CollapsingToolbar 效果的 LinearLayout
  • Kibana 报告字段存在冲突,我该如何解决?

    在 Kibana 中 我注意到在刷新索引模式后 我的一个字段显示为conflicted Example 所以我知道这是因为 Elastic Search 在该字段中发现了不同类型的值 我如何确定这一点 它导致我的视 觉效果破坏 因为它们无法