我有不同日志级别的日志,我想设计一个日期直方图,就像图片底部的那个:
在特定日期,它应该显示带有红色的 WARN 日志和上面带有蓝色的 INFO 日志。我也没有索引日志级别。但我确实有 INFO 和 WARN 作为保存的搜索。
我正在使用ELK并具有以下文档结构
{
"_index": "prod1-db.log-*",
"_type": "db.log",
"_id": "AVadEaq7",
"_score": null,
"_source": {
"message": "2016-07-08T12:52:42.026+0000 I NETWORK [conn4928242] end connection 192.168.170.62:47530 (31 connections now open)",
"@version": "1",
"@timestamp": "2016-08-18T09:50:54.247Z",
"type": "log",
"input_type": "log",
"count": 1,
"beat": {
"hostname": "prod1",
"name": "prod1"
},
"offset": 1421607236,
"source": "/var/log/db/db.log",
"fields": null,
"host": "prod1",
"tags": [
"beats_input_codec_plain_applied"
]
},
"fields": {
"@timestamp": [
1471513854247
]
},
"sort": [
1471513854247
]
}
Run Code Online (Sandbox Code Playgroud)
我想将message字段更改为not_analyzed.我想知道如何使用它Elasticsedarch Mapping API来实现这一目标?例如,如何使用PUT Mapping API …
我想知道是否有办法通过将 pm2 日志发送到弹性搜索或以某种方式将 pm2 与 ELK 堆栈集成来集中 pm2 日志。
我正在使用 ELK(弹性搜索、kibana、logstash、filebeat)来收集日志。我有一个带有以下几行的日志文件,每一行都有一个 json,我的目标是使用 Logstash Grok 取出 json 中的键/值对并将其转发到弹性搜索。
2018-03-28 13:23:01 charge:{"oldbalance":5000,"managefee":0,"afterbalance":"5001","cardid":"123456789","txamt":1}
2018-03-28 13:23:01 manage:{"cuurentValue":5000,"payment":0,"newbalance":"5001","posid":"123456789","something":"new2","additionalFields":1}
Run Code Online (Sandbox Code Playgroud)
我正在使用Grok Debugger制作正则表达式模式并查看结果。我目前的正则表达式是:
%{TIMESTAMP_ISO8601} %{SPACE} %{WORD:$:data}:{%{QUOTEDSTRING:key1}:%{BASE10NUM:value1}[,}]%{QUOTEDSTRING:key2}:%{BASE10NUM:value2}[,}]%{QUOTEDSTRING:key3}:%{QUOTEDSTRING:value3}[,}]%{QUOTEDSTRING:key4}:%{QUOTEDSTRING:value4}[,}]%{QUOTEDSTRING:key5}:%{BASE10NUM:value5}[,}]
Run Code Online (Sandbox Code Playgroud)
正如人们所见,它是硬编码的,因为真实日志中 json 中的键可以是任何单词,值可以是整数、双精度或字符串,而且键的长度各不相同。所以我的解决方案是不可接受的。我的解决结果如下图,仅供参考。我正在使用Grok 模式。
我的问题是,尝试在 json 中提取键是否明智,因为弹性搜索也使用 json?其次,如果我尝试从 json 中取出键/值,是否有正确、简洁的 Grok 模式?
解析上述行中的第一行时,Grok 模式的当前结果给出以下输出。
{
"TIMESTAMP_ISO8601": [
[
"2018-03-28 13:23:01"
]
],
"YEAR": [
[
"2018"
]
],
"MONTHNUM": [
[
"03"
]
],
"MONTHDAY": [
[
"28"
]
],
"HOUR": [
[
"13",
null
]
],
"MINUTE": [
[
"23",
null
]
],
"SECOND": [
[ …Run Code Online (Sandbox Code Playgroud) 我们使用ELK堆栈进行日志记录.我被要求设计一个过程,以便我们如何删除意外记录的敏感信息.
现在根据我对ElasticSearch(Lucene)如何处理删除和更新数据的阅读仍然在索引中不可用.它将最终在索引合并等时得到清理.
是否有一个进程来运行更新(编辑某些内容)或删除(删除某些内容)并保证删除它?
索引100k文件时listener,以下行出现超时异常
IndexResponse response = SearchEngineClient.getInstance2().index(request);
Run Code Online (Sandbox Code Playgroud)
请找到完整的堆栈跟踪
Exception in thread "main" java.io.IOException: listener timeout after waiting f
or [30000] ms
at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClie
nt.java:663)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:22
2)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:19
4)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighL
evelClient.java:443)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEn
tity(RestHighLevelClient.java:429)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClien
t.java:312)
at com.es.utility.DocumentIndex.main(DocumentIndex.java:255)
Run Code Online (Sandbox Code Playgroud) 我有 Elastic Search Nest 库代码,需要模拟我从弹性搜索索引获得的响应。
var obj = service.Search<TestDocument>(new student().Query());
var Name= obj.Aggs.Terms("Name");
Run Code Online (Sandbox Code Playgroud)
测试:我在快速观察后创建 Nest 对象,但面临问题 -聚合- 是内部受保护的属性,我无法设置此值。
new Nest.KeyedBucket<object>
{
Key="XYZ school",
KeyAsString=null,
Aggregations=new Dictionary<string, IAggregationContainer>{}
}
Run Code Online (Sandbox Code Playgroud)
请建议我可以用来模拟弹性搜索嵌套对象的解决方案或任何其他方法。
我们正在构建一个需要Elasticsearch安全功能的开源应用程序。我正在尝试查找安全功能是否免费用于弹性搜索。弹性搜索网站说Xpack现在开放。不知道它是否真的是开源的。
有人可以分享您的经验吗?
我正在学习ELK堆栈。我想知道,为什么人们会在Docker上运行它?如果我正确理解所有内容,则必须将主机操作系统的某些目录映射为在映像重置后保持不变。同时,无论如何,仅运行带有已安装docker的VL就是永久的。
为什么要使用Docker运行ELK堆栈?实际上,我应该使用Docker还是VM?性能是选择Docker的唯一原因吗?
我是弹性搜索的新手,并尝试按照https://www.elastic.co/blog/you-complete-me文章为应用程序集成自动完成功能。
我已经按照以下方法来做同样的事情。
事件类
public class Event {
private Long eventId;
private Long catalogId;
private Long orgId;
private String orgName;
private String catalogName;
private String name;
private String eventStatus;
.....
}
Run Code Online (Sandbox Code Playgroud)
objectmapper 用于将事件对象转换为 json 字符串。这是插入文档的代码
public String createEventDocument(Event document) throws Exception {
IndexRequest indexRequest = new IndexRequest(INDEX, TYPE, document.idAsString())
.source(convertEventDocumentToMap(document));
//create mapping with a complete field
IndexResponse indexResponse = client.index(indexRequest, RequestOptions.DEFAULT);
return indexResponse.getResult().name();
}
Run Code Online (Sandbox Code Playgroud)
转换代码
private Map<String, Object> convertEventDocumentToMap(Event evt) {
return objectMapper.convertValue(evt, Map.class);
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个索引,并为 name_suggest 字段设置完成建议。我怎样才能达到同样的目标?
任何帮助表示赞赏