From 8786d05e3e55a46921dc2be195b7e7254ff0465c Mon Sep 17 00:00:00 2001 From: Blake Rouse Date: Thu, 23 Apr 2020 14:08:42 -0400 Subject: [PATCH 01/17] Update metricbeat to use mage for all scenarios along with Makefile shim (#17799) * Update metricbeat to use mage and the mage make targets. * Run update and fmt. * Remove assets.go as its no longer used. * Split apart the metricbeat tests in travis into multiple jobs to take less time and not run over the timeline. * Add back in create-metricset with mage. * Re-add test_xpack_base.py. * Add kafka to requirements.txt. * Fix kafka to work with python 3.7. * Remove the extra kafka-python from rebase on master. * Fix issues from code review. * Add back in comment from merge. * Fix comment spacing. * Fix update target in generate metricbeat. * Update magefile in metricbeat generator. * Run fmt and update. --- .travis.yml | 28 ++++-- Jenkinsfile | 15 +++- Makefile | 2 +- dev-tools/make/mage-install.mk | 13 +++ dev-tools/make/mage.mk | 82 +++++++++++++++--- dev-tools/make/xpack.mk | 53 ------------ filebeat/docs/fields.asciidoc | 9 ++ .../_templates/metricbeat/{beat}/magefile.go | 14 +-- generator/common/Makefile | 2 +- libbeat/publisher/pipeline/testing.go | 13 +-- libbeat/scripts/Makefile | 2 +- metricbeat/Makefile | 85 ++----------------- metricbeat/magefile.go | 65 +++++++++++--- metricbeat/module/aerospike/fields.go | 2 +- metricbeat/module/apache/fields.go | 2 +- metricbeat/module/beat/fields.go | 2 +- metricbeat/module/ceph/fields.go | 2 +- metricbeat/module/consul/fields.go | 2 +- metricbeat/module/couchbase/fields.go | 2 +- metricbeat/module/couchdb/fields.go | 2 +- metricbeat/module/docker/fields.go | 2 +- metricbeat/module/dropwizard/fields.go | 2 +- metricbeat/module/elasticsearch/fields.go | 2 +- metricbeat/module/envoyproxy/fields.go | 2 +- metricbeat/module/etcd/fields.go | 2 +- metricbeat/module/golang/fields.go | 2 +- metricbeat/module/graphite/fields.go | 2 +- metricbeat/module/haproxy/fields.go | 2 +- metricbeat/module/http/fields.go | 2 +- metricbeat/module/jolokia/fields.go | 2 +- metricbeat/module/kafka/fields.go | 2 +- metricbeat/module/kibana/fields.go | 2 +- metricbeat/module/kubernetes/fields.go | 2 +- metricbeat/module/kvm/fields.go | 2 +- metricbeat/module/logstash/fields.go | 2 +- metricbeat/module/memcached/fields.go | 2 +- metricbeat/module/mongodb/fields.go | 2 +- metricbeat/module/munin/fields.go | 2 +- metricbeat/module/mysql/fields.go | 2 +- metricbeat/module/nats/fields.go | 2 +- metricbeat/module/nginx/fields.go | 2 +- metricbeat/module/php_fpm/fields.go | 2 +- metricbeat/module/postgresql/fields.go | 2 +- metricbeat/module/prometheus/fields.go | 2 +- metricbeat/module/rabbitmq/fields.go | 2 +- metricbeat/module/redis/fields.go | 2 +- metricbeat/module/system/fields.go | 2 +- metricbeat/module/traefik/fields.go | 2 +- metricbeat/module/uwsgi/fields.go | 2 +- metricbeat/module/vsphere/fields.go | 2 +- metricbeat/module/windows/fields.go | 2 +- metricbeat/module/zookeeper/fields.go | 2 +- metricbeat/scripts/assets/assets.go | 75 ---------------- x-pack/auditbeat/Makefile | 2 +- x-pack/dockerlogbeat/Makefile | 2 +- x-pack/elastic-agent/Makefile | 2 +- x-pack/filebeat/Makefile | 2 +- x-pack/functionbeat/Makefile | 2 +- x-pack/metricbeat/Makefile | 2 +- x-pack/metricbeat/magefile.go | 3 + .../tests/system/test_xpack_base.py | 3 +- x-pack/winlogbeat/Makefile | 2 +- 62 files changed, 252 insertions(+), 304 deletions(-) create mode 100644 dev-tools/make/mage-install.mk delete mode 100644 dev-tools/make/xpack.mk delete mode 100644 metricbeat/scripts/assets/assets.go diff --git a/.travis.yml b/.travis.yml index 7717c0366f8..463f57f27e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,23 +111,22 @@ jobs: # Metricbeat - os: linux before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat || travis_terminate 0 - env: TARGETS="-C metricbeat unit-tests coverage-report" + env: TARGETS="-C metricbeat unit-tests" go: $TRAVIS_GO_VERSION stage: test - os: linux - before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat vendor || travis_terminate 0 - env: TARGETS="-C metricbeat integration-tests-environment coverage-report" + before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat || travis_terminate 0 + env: TARGETS="-C metricbeat integration-tests" go: $TRAVIS_GO_VERSION stage: test - os: linux - before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat vendor || travis_terminate 0 - env: TARGETS="-C metricbeat update system-tests-environment coverage-report" + before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat || travis_terminate 0 + env: TARGETS="-C metricbeat system-tests" go: $TRAVIS_GO_VERSION stage: test - - os: osx before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat || travis_terminate 0 - env: TARGETS="TEST_ENVIRONMENT=0 -C metricbeat testsuite" + env: TARGETS="-C metricbeat testsuite" go: $TRAVIS_GO_VERSION stage: test - os: linux @@ -137,6 +136,21 @@ jobs: stage: test - os: linux before_install: .ci/scripts/travis_has_changes.sh x-pack/metricbeat metricbeat libbeat || travis_terminate 0 + env: TARGETS="-C x-pack/metricbeat unit-tests" + go: $TRAVIS_GO_VERSION + stage: test + - os: linux + before_install: .ci/scripts/travis_has_changes.sh x-pack/metricbeat metricbeat libbeat || travis_terminate 0 + env: TARGETS="-C x-pack/metricbeat integration-tests" + go: $TRAVIS_GO_VERSION + stage: test + - os: linux + before_install: .ci/scripts/travis_has_changes.sh x-pack/metricbeat metricbeat libbeat || travis_terminate 0 + env: TARGETS="-C x-pack/metricbeat system-tests" + go: $TRAVIS_GO_VERSION + stage: test + - os: osx + before_install: .ci/scripts/travis_has_changes.sh metricbeat libbeat || travis_terminate 0 env: TARGETS="-C x-pack/metricbeat testsuite" go: $TRAVIS_GO_VERSION stage: test diff --git a/Jenkinsfile b/Jenkinsfile index aa2efab218c..5761f41b0f8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -319,7 +319,20 @@ pipeline { } } steps { - mageTarget("Metricbeat OSS linux/amd64 (integTest)", "metricbeat", "integTest") + mageTarget("Metricbeat OSS linux/amd64 (goIntegTest)", "metricbeat", "goIntegTest") + } + } + stage('Metricbeat Python integration tests'){ + agent { label 'ubuntu && immutable' } + options { skipDefaultCheckout() } + when { + beforeAgent true + expression { + return env.BUILD_METRICBEAT != "false" + } + } + steps { + mageTarget("Metricbeat OSS linux/amd64 (pythonIntegTest)", "metricbeat", "pythonIntegTest") } } stage('Metricbeat x-pack'){ diff --git a/Makefile b/Makefile index d99caea10a5..b03fd92ba72 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ PROJECTS_XPACK_MAGE=$(PROJECTS_XPACK_PKG) x-pack/libbeat # # Includes # -include dev-tools/make/mage.mk +include dev-tools/make/mage-install.mk ## help : Show this help. help: Makefile diff --git a/dev-tools/make/mage-install.mk b/dev-tools/make/mage-install.mk new file mode 100644 index 00000000000..8966ed6f474 --- /dev/null +++ b/dev-tools/make/mage-install.mk @@ -0,0 +1,13 @@ +MAGE_VERSION ?= v1.9.0 +MAGE_PRESENT := $(shell mage --version 2> /dev/null | grep $(MAGE_VERSION)) +MAGE_IMPORT_PATH ?= github.com/magefile/mage +export MAGE_IMPORT_PATH + +.PHONY: mage +mage: +ifndef MAGE_PRESENT + @echo Installing mage $(MAGE_VERSION) from vendor dir. + @go install -mod=vendor -ldflags="-X $(MAGE_IMPORT_PATH)/mage.gitTag=$(MAGE_VERSION)" ${MAGE_IMPORT_PATH}/... + @-mage -clean +endif + @true diff --git a/dev-tools/make/mage.mk b/dev-tools/make/mage.mk index 8966ed6f474..e1e634c27bd 100644 --- a/dev-tools/make/mage.mk +++ b/dev-tools/make/mage.mk @@ -1,13 +1,69 @@ -MAGE_VERSION ?= v1.9.0 -MAGE_PRESENT := $(shell mage --version 2> /dev/null | grep $(MAGE_VERSION)) -MAGE_IMPORT_PATH ?= github.com/magefile/mage -export MAGE_IMPORT_PATH - -.PHONY: mage -mage: -ifndef MAGE_PRESENT - @echo Installing mage $(MAGE_VERSION) from vendor dir. - @go install -mod=vendor -ldflags="-X $(MAGE_IMPORT_PATH)/mage.gitTag=$(MAGE_VERSION)" ${MAGE_IMPORT_PATH}/... - @-mage -clean -endif - @true +# This is a minimal Makefile for Beats that are built with Mage. Its only +# responsibility is to provide compatibility with existing Jenkins and Travis +# setups. + +# +# Variables +# +.DEFAULT_GOAL := help +PWD := $(CURDIR) + +# +# Includes +# +include $(ES_BEATS)/dev-tools/make/mage-install.mk + +# +# Targets (alphabetically sorted). +# +.PHONY: check +check: mage + mage check + +.PHONY: clean +clean: mage + mage clean + +fix-permissions: + +.PHONY: fmt +fmt: mage + mage fmt + +# Default target. +.PHONY: help +help: + @echo Use mage rather than make. Here are the available mage targets: + @mage -l + +.PHONY: release +release: mage + mage package + +stop-environment: + +.PHONY: unit-tests +unit-tests: mage + mage unitTest + +.PHONY: integration-tests +integration-tests: mage + rm -f build/TEST-go-integration.out + mage goIntegTest || ( cat build/TEST-go-integration.out && false ) + +.PHONY: system-tests +system-tests: mage + mage pythonIntegTest + +.PHONY: testsuite +testsuite: mage + rm -f build/TEST-go-integration.out + mage update build unitTest integTest || ( cat build/TEST-go-integration.out && false ) + +.PHONY: update +update: mage + mage update + +.PHONY: crosscompile +crosscompile: mage + mage crossBuild diff --git a/dev-tools/make/xpack.mk b/dev-tools/make/xpack.mk deleted file mode 100644 index 54f60831108..00000000000 --- a/dev-tools/make/xpack.mk +++ /dev/null @@ -1,53 +0,0 @@ -# This is a minimal Makefile for Beats that are built with Mage. Its only -# responsibility is to provide compatibility with existing Jenkins and Travis -# setups. - -# -# Variables -# -.DEFAULT_GOAL := help -PWD := $(CURDIR) - -# -# Includes -# -include $(ES_BEATS)/dev-tools/make/mage.mk - -# -# Targets (alphabetically sorted). -# -.PHONY: check -check: mage - mage check - -.PHONY: clean -clean: mage - mage clean - -fix-permissions: - -.PHONY: fmt -fmt: mage - mage fmt - -# Default target. -.PHONY: help -help: - @echo Use mage rather than make. Here are the available mage targets: - @mage -l - -.PHONY: release -release: mage - mage package - -stop-environment: - -.PHONY: testsuite -testsuite: mage - rm -f build/TEST-go-integration.out - mage update build unitTest integTest || ( cat build/TEST-go-integration.out && false ) - -.PHONY: update -update: mage - mage update - diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 5e163ab76c5..b1412d99429 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -28240,6 +28240,15 @@ type: keyword Palo Alto Networks name for the threat. +type: keyword + +-- + +*`panw.panos.action`*:: ++ +-- +Action taken for the session. + type: keyword -- diff --git a/generator/_templates/metricbeat/{beat}/magefile.go b/generator/_templates/metricbeat/{beat}/magefile.go index 22b3dcfcc76..b1b78829ee1 100644 --- a/generator/_templates/metricbeat/{beat}/magefile.go +++ b/generator/_templates/metricbeat/{beat}/magefile.go @@ -14,7 +14,6 @@ import ( "github.com/elastic/beats/v7/dev-tools/mage/target/common" "github.com/elastic/beats/v7/dev-tools/mage/target/pkg" "github.com/elastic/beats/v7/dev-tools/mage/target/unittest" - "github.com/elastic/beats/v7/dev-tools/mage/target/update" "github.com/elastic/beats/v7/generator/common/beatgen" metricbeat "github.com/elastic/beats/v7/metricbeat/scripts/mage" ) @@ -45,7 +44,7 @@ func Package() { devtools.UseCommunityBeatPackaging() - mg.Deps(update.Update) + mg.Deps(Update) mg.Deps(build.CrossBuild, build.CrossBuildGoDaemon) mg.SerialDeps(devtools.Package, pkg.PackageTest) } @@ -99,9 +98,14 @@ func Fmt() { common.Fmt() } -// Update updates the generated files (aka make update). -func Update() error { - return update.Update() +// Update is an alias for running fields, dashboards, config. +func Update() { + mg.SerialDeps(Fields, Dashboards, Config, Imports) +} + +// Dashboards collects all the dashboards and generates index patterns. +func Dashboards() error { + return devtools.KibanaDashboards("module") } // Imports generates an include/list.go file containing diff --git a/generator/common/Makefile b/generator/common/Makefile index 0a7b3608dae..927da092a22 100644 --- a/generator/common/Makefile +++ b/generator/common/Makefile @@ -5,7 +5,7 @@ BEAT_PATH=${GOPATH}/src/${BEAT_NAME} ES_BEATS=${GOPATH}/src/github.com/elastic/beats PREPARE_COMMAND?= --include ${ES_BEATS}/dev-tools/make/mage.mk +-include ${ES_BEATS}/dev-tools/make/mage-install.mk # Runs test build for mock beat .PHONY: test diff --git a/libbeat/publisher/pipeline/testing.go b/libbeat/publisher/pipeline/testing.go index 1d5c2b908ff..0db2780ba56 100644 --- a/libbeat/publisher/pipeline/testing.go +++ b/libbeat/publisher/pipeline/testing.go @@ -96,11 +96,14 @@ func (b *mockBatch) Events() []publisher.Event { return b.events } -func (b *mockBatch) ACK() { signalFn(b.onACK) } -func (b *mockBatch) Drop() { signalFn(b.onDrop) } -func (b *mockBatch) Retry() { signalFn(b.onRetry) } -func (b *mockBatch) Cancelled() { signalFn(b.onCancelled) } -func (b *mockBatch) RetryEvents(events []publisher.Event) { b.updateEvents(events); signalFn(b.onRetry) } +func (b *mockBatch) ACK() { signalFn(b.onACK) } +func (b *mockBatch) Drop() { signalFn(b.onDrop) } +func (b *mockBatch) Retry() { signalFn(b.onRetry) } +func (b *mockBatch) Cancelled() { signalFn(b.onCancelled) } +func (b *mockBatch) RetryEvents(events []publisher.Event) { + b.updateEvents(events) + signalFn(b.onRetry) +} func (b *mockBatch) reduceTTL() bool { if b.onReduceTTL != nil { diff --git a/libbeat/scripts/Makefile b/libbeat/scripts/Makefile index 97df237f194..f4420581f52 100755 --- a/libbeat/scripts/Makefile +++ b/libbeat/scripts/Makefile @@ -128,7 +128,7 @@ endif # # Includes # -include $(ES_BEATS)/dev-tools/make/mage.mk +include $(ES_BEATS)/dev-tools/make/mage-install.mk ### BUILDING ### diff --git a/metricbeat/Makefile b/metricbeat/Makefile index c558416eb44..9cbf88c3a59 100644 --- a/metricbeat/Makefile +++ b/metricbeat/Makefile @@ -1,83 +1,8 @@ -# Name can be overwritten, as Metricbeat is also a library -BEAT_NAME?=metricbeat -BEAT_TITLE?=Metricbeat -SYSTEM_TESTS?=true -TEST_ENVIRONMENT?=true -BEATS_DOCKER_INTEGRATION_TEST_ENV?=true -ES_BEATS?=.. +ES_BEATS ?= .. -# Metricbeat can only be cross-compiled on platforms not requiring CGO. -GOX_OS=netbsd linux windows -GOX_FLAGS=-arch="amd64 386 arm ppc64 ppc64le" - -DOCS_BRANCH=$(shell grep doc-branch ../libbeat/docs/version.asciidoc | cut -c 14-) - -include ${ES_BEATS}/libbeat/scripts/Makefile - -# Collects all module dashboards -.PHONY: kibana -kibana: mage - @mage dashboards - -# Collects all module docs -.PHONY: collect-docs -collect-docs: - mage CollectAll - -# Collects all module configs -.PHONY: configs -configs: python-env - @mkdir -p _meta - @cp ${ES_BEATS}/metricbeat/_meta/common.yml _meta/beat.yml - @cat ${ES_BEATS}/metricbeat/_meta/setup.yml >> _meta/beat.yml - @cat ${ES_BEATS}/metricbeat/_meta/common.reference.yml > _meta/beat.reference.yml - @${PYTHON_ENV_EXE} ${ES_BEATS}/script/config_collector.py --beat ${BEAT_NAME} --full $(PWD) >> _meta/beat.reference.yml - @rm -rf modules.d - mage config - @chmod go-w modules.d/* - @# Enable system by default: - @if [ -f modules.d/system.yml.disabled ]; then mv modules.d/system.yml.disabled modules.d/system.yml; fi - -# Generates imports for all modules and metricsets -.PHONY: imports -imports: - @mkdir -p include - mage imports - -# Runs all collection steps and updates afterwards -.PHONY: collect -collect: assets collect-docs configs kibana imports +include $(ES_BEATS)/dev-tools/make/mage.mk # Creates a new metricset. Requires the params MODULE and METRICSET -.PHONY: create-metricset -create-metricset: python-env - @${PYTHON_ENV_EXE} ${ES_BEATS}/metricbeat/scripts/create_metricset.py --path=$(PWD) --es_beats=$(ES_BEATS) --module=$(MODULE) --metricset=$(METRICSET) - -# Generates the data.json example documents -.PHONY: generate-json -generate-json: build-image - ${DOCKER_COMPOSE} run beat go test -tags=integration github.com/elastic/beats/metricbeat/module/... -data - -.PHONY: run-module -run-module: ## @testing Runs the given module with exposing the port. Needs $MODULE and $PORT as param -run-module: - ${DOCKER_COMPOSE} build ${MODULE} - ${DOCKER_COMPOSE} run -p ${PORT}:${PORT} ${MODULE} - -.PHONY: test-module -test-module: ## @testing Tests the given module. Needs $MODULE as param an run-module must be started first. -test-module: python-env update metricbeat.test - go test -tags=integration ${BEAT_PATH}/module/${MODULE}/... -v - . ${PYTHON_ENV}/bin/activate && INTEGRATION_TESTS=1 nosetests module/${MODULE} - -.PHONY: assets -assets: - go run ${INSTALL_FLAG} ${ES_BEATS}/metricbeat/scripts/assets/assets.go ${ES_BEATS}/metricbeat/module - mkdir -p include/fields - go run ${INSTALL_FLAG} ${ES_BEATS}/libbeat/scripts/cmd/global_fields/main.go -es_beats_path ${ES_BEATS} -beat_path ${PWD} | go run ${ES_BEATS}/dev-tools/cmd/asset/asset.go -license ${LICENSE} -out ./include/fields/fields.go -pkg include -priority asset.LibbeatFieldsPri ${ES_BEATS}/libbeat/fields.yml $(BEAT_NAME) - -.PHONY: integration-tests -integration-tests: ## @testing Run golang integration tests. -integration-tests: prepare-tests mage - rm -f docker-compose.yml.lock - mage goIntegTest +.PHONY: create-metricset +create-metricset: + mage createMetricset diff --git a/metricbeat/magefile.go b/metricbeat/magefile.go index 753e5e5a518..0281c6892ba 100644 --- a/metricbeat/magefile.go +++ b/metricbeat/magefile.go @@ -27,6 +27,7 @@ import ( "time" "github.com/magefile/mage/mg" + "github.com/magefile/mage/sh" devtools "github.com/elastic/beats/v7/dev-tools/mage" metricbeat "github.com/elastic/beats/v7/metricbeat/scripts/mage" @@ -46,14 +47,12 @@ import ( // mage:import "github.com/elastic/beats/v7/dev-tools/mage/target/unittest" // mage:import - "github.com/elastic/beats/v7/dev-tools/mage/target/update" - // mage:import _ "github.com/elastic/beats/v7/dev-tools/mage/target/compose" ) func init() { - common.RegisterCheckDeps(update.Update) - test.RegisterDeps(GoIntegTest, PythonIntegTest) + common.RegisterCheckDeps(Update) + test.RegisterDeps(IntegTest) unittest.RegisterGoTestDeps(Fields) unittest.RegisterPythonTestDeps(Fields) @@ -75,8 +74,9 @@ func Package() { devtools.UseElasticBeatOSSPackaging() metricbeat.CustomizePackaging() + devtools.PackageKibanaDashboardsFromBuildDir() - mg.Deps(update.Update, metricbeat.PrepareModulePackagingOSS) + mg.Deps(Update) mg.Deps(build.CrossBuild, build.CrossBuildGoDaemon) mg.SerialDeps(devtools.Package, TestPackages) } @@ -102,12 +102,6 @@ func Config() { mg.Deps(configYML, metricbeat.GenerateDirModulesD) } -// Imports generates an include/list_{suffix}.go file containing -// a import statement for each module and dataset. -func Imports() error { - return metricbeat.GenerateOSSMetricbeatModuleIncludeListGo() -} - func configYML() error { return devtools.Config(devtools.AllConfigTypes, metricbeat.OSSConfigFileParams(), ".") } @@ -133,11 +127,26 @@ func MockedTests(ctx context.Context) error { return devtools.GoTest(ctx, params) } -// Fields generates a fields.yml for the Beat. -func Fields() error { +// Fields generates a fields.yml and fields.go for each module. +func Fields() { + mg.Deps(fieldsYML, moduleFieldsGo) +} + +func fieldsYML() error { return devtools.GenerateFieldsYAML("module") } +func moduleFieldsGo() error { + return devtools.GenerateModuleFieldsGo("module") +} + +// Update is an alias for running fields, dashboards, config. +func Update() { + mg.SerialDeps(Fields, Dashboards, Config, + metricbeat.PrepareModulePackagingOSS, + metricbeat.GenerateOSSMetricbeatModuleIncludeListGo) +} + // FieldsDocs generates docs/fields.asciidoc containing all fields // (including x-pack). func FieldsDocs() error { @@ -168,7 +177,9 @@ func IntegTest() { // Use TEST_TAGS=tag1,tag2 to add additional build tags. // Use MODULE=module to run only tests for `module`. func GoIntegTest(ctx context.Context) error { - mg.Deps(Fields) + if !devtools.IsInIntegTestEnv() { + mg.SerialDeps(Fields, Dashboards) + } return devtools.GoTestIntegrationForModule(ctx) } @@ -186,3 +197,29 @@ func PythonIntegTest(ctx context.Context) error { return devtools.PythonNoseTest(devtools.DefaultPythonTestIntegrationArgs()) }, devtools.ListMatchingEnvVars("NOSE_")...) } + +// CreateMetricset creates a new metricset. +// +// Required ENV variables: +// * MODULE: Name of the module +// * METRICSET: Name of the metricset +func CreateMetricset(ctx context.Context) error { + ve, err := devtools.PythonVirtualenv() + if err != nil { + return err + } + python, err := devtools.LookVirtualenvPath(ve, "python") + if err != nil { + return err + } + path, err := os.Getwd() + if err != nil { + return err + } + + _, err = sh.Exec( + map[string]string{}, os.Stdout, os.Stderr, python, "scripts/create_metricset.py", + "--path", path, "--module", os.Getenv("MODULE"), "--metricset", os.Getenv("METRICSET"), + ) + return err +} diff --git a/metricbeat/module/aerospike/fields.go b/metricbeat/module/aerospike/fields.go index 4e03f23d432..0a063636e18 100644 --- a/metricbeat/module/aerospike/fields.go +++ b/metricbeat/module/aerospike/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetAerospike returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/aerospike. +// This is the base64 encoded gzipped contents of module/aerospike. func AssetAerospike() string { return "eJzUmMGO4zYMhu95CmIve2nyADkUWLSXHnZRFL0VxYCR6FgdWTQkalIDffhCdjzj2HKSycxuPDrkYEvk/8mkRGYNj9RsAclzqM0jrQDEiKUtfPrSP/u0AtAUlDe1GHZb+HkFAPD8HirW0aalnixhoC3scQVQGLI6bNvJa3BY0amjNKSp03TPsT4+yXg6NTU0l35DjYqe3+RMzprtRs7IKUk/xjKGUpQ15OTk1ZyWC3rS+KW1BkFQwmb0NqdiqESTJaHJ63NqrlA0UNU5APHoAqq0IOSVnlM7VEzes8/O6EVbdvuZCVfoTuNbrHbkgYvjl8pSSIkCBRpLGg5GSkDXicuRDcKQ5aHg6PRiGDyFaIU0GAeY9EGr7zxGiEpRCD8M4uiviPYMz3nJYiriOE677yf50r4nPRo4ylR2L9kT5uLkvZIzmf/oqTlm6FRcCIW7JeFE7SQDP0z+TYJnkdmX3/ArUu/gzXe9GFv7Hz35MhA3Xov3j+cpyyIDem7LZ0L6pdB7MmoczzeXnL+a8AhB2OOeurB9Zd2JT2gs7ixtapXbwk5ZUGhJPxSWMTepYF+hbKEmr6b19BUYaXwlDNFT2kWCyjhTxQoUOzH7yDGAblFTyQ+oPIcAaG37NBwLpr4lmD9LCk/3B/29W5y+GBcdlsIalZGmFZi8gJQmXEMkLGg3u0Yol7Jng7+HmVt8BcqfyXtn4Jnl+ImsZYXpKhUewUB7+KcnrM+QxUB6gWBJFuya65l6nvJQPew8oSppXO10NDtmS+hedwD8VoD4SD8NOvsSA/SO4HNp9uX6gEJ+/VfC+K+iin3z97pW8vliqPXiu0XvdWp9ba2dnluvbZgXmMrdJl1M5tfEv0bBuyXBl4qjkwEZKxVr08V/UvZGOOM0/btMunQHtfLeiBgWzBhIsdPom46UwhtZF3UVHXlvPq3Tb/a4e6TmwH58gl8Q+O3Z88TuSyesaVNyyP8beZtX1gQTkycO3xkzOZwl5N0/pCYF6s2XyB+k2OuZZu3S7VFhEMp1aWfD9IowfGkT/FHfMNbgUBpVAvpUw4p5oqOQTIdzUuD9EKHGjdPk5TyYzZMgXD+0rVD+w76lqBnLMQFU9J6c2Kb9eyYVmQfj9l0vFjar/wMAAP//lvJazw==" } diff --git a/metricbeat/module/apache/fields.go b/metricbeat/module/apache/fields.go index 619e56f1a83..332b5f2c1a0 100644 --- a/metricbeat/module/apache/fields.go +++ b/metricbeat/module/apache/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetApache returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/apache. +// This is the base64 encoded gzipped contents of module/apache. func AssetApache() string { return "eJzMl8GO2zYQhu9+ioHOjZE95OJDgTQB2qKLNtjdoIeiUGhqJBOmOSyHWsNvX5CUVa1XUmzXDKLTwlr9/zfD4Qz5BrZ4WIGwQm5wAeCV17iC4n38oVgAVMjSKesVmRX8uAAASC/hl6enTx+B0T2jgx16pySjZ5CkNUqPFdSOduA3ePxij+vu/5cLAN6Q86UkU6tmBbXQHAgcahSMK2hE+B/0XpmGV/BXwayLH6DYeG+LvxcAtUJd8SoivQEjdjgIJDz+YIOOo9Z2v4wEE54v6bMvIMl4oQxH6C4k8BvhYY8OgaUT9hhXimnZiQxhhkDshW+5/3kMKjwvoz4+E7gROQlfhjxYivQ5WNH0IYyFMQxlQ+zDXy9eHgPa4mFPrjp5NxPAoJCOwstRW09e6FJIiczIo+aaTHOZ81MQBdPu1uiAakjy4PCfFtnzHMl2ffDZOLZKU9RP+6QaBzlilhZdyShHYVgKjVVZaxL+MqiHTh4sOmCUZCY4ImkmiJ9iFs4n6HKSjaLTH8fYk9ui4+W65cONKuP3viaCaO8wa68qPb47/499EJ23b61XE23htM+d4fw5qsUGdeI33p6GJGm4lKNAs9k4gys8j2nYJX1QpqvNV5xfyc3NUcbXRdr2Vovy4dPn61ZEkzgdCnDOvjwzC4HrnkQ1swCMLjNAsIiBTlPwgT3uMnI8RoOw5NMQcqN05dCU3yAnVPd2MT9nUGXP0SlXMpzYO2QMyqA2Puqv2UO95HVbKR4/MnSSdAYZBDy9VoIPRi73ToVDeQaU90F/gAKd1deItoi2FFo95+i0CSpYYAXR5JJkSU2cNVmaGKtpoplGfHUlh44L4hmdaPDiMi7uimv3eHitTFPWQnpyK7h7+/a61A0DgJpcvBlpwR52yrQepxe1ePc907/r+Geqsrj7riO4mwihH6SSHK5JvLpqXl3Mj73i8fp88anTCxe6VPnKGm5x0OvUobXTq+pQVIFg/BZ0C4yH5DBxRX6RDjQdi9Wnt6GbJCTpw0PQn8YIDTvXSPgN0aZRMO1fGS410TZLUXw0DPdRfGYhutFT/jcbMpB8SCbnjURNTZNnGN5PKB+dGyck1q3Wh7JWRvEmD8bPvQ30NtPpCFfrUmoUJkuR/Bpu7p38zKKQDYdvTTm6xh82nLM1zfWLvYhnvLIml7dU/0xGceCcVa5ZT9zLxb8BAAD//2GFvEU=" } diff --git a/metricbeat/module/beat/fields.go b/metricbeat/module/beat/fields.go index 33bbffd7dc0..58ff1927451 100644 --- a/metricbeat/module/beat/fields.go +++ b/metricbeat/module/beat/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetBeat returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/beat. +// This is the base64 encoded gzipped contents of module/beat. func AssetBeat() string { return "eJzcl0+L2zwQxu/5FIPP7+YD+PAWSlvYSwtloYdSimxPvGJljSuNdvG3L5LXiWPJdtJmE6hOiRU/z0/zR1Lu4Am7HAoUvAFgyQpzyN6j4GwDUKEtjWxZks7h/w0AgJ+ChiqncANgUKGwmEMtNgAWmaWubQ7fM2tV9h9kj8xt9sPPPZLhnyXpnaxz2All/fs7iaqyeVC+Ay0a3LP4wV3rtQ259vVJguhYZawkq/2jQesJuxcy4+dJxX6Etd5/2EbCXusC0v69WNyy4Fh9HIRTtKcqx5kaxjRyY45GaFFjg5q3qEWhsDr62QBWECkUejK3gOfHvYUSNRuhRjbwavMujRNqbluS05wEkZqxRnMeyGfXFGiAdq/6FlJrHRjIcet4678kEeISOAVBNOgBenFwFisoupDFJMQvhw7fiCFoQ4FS12mQcZHaixSp/asidS3LBreNTcZCka7PC0TA6kWTfsbpYFiTIcdS46WMD4V4kPZu2qdC6vlyULIopnNz+TiB41MINpTUNKSBCYRSwXy60FRWIOqVaHoJ7QQ8P770jTItnjUwmN/AY7x0F50B6cdD1446exEIn1EnVwOrETsD6KN3gbCFoplzW4rfGFmUT9GREFMnOuEPwOGoQ/pgeQBNLwqreoHjQMvyeS7nb4vbWy+neHT9EVw+RtvKdUgD4irBQFoZatvblsAawh7VtUqWgm8ZV3ugWAfeCRlfuK4Ku0Kw30mJGqG7m5Aykb8+dqe2FhMLdUXSB+8HehLZxXPAoJiL+cVOga8oqtnTE844AYruVg0VnJeCNTpZjaHZs+5tKT3fkv+A+GIkL19HLpD1b97kn0i7Dxfj9B9nzHnDzIeMTgGWPvwOAAD//2j1+Zk=" } diff --git a/metricbeat/module/ceph/fields.go b/metricbeat/module/ceph/fields.go index f401f784976..a2623b56a06 100644 --- a/metricbeat/module/ceph/fields.go +++ b/metricbeat/module/ceph/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetCeph returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/ceph. +// This is the base64 encoded gzipped contents of module/ceph. func AssetCeph() string { return "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" } diff --git a/metricbeat/module/consul/fields.go b/metricbeat/module/consul/fields.go index 3e396c8a0b3..9890d32f00e 100644 --- a/metricbeat/module/consul/fields.go +++ b/metricbeat/module/consul/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetConsul returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/consul. +// This is the base64 encoded gzipped contents of module/consul. func AssetConsul() string { return "eJzcVsFu2zAMvecriN7TD8hhwLbDdlkLdL0XtMzY2mTRIKlu/vtBdtzYiZ2m2IAN0yWBJD6+90gT2sJ36nbgOGoKGwDzFmgHN8PGzQagJHXiW/Mcd/BuAwDwsT+EhssUaAMgFAiVdlCQ4QZg7ymUuuvvbiFiQ5MMeVnX0g4q4dQedqYh0zCsKNrL7lJkXqcExrXAfVzvMzB8IRPvlAz2ZK4mhWbYAR/3LA3mUNgLN4CjbB/VMDoCSTH6WAHqgDbBP5Uzk5SMWx/YZqdr0tbQpog1YbC6OzsfMQvmQBgXzmcG3T+TYAgHOOA9WE0Q2GEAJXkmAReSGsmiLknRfENXq5rlfhiCcyXRqBzL8EYjtDuNuEzhEuYUt+iMlpCP6IFjtXJhpvMuNQVJ9rbHzH8aalg64MLQRyqHbsvO33+9XVXaYAjsnhyneNpHr5KaEfpM2AIX38iZQg+a/b/Uau3T4fpv5b0/TQkce9U5A2AswSsgVBRzU44mtUKqSQh8LL1DY7mFx9orNNhBkUTtYF/uJePht0gGWnMKJQhZkphPENQIyw7U0AieMSRat7ti4WQ+LnbB9aIfDhPjCHeuNDCWf01nX41//BP60H84x74pur5vDtO5FXakeqGUKAVW9OQ4BHLG8ma5MzafBjh4gVsZXdf6JCn+GZvOiRkbBqCf5FK+spxm5NFi0tNZfp09Z0we+yat0fo6VWe8atQhXdlfwHYN9ZJ/U+4uidDiXLxewTX5pjlXqzZPeaF643qlir1TwwfvI0SMrOQ4luv5R4p9/f8HU+6Oood3ZTOMATVut1bT9gdLKE87Lb/kevMU1Of322FiqKEYlbebXwEAAP//P1vjFg==" } diff --git a/metricbeat/module/couchbase/fields.go b/metricbeat/module/couchbase/fields.go index 5168ad70677..8ddf5d937fd 100644 --- a/metricbeat/module/couchbase/fields.go +++ b/metricbeat/module/couchbase/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetCouchbase returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/couchbase. +// This is the base64 encoded gzipped contents of module/couchbase. func AssetCouchbase() string { return "eJzMmVFv28YPwN/zKYgAfyAF/tXe/TCg6DB0DymKLnsaBpW+o61bJJ12pOK6n37gnWTLruXYiWpPD3mwFPLHI4/k8d7CI61nYHxrijky3QCIk5JmcPu+/+32BsASm+Aacb6ewc83AAD3JMEZBuPLkoyQhUXwFWz+DZjCEwXObgC48EFy4+uFW85ggWXUFKgkZJrBEvUbEnH1kmfw5y1zeft/uC1Emtu/bgAWjkrLs6j3LdRY0S6zPrJuVFTwbdP9cgBany+b//wCxteCrmaQgqDqLJICBVYUCNgEbL6zLOtEDamGZPPWPJJsfj6EdgRPn+0iJlk9Wjb4anf1+mefacilf3de9GSPtF75YPfeHeHT5yNWBH4RVy5RZge1qorptD6sm5O0WhTMWiabzddCvCdn4UOFMoND7xJc6evleWS/u2+RrGUKUT2snBSu7jC5p+aGjFs4ssCCQinaMBAEYmepFnA1fH53P2KX48dsQWKKycA/ttWcguKpcOiEH1F/0WV9V/m2lg2d6oa7qODNYcSKKh/W14JM2hPmfD0I0+PQ/7ReMAtYXQH587v7F/K2TFljZIS2oWCo3n+beNlgSTZflB73P3iG+1OSikvaYb9b+ABoxD0R+PnfZITfAC41t0u0KhWfNqidyUDWDXv3vxELfcN5QyFnMpPvM99QQP2MdZGAyfjaHsZwQlVu1FWTU6hoBmT2xqHWb81XBxPrpuSWLQuFaSpbJ2ya0lZYmy0C0cW2z6+BCAoMFmzQmOMGDWnmjrHWmXZ0Cyly2kbiBcuLkX/YQkf1ENWrqvPYL0v9ECG/W3B8QlfivCQQfx5+rA9PWLaXi5kP+/TDrHse+Hydxw7nP4Eem51zQr/Cr3nKMZOmtnv82uf2KLY/UhwrYa629DXveoZqPhVJ6gLS/uooNjvsN1UZT0fOENzd60odLbMXpds48BiXNirD3HXZfaRF/8Wpax9da3zt7TXod7Z/G4L2/opy1l7a2nOFjDZiywu4L+8GrF7mhlFrrlEQ1QE7NfDktb9StLwoTq5S8vZpT6pym1GLtzRNmxwjcZIe2VQ2X9L054hlrLdVhbXlw4rVmMx6w5me4XM9eF1rfrDbvcRlBiU7HoRDC1Dwshb8ooHH3XRpQLx/csMUKycYwg2Kw/IZW147CEvH8LRvtER3WuHJ0eqk9d5gHg2aHxIYZ7PGD69BmgLiXM6LOv50xKbNW3Gl+xanI3lAOTRgeu0I6aEgeP/pDxioAlU1Pgzq2oI8jkxS1Zw8jfatR9JxAkbsNybtJuoTZkOxSTtIR00+X+ZpfLw/1Z92Ng0NBc20ZIFdbSjN1eN1E6yQgQWD0MhEbUmSF06mn55rHVTBI0d3zzLtBYyGcS+1v1wY905lbH/MxbL0Rr16nfm4QQ2QflK+gXlmZLDFDxRdfZj+BxD2+k66dhgdQk52taAaNkfe5yt+xzV+OHldyui9uD+HOxls9J7mldONYev+PIxvps8Hu1P+Ll/5+vt75F0UXmHzw9ylwlMveeK+izST+2gb1Alo29EchWkbcRVl013JPLiKwLbB1UtYFc5sS1ysI67eOhHumMwI19M8D9SUzmCuJTrV58njKUr9yXrTVlQLDy+Oo27Obv4NAAD//w/9DiA=" } diff --git a/metricbeat/module/couchdb/fields.go b/metricbeat/module/couchdb/fields.go index a6fc61d4264..5c0e6f2d20b 100644 --- a/metricbeat/module/couchdb/fields.go +++ b/metricbeat/module/couchdb/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetCouchdb returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/couchdb. +// This is the base64 encoded gzipped contents of module/couchdb. func AssetCouchdb() string { return "eJy8mEtv6jgUx/d8iiP2lcJrURaVWkrb0fSBplSjWUXGPhCriZ2xnSLup79yIJAUaK5b2Vkm9vn/ch5+nAt4x80YqCxowhYdAMNNimPoTuyb25tuB4ChpornhksxhqsOAFTjIZOsSLEDoDBFonEMK9IBWHJMmR6XQy9AkAzrEvYxm9wOVrLId28aKpPKPhrFqd4NqZutm9aoPlDtX5+yfqRwVfsAMJHCEC407H57ZxK0IUbXRjZ/s3o+c9XZEmNy1vhyDq8F0T4P8/msZOLaHNzyFUYd5YPjOlZI2OeJB6ZUitWJjy1Y5fNcZAtUIJelDjR1zjItivQ9Vvh/gdr4wDpQWSU4UjoLRlOOwuiKjYtVTBMiVuiXcicLS6mASmG4KGSh4Uj7LLfBLJeKqE3sNdwH4r2gU9yDhLwsl69D3ijTKthxhiaRR377WdnubMNp2221O3mZ/effV1bFoUYepte3/qGsigPU7OV17h/KqjhA3U4fp/Opf6ytjgPY/TSAs+6nLr6avYWI31sbUnNlsJtuoWMq2dEG8PPdvNBQGv7+1t7tR1HXv9f6UQQvf4NCnUuh/2Q76vajXhCwHkwUEoPMka4fhK4P15Ri7oo3COK8QdSDJ/mBDGaoMiJQmHTjyDkMwjmEZ2ngSTK+5I6uHAYpkGEUwQ1h8M9us3cjDBHsYdSDN0EKk0jFfzk7cRAEcQB3Ui04Yygc+bzk4THgNhHvZCFcHTgK4sARPJXHzBLzOk3l2jnSl0FAL+3Ve5ly6lgrvRDr9rDXh5lCKgXjdhrcEZ46OnIUZN0ZRRH8JQwqQVJ43fYupkpJ1cZ6ujvTpPzG0abqD337QMOIIQuiMV4rbjzfuQ3PUAPZa8KaaNheuFl7hGWOIq6m+gW1UnAsdRbNrvIxJTTBOOPaN51VQ2E4JWWtlLrwSfcsanXztrHwQPmIYmWSknJ/EedCc4b7jt+am0QW9nRBE/4vLtqZ9zkaoMlSpaikRYbClClqZWGpZFbLXaekSLjnBszJlGiofl1WUsdLnnrOW6uwnyHVoQecEF1idH4HAAD//3gQco4=" } diff --git a/metricbeat/module/docker/fields.go b/metricbeat/module/docker/fields.go index 89cd5fc99a9..eafb7a969e9 100644 --- a/metricbeat/module/docker/fields.go +++ b/metricbeat/module/docker/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetDocker returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/docker. +// This is the base64 encoded gzipped contents of module/docker. func AssetDocker() string { return "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" } diff --git a/metricbeat/module/dropwizard/fields.go b/metricbeat/module/dropwizard/fields.go index 3143c53ee41..5325527e89e 100644 --- a/metricbeat/module/dropwizard/fields.go +++ b/metricbeat/module/dropwizard/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetDropwizard returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/dropwizard. +// This is the base64 encoded gzipped contents of module/dropwizard. func AssetDropwizard() string { return "eJxsjk2KAjEQhfc5xSPr6TlAFrOaG7gUkZBUuoPpJFSVSHt6aRX/sJaveO/7BhxocYjc+imfPUcDaNZCDvb/EVoDRJLAuWtu1eHPAMBGvQpCK4WCUkTiNuPZ+jUAUyEv5DB6Awip5jqKw9aKFPsDO6l2u1t/U2Pdh1ZTHh2SL0IGSJlKFHfFDah+pg/Z9XTpK4Hbsd+TL7LvW7e9V7tLAAAA///zhlJc" } diff --git a/metricbeat/module/elasticsearch/fields.go b/metricbeat/module/elasticsearch/fields.go index b08f0c8122c..aadc37a05c3 100644 --- a/metricbeat/module/elasticsearch/fields.go +++ b/metricbeat/module/elasticsearch/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetElasticsearch returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/elasticsearch. +// This is the base64 encoded gzipped contents of module/elasticsearch. func AssetElasticsearch() string { return "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" } diff --git a/metricbeat/module/envoyproxy/fields.go b/metricbeat/module/envoyproxy/fields.go index 06afeacdf12..ab451a5ef5e 100644 --- a/metricbeat/module/envoyproxy/fields.go +++ b/metricbeat/module/envoyproxy/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetEnvoyproxy returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/envoyproxy. +// This is the base64 encoded gzipped contents of module/envoyproxy. func AssetEnvoyproxy() string { return "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" } diff --git a/metricbeat/module/etcd/fields.go b/metricbeat/module/etcd/fields.go index b2d735b9908..2873b9f1681 100644 --- a/metricbeat/module/etcd/fields.go +++ b/metricbeat/module/etcd/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetEtcd returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/etcd. +// This is the base64 encoded gzipped contents of module/etcd. func AssetEtcd() string { return "eJzMmU9v28gOwO/+FEQur+/h1e/wbjkssJsWiwKbomiL9rBYqPQMZc1mNKMOKbvup1+M/jiy9SdO5LjVoQ0sDfkbkuKQ1Eu4o901kCi9ABAjlq7h6rUofbUA0MQqmEKMd9fwywIAqifh1uvS0gIgkCVkuoY1LgCYRIxb8zX8ecVsr/4LV5lIcfXXAiA1ZDVfVzJegsOc9lrjJbsiSgm+LJpfBnTH60tc9AWUd4LGMbCgGBajGCRDgS0FgkCoIQ0+h9f3KroEXQosTLKhwMa7/b0W6I52Wx905/cRrHhFXfDruzfQSIPUB8hJQoQL8X/aoF0segSWUFPoKe9a4wHVN605KvfU8jqmWXYePnRZex0bp4uXemv9lgIvlS+d8MFDY7APAMfrY0bgynxFAXwKKRpLGtBp4FIpYk5LC+8xFXj/7gYCfS2J5WArY+BT8MtGeG9BuxHjhNYH3hjczhTj6TBx03NJGsONU/T/GGayKOTU7lzuhUYeiAdClUFBFMA4kIxA2ZKlt7fTndnIXuKGAq5p1Ias0JJOUutRHiFWlSGQ66+YKTbHbyYv87OLNW5S7FggHUvcC2RBpzHoV7QxKIeJ8UTi0dwGE8kVjqPqzauYGlBJifZYVC+NMoXNvDT6oZKwz9nVCRKjtcrsn/4P/2vvkNOFNwcBss+rK5JTM2uGnEwYaLWT48h+4J37nJFkFADbM4C+GRYee+smPJaoDN2amkw1iGe9Wz8O7+0+2zd4jRJgIgcop0MWwRee0XKifJ4bEdLPRKq8Y3Jc8r1OqHWSPpWxIKeNW1+QsNF4KmB9hlyQr1Y4jbcOhUpYMDyfc5mcwHr61OwhZej081krkCKzIf0QVoukDd/NyXmvDN9dLuPlG6USvUrEC9qEzXdaxiw3XFMOmDH1IUepU+PxogdM/MF8p8rn4gNp0CgYU87tp5ubaadv0SYp75xKdBmq43DpeLkq1R3J8j+D5H71N6nj2Kh/TJ4aIn805VTsKrbBxE4LMIudjvVrjlXWQSg8YivnDOTPwQh1ufrCH0HGvarmbFxtddpVMUi2QnVHTjcHzc8XAw3f/iw9KRAmNnXOaPitZavUnBwME3Tni4hjtsmA2Ocvyn3Yzcm3t5WEy2XctU9yyllQOEFrvbpYwm12WilFIV3LAOSYhW8p/xCZ4Hc/bm1HsvVh1vH2thZxOXsra8hJUhcv5ORi5q7qhaqgqe1cHbHTWaDL2tYdl+XdVztDzPeNnU3nxMDhdCxKO9tszBy3rye3tj2DxKAsnflaEhhNTkxqKFSZPt7JKRaIp3RuxqV+Oa/t7jvL6PjSVu1ZPRppO7gjrhGcqooXkx+3szOIIkuUCNuMYndrGJzXBFushsKh256NUJXFeZEwj8dbZagIFgkbK2XIsIo97tgMo0sY/z2nnQw3XvoXH8oe1B5IbZZYxAayaT4mKoLhydIDRPcz31rNvsnpeDEarAheEfOIHyvOFTq9NVqygL1RyYMjtZMx69xUUAAm5Z3ucBpuUlisxF60gzTwzu7+PY5d3K2fFXhv0KczD8IzOf28sTG0ieq7zmFo8PFw9oDwZ4gKrgcw8KLJAJV1l/AxPrNBW1YPlU5Tahxp8A7YuLVtE307BTv63nGwzR8eReff4/Bmf+zhMcY0Yvkn8ZCpxratHcN+JN+vhcQHmlMMfcyoFtL9dGqcsmV0qqsLOuMd4MqX9UTWF1Q3YIPvYjsOm1VHrWn009x4NjlYPPApbXjlyAs1Qz/P16/JktCTCZrl8xjKQuMMhmb5PAYVaA5Ds3wmg88LDIRO8xaLp7McijkX08xI6Ql6PNegXPpWmECPKAcGpWxRVEZhelv/BAAA//+7EUCM" } diff --git a/metricbeat/module/golang/fields.go b/metricbeat/module/golang/fields.go index 3a81eac5023..0a3fab7f077 100644 --- a/metricbeat/module/golang/fields.go +++ b/metricbeat/module/golang/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetGolang returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/golang. +// This is the base64 encoded gzipped contents of module/golang. func AssetGolang() string { return "eJzkV9tu4zYQffdXHPgpiyb+AANdYOui7kObFkhbFCgKYyyNJDa8CCRlW39fkJIcx5G0cjaBe9GTTQkz55y5cOYOj1wvkRtJOp8BXnjJS8zX8WA+A1J2iRWlF0Yv8XEGAM1LKJNWkmeAK4z1m8ToTORLZCRdOLUsmRwvkVP4hr0XOndL/DF3Ts5vMS+8L+d/zoBMsEzdMtq+gybFJ4jC4+syHFlTle1JD6rndk5t8aHckT0e99kbtNk8Lyw8J9c95wBOQSQqlULzs3cdkkeu98amZ+9G8ITnl4I7ozAZfCEc1galNbklBefJeuyFLxYvBCmYyi+RI7g+cRXMQejMWEXh8yCXcZxiW7fKLf710vUCy5NeTOdKTkC0JrulnJEYKTnxxsJVSpGtF2ef9ul0CskbT3JTUuXO9RrHNwFjI12wj/UK0QXSyjYhNzu2kCJjL1QUtbQmYefO8Y9xOOWhXb//loI0x+bwGhYAvu2QC437HpjPBU1Mpf2goANopuupK7VlG2Rbr7Anh4LKkjWnw7g0H/wmTzZSKHExsqZUl9jWnvuEnoL8ng++y9eg415I2eLGvmCN75nKT1KaBB+bEiMVVBymlJTVJrMUzQ0yyqShPr5TIH/XGg9Cr37+FTFXq7ZTrVfDyN6vnn4g51+Wkwu/hM7hC4YyWngT/5ZshelJimk1NZTEeMOywio4aTP5rEccOQnXJc4IoyfcrlKjqIf0vwT2UF+7FPN4JDClw2FKOC7hNqHbnQJTdHh3uX+kw39X7IvUpt2Q17dT+9OObZgu/n+K945trnaez1vKq0e3cM1109rtvhBJ0Vyr8R43W09Cc4rMGtU6ftVId4UbvmmJDZc+HrhxlQqd/vfD4aF22LI0+w/Dl2hn4wpUfhMU4/RQu9sRRou4ymxc7fB181OkkvFV+1tXjofpOU/J4xW4fRPpdFNMRAEKYxd5Y29BOg1ThOMLs/KJWLuwXSNuDbcOALyJA9FPD58p8JZ+GKTetMpP7L52P1PRRp8cX7pK3B93iNbHcEQzy70ReTsI0cNYK/iLE/8eEM73qTZknHY+P7PpXS3Jn4De8I41RCNi+gG+sKbKC1P5mP3dkj1M5GjqH0AmtB9tPGr2DR/cOFIMcmh2Q9qaHY/cGqEDX42H0NE/XEl6JHPCVrm7Kkpt9N0R6WL2dwAAAP//qwVEDQ==" } diff --git a/metricbeat/module/graphite/fields.go b/metricbeat/module/graphite/fields.go index a4845943868..a8deeafd0d3 100644 --- a/metricbeat/module/graphite/fields.go +++ b/metricbeat/module/graphite/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetGraphite returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/graphite. +// This is the base64 encoded gzipped contents of module/graphite. func AssetGraphite() string { return "eJx8j80OwiAcw+88RbP7XoCDN+PJhyBSJxkbBJi6tzf7zJjTHvunv5YSNXuJKij/MIkCSCZZShSX2SoEoBlvwfhkXCtxEgDWBK5Od3YIBlqqSIlKCeBuaHWU49sSrWqYtQxKvR9N1/nZOejJSVtaZHgyrPYR7ydz0hch/8Ki/YDtCL5V4y2z27KkZv9yQe9uf/YMOk/AqVR8AgAA///94G6N" } diff --git a/metricbeat/module/haproxy/fields.go b/metricbeat/module/haproxy/fields.go index 531515409dc..f5cd629e773 100644 --- a/metricbeat/module/haproxy/fields.go +++ b/metricbeat/module/haproxy/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetHaproxy returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/haproxy. +// This is the base64 encoded gzipped contents of module/haproxy. func AssetHaproxy() string { return "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" } diff --git a/metricbeat/module/http/fields.go b/metricbeat/module/http/fields.go index d8c94f37f07..ce8ab7e8223 100644 --- a/metricbeat/module/http/fields.go +++ b/metricbeat/module/http/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetHttp returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/http. +// This is the base64 encoded gzipped contents of module/http. func AssetHttp() string { return "eJzMlDFv6jAUhff8iqPMD+kNTBne/KanN7BVHdz4AIbETn1vaPn3lYEgkhokSofe0Tbf+Y6MM8OW+wpr1a4A1GnDCuXfxeJ/WQCWUkfXqQu+wp8CANIW2mD7hgUQ2dAIK6xMAQhVnV9JhadSpCl/oUzg8rkAlo6NlerAmMGblufUNLrvEiWGfljJZI8pl6TI156i5/Uc8Cp0mEO1EwnOL0NsTTp5cWyaP2pDYxllAj16hJcNa51s3ZQBFmselU5gCL1mmksXvPBbqh9RP7F7ZE23o82m18EyG73l/i1E+8VsUaO95Oh8N22XXsr89zxr1K2jkXuczsR/QbEMvX9QeiIweG1kdKV3/1PS79FSo6uFl3c6/hAMc+25CuOO8RGRT4TbAh8BAAD//zeEPwk=" } diff --git a/metricbeat/module/jolokia/fields.go b/metricbeat/module/jolokia/fields.go index 241a0320e41..574411f4107 100644 --- a/metricbeat/module/jolokia/fields.go +++ b/metricbeat/module/jolokia/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetJolokia returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/jolokia. +// This is the base64 encoded gzipped contents of module/jolokia. func AssetJolokia() string { return "eJx8kFFOwzAQRP99ipG/6QX8wQG4AkLISjbptrbX8m5RensUkoARqPM5uzN6mhOudA+4SJIrRwcYW6IA/7I53gEj6dC4GksJeHYAsF+RZbwlcoCepdn7IGXiOWCKSVe3UaKoFDCv1UpmXGYNePWqyT/Bn82qf3PAxJRGDV/lJ5SYqYdaZfe6FjW51d35h2vTHsQgxSIXRSZrPChoqaI04oPj91Ocqdge7ik2km2dvHTtf0EewvyMdcnLQULWffxe6dDB8hkAAP//TGJ6CQ==" } diff --git a/metricbeat/module/kafka/fields.go b/metricbeat/module/kafka/fields.go index 7920163da93..72ee2cdc60c 100644 --- a/metricbeat/module/kafka/fields.go +++ b/metricbeat/module/kafka/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetKafka returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/kafka. +// This is the base64 encoded gzipped contents of module/kafka. func AssetKafka() string { return "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" } diff --git a/metricbeat/module/kibana/fields.go b/metricbeat/module/kibana/fields.go index eeddf8d856a..fed14792f3b 100644 --- a/metricbeat/module/kibana/fields.go +++ b/metricbeat/module/kibana/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetKibana returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/kibana. +// This is the base64 encoded gzipped contents of module/kibana. func AssetKibana() string { return "eJzMmM1u4zYQx+9+ioEve0n0AD4UKNoCLYoExbZBD0VhjMWxxYYiVc7Iifv0BSnJkWXKllsLuzoEiT7+85vhfJB5hFc6rOBVb9DiAkC0GFrB8ud4Y7kAUMS515VoZ1fwzQIAoHkIpVO1oQUAF87LOnd2q3cr2KLhcNeTIWRawS4IM4lou+MV/LFkNssHWBYi1fLPBcBWk1G8itqPYLGkHlG45FAFHe/qqr2ToDrV6WuxoPDxbkpuVLK5WoejDqBV4Gv7KLokKEm8zjnrvX7qd3cN2fp8da3VyYMOEY1GHjypUIoVMPm9zik7+7DUO4+ND+JrGjy94GPPT21Z0OYELy8/fZ8kDj+TxK90eHN+CHWj2TP1zqy2it7vZ/cZSwK3be1/YtBWyFs0CUMdQuFYsnndDyZGQyAeLVeh3lApTzxMj6mJk/76HtkTLJD/xEc/YsUE5KRDe/KsnZ3sxjSItOppCNLvXArBsaFYrLhwkoTeOGcIh7JXsH8vSAryIAV1LmxqbRRoBjzaa+6lkQSlTifDPZIyLCehkSJlqGPInc1r78nGYWApD+JpJuPs7sZircsN+VCuudFkBXomoERFIC6Gr8m/DJ6dEEiBAhvv3pg8Q44WmKyCsjaiK0PAOvyKllzNJ4riwNPfNbH0Xo7KgMwU5oCAszk9xPSWgg5R3tNjzQTEghujuSDVl82Scau8y8cqeTilJkTql0aum02D56lB9IFC+7B6xrlqrcjgISuH33dgnKMhtd4ah8M6uEoI8EOwA8EORDugLZTaGM2UO6uGRju8kkrnD1lBOIzJpXhN4OliFpRHAjcWul5vdoIm2xyEzr+9kPhR2vkSZQVjH191AOC3YL1xAI1xOQqpkMZtdoUIp9WP2xAm9cXofwzcgQA2h+nIrP+htdGlli8G/oTvGTijgCvMKRKdxv/ZKcr+4s6phwkLUYW9Zar0rrgzAfclaoc22gvyaOV1RG0rvFeHAvjc9tbc1VZu6lQfUEpz21rnCNTHvGmd52aYvJGnnmkaztVBO5iBrCl0e8Y3snJcOcu0Dst+r/X73IpCEL1t0HyQ4X43T4p/uyePOzq6HimvDJjeiMH3ebCe8F2XdTkRa3Rfd/Ph9deo0C7H/zqnzn/qS++PvtrzcQBLI7dni6yp0nkON20LyOY65MS8yVyoJmOy8Of9V79Vj8ZGVj/dXf5z73pq5M7rASb0rEknHLhDs/iusdIzOH6MgPNBPY6U3h9PYupmdlgrzTL4t1d3jYUQJk9uuBa/ibyQmJX9wX05ojBhks9JegL3bwAAAP//xlKE7A==" } diff --git a/metricbeat/module/kubernetes/fields.go b/metricbeat/module/kubernetes/fields.go index 06292b72a57..dad0ab4252e 100644 --- a/metricbeat/module/kubernetes/fields.go +++ b/metricbeat/module/kubernetes/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetKubernetes returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/kubernetes. +// This is the base64 encoded gzipped contents of module/kubernetes. func AssetKubernetes() string { return "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" } diff --git a/metricbeat/module/kvm/fields.go b/metricbeat/module/kvm/fields.go index 7dd21356f95..456017804b4 100644 --- a/metricbeat/module/kvm/fields.go +++ b/metricbeat/module/kvm/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetKvm returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/kvm. +// This is the base64 encoded gzipped contents of module/kvm. func AssetKvm() string { return "eJyskDFuwzAMRXed4iN7LqChU9ceQq3YQLBoGrLsQrcvnEZFotByh3Lw4G+//8gzBioWw8oGyCFHsjgNK58MkCiSm8ninbIzgKf5I4UpBxktXgyA7T+w+CWSAT4DRT/ba3DG6JgqeJtcJrK4JFmm2xuF9wi5B3lhJp6zy7+Rxtzl3iKN0u5Zp1V5FGogPaFDrZ95I5ZUdLDucu+zPZW4Og1UviR59YtDs8Zur6uqrC4uPZco4+V/RLSmahGel+3UH1a/CrswPlO79+/f/q+dV/R3AAAA///hct15" } diff --git a/metricbeat/module/logstash/fields.go b/metricbeat/module/logstash/fields.go index a1f6963e9c0..bf8f9746c58 100644 --- a/metricbeat/module/logstash/fields.go +++ b/metricbeat/module/logstash/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetLogstash returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/logstash. +// This is the base64 encoded gzipped contents of module/logstash. func AssetLogstash() string { return "eJyslM2OmzAQgO88xYhzwwNw6KmtmqpV95TLarWyYALeGA/yDKzy9isCZMEx+d055OCJP3/jGbOCHe5TMFSwKC4jANFiMIX477AURwA5cuZ0LZpsCt8jAIAxDRXljcEIwKFBxZhCoSIARhFtC07hOWY28TeIS5E6fokAthpNzumBswKrKpwZdCH7uiM5auphJeAwJ01plnI8LoZoi8Q+vP3z0sbwD58KlMQyS4wSymjFXqZWUvZbku6nI3j/qHThVC8qrvGzZwrp4jexwAl0NG3RsSZ7oyyja3WGSXj3Q7rHydoE2KP1W1sFjf0eX3Hen80/WNsteYlQdy/f26fJDvfv5PJA/oJPF6HSp4fXOgRebhocG1c7ypA5CRPON+5K+af+CFj/CL7LhEUJP/o6Xw8UqFCczjh56LFii1b8K7t7nn4eaOBXuSQxFdHL42TIFve1Y20zqrQthjIho8YKumTRghr/0/UVGv8bKegWja02gg6XB/1+l18D+sTlIwAA//9sYbU7" } diff --git a/metricbeat/module/memcached/fields.go b/metricbeat/module/memcached/fields.go index d9fa12ddab8..9e213961d65 100644 --- a/metricbeat/module/memcached/fields.go +++ b/metricbeat/module/memcached/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetMemcached returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/memcached. +// This is the base64 encoded gzipped contents of module/memcached. func AssetMemcached() string { return "eJzEVj2TGzcM7fUrMGpsz9j6ASrSJE2KpHJ/Q5FYiTmS2BCgZP37DMhdfcerS9a+be7EXT68B+CB/AKveFxDxGiN3aFbAIiXgGtY/jGuLRcADtlm34untIZfFgAAp/cQyZWACwDeUZYXS6nz2zV0JrCuZgxoGNewNQuAzmNwvK4QXyCZiNfh9ZFjr59nKv2w8iD+NdQlHIsRPq0+gvtXyPbcAlwrGJ/b8JcUeu+u1kcSgdL25sV3eOjza8kZk0CfySIz/P4bUAeyw4sCiOHX1WnnQ0KlFx9xxWhn4nWOzpj3mMcI36chu4zG8Uwc/ixxg7nlo+JCYXSwOdb82CFzd0yHVE5QtZQSWg3NqwFqdtrUY7oMBEIgO893nD+rt0pwsMGqjU3EO9y9CQWBEpgQhn0MrmSftpAoRxM0YDYa6g3ihcSE+aQ35Vys1qArYYwFRgRjL+ckDOVinyyCF9gZhg1iUn9mQTehYYuy2nmZv9kuuC+3KEuwFKNJjuFjLRpo1E8D78q19J/B+b13tXrxDnvo2KWN7qUitlIKqYjWzCNwNjJlMhUePTPOL70zPqAbZGf8uyCLFsWawgiJZKfNdjAMQ/t2lFsxX/F4h1vf4fhp06x7hQgoTNXXRrfa4vymvKlpRot+r05s9RyaspVVJYOlkkR1+zqY73UeMONl11DWfU/I4x8hj6/kqR5vz/KargluOmxXm6M832Gdzh/BNTzaNcH9qw4gSCcFFeJcly5TrH2UUA6UX5ubTvNjQsohexFM762GMbk2+P6jDi8Yf9xBVdHHEzUcwadLah8Guz9F8U3Hyf9J9C17FsroAJt96/90JWMFX/WHZ0gEy2i++Vhi3XyHXS0/julNETBtCR34ZLPeFus9RIMdIeGhwoxha/bwqZzh3rdj+OdmjDZ/oRU1WaQrj7VzSAi6jAil17s75WOd86PM26hwOiDO15qM7a+XDwxjqgcsRqnj9GPw0ctLNN+qlk8TqaofvdUB86Srefhsj3oN1ZSo2noy1NZ/hn/V/B7sL69cnvUOSQesM0krp2K0e80WV4t/AgAA//8M190C" } diff --git a/metricbeat/module/mongodb/fields.go b/metricbeat/module/mongodb/fields.go index ae38c9b8724..8ee97315e84 100644 --- a/metricbeat/module/mongodb/fields.go +++ b/metricbeat/module/mongodb/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetMongodb returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/mongodb. +// This is the base64 encoded gzipped contents of module/mongodb. func AssetMongodb() string { return "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" } diff --git a/metricbeat/module/munin/fields.go b/metricbeat/module/munin/fields.go index 4201760b398..0d105e45fc3 100644 --- a/metricbeat/module/munin/fields.go +++ b/metricbeat/module/munin/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetMunin returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/munin. +// This is the base64 encoded gzipped contents of module/munin. func AssetMunin() string { return "eJx8kUFuwyAURPc+xSibSJHiA7DoDdorRNhMKA0GBN9qffvKhlaOanX5Z/5oHp8rHlwUpjm40AHixFPh9LrOpw4wLGN2SVwMCi8dAGweQjTERMluLOBXilmYOyDTUxcqWN0Bd0dvitpyVwQ9sXX1LdpfNg+QJVEhDh8cpUl1uFXHxHnw/OvcJp2SC7atnS/ntnNAvtHvkAsNhgUayc/WBcQ7dMWrz9OWQfoD+Lrfr9IT/oPLZ8zmf4I3PXGtknf+FI/Re47igl3V8nvYg+6nPpvjnJqyP3VN7b/iOwAA//84wJVl" } diff --git a/metricbeat/module/mysql/fields.go b/metricbeat/module/mysql/fields.go index 166d37fe757..283f3e4df4b 100644 --- a/metricbeat/module/mysql/fields.go +++ b/metricbeat/module/mysql/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetMysql returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/mysql. +// This is the base64 encoded gzipped contents of module/mysql. func AssetMysql() string { return "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" } diff --git a/metricbeat/module/nats/fields.go b/metricbeat/module/nats/fields.go index 215ffc0c5d2..39228af4d46 100644 --- a/metricbeat/module/nats/fields.go +++ b/metricbeat/module/nats/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetNats returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/nats. +// This is the base64 encoded gzipped contents of module/nats. func AssetNats() string { return "eJzUmM+S2zYMxu9+CkxO7SH7AD50ptNecugeuul5Q1OwzIlIKADojfP0HUqWLdGSLTdKtqujKeP76QP4B3wPn/GwhmBUVgDqtMI1vHs0Ku9WAAWKZVero7CG31YA0LwJf1ERK1wBMFZoBNdQmhXA1mFVyLp57z0E4/EUOT16qNObTLE+/jISPz2f0p8+gaWgxgUBUaNO1FkB3RmFF2QERlPAlsnD41miT9CnEOQ98oMrTiMdzmc8vBD3f5+ASs/HHR5DwYc/p0TUebyQKYziPI2nNn6KArQFj8rOgmU06e0LUUshoE1DciHat/qG6h+d101+z0FTho1iceToawxz3z15BvqsSmqqwUhH6oJiiZyNXeHtshGi3yAno2xkxqDVAYxVt0ewlcOgcuEYU1Rc0Kwm3tvxibF0oshY5E6c6liNLujP3vCi7sQ6m2FnxopCmQ1sib3RNRSRhxNotnU1sqMC9Dz3nUCs4RdB++sooUf/sDkMi2wW5NifZhAeSz/pEh8giimbtePx949PUDNZFBkFtcQTkAsUWkWls6ZqRRr7+jzAMQhk+Thx1XGUSqypsHjeVmR0wsIa2WLIR+8w0dZx4KBcdbCZqs/jizBcS/ldVjYq1aHdBbC4WNr6RIyepkpv4eVjRKmjcPlEG19EZsobTzFoknfBknehTBuqyUtgZNGAwbSUlNfcGriWphmAVyAnFTuksQl/k+faavF9vJcRO1CK+ZRaKKEUtaT/e0JPkG8koSfe6YRKRS9p3ZLokX/MqpUk4CTRO6BRaLaCUa6dal5P31VpKV537Djtie0+fme1MX55zo9GtxFnYHaojF8iivb7nbFimcDso0Z2o+O3QGfCZsBQOFF2m9g0DBTAU3BKnArwn78/PE3EuPYhkJ/Xv02+dmNu3flZcFHFO6fpnHLE6H/btMvD9uz12RuKe9H3hl+fPEHcCy5xI69P3lDci85E+T7788kTxBR43+NOZcFecRD27fTUxxuHKVP6x2JBvthBltlu29hANbadroALmaGVE51sGvbz+9U7O4YU+79xeaN294O41HkUMK1G6um3FEORDmNgBnzjLaqxO3wQ9238JmKRTktipSCojWOpgW5Er+DsnD7z8KYRfkrznES7ZIFhhA2mlYPTxMU9Hi9qb+FvTaCoD958XdZTb746Hz208dvTXwGbw1wgs88L7XipS3FT5WbP6X72yKbEKZ5/AwAA//9SJQAz" } diff --git a/metricbeat/module/nginx/fields.go b/metricbeat/module/nginx/fields.go index 3cd6e0856ee..e848db4b940 100644 --- a/metricbeat/module/nginx/fields.go +++ b/metricbeat/module/nginx/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetNginx returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/nginx. +// This is the base64 encoded gzipped contents of module/nginx. func AssetNginx() string { return "eJzElM9u2zAMxu9+ig8+r3kAH/YIOw3YYRhSVaJtIYrkkXTSvP0gR26cwC1SoMF0skWJ349/xCfs6NQgdj6+VoB6DdSg/pH/6wpwJJb9oD7FBt8rAJhsEOIDMUSNjoI9KXsrsCkEskoOLac9DoZ9yubkxkCyqQDpE+vWptj6rkFrglAFMAUyQg06k8+Qqo+dNPhdi4T6G+pedaj/VEDrKThpJpInRLOnC31eehqyG07jUHZWQsjrebr1DJuiGh8F2tNbHNobxZGYIJbNMMczXdkUF0uSJY3o+HJOy5tpDesDtAnv4uZzjPlI7F63OWPb7GR79rI9F2Gu2GA62iwUryswr9sYl3H2STR/XRnnSHd0OiZ2N7YP4r101ux3s6pqrPrDumZIsfuc4M+eYEdmioo47l+IkdoiARt83rcpRrLZg8BHG0bnY4dfxucWXVrf47U0qHwhsCY14Qo3K5BbAV5H6k10gW5r85VIReFuIsdpGB5KVBTuJmL6O5I8tG4FZVZa5yjd+dB+vwuEyeTGfyzI4qkd+zzZzhPByyw/TbcCip6MI17HPfL0Pv8XbpEvuDKkKIQXY3fQNG2ec/4Ou3k8u3dhdcIVbbSJYeZMb6p/AQAA//9pr1BQ" } diff --git a/metricbeat/module/php_fpm/fields.go b/metricbeat/module/php_fpm/fields.go index 7293bc9e2e2..1150b149093 100644 --- a/metricbeat/module/php_fpm/fields.go +++ b/metricbeat/module/php_fpm/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetPhpFpm returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/php_fpm. +// This is the base64 encoded gzipped contents of module/php_fpm. func AssetPhpFpm() string { return "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" } diff --git a/metricbeat/module/postgresql/fields.go b/metricbeat/module/postgresql/fields.go index 065acbda723..75826021f79 100644 --- a/metricbeat/module/postgresql/fields.go +++ b/metricbeat/module/postgresql/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetPostgresql returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/postgresql. +// This is the base64 encoded gzipped contents of module/postgresql. func AssetPostgresql() string { return "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" } diff --git a/metricbeat/module/prometheus/fields.go b/metricbeat/module/prometheus/fields.go index d8b0eb230f4..e93b578c7b7 100644 --- a/metricbeat/module/prometheus/fields.go +++ b/metricbeat/module/prometheus/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetPrometheus returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/prometheus. +// This is the base64 encoded gzipped contents of module/prometheus. func AssetPrometheus() string { return "eJzMkkGO2zAMRfc+xYe7G2TmAF70BAXaosuiCBT7O1ZHllSSniC3LxzHGU0yQJF2Uy75RfLxi4945rFBljTSBk5aAeYtsEH95ZKsK6CjtuKz+RQbfKwA4Js5U2grLrNDL2mEw2sVGLucfLSnCtAhiW3bFHu/b9C7oKwAYaBTNti7+Q3NfNxrg++1aqg3qAezXP+ogN4zdNqc5j4iupFX1HPYMc+9JE35nCnL5viAz9JR4BV+zEnMRcNA4QbB7RgUBx8CRmftgN6L2gY2EEI1OCG6NO0CL/1WlKX46eEirDBp95OtFeklsV3UZx4PSbpCfsfmNQpnR5r49jz1BmZR76e52u2Nuh1dzj7uz0/rh/ovoW9of02U4//G+uLCdPr1Kdh627P89VPB//Z639nqZqfyNP8Ac2qwfiVLHy5jdzRX5K9vfUURjsm4PYg3/gvR0genPivYqzNn45TyQrmD9ncAAAD//1baTA8=" } diff --git a/metricbeat/module/rabbitmq/fields.go b/metricbeat/module/rabbitmq/fields.go index e737f5f5808..07ea6fba3fe 100644 --- a/metricbeat/module/rabbitmq/fields.go +++ b/metricbeat/module/rabbitmq/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetRabbitmq returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/rabbitmq. +// This is the base64 encoded gzipped contents of module/rabbitmq. func AssetRabbitmq() string { return "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" } diff --git a/metricbeat/module/redis/fields.go b/metricbeat/module/redis/fields.go index 5ec77a24318..ccdb515cba3 100644 --- a/metricbeat/module/redis/fields.go +++ b/metricbeat/module/redis/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetRedis returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/redis. +// This is the base64 encoded gzipped contents of module/redis. func AssetRedis() string { return "eJzkXF9v27YWf++nOMh9WAYk6u7D9hAMA5q13S3WtUXS4mJPCiUd2ZwpUiMpp+6nvyAp2bJMSvIfORmuH1rElnh+5/D8JQ95DQtc3YDEjKoXAJpqhjdwcWf+vngBkKFKJS01FfwGfnkBAGB/gwK1pKmCVDCGqcYMcikK92P0AkAiQ6LwBmbkBUBOkWXqxr5/DZwUuKFpPnpVmkelqMr6Gw9h83mwbz1AKrgmlCvQcwTKcyELYp4FwjNQmmiqtIG3Dcp82lDacMwg6y99iHpQWWRmgPHAJOpKcswgWdlHH959ePvRvF4UhGdRa+htSTafLhttVlJGkWu19VuIowGuNhPuBrUsqKjzjA/MFiDBuVWSnScaWEzwmefHAWTm86EqEpQg8gZhTYwKruASv6asyiifbX1ttUIxskT1fZeXDWqDCZWORaXLSseMKr0//lJiSjRmN3DxU/Rj9MPFYVy+d1jAYQGDBUghDF+VlJZtD/cSS0ZSp2QF+dpwklR5jrKH851nJ5i3QzgKI07ozM4V5TXoJ5upW4cELBJw4jtgqtaMDM9U+9EJJupAhgR3Hh5+jH7oYSBhIl2cxTEoKJFbV2C8sSNsHQNhDC5v33/6+OkKbu82/73/9OX+Py3oAV9bKb0j96N9rR20HT/2dbnIScJ65JoIwZDww0T7jmfU2IqJckTb+NUBrhoAQ+Irq9OK7tdPX1yM2lNelcIsUqvuaxtEKiUMszhngvjCwAip3a+UxsIiTAVXVbGJ/g67QrlEGbaVBmOczinLJPpm71RgvyiUx0KtVI9DmlSeCUkXRoV4BqUUKSqFPcFjDfZJBduP2Ws9BRZCrk5rQG7Mw/I8K8glYRXu68+dn7uBZKXRZ4MjBPtZaMKAr72+HQoIY8KGdSPmrUIgAF+qsA+YDvyHDmzrV92EbDggxu6QNwojSpREmxCmnCVckmgREZCoaGZzddSg6DfsCb+W5RLJ4gl4/oRk0ahb2xjGzBKryBMg/qIwaxDXk/C+IoB8RjlGzVP9yDOiicK9K4lTGMgcrToA5bWWidzyUEMCv7OB7XTzyez7Dyd3RguqexPiqBSMpl23uIG4wNWjkL7UaASKN0tqM1xwREALM63wOEfeaIZFaFIgiSSdB1OgNupcklmBXLtUz1i1CMI/IvbcmYEhQf1o3IhRx9hhjqVSdoWi9d1IsKEZnVodbq0G78tLkCmSarrEOEPDXURVLCvOqRf8CRLot4zMgLos2jhwmtcAwAFYi9eokftlBAsuUIhwznWU5tf2t6YyQq3Xz8a+lBx6kxXoyTc8NLylDgzpIYzQRRgnHvN5tQ7VAROCHY17Dqid5hVY4BDmJrV4BqjvmixnhKjHuVcYdLF7wHu7ZcVhkvs5VTizkBsubGIWGm2tHEqdR7brqR8Wq8H0XIS5hr09lreyK1EqqjTytOshTrU+sm9txwTJzhkPTWJqaJoklUBWFSXklKEJiIJfz4Qfy7/gs3gtoBBLhIca8oNJ0po/onpd6sGmCCTLQOg5yoY9JxtI7FS5KuxSaSI1aFrgFWhbZNoJvLLvNJZxBVEUfT8cEmWW7B0Gx9RSUixphmp7yykRlYa717c96gQjwywjSseKLDFK54TPUMWK+keDMWY10mRaa7iOKliqTjmI0lYvRuI2Ezgx3DelSOfXCTFloiGnNClKg95iVVWaolJ5xeycGFBhfWnzkMwsA5THpRQzid4VChhhiXuw0rVIssY8YIE7sN0MaKKrftjh5HQP2PeWTlPYWrGvcdfrJcIvGR9qM4eRwvTY4JFVPYRH8/a6HmWAO1PeK0wFz/rDdc1ovYfzzHltFM7Lbw6E+xPAXgGkolzFgsePkupGTem355CRe1dqDNxrwa8t3KbssXttWSWNaDY6cfu6K6OQXMKlmwhvoU4Tp159fOvi1DFhKrztBdP6R4OeidnMZi91zb5VlQ7UVU4Jn9jFGyZqKG37GunvGyZUOsesepJZIDzAwyNlDBKENTYQTR6x61qoglQUJUONuwuNPo7/KcEiML/j4kXD7D8sYAR4DseMLr+u4yF6JqHh3oSFmsc2a532j4HIv6W4T5ib+SZnHA/PA39XrbRoJmYcF/9HKchI1XzWxhbssRrgyrDT+M1nwJZhpWndsmsqdqL348YUuc+ElQ0LggMjGpVtU5W6KkHIxr+M079crXga1Y1iZ1vcsFTX7Wl/iURZs9s0hLx7+RH+rtC779oFnyEjq8O3Q8bGW0elhp6KiutQ+NkE1JLR1Bfrj1jTDA05tJwpBQtvYh+1T3Yn2NppUK40MYnmZUq4yT8vCqI0yosro5kXtgX5ItRiCL4O6ti1LQehn6RfsiEGHWJBeI6rWOT5Aa0N7dbbn6IfD0Nv45VtSvtOrZ1bS+MggC3IkrE+JmZRcJvuWHl3a5c22Jq4Z/c3BDMQMc/TdOXtKvHxEwigXWZyKpWOzWgHq9QohXFqW6vGMO7Ny4MczKnSrKeP8HDc96EOHvPlSLkP2HE0qdAPsdIOPleuTqsbtVJUpUnqH+c0nW8BffdaAZEIJE2x9HUfdCAzyhfhSuUEYadTnVC+gMuqfJmJR/79IDhTeFAR18sAMZmF248GfElPNb9XDKqhdPd7qEkzSFqv6eh5zcGgwpjEqH9x7QS7mOu+eIu3di5UgaFuqyNXHdqgOgoxw9y5wefQkmrAQIK5kLjmqLVSNo6h565oVsm0JFwZf2/S7rqyJXD/54dfe/aQgvzb6Z7Wpe560MYPWOLrNHQAYympkFSHOyePQ9kMv5McEwUEUsIzmhnjyYWEnFAmlj2G7RBTFUskmeAsDHqKxoRarLbFM7veIu8tfVzMO1XVc29H655YhRFVzxKl8tuMA0MYJT53URI9d1zQFKPwKAWdOfO4AS291WqbteF8ZEZ1rObk30eGzHGEMip7dP9UlJKKsiym4ZNZpyJUiOzYCneYiAhHpn5dEirKK8bOoENEpvM4oT3tpyeTeMU0LRl+pXwWk5JOr7VpGg+Z9Klo1WeS+jS3f8brAaLSO8KpZ11W/BxGptMyLoU8KrAPU6nKQPPSCWnMv007PpNVnDKR7n3SaD8yqeA5ncU5PXp5byCiexraj2zNPOZqBXs6XmKKdHncYWp/9tY5Wtc+6N0QDR/J2Yb419EXQRwA0REdtc5q799QcXME8xxIHcn1qc8xODnqyB7IP+z8zViQqB+FXNRH/5tFp/BMG1TuPoezwKqvjtjFFQToSg5NOIpKRaJUcYky9jcxnHI9vTvDUKKsK8+RWN0lD4uknPKEuqnSauF+52obkKYi26A1wv799qVPYgEZu2tEzgrcbU8PIw8XlyuehtLTU1TCG+M3RECiIajcglZgf2cLWkmkpoRF4qhgOgpgs74JNc0aLEj8u0LlSaq9QFFOcTPJNtIMOR2BMwh4gSsV4deSykmuI+m6/QWuwFJzyza49FzZ1AW3pJNfolTTsAQhqxC0gIJ8bR9t3RmhF3VJUozmfeXXKWC3euuZEIuqrEWsml2RglAOmTu7S3oOt64hF1SpifdZc0IZZnsCDhdoVaKqxB7P4MimQP4bE8mWDpdV8lJVCTQ0nQdrbgqrkvWIYcWuUZdEa5Se5yZEXdMcATpc1NhukzgXchFX06QRu42ctsEltwlQu4ezoKkU3UbO8FqFrbcxTu0R9ViJdIGT2Oi2k67pGOTcLvT+8e63u1ef30BZyVKoMb0GNkDGzlGrWEuSLjCLjelMjt7aZ03RorcoVmvwcElKuxKfMATBmb0ewGQj9ov6wrlhDrfPok/uO+2FDibba/XzlShzIesLOeqj6XajuXM8vc5oR7JyBp9KEiFN/PIxZZvCNhfuBE7c78fSAlfx5DPk9G5ONDyibICzVQt6zwb0Lt4zTEMHsVrQsjxI8hurF49MzCLbaeZdd/HAHoD8qxnLeiUmHjfO1OODWtnBiy7dfe4IXeCqdUXo7hkYm+a1Xtn/7k/zr1c8/kWvAQn9jis74sA9VDsLrUeQ/MLp3xUCdQ5Wz6myqfLlf02UNspjZAY/N3naLzc/Gwy/DN3TZxCdVi7mdXsl01w82juZHj7/+emN5wpXLx6GfKbnJ1Lk93awJkOw4mpl9AwLe/2hkSejSqurmrr9RmlJ+UxdQUpkRjlhVK/cD6jVkFRdFI607lbKh3JyX+/Ga9GM7bNBO/PHGqIdpO/CXmuRtUDtw9Pe2ntKI/q9Rgz2wgGaUwxd17KOEstZfLppfLVESWYIWrMBup687VCinehT11Hrgm6MJh8K5X8BAAD//0AQtHI=" } diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index 472019559a2..28135f5fa95 100644 --- a/metricbeat/module/system/fields.go +++ b/metricbeat/module/system/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetSystem returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/system. +// This is the base64 encoded gzipped contents of module/system. func AssetSystem() string { return "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" } diff --git a/metricbeat/module/traefik/fields.go b/metricbeat/module/traefik/fields.go index d18ad7398e8..19bd3b052b9 100644 --- a/metricbeat/module/traefik/fields.go +++ b/metricbeat/module/traefik/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetTraefik returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/traefik. +// This is the base64 encoded gzipped contents of module/traefik. func AssetTraefik() string { return "eJy00bFu2zAQBuBdT/HDS4ECdncNBTx2aFEUzWxQ1ElmLPGIO8qI3z6gLDmyojhGgtzIo3if/lvjQKccUQxV7pAB0cWGcqyGk1UGlKRWXIiOfY6fGQD8P3chdCRRQhB+OuEHGjYlCtMYb0nQUhRnNQOEGjJKOWqTAZWjptS8f2kNb1qaClLFU0iXhbswnCwgPgJJNR0/JezJNHF/OV5S3JCk+n2eAy6icZ5KVMLtaPymwwRs//4C+TKw83Hy/XVIY821U3EXomtpo2Sv2qO8YV/PGjfwqR76B8HVJVjnNaYQ4TyULPtSFylCGtgrLULmEd4h+Te8N9vdrVSmHMvdVbbvBnMHKdWfri1IUkDjD89lLwZzrHf9frrXdz4v2R5JTE0XB/rNOY/WWeGlVU1tGk3sdGe5JN18f5PHxSPZpRzPjd0XxIlAMvCQeNlzAAAA//9iMTnZ" } diff --git a/metricbeat/module/uwsgi/fields.go b/metricbeat/module/uwsgi/fields.go index 120cb4a8a24..78247b12e18 100644 --- a/metricbeat/module/uwsgi/fields.go +++ b/metricbeat/module/uwsgi/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetUwsgi returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/uwsgi. +// This is the base64 encoded gzipped contents of module/uwsgi. func AssetUwsgi() string { return "eJzEl8tu6zYQhvd+ikFWLWAb7daLAgGSRRdtUzvnslNocWQTpkhlOLQiP/0BdfFVVowDGoc7yfT/f8PLzGgCG6xm4Eu3UiMAVqxxBg/188MIQKJLSRWsrJnBXyMAaOZCbqXXOAIg1CgczmAlRgCZQi3drJ44ASNyPIiHwVURppL1Rfumx+FU5ljKsWDv9q/79MI4ZepGr1MzasRpow45MqnUIbcYRzPPuY7Z2LLQU8J3j47dyZSOU1uzOvthACqM1yAKnSishZEa5YA/fqRYq8UluCJ76l2SYkyQyNKd4q8doMfhfBOEvA+HkJ+7F0pGcn0hm6JzoPp3vLS0QZpGs/tW633iFi+61q64KUiR1gfwwuNnzRcsGMFmrf4Y/gSVgWOlNey9wGB5OHyW10ilcgh/DJFGzgD/+nyJFEj3IA5pixKWFfBaudZ3CEmiZpH8IjAQGSN1D8qF7GyFRAnlGk24U+kaJfzz+D2ZP///5XnxuhiKJXqCe94LAgnlrmTX1n0tSGwUqSS13nAkgieyRYHysI5hAVWO1vMQi1MrI3S0ZcgVM0poVeEywF775N2jx+hHqqMohaovIltY4mD566jOO4QDzwar0tJ59rotSbWtwW/pGkUxhkJ4h+NAOYald9UYlNT4+2BacBGp5uiURMOwQIaF2uEUcswtVZB6IjSsK/CuuYqiy7DTkOGELkXlYIdkgamCt8mk+eeEsLDEb2Br17AJx41bb0xbt4u0818VsRf6Mh6ndgjChfOAMhyDO4ZD3hhlVkm4e5EreCsNF9IXxcMVojRR08u80fz8RvNHrG6JhHH7fLIbjFhsVwnFCvVxiyRWCGEZrXF4fb1TSxivc2qL299P172aKUnE5lCEi95Zvwx5d4VlWjeo0ZM1nzbpTRdwA01IqiqNXztqWciUxoalv1k/ZSHrGWNtzbwWg96Gq9/eZlnTFEUi+K/TuwHiDp9th83IhNKh1QsegwsR+4vtAiFYuNGPAAAA//9dpnuJ" } diff --git a/metricbeat/module/vsphere/fields.go b/metricbeat/module/vsphere/fields.go index 1490fb00f37..b0588e42a72 100644 --- a/metricbeat/module/vsphere/fields.go +++ b/metricbeat/module/vsphere/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetVsphere returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/vsphere. +// This is the base64 encoded gzipped contents of module/vsphere. func AssetVsphere() string { return "eJzMls1u2zoQhfd+ikH28QNocTe5SLtxWyBNtwYjjSzWooYgRwnUpy9ISoZ+6CapqLZcGLBInfNJ1JzhLZyxy+DZ6goN7gBYco0Z3Dw/+Cs3O4ACbW6kZklNBv/tAAD6WVBUtLW7zWCNwmIGJ7EDKCXWhc380ltohMKxhRvcabfYUKv7KxGXqdBYrBAsLNNFLi55VbafiohMn2MYc4wxivudTAwkZ+xeyBSzuV/wuPH/wLTUHQxL6/TTWd7LGm1nGRUshAfPXGiRS+72TCzq/VPHaKMENTWn99l/dYrgFYFK4AqjG+NGSUYJzmBpv+AsDWJSzHuDmJyytVgkpXy0WGxDqXNOyajR5NjwWyn75ZfZRSBUZHlNFszu/9sx8JEsX0+AXLdhU1T1I+Wm3H15BNnAYaY6tg31n843VP8bjH1Bp/P15fyKrUJFZqsiPXhxZx+Tfr06e7it8jgR3jYxvBauQX4hcz66f3Gw3yraT0EWprKX84803IpaibySzapzy1Wl96eWi729nD/n2uCaCU7M3M9GWTk0k1mWb5XR38I2wCHsw/W4poTf2Nz0s0YjWDYneAhHuH+taYxD9NSi5c2ilEr44AxWh5Zn9R/rhqihUJKkf/rXOukByd6rbwbpYcctYT1r3lomdQyhGSWkp++4OAyHi8cVlX3njSFi/Efb1s8AAAD//5A1D00=" } diff --git a/metricbeat/module/windows/fields.go b/metricbeat/module/windows/fields.go index 8b21143cdb4..2cf2c008578 100644 --- a/metricbeat/module/windows/fields.go +++ b/metricbeat/module/windows/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetWindows returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/windows. +// This is the base64 encoded gzipped contents of module/windows. func AssetWindows() string { return "eJysVl1v2zYUffevuMhLgSIx1vZpfiiQxcvmYUmLJoUxIIDFkFfWXShS5b20Y2A/fqAkO5Y/YscoHwKFpM49555D0RfwhIsBzMkZP+cegJBYHMDZuJk56wEYZB2oEvJuAJ97AAA33kSLkPsA49WrXPggE+1dTtMB5Moy9gACWlSMA5iqHkBOaA0PapALcKrE9eJpyKJKm4OPVTuzo34XaB2swpCX3q3mdwGm0aW1HDtLNWMbeJPCCwlyLMpp7AA0PJ5wMffBdFY6Vf/rLAGMWiyYKRuxv6NaiRJIc/99//2Ogv7xX9TSWWimJs16br3auzwpVVWRm7Z7z96f7Sf+eYP4TU2roc0QUGJwaF4EbFnHGGbUadpu616pmrUYGWjvRJFjkAKBRUnk9bgui3H/YCa2bV4z2myI3m8yAD6rskqHqxh/uv3rWn+4rDZ2vNpPgEuIjn5EhNGw1lJLa3T0YSRADAoKxQX4vF4slS7I4TuGP76PhqCcSdNbuC1GrWmHP+uC099TJI9R80y/Te79i7xjqBniyqrF5GSKbTJ+n6ETuPLWohYf3s65JVLTWjqxtOl1CSwqNAfvDQKO6WLCjVUNs8mo3lB5Znq0uDytKiBkl1F8qYR0dr6Fmv3mvWTnkA2J1aNFk55vlIvKZud10LK7BQuW2VGST/Xs9h4uv9//+eXb6P6fh7+9VvZu6yNyRI8utfbRSeNYdAYDzAvSBahVAEN0fEBKpaQ4WcnV4GE8uh1+Gd89cN24Tx8feKYLz9LHZ4SLJ1jXBxdv/HZcR2sX8CMqSzmhqcmC+DoKOVkEKZQAJTIlOuH1jGzbT07baMhNQYVprF847LP85FQrLVHZBvn4VF95J+QiuemuWH9Vkeul5rHJ9bfoXDt5l+K6evb15bgKfPofzaHE4zOlX0nmJ3bj2oeX8qurDaQgTpdCagyG4AOkso3Tq1xj5YPwFuS8QNcczuSyeOBWbWotMczJWnjEGnuKDtNVv3G3bmGucYjOIndCBlXwMzLJpuXUBVeoKSe99uahM7jnRrbeTfcdvQ+//PrxhH4vU7G734rZa1KSjlrwOon9OhoeYB8roRL75aYdezXkPpRKBmBiUInsxjK5Kspkuakka4lRe2c2Cxx/E7/jliW05qABch3sfu//AAAA//8t/Vii" } diff --git a/metricbeat/module/zookeeper/fields.go b/metricbeat/module/zookeeper/fields.go index 9ab4ca9a74b..0087aaab85b 100644 --- a/metricbeat/module/zookeeper/fields.go +++ b/metricbeat/module/zookeeper/fields.go @@ -30,7 +30,7 @@ func init() { } // AssetZookeeper returns asset data. -// This is the base64 encoded gzipped contents of ../metricbeat/module/zookeeper. +// This is the base64 encoded gzipped contents of module/zookeeper. func AssetZookeeper() string { return "eJy0WM2O2zgMvucpiF56afMAc1ig2O6hWLSLLbqXXlxGZmJhZNGV6PzM0y8kW/5J7CQz4/EpiCx+Hyn+fPJHeKTTAzwxPxJV5FYAosXQA7z7yfx3/O/dCiAnr5yuRLN9gD9WAADdOpQkTisPio0hJZTD5gRSEGy5dh8NiYSX2Gphp+0OFJcl2tyvVwC+YCeZYrvVuwfYovG0AnBkCD09wA5XAFtNJvcPEfUjWCxpzDg8cqrC647rqv1ngnJ4fnU7f4FiK6itj2STF44qdq0TnY/d9iH38Ay5DfkptpZUAO+WpkiGZ+xsemboNxySbT/4/5zJkI22Qo68ZFz50QuJk2G7O1u4QiA8X1qTcG4yYf6uqaZ8IbR/o7EZz3tMR4r0fjHU7625m7ierCyE+WcPNTabsEor7mZOXQH5FQzckfvnBdzsO0vEWAzrm8l8LTcL9hJ+TcbvkU4HdufneSOEfWdKtteTyFhVjo+6RKEsR8HM66dpGs8/xk+9bQhmgbcDXgFtmpNBIatOa9yfA76YyZ4c7ihZhg3JgcgCWU/lxlAMkgdtodTGaE+KB/1tzI6qgkpyaHymuF4s57/V5YZcCFEHAE+Wc5qhsWVj+EBuqV7W43eWwYcYtWWgaufISozUNKMSj9lWG8oSErtFI/QVj7qsS7A9U20IejQPGJnnsGUXSffZVjlW5GdimRKuxOPCXFPC3ZVZHQ1tl6Kh7fNp2LrM0Og9ZXMtf4ksG9gG4cFJSYEC6LqMMyeIbKbJckX2TbPu23y2BexUHndmGtfiBW2u7S5z9LsmL8uHdgACCaQJqyXKQ7Q3lGj2c06Z2gu5ad4VqkcSv15YXPSc+/hZkgO7xwTZ6ZnrxBZUH/eQCnAzhKg5XX+yavmjba1DtB5OUqFzp3Di4yLqBlvXzKfZenJ7cpkXlAXFx3c2FHrNuDASpxkmJ6soz95urDUAg+nWCb1DQRYQwrAdBQS0B0OYzxXFnpwfX256pmg0nvtQoRRNyLWi9fTuu2Vdux3Q5rCptcnBi2sqvnFrmvMBRRVv1CCjbfKDxu1JgJs8MKzQ3Nsmo/B5I5aNqLqQ+Tf5jUvmebeP982mF1w4vNvHi0pzyXj/qlvGa8f5YHgbTVaGJ93absZL8OIiTBc6Z5LDeRjnfBrau7wnXPXpwq90O8AyJFzwT3RJIPhItpOS7QkKgyNfsY2OYhuJNGZnKV4qy+dRTHryLSleqM5nUmy15sIUO3qcv3hCfQ2dPRDqGKzhS2id3Uz6AFJoDyWegLQU5IJEano/sOuGxhr+CYsH7ekDaAkDIiotNGxpWky/rpH9YEEzuPHE3nVLWb6yuDvJ2Hy9ApRR4H6EQNFREeUenshxMz8Hp9sqNg8lOxopUNsGDYM0EU5NdvnvWBPeJHupzV5pUC8WkxOwwdYdkO04z/I5ITaxMIL+HARLm+M/0+fdNCQGjVpbqP10rj4d9XS07yix/6z+XRPs0dQTNMSh9RhHD3z5HHKIIloYG16HMPE2lmPFqoiSBiEWTazUmDLkBTdG+2Iwspv6DK9rH7yK3SQnIVdqS/EdobJihwbY5RT1URhfBdrdTB29tlYHrvoUiJaobh2c+ax0vnIv7l8xaHdG/lMKstc7q7eaGi1SkdOcB4aHQocjSLUcirXlv/o/AAD//7suFxk=" } diff --git a/metricbeat/scripts/assets/assets.go b/metricbeat/scripts/assets/assets.go deleted file mode 100644 index 51c24afe452..00000000000 --- a/metricbeat/scripts/assets/assets.go +++ /dev/null @@ -1,75 +0,0 @@ -// Licensed to Elasticsearch B.V. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. Elasticsearch B.V. 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 main - -import ( - "flag" - "fmt" - "io/ioutil" - "os" - "path" - - "github.com/elastic/beats/v7/libbeat/asset" - "github.com/elastic/beats/v7/libbeat/generator/fields" - "github.com/elastic/beats/v7/licenses" -) - -func main() { - - flag.Parse() - args := flag.Args() - - if len(args) != 1 { - fmt.Fprintln(os.Stderr, "Module path must be set") - os.Exit(1) - } - - dir := args[0] - - modules, err := fields.GetModules(dir) - if err != nil { - fmt.Fprintf(os.Stderr, "Error fetching modules: %s\n", err) - os.Exit(1) - } - - for _, module := range modules { - files, err := fields.CollectFiles(module, dir) - if err != nil { - fmt.Fprintf(os.Stderr, "Error fetching files for module %s: %s\n", module, err) - os.Exit(1) - } - - data, err := fields.GenerateFieldsYml(files) - if err != nil { - fmt.Fprintf(os.Stderr, "Error fetching files for module %s: %s\n", module, err) - os.Exit(1) - } - - bs, err := asset.CreateAsset(licenses.ASL2, "metricbeat", module, module, data, "asset.ModuleFieldsPri", dir+"/"+module) - if err != nil { - fmt.Fprintf(os.Stderr, "Error creating golang file from template: %s\n", err) - os.Exit(1) - } - - err = ioutil.WriteFile(path.Join(dir, module, "fields.go"), bs, 0644) - if err != nil { - fmt.Fprintf(os.Stderr, "Error writing fields.go: %s\n", err) - os.Exit(1) - } - } -} diff --git a/x-pack/auditbeat/Makefile b/x-pack/auditbeat/Makefile index 56633e2b3e5..019d3b9309a 100644 --- a/x-pack/auditbeat/Makefile +++ b/x-pack/auditbeat/Makefile @@ -1,3 +1,3 @@ ES_BEATS ?= ../.. -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk diff --git a/x-pack/dockerlogbeat/Makefile b/x-pack/dockerlogbeat/Makefile index 950d9029145..2367bfdeaa4 100644 --- a/x-pack/dockerlogbeat/Makefile +++ b/x-pack/dockerlogbeat/Makefile @@ -9,7 +9,7 @@ ES_BEATS?=../../ GOX_OS=linux GOX_FLAGS=-arch="amd64 386 arm ppc64 ppc64le" -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk .PHONY: unit-tests diff --git a/x-pack/elastic-agent/Makefile b/x-pack/elastic-agent/Makefile index 71dd1dea852..50e8845e1b2 100644 --- a/x-pack/elastic-agent/Makefile +++ b/x-pack/elastic-agent/Makefile @@ -7,7 +7,7 @@ ES_BEATS ?= ../.. # # Includes # -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk .PHONY: docs docs: ## @build Builds the documentation for the beat diff --git a/x-pack/filebeat/Makefile b/x-pack/filebeat/Makefile index 56633e2b3e5..019d3b9309a 100644 --- a/x-pack/filebeat/Makefile +++ b/x-pack/filebeat/Makefile @@ -1,3 +1,3 @@ ES_BEATS ?= ../.. -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk diff --git a/x-pack/functionbeat/Makefile b/x-pack/functionbeat/Makefile index fe15d9fe5c4..60d069da395 100644 --- a/x-pack/functionbeat/Makefile +++ b/x-pack/functionbeat/Makefile @@ -7,7 +7,7 @@ ES_BEATS?=../../ # # Includes # -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk .PHONY: test-gcp-functions test-gcp-functions: mage diff --git a/x-pack/metricbeat/Makefile b/x-pack/metricbeat/Makefile index 56633e2b3e5..019d3b9309a 100644 --- a/x-pack/metricbeat/Makefile +++ b/x-pack/metricbeat/Makefile @@ -1,3 +1,3 @@ ES_BEATS ?= ../.. -include $(ES_BEATS)/dev-tools/make/xpack.mk +include $(ES_BEATS)/dev-tools/make/mage.mk diff --git a/x-pack/metricbeat/magefile.go b/x-pack/metricbeat/magefile.go index 1821f21a435..ffd40949d70 100644 --- a/x-pack/metricbeat/magefile.go +++ b/x-pack/metricbeat/magefile.go @@ -143,6 +143,9 @@ func IntegTest() { // Use TEST_TAGS=tag1,tag2 to add additional build tags. // Use MODULE=module to run only tests for `module`. func GoIntegTest(ctx context.Context) error { + if !devtools.IsInIntegTestEnv() { + mg.SerialDeps(Fields, Dashboards) + } return devtools.GoTestIntegrationForModule(ctx) } diff --git a/x-pack/metricbeat/tests/system/test_xpack_base.py b/x-pack/metricbeat/tests/system/test_xpack_base.py index 69d07b61354..225ad779f0d 100644 --- a/x-pack/metricbeat/tests/system/test_xpack_base.py +++ b/x-pack/metricbeat/tests/system/test_xpack_base.py @@ -5,5 +5,4 @@ class Test(xpack_metricbeat.XPackTest, test_base.Test): - def kibana_dir(self): - return os.path.join(self.beat_path, 'build', 'kibana') + pass diff --git a/x-pack/winlogbeat/Makefile b/x-pack/winlogbeat/Makefile index 5da45563104..022bb515c23 100644 --- a/x-pack/winlogbeat/Makefile +++ b/x-pack/winlogbeat/Makefile @@ -7,4 +7,4 @@ GOX_OS := windows # # Includes # -include ../../dev-tools/make/xpack.mk +include ../../dev-tools/make/mage.mk From 86c59c09bc8fc6f6f36ff111624356b1cfec3102 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Thu, 23 Apr 2020 12:59:10 -0600 Subject: [PATCH 02/17] run mage fmt update on filebeat (#17947) From ba46955a8f5864938a0934df1b6d76d5239b5866 Mon Sep 17 00:00:00 2001 From: Marius Iversen Date: Fri, 24 Apr 2020 01:20:06 +0200 Subject: [PATCH 03/17] Adding geoip and apply fixes for event.type appends (#17904) * MVP initial commit for fortigate module --- .../checkpoint/firewall/ingest/pipeline.json | 76 ++++- .../test/checkpoint.log-expected.json | 279 ++++++++++++++++++ 2 files changed, 348 insertions(+), 7 deletions(-) diff --git a/x-pack/filebeat/module/checkpoint/firewall/ingest/pipeline.json b/x-pack/filebeat/module/checkpoint/firewall/ingest/pipeline.json index cff272b7db1..e478d54e73d 100644 --- a/x-pack/filebeat/module/checkpoint/firewall/ingest/pipeline.json +++ b/x-pack/filebeat/module/checkpoint/firewall/ingest/pipeline.json @@ -61,9 +61,9 @@ } }, { - "set": { + "append": { "field": "event.category", - "value": ["network"], + "value": "network", "if": "ctx.checkpoint?.operation != 'Log In'" } }, @@ -242,9 +242,9 @@ } }, { - "set": { + "append": { "field": "event.category", - "value": ["authentication"], + "value": "authentication", "if": "ctx.checkpoint?.operation == 'Log In'" } }, @@ -270,7 +270,7 @@ } }, { - "set" : { + "append" : { "field": "event.type", "value": ["allowed", "connection"], "if": "['Accept', 'Allow'].contains(ctx.checkpoint?.rule_action)" @@ -298,7 +298,7 @@ } }, { - "set" : { + "append" : { "field": "event.type", "value": ["connection", "denied"], "if": "['Drop', 'Reject', 'Block', 'Prevent'].contains(ctx.checkpoint?.rule_action)" @@ -1028,6 +1028,68 @@ "if": "ctx.checkpoint?.sys_message != null" } }, + { + "geoip" : { + "field": "source.ip", + "target_field": "source.geo", + "ignore_missing": true, + "if": "ctx.source?.geo == null" + } + }, + { + "geoip" : { + "field": "destination.ip", + "target_field": "destination.geo", + "ignore_missing": true, + "if": "ctx.destination?.geo == null" + } + }, + { + "geoip" : { + "database_file": "GeoLite2-ASN.mmdb", + "field": "source.ip", + "target_field": "source.as", + "properties": ["asn", "organization_name"], + "ignore_missing": true + } + }, + { + "geoip" : { + "database_file": "GeoLite2-ASN.mmdb", + "field": "destination.ip", + "target_field": "destination.as", + "properties": ["asn", "organization_name"], + "ignore_missing": true + } + }, + { + "rename" : { + "field": "source.as.asn", + "target_field": "source.as.number", + "ignore_missing": true + } + }, + { + "rename" : { + "field": "source.as.organization_name", + "target_field": "source.as.organization.name", + "ignore_missing": true + } + }, + { + "rename" : { + "field": "destination.as.asn", + "target_field": "destination.as.number", + "ignore_missing": true + } + }, + { + "rename" : { + "field": "destination.as.organization_name", + "target_field": "destination.as.organization.name", + "ignore_missing": true + } + }, { "remove" : { "field": [ @@ -1050,4 +1112,4 @@ } } ] -} \ No newline at end of file +} diff --git a/x-pack/filebeat/module/checkpoint/firewall/test/checkpoint.log-expected.json b/x-pack/filebeat/module/checkpoint/firewall/test/checkpoint.log-expected.json index f966163307d..4e8517f4794 100644 --- a/x-pack/filebeat/module/checkpoint/firewall/test/checkpoint.log-expected.json +++ b/x-pack/filebeat/module/checkpoint/firewall/test/checkpoint.log-expected.json @@ -140,6 +140,15 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61794", + "destination.as.number": 25046, + "destination.as.organization.name": "Check Point Software Technologies LTD", + "destination.geo.city_name": "Tel Aviv", + "destination.geo.continent_name": "Asia", + "destination.geo.country_iso_code": "IL", + "destination.geo.location.lat": 32.0678, + "destination.geo.location.lon": 34.7647, + "destination.geo.region_iso_code": "IL-TA", + "destination.geo.region_name": "Tel Aviv", "destination.ip": "194.29.39.10", "destination.port": "443", "event.action": "Accept", @@ -249,6 +258,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41566", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -358,6 +373,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48698", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -467,6 +488,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61150", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -576,6 +603,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "55110", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.81.142.43", "destination.port": "443", "event.action": "Accept", @@ -685,6 +718,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48718", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -794,6 +833,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62206", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -903,6 +948,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41596", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -1012,6 +1063,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61180", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -1121,6 +1178,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48732", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -1230,6 +1293,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62222", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -1339,6 +1408,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61188", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -1448,6 +1523,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41624", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -1557,6 +1638,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48758", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -1666,6 +1753,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62246", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -1775,6 +1868,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41638", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -1884,6 +1983,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61224", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -2037,6 +2142,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48776", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -2119,6 +2230,15 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "51436", + "destination.as.number": 25046, + "destination.as.organization.name": "Check Point Software Technologies LTD", + "destination.geo.city_name": "Tel Aviv", + "destination.geo.continent_name": "Asia", + "destination.geo.country_iso_code": "IL", + "destination.geo.location.lat": 32.0678, + "destination.geo.location.lon": 34.7647, + "destination.geo.region_iso_code": "IL-TA", + "destination.geo.region_name": "Tel Aviv", "destination.ip": "194.29.39.47", "destination.port": "443", "event.action": "Accept", @@ -2334,6 +2454,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62396", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -2443,6 +2569,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48914", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -2552,6 +2684,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41844", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -2661,6 +2799,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62468", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -2770,6 +2914,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61434", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -2879,6 +3029,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41856", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -3032,6 +3188,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48990", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -3141,6 +3303,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62478", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -3250,6 +3418,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41864", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -3359,6 +3533,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61446", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -3468,6 +3648,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "48998", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -3524,6 +3710,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41870", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -3686,6 +3878,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62488", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -3795,6 +3993,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61454", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -3929,6 +4133,15 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62122", + "destination.as.number": 25046, + "destination.as.organization.name": "Check Point Software Technologies LTD", + "destination.geo.city_name": "Tel Aviv", + "destination.geo.continent_name": "Asia", + "destination.geo.country_iso_code": "IL", + "destination.geo.location.lat": 32.0678, + "destination.geo.location.lon": 34.7647, + "destination.geo.region_iso_code": "IL-TA", + "destination.geo.region_name": "Tel Aviv", "destination.ip": "194.29.39.10", "destination.port": "443", "event.action": "Accept", @@ -4091,6 +4304,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "55424", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.81.142.43", "destination.port": "443", "event.action": "Accept", @@ -4200,6 +4419,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "49026", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -4309,6 +4534,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62514", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -4418,6 +4649,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41902", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -4527,6 +4764,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61490", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -4636,6 +4879,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "49042", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", @@ -4745,6 +4994,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41914", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -4854,6 +5109,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "62534", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.41", "destination.port": "80", "event.action": "Accept", @@ -4963,6 +5224,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "61500", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.36", "destination.port": "80", "event.action": "Accept", @@ -5072,6 +5339,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "41938", + "destination.as.number": 16625, + "destination.as.organization.name": "Akamai Technologies, Inc.", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "104.99.234.45", "destination.port": "443", "event.action": "Accept", @@ -5181,6 +5454,12 @@ "checkpoint.rule_action": "Accept", "client.ip": "192.168.1.100", "client.port": "49102", + "destination.as.number": 30148, + "destination.as.organization.name": "Sucuri", + "destination.geo.continent_name": "North America", + "destination.geo.country_iso_code": "US", + "destination.geo.location.lat": 37.751, + "destination.geo.location.lon": -97.822, "destination.ip": "192.124.249.31", "destination.port": "80", "event.action": "Accept", From 684106eeaf562ffa56906e6883e52451944fe504 Mon Sep 17 00:00:00 2001 From: Ivan Fernandez Calvo Date: Fri, 24 Apr 2020 13:55:55 +0200 Subject: [PATCH 04/17] feat: trigger packaging after a succefull build on master (#17961) --- .ci/packaging.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/packaging.groovy b/.ci/packaging.groovy index 36734003aba..32d2d428c7f 100644 --- a/.ci/packaging.groovy +++ b/.ci/packaging.groovy @@ -23,6 +23,7 @@ pipeline { } triggers { issueCommentTrigger('(?i)^\\/packaging$') + upstream('Beats/beats-beats-mbp/master') } parameters { booleanParam(name: 'macos', defaultValue: false, description: 'Allow macOS stages.') From 41d9ca6bb5059cc4c665bb82b312a050cd5b6f91 Mon Sep 17 00:00:00 2001 From: Pier-Hugues Pellerin Date: Fri, 24 Apr 2020 08:28:09 -0400 Subject: [PATCH 05/17] [Elastic Agent] Fleet issues with configuring the Gateway. (#17949) * [Elastic Agent] Fleet issues with configuring the Gateway. This pull request ensure that the values configuration locally in the elastic-agent.yml are correctly applied to the fleet gateway. This also ensure that we have appropriate default sets on the Gateway. The following options are now supported on the Gateway. ```yaml # Check in frequency configure the time between calls to fleet to retrieve the new configuration. # # Default is 30s #checkin_frequency: 30s # Add variance between API calls to better distribute the calls. #jitter: 5s # The Elastic Agent does Exponential backoff when an error happen. # #backoff: # # Initial time to wait before retrying the call. #init: 1s # # Maximum time to wait before retrying the call. #max: 10s Fixes: #17900 * oh yaml * Oh yaml again * Changelog --- x-pack/elastic-agent/CHANGELOG.asciidoc | 1 + .../_meta/elastic-agent.fleet.yml | 18 ++++++++ .../pkg/agent/application/application.go | 14 +++---- .../agent/application/configuration_embed.go | 2 +- .../pkg/agent/application/fleet_gateway.go | 41 +++++++++++++------ .../pkg/agent/application/managed_mode.go | 33 ++++++++++----- 6 files changed, 78 insertions(+), 31 deletions(-) diff --git a/x-pack/elastic-agent/CHANGELOG.asciidoc b/x-pack/elastic-agent/CHANGELOG.asciidoc index 1271df44646..9cdaa81432c 100644 --- a/x-pack/elastic-agent/CHANGELOG.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.asciidoc @@ -25,6 +25,7 @@ - Fixed injected log path to monitoring beat {pull}17833[17833] - Make sure that the Elastic Agent connect over TLS in cloud. {pull}17843[17843] - Moved stream.* fields to top of event {pull}17858[17858] +- Fix an issue where the checkin_frequency, jitter, and backoff options where not configurable. {pull}17843[17843] ==== New features diff --git a/x-pack/elastic-agent/_meta/elastic-agent.fleet.yml b/x-pack/elastic-agent/_meta/elastic-agent.fleet.yml index 08304cbaa92..20143509c1b 100644 --- a/x-pack/elastic-agent/_meta/elastic-agent.fleet.yml +++ b/x-pack/elastic-agent/_meta/elastic-agent.fleet.yml @@ -5,6 +5,24 @@ management: mode: "fleet" + # Check in frequency configure the time between calls to fleet to retrieve the new configuration. + # + # Default is 30s + #checkin_frequency: 30s + + # Add variance between API calls to better distribute the calls. + #jitter: 5s + + # The Elastic Agent does Exponential backoff when an error happen. + # + #backoff: + # + # Initial time to wait before retrying the call. + # init: 1s + # + # Maximum time to wait before retrying the call. + # max: 10s + download: # source of the artifacts, requires elastic like structure and naming of the binaries # e.g /windows-x86.zip diff --git a/x-pack/elastic-agent/pkg/agent/application/application.go b/x-pack/elastic-agent/pkg/agent/application/application.go index 78634055989..878809dbd08 100644 --- a/x-pack/elastic-agent/pkg/agent/application/application.go +++ b/x-pack/elastic-agent/pkg/agent/application/application.go @@ -26,28 +26,28 @@ func New(log *logger.Logger, pathConfigFile string) (Application, error) { // Load configuration from disk to understand in which mode of operation // we must start the elastic-agent, the mode of operation cannot be changed without restarting the // elastic-agent. - config, err := config.LoadYAML(pathConfigFile) + rawConfig, err := config.LoadYAML(pathConfigFile) if err != nil { return nil, err } - if err := InjectAgentConfig(config); err != nil { + if err := InjectAgentConfig(rawConfig); err != nil { return nil, err } - return createApplication(log, pathConfigFile, config) + return createApplication(log, pathConfigFile, rawConfig) } func createApplication( log *logger.Logger, pathConfigFile string, - config *config.Config, + rawConfig *config.Config, ) (Application, error) { warn.LogNotGA(log) log.Info("Detecting execution mode") c := localDefaultConfig() - err := config.Unpack(c) + err := rawConfig.Unpack(c) if err != nil { return nil, errors.New(err, "initiating application") } @@ -63,10 +63,10 @@ func createApplication( switch mgmt.Mode { case localMode: log.Info("Agent is managed locally") - return newLocal(ctx, log, pathConfigFile, config) + return newLocal(ctx, log, pathConfigFile, rawConfig) case fleetMode: log.Info("Agent is managed by Fleet") - return newManaged(ctx, log, config) + return newManaged(ctx, log, rawConfig) default: return nil, ErrInvalidMgmtMode } diff --git a/x-pack/elastic-agent/pkg/agent/application/configuration_embed.go b/x-pack/elastic-agent/pkg/agent/application/configuration_embed.go index 8a064cf9268..a34b1b7a2dd 100644 --- a/x-pack/elastic-agent/pkg/agent/application/configuration_embed.go +++ b/x-pack/elastic-agent/pkg/agent/application/configuration_embed.go @@ -15,7 +15,7 @@ var DefaultAgentFleetConfig []byte func init() { // Packed File // _meta/elastic-agent.fleet.yml - unpacked := packer.MustUnpack("eJyMlk2Xo7oRhvf5GbPPDR/NnCE7CzdCjKFjfFtfmxwkeQS2ZHNigw05+e85wm53z6Rzz130xkh6q956qqr//eWfdnuu/7Y19encyr/Wens4//bDbLfn30Zrvvz9C5q8+B+//7k/9KyMsHhk5KL/7J3H3/q4Q8+5YbSaEDQTguUgLO94iEdO1lqRaM8p0pW9Gk7XJ5SZQW3AjpEnzSG2NYkMgv4gw7WWAfYUND0Pi+9oBFba+Iyy6sg3YFWTvBH2WePXfY/S9zcUBXtGK+PO1bTQ3JoT3wBPjGAngsjWRPnSvmoFG4Oy0qis6oRVkzvP6NrpNO67sLGHstKXGRjkoTI8Ae12A6CA2Kjk6bsgac+IMoLgXi2P31ECziKozEu7aPkttzbR3V6Eqhcwbvh8ZrFDWTkomu/4Bgy8BV4NXzWjuVcT3rCwmlYJGDlN/ZrmRo7ACJhOCpodgteuDl61DKtRkdJTNDcIpj1PQM+I3wkrtQjYLS+Yd8KmY03wlLQLjUZgVlbqVag6YatBhcV5u9TB6tB1cnHUj5gw3mx+P2pkG09lYHppvw0/xWbxidHSq0nRs+DbwGEcCnsdGKmmVXCr+WpE9zxBo6DWCn67x1R10uKdgvG43cy18BgxfU2iA4LVoILoJIJ07xiRMN3VQXrgtHC+eozmB06rHxyakZPSE2EeOZ/z7HxhtDqubNUomMar4P0d+Yij6gTBg6JrzW08ftSatTPQsODc8OB11qqJb0SIvZd2MRVZcXsD8k7AVxeXVyczSw3KgM/stWMj+Bene61o6RixIkRaWTzWhEef5fbRz3ttOt6CXoTrN1Y7OYKLtHjiJPLQ88NzvXa8HdZaBeYkEuDJw372d+YrARdF8pM7Vwc4QpCPIvA0J9dGhlXHxmgnRhBykk81rcxKu7qDg7zl9hUlaL8N55r1HKYeo97w4e6Fh4v2LV5xKD1Grid6O+/6dmJh3jGLp3t/nkRQNgqaQbQz5487v9R3kFk+8DBvBC169Gy828xITzL4dvPU8ZkUt9pluWGkmll/3NuASUK8qwnvWJB6NYl7OT65Wv4a56c51iSaFExPIkHfkwMYRVAaGRZf77meaxJ1gqQnNM+BtRYHfGYWjwjyQbZOOw2FxXuUvd0tjbwcNYJ+J0x8EWHuWLoWy8WluOciSPpUE98XGzB/RzDyBcmNbG/8SBdjEDmeLtLGO07L6d4LZ0abHxLGo1oedTEtLsVy8X84L0dOnB+Owcio8ae3epSpIydPs48swJMcZ+5mDmWId/NvAfcFvEZvb838zsw17uyjV+5eOR9HlYBBQjwyWnUieNJuBrMg7mVg9pzmLqcGQd7U5OrmsMvp5qGJ/6f3kkNuVJZHL/rOAIka5mZrAvacVkZaN/ccc+rIaXV0e0VaPPeF05UwnmRgWgFfe/RcGW5TX2RrfdsLjrHX3sX+eHd51CrLfb6+6c1vWWOkH+9EiHuVvLPGafGBhdg6NlWWd7O3v2gVM4+LHUpv+bidqFxvu3vLZy0IbsSh0DV99HbLN24PVG6G7xGMe7fDnD8IplbBWdP9ZhkxJ7cLbv38FkP5gwWxLw7rr2j5NsMqt0silJUXTsqOu7xGsHc9vt2ATrTgLEfQclqFnOD+D/OZwDy7OHSzae80LjPzd7Zp8KmWY7cTFJ8fsUDTI+hPCDotZWYe3zwfn3QFsWUUn1Ti2FxMxfKm+1HjpV344l6vijYXEURGHKrO/e/CIfY4zV0PO/2whtirZ+8e+m5evbPtuPj5jf7ONq1pdZzzfPesEXati/FRp2nmNrnocrc4oeXz+Ngfn7Pn2DfbDAzC4l5B04jl8fHty3/+8t8AAAD///ycVl0=") + unpacked := packer.MustUnpack("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") raw, ok := unpacked["_meta/elastic-agent.fleet.yml"] if !ok { // ensure we have something loaded. diff --git a/x-pack/elastic-agent/pkg/agent/application/fleet_gateway.go b/x-pack/elastic-agent/pkg/agent/application/fleet_gateway.go index e4f021fdaad..d21e2392f5b 100644 --- a/x-pack/elastic-agent/pkg/agent/application/fleet_gateway.go +++ b/x-pack/elastic-agent/pkg/agent/application/fleet_gateway.go @@ -11,11 +11,33 @@ import ( "github.com/elastic/beats/v7/libbeat/common/backoff" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/errors" + "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/config" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/core/logger" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/fleetapi" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/scheduler" ) +// Default Configuration for the Fleet Gateway. +var defaultGatewaySettings = &fleetGatewaySettings{ + Duration: 30 * time.Second, + Jitter: 5 * time.Second, + Backoff: backoffSettings{ + Init: 1 * time.Second, + Max: 10 * time.Second, + }, +} + +type fleetGatewaySettings struct { + Duration time.Duration `config:"checkin_frequency"` + Jitter time.Duration `config:"jitter"` + Backoff backoffSettings `config:"backoff"` +} + +type backoffSettings struct { + Init time.Duration `config:"init"` + Max time.Duration `config:"max"` +} + type dispatcher interface { Dispatch(acker fleetAcker, actions ...action) error } @@ -52,27 +74,22 @@ type fleetGateway struct { acker fleetAcker } -type fleetGatewaySettings struct { - Duration time.Duration - Jitter time.Duration - Backoff backoffSettings -} - -type backoffSettings struct { - Init time.Duration - Max time.Duration -} - func newFleetGateway( ctx context.Context, log *logger.Logger, - settings *fleetGatewaySettings, + rawConfig *config.Config, agentInfo agentInfo, client clienter, d dispatcher, r fleetReporter, acker fleetAcker, ) (*fleetGateway, error) { + + settings := defaultGatewaySettings + if err := rawConfig.Unpack(settings); err != nil { + return nil, errors.New(err, "fail to read gateway configuration") + } + scheduler := scheduler.NewPeriodicJitter(settings.Duration, settings.Jitter) return newFleetGatewayWithScheduler( ctx, diff --git a/x-pack/elastic-agent/pkg/agent/application/managed_mode.go b/x-pack/elastic-agent/pkg/agent/application/managed_mode.go index 6431ec03975..08ff4c7a479 100644 --- a/x-pack/elastic-agent/pkg/agent/application/managed_mode.go +++ b/x-pack/elastic-agent/pkg/agent/application/managed_mode.go @@ -11,8 +11,6 @@ import ( "net/http" "net/url" - "time" - "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/application/filters" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/application/info" "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/agent/errors" @@ -26,13 +24,8 @@ import ( logreporter "github.com/elastic/beats/v7/x-pack/elastic-agent/pkg/reporter/log" ) -var gatewaySettings = &fleetGatewaySettings{ - Duration: 2 * time.Second, - Jitter: 1 * time.Second, - Backoff: backoffSettings{ - Init: 1 * time.Second, - Max: 10 * time.Second, - }, +type managementCfg struct { + Management *config.Config `config:"management"` } type apiClient interface { @@ -87,6 +80,7 @@ func newManaged( errors.M(errors.MetaKeyPath, path)) } + // merge local configuration and configuration persisted from fleet. rawConfig.Merge(config) cfg := defaultFleetAgentConfig() @@ -97,6 +91,15 @@ func newManaged( errors.M(errors.MetaKeyPath, path)) } + // Extract only management related configuration. + managementCfg := &managementCfg{} + if err := rawConfig.Unpack(managementCfg); err != nil { + return nil, errors.New(err, + fmt.Sprintf("fail to unpack configuration from %s", path), + errors.TypeFilesystem, + errors.M(errors.MetaKeyPath, path)) + } + client, err := fleetapi.NewAuthWithConfig(log, cfg.API.AccessAPIKey, cfg.API.Kibana) if err != nil { return nil, errors.New(err, @@ -129,7 +132,15 @@ func newManaged( return nil, errors.New(err, "fail to initialize pipeline router") } - emit := emitter(log, router, &configModifiers{Decorators: []decoratorFunc{injectMonitoring}, Filters: []filterFunc{filters.ConstraintFilter}}, monitor) + emit := emitter( + log, + router, + &configModifiers{ + Decorators: []decoratorFunc{injectMonitoring}, + Filters: []filterFunc{filters.ConstraintFilter}, + }, + monitor, + ) acker, err := newActionAcker(log, agentInfo, client) if err != nil { return nil, err @@ -175,7 +186,7 @@ func newManaged( gateway, err := newFleetGateway( managedApplication.bgContext, log, - gatewaySettings, + managementCfg.Management, agentInfo, client, actionDispatcher, From d086c6374e25d50394d7be82279ca08b546b421c Mon Sep 17 00:00:00 2001 From: Chris Mark Date: Fri, 24 Apr 2020 17:06:36 +0300 Subject: [PATCH 06/17] Fix remote_write doc content (#17933) --- metricbeat/module/prometheus/remote_write/_meta/docs.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metricbeat/module/prometheus/remote_write/_meta/docs.asciidoc b/metricbeat/module/prometheus/remote_write/_meta/docs.asciidoc index 386f7e5729d..2f46dc6e47c 100644 --- a/metricbeat/module/prometheus/remote_write/_meta/docs.asciidoc +++ b/metricbeat/module/prometheus/remote_write/_meta/docs.asciidoc @@ -8,7 +8,7 @@ remote_write: ------------------------------------------------------------------------------ -TIP: In order to assure the health of the whole queue, the following two configuration +TIP: In order to assure the health of the whole queue, the following configuration https://prometheus.io/docs/practices/remote_write/#parameters[parameters] should be considered: - `max_shards`: Sets the maximum number of parallelism with which Prometheus will try to send samples to Metricbeat. From 98f02e151d4c8368a49a218b761f6aa8e348b877 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Fri, 24 Apr 2020 08:11:36 -0600 Subject: [PATCH 07/17] [Metricbeat] Add aggregation aligner as a config param for stackdriver metricset in GCP (#17719) * Add metricDescriptor to get sample period and ingest delay time * add aggregation for ListTimeSeriesRequest * Add aligner into metric name suffix (eg: .avg, .sum) --- CHANGELOG.next.asciidoc | 1 + metricbeat/docs/fields.asciidoc | 1239 +++++++++++++++++ metricbeat/docs/modules/googlecloud.asciidoc | 26 +- .../modules/googlecloud/stackdriver.asciidoc | 23 + metricbeat/docs/modules_list.asciidoc | 3 +- x-pack/metricbeat/metricbeat.reference.yml | 10 +- .../module/googlecloud/_meta/config.yml | 10 +- .../module/googlecloud/_meta/docs.asciidoc | 12 +- .../module/googlecloud/_meta/fields.yml | 25 +- .../googlecloud/compute/_meta/data.json | 22 +- .../compute/_meta/data_network_01.json | 74 - .../compute/_meta/data_network_02.json | 72 - .../googlecloud/compute/_meta/fields.yml | 28 +- .../compute/compute_integration_test.go | 4 +- .../module/googlecloud/compute/manifest.yml | 27 +- .../module/googlecloud/constants.go | 60 +- .../metricbeat/module/googlecloud/fields.go | 2 +- .../googlecloud/loadbalancing/_meta/data.json | 126 +- .../loadbalancing/_meta/fields.yml | 120 +- .../googlecloud/loadbalancing/manifest.yml | 51 +- .../module/googlecloud/pubsub/_meta/data.json | 26 +- .../googlecloud/pubsub/_meta/fields.yml | 97 +- .../module/googlecloud/pubsub/manifest.yml | 95 +- .../stackdriver/_meta/docs.asciidoc | 82 ++ .../stackdriver/compute/identity.go | 2 +- .../{ => stackdriver}/integration.go | 8 +- .../stackdriver/metrics_requester.go | 117 +- .../stackdriver/metrics_requester_test.go | 61 + .../googlecloud/stackdriver/metricset.go | 123 +- .../stackdriver/response_parser.go | 16 +- .../stackdriver/response_parser_test.go | 32 + .../stackdriver_integration_test.go | 3 +- .../googlecloud/stackdriver/timeseries.go | 63 +- .../googlecloud/storage/_meta/data.json | 15 +- .../googlecloud/storage/_meta/fields.yml | 18 +- .../module/googlecloud/storage/manifest.yml | 19 +- .../storage/storage_integration_test.go | 4 +- .../modules.d/googlecloud.yml.disabled | 10 +- 38 files changed, 2068 insertions(+), 658 deletions(-) create mode 100644 metricbeat/docs/modules/googlecloud/stackdriver.asciidoc delete mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_01.json delete mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_02.json create mode 100644 x-pack/metricbeat/module/googlecloud/stackdriver/_meta/docs.asciidoc rename x-pack/metricbeat/module/googlecloud/{ => stackdriver}/integration.go (86%) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index b55ad88642f..2f1e4043572 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -345,6 +345,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Reference kubernetes manifests mount data directory from the host when running metricbeat as daemonset, so data persist between executions in the same node. {pull}17429[17429] - Add more detailed error messages, system tests and small refactoring to the service metricset in windows. {pull}17725[17725] - Stack Monitoring modules now auto-configure required metricsets when `xpack.enabled: true` is set. {issue}16471[[16471] {pull}17609[17609] +- Add aggregation aligner as a config parameter for googlecloud stackdriver metricset. {issue}17141[[17141] {pull}17719[17719] - Move the perfmon metricset to GA. {issue}16608[16608] {pull}17879[17879] *Packetbeat* diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 81e2d066557..04c431efd59 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -17174,6 +17174,7 @@ GCP module + *`googlecloud.labels`*:: + -- @@ -17181,6 +17182,1244 @@ type: object -- +*`googlecloud.stackdriver.*.*.*.*`*:: ++ +-- +Metrics that returned from StackDriver API query. + + +type: object + +-- + +[float] +=== compute + +Google Cloud Compute metrics + + + + +*`googlecloud.compute.instance.firewall.dropped_bytes_count.value`*:: ++ +-- +Incoming bytes dropped by the firewall + +type: long + +-- + +*`googlecloud.compute.instance.firewall.dropped_packets_count.value`*:: ++ +-- +Incoming packets dropped by the firewall + +type: long + +-- + + +*`googlecloud.compute.instance.cpu.reserved_cores.value`*:: ++ +-- +Number of cores reserved on the host of the instance + +type: double + +-- + +*`googlecloud.compute.instance.cpu.utilization.value`*:: ++ +-- +The fraction of the allocated CPU that is currently in use on the instance + +type: double + +-- + +*`googlecloud.compute.instance.cpu.usage_time.value`*:: ++ +-- +Usage for all cores in seconds + +type: double + +-- + + +*`googlecloud.compute.instance.disk.read_bytes_count.value`*:: ++ +-- +Count of bytes read from disk + +type: long + +-- + +*`googlecloud.compute.instance.disk.read_ops_count.value`*:: ++ +-- +Count of disk read IO operations + +type: long + +-- + +*`googlecloud.compute.instance.disk.write_bytes_count.value`*:: ++ +-- +Count of bytes written to disk + +type: long + +-- + +*`googlecloud.compute.instance.disk.write_ops_count.value`*:: ++ +-- +Count of disk write IO operations + +type: long + +-- + +*`googlecloud.compute.instance.uptime.value`*:: ++ +-- +How long the VM has been running, in seconds + +type: long + +-- + + +*`googlecloud.compute.instance.network.received_bytes_count.value`*:: ++ +-- +Count of bytes received from the network + +type: long + +-- + +*`googlecloud.compute.instance.network.received_packets_count.value`*:: ++ +-- +Count of packets received from the network + +type: long + +-- + +*`googlecloud.compute.instance.network.sent_bytes_count.value`*:: ++ +-- +Count of bytes sent over the network + +type: long + +-- + +*`googlecloud.compute.instance.network.sent_packets_count.value`*:: ++ +-- +Count of packets sent over the network + +type: long + +-- + +[float] +=== loadbalancing + +Google Cloud Load Balancing metrics + + +[float] +=== https + +Google Cloud Load Balancing metrics + + +[float] +=== backend_latencies + +A distribution of the latency calculated from when the request was sent by the proxy to the backend until the proxy received from the backend the last byte of response. + + +*`googlecloud.loadbalancing.https.backend_latencies.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_latencies.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_latencies.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.https.backend_latencies.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.https.backend_latencies.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_latencies.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_request_bytes_count.value`*:: ++ +-- +The number of bytes sent as requests from HTTP/S load balancer to backends. + +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_request_count.value`*:: ++ +-- +The number of requests served by backends of HTTP/S load balancer. + +type: long + +-- + +*`googlecloud.loadbalancing.https.backend_response_bytes_count.value`*:: ++ +-- +The number of bytes sent as responses from backends (or cache) to HTTP/S load balancer. + +type: long + +-- + +[float] +=== frontend_tcp_rtt + +A distribution of the RTT measured for each connection between client and proxy. + + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + + +[float] +=== backend_latencies + +A distribution of the latency calculated from when the request was sent by the proxy to the backend until the proxy received from the backend the last byte of response. + + +*`googlecloud.loadbalancing.https.internal.backend_latencies.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.backend_latencies.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.backend_latencies.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.https.internal.backend_latencies.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.https.internal.backend_latencies.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.backend_latencies.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.request_bytes_count.value`*:: ++ +-- +The number of bytes sent as requests from clients to HTTP/S load balancer. + +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.request_count.value`*:: ++ +-- +The number of requests served by HTTP/S load balancer. + +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.response_bytes_count.value`*:: ++ +-- +The number of bytes sent as responses from HTTP/S load balancer to clients. + +type: long + +-- + +[float] +=== total_latencies + +A distribution of the latency calculated from when the request was received by the proxy until the proxy got ACK from client on last response byte. + + +*`googlecloud.loadbalancing.https.internal.total_latencies.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.total_latencies.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.total_latencies.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.https.internal.total_latencies.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.https.internal.total_latencies.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.internal.total_latencies.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.request_bytes_count.value`*:: ++ +-- +The number of bytes sent as requests from clients to HTTP/S load balancer. + +type: long + +-- + +*`googlecloud.loadbalancing.https.request_count.value`*:: ++ +-- +The number of requests served by HTTP/S load balancer. + +type: long + +-- + +*`googlecloud.loadbalancing.https.response_bytes_count.value`*:: ++ +-- +The number of bytes sent as responses from HTTP/S load balancer to clients. + +type: long + +-- + +[float] +=== total_latencies + +A distribution of the latency calculated from when the request was received by the proxy until the proxy got ACK from client on last response byte. + + +*`googlecloud.loadbalancing.https.total_latencies.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.total_latencies.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.total_latencies.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.https.total_latencies.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.https.total_latencies.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.https.total_latencies.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +[float] +=== l3.internal + +Google Cloud Load Balancing metrics + + +*`googlecloud.loadbalancing.l3.internal.egress_bytes_count.value`*:: ++ +-- +The number of bytes sent from ILB backend to client (for TCP flows it's counting bytes on application stream only). + +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.egress_packets_count.value`*:: ++ +-- +The number of packets sent from ILB backend to client of the flow. + +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.ingress_bytes_count.value`*:: ++ +-- +The number of bytes sent from client to ILB backend (for TCP flows it's counting bytes on application stream only). + +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.ingress_packets_count.value`*:: ++ +-- +The number of packets sent from client to ILB backend. + +type: long + +-- + +[float] +=== rtt_latencies + +A distribution of RTT measured over TCP connections for ILB flows. + + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.l3.internal.rtt_latencies.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +[float] +=== tcp_ssl_proxy + +Google Cloud Load Balancing metrics + + +*`googlecloud.loadbalancing.tcp_ssl_proxy.closed_connections.value`*:: ++ +-- +Number of connections that were terminated over TCP/SSL proxy. + +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.egress_bytes_count.value`*:: ++ +-- +Number of bytes sent from VM to client using proxy. + +type: long + +-- + +[float] +=== frontend_tcp_rtt + +A distribution of the smoothed RTT (in ms) measured by the proxy's TCP stack, each minute application layer bytes pass from proxy to client. + + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.count.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.mean.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.bucket_counts.value`*:: ++ +-- +type: long + +-- + + + + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.growth_factor.value`*:: ++ +-- +type: double + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.scale.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt.bucket_options.Options.ExponentialBuckets.num_finite_buckets.value`*:: ++ +-- +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.ingress_bytes_count.value`*:: ++ +-- +Number of bytes sent from client to VM using proxy. + +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.new_connections.value`*:: ++ +-- +Number of connections that were created over TCP/SSL proxy. + +type: long + +-- + +*`googlecloud.loadbalancing.tcp_ssl_proxy.open_connections.value`*:: ++ +-- +Current number of outstanding connections through the TCP/SSL proxy. + +type: long + +-- + +[float] +=== pubsub + +Google Cloud PubSub metrics + + +[float] +=== subscription + +Suscription related metrics + + +*`googlecloud.pubsub.subscription.ack_message_count.value`*:: ++ +-- +Cumulative count of messages acknowledged by Acknowledge requests, grouped by delivery type. + +type: long + +-- + +*`googlecloud.pubsub.subscription.backlog_bytes.value`*:: ++ +-- +Total byte size of the unacknowledged messages (a.k.a. backlog messages) in a subscription. + +type: long + +-- + +*`googlecloud.pubsub.subscription.num_outstanding_messages.value`*:: ++ +-- +Number of messages delivered to a subscription's push endpoint, but not yet acknowledged. + +type: long + +-- + +*`googlecloud.pubsub.subscription.num_undelivered_messages.value`*:: ++ +-- +Number of unacknowledged messages (a.k.a. backlog messages) in a subscription. + +type: long + +-- + +*`googlecloud.pubsub.subscription.oldest_unacked_message_age.value`*:: ++ +-- +Age (in seconds) of the oldest unacknowledged message (a.k.a. backlog message) in a subscription. + +type: long + +-- + +*`googlecloud.pubsub.subscription.pull_ack_message_operation_count.value`*:: ++ +-- +Cumulative count of acknowledge message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. + +type: long + +-- + +*`googlecloud.pubsub.subscription.pull_ack_request_count.value`*:: ++ +-- +Cumulative count of acknowledge requests, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.pull_message_operation_count.value`*:: ++ +-- +Cumulative count of pull message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. + +type: long + +-- + +*`googlecloud.pubsub.subscription.pull_request_count.value`*:: ++ +-- +Cumulative count of pull requests, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.push_request_count.value`*:: ++ +-- +Cumulative count of push attempts, grouped by result. Unlike pulls, the push server implementation does not batch user messages. So each request only contains one user message. The push server retries on errors, so a given user message can appear multiple times. + +type: long + +-- + +*`googlecloud.pubsub.subscription.push_request_latencies.value`*:: ++ +-- +Distribution of push request latencies (in microseconds), grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.sent_message_count.value`*:: ++ +-- +Cumulative count of messages sent by Cloud Pub/Sub to subscriber clients, grouped by delivery type. + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_ack_message_operation_count.value`*:: ++ +-- +Cumulative count of StreamingPull acknowledge message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_ack_request_count.value`*:: ++ +-- +Cumulative count of streaming pull requests with non-empty acknowledge ids, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_message_operation_count.value`*:: ++ +-- +Cumulative count of streaming pull message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_response_count.value`*:: ++ +-- +Cumulative count of streaming pull responses, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.dead_letter_message_count.value`*:: ++ +-- +Cumulative count of messages published to dead letter topic, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.mod_ack_deadline_message_count.value`*:: ++ +-- +Cumulative count of messages whose deadline was updated by ModifyAckDeadline requests, grouped by delivery type. + +type: long + +-- + +*`googlecloud.pubsub.subscription.mod_ack_deadline_message_operation_count.value`*:: ++ +-- +Cumulative count of ModifyAckDeadline message operations, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.mod_ack_deadline_request_count.value`*:: ++ +-- +Cumulative count of ModifyAckDeadline requests, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.oldest_retained_acked_message_age.value`*:: ++ +-- +Age (in seconds) of the oldest acknowledged message retained in a subscription. + +type: long + +-- + +*`googlecloud.pubsub.subscription.oldest_retained_acked_message_age_by_region.value`*:: ++ +-- +Age (in seconds) of the oldest acknowledged message retained in a subscription, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.subscription.oldest_unacked_message_age_by_region.value`*:: ++ +-- +Age (in seconds) of the oldest unacknowledged message in a subscription, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.subscription.retained_acked_bytes.value`*:: ++ +-- +Total byte size of the acknowledged messages retained in a subscription. + +type: long + +-- + +*`googlecloud.pubsub.subscription.retained_acked_bytes_by_region.value`*:: ++ +-- +Total byte size of the acknowledged messages retained in a subscription, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.subscription.seek_request_count.value`*:: ++ +-- +Cumulative count of seek attempts, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_mod_ack_deadline_message_operation_count.value`*:: ++ +-- +Cumulative count of StreamingPull ModifyAckDeadline operations, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.streaming_pull_mod_ack_deadline_request_count.value`*:: ++ +-- +Cumulative count of streaming pull requests with non-empty ModifyAckDeadline fields, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.byte_cost.value`*:: ++ +-- +Cumulative cost of operations, measured in bytes. This is used to measure quota utilization. + +type: long + +-- + +*`googlecloud.pubsub.subscription.config_updates_count.value`*:: ++ +-- +Cumulative count of configuration changes for each subscription, grouped by operation type and result. + +type: long + +-- + +*`googlecloud.pubsub.subscription.unacked_bytes_by_region.value`*:: ++ +-- +Total byte size of the unacknowledged messages in a subscription, broken down by Cloud region. + +type: long + +-- + +[float] +=== topic + +Topic related metrics + + +*`googlecloud.pubsub.topic.streaming_pull_response_count.value`*:: ++ +-- +Cumulative count of streaming pull responses, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.topic.send_message_operation_count.value`*:: ++ +-- +Cumulative count of publish message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. + +type: long + +-- + +*`googlecloud.pubsub.topic.send_request_count.value`*:: ++ +-- +Cumulative count of publish requests, grouped by result. + +type: long + +-- + +*`googlecloud.pubsub.topic.oldest_retained_acked_message_age_by_region.value`*:: ++ +-- +Age (in seconds) of the oldest acknowledged message retained in a topic, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.topic.oldest_unacked_message_age_by_region.value`*:: ++ +-- +Age (in seconds) of the oldest unacknowledged message in a topic, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.topic.retained_acked_bytes_by_region.value`*:: ++ +-- +Total byte size of the acknowledged messages retained in a topic, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.topic.byte_cost.value`*:: ++ +-- +Cost of operations, measured in bytes. This is used to measure utilization for quotas. + +type: long + +-- + +*`googlecloud.pubsub.topic.config_updates_count.value`*:: ++ +-- +Cumulative count of configuration changes, grouped by operation type and result. + +type: long + +-- + +*`googlecloud.pubsub.topic.message_sizes.value`*:: ++ +-- +Distribution of publish message sizes (in bytes) + +type: long + +-- + +*`googlecloud.pubsub.topic.unacked_bytes_by_region.value`*:: ++ +-- +Total byte size of the unacknowledged messages in a topic, broken down by Cloud region. + +type: long + +-- + +[float] +=== snapshot + +Snapshot related metrics + + +*`googlecloud.pubsub.snapshot.oldest_message_age.value`*:: ++ +-- +Age (in seconds) of the oldest message retained in a snapshot. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.oldest_message_age_by_region.value`*:: ++ +-- +Age (in seconds) of the oldest message retained in a snapshot, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.backlog_bytes.value`*:: ++ +-- +Total byte size of the messages retained in a snapshot. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.backlog_bytes_by_region.value`*:: ++ +-- +Total byte size of the messages retained in a snapshot, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.num_messages.value`*:: ++ +-- +Number of messages retained in a snapshot. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.num_messages_by_region.value`*:: ++ +-- +Number of messages retained in a snapshot, broken down by Cloud region. + +type: long + +-- + +*`googlecloud.pubsub.snapshot.config_updates_count.value`*:: ++ +-- +Cumulative count of configuration changes, grouped by operation type and result. + +type: long + +-- + +[float] +=== storage + +Google Cloud Storage metrics + + + +*`googlecloud.storage.api.request_count.value`*:: ++ +-- +Delta count of API calls, grouped by the API method name and response code. + +type: long + +-- + + +*`googlecloud.storage.authz.acl_based_object_access_count.value`*:: ++ +-- +Delta count of requests that result in an object being granted access solely due to object ACLs. + +type: long + +-- + +*`googlecloud.storage.authz.acl_operations_count.value`*:: ++ +-- +Usage of ACL operations broken down by type. + +type: long + +-- + +*`googlecloud.storage.authz.object_specific_acl_mutation_count.value`*:: ++ +-- +Delta count of changes made to object specific ACLs. + +type: long + +-- + + +*`googlecloud.storage.network.received_bytes_count.value`*:: ++ +-- +Delta count of bytes received over the network, grouped by the API method name and response code. + +type: long + +-- + +*`googlecloud.storage.network.sent_bytes_count.value`*:: ++ +-- +Delta count of bytes sent over the network, grouped by the API method name and response code. + +type: long + +-- + + +*`googlecloud.storage.storage.object_count.value`*:: ++ +-- +Total number of objects per bucket, grouped by storage class. This value is measured once per day, and the value is repeated at each sampling interval throughout the day. + +type: long + +-- + +*`googlecloud.storage.storage.total_byte_seconds.value`*:: ++ +-- +Delta count of bytes received over the network, grouped by the API method name and response code. + +type: long + +-- + +*`googlecloud.storage.storage.total_bytes.value`*:: ++ +-- +Total size of all objects in the bucket, grouped by storage class. This value is measured once per day, and the value is repeated at each sampling interval throughout the day. + +type: long + +-- + [[exported-fields-graphite]] == Graphite fields diff --git a/metricbeat/docs/modules/googlecloud.asciidoc b/metricbeat/docs/modules/googlecloud.asciidoc index 19a741eb5d0..6e3d7e881d5 100644 --- a/metricbeat/docs/modules/googlecloud.asciidoc +++ b/metricbeat/docs/modules/googlecloud.asciidoc @@ -17,17 +17,23 @@ Note: extra GCP charges on Stackdriver Monitoring API requests will be generated This is a list of the possible module parameters you can tune: * *zone*: A single string with the zone you want to monitor like "us-central1-a". If you need to fetch from multiple regions, you have to setup a different configuration for each (but you don't need a new instance of Metricbeat running) + * *region*: A single string with the region you want to monitor like "us-central1". This will enable monitoring for all zones under this region. + * *project_id*: A single string with your GCP Project ID + * *credentials_file_path*: A single string pointing to the JSON file path reachable by Metricbeat that you have created using IAM. + * *exclude_labels*: (`true`/`false` default `false`) Do not extract extra labels and metadata information from Metricsets and fetch metrics onlly. At the moment, *labels and metadata extraction is only supported* in Compute Metricset. +* *period*: A single time duration specified for this module collection frequency. + [float] == Authentication, authorization and permissions. Authentication and authorization in Google Cloud Platform can be achieved in many ways. For the current version of the Google Cloud Platform module for Metricbeat, the only supported method is using Service Account JSON files. A typical JSON with a private key looks like this: [float] -==== Example Credentials +=== Example Credentials [source,json] ---- { @@ -62,7 +68,9 @@ Google Cloud Platform offers the https://cloud.google.com/monitoring/api/metrics If you also want to *extract service labels* (by setting `exclude_labels` to false, which is the default state). You also make a new API check on the corresponding service. Service labels requires a new API call to extract those metrics. In the worst case the number of API calls will be doubled. In the best case, all metrics come from the same GCP entity and 100% of the required information is included in the first API call (which is cached for subsequent calls). -A recommended `period` value between fetches is between 5 and 10 minutes, depending on how granular you want your metrics. GCP restricts information for less than 5 minutes. +If `period` value is set to 5-minute and sample period of the metric type is 60-second, then this module will collect data from this metric type once every 5 minutes with aggregation. +GCP monitoring data has a up to 240 seconds latency, which means latest monitoring data will be up to 4 minutes old. Please see https://cloud.google.com/monitoring/api/v3/latency-n-retention[Latency of GCP Monitoring Metric Data] for more details. +In googlecloud module, metrics are collected based on this ingest delay, which is also obtained from ListMetricDescriptors API. [float] === Rough estimation of the number of API Calls @@ -101,13 +109,21 @@ metricbeat.modules: - module: googlecloud metricsets: - compute + region: "us-central1" + project_id: "your project id" + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 300s + +- module: googlecloud + metricsets: - pubsub - loadbalancing zone: "us-central1-a" project_id: "your project id" credentials_file_path: "your JSON credentials file path" exclude_labels: false - period: 300s + period: 60s - module: googlecloud metricsets: @@ -130,6 +146,8 @@ The following metricsets are available: * <> +* <> + * <> include::googlecloud/compute.asciidoc[] @@ -138,5 +156,7 @@ include::googlecloud/loadbalancing.asciidoc[] include::googlecloud/pubsub.asciidoc[] +include::googlecloud/stackdriver.asciidoc[] + include::googlecloud/storage.asciidoc[] diff --git a/metricbeat/docs/modules/googlecloud/stackdriver.asciidoc b/metricbeat/docs/modules/googlecloud/stackdriver.asciidoc new file mode 100644 index 00000000000..16609f7b01e --- /dev/null +++ b/metricbeat/docs/modules/googlecloud/stackdriver.asciidoc @@ -0,0 +1,23 @@ +//// +This file is generated! See scripts/mage/docs_collector.go +//// + +[[metricbeat-metricset-googlecloud-stackdriver]] +=== Google Cloud Platform stackdriver metricset + +beta[] + +include::../../../../x-pack/metricbeat/module/googlecloud/stackdriver/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + +Here is an example document generated by this metricset: + +[source,json] +---- +include::../../../../x-pack/metricbeat/module/googlecloud/stackdriver/_meta/data.json[] +---- diff --git a/metricbeat/docs/modules_list.asciidoc b/metricbeat/docs/modules_list.asciidoc index 6bdb22404f5..fe03abd62a3 100644 --- a/metricbeat/docs/modules_list.asciidoc +++ b/metricbeat/docs/modules_list.asciidoc @@ -109,9 +109,10 @@ This file is generated! See scripts/mage/docs_collector.go .2+| .2+| |<> |<> |<> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] | -.4+| .4+| |<> beta[] +.5+| .5+| |<> beta[] |<> beta[] |<> beta[] +|<> beta[] |<> beta[] |<> |image:./images/icon-no.png[No prebuilt dashboards] | .1+| .1+| |<> diff --git a/x-pack/metricbeat/metricbeat.reference.yml b/x-pack/metricbeat/metricbeat.reference.yml index c843bc364d7..3e751957bd3 100644 --- a/x-pack/metricbeat/metricbeat.reference.yml +++ b/x-pack/metricbeat/metricbeat.reference.yml @@ -498,13 +498,21 @@ metricbeat.modules: - module: googlecloud metricsets: - compute + region: "us-central1" + project_id: "your project id" + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 300s + +- module: googlecloud + metricsets: - pubsub - loadbalancing zone: "us-central1-a" project_id: "your project id" credentials_file_path: "your JSON credentials file path" exclude_labels: false - period: 300s + period: 60s - module: googlecloud metricsets: diff --git a/x-pack/metricbeat/module/googlecloud/_meta/config.yml b/x-pack/metricbeat/module/googlecloud/_meta/config.yml index 5df057bba18..e717a98ee6d 100644 --- a/x-pack/metricbeat/module/googlecloud/_meta/config.yml +++ b/x-pack/metricbeat/module/googlecloud/_meta/config.yml @@ -1,13 +1,21 @@ - module: googlecloud metricsets: - compute + region: "us-central1" + project_id: "your project id" + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 300s + +- module: googlecloud + metricsets: - pubsub - loadbalancing zone: "us-central1-a" project_id: "your project id" credentials_file_path: "your JSON credentials file path" exclude_labels: false - period: 300s + period: 60s - module: googlecloud metricsets: diff --git a/x-pack/metricbeat/module/googlecloud/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/_meta/docs.asciidoc index ff4b03cb023..a02a1b80979 100644 --- a/x-pack/metricbeat/module/googlecloud/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/googlecloud/_meta/docs.asciidoc @@ -7,17 +7,23 @@ Note: extra GCP charges on Stackdriver Monitoring API requests will be generated This is a list of the possible module parameters you can tune: * *zone*: A single string with the zone you want to monitor like "us-central1-a". If you need to fetch from multiple regions, you have to setup a different configuration for each (but you don't need a new instance of Metricbeat running) + * *region*: A single string with the region you want to monitor like "us-central1". This will enable monitoring for all zones under this region. + * *project_id*: A single string with your GCP Project ID + * *credentials_file_path*: A single string pointing to the JSON file path reachable by Metricbeat that you have created using IAM. + * *exclude_labels*: (`true`/`false` default `false`) Do not extract extra labels and metadata information from Metricsets and fetch metrics onlly. At the moment, *labels and metadata extraction is only supported* in Compute Metricset. +* *period*: A single time duration specified for this module collection frequency. + [float] == Authentication, authorization and permissions. Authentication and authorization in Google Cloud Platform can be achieved in many ways. For the current version of the Google Cloud Platform module for Metricbeat, the only supported method is using Service Account JSON files. A typical JSON with a private key looks like this: [float] -==== Example Credentials +=== Example Credentials [source,json] ---- { @@ -52,7 +58,9 @@ Google Cloud Platform offers the https://cloud.google.com/monitoring/api/metrics If you also want to *extract service labels* (by setting `exclude_labels` to false, which is the default state). You also make a new API check on the corresponding service. Service labels requires a new API call to extract those metrics. In the worst case the number of API calls will be doubled. In the best case, all metrics come from the same GCP entity and 100% of the required information is included in the first API call (which is cached for subsequent calls). -A recommended `period` value between fetches is between 5 and 10 minutes, depending on how granular you want your metrics. GCP restricts information for less than 5 minutes. +If `period` value is set to 5-minute and sample period of the metric type is 60-second, then this module will collect data from this metric type once every 5 minutes with aggregation. +GCP monitoring data has a up to 240 seconds latency, which means latest monitoring data will be up to 4 minutes old. Please see https://cloud.google.com/monitoring/api/v3/latency-n-retention[Latency of GCP Monitoring Metric Data] for more details. +In googlecloud module, metrics are collected based on this ingest delay, which is also obtained from ListMetricDescriptors API. [float] === Rough estimation of the number of API Calls diff --git a/x-pack/metricbeat/module/googlecloud/_meta/fields.yml b/x-pack/metricbeat/module/googlecloud/_meta/fields.yml index 8bbae3bf4fe..41c1c09fad9 100644 --- a/x-pack/metricbeat/module/googlecloud/_meta/fields.yml +++ b/x-pack/metricbeat/module/googlecloud/_meta/fields.yml @@ -4,14 +4,23 @@ description: > GCP module fields: - - name: googlecloud.labels - type: object + - name: googlecloud + type: group fields: - - name: user.* + - name: labels type: object - - name: metadata.* - type: object - - name: metrics.* - type: object - - name: system.* + fields: + - name: user.* + type: object + - name: metadata.* + type: object + - name: metrics.* + type: object + - name: system.* + type: object + - name: "stackdriver.*.*.*.*" type: object + object_type: double + object_type_mapping_type: "*" + description: > + Metrics that returned from StackDriver API query. diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json index cd37490aa90..f1f9f8f386b 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json @@ -5,8 +5,8 @@ "id": "elastic-observability" }, "instance": { - "id": "9077240380975650630", - "name": "gke-observability-8--observability-8--bc1afd95-cwh3" + "id": "6889336735612324102", + "name": "gke-dev-oblt-dev-oblt-pool-83a8831b-kd53" }, "machine": { "type": "n1-standard-4" @@ -23,16 +23,24 @@ "compute": { "instance": { "disk": { - "read_bytes_count": 0, - "read_ops_count": 0, - "write_bytes_count": 0, - "write_ops_count": 0 + "read_bytes_count": { + "value": 0 + }, + "read_ops_count": { + "value": 0 + }, + "write_bytes_count": { + "value": 0 + }, + "write_ops_count": { + "value": 0 + } } } }, "labels": { "metrics": { - "device_name": "gke-observability-8-0--pvc-ad47fe58-7bcf-11e9-a839-42010a8401a4", + "device_name": "disk-4", "device_type": "permanent", "storage_type": "pd-standard" }, diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_01.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_01.json deleted file mode 100644 index 26c21d62295..00000000000 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_01.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "@timestamp": "2020-01-08T16:04:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "cloud": { - "machine": { - "type": "f1-micro" - }, - "availability_zone": "us-central1-a", - "account": { - "id": "elastic-metricbeat" - }, - "provider": "googlecloud", - "instance": { - "id": "4503798379141677974", - "name": "instance-1" - } - }, - "ecs": { - "version": "1.2.0" - }, - "host": { - "name": "mcastro", - "hostname": "mcastro", - "architecture": "x86_64", - "os": { - "kernel": "5.4.3-arch1-1", - "platform": "antergos", - "version": "", - "family": "", - "name": "Antergos Linux" - }, - "id": "54f70115bae545cbac2b150f254472a0", - "containerized": false - }, - "agent": { - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat", - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901" - }, - "event": { - "duration": 1397728251, - "dataset": "googlecloud.compute", - "module": "googlecloud" - }, - "metricset": { - "name": "compute", - "period": 300000 - }, - "googlecloud": { - "labels": { - "metrics": { - "loadbalanced": "false" - } - }, - "compute": { - "instance": { - "network": { - "received_bytes_count": 3846, - "sent_bytes_count": 1750, - "received_packets_count": 17 - } - } - } - }, - "service": { - "type": "googlecloud" - } -} diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_02.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_02.json deleted file mode 100644 index cc71eda5683..00000000000 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network_02.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "@timestamp": "2020-01-08T16:05:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "event": { - "dataset": "googlecloud.compute", - "module": "googlecloud", - "duration": 1398297740 - }, - "metricset": { - "name": "compute", - "period": 300000 - }, - "googlecloud": { - "labels": { - "metrics": { - "loadbalanced": "false" - } - }, - "compute": { - "instance": { - "network": { - "sent_bytes_count": 3977 - } - } - } - }, - "service": { - "type": "googlecloud" - }, - "ecs": { - "version": "1.2.0" - }, - "host": { - "containerized": false, - "name": "mcastro", - "hostname": "mcastro", - "architecture": "x86_64", - "os": { - "family": "", - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1", - "platform": "antergos", - "version": "" - }, - "id": "54f70115bae545cbac2b150f254472a0" - }, - "agent": { - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat", - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901", - "hostname": "mcastro" - }, - "cloud": { - "account": { - "id": "elastic-metricbeat" - }, - "provider": "googlecloud", - "instance": { - "id": "4503798379141677974", - "name": "instance-1" - }, - "machine": { - "type": "f1-micro" - }, - "availability_zone": "us-central1-a" - } -} diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/fields.yml b/x-pack/metricbeat/module/googlecloud/compute/_meta/fields.yml index 01be5ebf386..5cbdfb3ea56 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/fields.yml +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/fields.yml @@ -9,54 +9,54 @@ - name: firewall type: group fields: - - name: dropped_bytes_count + - name: dropped_bytes_count.value type: long description: Incoming bytes dropped by the firewall - - name: dropped_packets_count + - name: dropped_packets_count.value type: long description: Incoming packets dropped by the firewall - name: cpu type: group fields: - - name: reserved_cores + - name: reserved_cores.value type: double description: Number of cores reserved on the host of the instance - - name: utilization + - name: utilization.value type: double description: The fraction of the allocated CPU that is currently in use on the instance - - name: usage_time + - name: usage_time.value type: double description: Usage for all cores in seconds - name: disk type: group fields: - - name: read_bytes_count + - name: read_bytes_count.value type: long description: Count of bytes read from disk - - name: read_ops_count + - name: read_ops_count.value type: long description: Count of disk read IO operations - - name: write_bytes_count + - name: write_bytes_count.value type: long description: Count of bytes written to disk - - name: write_ops_count + - name: write_ops_count.value type: long description: Count of disk write IO operations - - name: uptime + - name: uptime.value type: long description: How long the VM has been running, in seconds - name: network type: group fields: - - name: received_bytes_count + - name: received_bytes_count.value type: long description: Count of bytes received from the network - - name: received_packets_count + - name: received_packets_count.value type: long description: Count of packets received from the network - - name: sent_bytes_count + - name: sent_bytes_count.value type: long description: Count of bytes sent over the network - - name: sent_packets_count + - name: sent_packets_count.value type: long description: Count of packets sent over the network diff --git a/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go b/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go index ae9400fdeb3..a4d47d95dd6 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go @@ -11,11 +11,11 @@ import ( "testing" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { - config := googlecloud.GetConfigForTest(t, "compute") + config := stackdriver.GetConfigForTest(t, "compute") metricSet := mbtest.NewFetcher(t, config) metricSet.WriteEvents(t, "/") } diff --git a/x-pack/metricbeat/module/googlecloud/compute/manifest.yml b/x-pack/metricbeat/module/googlecloud/compute/manifest.yml index 03b16dcd440..34210db8c0e 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/compute/manifest.yml @@ -6,16 +6,17 @@ input: stackdriver: service: compute metrics: - - "compute.googleapis.com/firewall/dropped_bytes_count" - - "compute.googleapis.com/firewall/dropped_packets_count" - - "compute.googleapis.com/instance/cpu/reserved_cores" - - "compute.googleapis.com/instance/cpu/usage_time" - - "compute.googleapis.com/instance/cpu/utilization" - - "compute.googleapis.com/instance/disk/read_bytes_count" - - "compute.googleapis.com/instance/disk/read_ops_count" - - "compute.googleapis.com/instance/disk/write_bytes_count" - - "compute.googleapis.com/instance/disk/write_ops_count" - - "compute.googleapis.com/instance/network/received_bytes_count" - - "compute.googleapis.com/instance/network/received_packets_count" - - "compute.googleapis.com/instance/network/sent_bytes_count" - - "compute.googleapis.com/instance/uptime" + - metric_types: + - "compute.googleapis.com/firewall/dropped_bytes_count" + - "compute.googleapis.com/firewall/dropped_packets_count" + - "compute.googleapis.com/instance/cpu/reserved_cores" + - "compute.googleapis.com/instance/cpu/usage_time" + - "compute.googleapis.com/instance/cpu/utilization" + - "compute.googleapis.com/instance/disk/read_bytes_count" + - "compute.googleapis.com/instance/disk/read_ops_count" + - "compute.googleapis.com/instance/disk/write_bytes_count" + - "compute.googleapis.com/instance/disk/write_ops_count" + - "compute.googleapis.com/instance/network/received_bytes_count" + - "compute.googleapis.com/instance/network/received_packets_count" + - "compute.googleapis.com/instance/network/sent_bytes_count" + - "compute.googleapis.com/instance/uptime" diff --git a/x-pack/metricbeat/module/googlecloud/constants.go b/x-pack/metricbeat/module/googlecloud/constants.go index b5ded8bf9bc..19b7e27c53d 100644 --- a/x-pack/metricbeat/module/googlecloud/constants.go +++ b/x-pack/metricbeat/module/googlecloud/constants.go @@ -4,16 +4,14 @@ package googlecloud +import monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3" + const ( // ModuleName in Metricbeat ModuleName = "googlecloud" - // MinTimeIntervalDataWindowMinutes is the minimum time in minutes that we allow the user to specify when requesting past metrics. Less than 5 minutes - // usually return no results. - MinTimeIntervalDataWindowMinutes = 5 - - // MaxTimeIntervalDataWindowMinutes is the max time in minutes that we allow the user to specify when requesting past metrics. - MaxTimeIntervalDataWindowMinutes = 60 + // MonitoringMetricsSamplingRate (in second) refers to how frequent monitoring collects measurement in GCP. + MonitoringMetricsSamplingRate = 60 ) // Metricsets / GCP services names @@ -73,3 +71,53 @@ const ( LabelUser = "user" LabelMetadata = "metadata" ) + +// Available perSeriesAligner map +// https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.alertPolicies#Aligner +var AlignersMapToGCP = map[string]monitoringpb.Aggregation_Aligner{ + "ALIGN_NONE": monitoringpb.Aggregation_ALIGN_NONE, + "ALIGN_DELTA": monitoringpb.Aggregation_ALIGN_DELTA, + "ALIGN_RATE": monitoringpb.Aggregation_ALIGN_RATE, + "ALIGN_INTERPOLATE": monitoringpb.Aggregation_ALIGN_INTERPOLATE, + "ALIGN_NEXT_OLDER": monitoringpb.Aggregation_ALIGN_NEXT_OLDER, + "ALIGN_MIN": monitoringpb.Aggregation_ALIGN_MIN, + "ALIGN_MAX": monitoringpb.Aggregation_ALIGN_MAX, + "ALIGN_MEAN": monitoringpb.Aggregation_ALIGN_MEAN, + "ALIGN_COUNT": monitoringpb.Aggregation_ALIGN_COUNT, + "ALIGN_SUM": monitoringpb.Aggregation_ALIGN_SUM, + "ALIGN_STDDEV": monitoringpb.Aggregation_ALIGN_STDDEV, + "ALIGN_COUNT_TRUE": monitoringpb.Aggregation_ALIGN_COUNT_TRUE, + "ALIGN_COUNT_FALSE": monitoringpb.Aggregation_ALIGN_COUNT_FALSE, + "ALIGN_FRACTION_TRUE": monitoringpb.Aggregation_ALIGN_FRACTION_TRUE, + "ALIGN_PERCENTILE_99": monitoringpb.Aggregation_ALIGN_PERCENTILE_99, + "ALIGN_PERCENTILE_95": monitoringpb.Aggregation_ALIGN_PERCENTILE_95, + "ALIGN_PERCENTILE_50": monitoringpb.Aggregation_ALIGN_PERCENTILE_50, + "ALIGN_PERCENTILE_05": monitoringpb.Aggregation_ALIGN_PERCENTILE_05, + "ALIGN_PERCENT_CHANGE": monitoringpb.Aggregation_ALIGN_PERCENT_CHANGE, +} + +const ( + DefaultAligner = "ALIGN_NONE" +) + +var AlignersMapToSuffix = map[string]string{ + "ALIGN_NONE": ".value", + "ALIGN_DELTA": ".delta", + "ALIGN_RATE": ".rate", + "ALIGN_INTERPOLATE": ".interpolate", + "ALIGN_NEXT_OLDER": ".next_older", + "ALIGN_MIN": ".min", + "ALIGN_MAX": ".max", + "ALIGN_MEAN": ".avg", + "ALIGN_COUNT": ".count", + "ALIGN_SUM": ".sum", + "ALIGN_STDDEV": ".stddev", + "ALIGN_COUNT_TRUE": ".count_true", + "ALIGN_COUNT_FALSE": ".count_false", + "ALIGN_FRACTION_TRUE": ".fraction_true", + "ALIGN_PERCENTILE_99": ".percentile_99", + "ALIGN_PERCENTILE_95": ".percentile_95", + "ALIGN_PERCENTILE_50": ".percentile_50", + "ALIGN_PERCENTILE_05": ".percentile_05", + "ALIGN_PERCENT_CHANGE": ".percent_change", +} diff --git a/x-pack/metricbeat/module/googlecloud/fields.go b/x-pack/metricbeat/module/googlecloud/fields.go index 8fac4947787..6d629ce05c2 100644 --- a/x-pack/metricbeat/module/googlecloud/fields.go +++ b/x-pack/metricbeat/module/googlecloud/fields.go @@ -19,5 +19,5 @@ func init() { // AssetGooglecloud returns asset data. // This is the base64 encoded gzipped contents of module/googlecloud. func AssetGooglecloud() string { - return "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" + return "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" } diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json index 2106cb1e277..f9335292924 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json @@ -14,120 +14,30 @@ "googlecloud": { "labels": { "metrics": { - "cache_result": "DISABLED", - "proxy_continent": "Europe", - "response_code": "502", - "response_code_class": "500" + "client_network": "ocp-be-c5kjr-network", + "client_subnetwork": "ocp-be-c5kjr-worker-subnet", + "client_zone": "us-central1-a" }, "resource": { - "backend_name": "INVALID_BACKEND", - "backend_scope": "INVALID_BACKEND", - "backend_scope_type": "INVALID_BACKEND", - "backend_target_name": "test1-backend-ks", + "backend_name": "ocp-be-c5kjr-master-us-central1-a", + "backend_scope": "us-central1-a", + "backend_scope_type": "ZONE", + "backend_subnetwork_name": "ocp-be-c5kjr-master-subnet", + "backend_target_name": "ocp-be-c5kjr-api-internal", "backend_target_type": "BACKEND_SERVICE", - "backend_type": "INVALID_BACKEND", - "forwarding_rule_name": "test-lb-ks-forwarding-rule", - "matched_url_path_rule": "UNMATCHED", - "region": "global", - "target_proxy_name": "test-lb-ks-target-proxy", - "url_map_name": "test-lb-ks" + "backend_type": "INSTANCE_GROUP", + "forwarding_rule_name": "ocp-be-c5kjr-api-internal", + "load_balancer_name": "ocp-be-c5kjr-api-internal", + "network_name": "ocp-be-c5kjr-network", + "region": "us-central1" } }, "loadbalancing": { - "https": { - "backend_latencies": { - "count": 4, - "mean": 97.927, - "bucket_options": { - "Options": { - "ExponentialBuckets": { - "num_finite_buckets": 66, - "growth_factor": 1.4, - "scale": 1 - } - } - }, - "bucket_counts": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4 - ] - }, - "backend_request_bytes_count": 736, - "backend_request_count": 4, - "backend_response_bytes_count": 1952, - "frontend_tcp_rtt": { - "count": 4, - "mean": 50, - "bucket_options": { - "Options": { - "ExponentialBuckets": { - "num_finite_buckets": 66, - "growth_factor": 1.4, - "scale": 1 - } - } - }, - "bucket_counts": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4 - ] - }, - "request_bytes_count": 736, - "request_count": 4, - "response_bytes_count": 1952, - "total_latencies": { - "count": 4, - "mean": 98.423, - "bucket_options": { - "Options": { - "ExponentialBuckets": { - "num_finite_buckets": 66, - "growth_factor": 1.4, - "scale": 1 - } - } - }, - "bucket_counts": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4 - ] + "l3": { + "internal": { + "egress_packets_count": { + "value": 0 + } } } } diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/fields.yml b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/fields.yml index 57761c8ea1b..93855f7ee9c 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/fields.yml +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/fields.yml @@ -11,11 +11,11 @@ description: A distribution of the latency calculated from when the request was sent by the proxy to the backend until the proxy received from the backend the last byte of response. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -26,30 +26,30 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - - name: backend_request_bytes_count + - name: backend_request_bytes_count.value type: long description: The number of bytes sent as requests from HTTP/S load balancer to backends. - - name: backend_request_count + - name: backend_request_count.value type: long description: The number of requests served by backends of HTTP/S load balancer. - - name: backend_response_bytes_count + - name: backend_response_bytes_count.value type: long description: The number of bytes sent as responses from backends (or cache) to HTTP/S load balancer. - name: frontend_tcp_rtt description: A distribution of the RTT measured for each connection between client and proxy. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -60,11 +60,11 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - name: internal type: group @@ -73,11 +73,11 @@ description: A distribution of the latency calculated from when the request was sent by the proxy to the backend until the proxy received from the backend the last byte of response. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -88,30 +88,30 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - - name: request_bytes_count + - name: request_bytes_count.value type: long description: The number of bytes sent as requests from clients to HTTP/S load balancer. - - name: request_count + - name: request_count.value type: long description: The number of requests served by HTTP/S load balancer. - - name: response_bytes_count + - name: response_bytes_count.value type: long description: The number of bytes sent as responses from HTTP/S load balancer to clients. - name: total_latencies description: A distribution of the latency calculated from when the request was received by the proxy until the proxy got ACK from client on last response byte. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -122,30 +122,30 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - - name: request_bytes_count + - name: request_bytes_count.value type: long description: The number of bytes sent as requests from clients to HTTP/S load balancer. - - name: request_count + - name: request_count.value type: long description: The number of requests served by HTTP/S load balancer. - - name: response_bytes_count + - name: response_bytes_count.value type: long description: The number of bytes sent as responses from HTTP/S load balancer to clients. - name: total_latencies description: A distribution of the latency calculated from when the request was received by the proxy until the proxy got ACK from client on last response byte. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -156,37 +156,37 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - name: l3.internal type: group description: Google Cloud Load Balancing metrics fields: - - name: egress_bytes_count + - name: egress_bytes_count.value type: long description: The number of bytes sent from ILB backend to client (for TCP flows it's counting bytes on application stream only). - - name: egress_packets_count + - name: egress_packets_count.value type: long description: The number of packets sent from ILB backend to client of the flow. - - name: ingress_bytes_count + - name: ingress_bytes_count.value type: long description: The number of bytes sent from client to ILB backend (for TCP flows it's counting bytes on application stream only). - - name: ingress_packets_count + - name: ingress_packets_count.value type: long description: The number of packets sent from client to ILB backend. - name: rtt_latencies description: A distribution of RTT measured over TCP connections for ILB flows. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -197,31 +197,31 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - name: tcp_ssl_proxy type: group description: Google Cloud Load Balancing metrics fields: - - name: closed_connections + - name: closed_connections.value type: long description: Number of connections that were terminated over TCP/SSL proxy. - - name: egress_bytes_count + - name: egress_bytes_count.value type: long description: Number of bytes sent from VM to client using proxy. - name: frontend_tcp_rtt description: A distribution of the smoothed RTT (in ms) measured by the proxy's TCP stack, each minute application layer bytes pass from proxy to client. type: group fields: - - name: count + - name: count.value type: long - - name: mean + - name: mean.value type: long - - name: bucket_counts + - name: bucket_counts.value type: long - name: bucket_options type: group @@ -232,18 +232,18 @@ - name: ExponentialBuckets type: group fields: - - name: growth_factor + - name: growth_factor.value type: double - - name: scale + - name: scale.value type: long - - name: num_finite_buckets + - name: num_finite_buckets.value type: long - - name: ingress_bytes_count + - name: ingress_bytes_count.value type: long description: Number of bytes sent from client to VM using proxy. - - name: new_connections + - name: new_connections.value type: long description: Number of connections that were created over TCP/SSL proxy. - - name: open_connections + - name: open_connections.value type: long description: Current number of outstanding connections through the TCP/SSL proxy. diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml b/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml index 479f92c94d4..173b8fbd265 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml @@ -6,28 +6,29 @@ input: stackdriver: service: loadbalancing metrics: - - "loadbalancing.googleapis.com/https/backend_latencies" - - "loadbalancing.googleapis.com/https/backend_latencies" - - "loadbalancing.googleapis.com/https/backend_request_bytes_count" - - "loadbalancing.googleapis.com/https/backend_request_count" - - "loadbalancing.googleapis.com/https/backend_response_bytes_count" - - "loadbalancing.googleapis.com/https/frontend_tcp_rtt" - - "loadbalancing.googleapis.com/https/request_bytes_count" - - "loadbalancing.googleapis.com/https/request_bytes_count" - - "loadbalancing.googleapis.com/https/request_count" - - "loadbalancing.googleapis.com/https/request_count" - - "loadbalancing.googleapis.com/https/response_bytes_count" - - "loadbalancing.googleapis.com/https/response_bytes_count" - - "loadbalancing.googleapis.com/https/total_latencies" - - "loadbalancing.googleapis.com/https/total_latencies" - - "loadbalancing.googleapis.com/l3/internal/egress_bytes_count" - - "loadbalancing.googleapis.com/l3/internal/egress_packets_count" - - "loadbalancing.googleapis.com/l3/internal/ingress_bytes_count" - - "loadbalancing.googleapis.com/l3/internal/ingress_packets_count" - - "loadbalancing.googleapis.com/l3/internal/rtt_latencies" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/closed_connections" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/egress_bytes_count" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/frontend_tcp_rtt" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/ingress_bytes_count" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/new_connections" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/open_connections" + - metric_types: + - "loadbalancing.googleapis.com/https/backend_latencies" + - "loadbalancing.googleapis.com/https/backend_latencies" + - "loadbalancing.googleapis.com/https/backend_request_bytes_count" + - "loadbalancing.googleapis.com/https/backend_request_count" + - "loadbalancing.googleapis.com/https/backend_response_bytes_count" + - "loadbalancing.googleapis.com/https/frontend_tcp_rtt" + - "loadbalancing.googleapis.com/https/request_bytes_count" + - "loadbalancing.googleapis.com/https/request_bytes_count" + - "loadbalancing.googleapis.com/https/request_count" + - "loadbalancing.googleapis.com/https/request_count" + - "loadbalancing.googleapis.com/https/response_bytes_count" + - "loadbalancing.googleapis.com/https/response_bytes_count" + - "loadbalancing.googleapis.com/https/total_latencies" + - "loadbalancing.googleapis.com/https/total_latencies" + - "loadbalancing.googleapis.com/l3/internal/egress_bytes_count" + - "loadbalancing.googleapis.com/l3/internal/egress_packets_count" + - "loadbalancing.googleapis.com/l3/internal/ingress_bytes_count" + - "loadbalancing.googleapis.com/l3/internal/ingress_packets_count" + - "loadbalancing.googleapis.com/l3/internal/rtt_latencies" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/closed_connections" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/egress_bytes_count" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/frontend_tcp_rtt" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/ingress_bytes_count" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/new_connections" + - "loadbalancing.googleapis.com/tcp_ssl_proxy/open_connections" diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json index 86da8d924e5..fd0dd71838a 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json @@ -18,30 +18,10 @@ } }, "pubsub": { - "snapshot": { - "backlog_bytes": 19, - "backlog_bytes_by_region": 19, - "num_messages": 4, - "num_messages_by_region": 4, - "oldest_message_age": 69319, - "oldest_message_age_by_region": 69319 - }, "subscription": { - "backlog_bytes": 0, - "num_undelivered_messages": 0, - "oldest_retained_acked_message_age": 0, - "oldest_retained_acked_message_age_by_region": 0, - "oldest_unacked_message_age": 0, - "oldest_unacked_message_age_by_region": 69277, - "retained_acked_bytes": 0, - "retained_acked_bytes_by_region": 0, - "unacked_bytes_by_region": 19 - }, - "topic": { - "oldest_retained_acked_message_age_by_region": 0, - "oldest_unacked_message_age_by_region": 69319, - "retained_acked_bytes_by_region": 0, - "unacked_bytes_by_region": 76 + "oldest_unacked_message_age": { + "value": 0 + } } } }, diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/fields.yml b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/fields.yml index 32e4acbb521..ae6443e219f 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/fields.yml +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/fields.yml @@ -7,152 +7,155 @@ type: group description: Suscription related metrics fields: - - name: ack_message_count + - name: ack_message_count.value type: long description: Cumulative count of messages acknowledged by Acknowledge requests, grouped by delivery type. - - name: backlog_bytes + - name: backlog_bytes.value type: long description: Total byte size of the unacknowledged messages (a.k.a. backlog messages) in a subscription. - - name: num_outstanding_messages + - name: num_outstanding_messages.value type: long description: Number of messages delivered to a subscription's push endpoint, but not yet acknowledged. - - name: num_undelivered_messages + - name: num_undelivered_messages.value type: long description: Number of unacknowledged messages (a.k.a. backlog messages) in a subscription. - - name: oldest_unacked_message_age + - name: oldest_unacked_message_age.value type: long description: Age (in seconds) of the oldest unacknowledged message (a.k.a. backlog message) in a subscription. - - name: pull_ack_message_operation_count + - name: pull_ack_message_operation_count.value type: long description: Cumulative count of acknowledge message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. - - name: pull_ack_request_count + - name: pull_ack_request_count.value type: long description: Cumulative count of acknowledge requests, grouped by result. - - name: pull_message_operation_count + - name: pull_message_operation_count.value type: long description: Cumulative count of pull message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. - - name: pull_request_count + - name: pull_request_count.value type: long description: Cumulative count of pull requests, grouped by result. - - name: push_request_count + - name: push_request_count.value type: long description: Cumulative count of push attempts, grouped by result. Unlike pulls, the push server implementation does not batch user messages. So each request only contains one user message. The push server retries on errors, so a given user message can appear multiple times. - - name: push_request_latencies + - name: push_request_latencies.value type: long description: Distribution of push request latencies (in microseconds), grouped by result. - - name: sent_message_count + - name: sent_message_count.value type: long description: Cumulative count of messages sent by Cloud Pub/Sub to subscriber clients, grouped by delivery type. - - name: streaming_pull_ack_message_operation_count + - name: streaming_pull_ack_message_operation_count.value type: long description: Cumulative count of StreamingPull acknowledge message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. - - name: streaming_pull_ack_request_count + - name: streaming_pull_ack_request_count.value type: long description: Cumulative count of streaming pull requests with non-empty acknowledge ids, grouped by result. - - name: streaming_pull_message_operation_count + - name: streaming_pull_message_operation_count.value type: long description: Cumulative count of streaming pull message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count - - name: streaming_pull_response_count + - name: streaming_pull_response_count.value type: long description: Cumulative count of streaming pull responses, grouped by result. - - name: dead_letter_message_count + - name: dead_letter_message_count.value type: long description: Cumulative count of messages published to dead letter topic, grouped by result. - - name: mod_ack_deadline_message_count + - name: mod_ack_deadline_message_count.value type: long description: Cumulative count of messages whose deadline was updated by ModifyAckDeadline requests, grouped by delivery type. - - name: mod_ack_deadline_message_operation_count + - name: mod_ack_deadline_message_operation_count.value type: long description: Cumulative count of ModifyAckDeadline message operations, grouped by result. - - name: mod_ack_deadline_request_count + - name: mod_ack_deadline_request_count.value type: long description: Cumulative count of ModifyAckDeadline requests, grouped by result. - - name: oldest_retained_acked_message_age + - name: oldest_retained_acked_message_age.value type: long description: Age (in seconds) of the oldest acknowledged message retained in a subscription. - - name: oldest_retained_acked_message_age_by_region + - name: oldest_retained_acked_message_age_by_region.value type: long description: Age (in seconds) of the oldest acknowledged message retained in a subscription, broken down by Cloud region. - - name: oldest_unacked_message_age_by_region + - name: oldest_unacked_message_age_by_region.value type: long description: Age (in seconds) of the oldest unacknowledged message in a subscription, broken down by Cloud region. - - name: retained_acked_bytes + - name: retained_acked_bytes.value type: long description: Total byte size of the acknowledged messages retained in a subscription. - - name: retained_acked_bytes_by_region + - name: retained_acked_bytes_by_region.value type: long description: Total byte size of the acknowledged messages retained in a subscription, broken down by Cloud region. - - name: seek_request_count + - name: seek_request_count.value type: long description: Cumulative count of seek attempts, grouped by result. - - name: streaming_pull_mod_ack_deadline_message_operation_count + - name: streaming_pull_mod_ack_deadline_message_operation_count.value type: long description: Cumulative count of StreamingPull ModifyAckDeadline operations, grouped by result. - - name: streaming_pull_mod_ack_deadline_request_count + - name: streaming_pull_mod_ack_deadline_request_count.value type: long description: Cumulative count of streaming pull requests with non-empty ModifyAckDeadline fields, grouped by result. - - name: byte_cost + - name: byte_cost.value type: long description: Cumulative cost of operations, measured in bytes. This is used to measure quota utilization. - - name: config_updates_count + - name: config_updates_count.value type: long description: Cumulative count of configuration changes for each subscription, grouped by operation type and result. - - name: unacked_bytes_by_region + - name: unacked_bytes_by_region.value type: long description: Total byte size of the unacknowledged messages in a subscription, broken down by Cloud region. - name: topic type: group description: Topic related metrics fields: - - name: streaming_pull_response_count + - name: streaming_pull_response_count.value type: long description: Cumulative count of streaming pull responses, grouped by result. - - name: send_message_operation_count + - name: send_message_operation_count.value type: long description: Cumulative count of publish message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. - - name: send_request_count + - name: send_request_count.value type: long description: Cumulative count of publish requests, grouped by result. - - name: oldest_retained_acked_message_age_by_region + - name: oldest_retained_acked_message_age_by_region.value type: long description: Age (in seconds) of the oldest acknowledged message retained in a topic, broken down by Cloud region. - - name: oldest_unacked_message_age_by_region + - name: oldest_unacked_message_age_by_region.value type: long description: Age (in seconds) of the oldest unacknowledged message in a topic, broken down by Cloud region. - - name: retained_acked_bytes_by_region + - name: retained_acked_bytes_by_region.value type: long description: Total byte size of the acknowledged messages retained in a topic, broken down by Cloud region. - - name: byte_cost + - name: byte_cost.value type: long description: Cost of operations, measured in bytes. This is used to measure utilization for quotas. - - name: config_updates_count + - name: config_updates_count.value type: long description: Cumulative count of configuration changes, grouped by operation type and result. - - name: unacked_bytes_by_region + - name: message_sizes.value + type: long + description: Distribution of publish message sizes (in bytes) + - name: unacked_bytes_by_region.value type: long description: Total byte size of the unacknowledged messages in a topic, broken down by Cloud region. - name: snapshot type: group description: Snapshot related metrics fields: - - name: oldest_message_age + - name: oldest_message_age.value type: long description: Age (in seconds) of the oldest message retained in a snapshot. - - name: oldest_message_age_by_region + - name: oldest_message_age_by_region.value type: long description: Age (in seconds) of the oldest message retained in a snapshot, broken down by Cloud region. - - name: backlog_bytes + - name: backlog_bytes.value type: long description: Total byte size of the messages retained in a snapshot. - - name: backlog_bytes_by_region + - name: backlog_bytes_by_region.value type: long description: Total byte size of the messages retained in a snapshot, broken down by Cloud region. - - name: num_messages + - name: num_messages.value type: long description: Number of messages retained in a snapshot. - - name: num_messages_by_region + - name: num_messages_by_region.value type: long description: Number of messages retained in a snapshot, broken down by Cloud region. - - name: config_updates_count + - name: config_updates_count.value type: long description: Cumulative count of configuration changes, grouped by operation type and result. diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml b/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml index 3d8cdb0949c..285136f3cf8 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml @@ -6,50 +6,51 @@ input: stackdriver: service: pubsub metrics: - - "pubsub.googleapis.com/snapshot/backlog_bytes" - - "pubsub.googleapis.com/snapshot/backlog_bytes_by_region" - - "pubsub.googleapis.com/snapshot/config_updates_count" - - "pubsub.googleapis.com/snapshot/num_messages" - - "pubsub.googleapis.com/snapshot/num_messages_by_region" - - "pubsub.googleapis.com/snapshot/oldest_message_age" - - "pubsub.googleapis.com/snapshot/oldest_message_age_by_region" - - "pubsub.googleapis.com/subscription/ack_message_count" - - "pubsub.googleapis.com/subscription/backlog_bytes" - - "pubsub.googleapis.com/subscription/byte_cost" - - "pubsub.googleapis.com/subscription/config_updates_count" - - "pubsub.googleapis.com/subscription/dead_letter_message_count" - - "pubsub.googleapis.com/subscription/mod_ack_deadline_message_count" - - "pubsub.googleapis.com/subscription/mod_ack_deadline_message_operation_count" - - "pubsub.googleapis.com/subscription/mod_ack_deadline_request_count" - - "pubsub.googleapis.com/subscription/num_outstanding_messages" - - "pubsub.googleapis.com/subscription/num_undelivered_messages" - - "pubsub.googleapis.com/subscription/oldest_retained_acked_message_age" - - "pubsub.googleapis.com/subscription/oldest_retained_acked_message_age_by_region" - - "pubsub.googleapis.com/subscription/oldest_unacked_message_age" - - "pubsub.googleapis.com/subscription/oldest_unacked_message_age_by_region" - - "pubsub.googleapis.com/subscription/pull_ack_message_operation_count" - - "pubsub.googleapis.com/subscription/pull_ack_request_count" - - "pubsub.googleapis.com/subscription/pull_message_operation_count" - - "pubsub.googleapis.com/subscription/pull_request_count" - - "pubsub.googleapis.com/subscription/push_request_count" - - "pubsub.googleapis.com/subscription/push_request_latencies" - - "pubsub.googleapis.com/subscription/retained_acked_bytes" - - "pubsub.googleapis.com/subscription/retained_acked_bytes_by_region" - - "pubsub.googleapis.com/subscription/seek_request_count" - - "pubsub.googleapis.com/subscription/sent_message_count" - - "pubsub.googleapis.com/subscription/streaming_pull_ack_message_operation_count" - - "pubsub.googleapis.com/subscription/streaming_pull_ack_request_count" - - "pubsub.googleapis.com/subscription/streaming_pull_message_operation_count" - - "pubsub.googleapis.com/subscription/streaming_pull_mod_ack_deadline_message_operation_count" - - "pubsub.googleapis.com/subscription/streaming_pull_mod_ack_deadline_request_count" - - "pubsub.googleapis.com/subscription/streaming_pull_response_count" - - "pubsub.googleapis.com/subscription/unacked_bytes_by_region" - - "pubsub.googleapis.com/topic/byte_cost" - - "pubsub.googleapis.com/topic/config_updates_count" - - "pubsub.googleapis.com/topic/message_sizes" - - "pubsub.googleapis.com/topic/oldest_retained_acked_message_age_by_region" - - "pubsub.googleapis.com/topic/oldest_unacked_message_age_by_region" - - "pubsub.googleapis.com/topic/retained_acked_bytes_by_region" - - "pubsub.googleapis.com/topic/send_message_operation_count" - - "pubsub.googleapis.com/topic/send_request_count" - - "pubsub.googleapis.com/topic/unacked_bytes_by_region" + - metric_types: + - "pubsub.googleapis.com/snapshot/backlog_bytes" + - "pubsub.googleapis.com/snapshot/backlog_bytes_by_region" + - "pubsub.googleapis.com/snapshot/config_updates_count" + - "pubsub.googleapis.com/snapshot/num_messages" + - "pubsub.googleapis.com/snapshot/num_messages_by_region" + - "pubsub.googleapis.com/snapshot/oldest_message_age" + - "pubsub.googleapis.com/snapshot/oldest_message_age_by_region" + - "pubsub.googleapis.com/subscription/ack_message_count" + - "pubsub.googleapis.com/subscription/backlog_bytes" + - "pubsub.googleapis.com/subscription/byte_cost" + - "pubsub.googleapis.com/subscription/config_updates_count" + - "pubsub.googleapis.com/subscription/dead_letter_message_count" + - "pubsub.googleapis.com/subscription/mod_ack_deadline_message_count" + - "pubsub.googleapis.com/subscription/mod_ack_deadline_message_operation_count" + - "pubsub.googleapis.com/subscription/mod_ack_deadline_request_count" + - "pubsub.googleapis.com/subscription/num_outstanding_messages" + - "pubsub.googleapis.com/subscription/num_undelivered_messages" + - "pubsub.googleapis.com/subscription/oldest_retained_acked_message_age" + - "pubsub.googleapis.com/subscription/oldest_retained_acked_message_age_by_region" + - "pubsub.googleapis.com/subscription/oldest_unacked_message_age" + - "pubsub.googleapis.com/subscription/oldest_unacked_message_age_by_region" + - "pubsub.googleapis.com/subscription/pull_ack_message_operation_count" + - "pubsub.googleapis.com/subscription/pull_ack_request_count" + - "pubsub.googleapis.com/subscription/pull_message_operation_count" + - "pubsub.googleapis.com/subscription/pull_request_count" + - "pubsub.googleapis.com/subscription/push_request_count" + - "pubsub.googleapis.com/subscription/push_request_latencies" + - "pubsub.googleapis.com/subscription/retained_acked_bytes" + - "pubsub.googleapis.com/subscription/retained_acked_bytes_by_region" + - "pubsub.googleapis.com/subscription/seek_request_count" + - "pubsub.googleapis.com/subscription/sent_message_count" + - "pubsub.googleapis.com/subscription/streaming_pull_ack_message_operation_count" + - "pubsub.googleapis.com/subscription/streaming_pull_ack_request_count" + - "pubsub.googleapis.com/subscription/streaming_pull_message_operation_count" + - "pubsub.googleapis.com/subscription/streaming_pull_mod_ack_deadline_message_operation_count" + - "pubsub.googleapis.com/subscription/streaming_pull_mod_ack_deadline_request_count" + - "pubsub.googleapis.com/subscription/streaming_pull_response_count" + - "pubsub.googleapis.com/subscription/unacked_bytes_by_region" + - "pubsub.googleapis.com/topic/byte_cost" + - "pubsub.googleapis.com/topic/config_updates_count" + - "pubsub.googleapis.com/topic/message_sizes" + - "pubsub.googleapis.com/topic/oldest_retained_acked_message_age_by_region" + - "pubsub.googleapis.com/topic/oldest_unacked_message_age_by_region" + - "pubsub.googleapis.com/topic/retained_acked_bytes_by_region" + - "pubsub.googleapis.com/topic/send_message_operation_count" + - "pubsub.googleapis.com/topic/send_request_count" + - "pubsub.googleapis.com/topic/unacked_bytes_by_region" diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/stackdriver/_meta/docs.asciidoc new file mode 100644 index 00000000000..00cce58cac8 --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/_meta/docs.asciidoc @@ -0,0 +1,82 @@ +Stackdriver provides visibility into the performance, uptime, and overall health +of cloud-powered applications. It collects metrics, events, and metadata from +different services from Google Cloud. This metricset is to collect monitoring +metrics from Google Cloud using `ListTimeSeries` API. + +[float] +== Metricset config and parameters + +* *metric_types*: Required, a list of metric type strings. Each call of the +`ListTimeSeries` API can return any number of time series from a single metric +type. Metric type is to used for identifying a specific time series. + +* *aligner*: A single string with which aggregation operation need to be applied +onto time series data for ListTimeSeries API. If it's not given, default aligner +is set to be `ALIGN_NONE`. Sample period of each metric type is obtained from +making https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors/list [ListMetricDescriptors API] call. + +[float] +=== Example Configuration +* `stackdriver` metricset is enabled to collect metrics from all zones under +`europe-west1-c` region in `elastic-observability` project. Two sets of metrics +are specified: first one is to collect CPU usage time and utilization with +aggregation aligner ALIGN_MEAN; second one is to collect uptime with aggregation +aligner ALIGN_SUM. These metric types all have 240 seconds ingest delay time and +60 seconds sample period. With `period` specified as `300s` in the config below, +Metricbeat will collect compute metrics from googlecloud every 5-minute with +given aggregation aligner applied for each metric type. ++ +[source,yaml] +---- +- module: googlecloud + metricsets: + - stackdriver + zone: "europe-west1-c" + project_id: elastic-observability + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 300s + stackdriver: + service: compute + metrics: + - aligner: ALIGN_MEAN + metric_types: + - "compute.googleapis.com/instance/cpu/usage_time" + - "compute.googleapis.com/instance/cpu/utilization" + - aligner: ALIGN_SUM + metric_types: + - "compute.googleapis.com/instance/uptime" + +---- + +* `stackdriver` metricset is enabled to collect metrics from all zones under +`europe-west1-c` region in `elastic-observability` project. Two sets of metrics +are specified: first one is to collect CPU usage time and utilization with +aggregation aligner ALIGN_MEAN; second one is to collect uptime with aggregation +aligner ALIGN_SUM. These metric types all have 240 seconds ingest delay time and +60 seconds sample period. With `period` specified as `60s` in the config below, +Metricbeat will collect compute metrics from googlecloud every minute with no +aggregation. This case, the aligners specified in the configuration will be +ignored. ++ +[source,yaml] +---- +- module: googlecloud + metricsets: + - stackdriver + zone: "europe-west1-c" + project_id: elastic-observability + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 60s + stackdriver: + service: compute + metrics: + - aligner: ALIGN_MEAN + metric_types: + - "compute.googleapis.com/instance/cpu/usage_time" + - "compute.googleapis.com/instance/cpu/utilization" + - aligner: ALIGN_SUM + metric_types: + - "compute.googleapis.com/instance/uptime" +---- diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/compute/identity.go b/x-pack/metricbeat/module/googlecloud/stackdriver/compute/identity.go index 9367862e6c7..19e434e8df7 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/compute/identity.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/compute/identity.go @@ -23,7 +23,7 @@ func (s *metadataCollector) ID(ctx context.Context, in *googlecloud.MetadataColl if in.Timestamp != nil { metadata.ECS.Put("timestamp", in.Timestamp) } else if in.Point != nil { - metadata.ECS.Put("timestamp", in.Point.Interval.StartTime) + metadata.ECS.Put("timestamp", in.Point.Interval.EndTime) } else { return "", errors.New("no timestamp information found") } diff --git a/x-pack/metricbeat/module/googlecloud/integration.go b/x-pack/metricbeat/module/googlecloud/stackdriver/integration.go similarity index 86% rename from x-pack/metricbeat/module/googlecloud/integration.go rename to x-pack/metricbeat/module/googlecloud/stackdriver/integration.go index 0e7ac055bc7..68e3750d5a5 100644 --- a/x-pack/metricbeat/module/googlecloud/integration.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/integration.go @@ -2,7 +2,7 @@ // or more contributor license agreements. Licensed under the Elastic License; // you may not use this file except in compliance with the Elastic License. -package googlecloud +package stackdriver import ( "os" @@ -36,7 +36,11 @@ func GetConfigForTest(t *testing.T, metricSetName string) map[string]interface{} if metricSetName == "stackdriver" { config["stackdriver.service"] = "compute" - config["stackdriver.metrics"] = []string{"compute.googleapis.com/instance/uptime"} + stackDriverConfig := stackDriverConfig{ + Aligner: "ALIGN_NONE", + MetricTypes: []string{"compute.googleapis.com/instance/uptime"}, + } + config["stackdriver.metrics"] = stackDriverConfig } } return config diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester.go b/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester.go index 8d2147d285c..edfd52a64e3 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester.go @@ -11,9 +11,10 @@ import ( "sync" "time" + "github.com/golang/protobuf/ptypes/duration" + monitoring "cloud.google.com/go/monitoring/apiv3" "github.com/golang/protobuf/ptypes/timestamp" - "github.com/pkg/errors" "google.golang.org/api/iterator" monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3" @@ -21,42 +22,31 @@ import ( "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" ) -func newStackdriverMetricsRequester(ctx context.Context, c config, window time.Duration, logger *logp.Logger) (*stackdriverMetricsRequester, error) { - interval, err := getTimeInterval(window) - if err != nil { - return nil, errors.Wrap(err, "error trying to get time window") - } - - client, err := monitoring.NewMetricClient(ctx, c.opt...) - if err != nil { - return nil, errors.Wrap(err, "error creating Stackdriver client") - } - - return &stackdriverMetricsRequester{ - config: c, - client: client, - logger: logger, - interval: interval, - }, nil -} - type stackdriverMetricsRequester struct { config config - client *monitoring.MetricClient - interval *monitoringpb.TimeInterval + client *monitoring.MetricClient logger *logp.Logger } -func (r *stackdriverMetricsRequester) Metric(ctx context.Context, m string) (out []*monitoringpb.TimeSeries) { - out = make([]*monitoringpb.TimeSeries, 0) +type timeSeriesWithAligner struct { + timeSeries []*monitoringpb.TimeSeries + aligner string +} + +func (r *stackdriverMetricsRequester) Metric(ctx context.Context, metricType string, timeInterval *monitoringpb.TimeInterval, aligner string) (out timeSeriesWithAligner) { + timeSeries := make([]*monitoringpb.TimeSeries, 0) req := &monitoringpb.ListTimeSeriesRequest{ Name: "projects/" + r.config.ProjectID, - Interval: r.interval, + Interval: timeInterval, View: monitoringpb.ListTimeSeriesRequest_FULL, - Filter: r.getFilterForMetric(m), + Filter: r.getFilterForMetric(metricType), + Aggregation: &monitoringpb.Aggregation{ + PerSeriesAligner: googlecloud.AlignersMapToGCP[aligner], + AlignmentPeriod: &r.config.period, + }, } it := r.client.ListTimeSeries(ctx, req) @@ -67,13 +57,15 @@ func (r *stackdriverMetricsRequester) Metric(ctx context.Context, m string) (out } if err != nil { - r.logger.Errorf("Could not read time series value: %s: %v", m, err) + r.logger.Errorf("Could not read time series value: %s: %v", metricType, err) break } - out = append(out, resp) + timeSeries = append(timeSeries, resp) } + out.aligner = aligner + out.timeSeries = timeSeries return } @@ -89,23 +81,29 @@ func constructFilter(m string, region string, zone string) string { return filter } -func (r *stackdriverMetricsRequester) Metrics(ctx context.Context, ms []string) ([]*monitoringpb.TimeSeries, error) { +func (r *stackdriverMetricsRequester) Metrics(ctx context.Context, stackDriverConfigs []stackDriverConfig, metricsMeta map[string]metricMeta) ([]timeSeriesWithAligner, error) { var lock sync.Mutex var wg sync.WaitGroup - results := make([]*monitoringpb.TimeSeries, 0) + results := make([]timeSeriesWithAligner, 0) - for _, metric := range ms { - wg.Add(1) + for _, sdc := range stackDriverConfigs { + aligner := sdc.Aligner + for _, mt := range sdc.MetricTypes { + metricType := mt + wg.Add(1) - go func(m string) { - defer wg.Done() + go func(metricType string) { + defer wg.Done() - ts := r.Metric(ctx, m) + metricMeta := metricsMeta[metricType] + interval, aligner := getTimeIntervalAligner(metricMeta.ingestDelay, metricMeta.samplePeriod, r.config.period, aligner) + ts := r.Metric(ctx, metricType, interval, aligner) - lock.Lock() - defer lock.Unlock() - results = append(results, ts...) - }(metric) + lock.Lock() + defer lock.Unlock() + results = append(results, ts) + }(metricType) + } } wg.Wait() @@ -144,21 +142,28 @@ func (r *stackdriverMetricsRequester) getFilterForMetric(m string) (f string) { return } -// Returns a GCP TimeInterval based on the provided config -func getTimeInterval(windowTime time.Duration) (*monitoringpb.TimeInterval, error) { - var startTime, endTime time.Time - - if windowTime > 0 { - endTime = time.Now().UTC() - startTime = time.Now().UTC().Add(-windowTime) +// Returns a GCP TimeInterval based on the ingestDelay and samplePeriod from ListMetricDescriptor +func getTimeIntervalAligner(ingestDelay time.Duration, samplePeriod time.Duration, collectionPeriod duration.Duration, inputAligner string) (*monitoringpb.TimeInterval, string) { + var startTime, endTime, currentTime time.Time + var needsAggregation bool + currentTime = time.Now().UTC() + + // When samplePeriod < collectionPeriod, aggregation will be done in ListTimeSeriesRequest. + // For example, samplePeriod = 60s, collectionPeriod = 300s, if perSeriesAligner is not given, + // ALIGN_MEAN will be used by default. + if int64(samplePeriod.Seconds()) < collectionPeriod.Seconds { + endTime = currentTime.Add(-ingestDelay) + startTime = endTime.Add(-time.Duration(collectionPeriod.Seconds) * time.Second) + needsAggregation = true } - if windowTime.Minutes() < googlecloud.MinTimeIntervalDataWindowMinutes { - return nil, errors.Errorf("the provided window time is too small. No less than %d minutes can be fetched", googlecloud.MinTimeIntervalDataWindowMinutes) - } - - if windowTime.Minutes() >= googlecloud.MaxTimeIntervalDataWindowMinutes { - return nil, errors.Errorf("the provided window time is too big. No more than %d minutes can be fetched", googlecloud.MaxTimeIntervalDataWindowMinutes) + // When samplePeriod == collectionPeriod, aggregation is not needed + // When samplePeriod > collectionPeriod, aggregation is not needed, use sample period + // to determine startTime and endTime to make sure there will be data point in this time range. + if int64(samplePeriod.Seconds()) >= collectionPeriod.Seconds { + endTime = time.Now().UTC().Add(-ingestDelay) + startTime = endTime.Add(-samplePeriod) + needsAggregation = false } interval := &monitoringpb.TimeInterval{ @@ -170,5 +175,11 @@ func getTimeInterval(windowTime time.Duration) (*monitoringpb.TimeInterval, erro }, } - return interval, nil + // Default aligner for aggregation is ALIGN_NONE if it's not given + updatedAligner := googlecloud.DefaultAligner + if needsAggregation && inputAligner != "" { + updatedAligner = inputAligner + } + + return interval, updatedAligner } diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester_test.go b/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester_test.go index be7b824d224..1ed10814b76 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester_test.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/metrics_requester_test.go @@ -6,7 +6,9 @@ package stackdriver import ( "testing" + "time" + "github.com/golang/protobuf/ptypes/duration" "github.com/stretchr/testify/assert" "github.com/elastic/beats/v7/libbeat/logp" @@ -103,3 +105,62 @@ func TestGetFilterForMetric(t *testing.T) { }) } } + +func TestGetTimeIntervalAligner(t *testing.T) { + cases := []struct { + title string + ingestDelay time.Duration + samplePeriod time.Duration + collectionPeriod duration.Duration + inputAligner string + expectedAligner string + }{ + { + "test collectionPeriod equals to samplePeriod", + time.Duration(240) * time.Second, + time.Duration(60) * time.Second, + duration.Duration{ + Seconds: int64(60), + }, + "", + "ALIGN_NONE", + }, + { + "test collectionPeriod larger than samplePeriod", + time.Duration(240) * time.Second, + time.Duration(60) * time.Second, + duration.Duration{ + Seconds: int64(300), + }, + "ALIGN_MEAN", + "ALIGN_MEAN", + }, + { + "test collectionPeriod smaller than samplePeriod", + time.Duration(240) * time.Second, + time.Duration(60) * time.Second, + duration.Duration{ + Seconds: int64(30), + }, + "ALIGN_MAX", + "ALIGN_NONE", + }, + { + "test collectionPeriod equals to samplePeriod with given aligner", + time.Duration(240) * time.Second, + time.Duration(60) * time.Second, + duration.Duration{ + Seconds: int64(60), + }, + "ALIGN_MEAN", + "ALIGN_NONE", + }, + } + + for _, c := range cases { + t.Run(c.title, func(t *testing.T) { + _, aligner := getTimeIntervalAligner(c.ingestDelay, c.samplePeriod, c.collectionPeriod, c.inputAligner) + assert.Equal(t, c.expectedAligner, aligner) + }) + } +} diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/metricset.go b/x-pack/metricbeat/module/googlecloud/stackdriver/metricset.go index 69ac38ca101..81fa98751aa 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/metricset.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/metricset.go @@ -6,8 +6,13 @@ package stackdriver import ( "context" + "fmt" "time" + "github.com/golang/protobuf/ptypes/duration" + + monitoring "cloud.google.com/go/monitoring/apiv3" + "github.com/pkg/errors" "google.golang.org/api/option" @@ -38,19 +43,33 @@ func init() { // interface methods except for Fetch. type MetricSet struct { mb.BaseMetricSet - config config + config config + metricsMeta map[string]metricMeta + requester *stackdriverMetricsRequester + stackDriverConfig []stackDriverConfig `config:"metrics" validate:"nonzero,required"` +} + +//stackDriverConfig holds a configuration specific for stackdriver metricset. +type stackDriverConfig struct { + MetricTypes []string `config:"metric_types" validate:"required"` + Aligner string `config:"aligner"` +} + +type metricMeta struct { + samplePeriod time.Duration + ingestDelay time.Duration } type config struct { - Metrics []string `config:"stackdriver.metrics" validate:"required"` - Zone string `config:"zone"` - Region string `config:"region"` - ProjectID string `config:"project_id" validate:"required"` - ExcludeLabels bool `config:"exclude_labels"` - ServiceName string `config:"stackdriver.service" validate:"required"` - CredentialsFilePath string `config:"credentials_file_path"` - - opt []option.ClientOption + Zone string `config:"zone"` + Region string `config:"region"` + ProjectID string `config:"project_id" validate:"required"` + ExcludeLabels bool `config:"exclude_labels"` + ServiceName string `config:"stackdriver.service" validate:"required"` + CredentialsFilePath string `config:"credentials_file_path"` + + opt []option.ClientOption + period duration.Duration } // New creates a new instance of the MetricSet. New is responsible for unpacking @@ -64,12 +83,39 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { return nil, err } + stackDriverConfigs := struct { + StackDriverMetrics []stackDriverConfig `config:"stackdriver.metrics" validate:"nonzero,required"` + }{} + + if err := base.Module().UnpackConfig(&stackDriverConfigs); err != nil { + return nil, err + } + + m.stackDriverConfig = stackDriverConfigs.StackDriverMetrics m.config.opt = []option.ClientOption{option.WithCredentialsFile(m.config.CredentialsFilePath)} + m.config.period.Seconds = int64(m.Module().Config().Period.Seconds()) if err := validatePeriodForGCP(m.Module().Config().Period); err != nil { return nil, err } + // Get ingest delay and sample period for each metric type + ctx := context.Background() + client, err := monitoring.NewMetricClient(ctx, m.config.opt...) + if err != nil { + return nil, errors.Wrap(err, "error creating Stackdriver client") + } + + m.metricsMeta, err = metricDescriptor(ctx, client, m.config.ProjectID, m.stackDriverConfig) + if err != nil { + return nil, errors.Wrap(err, "error calling metricDescriptor function") + } + + m.requester = &stackdriverMetricsRequester{ + config: m.config, + client: client, + logger: m.Logger(), + } return m, nil } @@ -77,12 +123,7 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { // format. It publishes the event which is then forwarded to the output. In case // of an error set the Error field of mb.Event or simply call report.Error(). func (m *MetricSet) Fetch(ctx context.Context, reporter mb.ReporterV2) (err error) { - reqs, err := newStackdriverMetricsRequester(ctx, m.config, m.Module().Config().Period, m.Logger()) - if err != nil { - return errors.Wrapf(err, "error trying to do create a request client to GCP project '%s' in zone '%s' or region '%s'", m.config.ProjectID, m.config.Zone, m.config.Region) - } - - responses, err := reqs.Metrics(ctx, m.config.Metrics) + responses, err := m.requester.Metrics(ctx, m.stackDriverConfig, m.metricsMeta) if err != nil { return errors.Wrapf(err, "error trying to get metrics for project '%s' and zone '%s' or region '%s'", m.config.ProjectID, m.config.Zone, m.config.Region) } @@ -99,7 +140,7 @@ func (m *MetricSet) Fetch(ctx context.Context, reporter mb.ReporterV2) (err erro return nil } -func (m *MetricSet) eventMapping(ctx context.Context, tss []*monitoringpb.TimeSeries) ([]mb.Event, error) { +func (m *MetricSet) eventMapping(ctx context.Context, tss []timeSeriesWithAligner) ([]mb.Event, error) { e := newIncomingFieldExtractor(m.Logger()) var gcpService = googlecloud.NewStackdriverMetadataServiceForTimeSeries(nil) @@ -140,13 +181,14 @@ func (m *MetricSet) eventMapping(ctx context.Context, tss []*monitoringpb.TimeSe // validatePeriodForGCP returns nil if the Period in the module config is in the accepted threshold func validatePeriodForGCP(d time.Duration) (err error) { - if d.Seconds() < 300 { - return errors.New("period in Google Cloud config file cannot be set to less than 300 seconds") + if d.Seconds() < googlecloud.MonitoringMetricsSamplingRate { + return errors.Errorf("period in Google Cloud config file cannot be set to less than %d seconds", googlecloud.MonitoringMetricsSamplingRate) } return nil } +// Validate googlecloud module config func (c *config) Validate() error { // storage metricset does not require region or zone config parameter. if c.ServiceName == "storage" { @@ -158,3 +200,46 @@ func (c *config) Validate() error { } return nil } + +// Validate stackdriver related config +func (mc *stackDriverConfig) Validate() error { + gcpAlignerNames := make([]string, 0) + for k := range googlecloud.AlignersMapToGCP { + gcpAlignerNames = append(gcpAlignerNames, k) + } + + if mc.Aligner != "" { + if _, ok := googlecloud.AlignersMapToGCP[mc.Aligner]; !ok { + return errors.Errorf("the given aligner is not supported, please specify one of %s as aligner", gcpAlignerNames) + } + } + return nil +} + +// metricDescriptor calls ListMetricDescriptorsRequest API to get metric metadata +// (sample period and ingest delay) of each given metric type +func metricDescriptor(ctx context.Context, client *monitoring.MetricClient, projectID string, stackDriverConfigs []stackDriverConfig) (map[string]metricMeta, error) { + metricsWithMeta := make(map[string]metricMeta, 0) + + for _, sdc := range stackDriverConfigs { + for _, mt := range sdc.MetricTypes { + req := &monitoringpb.ListMetricDescriptorsRequest{ + Name: "projects/" + projectID, + Filter: fmt.Sprintf(`metric.type = "%s"`, mt), + } + + it := client.ListMetricDescriptors(ctx, req) + out, err := it.Next() + if err != nil { + return metricsWithMeta, errors.Errorf("Could not make ListMetricDescriptors request: %s: %v", mt, err) + } + + metricsWithMeta[mt] = metricMeta{ + samplePeriod: time.Duration(out.Metadata.SamplePeriod.Seconds) * time.Second, + ingestDelay: time.Duration(out.Metadata.IngestDelay.Seconds) * time.Second, + } + } + } + + return metricsWithMeta, nil +} diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser.go b/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser.go index 474f04a244b..b6e38f4d333 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser.go @@ -9,9 +9,10 @@ import ( "strings" "time" - "github.com/pkg/errors" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" "github.com/golang/protobuf/ptypes" + "github.com/pkg/errors" "google.golang.org/genproto/googleapis/monitoring/v3" "github.com/elastic/beats/v7/libbeat/common" @@ -36,7 +37,7 @@ type KeyValuePoint struct { } // extractTimeSeriesMetricValues valuable to send to Elasticsearch. This includes, for example, metric values, labels and timestamps -func (e *incomingFieldExtractor) extractTimeSeriesMetricValues(resp *monitoring.TimeSeries) (points []KeyValuePoint, err error) { +func (e *incomingFieldExtractor) extractTimeSeriesMetricValues(resp *monitoring.TimeSeries, aligner string) (points []KeyValuePoint, err error) { points = make([]KeyValuePoint, 0) for _, point := range resp.Points { @@ -48,7 +49,7 @@ func (e *incomingFieldExtractor) extractTimeSeriesMetricValues(resp *monitoring. } p := KeyValuePoint{ - Key: cleanMetricNameString(resp.Metric.Type), + Key: cleanMetricNameString(resp.Metric.Type, aligner), Value: getValueFromPoint(point), Timestamp: ts, } @@ -62,8 +63,8 @@ func (e *incomingFieldExtractor) extractTimeSeriesMetricValues(resp *monitoring. func (e *incomingFieldExtractor) getTimestamp(p *monitoring.Point) (ts time.Time, err error) { // Don't add point intervals that can't be "stated" at some timestamp. if p.Interval != nil { - if ts, err = ptypes.Timestamp(p.Interval.StartTime); err != nil { - return time.Time{}, errors.Errorf("error trying to parse timestamp '%#v' from metric\n", p.Interval.StartTime) + if ts, err = ptypes.Timestamp(p.Interval.EndTime); err != nil { + return time.Time{}, errors.Errorf("error trying to parse timestamp '%#v' from metric\n", p.Interval.EndTime) } return ts, nil } @@ -73,7 +74,7 @@ func (e *incomingFieldExtractor) getTimestamp(p *monitoring.Point) (ts time.Time var rx = regexp.MustCompile(`^[a-z_-]+\.googleapis.com\/`) -func cleanMetricNameString(s string) string { +func cleanMetricNameString(s string, aligner string) string { if s == "" { return "unknown" } @@ -83,7 +84,8 @@ func cleanMetricNameString(s string) string { removedPrefix := strings.TrimPrefix(s, prefix) replacedChars := strings.Replace(removedPrefix, "/", ".", -1) - return replacedChars + metricName := replacedChars + googlecloud.AlignersMapToSuffix[aligner] + return metricName } func getValueFromPoint(p *monitoring.Point) (out interface{}) { diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser_test.go b/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser_test.go index 4f055ffc0cc..84f689d042b 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser_test.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/response_parser_test.go @@ -5,7 +5,10 @@ package stackdriver import ( + "testing" + "github.com/golang/protobuf/ptypes/timestamp" + "github.com/stretchr/testify/assert" "google.golang.org/genproto/googleapis/api/metric" "google.golang.org/genproto/googleapis/api/monitoredres" "google.golang.org/genproto/googleapis/monitoring/v3" @@ -65,3 +68,32 @@ var metrics = []string{ "compute.googleapis.com/instance/disk/read_bytes_count", "compute.googleapis.com/http/server/response_latencies", } + +func TestCleanMetricNameString(t *testing.T) { + cases := []struct { + title string + metricType string + aligner string + expectedMetricName string + }{ + { + "test construct metric name with ALIGN_MEAN aligner", + "compute.googleapis.com/instance/cpu/usage_time", + "ALIGN_MEAN", + "instance.cpu.usage_time.avg", + }, + { + "test construct metric name with ALIGN_NONE aligner", + "compute.googleapis.com/instance/cpu/utilization", + "ALIGN_NONE", + "instance.cpu.utilization.value", + }, + } + + for _, c := range cases { + t.Run(c.title, func(t *testing.T) { + metricName := cleanMetricNameString(c.metricType, c.aligner) + assert.Equal(t, c.expectedMetricName, metricName) + }) + } +} diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/stackdriver_integration_test.go b/x-pack/metricbeat/module/googlecloud/stackdriver/stackdriver_integration_test.go index 8fe568ebe95..fd11a50c6e9 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/stackdriver_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/stackdriver_integration_test.go @@ -11,11 +11,10 @@ import ( "testing" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" ) func TestData(t *testing.T) { - config := googlecloud.GetConfigForTest(t, "stackdriver") + config := GetConfigForTest(t, "stackdriver") metricSet := mbtest.NewFetcher(t, config) metricSet.WriteEvents(t, "/") } diff --git a/x-pack/metricbeat/module/googlecloud/stackdriver/timeseries.go b/x-pack/metricbeat/module/googlecloud/stackdriver/timeseries.go index fcf3184717c..c0b456f9954 100644 --- a/x-pack/metricbeat/module/googlecloud/stackdriver/timeseries.go +++ b/x-pack/metricbeat/module/googlecloud/stackdriver/timeseries.go @@ -7,53 +7,54 @@ package stackdriver import ( "context" - monitoringpb "google.golang.org/genproto/googleapis/monitoring/v3" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" ) //timeSeriesGrouped groups TimeSeries responses into common Elasticsearch friendly events. This is to avoid sending // events with a single metric that shares info (like timestamp) with another event with a single metric too -func (m *MetricSet) timeSeriesGrouped(ctx context.Context, gcpService googlecloud.MetadataService, tss []*monitoringpb.TimeSeries, e *incomingFieldExtractor) (map[string][]KeyValuePoint, error) { +func (m *MetricSet) timeSeriesGrouped(ctx context.Context, gcpService googlecloud.MetadataService, tsas []timeSeriesWithAligner, e *incomingFieldExtractor) (map[string][]KeyValuePoint, error) { eventGroups := make(map[string][]KeyValuePoint) metadataService := gcpService - for _, ts := range tss { - keyValues, err := e.extractTimeSeriesMetricValues(ts) - if err != nil { - return nil, err - } - - sdCollectorInputData := googlecloud.NewStackdriverCollectorInputData(ts, m.config.ProjectID, m.config.Zone, m.config.Region) - if gcpService == nil { - metadataService = googlecloud.NewStackdriverMetadataServiceForTimeSeries(ts) - } - - for i := range keyValues { - sdCollectorInputData.Timestamp = &keyValues[i].Timestamp - - id, err := metadataService.ID(ctx, sdCollectorInputData) + for _, tsa := range tsas { + aligner := tsa.aligner + for _, ts := range tsa.timeSeries { + keyValues, err := e.extractTimeSeriesMetricValues(ts, aligner) if err != nil { - m.Logger().Errorf("error trying to retrieve ID from metric event '%v'", err) - continue + return nil, err } - metadataCollectorData, err := metadataService.Metadata(ctx, sdCollectorInputData.TimeSeries) - if err != nil { - m.Logger().Error("error trying to retrieve labels from metric event") - continue + sdCollectorInputData := googlecloud.NewStackdriverCollectorInputData(ts, m.config.ProjectID, m.config.Zone, m.config.Region) + if gcpService == nil { + metadataService = googlecloud.NewStackdriverMetadataServiceForTimeSeries(ts) } - if _, ok := eventGroups[id]; !ok { - eventGroups[id] = make([]KeyValuePoint, 0) - } + for i := range keyValues { + sdCollectorInputData.Timestamp = &keyValues[i].Timestamp + + id, err := metadataService.ID(ctx, sdCollectorInputData) + if err != nil { + m.Logger().Errorf("error trying to retrieve ID from metric event '%v'", err) + continue + } - keyValues[i].ECS = metadataCollectorData.ECS - keyValues[i].Labels = metadataCollectorData.Labels + metadataCollectorData, err := metadataService.Metadata(ctx, sdCollectorInputData.TimeSeries) + if err != nil { + m.Logger().Error("error trying to retrieve labels from metric event") + continue + } - // Group the data into common events - eventGroups[id] = append(eventGroups[id], keyValues[i]) + if _, ok := eventGroups[id]; !ok { + eventGroups[id] = make([]KeyValuePoint, 0) + } + + keyValues[i].ECS = metadataCollectorData.ECS + keyValues[i].Labels = metadataCollectorData.Labels + + // Group the data into common events + eventGroups[id] = append(eventGroups[id], keyValues[i]) + } } } diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json b/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json index f94a1375997..02541f8a1e7 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json @@ -14,18 +14,19 @@ "googlecloud": { "labels": { "metrics": { - "storage_class": "REGIONAL" + "method": "GetBucketMetadata", + "response_code": "OK" }, "resource": { - "bucket_name": "elastic-vsphere-images", - "location": "us-east1" + "bucket_name": "ocp-be-c5kjr-image-registry-us-central1-dsoafnbgctvfimpavswkgn", + "location": "us-central1" } }, "storage": { - "storage": { - "object_count": 3, - "total_byte_seconds": 58816542441472, - "total_bytes": 680747019 + "network": { + "sent_bytes_count": { + "value": 2637 + } } } }, diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/fields.yml b/x-pack/metricbeat/module/googlecloud/storage/_meta/fields.yml index 71fcb2bdbeb..cdf2fde2fff 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/_meta/fields.yml +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/fields.yml @@ -6,39 +6,39 @@ - name: api type: group fields: - - name: request_count + - name: request_count.value type: long description: Delta count of API calls, grouped by the API method name and response code. - name: authz type: group fields: - - name: acl_based_object_access_count + - name: acl_based_object_access_count.value type: long description: Delta count of requests that result in an object being granted access solely due to object ACLs. - - name: acl_operations_count + - name: acl_operations_count.value type: long description: Usage of ACL operations broken down by type. - - name: object_specific_acl_mutation_count + - name: object_specific_acl_mutation_count.value type: long description: Delta count of changes made to object specific ACLs. - name: network type: group fields: - - name: received_bytes_count + - name: received_bytes_count.value type: long description: Delta count of bytes received over the network, grouped by the API method name and response code. - - name: sent_bytes_count + - name: sent_bytes_count.value type: long description: Delta count of bytes sent over the network, grouped by the API method name and response code. - name: storage type: group fields: - - name: object_count + - name: object_count.value type: long description: Total number of objects per bucket, grouped by storage class. This value is measured once per day, and the value is repeated at each sampling interval throughout the day. - - name: total_byte_seconds + - name: total_byte_seconds.value type: long description: Delta count of bytes received over the network, grouped by the API method name and response code. - - name: total_bytes + - name: total_bytes.value type: long description: Total size of all objects in the bucket, grouped by storage class. This value is measured once per day, and the value is repeated at each sampling interval throughout the day. diff --git a/x-pack/metricbeat/module/googlecloud/storage/manifest.yml b/x-pack/metricbeat/module/googlecloud/storage/manifest.yml index f462867dcb5..2a9363cf78d 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/storage/manifest.yml @@ -6,12 +6,13 @@ input: stackdriver: service: storage metrics: - - "storage.googleapis.com/api/request_count" - - "storage.googleapis.com/authz/acl_based_object_access_count" - - "storage.googleapis.com/authz/acl_operations_count" - - "storage.googleapis.com/authz/object_specific_acl_mutation_count" - - "storage.googleapis.com/network/received_bytes_count" - - "storage.googleapis.com/network/sent_bytes_count" - - "storage.googleapis.com/storage/object_count" - - "storage.googleapis.com/storage/total_byte_seconds" - - "storage.googleapis.com/storage/total_bytes" + - metric_types: + - "storage.googleapis.com/api/request_count" + - "storage.googleapis.com/authz/acl_based_object_access_count" + - "storage.googleapis.com/authz/acl_operations_count" + - "storage.googleapis.com/authz/object_specific_acl_mutation_count" + - "storage.googleapis.com/network/received_bytes_count" + - "storage.googleapis.com/network/sent_bytes_count" + - "storage.googleapis.com/storage/object_count" + - "storage.googleapis.com/storage/total_byte_seconds" + - "storage.googleapis.com/storage/total_bytes" diff --git a/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go b/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go index f669a7c46e9..0f2b010f5f2 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go @@ -11,11 +11,11 @@ import ( "testing" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { - config := googlecloud.GetConfigForTest(t, "storage") + config := stackdriver.GetConfigForTest(t, "storage") metricSet := mbtest.NewFetcher(t, config) metricSet.WriteEvents(t, "/") } diff --git a/x-pack/metricbeat/modules.d/googlecloud.yml.disabled b/x-pack/metricbeat/modules.d/googlecloud.yml.disabled index fc7d792dadf..392b64718d8 100644 --- a/x-pack/metricbeat/modules.d/googlecloud.yml.disabled +++ b/x-pack/metricbeat/modules.d/googlecloud.yml.disabled @@ -4,13 +4,21 @@ - module: googlecloud metricsets: - compute + region: "us-central1" + project_id: "your project id" + credentials_file_path: "your JSON credentials file path" + exclude_labels: false + period: 300s + +- module: googlecloud + metricsets: - pubsub - loadbalancing zone: "us-central1-a" project_id: "your project id" credentials_file_path: "your JSON credentials file path" exclude_labels: false - period: 300s + period: 60s - module: googlecloud metricsets: From 5e1885047cfe1fcfda3ca2a507cd6794687d7451 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Fri, 24 Apr 2020 11:46:29 -0600 Subject: [PATCH 08/17] [Metricbeat] remove distribution type metrics from googlecloud (#17946) * remove distribution type metrics from googlecloud --- .../googlecloud/compute/_meta/docs.asciidoc | 23 ++++++++++++++++--- .../loadbalancing/_meta/docs.asciidoc | 19 ++++++++++----- .../googlecloud/loadbalancing/manifest.yml | 10 -------- .../googlecloud/pubsub/_meta/docs.asciidoc | 10 ++++---- .../module/googlecloud/pubsub/manifest.yml | 2 -- .../googlecloud/storage/_meta/docs.asciidoc | 7 +++--- 6 files changed, 43 insertions(+), 28 deletions(-) diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/compute/_meta/docs.asciidoc index 8cc6b3f85a2..f72103099ea 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/docs.asciidoc @@ -1,11 +1,15 @@ -Compute Metricset to fetch metrics from https://cloud.google.com/compute/[Compute Engine] Virtual Machines in Google Cloud Platform. No Monitoring or Logging agent is required in your instances to use this Metricset. +Compute metricset to fetch metrics from https://cloud.google.com/compute/[Compute Engine] Virtual Machines in Google Cloud Platform. No Monitoring or Logging agent is required in your instances to use this metricset. -The `compute` Metricset contains all metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-compute[Stackdriver API]. The field names have been left untouched for people already familiar with them. +The `compute` metricset contains all metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-compute[Stackdriver API]. The field names have been left untouched for people already familiar with them. Extra labels and metadata are also extracted using the https://cloud.google.com/compute/docs/reference/rest/v1/instances/get[Compute API]. This is enough to get most of the info associated with a metric like Compute labels and metadata and metric specific Labels. [float] -=== Fields and labels +=== Metrics and labels +Here is a list of metrics collected by `compute` metricset: + +[float] +==== firewall * `instance.firewall.dropped_bytes_count`: Incoming bytes dropped by the firewall. - `instance_name`: The name of the VM instance. @@ -13,14 +17,21 @@ Extra labels and metadata are also extracted using the https://cloud.google.com/ * `instance.firewall.dropped_packets_count`: Incoming packets dropped by the firewall. - `instance_name`: The name of the VM instance. +[float] +==== cpu + * `instance.cpu.reserved_cores`: Number of cores reserved on the host of the `instance`. - `instance_name`: The name of the VM instance. * `instance.cpu.utilization`: The fraction of the allocated CPU that is currently in use on the `instance`. - `instance_name`: The name of the VM instance. + * `instance.cpu.usage_time`: Usage for all cores in seconds. - `instance_name`: The name of the VM instance. +[float] +==== disk + * `instance.disk.read_bytes_count`: Count of bytes read from disk. - `instance_name`: The name of the VM instance. - `device_name`: The name of the disk device. @@ -45,9 +56,15 @@ Extra labels and metadata are also extracted using the https://cloud.google.com/ - `storage_type`: The storage type: `pd-standard`, `pd-ssd`, or `local-ssd`. - `device_type`: The disk type: `ephemeral` or `permanent`. +[float] +==== uptime + * `instance.uptime`: How long the VM has been running, in seconds - `instance_name`: The name of the VM instance. +[float] +==== network + * `instance.network.received_bytes_count`: Count of bytes received from the network - `instance_name`: The name of the VM instance. - `loadBalanced`: Whether traffic was sent from an L3 loadbalanced IP address assigned to the VM. Traffic that is externally routed from the VM's standard internal or external IP address, such as L7 loadbalanced traffic, is not considered to be loadbalanced in this metric. diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/docs.asciidoc index 256e744ba6b..2022b44d1c7 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/docs.asciidoc @@ -3,25 +3,32 @@ Load Balancing metricset to fetch metrics from https://cloud.google.com/load-bal The `loadbalancing` metricset contains all metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-loadbalancing[Stackdriver API]. The field names have been left untouched for people already familiar with them. [float] -=== Fields +=== Metrics +Here is a list of metrics collected by `loadbalancing` metricset: + +[float] +==== https -- `loadbalancing.https.backend_latencies`: A distribution of the latency calculated from when the request was sent by the proxy to the backend until the proxy received from the backend the last byte of response. - `loadbalancing.https.backend_request_bytes_count`: The number of bytes sent as requests from HTTP/S load balancer to backends. - `loadbalancing.https.backend_request_count`: The number of requests served by backends of HTTP/S load balancer. - `loadbalancing.https.backend_response_bytes_count`: The number of bytes sent as responses from backends (or cache) to HTTP/S load balancer. -- `loadbalancing.https.frontend_tcp_rtt`: A distribution of the RTT measured for each connection between client and proxy. - `loadbalancing.https.request_bytes_count`: The number of bytes sent as requests from clients to HTTP/S load balancer. - `loadbalancing.https.request_count`: The number of requests served by HTTP/S load balancer. - `loadbalancing.https.response_bytes_count`: The number of bytes sent as responses from HTTP/S load balancer to clients. -- `loadbalancing.https.total_latencies`: A distribution of the latency calculated from when the request was received by the proxy until the proxy got ACK from client on last response byte. + +[float] +==== l3 + - `loadbalancing.l3.internal.egress_bytes_count`: The number of bytes sent from ILB backend to client (for TCP flows it's counting bytes on application stream only). - `loadbalancing.l3.internal.egress_packets_count`: The number of packets sent from ILB backend to client of the flow. - `loadbalancing.l3.internal.ingress_bytes_count`: The number of bytes sent from client to ILB backend (for TCP flows it's counting bytes on application stream only). - `loadbalancing.l3.internal.ingress_packets_count`: The number of packets sent from client to ILB backend. -- `loadbalancing.l3.internal.rtt_latencies`: A distribution of RTT measured over TCP connections for ILB flows. + +[float] +==== tcp_ssl_proxy + - `loadbalancing.tcp_ssl_proxy.closed_connections`: Number of connections that were terminated over TCP/SSL proxy. - `loadbalancing.tcp_ssl_proxy.egress_bytes_count`: Number of bytes sent from VM to client using proxy. -- `loadbalancing.tcp_ssl_proxy.frontend_tcp_rtt`: A distribution of the smoothed RTT (in ms) measured by the proxy's TCP stack, each minute application layer bytes pass from proxy to client. - `loadbalancing.tcp_ssl_proxy.ingress_bytes_count`: Number of bytes sent from client to VM using proxy. - `loadbalancing.tcp_ssl_proxy.new_connections`: Number of connections that were created over TCP/SSL proxy. - `loadbalancing.tcp_ssl_proxy.open_connections`: Current number of outstanding connections through the TCP/SSL proxy. diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml b/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml index 173b8fbd265..5ec1dc8d417 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/manifest.yml @@ -7,28 +7,18 @@ input: service: loadbalancing metrics: - metric_types: - - "loadbalancing.googleapis.com/https/backend_latencies" - - "loadbalancing.googleapis.com/https/backend_latencies" - "loadbalancing.googleapis.com/https/backend_request_bytes_count" - "loadbalancing.googleapis.com/https/backend_request_count" - "loadbalancing.googleapis.com/https/backend_response_bytes_count" - - "loadbalancing.googleapis.com/https/frontend_tcp_rtt" - "loadbalancing.googleapis.com/https/request_bytes_count" - - "loadbalancing.googleapis.com/https/request_bytes_count" - - "loadbalancing.googleapis.com/https/request_count" - "loadbalancing.googleapis.com/https/request_count" - "loadbalancing.googleapis.com/https/response_bytes_count" - - "loadbalancing.googleapis.com/https/response_bytes_count" - - "loadbalancing.googleapis.com/https/total_latencies" - - "loadbalancing.googleapis.com/https/total_latencies" - "loadbalancing.googleapis.com/l3/internal/egress_bytes_count" - "loadbalancing.googleapis.com/l3/internal/egress_packets_count" - "loadbalancing.googleapis.com/l3/internal/ingress_bytes_count" - "loadbalancing.googleapis.com/l3/internal/ingress_packets_count" - - "loadbalancing.googleapis.com/l3/internal/rtt_latencies" - "loadbalancing.googleapis.com/tcp_ssl_proxy/closed_connections" - "loadbalancing.googleapis.com/tcp_ssl_proxy/egress_bytes_count" - - "loadbalancing.googleapis.com/tcp_ssl_proxy/frontend_tcp_rtt" - "loadbalancing.googleapis.com/tcp_ssl_proxy/ingress_bytes_count" - "loadbalancing.googleapis.com/tcp_ssl_proxy/new_connections" - "loadbalancing.googleapis.com/tcp_ssl_proxy/open_connections" diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/docs.asciidoc index cd6e94083ef..f8faf2bada0 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/docs.asciidoc @@ -1,9 +1,13 @@ -PubSub Metricset to fetch metrics from https://cloud.google.com/pubsub/[Pub/Sub] topics and subscriptions in Google Cloud Platform. +PubSub metricsetf to fetch metrics from https://cloud.google.com/pubsub/[Pub/Sub] topics and subscriptions in Google Cloud Platform. -The `pubsub` Metricset contains all GA stage metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-pubsub[Stackdriver API]. The field names have been left untouched for people already familiar with them. +The `pubsub` metricset contains all GA stage metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-pubsub[Stackdriver API]. The field names have been left untouched for people already familiar with them. No special permissions are needed apart from the ones detailed in the module section of the docs. +[float] +=== Metrics +Here is a list of metrics collected by `pubsub` metricset: + [float] ==== Snapshot Metrics - `pubsub.snapshot.backlog_bytes`: Total byte size of the messages retained in a snapshot. @@ -35,7 +39,6 @@ No special permissions are needed apart from the ones detailed in the module sec - `pubsub.subscription.pull_message_operation_count`: Cumulative count of pull message operations, grouped by result. For a definition of message operations, see Cloud Pub/Sub metric subscription/mod_ack_deadline_message_operation_count. - `pubsub.subscription.pull_request_count`: Cumulative count of pull requests, grouped by result. - `pubsub.subscription.push_request_count`: Cumulative count of push attempts, grouped by result. Unlike pulls, the push server implementation does not batch user messages. So each request only contains one user message. The push server retries on errors, so a given user message can appear multiple times. -- `pubsub.subscription.push_request_latencies`: Distribution of push request latencies (in microseconds), grouped by result. - `pubsub.subscription.retained_acked_bytes`: otal byte size of the acknowledged messages retained in a subscription. - `pubsub.subscription.retained_acked_bytes_by_region`: Total byte size of the acknowledged messages retained in a subscription, broken down by Cloud region. - `pubsub.subscription.seek_request_count`: Cumulative count of seek attempts, grouped by result. @@ -52,7 +55,6 @@ No special permissions are needed apart from the ones detailed in the module sec ==== Topic Metrics - `pubsub.topic.byte_cost`: Cost of operations, measured in bytes. This is used to measure utilization for quotas. - `pubsub.topic.config_updates_count`: Cumulative count of configuration changes, grouped by operation type and result. -- `pubsub.topic.message_sizes`: Distribution of publish message sizes (in bytes). - `pubsub.topic.oldest_retained_acked_message_age_by_region`: Age (in seconds) of the oldest acknowledged message retained in a topic, broken down by Cloud region. - `pubsub.topic.oldest_unacked_message_age_by_region`: Age (in seconds) of the oldest unacknowledged message in a topic, broken down by Cloud region. - `pubsub.topic.retained_acked_bytes_by_region`: Total byte size of the acknowledged messages retained in a topic, broken down by Cloud region. diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml b/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml index 285136f3cf8..a002820ebd6 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml +++ b/x-pack/metricbeat/module/googlecloud/pubsub/manifest.yml @@ -33,7 +33,6 @@ input: - "pubsub.googleapis.com/subscription/pull_message_operation_count" - "pubsub.googleapis.com/subscription/pull_request_count" - "pubsub.googleapis.com/subscription/push_request_count" - - "pubsub.googleapis.com/subscription/push_request_latencies" - "pubsub.googleapis.com/subscription/retained_acked_bytes" - "pubsub.googleapis.com/subscription/retained_acked_bytes_by_region" - "pubsub.googleapis.com/subscription/seek_request_count" @@ -47,7 +46,6 @@ input: - "pubsub.googleapis.com/subscription/unacked_bytes_by_region" - "pubsub.googleapis.com/topic/byte_cost" - "pubsub.googleapis.com/topic/config_updates_count" - - "pubsub.googleapis.com/topic/message_sizes" - "pubsub.googleapis.com/topic/oldest_retained_acked_message_age_by_region" - "pubsub.googleapis.com/topic/oldest_unacked_message_age_by_region" - "pubsub.googleapis.com/topic/retained_acked_bytes_by_region" diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/docs.asciidoc b/x-pack/metricbeat/module/googlecloud/storage/_meta/docs.asciidoc index 4c9ff62e4ae..d58ceda230f 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/_meta/docs.asciidoc +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/docs.asciidoc @@ -1,11 +1,12 @@ -Storage Metricset to fetch metrics from https://cloud.google.com/storage/[Storage] in Google Cloud Platform. +Storage metricset to fetch metrics from https://cloud.google.com/storage/[Storage] in Google Cloud Platform. -The `storage` Metricset contains all metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-storage[Stackdriver API]. The field names have been left untouched for people already familiar with them. +The `storage` metricset contains all metrics exported from the https://cloud.google.com/monitoring/api/metrics_gcp#gcp-storage[Stackdriver API]. The field names have been left untouched for people already familiar with them. You can specify a single region to fetch metrics like `us-central1`. Be aware that GCP Storage does not use zones so `us-central1-a` will return nothing. If no region is specified, it will return metrics from all buckets. [float] -=== Fields +=== Metrics +Here is a list of metrics collected by `storage` metricset: - `storage.api.request_count`: Delta count of API calls, grouped by the API method name and response code. - `storage.authz.acl_based_object_access_count`: Delta count of requests that result in an object being granted access solely due to object ACLs. From 7c1b39eea9bc14f2f63e1aa451f6346a55fd1c19 Mon Sep 17 00:00:00 2001 From: DeDe Morton Date: Fri, 24 Apr 2020 12:25:52 -0700 Subject: [PATCH 09/17] [docs] Fix attribute resolution in example (#17955) --- filebeat/docs/running-on-cloudfoundry.asciidoc | 11 ++++++----- filebeat/docs/running-on-kubernetes.asciidoc | 2 +- metricbeat/docs/running-on-cloudfoundry.asciidoc | 11 ++++++----- metricbeat/docs/running-on-kubernetes.asciidoc | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/filebeat/docs/running-on-cloudfoundry.asciidoc b/filebeat/docs/running-on-cloudfoundry.asciidoc index 34c225ed831..ae9603dc012 100644 --- a/filebeat/docs/running-on-cloudfoundry.asciidoc +++ b/filebeat/docs/running-on-cloudfoundry.asciidoc @@ -1,5 +1,5 @@ [[running-on-cloudfoundry]] -=== Running {beatname_uc} on Cloud Foundry +=== Run {beatname_uc} on Cloud Foundry You can use {beatname_uc} on Cloud Foundry to retrieve and ship logs. @@ -14,18 +14,19 @@ endif::[] [float] ==== Cloud Foundry credentials -{beatname_uc} needs credentials created with UAA so it can connect to loggregator to receive the logs. The uaac +{beatname_uc} needs credentials created with UAA so it can connect to loggregator to receive the logs. The `uaac` command will create the required credentials for connecting to loggregator. -["source", "sh"] +["source","sh",subs="attributes"] ------------------------------------------------ uaac client add {beatname_lc} --name {beatname_lc} --secret changeme --authorized_grant_types client_credentials,refresh_token --authorities doppler.firehose,cloud_controller.admin_read_only ------------------------------------------------ [WARNING] ======================================= -*Use a unique secret:* The uaac command above is just an example and the secret should be changed and the -`{beatname_lc}.yml` should be updated with your choosen secret. +*Use a unique secret:* The `uaac` command shown here is an example. Remember to +replace `changeme` with your secret, and update the +{beatname_lc}.yml+ file to +use your chosen secret. ======================================= diff --git a/filebeat/docs/running-on-kubernetes.asciidoc b/filebeat/docs/running-on-kubernetes.asciidoc index f104a06e245..0df3c811a95 100644 --- a/filebeat/docs/running-on-kubernetes.asciidoc +++ b/filebeat/docs/running-on-kubernetes.asciidoc @@ -1,5 +1,5 @@ [[running-on-kubernetes]] -=== Running {beatname_uc} on Kubernetes +=== Run {beatname_uc} on Kubernetes You can use {beatname_uc} <> on Kubernetes to retrieve and ship container logs. diff --git a/metricbeat/docs/running-on-cloudfoundry.asciidoc b/metricbeat/docs/running-on-cloudfoundry.asciidoc index e6c25d02587..2988e4d3a8b 100644 --- a/metricbeat/docs/running-on-cloudfoundry.asciidoc +++ b/metricbeat/docs/running-on-cloudfoundry.asciidoc @@ -1,5 +1,5 @@ [[running-on-cloudfoundry]] -=== Running {beatname_uc} on Cloud Foundry +=== Run {beatname_uc} on Cloud Foundry You can use {beatname_uc} on Cloud Foundry to retrieve and ship metrics. @@ -14,18 +14,19 @@ endif::[] [float] ==== Cloud Foundry credentials -{beatname_uc} needs credentials created with UAA so it can connect to loggregator to receive the logs. The uaac +{beatname_uc} needs credentials created with UAA so it can connect to loggregator to receive the logs. The `uaac` command will create the required credentials for connecting to loggregator. -["source", "sh"] +["source","sh",subs="attributes"] ------------------------------------------------ uaac client add {beatname_lc} --name {beatname_lc} --secret changeme --authorized_grant_types client_credentials,refresh_token --authorities doppler.firehose,cloud_controller.admin_read_only ------------------------------------------------ [WARNING] ======================================= -*Use a unique secret:* The uaac command above is just an example and the secret should be changed and the -`{beatname_lc}.yml` should be updated with your choosen secret. +*Use a unique secret:* The `uaac` command shown here is an example. Remember to +replace `changeme` with your secret, and update the +{beatname_lc}.yml+ file to +use your chosen secret. ======================================= diff --git a/metricbeat/docs/running-on-kubernetes.asciidoc b/metricbeat/docs/running-on-kubernetes.asciidoc index 2d757906110..7267c0f9872 100644 --- a/metricbeat/docs/running-on-kubernetes.asciidoc +++ b/metricbeat/docs/running-on-kubernetes.asciidoc @@ -1,5 +1,5 @@ [[running-on-kubernetes]] -=== Running Metricbeat on Kubernetes +=== Run Metricbeat on Kubernetes You can use {beatname_uc} <> on Kubernetes to retrieve cluster metrics. From 3bba66d9915affc6a5596db48ea016c36bbfbf8b Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Fri, 24 Apr 2020 14:48:07 -0600 Subject: [PATCH 10/17] [Metricbeat GCP] Improve integration test to generate more specific data-*.json (#17906) * Improve TestData integration test to generate more specific data-*.json * rerun TestData to generate data.json files --- .../googlecloud/compute/_meta/data.json | 6 +- .../googlecloud/compute/_meta/data_cpu.json | 83 ++++++++--------- .../googlecloud/compute/_meta/data_disk.json | 59 ++++++++++++ .../compute/_meta/data_disk_01.json | 74 --------------- .../compute/_meta/data_disk_02.json | 77 --------------- .../compute/_meta/data_firewall.json | 93 ++++++++----------- .../compute/_meta/data_instance.json | 73 --------------- .../compute/_meta/data_network.json | 54 +++++++++++ .../compute/compute_integration_test.go | 29 +++++- .../googlecloud/loadbalancing/_meta/data.json | 2 +- .../loadbalancing/_meta/data_l3.json | 50 ++++++++++ .../loadbalancing_integration_test.go | 32 ++++++- .../module/googlecloud/pubsub/_meta/data.json | 4 +- .../pubsub/_meta/data_subscription.json | 35 +++++++ .../googlecloud/pubsub/_meta/data_topic.json | 43 +++++++++ .../pubsub/pubsub_integration_test.go | 32 ++++++- .../googlecloud/storage/_meta/data.json | 15 ++- .../storage/_meta/data_network.json | 38 ++++++++ .../storage/_meta/data_storage.json | 39 ++++++++ .../storage/storage_integration_test.go | 28 +++++- 20 files changed, 518 insertions(+), 348 deletions(-) create mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk.json delete mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_01.json delete mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_02.json delete mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_instance.json create mode 100644 x-pack/metricbeat/module/googlecloud/compute/_meta/data_network.json create mode 100644 x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data_l3.json create mode 100644 x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_subscription.json create mode 100644 x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_topic.json create mode 100644 x-pack/metricbeat/module/googlecloud/storage/_meta/data_network.json create mode 100644 x-pack/metricbeat/module/googlecloud/storage/_meta/data_storage.json diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json index f1f9f8f386b..4a3ab08217c 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data.json @@ -5,8 +5,8 @@ "id": "elastic-observability" }, "instance": { - "id": "6889336735612324102", - "name": "gke-dev-oblt-dev-oblt-pool-83a8831b-kd53" + "id": "1174463293187628268", + "name": "gke-observability-8--observability-8--bc1afd95-ngmh" }, "machine": { "type": "n1-standard-4" @@ -40,7 +40,7 @@ }, "labels": { "metrics": { - "device_name": "disk-4", + "device_name": "disk-2", "device_type": "permanent", "storage_type": "pd-standard" }, diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_cpu.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_cpu.json index 8496bfd79b1..1d3a120a218 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_cpu.json +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_cpu.json @@ -1,69 +1,62 @@ { - "@timestamp": "2020-01-08T16:06:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "host": { - "name": "mcastro", - "id": "54f70115bae545cbac2b150f254472a0", - "containerized": false, - "hostname": "mcastro", - "architecture": "x86_64", - "os": { - "version": "", - "family": "", - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1", - "platform": "antergos" - } - }, - "agent": { - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901", - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat" - }, + "@timestamp": "2017-10-12T08:05:34.853Z", "cloud": { "account": { - "id": "elastic-metricbeat" + "id": "elastic-observability" }, - "provider": "googlecloud", "instance": { - "name": "instance-1", - "id": "4503798379141677974" + "id": "1174463293187628268", + "name": "gke-observability-8--observability-8--bc1afd95-ngmh" }, "machine": { - "type": "f1-micro" + "type": "n1-standard-4" }, - "availability_zone": "us-central1-a" + "provider": "googlecloud" }, + "cloud.availability_zone": "europe-west1-c", "event": { - "duration": 1398412653, "dataset": "googlecloud.compute", + "duration": 115000, "module": "googlecloud" }, - "metricset": { - "name": "compute", - "period": 300000 - }, "googlecloud": { "compute": { + "firewall": { + "dropped_bytes_count": { + "value": 181 + }, + "dropped_packets_count": { + "value": 3 + } + }, "instance": { "cpu": { - "reserved_cores": 0.2, - "utilization": 0.005524845140497596 + "reserved_cores": { + "value": 4 + }, + "usage_time": { + "value": 63.478293027728796 + }, + "utilization": { + "value": 0.26449288761553663 + } + }, + "uptime": { + "value": 60 } } }, - "labels": {} + "labels": { + "user": { + "goog-gke-node": "" + } + } + }, + "metricset": { + "name": "compute", + "period": 10000 }, "service": { "type": "googlecloud" - }, - "ecs": { - "version": "1.2.0" } -} +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk.json new file mode 100644 index 00000000000..8da39b6ab7d --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk.json @@ -0,0 +1,59 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "instance": { + "id": "8390997210852978465", + "name": "gke-observability-7--observability-7--3dd3e39b-0jm5" + }, + "machine": { + "type": "n1-standard-4" + }, + "provider": "googlecloud" + }, + "cloud.availability_zone": "europe-west1-c", + "event": { + "dataset": "googlecloud.compute", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "compute": { + "instance": { + "disk": { + "read_bytes_count": { + "value": 0 + }, + "read_ops_count": { + "value": 0 + }, + "write_bytes_count": { + "value": 0 + }, + "write_ops_count": { + "value": 0 + } + } + } + }, + "labels": { + "metrics": { + "device_name": "gke-observability-7-1--pvc-65581044-7d5d-11ea-8cd9-42010af0011c", + "device_type": "permanent", + "storage_type": "pd-standard" + }, + "user": { + "goog-gke-node": "" + } + } + }, + "metricset": { + "name": "compute", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_01.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_01.json deleted file mode 100644 index 038c451d934..00000000000 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_01.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "@timestamp": "2020-01-08T16:05:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "agent": { - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat", - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901" - }, - "ecs": { - "version": "1.2.0" - }, - "googlecloud": { - "labels": { - "metrics": { - "device_type": "permanent", - "storage_type": "pd-standard", - "device_name": "instance-1" - } - }, - "compute": { - "instance": { - "disk": { - "write_bytes_count": 945853 - } - } - } - }, - "service": { - "type": "googlecloud" - }, - "cloud": { - "account": { - "id": "elastic-metricbeat" - }, - "provider": "googlecloud", - "instance": { - "name": "instance-1", - "id": "4503798379141677974" - }, - "machine": { - "type": "f1-micro" - }, - "availability_zone": "us-central1-a" - }, - "metricset": { - "name": "compute", - "period": 300000 - }, - "event": { - "module": "googlecloud", - "duration": 1398637364, - "dataset": "googlecloud.compute" - }, - "host": { - "containerized": false, - "hostname": "mcastro", - "architecture": "x86_64", - "os": { - "platform": "antergos", - "version": "", - "family": "", - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1" - }, - "name": "mcastro", - "id": "54f70115bae545cbac2b150f254472a0" - } -} diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_02.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_02.json deleted file mode 100644 index d3d0bc9c5ba..00000000000 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_disk_02.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "@timestamp": "2020-01-08T16:04:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "service": { - "type": "googlecloud" - }, - "ecs": { - "version": "1.2.0" - }, - "host": { - "os": { - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1", - "platform": "antergos", - "version": "", - "family": "" - }, - "id": "54f70115bae545cbac2b150f254472a0", - "containerized": false, - "name": "mcastro", - "hostname": "mcastro", - "architecture": "x86_64" - }, - "agent": { - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901", - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat" - }, - "cloud": { - "availability_zone": "us-central1-a", - "account": { - "id": "elastic-metricbeat" - }, - "provider": "googlecloud", - "instance": { - "id": "4503798379141677974", - "name": "instance-1" - }, - "machine": { - "type": "f1-micro" - } - }, - "metricset": { - "name": "compute", - "period": 300000 - }, - "event": { - "dataset": "googlecloud.compute", - "module": "googlecloud", - "duration": 1398743696 - }, - "googlecloud": { - "labels": { - "metrics": { - "device_name": "instance-1", - "device_type": "permanent", - "storage_type": "pd-standard" - } - }, - "compute": { - "instance": { - "disk": { - "write_ops_count": 140, - "read_ops_count": 2897, - "read_bytes_count": 71574649, - "write_bytes_count": 2557677 - } - } - } - } -} diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_firewall.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_firewall.json index ee219ec74e0..04b750b8b7d 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_firewall.json +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_firewall.json @@ -1,75 +1,62 @@ { - "@timestamp": "2020-01-08T16:05:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "ecs": { - "version": "1.2.0" - }, - "host": { - "containerized": false, - "name": "mcastro", - "hostname": "mcastro", - "architecture": "x86_64", - "os": { - "version": "", - "family": "", - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1", - "platform": "antergos" - }, - "id": "54f70115bae545cbac2b150f254472a0" - }, - "agent": { - "type": "metricbeat", - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901", - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0" - }, + "@timestamp": "2017-10-12T08:05:34.853Z", "cloud": { - "availability_zone": "us-central1-a", "account": { - "id": "elastic-metricbeat" + "id": "elastic-observability" }, - "provider": "googlecloud", "instance": { - "id": "4503798379141677974", - "name": "instance-1" + "id": "2528596280375797115", + "name": "gke-dev-next-oblt-dev-next-oblt-pool-404d7f0c-cpj6" }, "machine": { - "type": "f1-micro" - } + "type": "n1-standard-4" + }, + "provider": "googlecloud" }, + "cloud.availability_zone": "europe-west1-c", "event": { "dataset": "googlecloud.compute", - "module": "googlecloud", - "duration": 1397755844 - }, - "metricset": { - "name": "compute", - "period": 300000 + "duration": 115000, + "module": "googlecloud" }, "googlecloud": { - "labels": {}, "compute": { + "firewall": { + "dropped_bytes_count": { + "value": 386 + }, + "dropped_packets_count": { + "value": 7 + } + }, "instance": { - "uptime": 60.00000000000001, "cpu": { - "reserved_cores": 0.2, - "utilization": 0.38202685489490784, - "usage_time": 0.06629814168597115 + "reserved_cores": { + "value": 4 + }, + "usage_time": { + "value": 106.88293868489563 + }, + "utilization": { + "value": 0.4453455778537318 + } + }, + "uptime": { + "value": 60 } - }, - "firewall": { - "dropped_packets_count": 3 + } + }, + "labels": { + "user": { + "goog-gke-node": "" } } }, + "metricset": { + "name": "compute", + "period": 10000 + }, "service": { "type": "googlecloud" } -} - +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_instance.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_instance.json deleted file mode 100644 index 4306273f73c..00000000000 --- a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_instance.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "@timestamp": "2020-01-08T16:04:00.000Z", - "@metadata": { - "beat": "metricbeat", - "type": "_doc", - "version": "8.0.0" - }, - "ecs": { - "version": "1.2.0" - }, - "host": { - "os": { - "platform": "antergos", - "version": "", - "family": "", - "name": "Antergos Linux", - "kernel": "5.4.3-arch1-1" - }, - "id": "54f70115bae545cbac2b150f254472a0", - "containerized": false, - "hostname": "mcastro", - "name": "mcastro", - "architecture": "x86_64" - }, - "agent": { - "ephemeral_id": "8b802033-b611-414b-bcaf-1aa19e5f5901", - "hostname": "mcastro", - "id": "7e36a073-1a32-4a94-b65b-4c7f971fb228", - "version": "8.0.0", - "type": "metricbeat" - }, - "cloud": { - "provider": "googlecloud", - "instance": { - "id": "4503798379141677974", - "name": "instance-1" - }, - "machine": { - "type": "f1-micro" - }, - "availability_zone": "us-central1-a", - "account": { - "id": "elastic-metricbeat" - } - }, - "event": { - "module": "googlecloud", - "duration": 1397750508, - "dataset": "googlecloud.compute" - }, - "metricset": { - "period": 300000, - "name": "compute" - }, - "googlecloud": { - "labels": {}, - "compute": { - "firewall": { - "dropped_bytes_count": 0, - "dropped_packets_count": 0 - }, - "instance": { - "uptime": 46.181442, - "cpu": { - "usage_time": 4.5843222587388945 - } - } - } - }, - "service": { - "type": "googlecloud" - } -} diff --git a/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network.json b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network.json new file mode 100644 index 00000000000..d543fc2382f --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/compute/_meta/data_network.json @@ -0,0 +1,54 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "instance": { + "id": "7208038667777737825", + "name": "gke-dev-next-oblt-dev-next-oblt-pool-404d7f0c-fgxk" + }, + "machine": { + "type": "n1-standard-4" + }, + "provider": "googlecloud" + }, + "cloud.availability_zone": "europe-west1-c", + "event": { + "dataset": "googlecloud.compute", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "compute": { + "instance": { + "network": { + "received_bytes_count": { + "value": 17913 + }, + "received_packets_count": { + "value": 128 + }, + "sent_bytes_count": { + "value": 841 + } + } + } + }, + "labels": { + "metrics": { + "loadbalanced": "true" + }, + "user": { + "goog-gke-node": "" + } + } + }, + "metricset": { + "name": "compute", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go b/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go index a4d47d95dd6..be2dd08cdec 100644 --- a/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/compute/compute_integration_test.go @@ -8,14 +8,39 @@ package compute import ( + "fmt" "testing" + "github.com/elastic/beats/v7/libbeat/common" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { + metricPrefixIs := func(metricPrefix string) func(e common.MapStr) bool { + return func(e common.MapStr) bool { + v, err := e.GetValue(metricPrefix) + return err == nil && v != nil + } + } + + dataFiles := []struct { + metricPrefix string + path string + }{ + {"googlecloud.compute.instance", "./_meta/data.json"}, + {"googlecloud.compute.instance.disk", "./_meta/data_disk.json"}, + {"googlecloud.compute.instance.network", "./_meta/data_network.json"}, + {"googlecloud.compute.instance.cpu", "./_meta/data_cpu.json"}, + {"googlecloud.compute.firewall", "./_meta/data_firewall.json"}, + } + config := stackdriver.GetConfigForTest(t, "compute") - metricSet := mbtest.NewFetcher(t, config) - metricSet.WriteEvents(t, "/") + + for _, df := range dataFiles { + metricSet := mbtest.NewFetcher(t, config) + t.Run(fmt.Sprintf("metric prefix: %s", df.metricPrefix), func(t *testing.T) { + metricSet.WriteEventsCond(t, df.path, metricPrefixIs(df.metricPrefix)) + }) + } } diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json index f9335292924..97a9192732a 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data.json @@ -49,4 +49,4 @@ "service": { "type": "googlecloud" } -} \ No newline at end of file +} diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data_l3.json b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data_l3.json new file mode 100644 index 00000000000..9a58a5ebc5b --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/_meta/data_l3.json @@ -0,0 +1,50 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "provider": "googlecloud" + }, + "event": { + "dataset": "googlecloud.loadbalancing", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "labels": { + "metrics": { + "client_network": "UNKNOWN", + "client_subnetwork": "REMOTE_IS_EXTERNAL", + "client_zone": "UNKNOWN" + }, + "resource": { + "backend_name": "ocp-be-c5kjr-master-us-central1-c", + "backend_scope": "us-central1-c", + "backend_scope_type": "ZONE", + "backend_subnetwork_name": "ocp-be-c5kjr-master-subnet", + "backend_target_name": "ocp-be-c5kjr-api-internal", + "backend_target_type": "BACKEND_SERVICE", + "backend_type": "INSTANCE_GROUP", + "forwarding_rule_name": "ocp-be-c5kjr-api-internal", + "load_balancer_name": "ocp-be-c5kjr-api-internal", + "network_name": "ocp-be-c5kjr-network", + "region": "us-central1" + } + }, + "loadbalancing": { + "l3": { + "internal": { + "egress_packets_count": 394 + } + } + } + }, + "metricset": { + "name": "loadbalancing", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/loadbalancing/loadbalancing_integration_test.go b/x-pack/metricbeat/module/googlecloud/loadbalancing/loadbalancing_integration_test.go index 80a5e99c57e..c070d96a736 100644 --- a/x-pack/metricbeat/module/googlecloud/loadbalancing/loadbalancing_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/loadbalancing/loadbalancing_integration_test.go @@ -8,14 +8,38 @@ package loadbalancing import ( + "fmt" "testing" + "github.com/elastic/beats/v7/libbeat/common" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { - config := googlecloud.GetConfigForTest(t, "loadbalancing") - metricSet := mbtest.NewFetcher(t, config) - metricSet.WriteEvents(t, "/") + metricPrefixIs := func(metricPrefix string) func(e common.MapStr) bool { + return func(e common.MapStr) bool { + v, err := e.GetValue(metricPrefix) + return err == nil && v != nil + } + } + + dataFiles := []struct { + metricPrefix string + path string + }{ + {"googlecloud.loadbalancing", "./_meta/data.json"}, + {"googlecloud.loadbalancing.https", "./_meta/data_https.json"}, + {"googlecloud.loadbalancing.l3", "./_meta/data_l3.json"}, + {"googlecloud.loadbalancing.tcp_ssl_proxy", "./_meta/data_tcp_ssl_proxy.json"}, + } + + config := stackdriver.GetConfigForTest(t, "loadbalancing") + + for _, df := range dataFiles { + metricSet := mbtest.NewFetcher(t, config) + t.Run(fmt.Sprintf("metric prefix: %s", df.metricPrefix), func(t *testing.T) { + metricSet.WriteEventsCond(t, df.path, metricPrefixIs(df.metricPrefix)) + }) + } } diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json index fd0dd71838a..c1a0365401d 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data.json @@ -14,12 +14,12 @@ "googlecloud": { "labels": { "resource": { - "subscription_id": "test-ks" + "subscription_id": "test-subscription-1" } }, "pubsub": { "subscription": { - "oldest_unacked_message_age": { + "backlog_bytes": { "value": 0 } } diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_subscription.json b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_subscription.json new file mode 100644 index 00000000000..13c2724143f --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_subscription.json @@ -0,0 +1,35 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "provider": "googlecloud" + }, + "event": { + "dataset": "googlecloud.pubsub", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "labels": { + "resource": { + "subscription_id": "test-ks" + } + }, + "pubsub": { + "subscription": { + "backlog_bytes": { + "value": 0 + } + } + } + }, + "metricset": { + "name": "pubsub", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_topic.json b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_topic.json new file mode 100644 index 00000000000..7f296406136 --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/pubsub/_meta/data_topic.json @@ -0,0 +1,43 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "provider": "googlecloud" + }, + "event": { + "dataset": "googlecloud.pubsub", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "labels": { + "resource": { + "topic_id": "test-ks" + } + }, + "pubsub": { + "topic": { + "message_sizes": { + "bucket_options": { + "Options": { + "ExponentialBuckets": { + "num_finite_buckets": 16, + "growth_factor": 4, + "scale": 1 + } + } + } + } + } + } + }, + "metricset": { + "name": "pubsub", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/pubsub/pubsub_integration_test.go b/x-pack/metricbeat/module/googlecloud/pubsub/pubsub_integration_test.go index 90032d50310..6d739326dea 100644 --- a/x-pack/metricbeat/module/googlecloud/pubsub/pubsub_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/pubsub/pubsub_integration_test.go @@ -8,14 +8,38 @@ package pubsub import ( + "fmt" "testing" + "github.com/elastic/beats/v7/libbeat/common" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" - "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { - config := googlecloud.GetConfigForTest(t, "pubsub") - metricSet := mbtest.NewFetcher(t, config) - metricSet.WriteEvents(t, "/") + metricPrefixIs := func(metricPrefix string) func(e common.MapStr) bool { + return func(e common.MapStr) bool { + v, err := e.GetValue(metricPrefix) + return err == nil && v != nil + } + } + + dataFiles := []struct { + metricPrefix string + path string + }{ + {"googlecloud.pubsub", "./_meta/data.json"}, + {"googlecloud.pubsub.snapshot", "./_meta/data_snapshot.json"}, + {"googlecloud.pubsub.subscription", "./_meta/data_subscription.json"}, + {"googlecloud.pubsub.topic", "./_meta/data_topic.json"}, + } + + config := stackdriver.GetConfigForTest(t, "pubsub") + + for _, df := range dataFiles { + metricSet := mbtest.NewFetcher(t, config) + t.Run(fmt.Sprintf("metric prefix: %s", df.metricPrefix), func(t *testing.T) { + metricSet.WriteEventsCond(t, df.path, metricPrefixIs(df.metricPrefix)) + }) + } } diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json b/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json index 02541f8a1e7..679102209b2 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/data.json @@ -2,7 +2,7 @@ "@timestamp": "2017-10-12T08:05:34.853Z", "cloud": { "account": { - "id": "elastic-observability" + "id": "elastic-apm" }, "provider": "googlecloud" }, @@ -14,18 +14,17 @@ "googlecloud": { "labels": { "metrics": { - "method": "GetBucketMetadata", - "response_code": "OK" + "storage_class": "MULTI_REGIONAL" }, "resource": { - "bucket_name": "ocp-be-c5kjr-image-registry-us-central1-dsoafnbgctvfimpavswkgn", - "location": "us-central1" + "bucket_name": "artifacts.elastic-apm.appspot.com", + "location": "us" } }, "storage": { - "network": { - "sent_bytes_count": { - "value": 2637 + "storage": { + "object_count": { + "value": 15 } } } diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/data_network.json b/x-pack/metricbeat/module/googlecloud/storage/_meta/data_network.json new file mode 100644 index 00000000000..7bb1c6a4c86 --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/data_network.json @@ -0,0 +1,38 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "provider": "googlecloud" + }, + "event": { + "dataset": "googlecloud.storage", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "labels": { + "metrics": { + "method": "GetBucketMetadata", + "response_code": "OK" + }, + "resource": { + "bucket_name": "ocp-be-c5kjr-image-registry-us-central1-dsoafnbgctvfimpavswkgn", + "location": "us-central1" + } + }, + "storage": { + "network": { + "received_bytes_count": 0 + } + } + }, + "metricset": { + "name": "storage", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/storage/_meta/data_storage.json b/x-pack/metricbeat/module/googlecloud/storage/_meta/data_storage.json new file mode 100644 index 00000000000..f98a6a6f744 --- /dev/null +++ b/x-pack/metricbeat/module/googlecloud/storage/_meta/data_storage.json @@ -0,0 +1,39 @@ +{ + "@timestamp": "2017-10-12T08:05:34.853Z", + "cloud": { + "account": { + "id": "elastic-observability" + }, + "provider": "googlecloud" + }, + "event": { + "dataset": "googlecloud.storage", + "duration": 115000, + "module": "googlecloud" + }, + "googlecloud": { + "labels": { + "metrics": { + "storage_class": "MULTI_REGIONAL" + }, + "resource": { + "bucket_name": "fstuermer-log-data-categorization-7-6-0", + "location": "us" + } + }, + "storage": { + "storage": { + "total_bytes": { + "value": 4472520191 + } + } + } + }, + "metricset": { + "name": "storage", + "period": 10000 + }, + "service": { + "type": "googlecloud" + } +} \ No newline at end of file diff --git a/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go b/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go index 0f2b010f5f2..7d40e7b2bf9 100644 --- a/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go +++ b/x-pack/metricbeat/module/googlecloud/storage/storage_integration_test.go @@ -8,14 +8,38 @@ package storage import ( + "fmt" "testing" + "github.com/elastic/beats/v7/libbeat/common" mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" "github.com/elastic/beats/v7/x-pack/metricbeat/module/googlecloud/stackdriver" ) func TestData(t *testing.T) { + metricPrefixIs := func(metricPrefix string) func(e common.MapStr) bool { + return func(e common.MapStr) bool { + v, err := e.GetValue(metricPrefix) + return err == nil && v != nil + } + } + + dataFiles := []struct { + metricPrefix string + path string + }{ + {"googlecloud.storage", "./_meta/data.json"}, + {"googlecloud.storage.authz", "./_meta/data_authz.json"}, + {"googlecloud.storage.network", "./_meta/data_network.json"}, + {"googlecloud.storage.storage", "./_meta/data_storage.json"}, + } + config := stackdriver.GetConfigForTest(t, "storage") - metricSet := mbtest.NewFetcher(t, config) - metricSet.WriteEvents(t, "/") + + for _, df := range dataFiles { + metricSet := mbtest.NewFetcher(t, config) + t.Run(fmt.Sprintf("metric prefix: %s", df.metricPrefix), func(t *testing.T) { + metricSet.WriteEventsCond(t, df.path, metricPrefixIs(df.metricPrefix)) + }) + } } From c44482d6524de02b90d6ff13678b05d0be4c20aa Mon Sep 17 00:00:00 2001 From: Andrew Kroh Date: Fri, 24 Apr 2020 18:47:39 -0400 Subject: [PATCH 11/17] Don't bind to wildcard address in unit test (#17973) This changes the TCP input test to only bind to the loopback address for testing. It prevents firewall security popups when testing on macOS. --- filebeat/inputsource/tcp/server_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/filebeat/inputsource/tcp/server_test.go b/filebeat/inputsource/tcp/server_test.go index 15831666206..032f7d33e29 100644 --- a/filebeat/inputsource/tcp/server_test.go +++ b/filebeat/inputsource/tcp/server_test.go @@ -213,7 +213,7 @@ func TestReceiveNewEventsConcurrently(t *testing.T) { to := func(message []byte, mt inputsource.NetworkMetadata) { ch <- &info{message: string(message), mt: mt} } - cfg, err := common.NewConfigFrom(map[string]interface{}{"host": ":0"}) + cfg, err := common.NewConfigFrom(map[string]interface{}{"host": "127.0.0.1:0"}) if !assert.NoError(t, err) { return } From 76d534984e8a288e1ae1ba0c0bc0cb851208224c Mon Sep 17 00:00:00 2001 From: DeDe Morton Date: Fri, 24 Apr 2020 16:42:13 -0700 Subject: [PATCH 12/17] [docs] Add release highlights for 7.7 (#17887) * [docs] Add release highlights for 7.7 * Fix link to loadbalancing metricset * Add Cloudfoundry links * Commenting out link before merging --- .../highlights/highlights-7.7.0.asciidoc | 136 +++++++++++++++++- 1 file changed, 131 insertions(+), 5 deletions(-) diff --git a/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc b/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc index 51fe50c30a9..6bba7ee896e 100644 --- a/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc +++ b/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc @@ -7,8 +7,8 @@ Each release of {beats} brings new features and product improvements. Following are the most notable features and enhancements in 7.7. -For a complete list of related highlights, see the -https://www.elastic.co/blog/elastic-observability-7-6-0-released[Observability 7.7 release blog]. +//For a complete list of related highlights, see the +//https://www.elastic.co/blog/elastic-observability-7-7-0-released[Observability 7.7 release blog]. For a list of bug fixes and other changes, see the {beats} <> and <>. @@ -18,9 +18,135 @@ For a list of bug fixes and other changes, see the {beats} // tag::notable-highlights[] -//[float] -//==== highlight +[float] +[role="xpack"] +==== Azure Kubernetes and container monitoring -//Description +We've enhanced the {metricbeat} Azure module with three new metricsets +for monitoring Microsoft Azure container services: +{metricbeat-ref}/metricbeat-metricset-azure-container_instance.html[`container_instance`], +{metricbeat-ref}/metricbeat-metricset-azure-container_registry.html[`container_registry`], and +{metricbeat-ref}/metricbeat-metricset-azure-container_service.html[`container_service`]. +These metricsets collect metrics from the following services: + +* Azure Kubernetes Service +* Azure Container Instances +* Azure Container Registry + +Each metricset comes with a dashboard that makes it easy to get started +monitoring Azure containers. + +[float] +[role="xpack"] +==== AWS VPCs, Lambdas, and DynamoDB monitoring + +In the {metricbeat} AWS module, we've added support for monitoring +mission-critical services in the Amazon VPC ecosystem: + +* The {metricbeat-ref}/metricbeat-metricset-aws-natgateway.html[`natgateway`] +metricset enables you to monitor NAT gateway services to gain a +better perspective on how web applications or services are performing. +* The {metricbeat-ref}/metricbeat-metricset-aws-natgateway.html[`transitgateway`] +metricset collects metrics sent to CloudWatch by VPC when requests are flowing +through the gateway.  +* The {metricbeat-ref}/metricbeat-metricset-aws-vpn.html[`vpn`] metricset +enables you to monitor VPN tunnels. VPN metric data is automatically sent to +CloudWatch as it becomes available. + +Also new in this release, the +{metricbeat-ref}/metricbeat-metricset-aws-lambda.html[`lambda`] metricset monitors +Lambda functions across multiple accounts and regions. The metricset collects +metrics such as total invocations, errors, duration, throttles, dead-letter queue +errors, and iterator age for stream-based invocations. You can use these metrics +to configure alerts to respond to events such as changes in performance and +error rates. + +We’ve also added the +{metricbeat-ref}/metricbeat-metricset-aws-dynamodb.html[`dynamodb`] metricset to +monitor AWS DynamoDB instances. This metricset collects metrics, such as request +latency, transaction conflicts, provisioned and consumed capacity, and many +others.   
 + +For Amazon Aurora users, we've enhanced the +{metricbeat-ref}/metricbeat-metricset-aws-rds.html[`rds`] metricset to collect +metrics about your Aurora instances. + +[float] +[role="xpack"] +==== Google Cloud Platform (GCP) Pub/Sub and Load Balancer monitoring + +We've enhanced the {metricbeat} Google Cloud Platform module with support +for monitoring additional services: + +* The {metricbeat-ref}/metricbeat-metricset-googlecloud-pubsub.html[`pubsub`] +metricset connects to the Stackdriver API and collects metrics for topics, +subscriptions, and snapshots used by a specified account.  +* The {metricbeat-ref}/metricbeat-metricset-googlecloud-loadbalancing.html[`loadbalancing`] +metricset captures load balancing performance metrics for HTTP(S), TCP, and UDP +applications. + +[float] +[role="xpack"] +==== Pivotal Cloud Foundry (PCF) monitoring + +We continue to expand coverage of container platforms by adding support for +Pivotal Cloud Foundry. + +The new {metricbeat} +{metricbeat-ref}/metricbeat-module-cloudfoundry.html[Cloudfoundry module] +connects to the Cloud Foundry API and pulls container, counter, and value +metrics from it. These metrics are stored in `cloudfoundry.container`, +`cloudfoundry.counter` and `cloudfoundry.value` metricsets. + +In {filebeat}, the new +{filebeat-ref}/filebeat-input-cloudfoundry.html[`cloudfoundry`] input collects +http access logs, container logs, and error logs from Cloud Foundry. + +To learn how to run {beats} on Cloud Foundry, see: + +* {metricbeat-ref}/running-on-cloudfoundry.html[Run {metricbeat} on Cloud Foundry] +* {filebeat-ref}/running-on-cloudfoundry.html[Run {filebeat} on Cloud Foundry] + +[float] +[role="xpack"] +==== IBM MQ monitoring + +Prior to this release, we offered support in {filebeat} for collecting and +parsing queue manager error logs from IBM MQ. + +In this release, we’ve added the missing piece: metrics. The new {metricbeat} +{metricbeat-ref}/metricbeat-module-ibmmq.html[IBM MQ module] pulls status +information for the Queue Manager, which is responsible for maintaining queues +and ensuring that messages in the queues reach their destination. + +[float] +[role="xpack"] +==== Redis Enterprise monitoring + +In addition to our existing Redis module, which focuses on the open source +version of the database, we’ve added the new {metricbeat} +{metricbeat-ref}/metricbeat-module-redisenterprise.html[Redis Enterprise] module +to monitor features such as nodes and proxies in a Redis cluster. + +[float] +[role="xpack"] +==== Istio monitoring + +For Istio users, we've introduced the {metricbeat} +{metricbeat-ref}/metricbeat-module-istio.html[Istio module] to +collect metrics about service traffic (in, out, and within a service mesh), +control-plane metrics for Istio Pilot, Galley, Mixer components, and much +more. + +[float] +==== ECS field improvements in {filebeat} + +The {ecs-ref}/index.html[Elastic Common Schema] (ECS) defines a common set of +fields to be used when storing event data in {es}. + +In 7.7, we've improved ECS field mappings in numerous {filebeat} modules, +making it easier for you to analyze, visualize, and correlate data across +events. For a list of affected modules, see the +<> for 7.7.0. // end::notable-highlights[] From cbf05e0a3443dac9c2dea89796349b950f33d208 Mon Sep 17 00:00:00 2001 From: DeDe Morton Date: Fri, 24 Apr 2020 19:19:13 -0700 Subject: [PATCH 13/17] [docs] Change release notes link to use global style (#17987) --- libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc b/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc index 6bba7ee896e..959bbea91f5 100644 --- a/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc +++ b/libbeat/docs/release-notes/highlights/highlights-7.7.0.asciidoc @@ -147,6 +147,6 @@ fields to be used when storing event data in {es}. In 7.7, we've improved ECS field mappings in numerous {filebeat} modules, making it easier for you to analyze, visualize, and correlate data across events. For a list of affected modules, see the -<> for 7.7.0. +{beats-ref}/release-notes.html[Release Notes] for 7.7.0. // end::notable-highlights[] From 96f66a4471a9994ddd5f2f0bdd51339b0b813b0a Mon Sep 17 00:00:00 2001 From: Andrew Kroh Date: Sat, 25 Apr 2020 05:17:20 -0400 Subject: [PATCH 14/17] Fix filebeat script tester tests (#17972) The tester assumes pipelines have a JSON extension. So it started failing when the one of the pipelines was changed to YAML. I made changes to fix the test, but added an explicit error if you try to use this tool with a YAML pipeline. Additionally I noticed this tool does not handle templated pipelines. --- filebeat/fileset/fileset_test.go | 8 +++--- filebeat/fileset/modules_integration_test.go | 2 +- filebeat/magefile.go | 4 ++- filebeat/scripts/tester/main.go | 30 ++++++++++++++++---- filebeat/scripts/tester/main_test.go | 2 +- 5 files changed, 33 insertions(+), 13 deletions(-) diff --git a/filebeat/fileset/fileset_test.go b/filebeat/fileset/fileset_test.go index 59e5862eb2f..e7865074d8d 100644 --- a/filebeat/fileset/fileset_test.go +++ b/filebeat/fileset/fileset_test.go @@ -56,7 +56,7 @@ func TestLoadManifestNginx(t *testing.T) { manifest, err := fs.readManifest() assert.NoError(t, err) assert.Equal(t, manifest.ModuleVersion, "1.0") - assert.Equal(t, manifest.IngestPipeline, []string{"ingest/default.json"}) + assert.Equal(t, manifest.IngestPipeline, []string{"ingest/pipeline.yml"}) assert.Equal(t, manifest.Input, "config/nginx-access.yml") vars := manifest.Vars @@ -189,7 +189,7 @@ func TestGetInputConfigNginx(t *testing.T) { assert.True(t, cfg.HasField("pipeline")) pipelineID, err := cfg.String("pipeline", -1) assert.NoError(t, err) - assert.Equal(t, "filebeat-5.2.0-nginx-access-default", pipelineID) + assert.Equal(t, "filebeat-5.2.0-nginx-access-pipeline", pipelineID) } func TestGetInputConfigNginxOverrides(t *testing.T) { @@ -217,7 +217,7 @@ func TestGetInputConfigNginxOverrides(t *testing.T) { pipelineID, err := c.String("pipeline", -1) assert.NoError(t, err) - assert.Equal(t, "filebeat-5.2.0-nginx-access-default", pipelineID) + assert.Equal(t, "filebeat-5.2.0-nginx-access-pipeline", pipelineID) }, }, "pipeline": { @@ -276,7 +276,7 @@ func TestGetPipelineNginx(t *testing.T) { assert.Len(t, pipelines, 1) pipeline := pipelines[0] - assert.Equal(t, "filebeat-5.2.0-nginx-access-default", pipeline.id) + assert.Equal(t, "filebeat-5.2.0-nginx-access-pipeline", pipeline.id) assert.Contains(t, pipeline.contents, "description") assert.Contains(t, pipeline.contents, "processors") } diff --git a/filebeat/fileset/modules_integration_test.go b/filebeat/fileset/modules_integration_test.go index 8c5bc91bf70..5428fb1f549 100644 --- a/filebeat/fileset/modules_integration_test.go +++ b/filebeat/fileset/modules_integration_test.go @@ -115,7 +115,7 @@ func TestSetupNginx(t *testing.T) { t.Fatal(err) } - status, _, _ := client.Request("GET", "/_ingest/pipeline/filebeat-5.2.0-nginx-access-default", "", nil, nil) + status, _, _ := client.Request("GET", "/_ingest/pipeline/filebeat-5.2.0-nginx-access-pipeline", "", nil, nil) assert.Equal(t, 200, status) status, _, _ = client.Request("GET", "/_ingest/pipeline/filebeat-5.2.0-nginx-error-pipeline", "", nil, nil) assert.Equal(t, 200, status) diff --git a/filebeat/magefile.go b/filebeat/magefile.go index 0c3d8881892..c65d99a910d 100644 --- a/filebeat/magefile.go +++ b/filebeat/magefile.go @@ -185,7 +185,9 @@ func IntegTest() { // Use TEST_COVERAGE=true to enable code coverage profiling. // Use RACE_DETECTOR=true to enable the race detector. func GoIntegTest(ctx context.Context) error { - return devtools.GoTest(ctx, devtools.DefaultGoTestIntegrationArgs()) + return devtools.RunIntegTest("goIntegTest", func() error { + return devtools.GoTest(ctx, devtools.DefaultGoTestIntegrationArgs()) + }) } // PythonIntegTest executes the python system tests in the integration environment (Docker). diff --git a/filebeat/scripts/tester/main.go b/filebeat/scripts/tester/main.go index 2ae9de44388..6da063e6204 100644 --- a/filebeat/scripts/tester/main.go +++ b/filebeat/scripts/tester/main.go @@ -108,6 +108,11 @@ func main() { } for _, path := range paths { + // TODO: Add support for testing YAML pipelines. + if filepath.Ext(path) == ".yml" { + fmt.Fprintf(os.Stderr, "YAML pipelines are not supported by this tool. Cannot process %q.", path) + os.Exit(3) + } err = testPipeline(*esURL, path, logs, *verbose, *simulateVerbose) if err != nil { os.Stderr.WriteString(err.Error()) @@ -185,8 +190,14 @@ func getPipelinePath(path, modulesPath string) ([]string, error) { module := parts[0] fileset := parts[1] - pathToPipeline := filepath.Join(modulesPath, module, fileset, "ingest", "pipeline.json") - _, err := os.Stat(pathToPipeline) + var pathToPipeline string + for _, ext := range []string{".json", ".yml"} { + pathToPipeline = filepath.Join(modulesPath, module, fileset, "ingest", "pipeline"+ext) + _, err = os.Stat(pathToPipeline) + if err == nil { + break + } + } if err != nil { return nil, fmt.Errorf("Cannot find pipeline in %s: %v %v\n", path, err, pathToPipeline) } @@ -199,8 +210,7 @@ func getPipelinePath(path, modulesPath string) ([]string, error) { return nil, err } for _, f := range files { - isPipelineFile := strings.HasSuffix(f.Name(), ".json") - if isPipelineFile { + if isPipelineFileExtension(f.Name()) { fullPath := filepath.Join(path, f.Name()) paths = append(paths, fullPath) } @@ -211,8 +221,7 @@ func getPipelinePath(path, modulesPath string) ([]string, error) { return paths, nil } - isPipelineFile := strings.HasSuffix(path, ".json") - if isPipelineFile { + if isPipelineFileExtension(path) { return []string{path}, nil } @@ -220,6 +229,15 @@ func getPipelinePath(path, modulesPath string) ([]string, error) { } +func isPipelineFileExtension(path string) bool { + ext := filepath.Ext(path) + switch strings.ToLower(ext) { + case ".yml", ".json": + return true + } + return false +} + func testPipeline(esURL, path string, logs []string, verbose, simulateVerbose bool) error { pipeline, err := readPipeline(path) if err != nil { diff --git a/filebeat/scripts/tester/main_test.go b/filebeat/scripts/tester/main_test.go index 79f53186a1b..6284f6f2e5e 100644 --- a/filebeat/scripts/tester/main_test.go +++ b/filebeat/scripts/tester/main_test.go @@ -29,7 +29,7 @@ func TestGetPipelinePath(t *testing.T) { count int }{ { - pipelinePath: "../../module/postgresql/log/ingest/pipeline.json", + pipelinePath: "../../module/postgresql/log/ingest/pipeline.yml", count: 1, }, { From ad21d71a86c1a771eebf9dca816841fc362d8e33 Mon Sep 17 00:00:00 2001 From: Shaunak Kashyap Date: Sat, 25 Apr 2020 12:23:17 -0700 Subject: [PATCH 15/17] Fixes typo in log message (#17897) * Fixes typo in log message * Adding CHANGELOG entry --- CHANGELOG.next.asciidoc | 1 + filebeat/input/log/input.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 2f1e4043572..cfd844884d3 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -114,6 +114,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Remove migrationVersion map 7.7.0 reference from Kibana dashboard file to fix backward compatibility issues. {pull}17425[17425] - Fix issue 17734 to retry on rate-limit error in the Filebeat httpjson input. {issue}17734[17734] {pull}17735[17735] - Fixed `cloudfoundry.access` to have the correct `cloudfoundry.app.id` contents. {pull}17847[17847] +- Fixed typo in log message. {pull}17897[17897] *Heartbeat* diff --git a/filebeat/input/log/input.go b/filebeat/input/log/input.go index ac0d71cf53d..b3cf4049551 100644 --- a/filebeat/input/log/input.go +++ b/filebeat/input/log/input.go @@ -161,7 +161,7 @@ func NewInput( // It goes through all states coming from the registry. Only the states which match the glob patterns of // the input will be loaded and updated. All other states will not be touched. func (p *Input) loadStates(states []file.State) error { - logp.Debug("input", "exclude_files: %s. Number of stats: %d", p.config.ExcludeFiles, len(states)) + logp.Debug("input", "exclude_files: %s. Number of states: %d", p.config.ExcludeFiles, len(states)) for _, state := range states { // Check if state source belongs to this input. If yes, update the state. From ae1125d0cd8bc7b0ffe09953dfb3a83105ea3235 Mon Sep 17 00:00:00 2001 From: Mario Castro Date: Mon, 27 Apr 2020 13:19:23 +0200 Subject: [PATCH 16/17] [Filebeat] Fix Cisco ASA 3020** and 106023 messages (#17964) --- CHANGELOG.next.asciidoc | 1 + .../module/cisco/asa/test/asa-fix.log | 5 + .../cisco/asa/test/asa-fix.log-expected.json | 152 +++++++++++++++++ .../module/cisco/ftd/test/asa-fix.log | 5 + .../cisco/ftd/test/asa-fix.log-expected.json | 157 ++++++++++++++++++ .../cisco/shared/ingest/asa-ftd-pipeline.yml | 10 +- 6 files changed, 326 insertions(+), 4 deletions(-) create mode 100644 x-pack/filebeat/module/cisco/asa/test/asa-fix.log create mode 100644 x-pack/filebeat/module/cisco/asa/test/asa-fix.log-expected.json create mode 100644 x-pack/filebeat/module/cisco/ftd/test/asa-fix.log create mode 100644 x-pack/filebeat/module/cisco/ftd/test/asa-fix.log-expected.json diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index cfd844884d3..146c9534cac 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -115,6 +115,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix issue 17734 to retry on rate-limit error in the Filebeat httpjson input. {issue}17734[17734] {pull}17735[17735] - Fixed `cloudfoundry.access` to have the correct `cloudfoundry.app.id` contents. {pull}17847[17847] - Fixed typo in log message. {pull}17897[17897] +- Fix Cisco ASA ASA 3020** and 106023 messages {pull}17964[17964] *Heartbeat* diff --git a/x-pack/filebeat/module/cisco/asa/test/asa-fix.log b/x-pack/filebeat/module/cisco/asa/test/asa-fix.log new file mode 100644 index 00000000000..00819e8eec1 --- /dev/null +++ b/x-pack/filebeat/module/cisco/asa/test/asa-fix.log @@ -0,0 +1,5 @@ +Apr 17 2020 14:08:08 SNL-ASA-VPN-A01 : %ASA-6-302016: Teardown UDP connection 110577675 for Outside:10.123.123.123/53723(LOCAL\Elastic) to Inside:10.233.123.123/53 duration 0:00:00 bytes 148 (zzzzzz) +Apr 17 2020 14:00:31 SNL-ASA-VPN-A01 : %ASA-4-106023: Deny icmp src Inside:10.123.123.123 dst Outside:10.123.123.123 (type 11, code 0) by access-group "Inside_access_in" [0x0, 0x0] +Apr 15 2013 09:36:50: %ASA-4-106023: Deny tcp src dmz:10.123.123.123/6316 dst outside:10.123.123.123/53 type 3, code 0, by access-group "acl_dmz" [0xe3afb522, 0x0] +Apr 17 2020 14:16:20 SNL-ASA-VPN-A01 : %ASA-4-106023: Deny udp src Inside:10.123.123.123/57621(LOCAL\Elastic) dst Outside:10.123.123.123/57621 by access-group "Inside_access_in" [0x0, 0x0] +Apr 17 2020 14:15:07 SNL-ASA-VPN-A01 : %ASA-2-106017: Deny IP due to Land Attack from 10.123.123.123 to 10.123.123.123 diff --git a/x-pack/filebeat/module/cisco/asa/test/asa-fix.log-expected.json b/x-pack/filebeat/module/cisco/asa/test/asa-fix.log-expected.json new file mode 100644 index 00000000000..de470786f66 --- /dev/null +++ b/x-pack/filebeat/module/cisco/asa/test/asa-fix.log-expected.json @@ -0,0 +1,152 @@ +[ + { + "cisco.asa.connection_id": "110577675", + "cisco.asa.destination_interface": "Inside", + "cisco.asa.message_id": "302016", + "cisco.asa.source_interface": "Outside", + "cisco.asa.source_username": "(LOCAL\\Elastic)", + "destination.address": "10.233.123.123", + "destination.ip": "10.233.123.123", + "destination.port": 53, + "event.action": "flow-expiration", + "event.code": 302016, + "event.dataset": "cisco.asa", + "event.duration": 0, + "event.end": "2020-04-17T14:08:08.000-02:00", + "event.module": "cisco", + "event.original": "%ASA-6-302016: Teardown UDP connection 110577675 for Outside:10.123.123.123/53723(LOCAL\\Elastic) to Inside:10.233.123.123/53 duration 0:00:00 bytes 148 (zzzzzz)", + "event.severity": 6, + "event.start": "2020-04-17T16:08:08.000Z", + "event.timezone": "-02:00", + "fileset.name": "asa", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "informational", + "log.offset": 0, + "network.bytes": 148, + "network.iana_number": 17, + "network.transport": "udp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 53723, + "tags": [ + "cisco-asa" + ] + }, + { + "cisco.asa.destination_interface": "Outside", + "cisco.asa.message_id": "106023", + "cisco.asa.rule_name": "Inside_access_in", + "cisco.asa.source_interface": "Inside", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.asa", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny icmp src Inside:10.123.123.123 dst Outside:10.123.123.123 (type 11, code 0) by access-group \"Inside_access_in\" [0x0, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "asa", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "warning", + "log.offset": 200, + "network.iana_number": 1, + "network.transport": "icmp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "tags": [ + "cisco-asa" + ] + }, + { + "cisco.asa.destination_interface": "outside", + "cisco.asa.message_id": "106023", + "cisco.asa.rule_name": "acl_dmz", + "cisco.asa.source_interface": "dmz", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "destination.port": 53, + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.asa", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny tcp src dmz:10.123.123.123/6316 dst outside:10.123.123.123/53 type 3, code 0, by access-group \"acl_dmz\" [0xe3afb522, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "asa", + "input.type": "log", + "log.level": "warning", + "log.offset": 381, + "network.iana_number": 6, + "network.transport": "tcp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 6316, + "tags": [ + "cisco-asa" + ] + }, + { + "cisco.asa.destination_interface": "Outside", + "cisco.asa.message_id": "106023", + "cisco.asa.rule_name": "Inside_access_in", + "cisco.asa.source_interface": "Inside", + "cisco.asa.source_username": "(LOCAL\\Elastic)", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "destination.port": 57621, + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.asa", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny udp src Inside:10.123.123.123/57621(LOCAL\\Elastic) dst Outside:10.123.123.123/57621 by access-group \"Inside_access_in\" [0x0, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "asa", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "warning", + "log.offset": 545, + "network.iana_number": 17, + "network.transport": "udp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 57621, + "tags": [ + "cisco-asa" + ] + }, + { + "cisco.asa.message_id": "106017", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "event.action": "firewall-rule", + "event.code": 106017, + "event.dataset": "cisco.asa", + "event.module": "cisco", + "event.original": "%ASA-2-106017: Deny IP due to Land Attack from 10.123.123.123 to 10.123.123.123", + "event.outcome": "deny", + "event.severity": 2, + "event.timezone": "-02:00", + "fileset.name": "asa", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "critical", + "log.offset": 734, + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "tags": [ + "cisco-asa" + ] + } +] \ No newline at end of file diff --git a/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log b/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log new file mode 100644 index 00000000000..00819e8eec1 --- /dev/null +++ b/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log @@ -0,0 +1,5 @@ +Apr 17 2020 14:08:08 SNL-ASA-VPN-A01 : %ASA-6-302016: Teardown UDP connection 110577675 for Outside:10.123.123.123/53723(LOCAL\Elastic) to Inside:10.233.123.123/53 duration 0:00:00 bytes 148 (zzzzzz) +Apr 17 2020 14:00:31 SNL-ASA-VPN-A01 : %ASA-4-106023: Deny icmp src Inside:10.123.123.123 dst Outside:10.123.123.123 (type 11, code 0) by access-group "Inside_access_in" [0x0, 0x0] +Apr 15 2013 09:36:50: %ASA-4-106023: Deny tcp src dmz:10.123.123.123/6316 dst outside:10.123.123.123/53 type 3, code 0, by access-group "acl_dmz" [0xe3afb522, 0x0] +Apr 17 2020 14:16:20 SNL-ASA-VPN-A01 : %ASA-4-106023: Deny udp src Inside:10.123.123.123/57621(LOCAL\Elastic) dst Outside:10.123.123.123/57621 by access-group "Inside_access_in" [0x0, 0x0] +Apr 17 2020 14:15:07 SNL-ASA-VPN-A01 : %ASA-2-106017: Deny IP due to Land Attack from 10.123.123.123 to 10.123.123.123 diff --git a/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log-expected.json b/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log-expected.json new file mode 100644 index 00000000000..bf6c6b521da --- /dev/null +++ b/x-pack/filebeat/module/cisco/ftd/test/asa-fix.log-expected.json @@ -0,0 +1,157 @@ +[ + { + "@timestamp": "2020-04-17T14:08:08.000-02:00", + "cisco.ftd.connection_id": "110577675", + "cisco.ftd.destination_interface": "Inside", + "cisco.ftd.message_id": "302016", + "cisco.ftd.source_interface": "Outside", + "cisco.ftd.source_username": "(LOCAL\\Elastic)", + "destination.address": "10.233.123.123", + "destination.ip": "10.233.123.123", + "destination.port": 53, + "event.action": "flow-expiration", + "event.code": 302016, + "event.dataset": "cisco.ftd", + "event.duration": 0, + "event.end": "2020-04-17T14:08:08.000-02:00", + "event.module": "cisco", + "event.original": "%ASA-6-302016: Teardown UDP connection 110577675 for Outside:10.123.123.123/53723(LOCAL\\Elastic) to Inside:10.233.123.123/53 duration 0:00:00 bytes 148 (zzzzzz)", + "event.severity": 6, + "event.start": "2020-04-17T16:08:08.000Z", + "event.timezone": "-02:00", + "fileset.name": "ftd", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "informational", + "log.offset": 0, + "network.bytes": 148, + "network.iana_number": 17, + "network.transport": "udp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 53723, + "tags": [ + "cisco-ftd" + ] + }, + { + "@timestamp": "2020-04-17T14:00:31.000-02:00", + "cisco.ftd.destination_interface": "Outside", + "cisco.ftd.message_id": "106023", + "cisco.ftd.rule_name": "Inside_access_in", + "cisco.ftd.source_interface": "Inside", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.ftd", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny icmp src Inside:10.123.123.123 dst Outside:10.123.123.123 (type 11, code 0) by access-group \"Inside_access_in\" [0x0, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "ftd", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "warning", + "log.offset": 200, + "network.iana_number": 1, + "network.transport": "icmp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "tags": [ + "cisco-ftd" + ] + }, + { + "@timestamp": "2013-04-15T09:36:50.000-02:00", + "cisco.ftd.destination_interface": "outside", + "cisco.ftd.message_id": "106023", + "cisco.ftd.rule_name": "acl_dmz", + "cisco.ftd.source_interface": "dmz", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "destination.port": 53, + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.ftd", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny tcp src dmz:10.123.123.123/6316 dst outside:10.123.123.123/53 type 3, code 0, by access-group \"acl_dmz\" [0xe3afb522, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "ftd", + "input.type": "log", + "log.level": "warning", + "log.offset": 381, + "network.iana_number": 6, + "network.transport": "tcp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 6316, + "tags": [ + "cisco-ftd" + ] + }, + { + "@timestamp": "2020-04-17T14:16:20.000-02:00", + "cisco.ftd.destination_interface": "Outside", + "cisco.ftd.message_id": "106023", + "cisco.ftd.rule_name": "Inside_access_in", + "cisco.ftd.source_interface": "Inside", + "cisco.ftd.source_username": "(LOCAL\\Elastic)", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "destination.port": 57621, + "event.action": "firewall-rule", + "event.code": 106023, + "event.dataset": "cisco.ftd", + "event.module": "cisco", + "event.original": "%ASA-4-106023: Deny udp src Inside:10.123.123.123/57621(LOCAL\\Elastic) dst Outside:10.123.123.123/57621 by access-group \"Inside_access_in\" [0x0, 0x0]", + "event.outcome": "deny", + "event.severity": 4, + "event.timezone": "-02:00", + "fileset.name": "ftd", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "warning", + "log.offset": 545, + "network.iana_number": 17, + "network.transport": "udp", + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "source.port": 57621, + "tags": [ + "cisco-ftd" + ] + }, + { + "@timestamp": "2020-04-17T14:15:07.000-02:00", + "cisco.ftd.message_id": "106017", + "destination.address": "10.123.123.123", + "destination.ip": "10.123.123.123", + "event.action": "firewall-rule", + "event.code": 106017, + "event.dataset": "cisco.ftd", + "event.module": "cisco", + "event.original": "%ASA-2-106017: Deny IP due to Land Attack from 10.123.123.123 to 10.123.123.123", + "event.outcome": "deny", + "event.severity": 2, + "event.timezone": "-02:00", + "fileset.name": "ftd", + "host.hostname": "SNL-ASA-VPN-A01", + "input.type": "log", + "log.level": "critical", + "log.offset": 734, + "service.type": "cisco", + "source.address": "10.123.123.123", + "source.ip": "10.123.123.123", + "tags": [ + "cisco-ftd" + ] + } +] \ No newline at end of file diff --git a/x-pack/filebeat/module/cisco/shared/ingest/asa-ftd-pipeline.yml b/x-pack/filebeat/module/cisco/shared/ingest/asa-ftd-pipeline.yml index 9dfc96d77e8..babf697616b 100644 --- a/x-pack/filebeat/module/cisco/shared/ingest/asa-ftd-pipeline.yml +++ b/x-pack/filebeat/module/cisco/shared/ingest/asa-ftd-pipeline.yml @@ -1,3 +1,4 @@ +--- description: "Pipeline for Cisco {< .internal_PREFIX >} logs" processors: # @@ -240,10 +241,11 @@ processors: if: "ctx._temp_.cisco.message_id == '106022'" field: "message" pattern: "%{event.outcome} %{network.transport} connection spoof from %{source.address} to %{destination.address} on interface %{_temp_.cisco.source_interface}" - - dissect: + - grok: if: "ctx._temp_.cisco.message_id == '106023'" field: "message" - pattern: '%{event.outcome} %{network.transport} src %{_temp_.cisco.source_interface}:%{source.address}/%{source.port} dst %{_temp_.cisco.destination_interface}:%{destination.address}/%{destination.port} %{} access%{}group "%{_temp_.cisco.list_id}"%{}' + patterns: + - ^%{NOTSPACE:event.outcome} %{NOTSPACE:network.transport} src %{NOTSPACE:_temp_.cisco.source_interface}:%{IPORHOST:source.address}(/%{POSINT:source.port})?\s*(%{GREEDYDATA:_temp_.cisco.source_username} )?dst %{NOTSPACE:_temp_.cisco.destination_interface}:%{IPORHOST:destination.address}(/%{POSINT:destination.port})?%{DATA}by access.group "%{NOTSPACE:_temp_.cisco.list_id}" - dissect: if: "ctx._temp_.cisco.message_id == '106027'" field: "message" @@ -440,8 +442,8 @@ processors: field: "message" if: '["302014", "302016", "302018", "302021", "302036", "302304", "302306"].contains(ctx._temp_.cisco.message_id)' patterns: - - "Teardown %{NOTSPACE:network.transport} (?:state-bypass )?connection %{NOTSPACE:_temp_.cisco.connection_id} (?:for|from) %{NOTCOLON:_temp_.cisco.source_interface}:%{DATA:source.address}/%{NUMBER:source.port:int} (?:%{NOTSPACE:_temp_.cisco.source_username} )?to %{NOTCOLON:_temp_.cisco.destination_interface}:%{DATA:destination.address}/%{NUMBER:destination.port:int} (?:%{NOTSPACE:_temp_.cisco.destination_username} )?(?:duration %{TIME:_temp_.duration_hms} bytes %{NUMBER:network.bytes:int})%{GREEDYDATA}" - - "Teardown %{NOTSPACE:network.transport} connection for faddr (?:%{NOTCOLON:_temp_.cisco.source_interface}:)?%{ECSDESTIPORHOST}/%{NUMBER} (?:%{NOTSPACE:_temp_.cisco.destination_username} )?gaddr (?:%{NOTCOLON}:)?%{MAPPEDSRC}/%{NUMBER} laddr (?:%{NOTCOLON:_temp_.cisco.source_interface}:)?%{ECSSOURCEIPORHOST}/%{NUMBER}(?: %{NOTSPACE:_temp_.cisco.source_username})?%{GREEDYDATA}" + - Teardown %{NOTSPACE:network.transport} (?:state-bypass )?connection %{NOTSPACE:_temp_.cisco.connection_id} (?:for|from) %{NOTCOLON:_temp_.cisco.source_interface}:%{DATA:source.address}/%{NUMBER:source.port:int}\s*(?:%{NOTSPACE:_temp_.cisco.source_username} )?to %{NOTCOLON:_temp_.cisco.destination_interface}:%{DATA:destination.address}/%{NUMBER:destination.port:int}\s*(?:%{NOTSPACE:_temp_.cisco.destination_username} )?(?:duration %{TIME:_temp_.duration_hms} bytes %{NUMBER:network.bytes:int})%{GREEDYDATA} + - Teardown %{NOTSPACE:network.transport} connection for faddr (?:%{NOTCOLON:_temp_.cisco.source_interface}:)?%{ECSDESTIPORHOST}/%{NUMBER}\s*(?:%{NOTSPACE:_temp_.cisco.destination_username} )?gaddr (?:%{NOTCOLON}:)?%{MAPPEDSRC}/%{NUMBER} laddr (?:%{NOTCOLON:_temp_.cisco.source_interface}:)?%{ECSSOURCEIPORHOST}/%{NUMBER}\s*(?:%{NOTSPACE:_temp_.cisco.source_username})?%{GREEDYDATA} pattern_definitions: NOTCOLON: "[^:]*" ECSSOURCEIPORHOST: "(?:%{IP:source.address}|%{HOSTNAME:source.domain})" From cc6c4e33db3fdcf2bd7d962532c14fc080d5371b Mon Sep 17 00:00:00 2001 From: Lee Hinman <57081003+leehinman@users.noreply.github.com> Date: Mon, 27 Apr 2020 08:54:45 -0500 Subject: [PATCH 17/17] Improve ECS categorization field mappings in redis module (#17918) - event.kind - event.category - event.type Closes #16179 --- CHANGELOG.next.asciidoc | 1 + .../module/redis/log/ingest/pipeline.json | 85 --- filebeat/module/redis/log/ingest/pipeline.yml | 84 +++ filebeat/module/redis/log/manifest.yml | 2 +- .../log/test/redis-5.0.3.log-expected.json | 7 + .../test/redis-darwin-3.0.2.log-expected.json | 126 ++++ .../test/redis-debian-1.2.6.log-expected.json | 700 ++++++++++++++++++ .../redis-windows-2.4.6.log-expected.json | 238 ++++++ .../redis/log/test/test.log-expected.json | 28 + 9 files changed, 1185 insertions(+), 86 deletions(-) delete mode 100644 filebeat/module/redis/log/ingest/pipeline.json create mode 100644 filebeat/module/redis/log/ingest/pipeline.yml diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 146c9534cac..ad59347f35e 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -274,6 +274,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Improve ECS categorization field mappings for nginx module. {issue}16174[16174] {pull}17844[17844] - Improve ECS categorization field mappings in postgresql module. {issue}16177[16177] {pull}17914[17914] - Improve ECS categorization field mappings in rabbitmq module. {issue}16178[16178] {pull}17916[17916] +- Improve ECS categorization field mappings in redis module. {issue}16179[16179] {pull}17918[17918] *Heartbeat* diff --git a/filebeat/module/redis/log/ingest/pipeline.json b/filebeat/module/redis/log/ingest/pipeline.json deleted file mode 100644 index c9ec2d3371b..00000000000 --- a/filebeat/module/redis/log/ingest/pipeline.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "description": "Pipeline for parsing redis logs", - "processors": [ - { - "grok": { - "field": "message", - "patterns": [ - "(%{POSINT:process.pid:long}:%{CHAR:redis.log.role} )?(%{REDISTIMESTAMP1:redis.log.timestamp}||%{REDISTIMESTAMP2:redis.log.timestamp}) %{REDISLEVEL:log.level} %{GREEDYDATA:message}", - "%{POSINT:process.pid:long}:signal-handler \\(%{POSINT:redis.log.timestamp}\\) %{GREEDYDATA:message}" - ], - "pattern_definitions": { - "CHAR": "[a-zA-Z]", - "REDISLEVEL": "[.\\-*#]", - "REDISTIMESTAMP1": "%{MONTHDAY} %{MONTH} %{TIME}", - "REDISTIMESTAMP2": "%{MONTHDAY} %{MONTH} %{YEAR} %{TIME}" - } - } - }, - { - "script": { - "lang": "painless", - "source": "if (ctx.log.level == params.dot) {\n ctx.log.level = params.debug;\n } else if (ctx.log.level == params.dash) {\n ctx.log.level = params.verbose;\n } else if (ctx.log.level == params.asterisk) {\n ctx.log.level = params.notice;\n } else if (ctx.log.level == params.hash) {\n ctx.log.level = params.warning;\n }", - "params": { - "dot": ".", - "debug": "debug", - "dash": "-", - "verbose": "verbose", - "asterisk": "*", - "notice": "notice", - "hash": "#", - "warning": "warning" - } - } - }, - { - "script": { - "lang": "painless", - "source": "if (ctx.redis.log.role == params.master_abbrev) {\n ctx.redis.log.role = params.master;\n } else if (ctx.redis.log.role == params.slave_abbrev) {\n ctx.redis.log.role = params.slave;\n } else if (ctx.redis.log.role == params.child_abbrev) {\n ctx.redis.log.role = params.child;\n } else if (ctx.redis.log.role == params.sentinel_abbrev) {\n ctx.redis.log.role = params.sentinel;\n }\n ", - "params": { - "master_abbrev": "M", - "master": "master", - "slave_abbrev": "S", - "slave": "slave", - "child_abbrev": "C", - "child": "child", - "sentinel_abbrev": "X", - "sentinel": "sentinel" - } - } - }, - { - "rename": { - "field": "@timestamp", - "target_field": "event.created" - } - }, - { - "date": { - "field": "redis.log.timestamp", - "target_field": "@timestamp", - "formats": [ - "dd MMM yyyy H:m:s.SSS", - "dd MMM H:m:s.SSS", - "dd MMM H:m:s", - "UNIX" - ], - "ignore_failure": true - } - }, - { - "remove": { - "field": "redis.log.timestamp", - "ignore_failure": true - } - } - ], - "on_failure": [ - { - "set": { - "field": "error.message", - "value": "{{ _ingest.on_failure_message }}" - } - } - ] -} diff --git a/filebeat/module/redis/log/ingest/pipeline.yml b/filebeat/module/redis/log/ingest/pipeline.yml new file mode 100644 index 00000000000..d1c08cab378 --- /dev/null +++ b/filebeat/module/redis/log/ingest/pipeline.yml @@ -0,0 +1,84 @@ +description: Pipeline for parsing redis logs +processors: +- grok: + field: message + patterns: + - (%{POSINT:process.pid:long}:%{CHAR:redis.log.role} )?(%{REDISTIMESTAMP1:redis.log.timestamp}||%{REDISTIMESTAMP2:redis.log.timestamp}) + %{REDISLEVEL:log.level} %{GREEDYDATA:message} + - '%{POSINT:process.pid:long}:signal-handler \(%{POSINT:redis.log.timestamp}\) + %{GREEDYDATA:message}' + pattern_definitions: + CHAR: '[a-zA-Z]' + REDISLEVEL: '[.\-*#]' + REDISTIMESTAMP1: '%{MONTHDAY} %{MONTH} %{TIME}' + REDISTIMESTAMP2: '%{MONTHDAY} %{MONTH} %{YEAR} %{TIME}' +- script: + lang: painless + source: >- + if (ctx.log.level == params.dot) { + ctx.log.level = params.debug; + } else if (ctx.log.level == params.dash) { + ctx.log.level = params.verbose; + } else if (ctx.log.level == params.asterisk) { + ctx.log.level = params.notice; + } else if (ctx.log.level == params.hash) { + ctx.log.level = params.warning; + } + params: + dot: . + debug: debug + dash: '-' + verbose: verbose + asterisk: '*' + notice: notice + hash: '#' + warning: warning +- script: + lang: painless + source: >- + if (ctx.redis.log.role == params.master_abbrev) { + ctx.redis.log.role = params.master; + } else if (ctx.redis.log.role == params.slave_abbrev) { + ctx.redis.log.role = params.slave; + } else if (ctx.redis.log.role == params.child_abbrev) { + ctx.redis.log.role = params.child; + } else if (ctx.redis.log.role == params.sentinel_abbrev) { + ctx.redis.log.role = params.sentinel; + } + params: + master_abbrev: M + master: master + slave_abbrev: S + slave: slave + child_abbrev: C + child: child + sentinel_abbrev: X + sentinel: sentinel +- rename: + field: '@timestamp' + target_field: event.created +- date: + field: redis.log.timestamp + target_field: '@timestamp' + formats: + - dd MMM yyyy H:m:s.SSS + - dd MMM H:m:s.SSS + - dd MMM H:m:s + - UNIX + ignore_failure: true +- remove: + field: redis.log.timestamp + ignore_failure: true +- set: + field: event.kind + value: event +- append: + field: event.category + value: database +- append: + field: event.type + value: info +on_failure: +- set: + field: error.message + value: '{{ _ingest.on_failure_message }}' diff --git a/filebeat/module/redis/log/manifest.yml b/filebeat/module/redis/log/manifest.yml index 3c63a894c28..728e098d4c2 100644 --- a/filebeat/module/redis/log/manifest.yml +++ b/filebeat/module/redis/log/manifest.yml @@ -10,5 +10,5 @@ var: os.windows: - "c:/program files/Redis/logs/redis.log*" -ingest_pipeline: ingest/pipeline.json +ingest_pipeline: ingest/pipeline.yml input: config/log.yml diff --git a/filebeat/module/redis/log/test/redis-5.0.3.log-expected.json b/filebeat/module/redis/log/test/redis-5.0.3.log-expected.json index 71d76c30a96..d3efc715fe3 100644 --- a/filebeat/module/redis/log/test/redis-5.0.3.log-expected.json +++ b/filebeat/module/redis/log/test/redis-5.0.3.log-expected.json @@ -1,7 +1,14 @@ [ { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", diff --git a/filebeat/module/redis/log/test/redis-darwin-3.0.2.log-expected.json b/filebeat/module/redis/log/test/redis-darwin-3.0.2.log-expected.json index ff533b577ac..365ced2400b 100644 --- a/filebeat/module/redis/log/test/redis-darwin-3.0.2.log-expected.json +++ b/filebeat/module/redis/log/test/redis-darwin-3.0.2.log-expected.json @@ -1,7 +1,14 @@ [ { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -12,8 +19,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -24,8 +38,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -36,8 +57,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -48,8 +76,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.offset": 1478, @@ -58,8 +93,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -70,8 +112,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -82,8 +131,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -94,8 +150,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -106,8 +169,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -118,8 +188,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -130,8 +207,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -142,8 +226,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -154,8 +245,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.offset": 3273, @@ -164,8 +262,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -176,8 +281,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -188,8 +300,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -200,8 +319,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", diff --git a/filebeat/module/redis/log/test/redis-debian-1.2.6.log-expected.json b/filebeat/module/redis/log/test/redis-debian-1.2.6.log-expected.json index ff13e461ef4..a8f9d71736e 100644 --- a/filebeat/module/redis/log/test/redis-debian-1.2.6.log-expected.json +++ b/filebeat/module/redis/log/test/redis-debian-1.2.6.log-expected.json @@ -1,7 +1,14 @@ [ { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -10,8 +17,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -20,8 +34,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -30,8 +51,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -40,8 +68,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -50,8 +85,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -60,8 +102,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -70,8 +119,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -80,8 +136,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -90,8 +153,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -100,8 +170,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -110,8 +187,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -120,8 +204,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -130,8 +221,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -140,8 +238,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -150,8 +255,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -160,8 +272,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -170,8 +289,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -180,8 +306,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -190,8 +323,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -200,8 +340,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -210,8 +357,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -220,8 +374,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -230,8 +391,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -240,8 +408,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -250,8 +425,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -260,8 +442,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -270,8 +459,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -280,8 +476,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -290,8 +493,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -300,8 +510,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -310,8 +527,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -320,8 +544,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -330,8 +561,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -340,8 +578,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -350,8 +595,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -360,8 +612,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -370,8 +629,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -380,8 +646,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -390,8 +663,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -400,8 +680,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -410,8 +697,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -420,8 +714,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -430,8 +731,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -440,8 +748,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -450,8 +765,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -460,8 +782,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -470,8 +799,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -480,8 +816,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -490,8 +833,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -500,8 +850,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -510,8 +867,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -520,8 +884,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -530,8 +901,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -540,8 +918,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -550,8 +935,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -560,8 +952,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -570,8 +969,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -580,8 +986,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -590,8 +1003,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -600,8 +1020,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -610,8 +1037,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -620,8 +1054,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -630,8 +1071,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -640,8 +1088,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -650,8 +1105,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -660,8 +1122,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -670,8 +1139,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -680,8 +1156,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -690,8 +1173,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -700,8 +1190,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -710,8 +1207,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -720,8 +1224,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -730,8 +1241,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -740,8 +1258,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -750,8 +1275,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -760,8 +1292,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -770,8 +1309,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -780,8 +1326,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -790,8 +1343,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -800,8 +1360,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -810,8 +1377,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -820,8 +1394,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -830,8 +1411,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -840,8 +1428,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -850,8 +1445,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -860,8 +1462,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -870,8 +1479,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -880,8 +1496,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -890,8 +1513,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -900,8 +1530,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -910,8 +1547,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -920,8 +1564,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -930,8 +1581,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -940,8 +1598,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -950,8 +1615,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -960,8 +1632,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -970,8 +1649,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -980,8 +1666,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -990,8 +1683,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", diff --git a/filebeat/module/redis/log/test/redis-windows-2.4.6.log-expected.json b/filebeat/module/redis/log/test/redis-windows-2.4.6.log-expected.json index 4fb3b4e92b0..dbafda2b3df 100644 --- a/filebeat/module/redis/log/test/redis-windows-2.4.6.log-expected.json +++ b/filebeat/module/redis/log/test/redis-windows-2.4.6.log-expected.json @@ -1,7 +1,14 @@ [ { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -10,8 +17,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "warning", @@ -20,8 +34,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -30,8 +51,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -40,8 +68,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -50,8 +85,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -60,8 +102,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -70,8 +119,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -80,8 +136,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -90,8 +153,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -100,8 +170,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -110,8 +187,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -120,8 +204,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -130,8 +221,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -140,8 +238,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -150,8 +255,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -160,8 +272,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -170,8 +289,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -180,8 +306,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -190,8 +323,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -200,8 +340,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -210,8 +357,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -220,8 +374,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -230,8 +391,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -240,8 +408,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -250,8 +425,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -260,8 +442,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -270,8 +459,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -280,8 +476,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -290,8 +493,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -300,8 +510,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -310,8 +527,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -320,8 +544,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", @@ -330,8 +561,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "verbose", diff --git a/filebeat/module/redis/log/test/test.log-expected.json b/filebeat/module/redis/log/test/test.log-expected.json index b74b64a93ed..cee22b55c3b 100644 --- a/filebeat/module/redis/log/test/test.log-expected.json +++ b/filebeat/module/redis/log/test/test.log-expected.json @@ -1,7 +1,14 @@ [ { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -12,8 +19,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "debug", @@ -22,8 +36,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.level": "notice", @@ -32,8 +53,15 @@ "service.type": "redis" }, { + "event.category": [ + "database" + ], "event.dataset": "redis.log", + "event.kind": "event", "event.module": "redis", + "event.type": [ + "info" + ], "fileset.name": "log", "input.type": "log", "log.offset": 250,