当前位置: 首页 > 知识库问答 >
问题:

ElasticSearch 6.2.4的filebeat-index-template.json

商池暝
2023-03-14

我正在运行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

    null
> 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

共有1个答案

万俟渝
2023-03-14

尝试将这个弹性的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)也视为字符串一部分。 返回值 如果找到指定