我正在运行ElasticSearch 6.2.4。我试图创建Filebeat索引模板,但得到以下错误
{
"error" : {
"root_cause" : [
{
"type" : "mapper_parsing_exception",
"reason" : "No handler for type [string] declared on field [message]"
}
],
"type" : "mapper_parsing_exception",
"reason" : "Failed to parse mapping [_default_]: No handler for type [string] declared on field [message]",
"caused_by" : {
"type" : "mapper_parsing_exception",
"reason" : "No handler for type [string] declared on field [message]"
}
},
"status" : 400
}
filebeat-index.template.json
{
"mappings": {
"_default_": {
"_all": {
"enabled": true,
"norms": {
"enabled": false
}
},
"dynamic_templates": [
{
"template1": {
"mapping": {
"doc_values": true,
"ignore_above": 1024,
"index": "not_analyzed",
"type": "{dynamic_type}"
},
"match": "*"
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"message": {
"type": "string",
"index": "analyzed"
},
"offset": {
"type": "long",
"doc_values": "true"
},
"geoip" : {
"type" : "object",
"dynamic": true,
"properties" : {
"location" : { "type" : "geo_point" }
}
}
}
}
},
"settings": {
"index.refresh_interval": "5s"
},
"template": "filebeat-*"
}
我想知道是否有官方的filebeat-index-template.json适用于ElasticSearch 6.2.4
> filebeat -v
Loading config file error: Failed to read /root/filebeat.yml: open /root/filebeat.yml: no such file or directory. Exiting.
> filebeat -v -c "/etc/filebeat/filebeat.yml"
(it struck forever)
Exiting: Could not start registrar: Error loading state: Error decoding states: json: cannot unmarshal object into Go value of type []file.State
尝试将这个弹性的6.0修改后的json用于filebeat-index.template.json
{
"mappings": {
"_default_": {
"dynamic_templates": [
{
"template1": {
"mapping": {
"doc_values": true,
"ignore_above": 1024,
"index": "false",
"type": "{dynamic_type}"
},
"match": "*"
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"message": {
"type": "text",
"index": "true"
},
"offset": {
"type": "long",
"doc_values": "true"
},
"geoip": {
"type": "object",
"dynamic": true,
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}
},
"settings": {
"index.refresh_interval": "5s"
},
"template": "filebeat-*"
}
基本上,我将消息类型从字符串改为文本。另外,从Elastic6.0开始,index字段使用true或false,而不是analysed。
运行此命令后(正如您在上面提到的博客中所建议的那样):
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty' -d@filebeat-index-template.json -H 'Content-Type: application/json'
{
"acknowledged" : true
}
filebeat 是基于原先 logstash-forwarder 的源码改造出来的。换句话说:filebeat 就是新版的 logstash-forwarder,也会是 Elastic Stack 在 shipper 端的第一选择。 安装部署 deb: curl -L -O https://download.elastic.co/beats/filebeat/filebeat_5.0.0_amd
问题内容: 我们正在使用ELK来控制程序日志。在我们的FileBeat配置中,我们从 30个不同的 路径中收获, 这些 路径包含每秒更新的文件(它仅在prod的机器中每秒更新一次- 在其他Dev机器中,日志大大减少)。我们的日志文件变旧后才会被删除,并且我们将停止使用它们(我们也不会在此修改名称)。最近,我们发现, 来自生产机器 的配置文件(.yml)中最后路径的日志从未出现在Kibana中。 经
我使用filebeat作为docker,当ıpoint我的nginx登录filebeat时。ymlım在kibana看不到nginx日志这是我的filebeat。yml。我准备好了elastichsearch和kibana容器。当我在日志中启动filebeat容器时,它表示已配置给定的日志路径。但ı无法在kibana上看到任何nginx日志 以及我的nginx站点配置的一个例子
描述 (Description) KnockoutJS Observable slice()方法切出一个数组。 此处的切片与本机JavaScript切片功能相同。 返回从start-index到endindex的元素。 语法 (Syntax) arrayName.slice(start-index,end-index) 参数 (Parameters) 接受2个参数,start-index和end
描述 (Description) KnockoutJS Observable splice()方法采用2个参数来指定startindex和end-index。 它从开始到结束索引中删除项目并将它们作为数组返回。 语法 (Syntax) arrayName.splice(start-index,end-index) 参数 (Parameters) 接受2个参数,start-index是起始索引,e
index(查找字符串中第一个出现的指定字符) 相关函数 rindex,srechr,strrchr 表头文件 #include<string.h> 定义函数 char * index( const char *s, int c); 函数说明 index()用来找出参数s字符串中第一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。 返回值 如果找到指定