Add rudimentary logstash and beats template BWC tests (#20588)
This tests that the templates shipped with 5.0 versions of Logstash and Beats still work on an Elasticsearch 6.0+ node, so that we ensure that ES can be upgraded prior to upgrading tools dependent on it. Related to #20491 Resolves #17275
This commit is contained in:
parent
c1721c6d79
commit
2f01f65e1a
|
@ -0,0 +1,53 @@
|
||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.elasticsearch.action.admin.indices.template;
|
||||||
|
|
||||||
|
import org.elasticsearch.test.ESSingleNodeTestCase;
|
||||||
|
|
||||||
|
import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rudimentary tests that the templates used by Logstash and Beats
|
||||||
|
* prior to their 5.x releases work for newly created indices
|
||||||
|
*/
|
||||||
|
public class BWCTemplateTests extends ESSingleNodeTestCase {
|
||||||
|
public void testBeatsTemplatesBWC() throws Exception {
|
||||||
|
String metricBeat = copyToStringFromClasspath("/org/elasticsearch/action/admin/indices/template/metricbeat-5.0.template.json");
|
||||||
|
String packetBeat = copyToStringFromClasspath("/org/elasticsearch/action/admin/indices/template/packetbeat-5.0.template.json");
|
||||||
|
String fileBeat = copyToStringFromClasspath("/org/elasticsearch/action/admin/indices/template/filebeat-5.0.template.json");
|
||||||
|
String winLogBeat = copyToStringFromClasspath("/org/elasticsearch/action/admin/indices/template/winlogbeat-5.0.template.json");
|
||||||
|
client().admin().indices().preparePutTemplate("metricbeat").setSource(metricBeat).get();
|
||||||
|
client().admin().indices().preparePutTemplate("packetbeat").setSource(packetBeat).get();
|
||||||
|
client().admin().indices().preparePutTemplate("filebeat").setSource(fileBeat).get();
|
||||||
|
client().admin().indices().preparePutTemplate("winlogbeat").setSource(winLogBeat).get();
|
||||||
|
|
||||||
|
client().prepareIndex("metricbeat-foo", "doc", "1").setSource("message", "foo").get();
|
||||||
|
client().prepareIndex("packetbeat-foo", "doc", "1").setSource("message", "foo").get();
|
||||||
|
client().prepareIndex("filebeat-foo", "doc", "1").setSource("message", "foo").get();
|
||||||
|
client().prepareIndex("winlogbeat-foo", "doc", "1").setSource("message", "foo").get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testLogstashTemplatesBWC() throws Exception {
|
||||||
|
String ls5x = copyToStringFromClasspath("/org/elasticsearch/action/admin/indices/template/logstash-5.0.template.json");
|
||||||
|
client().admin().indices().preparePutTemplate("logstash-5x").setSource(ls5x).get();
|
||||||
|
client().prepareIndex("logstash-foo", "doc", "1").setSource("message", "foo").get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
"mappings": {
|
||||||
|
"_default_": {
|
||||||
|
"_all": {
|
||||||
|
"norms": false
|
||||||
|
},
|
||||||
|
"_meta": {
|
||||||
|
"version": "5.0.0-beta1"
|
||||||
|
},
|
||||||
|
"dynamic_templates": [
|
||||||
|
{
|
||||||
|
"fields": {
|
||||||
|
"mapping": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"match_mapping_type": "string",
|
||||||
|
"path_match": "fields.*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"@timestamp": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"beat": {
|
||||||
|
"properties": {
|
||||||
|
"hostname": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"input_type": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"norms": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"offset": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"source": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"order": 0,
|
||||||
|
"settings": {
|
||||||
|
"index.refresh_interval": "5s"
|
||||||
|
},
|
||||||
|
"template": "filebeat-*"
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
{
|
||||||
|
"template" : "logstash-*",
|
||||||
|
"settings" : {
|
||||||
|
"index.refresh_interval" : "5s"
|
||||||
|
},
|
||||||
|
"mappings" : {
|
||||||
|
"_default_" : {
|
||||||
|
"_all" : {"enabled" : true, "norms" : false},
|
||||||
|
"dynamic_templates" : [ {
|
||||||
|
"message_field" : {
|
||||||
|
"match" : "message",
|
||||||
|
"match_mapping_type" : "string",
|
||||||
|
"mapping" : {
|
||||||
|
"type" : "string", "index" : "analyzed", "norms" : false,
|
||||||
|
"fielddata" : { "format" : "disabled" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"string_fields" : {
|
||||||
|
"match" : "*",
|
||||||
|
"match_mapping_type" : "string",
|
||||||
|
"mapping" : {
|
||||||
|
"type" : "text", "norms" : false,
|
||||||
|
"fields" : {
|
||||||
|
"keyword" : { "type": "keyword" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} ],
|
||||||
|
"properties" : {
|
||||||
|
"@timestamp": { "type": "date", "include_in_all": false },
|
||||||
|
"@version": { "type": "keyword", "include_in_all": false },
|
||||||
|
"geoip" : {
|
||||||
|
"dynamic": true,
|
||||||
|
"properties" : {
|
||||||
|
"ip": { "type": "ip" },
|
||||||
|
"location" : { "type" : "geo_point" },
|
||||||
|
"latitude" : { "type" : "half_float" },
|
||||||
|
"longitude" : { "type" : "half_float" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,162 @@
|
||||||
|
{
|
||||||
|
"mappings": {
|
||||||
|
"_default_": {
|
||||||
|
"_all": {
|
||||||
|
"norms": false
|
||||||
|
},
|
||||||
|
"_meta": {
|
||||||
|
"version": "5.0.0-beta1"
|
||||||
|
},
|
||||||
|
"dynamic_templates": [
|
||||||
|
{
|
||||||
|
"fields": {
|
||||||
|
"mapping": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"match_mapping_type": "string",
|
||||||
|
"path_match": "fields.*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"event_data": {
|
||||||
|
"mapping": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"match_mapping_type": "string",
|
||||||
|
"path_match": "event_data.*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"user_data": {
|
||||||
|
"mapping": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"match_mapping_type": "string",
|
||||||
|
"path_match": "user_data.*"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"@timestamp": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"activity_id": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"beat": {
|
||||||
|
"properties": {
|
||||||
|
"hostname": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"computer_name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"event_id": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"keywords": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"level": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"log_name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"message": {
|
||||||
|
"norms": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"message_error": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"opcode": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"process_id": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"provider_guid": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"record_number": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"related_activity_id": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"source_name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"task": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"thread_id": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"properties": {
|
||||||
|
"domain": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"identifier": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "long"
|
||||||
|
},
|
||||||
|
"xml": {
|
||||||
|
"norms": false,
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"order": 0,
|
||||||
|
"settings": {
|
||||||
|
"index.refresh_interval": "5s"
|
||||||
|
},
|
||||||
|
"template": "winlogbeat-*"
|
||||||
|
}
|
Loading…
Reference in New Issue