在elasticsearch dsl查询语法文档的许多地方,在解释中跳过包装器json查询可能会减少文档大小.但是当我浏览文档时,它一直令人困惑.什么是正式的规则,什么可以或应该去哪里json查询? 换句话说,我试图在所有弹性查询中找到共同的标准或模式,因为我需要构建一个内部api来查询弹性.是否有一个模板包含"query': {}一个"bool":{}或一个filter等内的所有语法组件,我可以在其中填写相关的部分,它仍然运行?
我有两个由两个不同的lambda生成的日志组.当我将一个日志组订阅到我的elasticsearch服务时,它正在运行.但是,当我添加其他日志组时,我在cloudwatch生成的日志中出现以下错误:
"responseBody": "{\"took\":5,\"errors\":true,\"items\":[{\"index\":{\"_index\":\"cwl-2018.03.01\",\"_type\":\"/aws/lambda/lambda-1\",\"_id\":\"33894733850010958003644005072668130559385092091818016768\",\"status\":400,\"error\":
{\"type\":\"illegal_argument_exception\",\"reason\":\"Rejecting mapping update to [cwl-2018.03.01] as the final mapping would have more than 1 type: [/aws/lambda/lambda-1, /aws/lambda/lambda-2]\"}}}]}"
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,并且在我的Elasticsearch服务中仍然有两个日志组,并可视化所有日志?
谢谢.
logging amazon-web-services elasticsearch amazon-cloudwatch elastic-stack
在 Kibana 图表中,我想过滤以字符串开头的所有 url CANCELLED,因此我编写了一个正则表达式:^CANCELLED.*但是当我在“发现”选项卡中使用过滤器时,我注意到过滤器无法正常工作,因为它也接受CANCELLEDurl 内带有短语的 url。
是因为 Kibana 正则表达式使用脱字符号以外的其他字符作为字符串的开头吗?
我们已经厌倦了ELK堆栈的不稳定性和不可预测性,但仍然喜欢Kibana仪表板.
因此,我正在寻找一些潜在的迁移路径.MongoDB看起来非常有前景:巨大的跟踪记录,大量的文档,轻松应对json的能力等.
有没有相当于在MongoDB上工作的Kibana?一些网络应用程序,可让您轻松地对索引数据运行搜索查询,使其成为仪表板,添加漂亮的地图和图表等.
我查看了https://docs.mongodb.org/ecosystem/tools/administration-interfaces/,但这似乎更多的是关于管理MongoDB本身而不是在其中使用数据.
我目前使用filebeat作为日志托运者的架构,它将日志发送到日志存储索引器实例,然后发送到AWS中的托管弹性搜索.由于持久的TCP连接,我无法使用AWS ELB多个日志存储索引器实例进行负载平衡,因为filebeats总是选择实例并将其发送到那里.所以我决定使用redis.现在看看在ELK堆栈中扩展redis并使其高度可用的组件是多么困难,我想问一下redis的重点是什么.我读了一百万次它作为一个缓冲区,但如果logbeash停止发送日志到logstash如果logstash无法处理负载,为什么我们甚至需要一个缓冲区.Filebeat非常聪明,可以知道停止发送日志.如果弹性搜索发生故障,Logstash足够聪明,可以停止向弹性搜索发送日志.所以管道停止了.我真的不明白redis在每个标准ELK架构中充当缓冲区.
我只使用kibana来搜索ElasticSearch,我有几个字段只能取几个值(最坏的情况,服务器名,30个不同的值).
我明白什么分析所做的更大,更复杂的领域是这样,但小而简单的人我不明白anaylyzed/not_analyzed领域的前进/缺点.
那么对于"有限的一组值"字段使用analyze和not_analyzed有什么好处(例如.servername:server [0-9]*,没有要打破的特殊字符)?我会在kibana中失去什么样的搜索类型?我会获得任何搜索速度或磁盘空间吗?
在其中一个测试我看到该字段的.raw版本现在是空的,但kibana仍然标记该字段进行分析,所以我发现我的测试没有结果.
我是ELK的新手.我想根据字段中单词出现的顺序搜索文档.例如,
在doc1中,my_field:"MY FOO WORD BAR EXAMPLE"
在doc2中,my_field:"MY BAR WORD FOO EXAMPLE"
我想在Kibana中查询文档,其中"FOO"后跟"BAR"而不是相反.所以,我希望doc1在这种情况下返回而不是doc2.我尝试在Kibana搜索中使用以下查询.但是,它不起作用.此查询甚至不会产生任何搜索结果.
my_field.raw:/.*FOO.*BAR.*/
Run Code Online (Sandbox Code Playgroud)
我也尝试过分析字段(只是my_field),虽然我知道这应该不起作用.当然,这也没有产生任何结果.
请帮我这个正则表达式搜索.为什么我没有得到该查询的任何匹配结果?
我正在尝试通过Reindex API从远程 ES 2.4 集群执行重新索引操作。哪个工作是将超过 1 亿个索引文档传输到最新版本的 Elasticsearch。
对于测试用例,我正在小数据集上尝试,但我面临以下问题。
问题:
我看不到脚本的进度,即传输了多少文档以及还剩下多少文档。
如果失败,我如何恢复脚本而不是从 0 重新启动。
背景: 我正在尝试使用弹性堆栈(Elastic,Logstash和Kibana),但是我没有钱可支付。我不介意使用封闭源代码的部件,只要它们是免费的即可。在这方面,我试图了解弹性许可的工作原理。
我们打开X-Pack似乎建议在Elastic 6.3之后包含X-Pack代码(尽管使用不同的许可证)。我也了解X-Pack的某些部分是免费的,而其他部分则不是免费的。这有点令人困惑。
目标: 我想使用所有免费的东西,而不使用任何付费的东西来运行Elastic stack。
到目前为止,我已经完成的工作: 我正在Linux上,但是我选择不使用分发软件包存储库,即我想使用Elastic Co提供的下载。对于Elastic和Kibana,我已经下载并解压缩了tar.gz版本6.5.4 GA从https://www.elastic.co/downloads/elasticsearch和https://www.elastic.co/downloads/kibana发行大部分情况下,我没有设置任何选项,因此我假设设置为使用默认值。Elastic和Kibana均已启动,没有任何问题。我现在在命令行上运行它们。
从日志中,我注意到该安装已获得14天的试用版许可证。由于我不想使用许可证,因此我使用了删除许可证API,即我运行了
curl -X DELETE "localhost:9200/_xpack/license"
Run Code Online (Sandbox Code Playgroud)
从某种意义上说,这是可行的,即我得到了{“ acknowledged”:true}的答复。我认为这将摆脱不是免费的xpack内容,但不幸的是,事实并非如此。我仍然在启动中看到一些x-pack的东西。
然后,我尝试执行“ 卸载X-Pack”中提到的操作。我知道这是旧的,但是我不知道在新版本中该如何做。无论如何,如果我运行命令:
bin/elasticsearch-plugin remove x-pack
Run Code Online (Sandbox Code Playgroud)
我得到错误:
错误:找不到插件[x-pacl];运行“ elasticsearch-plugin list”以获取已安装插件的列表
而且 elasticsearch-plugin list不返回任何东西。如果我跑步
bin/kibana-plugin remove x-pack
Run Code Online (Sandbox Code Playgroud)
我得到:
由于出现以下错误,无法删除插件:“您使用的是kibana的标准发行版。请安装仅OSS发行版以删除X-Pack功能。”
现在我的Kibana无法运行,抱怨:
Elasticsearch集群未响应许可证信息。
即它确实启动了,但是当您转到网页时,它告诉我它无法连接到Elastic集群
问题:
我正在使用弹性搜索进行搜索。但最近我观察到在将数据添加到弹性搜索时出现了一些随机错误:
版本冲突,需要 seqNo [113789],主要术语 [19]。当前文档有 seqNo [113797] 和主要术语 [19]
上述类型错误随机出现,我无法在弹性搜索中添加/更新数据。能否请您帮助理解: