diff --git a/.backportrc.json b/.backportrc.json index 51dc238ee78..975ff90ec69 100644 --- a/.backportrc.json +++ b/.backportrc.json @@ -1,6 +1,6 @@ { "upstream": "elastic/beats", - "branches": [ { "name": "7.x", "checked": true }, "7.11" ], + "branches": [ { "name": "7.x", "checked": true }, "7.12", "7.11" ], "labels": ["backport"], "autoAssign": true, "prTitle": "Cherry-pick to {targetBranch}: {commitMessages}" diff --git a/.ci/apm-beats-update.groovy b/.ci/apm-beats-update.groovy index f8da89d6fa6..1d1099ebb03 100644 --- a/.ci/apm-beats-update.groovy +++ b/.ci/apm-beats-update.groovy @@ -86,10 +86,9 @@ pipeline { branch "v\\d?" tag "v\\d+\\.\\d+\\.\\d+*" allOf { - expression { return env.BEATS_UPDATED != "false" || isCommentTrigger() } + expression { return env.BEATS_UPDATED != "false" || isCommentTrigger() || isUserTrigger() } changeRequest() } - } } steps { @@ -127,6 +126,7 @@ def beatsUpdate() { git config --global --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*" go mod edit -replace github.com/elastic/beats/v7=\${GOPATH}/src/github.com/elastic/beats-local + echo '{"name": "${GOPATH}/src/github.com/elastic/beats-local", "licenceType": "Elastic"}' >> \${GOPATH}/src/github.com/elastic/beats-local/dev-tools/notice/overrides.json make update git commit -a -m beats-update diff --git a/.ci/packaging.groovy b/.ci/packaging.groovy index 34a5306eab3..ad0fef0575d 100644 --- a/.ci/packaging.groovy +++ b/.ci/packaging.groovy @@ -152,7 +152,9 @@ pipeline { withGithubNotify(context: "Packaging Linux ${BEATS_FOLDER}") { deleteDir() release() - pushCIDockerImages() + dir("${BASE_DIR}"){ + pushCIDockerImages(arch: 'amd64') + } } prepareE2ETestForPackage("${BEATS_FOLDER}") } @@ -234,7 +236,9 @@ pipeline { withGithubNotify(context: "Packaging linux/arm64 ${BEATS_FOLDER}") { deleteWorkspace() release() - pushCIDockerImages() + dir("${BASE_DIR}"){ + pushCIDockerImages(arch: 'arm64') + } } } post { @@ -270,27 +274,37 @@ pipeline { } } -def pushCIDockerImages(){ +/** +* @param arch what architecture +*/ +def pushCIDockerImages(Map args = [:]) { + def arch = args.get('arch', 'amd64') catchError(buildResult: 'UNSTABLE', message: 'Unable to push Docker images', stageResult: 'FAILURE') { if (env?.BEATS_FOLDER?.endsWith('auditbeat')) { - tagAndPush('auditbeat') + tagAndPush(beatName: 'auditbeat', arch: arch) } else if (env?.BEATS_FOLDER?.endsWith('filebeat')) { - tagAndPush('filebeat') + tagAndPush(beatName: 'filebeat', arch: arch) } else if (env?.BEATS_FOLDER?.endsWith('heartbeat')) { - tagAndPush('heartbeat') + tagAndPush(beatName: 'heartbeat', arch: arch) } else if ("${env.BEATS_FOLDER}" == "journalbeat"){ - tagAndPush('journalbeat') + tagAndPush(beatName: 'journalbeat', arch: arch) } else if (env?.BEATS_FOLDER?.endsWith('metricbeat')) { - tagAndPush('metricbeat') + tagAndPush(beatName: 'metricbeat', arch: arch) } else if ("${env.BEATS_FOLDER}" == "packetbeat"){ - tagAndPush('packetbeat') + tagAndPush(beatName: 'packetbeat', arch: arch) } else if ("${env.BEATS_FOLDER}" == "x-pack/elastic-agent") { - tagAndPush('elastic-agent') + tagAndPush(beatName: 'elastic-agent', arch: arch) } } } -def tagAndPush(beatName){ +/** +* @param beatName name of the Beat +* @param arch what architecture +*/ +def tagAndPush(Map args = [:]) { + def beatName = args.beatName + def arch = args.get('arch', 'amd64') def libbetaVer = env.BEAT_VERSION def aliasVersion = "" if("${env.SNAPSHOT}" == "true"){ @@ -307,14 +321,22 @@ def tagAndPush(beatName){ dockerLogin(secret: "${DOCKERELASTIC_SECRET}", registry: "${DOCKER_REGISTRY}") + // supported tags + def tags = [tagName, "${env.GIT_BASE_COMMIT}"] + if (!isPR() && aliasVersion != "") { + tags << aliasVersion + } // supported image flavours def variants = ["", "-oss", "-ubi8"] variants.each { variant -> - doTagAndPush(beatName, variant, libbetaVer, tagName) - doTagAndPush(beatName, variant, libbetaVer, "${env.GIT_BASE_COMMIT}") - - if (!isPR() && aliasVersion != "") { - doTagAndPush(beatName, variant, libbetaVer, aliasVersion) + tags.each { tag -> + // TODO: + // For backward compatibility let's ensure we tag only for amd64, then E2E can benefit from until + // they support the versioning with the architecture + if ("${arch}" == "amd64") { + doTagAndPush(beatName: beatName, variant: variant, sourceTag: libbetaVer, targetTag: "${tag}") + } + doTagAndPush(beatName: beatName, variant: variant, sourceTag: libbetaVer, targetTag: "${tag}-${arch}") } } } @@ -325,18 +347,19 @@ def tagAndPush(beatName){ * @param sourceTag tag to be used as source for the docker tag command, usually under the 'beats' namespace * @param targetTag tag to be used as target for the docker tag command, usually under the 'observability-ci' namespace */ -def doTagAndPush(beatName, variant, sourceTag, targetTag) { +def doTagAndPush(Map args = [:]) { + def beatName = args.beatName + def variant = args.variant + def sourceTag = args.sourceTag + def targetTag = args.targetTag def sourceName = "${DOCKER_REGISTRY}/beats/${beatName}${variant}:${sourceTag}" def targetName = "${DOCKER_REGISTRY}/observability-ci/${beatName}${variant}:${targetTag}" - def iterations = 0 retryWithSleep(retries: 3, seconds: 5, backoff: true) { iterations++ - def status = sh(label: "Change tag and push ${targetName}", script: """ - docker tag ${sourceName} ${targetName} - docker push ${targetName} - """, returnStatus: true) - + def status = sh(label: "Change tag and push ${targetName}", + script: ".ci/scripts/docker-tag-push.sh ${sourceName} ${targetName}", + returnStatus: true) if ( status > 0 && iterations < 3) { error("tag and push failed for ${beatName}, retry") } else if ( status > 0 ) { diff --git a/.ci/scripts/docker-tag-push.sh b/.ci/scripts/docker-tag-push.sh new file mode 100755 index 00000000000..49886422c34 --- /dev/null +++ b/.ci/scripts/docker-tag-push.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -exuo pipefail +MSG="parameter missing." +SOURCE_IMAGE=${1:?$MSG} +TARGET_IMAGE=${2:?$MSG} + +if docker image inspect "${SOURCE_IMAGE}" &> /dev/null ; then + docker tag "${SOURCE_IMAGE}" "${TARGET_IMAGE}" + docker push "${TARGET_IMAGE}" +else + echo "docker image ${SOURCE_IMAGE} does not exist" +fi diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index f2f64493d0f..6af78023970 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -48,6 +48,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d *Filebeat* +- Add fileset to ingest PostgreSQL CSV logs. {pull}23334[23334] - Fix parsing of Elasticsearch node name by `elasticsearch/slowlog` fileset. {pull}14547[14547] - Improve ECS field mappings in panw module. event.outcome now only contains success/failure per ECS specification. {issue}16025[16025] {pull}17910[17910] - Improve ECS categorization field mappings for nginx module. http.request.referrer only populated when nginx sets a value {issue}16174[16174] {pull}17844[17844] @@ -105,6 +106,8 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Add `nodes` to filebeat-kubernetes.yaml ClusterRole. {issue}24051[24051] {pull}24052[24052] *Heartbeat* +- Adds negative body match. {pull}20728[20728] +- Refactor synthetics configuration to new syntax. {pull}23467[23467] *Journalbeat* @@ -278,6 +281,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Change the `event.created` in Netflow events to be the time the event was created by Filebeat to be consistent with ECS. {pull}23094[23094] - Update `filestream` reader offset when a line is skipped. {pull}23417[23417] +- Add check for empty values in azure module. {pull}24156[24156] *Filebeat* @@ -384,6 +388,8 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix Logstash module handling of logstash.log.log_event.action field. {issue}20709[20709] - aws/s3access dataset was populating event.duration using the wrong unit. {pull}23920[23920] - Zoom module pipeline failed to ingest some chat_channel events. {pull}23904[23904] +- Fix Netflow module issue with missing `internal_networks` config parameter. {issue}24094[24094] {pull}24110[24110] +- Fix aws/vpcflow generating errors for empty logs or unidentified formats. {pull}24167[24167] *Heartbeat* @@ -569,6 +575,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Add keystore support for autodiscover static configurations. {pull]16306[16306] - Add TLS support to Kerberos authentication in Elasticsearch. {pull}18607[18607] - Add support for multiple sets of hints on autodiscover {pull}18883[18883] +- Add config option `rotate_on_startup` to file output {issue}19150[19150] {pull}19347[19347] - Add a configurable delay between retries when an app metadata cannot be retrieved by `add_cloudfoundry_metadata`. {pull}19181[19181] - Added the `max_cached_sessions` option to the script processor. {pull}19562[19562] - Add support for DNS over TLS for the dns_processor. {pull}19321[19321] @@ -993,6 +1000,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Apache: convert status.total_kbytes to status.total_bytes in fleet mode. {pull}23022[23022] - Release MSSQL as GA {pull}23146[23146] - Enrich events of `state_service` metricset with kubernetes services' metadata. {pull}23730[23730] +- Add support for Darwin/arm M1. {pull}24019[24019] - Check fields are documented in aws metricsets. {pull}23887[23887] *Packetbeat* diff --git a/Jenkinsfile b/Jenkinsfile index ede5b7f9056..eea9a0ce044 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -334,23 +334,26 @@ def uploadPackages(bucketUri, beatsFolder){ /** * Push the docker images for the given beat. * @param beatsFolder beats folder +* @param arch what architecture */ -def pushCIDockerImages(beatsFolder){ +def pushCIDockerImages(Map args = [:]) { + def arch = args.get('arch', 'amd64') + def beatsFolder = args.beatsFolder catchError(buildResult: 'UNSTABLE', message: 'Unable to push Docker images', stageResult: 'FAILURE') { if (beatsFolder.endsWith('auditbeat')) { - tagAndPush('auditbeat') + tagAndPush(beatName: 'auditbeat', arch: arch) } else if (beatsFolder.endsWith('filebeat')) { - tagAndPush('filebeat') + tagAndPush(beatName: 'filebeat', arch: arch) } else if (beatsFolder.endsWith('heartbeat')) { - tagAndPush('heartbeat') + tagAndPush(beatName: 'heartbeat', arch: arch) } else if ("${beatsFolder}" == "journalbeat"){ - tagAndPush('journalbeat') + tagAndPush(beatName: 'journalbeat', arch: arch) } else if (beatsFolder.endsWith('metricbeat')) { - tagAndPush('metricbeat') + tagAndPush(beatName: 'metricbeat', arch: arch) } else if ("${beatsFolder}" == "packetbeat"){ - tagAndPush('packetbeat') + tagAndPush(beatName: 'packetbeat', arch: arch) } else if ("${beatsFolder}" == "x-pack/elastic-agent") { - tagAndPush('elastic-agent') + tagAndPush(beatName: 'elastic-agent', arch: arch) } } } @@ -359,7 +362,9 @@ def pushCIDockerImages(beatsFolder){ * Tag and push all the docker images for the given beat. * @param beatName name of the Beat */ -def tagAndPush(beatName){ +def tagAndPush(Map args = [:]) { + def beatName = args.beatName + def arch = args.get('arch', 'amd64') def libbetaVer = env.VERSION if("${env?.SNAPSHOT.trim()}" == "true"){ aliasVersion = libbetaVer.substring(0, libbetaVer.lastIndexOf(".")) // remove third number in version @@ -373,41 +378,40 @@ def tagAndPush(beatName){ tagName = "pr-${env.CHANGE_ID}" } + // supported tags + def tags = [tagName, "${env.GIT_BASE_COMMIT}"] + if (!isPR() && aliasVersion != "") { + tags << aliasVersion + } // supported image flavours def variants = ["", "-oss", "-ubi8"] variants.each { variant -> - doTagAndPush(beatName, variant, libbetaVer, tagName) - doTagAndPush(beatName, variant, libbetaVer, "${env.GIT_BASE_COMMIT}") - - if (!isPR() && aliasVersion != "") { - doTagAndPush(beatName, variant, libbetaVer, aliasVersion) + tags.each { tag -> + doTagAndPush(beatName: beatName, variant: variant, sourceTag: libbetaVer, targetTag: "${tag}-${arch}") } } } /** -* Tag and push the given sourceTag docker image with the tag name targetTag. * @param beatName name of the Beat * @param variant name of the variant used to build the docker image name * @param sourceTag tag to be used as source for the docker tag command, usually under the 'beats' namespace * @param targetTag tag to be used as target for the docker tag command, usually under the 'observability-ci' namespace */ -def doTagAndPush(beatName, variant, sourceTag, targetTag) { +def doTagAndPush(Map args = [:]) { + def beatName = args.beatName + def variant = args.variant + def sourceTag = args.sourceTag + def targetTag = args.targetTag def sourceName = "${DOCKER_REGISTRY}/beats/${beatName}${variant}:${sourceTag}" def targetName = "${DOCKER_REGISTRY}/observability-ci/${beatName}${variant}:${targetTag}" def iterations = 0 retryWithSleep(retries: 3, seconds: 5, backoff: true) { iterations++ - def status = sh(label: "Change tag and push ${targetName}", script: """#!/usr/bin/env bash - docker images - if docker image inspect "${sourceName}" &> /dev/null ; then - docker tag ${sourceName} ${targetName} - docker push ${targetName} - else - echo 'docker image ${sourceName} does not exist' - fi - """, returnStatus: true) + def status = sh(label: "Change tag and push ${targetName}", + script: ".ci/scripts/docker-tag-push.sh ${sourceName} ${targetName}", + returnStatus: true) if ( status > 0 && iterations < 3) { error("tag and push failed for ${beatName}, retry") } else if ( status > 0 ) { @@ -475,6 +479,7 @@ def target(Map args = [:]) { def isMage = args.get('isMage', false) def isE2E = args.e2e?.get('enabled', false) def isPackaging = args.get('package', false) + def dockerArch = args.get('dockerArch', 'amd64') withNode(args.label) { withGithubNotify(context: "${context}") { withBeatsEnv(archive: true, withModule: withModule, directory: directory, id: args.id) { @@ -495,7 +500,7 @@ def target(Map args = [:]) { // TODO: // push docker images should happen only after the e2e? if (isPackaging) { - pushCIDockerImages("${directory}") + pushCIDockerImages(beatsFolder: "${directory}", arch: dockerArch) } } } @@ -934,7 +939,15 @@ class RunCommand extends co.elastic.beats.BeatsFunction { steps.packagingArm(context: args.context, command: args.content.get('packaging-arm'), directory: args.project, label: args.label, isMage: true, id: args.id, e2e: args.content.get('e2e'), package: true) } if(args?.content?.containsKey('packaging-linux')) { - steps.packagingLinux(context: args.context, command: args.content.get('packaging-linux'), directory: args.project, label: args.label, isMage: true, id: args.id, e2e: args.content.get('e2e'), package: true) + steps.packagingLinux(context: args.context, + command: args.content.get('packaging-linux'), + directory: args.project, + label: args.label, + isMage: true, + id: args.id, + e2e: args.content.get('e2e'), + package: true, + dockerArch: 'amd64') } if(args?.content?.containsKey('k8sTest')) { steps.k8sTest(context: args.context, versions: args.content.k8sTest.split(','), label: args.label, id: args.id) diff --git a/NOTICE.txt b/NOTICE.txt index d8956ba5a9b..6e184407644 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -5891,11 +5891,11 @@ This Agreement is governed by the laws of the State of New York and the intellec -------------------------------------------------------------------------------- Dependency : github.com/elastic/ecs -Version: v1.0.0-beta2.0.20210202203518-638aa2bb5271 +Version: v1.8.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/ecs@v1.0.0-beta2.0.20210202203518-638aa2bb5271/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/ecs@v1.8.0/LICENSE.txt: Apache License @@ -7665,11 +7665,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-structform@v -------------------------------------------------------------------------------- Dependency : github.com/elastic/go-sysinfo -Version: v1.5.0 +Version: v1.6.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sysinfo@v1.5.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/go-sysinfo@v1.6.0/LICENSE.txt: Apache License @@ -8299,11 +8299,11 @@ Contents of probable licence file $GOMODCACHE/github.com/elastic/go-ucfg@v0.8.3/ -------------------------------------------------------------------------------- Dependency : github.com/elastic/gosigar -Version: v0.13.0 +Version: v0.14.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.13.0/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/gosigar@v0.14.0/LICENSE: Apache License Version 2.0, January 2004 diff --git a/auditbeat/auditbeat.reference.yml b/auditbeat/auditbeat.reference.yml index cc8cfdba2db..8ceb7914f04 100644 --- a/auditbeat/auditbeat.reference.yml +++ b/auditbeat/auditbeat.reference.yml @@ -1103,7 +1103,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/auditbeat/include/fields.go b/auditbeat/include/fields.go index 861d51b9705..1b7bf7056c2 100644 --- a/auditbeat/include/fields.go +++ b/auditbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/auditbeat/module/file_integrity/metricset_test.go b/auditbeat/module/file_integrity/metricset_test.go index 841056f7aa1..60766d7c141 100644 --- a/auditbeat/module/file_integrity/metricset_test.go +++ b/auditbeat/module/file_integrity/metricset_test.go @@ -67,10 +67,6 @@ func TestData(t *testing.T) { func TestActions(t *testing.T) { defer abtest.SetupDataDir(t)() - if runtime.GOOS == "windows" { - t.Skip("Skipping flaky test: https://github.com/elastic/beats/issues/22518") - } - bucket, err := datastore.OpenBucket(bucketName) if err != nil { t.Fatal(err) @@ -138,10 +134,8 @@ func TestActions(t *testing.T) { } // Create some files in first directory - go func() { - ioutil.WriteFile(createdFilepath, []byte("hello world"), 0600) - ioutil.WriteFile(updatedFilepath, []byte("hello world"), 0600) - }() + ioutil.WriteFile(createdFilepath, []byte("hello world"), 0600) + ioutil.WriteFile(updatedFilepath, []byte("hello world"), 0600) ms := mbtest.NewPushMetricSetV2(t, getConfig(dir, newDir)) events := mbtest.RunPushMetricSetV2(10*time.Second, 5, ms) diff --git a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yml b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yml index f99281b6889..a97a4c6bed7 100644 --- a/deploy/kubernetes/elastic-agent-standalone-kubernetes.yml +++ b/deploy/kubernetes/elastic-agent-standalone-kubernetes.yml @@ -23,10 +23,10 @@ spec: dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:7.12.0-SNAPSHOT + image: docker.elastic.co/beats/elastic-agent:8.0.0 args: [ "-c", "/etc/agent.yml", - "-e", "-d", "composable.providers.kubernetes", + "-e", ] env: - name: ES_USERNAME @@ -52,11 +52,35 @@ spec: mountPath: /etc/agent.yml readOnly: true subPath: agent.yml + - name: proc + mountPath: /hostfs/proc + readOnly: true + - name: cgroup + mountPath: /hostfs/sys/fs/cgroup + readOnly: true + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + - name: varlog + mountPath: /var/log + readOnly: true volumes: - name: datastreams configMap: defaultMode: 0640 name: agent-node-datastreams + - name: proc + hostPath: + path: /proc + - name: cgroup + hostPath: + path: /sys/fs/cgroup + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers + - name: varlog + hostPath: + path: /var/log --- apiVersion: v1 kind: ConfigMap @@ -67,8 +91,6 @@ metadata: k8s-app: elastic-agent data: agent.yml: |- - id: ef9cc740-5bf0-11eb-8b51-39775155c3f5 - revision: 2 outputs: default: type: elasticsearch @@ -87,9 +109,120 @@ data: node: ${NODE_NAME} scope: node inputs: - - id: 934ef8aa-ed19-405b-8160-ebf62e3d32f8 - name: kubernetes-node-metrics - revision: 1 + - name: log-1 + type: logfile + use_output: default + meta: + package: + name: log + version: 0.4.6 + data_stream: + namespace: default + streams: + - data_stream: + dataset: generic + symlinks: true + paths: + - /var/log/containers/*${kubernetes.container.id}.log + - name: system-3 + type: system/metrics + use_output: default + meta: + package: + name: system + version: 0.10.9 + data_stream: + namespace: default + streams: + - data_stream: + dataset: system.core + type: metrics + metricsets: + - core + core.metrics: + - percentages + - data_stream: + dataset: system.cpu + type: metrics + period: 10s + cpu.metrics: + - percentages + - normalized_percentages + metricsets: + - cpu + - data_stream: + dataset: system.diskio + type: metrics + period: 10s + diskio.include_devices: null + metricsets: + - diskio + - data_stream: + dataset: system.filesystem + type: metrics + period: 1m + metricsets: + - filesystem + processors: + - drop_event.when.regexp: + system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + - data_stream: + dataset: system.fsstat + type: metrics + period: 1m + metricsets: + - fsstat + processors: + - drop_event.when.regexp: + system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + - data_stream: + dataset: system.load + type: metrics + period: 10s + metricsets: + - load + - data_stream: + dataset: system.memory + type: metrics + period: 10s + metricsets: + - memory + - data_stream: + dataset: system.network + type: metrics + period: 10s + network.interfaces: null + metricsets: + - network + - data_stream: + dataset: system.process + type: metrics + process.include_top_n.by_memory: 5 + period: 10s + processes: + - .* + process.include_top_n.by_cpu: 5 + process.cgroups.enabled: false + process.cmdline.cache.enabled: true + metricsets: + - process + process.include_cpu_ticks: false + system.hostfs: /hostfs + - data_stream: + dataset: system.process_summary + type: metrics + period: 10s + metricsets: + - process_summary + system.hostfs: /hostfs + - data_stream: + dataset: system.socket_summary + type: metrics + period: 10s + metricsets: + - socket_summary + system.hostfs: /hostfs + - name: kubernetes-node-metrics type: kubernetes/metrics use_output: default meta: @@ -99,9 +232,7 @@ data: data_stream: namespace: default streams: - - id: >- - kubernetes/metrics-kubernetes.controllermanager-3d50c483-2327-40e7-b3e5-d877d4763fe1 - data_stream: + - data_stream: dataset: kubernetes.controllermanager type: metrics metricsets: @@ -110,9 +241,7 @@ data: - '${kubernetes.pod.ip}:10252' period: 10s condition: ${kubernetes.pod.labels.component} == 'kube-controller-manager' - - id: >- - kubernetes/metrics-kubernetes.scheduler-3d50c483-2327-40e7-b3e5-d877d4763fe1 - data_stream: + - data_stream: dataset: kubernetes.scheduler type: metrics metricsets: @@ -121,9 +250,7 @@ data: - '${kubernetes.pod.ip}:10251' period: 10s condition: ${kubernetes.pod.labels.component} == 'kube-scheduler' - - id: >- - kubernetes/metrics-kubernetes.proxy-3d50c483-2327-40e7-b3e5-d877d4763fe1 - data_stream: + - data_stream: dataset: kubernetes.proxy type: metrics metricsets: @@ -131,9 +258,7 @@ data: hosts: - 'localhost:10249' period: 10s - - id: >- - kubernetes/metrics-kubernetes.container-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.container type: metrics metricsets: @@ -144,9 +269,7 @@ data: - 'https://${env.NODE_NAME}:10250' period: 10s ssl.verification_mode: none - - id: >- - kubernetes/metrics-kubernetes.node-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.node type: metrics metricsets: @@ -157,8 +280,7 @@ data: - 'https://${env.NODE_NAME}:10250' period: 10s ssl.verification_mode: none - - id: kubernetes/metrics-kubernetes.pod-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.pod type: metrics metricsets: @@ -169,9 +291,7 @@ data: - 'https://${env.NODE_NAME}:10250' period: 10s ssl.verification_mode: none - - id: >- - kubernetes/metrics-kubernetes.system-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.system type: metrics metricsets: @@ -182,9 +302,7 @@ data: - 'https://${env.NODE_NAME}:10250' period: 10s ssl.verification_mode: none - - id: >- - kubernetes/metrics-kubernetes.volume-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.volume type: metrics metricsets: @@ -195,6 +313,31 @@ data: - 'https://${env.NODE_NAME}:10250' period: 10s ssl.verification_mode: none + # Add extra input blocks here, based on conditions + # so as to automatically identify targeted Pods and start monitoring them + # using a predefined integration. For instance: + #- name: redis + # type: redis/metrics + # use_output: default + # meta: + # package: + # name: redis + # version: 0.3.6 + # data_stream: + # namespace: default + # streams: + # - data_stream: + # dataset: redis.info + # type: metrics + # metricsets: + # - info + # hosts: + # - '${kubernetes.pod.ip}:6379' + # idle_timeout: 20s + # maxconn: 10 + # network: tcp + # period: 10s + # condition: ${kubernetes.pod.labels.app} == 'redis' --- apiVersion: apps/v1 kind: Deployment @@ -215,10 +358,10 @@ spec: serviceAccountName: elastic-agent containers: - name: elastic-agent - image: docker.elastic.co/beats/elastic-agent:7.12.0-SNAPSHOT + image: docker.elastic.co/beats/elastic-agent:8.0.0 args: [ "-c", "/etc/agent.yml", - "-e", "-d", "composable.providers.kubernetes", + "-e", ] env: - name: ES_USERNAME @@ -265,8 +408,6 @@ metadata: data: # This part requires `kube-state-metrics` up and running under `kube-system` namespace agent.yml: |- - id: ef9cc740-5bf0-11eb-8b51-39775155c3f5 - revision: 2 outputs: default: type: elasticsearch @@ -282,9 +423,7 @@ data: logs: true metrics: true inputs: - - id: 934ef8aa-ed19-405b-8160-ebf62e3d32f9 - name: kubernetes-cluster-metrics - revision: 1 + - name: kubernetes-cluster-metrics type: kubernetes/metrics use_output: default meta: @@ -294,9 +433,7 @@ data: data_stream: namespace: default streams: - - id: >- - kubernetes/metrics-kubernetes.apiserver-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.apiserver type: metrics metricsets: @@ -307,18 +444,14 @@ data: period: 30s ssl.certificate_authorities: - /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - - id: >- - kubernetes/metrics-kubernetes.event-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.event type: metrics metricsets: - event period: 10s add_metadata: true - - id: >- - kubernetes/metrics-kubernetes.state_container-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_container type: metrics metricsets: @@ -327,9 +460,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_cronjob-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_cronjob type: metrics metricsets: @@ -338,9 +469,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_deployment-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_deployment type: metrics metricsets: @@ -349,9 +478,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_node-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_node type: metrics metricsets: @@ -360,9 +487,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_persistentvolume-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_persistentvolume type: metrics metricsets: @@ -371,9 +496,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_persistentvolumeclaim-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_persistentvolumeclaim type: metrics metricsets: @@ -382,9 +505,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_pod-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_pod type: metrics metricsets: @@ -393,9 +514,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_replicaset-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_replicaset type: metrics metricsets: @@ -404,9 +523,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_resourcequota-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_resourcequota type: metrics metricsets: @@ -415,9 +532,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_service-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_service type: metrics metricsets: @@ -426,9 +541,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_statefulset-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_statefulset type: metrics metricsets: @@ -437,9 +550,7 @@ data: hosts: - 'kube-state-metrics:8080' period: 10s - - id: >- - kubernetes/metrics-kubernetes.state_storageclass-934ef8aa-ed19-405b-8160-ebf62e3d32f8 - data_stream: + - data_stream: dataset: kubernetes.state_storageclass type: metrics metricsets: @@ -475,7 +586,6 @@ rules: - namespaces - events - pods - - secrets verbs: ["get", "list", "watch"] - apiGroups: ["extensions"] resources: diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml new file mode 100644 index 00000000000..3e339ef8860 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset-configmap.yaml @@ -0,0 +1,256 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: agent-node-datastreams + namespace: kube-system + labels: + k8s-app: elastic-agent +data: + agent.yml: |- + outputs: + default: + type: elasticsearch + hosts: + - >- + ${ES_HOST} + username: ${ES_USERNAME} + password: ${ES_PASSWORD} + agent: + monitoring: + enabled: true + use_output: default + logs: true + metrics: true + providers.kubernetes: + node: ${NODE_NAME} + scope: node + inputs: + - name: log-1 + type: logfile + use_output: default + meta: + package: + name: log + version: 0.4.6 + data_stream: + namespace: default + streams: + - data_stream: + dataset: generic + symlinks: true + paths: + - /var/log/containers/*${kubernetes.container.id}.log + - name: system-3 + type: system/metrics + use_output: default + meta: + package: + name: system + version: 0.10.9 + data_stream: + namespace: default + streams: + - data_stream: + dataset: system.core + type: metrics + metricsets: + - core + core.metrics: + - percentages + - data_stream: + dataset: system.cpu + type: metrics + period: 10s + cpu.metrics: + - percentages + - normalized_percentages + metricsets: + - cpu + - data_stream: + dataset: system.diskio + type: metrics + period: 10s + diskio.include_devices: null + metricsets: + - diskio + - data_stream: + dataset: system.filesystem + type: metrics + period: 1m + metricsets: + - filesystem + processors: + - drop_event.when.regexp: + system.filesystem.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + - data_stream: + dataset: system.fsstat + type: metrics + period: 1m + metricsets: + - fsstat + processors: + - drop_event.when.regexp: + system.fsstat.mount_point: ^/(sys|cgroup|proc|dev|etc|host|lib|snap)($|/) + - data_stream: + dataset: system.load + type: metrics + period: 10s + metricsets: + - load + - data_stream: + dataset: system.memory + type: metrics + period: 10s + metricsets: + - memory + - data_stream: + dataset: system.network + type: metrics + period: 10s + network.interfaces: null + metricsets: + - network + - data_stream: + dataset: system.process + type: metrics + process.include_top_n.by_memory: 5 + period: 10s + processes: + - .* + process.include_top_n.by_cpu: 5 + process.cgroups.enabled: false + process.cmdline.cache.enabled: true + metricsets: + - process + process.include_cpu_ticks: false + system.hostfs: /hostfs + - data_stream: + dataset: system.process_summary + type: metrics + period: 10s + metricsets: + - process_summary + system.hostfs: /hostfs + - data_stream: + dataset: system.socket_summary + type: metrics + period: 10s + metricsets: + - socket_summary + system.hostfs: /hostfs + - name: kubernetes-node-metrics + type: kubernetes/metrics + use_output: default + meta: + package: + name: kubernetes + version: 0.2.8 + data_stream: + namespace: default + streams: + - data_stream: + dataset: kubernetes.controllermanager + type: metrics + metricsets: + - controllermanager + hosts: + - '${kubernetes.pod.ip}:10252' + period: 10s + condition: ${kubernetes.pod.labels.component} == 'kube-controller-manager' + - data_stream: + dataset: kubernetes.scheduler + type: metrics + metricsets: + - scheduler + hosts: + - '${kubernetes.pod.ip}:10251' + period: 10s + condition: ${kubernetes.pod.labels.component} == 'kube-scheduler' + - data_stream: + dataset: kubernetes.proxy + type: metrics + metricsets: + - proxy + hosts: + - 'localhost:10249' + period: 10s + - data_stream: + dataset: kubernetes.container + type: metrics + metricsets: + - container + add_metadata: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.NODE_NAME}:10250' + period: 10s + ssl.verification_mode: none + - data_stream: + dataset: kubernetes.node + type: metrics + metricsets: + - node + add_metadata: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.NODE_NAME}:10250' + period: 10s + ssl.verification_mode: none + - data_stream: + dataset: kubernetes.pod + type: metrics + metricsets: + - pod + add_metadata: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.NODE_NAME}:10250' + period: 10s + ssl.verification_mode: none + - data_stream: + dataset: kubernetes.system + type: metrics + metricsets: + - system + add_metadata: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.NODE_NAME}:10250' + period: 10s + ssl.verification_mode: none + - data_stream: + dataset: kubernetes.volume + type: metrics + metricsets: + - volume + add_metadata: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.NODE_NAME}:10250' + period: 10s + ssl.verification_mode: none + # Add extra input blocks here, based on conditions + # so as to automatically identify targeted Pods and start monitoring them + # using a predefined integration. For instance: + #- name: redis + # type: redis/metrics + # use_output: default + # meta: + # package: + # name: redis + # version: 0.3.6 + # data_stream: + # namespace: default + # streams: + # - data_stream: + # dataset: redis.info + # type: metrics + # metricsets: + # - info + # hosts: + # - '${kubernetes.pod.ip}:6379' + # idle_timeout: 20s + # maxconn: 10 + # network: tcp + # period: 10s + # condition: ${kubernetes.pod.labels.app} == 'redis' diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml new file mode 100644 index 00000000000..e97e0743926 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-daemonset.yaml @@ -0,0 +1,70 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: elastic-agent + namespace: kube-system + labels: + app: elastic-agent +spec: + selector: + matchLabels: + app: elastic-agent + template: + metadata: + labels: + app: elastic-agent + spec: + tolerations: + - key: node-role.kubernetes.io/master + effect: NoSchedule + serviceAccountName: elastic-agent + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + containers: + - name: elastic-agent + image: docker.elastic.co/beats/elastic-agent:%VERSION% + args: [ + "-c", "/etc/agent.yml", + "-e", + ] + env: + - name: ES_USERNAME + value: "elastic" + - name: ES_PASSWORD + value: "" + - name: ES_HOST + value: "" + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + securityContext: + runAsUser: 0 + resources: + limits: + memory: 200Mi + requests: + cpu: 100m + memory: 100Mi + volumeMounts: + - name: datastreams + mountPath: /etc/agent.yml + readOnly: true + subPath: agent.yml + - name: proc + mountPath: /hostfs/proc + readOnly: true + - name: cgroup + mountPath: /hostfs/sys/fs/cgroup + readOnly: true + volumes: + - name: datastreams + configMap: + defaultMode: 0640 + name: agent-node-datastreams + - name: proc + hostPath: + path: /proc + - name: cgroup + hostPath: + path: /sys/fs/cgroup diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment-configmap.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment-configmap.yaml new file mode 100644 index 00000000000..58a92665e4e --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment-configmap.yaml @@ -0,0 +1,161 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: agent-deployment-datastreams + namespace: kube-system + labels: + k8s-app: elastic-agent +data: + # This part requires `kube-state-metrics` up and running under `kube-system` namespace + agent.yml: |- + outputs: + default: + type: elasticsearch + hosts: + - >- + ${ES_HOST} + username: ${ES_USERNAME} + password: ${ES_PASSWORD} + agent: + monitoring: + enabled: true + use_output: default + logs: true + metrics: true + inputs: + - name: kubernetes-cluster-metrics + type: kubernetes/metrics + use_output: default + meta: + package: + name: kubernetes + version: 0.2.8 + data_stream: + namespace: default + streams: + - data_stream: + dataset: kubernetes.apiserver + type: metrics + metricsets: + - apiserver + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + hosts: + - 'https://${env.KUBERNETES_SERVICE_HOST}:${env.KUBERNETES_SERVICE_PORT}' + period: 30s + ssl.certificate_authorities: + - /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + - data_stream: + dataset: kubernetes.event + type: metrics + metricsets: + - event + period: 10s + add_metadata: true + - data_stream: + dataset: kubernetes.state_container + type: metrics + metricsets: + - state_container + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_cronjob + type: metrics + metricsets: + - state_cronjob + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_deployment + type: metrics + metricsets: + - state_deployment + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_node + type: metrics + metricsets: + - state_node + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_persistentvolume + type: metrics + metricsets: + - state_persistentvolume + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_persistentvolumeclaim + type: metrics + metricsets: + - state_persistentvolumeclaim + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_pod + type: metrics + metricsets: + - state_pod + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_replicaset + type: metrics + metricsets: + - state_replicaset + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_resourcequota + type: metrics + metricsets: + - state_resourcequota + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_service + type: metrics + metricsets: + - state_service + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_statefulset + type: metrics + metricsets: + - state_statefulset + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s + - data_stream: + dataset: kubernetes.state_storageclass + type: metrics + metricsets: + - state_storageclass + add_metadata: true + hosts: + - 'kube-state-metrics:8080' + period: 10s diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment.yaml new file mode 100644 index 00000000000..0def8b88571 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-deployment.yaml @@ -0,0 +1,58 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: elastic-agent + namespace: kube-system + labels: + app: elastic-agent +spec: + selector: + matchLabels: + app: elastic-agent + template: + metadata: + labels: + app: elastic-agent + spec: + serviceAccountName: elastic-agent + containers: + - name: elastic-agent + image: docker.elastic.co/beats/elastic-agent:%VERSION% + args: [ + "-c", "/etc/agent.yml", + "-e", + ] + env: + - name: ES_USERNAME + value: "elastic" + - name: ES_PASSWORD + value: "" + - name: ES_HOST + value: "" + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + # this is needed because we cannot use hostNetwork + - name: HOSTNAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + securityContext: + runAsUser: 0 + resources: + limits: + memory: 200Mi + requests: + cpu: 100m + memory: 100Mi + volumeMounts: + - name: datastreams + mountPath: /etc/agent.yml + readOnly: true + subPath: agent.yml + volumes: + - name: datastreams + configMap: + defaultMode: 0640 + name: agent-deployment-datastreams diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role-binding.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role-binding.yaml new file mode 100644 index 00000000000..b352b2901d0 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role-binding.yaml @@ -0,0 +1,12 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: elastic-agent +subjects: + - kind: ServiceAccount + name: elastic-agent + namespace: kube-system +roleRef: + kind: ClusterRole + name: elastic-agent + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role.yaml new file mode 100644 index 00000000000..dcf2b4a5ff2 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-role.yaml @@ -0,0 +1,35 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: elastic-agent + labels: + k8s-app: elastic-agent +rules: + - apiGroups: [""] + resources: + - nodes + - namespaces + - events + - pods + verbs: ["get", "list", "watch"] + - apiGroups: ["extensions"] + resources: + - replicasets + verbs: ["get", "list", "watch"] + - apiGroups: ["apps"] + resources: + - statefulsets + - deployments + - replicasets + verbs: ["get", "list", "watch"] + - apiGroups: + - "" + resources: + - nodes/stats + verbs: + - get + # required for apiserver + - nonResourceURLs: + - "/metrics" + verbs: + - get diff --git a/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-service-account.yaml b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-service-account.yaml new file mode 100644 index 00000000000..43372b547d0 --- /dev/null +++ b/deploy/kubernetes/elastic-agent-standalone/elastic-agent-standalone-service-account.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: elastic-agent + namespace: kube-system + labels: + k8s-app: elastic-agent diff --git a/dev-tools/packaging/templates/docker/docker-entrypoint.elastic-agent.tmpl b/dev-tools/packaging/templates/docker/docker-entrypoint.elastic-agent.tmpl index 348a99dea4c..f1e6febfe8a 100644 --- a/dev-tools/packaging/templates/docker/docker-entrypoint.elastic-agent.tmpl +++ b/dev-tools/packaging/templates/docker/docker-entrypoint.elastic-agent.tmpl @@ -63,7 +63,7 @@ function enroll(){ insecure_flag="--insecure" fi - ./{{ .BeatName }} enroll ${insecure_flag} ${KIBANA_HOST:-http://localhost:5601} $apikey -f + ./{{ .BeatName }} enroll ${insecure_flag} -f --url=${KIBANA_HOST:-http://localhost:5601} --enrollment-token=$apikey } if [[ -n "${FLEET_SETUP}" ]] && [[ ${FLEET_SETUP} == 1 ]]; then setup; fi diff --git a/filebeat/docs/fields.asciidoc b/filebeat/docs/fields.asciidoc index 902d79382d8..d5f47d52b66 100644 --- a/filebeat/docs/fields.asciidoc +++ b/filebeat/docs/fields.asciidoc @@ -112559,7 +112559,52 @@ The timestamp from the log line. *`postgresql.log.core_id`*:: + -- -Core id + +deprecated:[8.0.0] + +Core id. (deprecated, there is no core_id in PostgreSQL logs, this is actually session_line_number). + + +type: alias + +alias to: postgresql.log.session_line_number + +-- + +*`postgresql.log.client_addr`*:: ++ +-- +Host where the connection originated from. + + +example: 127.0.0.1 + +-- + +*`postgresql.log.client_port`*:: ++ +-- +Port where the connection originated from. + + +example: 59700 + +-- + +*`postgresql.log.session_id`*:: ++ +-- +PostgreSQL session. + + +example: 5ff1dd98.22 + +-- + +*`postgresql.log.session_line_number`*:: ++ +-- +Line number inside a session. (%l in `log_line_prefix`). type: long @@ -112569,17 +112614,17 @@ type: long *`postgresql.log.database`*:: + -- -Name of database +Name of database. -example: mydb +example: postgres -- *`postgresql.log.query`*:: + -- -Query statement. +Query statement. In the case of CSV parse, look at command_tag to get more context. example: SELECT * FROM users; @@ -112589,7 +112634,7 @@ example: SELECT * FROM users; *`postgresql.log.query_step`*:: + -- -Statement step when using extended query protocol (one of statement, parse, bind or execute) +Statement step when using extended query protocol (one of statement, parse, bind or execute). example: parse @@ -112606,30 +112651,153 @@ example: pdo_stmt_00000001 -- -*`postgresql.log.error.code`*:: +*`postgresql.log.command_tag`*:: ++ +-- +Type of session's current command. The complete list can be found at: src/include/tcop/cmdtaglist.h + + +example: SELECT + +-- + +*`postgresql.log.session_start_time`*:: ++ +-- +Time when this session started. + + +type: date + +-- + +*`postgresql.log.virtual_transaction_id`*:: ++ +-- +Backend local transaction id. + + +-- + +*`postgresql.log.transaction_id`*:: + -- -Error code returned by Postgres (if any) +The id of current transaction. + type: long -- -*`postgresql.log.timezone`*:: +*`postgresql.log.sql_state_code`*:: + -- +State code returned by Postgres (if any). See also https://www.postgresql.org/docs/current/errcodes-appendix.html + + +type: keyword + +-- + +*`postgresql.log.detail`*:: ++ +-- +More information about the message, parameters in case of a parametrized query. e.g. 'Role \"user\" does not exist.', 'parameters: $1 = 42', etc. + + +-- + +*`postgresql.log.hint`*:: ++ +-- +A possible solution to solve an error. + + +-- + +*`postgresql.log.internal_query`*:: ++ +-- +Internal query that led to the error (if any). + + +-- + +*`postgresql.log.internal_query_pos`*:: ++ +-- +Character count of the internal query (if any). + + +type: long + +-- + +*`postgresql.log.context`*:: ++ +-- +Error context. + + +-- + +*`postgresql.log.query_pos`*:: ++ +-- +Character count of the error position (if any). + + +type: long + +-- + +*`postgresql.log.location`*:: ++ +-- +Location of the error in the PostgreSQL source code (if log_error_verbosity is set to verbose). + + +-- + +*`postgresql.log.application_name`*:: ++ +-- +Name of the application of this event. It is defined by the client. + + +-- + +*`postgresql.log.backend_type`*:: ++ +-- +Type of backend of this event. Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter. In addition, background workers registered by extensions may have additional types. + + +example: client backend + +-- + +*`postgresql.log.error.code`*:: ++ +-- + +deprecated:[8.0.0] + +Error code returned by Postgres (if any). Deprecated: errors can have letters. Use sql_state_code instead. + + type: alias -alias to: event.timezone +alias to: postgresql.log.sql_state_code -- -*`postgresql.log.thread_id`*:: +*`postgresql.log.timezone`*:: + -- type: alias -alias to: process.pid +alias to: event.timezone -- @@ -112645,8 +112813,13 @@ alias to: user.name *`postgresql.log.level`*:: + -- +Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. + + type: alias +example: LOG + alias to: log.level -- diff --git a/filebeat/docs/modules/netflow.asciidoc b/filebeat/docs/modules/netflow.asciidoc index ebb40dfd5c9..c3ab408b24d 100644 --- a/filebeat/docs/modules/netflow.asciidoc +++ b/filebeat/docs/modules/netflow.asciidoc @@ -72,6 +72,13 @@ details. monitor sequence numbers in the Netflow packets to detect an Exporting Process reset. See <> for details. +`var.internal_networks`:: A list of CIDR ranges describing the IP addresses that +you consider internal. This is used in determining the values of +`source.locality`, `destination.locality`, and `flow.locality`. The values +can be either a CIDR value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + *`var.tags`*:: A list of tags to include in events. Including `forwarded` indicates that the diff --git a/filebeat/docs/modules/postgresql.asciidoc b/filebeat/docs/modules/postgresql.asciidoc index fad5132d40a..695a30dffdd 100644 --- a/filebeat/docs/modules/postgresql.asciidoc +++ b/filebeat/docs/modules/postgresql.asciidoc @@ -18,8 +18,13 @@ include::../include/gs-link.asciidoc[] [float] === Compatibility -The +{modulename}+ module was tested with logs from versions 9.5 on Ubuntu, 9.6 -on Debian, and finally 10.11, 11.4 and 12.2 on Arch Linux 9.3. +This module comes in two flavours: a parser of log files based on Linux distribution +defaults, and a CSV log parser, that you need to enable in database configuration. + +The +{modulename}+ module using `.log` was tested with logs from versions 9.5 on Ubuntu, + 9.6 on Debian, and finally 10.11, 11.4 and 12.2 on Arch Linux 9.3. + +The +{modulename}+ module using `.csv` was tested using versions 11 and 13 (distro is not relevant here). include::../include/configuring-intro.asciidoc[] @@ -71,6 +76,31 @@ image::./images/filebeat-postgresql-slowlog-overview.png[] :has-dashboards!: +=== Using CSV logs + +Since the PostgreSQL CSV log file is a well-defined format, +there is almost no configuration to be done in filebeat, just the filepath + +On the other hand, it's necessary to configure postgresql to emit `.csv` logs. +The recommended parameters are: + +``` +logging_collector = 'on'; +log_destination = 'csvlog'; +log_statement = 'none'; +log_checkpoints = on; +log_connections = on; +log_disconnections = on; +log_lock_waits = on; +log_min_duration_statement = 0; +``` + +In busy servers, `log_min_duration_statement` can cause contention, so you can assign +a value greater than 0. + +Both `log_connections` and `log_disconnections` can cause a lot of events if you don't have +persistent connections, so enable with care. + :fileset_ex!: :modulename!: diff --git a/filebeat/docs/modules/threatintel.asciidoc b/filebeat/docs/modules/threatintel.asciidoc index ef98c6344cd..9a228a73b77 100644 --- a/filebeat/docs/modules/threatintel.asciidoc +++ b/filebeat/docs/modules/threatintel.asciidoc @@ -12,8 +12,8 @@ This file is generated! See scripts/docs_collector.py == Threat Intel module beta[] -This module is a collection of different threat intelligence sources. The ingested data is meant to be used with [Indicator Match rules]https://www.elastic.co/guide/en/security/7.11/rules-ui-create.html#create-indicator-rule, but is also -compatible with other features like [Enrich Processors]https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-processor.html. +This module is a collection of different threat intelligence sources. The ingested data is meant to be used with https://www.elastic.co/guide/en/security/7.11/rules-ui-create.html#create-indicator-rule[Indicator Match rules], but is also +compatible with other features like https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-processor.html[Enrich Processors]. The related threat intel attribute that is meant to be used for matching incoming source data is stored under the `threatintel.indicator.*` fields. Currently supporting: diff --git a/filebeat/docs/running-on-kubernetes.asciidoc b/filebeat/docs/running-on-kubernetes.asciidoc index a04fde00ef1..1ea7cc6e6d3 100644 --- a/filebeat/docs/running-on-kubernetes.asciidoc +++ b/filebeat/docs/running-on-kubernetes.asciidoc @@ -233,3 +233,12 @@ annotations: co.elastic.logs.json-logging/json.add_error_key: "true" co.elastic.logs.json-logging/json.message_key: "message" ------------------------------------------------ + +[float] +==== Logrotation + +According to https://kubernetes.io/docs/concepts/cluster-administration/logging/#logging-at-the-node-level[kubernetes documentation] +_Kubernetes is not responsible for rotating logs, but rather a deployment tool should set up a solution to address that_. +Different logrotation strategies can cause issues that might make Filebeat losing events or even duplicating events. +Users can find more information about Filebeat's logrotation best practises at Filebeat's +<> diff --git a/filebeat/filebeat.reference.yml b/filebeat/filebeat.reference.yml index e232640ffd0..38ecc9fb0b5 100644 --- a/filebeat/filebeat.reference.yml +++ b/filebeat/filebeat.reference.yml @@ -1995,7 +1995,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/filebeat/include/fields.go b/filebeat/include/fields.go index 5d99d5a7ede..9be1dd20ff3 100644 --- a/filebeat/include/fields.go +++ b/filebeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/filebeat/module/postgresql/_meta/docs.asciidoc b/filebeat/module/postgresql/_meta/docs.asciidoc index ef7f3a25a5e..840a15ccd82 100644 --- a/filebeat/module/postgresql/_meta/docs.asciidoc +++ b/filebeat/module/postgresql/_meta/docs.asciidoc @@ -13,8 +13,13 @@ include::../include/gs-link.asciidoc[] [float] === Compatibility -The +{modulename}+ module was tested with logs from versions 9.5 on Ubuntu, 9.6 -on Debian, and finally 10.11, 11.4 and 12.2 on Arch Linux 9.3. +This module comes in two flavours: a parser of log files based on Linux distribution +defaults, and a CSV log parser, that you need to enable in database configuration. + +The +{modulename}+ module using `.log` was tested with logs from versions 9.5 on Ubuntu, + 9.6 on Debian, and finally 10.11, 11.4 and 12.2 on Arch Linux 9.3. + +The +{modulename}+ module using `.csv` was tested using versions 11 and 13 (distro is not relevant here). include::../include/configuring-intro.asciidoc[] @@ -66,6 +71,31 @@ image::./images/filebeat-postgresql-slowlog-overview.png[] :has-dashboards!: +=== Using CSV logs + +Since the PostgreSQL CSV log file is a well-defined format, +there is almost no configuration to be done in filebeat, just the filepath + +On the other hand, it's necessary to configure postgresql to emit `.csv` logs. +The recommended parameters are: + +``` +logging_collector = 'on'; +log_destination = 'csvlog'; +log_statement = 'none'; +log_checkpoints = on; +log_connections = on; +log_disconnections = on; +log_lock_waits = on; +log_min_duration_statement = 0; +``` + +In busy servers, `log_min_duration_statement` can cause contention, so you can assign +a value greater than 0. + +Both `log_connections` and `log_disconnections` can cause a lot of events if you don't have +persistent connections, so enable with care. + :fileset_ex!: :modulename!: diff --git a/filebeat/module/postgresql/fields.go b/filebeat/module/postgresql/fields.go index 1ef2040d458..6895aca08bb 100644 --- a/filebeat/module/postgresql/fields.go +++ b/filebeat/module/postgresql/fields.go @@ -32,5 +32,5 @@ func init() { // AssetPostgresql returns asset data. // This is the base64 encoded gzipped contents of module/postgresql. func AssetPostgresql() string { - return "eJyclEFv2zAMhe/5FQ85tUNrdNhhgDf0UrTAgHZb194DxaJtYbKoSnTX7NcPspsldZwsHk+GhcfvkRR1jp+0yuE5ShUoPtkZIEYs5Zh/738+3N/OZ4CmWATjxbDLcTkDgDvWrSWUHOBViMZVkJqw0cFyhdJYitkMiDUHWRTsSlPlkNDSDCgNWR3zLt85nGpo4CaFrDzlqAK3/vXPiJs+brp8KAM3AyOdhxTbyG2s5Wor0S7zIPct+VAb1jG0sW1FTENRVOPfnCa8D1QoIZ3jY/Yhu9g532svxWNNm9Qbp8meNY6yUS8FB1oYPUjWt8eyq6ZZuOJAGGRbk7QStVSRBiJ6UY3vbmSz0sv5NN5X1RC4HM+9Bj+1FFZ7qQ/Xt9dXj3iHmx/f7tBGCvHTRBf3CYAoSqghJ+ON7lwsotBw6hsrac1oIvthTUVKjV81ObTdstKLkNOkezJ8YOGCLU7YdT376/es2286w9I4DQ6gFypaodMDdaTv/XVoXkRpZHHRx/v/mWplnslBGOq1gH+XluFLCSMwEfPPrUse9eX8LJXkWOADxVTuDk9qE/uFTVJTOQ6kN1McbQOFwCErWA/bcNzqXCc5khyBpA2ONJar9asScWJKKLc6PWwibftvduMWlDUqDk68kjoHPadbukfcmCqo3uTrIz7CrQMpve/Z2A/2gQuKMfM7ymOoaTcnApMkG7mrx+AsPZOdyLNcZWO6Y3gNxaiqqbMcVw15fwIAAP//ui0d+Q==" + return "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" } diff --git a/filebeat/module/postgresql/log/_meta/fields.yml b/filebeat/module/postgresql/log/_meta/fields.yml index 4b4a5b483cf..82a37650aa9 100644 --- a/filebeat/module/postgresql/log/_meta/fields.yml +++ b/filebeat/module/postgresql/log/_meta/fields.yml @@ -8,45 +8,123 @@ description: > The timestamp from the log line. - name: core_id + type: alias + path: postgresql.log.session_line_number + description: > + Core id. (deprecated, there is no core_id in PostgreSQL logs, this is actually session_line_number). + deprecated: 8.0.0 + - name: client_addr + example: "127.0.0.1" + description: > + Host where the connection originated from. + - name: client_port + example: "59700" + description: > + Port where the connection originated from. + - name: session_id + description: > + PostgreSQL session. + example: "5ff1dd98.22" + - name: session_line_number type: long description: > - Core id + Line number inside a session. (%l in `log_line_prefix`). - name: database - example: "mydb" + example: "postgres" description: > - Name of database + Name of database. - name: query example: "SELECT * FROM users;" description: > - Query statement. + Query statement. In the case of CSV parse, look at command_tag to get more context. - name: query_step example: "parse" description: > - Statement step when using extended query protocol (one of statement, parse, bind or execute) + Statement step when using extended query protocol (one of statement, parse, bind or execute). - name: query_name example: "pdo_stmt_00000001" description: > Name given to a query when using extended query protocol. If it is "", or not present, this field is ignored. + - name: command_tag + example: "SELECT" + description: > + Type of session's current command. + The complete list can be found at: src/include/tcop/cmdtaglist.h + - name: session_start_time + type: date + description: > + Time when this session started. + - name: virtual_transaction_id + description: > + Backend local transaction id. + - name: transaction_id + type: long + description: > + The id of current transaction. + - name: sql_state_code + # This code is not a number. + type: keyword + description: > + State code returned by Postgres (if any). + See also https://www.postgresql.org/docs/current/errcodes-appendix.html + - name: detail + description: > + More information about the message, parameters in case of a parametrized query. + e.g. 'Role \"user\" does not exist.', 'parameters: $1 = 42', etc. + - name: hint + description: > + A possible solution to solve an error. + - name: internal_query + description: > + Internal query that led to the error (if any). + - name: internal_query_pos + type: long + description: > + Character count of the internal query (if any). + - name: context + description: > + Error context. + - name: query_pos + type: long + description: > + Character count of the error position (if any). + - name: location + description: > + Location of the error in the PostgreSQL source code (if log_error_verbosity is set to verbose). + - name: application_name + description: > + Name of the application of this event. It is defined by the client. + - name: backend_type + example: "client backend" + description: > + Type of backend of this event. + Possible types are autovacuum launcher, autovacuum worker, logical replication launcher, + logical replication worker, parallel worker, background writer, client backend, checkpointer, + startup, walreceiver, walsender and walwriter. + In addition, background workers registered by extensions may have additional types. - name: error.code - type: long - description: Error code returned by Postgres (if any) + type: alias + path: postgresql.log.sql_state_code + description: > + Error code returned by Postgres (if any). + Deprecated: errors can have letters. Use sql_state_code instead. + deprecated: 8.0.0 - name: timezone type: alias path: event.timezone migration: true - - name: thread_id - type: alias - path: process.pid - migration: true - name: user type: alias path: user.name migration: true - name: level type: alias + example: "LOG" + description: > + Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. path: log.level migration: true - name: message diff --git a/filebeat/module/postgresql/log/ingest/pipeline-csv.yml b/filebeat/module/postgresql/log/ingest/pipeline-csv.yml new file mode 100644 index 00000000000..419ff9bca12 --- /dev/null +++ b/filebeat/module/postgresql/log/ingest/pipeline-csv.yml @@ -0,0 +1,78 @@ +description: Pipeline for parsing PostgreSQL CSV logs. +processors: + +- csv: + field: raw_message + separator: "," + target_fields: ["user.name", + "postgresql.log.database", + "process.pid", + "tempcsv.connection_from", + "postgresql.log.session_id", + "tempcsv.session_line_num", + "postgresql.log.command_tag", + "tempcsv.session_start_time", + "postgresql.log.virtual_transaction_id", + "postgresql.log.transaction_id", + "log.level", + "postgresql.log.sql_state_code", + "tempcsv.message", + "postgresql.log.detail", + "postgresql.log.hint", + "postgresql.internal_query", + "tempcsv.internal_query_pos", + "postgresql.log.context", + "postgresql.log.query", + "tempcsv.query_pos", + "postgresql.log.location", + "postgresql.log.application_name", + "postgresql.log.backend_type"] + ignore_missing: true + trim: true +- remove: + field: message + ignore_missing: false + +- grok: + field: tempcsv.connection_from + ignore_missing: true + patterns: + - '^%{DATA:postgresql.log.client_addr}(:%{NUMBER:postgresql.log.client_port:int})?$' + +- convert: + field: "postgresql.log.session_line_num" + type: long + ignore_missing: true +- date: + field: tempcsv.session_start_time + target_field: postgresql.log.session_start_time + formats: + - yyyy-MM-dd HH:mm:ss.SSS zz + - yyyy-MM-dd HH:mm:ss zz + +- convert: + field: postgresql.log.transaction_id + type: long + ignore_missing: true +- grok: + field: tempcsv.message + ignore_missing: true + patterns: + - '^duration: %{NUMBER:temp.duration:float} ms$' + - '^duration: %{NUMBER:temp.duration:float} ms %{POSTGRESQL_QUERY_STEP:postgresql.log.query_step} %{DATA:postgresql.log.query_name}: %{GREEDYDATA:message}$' + - '^duration: %{NUMBER:temp.duration:float} ms %{POSTGRESQL_QUERY_STEP:postgresql.log.query_step}: %{GREEDYDATA:message}$' + - '^(%{POSTGRESQL_QUERY_STEP:postgresql.log.query_step}: )?%{GREEDYDATA:message}$' + pattern_definitions: + GREEDYDATA: |- + (.| + | )* + POSTGRESQL_QUERY_STEP: '(parse|bind|statement|fastpath function call|execute|execute fetch from)' + +- grok: + field: tempcsv.connection_from + ignore_missing: true + patterns: + - '^%{DATA:postgresql.log.client_addr}(:%{NUMBER:postgresql.log.client_port:int})?$' + +- remove: + field: tempcsv diff --git a/filebeat/module/postgresql/log/ingest/pipeline-log.yml b/filebeat/module/postgresql/log/ingest/pipeline-log.yml new file mode 100644 index 00000000000..3ca507d58ba --- /dev/null +++ b/filebeat/module/postgresql/log/ingest/pipeline-log.yml @@ -0,0 +1,14 @@ +description: Pipeline for parsing PostgreSQL logs. +processors: +- grok: + field: raw_message + ignore_missing: true + patterns: + - '^(\[%{NUMBER:process.pid:long}(-%{BASE16FLOAT:postgresql.log.session_line_number:long})?\] ((\[%{USERNAME:user.name}\]@\[%{POSTGRESQL_DB_NAME:postgresql.log.database}\]|%{USERNAME:user.name}@%{POSTGRESQL_DB_NAME:postgresql.log.database}) )?)?%{WORD:log.level}: (?:%{POSTGRESQL_ERROR:postgresql.log.sql_state_code}|%{SPACE})(duration: %{NUMBER:temp.duration:float} ms %{POSTGRESQL_QUERY_STEP}: %{GREEDYDATA:postgresql.log.query}|: %{GREEDYDATA:message}|%{GREEDYDATA:message})' + pattern_definitions: + GREEDYDATA: |- + (.| + | )* + POSTGRESQL_DB_NAME: '[a-zA-Z0-9_]+[a-zA-Z0-9_\$]*' + POSTGRESQL_QUERY_STEP: '%{WORD:postgresql.log.query_step}(?: | %{WORD:postgresql.log.query_name})?' + POSTGRESQL_ERROR: '\b[A-Z0-9]{5}\b' diff --git a/filebeat/module/postgresql/log/ingest/pipeline.yml b/filebeat/module/postgresql/log/ingest/pipeline.yml index 9233ed95c5f..2ab5ff219ff 100644 --- a/filebeat/module/postgresql/log/ingest/pipeline.yml +++ b/filebeat/module/postgresql/log/ingest/pipeline.yml @@ -3,18 +3,24 @@ processors: - set: field: event.ingested value: '{{_ingest.timestamp}}' + - grok: field: message - ignore_missing: true patterns: - - '^%{DATETIME:postgresql.log.timestamp} (\[%{NUMBER:process.pid:long}(-%{BASE16FLOAT:postgresql.log.core_id:long})?\] ((\[%{USERNAME:user.name}\]@\[%{POSTGRESQL_DB_NAME:postgresql.log.database}\]|%{USERNAME:user.name}@%{POSTGRESQL_DB_NAME:postgresql.log.database}) )?)?%{WORD:log.level}: (?:%{NUMBER:postgresql.log.error.code:long}|%{SPACE})(duration: %{NUMBER:temp.duration:float} ms %{POSTGRESQL_QUERY_STEP}: %{GREEDYDATA:postgresql.log.query}|: %{GREEDYDATA:message}|%{GREEDYDATA:message})' + - '^%{DATETIME:postgresql.log.timestamp}%{CHAR:separator}%{GREEDYDATA:raw_message}' pattern_definitions: DATETIME: '[-0-9]+ %{TIME} %{WORD:event.timezone}' + CHAR: . GREEDYDATA: |- (.| | )* - POSTGRESQL_DB_NAME: '[a-zA-Z0-9_]+[a-zA-Z0-9_\$]*' - POSTGRESQL_QUERY_STEP: '%{WORD:postgresql.log.query_step}(?: | %{WORD:postgresql.log.query_name})?' +- pipeline: + name: '{< IngestPipeline "pipeline-log" >}' + if: ctx.separator != ',' +- pipeline: + name: '{< IngestPipeline "pipeline-csv" >}' + if: ctx.separator == ',' + - date: field: postgresql.log.timestamp target_field: '@timestamp' @@ -37,19 +43,26 @@ processors: field: event.category value: - database -- append: +- set: field: event.type value: - info -- append: + if: "ctx?.postgresql?.log?.sql_state_code == null || (ctx.postgresql.log.sql_state_code ==~ /^0[012].*/)" +- set: field: event.type value: - error - if: "ctx?.postgresql?.log?.error?.code != null && ctx.postgresql.log.error.code >= 02000" + if: "ctx?.postgresql?.log?.sql_state_code != null && ! (ctx.postgresql.log.sql_state_code ==~ /^0[012].*/)" - append: field: related.user value: "{{user.name}}" if: "ctx?.user?.name != null" +- remove: + field: + - separator +- remove: + field: + - raw_message on_failure: - set: field: error.message diff --git a/filebeat/module/postgresql/log/manifest.yml b/filebeat/module/postgresql/log/manifest.yml index ade6e2899de..13379a5dae8 100644 --- a/filebeat/module/postgresql/log/manifest.yml +++ b/filebeat/module/postgresql/log/manifest.yml @@ -4,10 +4,16 @@ var: - name: paths default: - /var/log/postgresql/postgresql-*-*.log* + - /var/log/postgresql/postgresql-*-*.csv* os.darwin: - /usr/local/var/postgres/*.log* + - /usr/local/var/postgres/*.csv os.windows: - "c:/Program Files/PostgreSQL/*/logs/*.log*" + - "c:/Program Files/PostgreSQL/*/logs/*.csv" -ingest_pipeline: ingest/pipeline.yml +ingest_pipeline: + - ingest/pipeline.yml + - ingest/pipeline-log.yml + - ingest/pipeline-csv.yml input: config/log.yml diff --git a/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log new file mode 100644 index 00000000000..9fff82ab697 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log @@ -0,0 +1,6 @@ +2021-01-04 00:37:32.862 UTC,,,87,,5ff2634c.57,1,,2021-01-04 00:37:32 UTC,4/43,0,LOG,00000,"automatic vacuum of table ""postgres.public.t"": index scans: 1 +pages: 0 removed, 89 remain, 0 skipped due to pins, 0 skipped frozen +tuples: 10000 removed, 10000 remain, 0 are dead but not yet removable, oldest xmin: 578 +buffer usage: 316 hits, 2 misses, 4 dirtied +avg read rate: 0.569 MB/s, avg write rate: 1.138 MB/s +system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.02 s",,,,,,,,,"" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log-expected.json new file mode 100644 index 00000000000..c0fc40f7c50 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-autovacuum.csv.log-expected.json @@ -0,0 +1,31 @@ +[ + { + "@timestamp": "2021-01-04T00:37:32.862Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 0, + "message": "automatic vacuum of table \"postgres.public.t\": index scans: 1\npages: 0 removed, 89 remain, 0 skipped due to pins, 0 skipped frozen\ntuples: 10000 removed, 10000 remain, 0 are dead but not yet removable, oldest xmin: 578\nbuffer usage: 316 hits, 2 misses, 4 dirtied\navg read rate: 0.569 MB/s, avg write rate: 1.138 MB/s\nsystem usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.02 s", + "postgresql.log.session_id": "5ff2634c.57", + "postgresql.log.session_start_time": "2021-01-04T00:37:32.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:37:32.862 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "4/43", + "process.pid": "87", + "service.type": "postgresql" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log new file mode 100644 index 00000000000..077332271d1 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log @@ -0,0 +1,28 @@ +2021-01-04 00:04:50.554 UTC,,,27,,5ff25ba2.1b,1,,2021-01-04 00:04:50 UTC,,0,LOG,00000,"database system was shut down at 2021-01-03 20:01:08 UTC",,,,,,,,,"" +2021-01-04 00:04:50.568 UTC,,,1,,5ff25ba2.1,1,,2021-01-04 00:04:50 UTC,,0,LOG,00000,"database system is ready to accept connections",,,,,,,,,"" +2021-01-04 00:05:06.011 UTC,,,34,"172.24.0.1:42304",5ff25bb2.22,1,"",2021-01-04 00:05:06 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=42304",,,,,,,,,"" +2021-01-04 00:05:06.086 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,2,"authentication",2021-01-04 00:05:06 UTC,3/1,0,LOG,00000,"connection authorized: user=postgres database=postgres",,,,,,,,,"" +2021-01-04 00:05:12.999 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,3,"idle",2021-01-04 00:05:06 UTC,3/2,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,10)='log_connec' +LIMIT 1000",,,,,,,,,"psql" +2021-01-04 00:05:17.146 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,4,"idle",2021-01-04 00:05:06 UTC,3/3,0,LOG,00000,"statement: ALTER SYSTEM SET log_connections = on;",,,,,,,,,"psql" +2021-01-04 00:05:23.242 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,5,"idle",2021-01-04 00:05:06 UTC,3/4,0,LOG,00000,"statement: ALTER SYSTEM SET log_disconnections = on;",,,,,,,,,"psql" +2021-01-04 00:05:28.166 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,6,"idle",2021-01-04 00:05:06 UTC,3/5,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,3)='log' +LIMIT 1000",,,,,,,,,"psql" +2021-01-04 00:05:29.434 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,7,"idle",2021-01-04 00:05:06 UTC,3/6,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,6)='log_mi' +LIMIT 1000",,,,,,,,,"psql" +2021-01-04 00:05:31.342 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,8,"idle",2021-01-04 00:05:06 UTC,3/7,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,12)='log_min_dura' +LIMIT 1000",,,,,,,,,"psql" +2021-01-04 00:05:37.670 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,9,"idle",2021-01-04 00:05:06 UTC,3/8,0,LOG,00000,"statement: alter system set log_min_duration_statement = 0;",,,,,,,,,"psql" +2021-01-04 00:05:51.418 UTC,"postgres","postgres",34,"172.24.0.1:42304",5ff25bb2.22,10,"idle",2021-01-04 00:05:06 UTC,,0,LOG,00000,"disconnection: session time: 0:00:45.407 user=postgres database=postgres host=172.24.0.1 port=42304",,,,,,,,,"psql" +2021-01-04 00:05:58.207 UTC,,,36,"172.24.0.1:42326",5ff25be6.24,1,"",2021-01-04 00:05:58 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=42326",,,,,,,,,"" +2021-01-04 00:05:58.232 UTC,"azlev","azlev",36,"172.24.0.1:42326",5ff25be6.24,2,"authentication",2021-01-04 00:05:58 UTC,3/9,0,FATAL,28P01,"password authentication failed for user ""azlev""","Role ""azlev"" does not exist. +Connection matched pg_hba.conf line 95: ""host all all all md5""",,,,,,,,"" +2021-01-04 00:05:59.807 UTC,,,37,"172.24.0.1:42330",5ff25be7.25,1,"",2021-01-04 00:05:59 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=42330",,,,,,,,,"" +2021-01-04 00:05:59.833 UTC,"azlev","azlev",37,"172.24.0.1:42330",5ff25be7.25,2,"authentication",2021-01-04 00:05:59 UTC,3/10,0,FATAL,28P01,"password authentication failed for user ""azlev""","Role ""azlev"" does not exist. +Connection matched pg_hba.conf line 95: ""host all all all md5""",,,,,,,,"" +2021-01-04 00:06:03.347 UTC,,,38,"172.24.0.1:42336",5ff25beb.26,1,"",2021-01-04 00:06:03 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=42336",,,,,,,,,"" +2021-01-04 00:06:03.370 UTC,"azlev","azlev",38,"172.24.0.1:42336",5ff25beb.26,2,"authentication",2021-01-04 00:06:03 UTC,3/11,0,FATAL,28P01,"password authentication failed for user ""azlev""","Role ""azlev"" does not exist. +Connection matched pg_hba.conf line 95: ""host all all all md5""",,,,,,,,"" +2021-01-04 00:06:04.765 UTC,,,39,"172.24.0.1:42340",5ff25bec.27,1,"",2021-01-04 00:06:04 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=42340",,,,,,,,,"" +2021-01-04 00:06:04.799 UTC,"azlev","azlev",39,"172.24.0.1:42340",5ff25bec.27,2,"authentication",2021-01-04 00:06:04 UTC,3/12,0,FATAL,28P01,"password authentication failed for user ""azlev""","Role ""azlev"" does not exist. +Connection matched pg_hba.conf line 95: ""host all all all md5""",,,,,,,,"" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log-expected.json new file mode 100644 index 00000000000..90b27c9d648 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-connection-disconnection.csv.log-expected.json @@ -0,0 +1,671 @@ +[ + { + "@timestamp": "2021-01-04T00:04:50.554Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "database system was shut down at 2021-01-03 20:01:08 UTC", + "postgresql.log.session_id": "5ff25ba2.1b", + "postgresql.log.session_start_time": "2021-01-04T00:04:50.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:04:50.554 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "27", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:04:50.568Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 156, + "message": "database system is ready to accept connections", + "postgresql.log.session_id": "5ff25ba2.1", + "postgresql.log.session_start_time": "2021-01-04T00:04:50.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:04:50.568 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:05:06.011Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 300, + "message": "connection received: host=172.24.0.1 port=42304", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:06.011 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "34", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:05:06.086Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 467, + "message": "connection authorized: user=postgres database=postgres", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:06.086 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/1", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:12.999Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 678, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,10)='log_connec'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:12.999 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/2", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:17.146Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1035, + "message": "ALTER SYSTEM SET log_connections = on;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:17.146 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/3", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:23.242Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1235, + "message": "ALTER SYSTEM SET log_disconnections = on;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:23.242 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/4", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:28.166Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 1438, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,3)='log'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:28.166 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/5", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:29.434Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 1787, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,6)='log_mi'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:29.434 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/6", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:31.342Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 2139, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,12)='log_min_dura'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:31.342 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/7", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:37.670Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 2498, + "message": "alter system set log_min_duration_statement = 0;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:37.670 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/8", + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:51.418Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 2708, + "message": "disconnection: session time: 0:00:45.407 user=postgres database=postgres host=172.24.0.1 port=42304", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42304, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff25bb2.22", + "postgresql.log.session_start_time": "2021-01-04T00:05:06.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:51.418 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "34", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:05:58.207Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 2956, + "message": "connection received: host=172.24.0.1 port=42326", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42326, + "postgresql.log.session_id": "5ff25be6.24", + "postgresql.log.session_start_time": "2021-01-04T00:05:58.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:58.207 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "36", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:05:58.232Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "FATAL", + "log.offset": 3123, + "message": "password authentication failed for user \"azlev\"", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42326, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "azlev", + "postgresql.log.detail": "Role \"azlev\" does not exist.\nConnection matched pg_hba.conf line 95: \"host all all all md5\"", + "postgresql.log.session_id": "5ff25be6.24", + "postgresql.log.session_start_time": "2021-01-04T00:05:58.000Z", + "postgresql.log.sql_state_code": "28P01", + "postgresql.log.timestamp": "2021-01-04 00:05:58.232 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/9", + "process.pid": "36", + "related.user": [ + "azlev" + ], + "service.type": "postgresql", + "user.name": "azlev" + }, + { + "@timestamp": "2021-01-04T00:05:59.807Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 3422, + "message": "connection received: host=172.24.0.1 port=42330", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42330, + "postgresql.log.session_id": "5ff25be7.25", + "postgresql.log.session_start_time": "2021-01-04T00:05:59.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:05:59.807 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "37", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:05:59.833Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "FATAL", + "log.offset": 3589, + "message": "password authentication failed for user \"azlev\"", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42330, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "azlev", + "postgresql.log.detail": "Role \"azlev\" does not exist.\nConnection matched pg_hba.conf line 95: \"host all all all md5\"", + "postgresql.log.session_id": "5ff25be7.25", + "postgresql.log.session_start_time": "2021-01-04T00:05:59.000Z", + "postgresql.log.sql_state_code": "28P01", + "postgresql.log.timestamp": "2021-01-04 00:05:59.833 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/10", + "process.pid": "37", + "related.user": [ + "azlev" + ], + "service.type": "postgresql", + "user.name": "azlev" + }, + { + "@timestamp": "2021-01-04T00:06:03.347Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 3889, + "message": "connection received: host=172.24.0.1 port=42336", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42336, + "postgresql.log.session_id": "5ff25beb.26", + "postgresql.log.session_start_time": "2021-01-04T00:06:03.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:06:03.347 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "38", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:06:03.370Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "FATAL", + "log.offset": 4056, + "message": "password authentication failed for user \"azlev\"", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42336, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "azlev", + "postgresql.log.detail": "Role \"azlev\" does not exist.\nConnection matched pg_hba.conf line 95: \"host all all all md5\"", + "postgresql.log.session_id": "5ff25beb.26", + "postgresql.log.session_start_time": "2021-01-04T00:06:03.000Z", + "postgresql.log.sql_state_code": "28P01", + "postgresql.log.timestamp": "2021-01-04 00:06:03.370 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/11", + "process.pid": "38", + "related.user": [ + "azlev" + ], + "service.type": "postgresql", + "user.name": "azlev" + }, + { + "@timestamp": "2021-01-04T00:06:04.765Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4356, + "message": "connection received: host=172.24.0.1 port=42340", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42340, + "postgresql.log.session_id": "5ff25bec.27", + "postgresql.log.session_start_time": "2021-01-04T00:06:04.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:06:04.765 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "39", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T00:06:04.799Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "FATAL", + "log.offset": 4523, + "message": "password authentication failed for user \"azlev\"", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42340, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "azlev", + "postgresql.log.detail": "Role \"azlev\" does not exist.\nConnection matched pg_hba.conf line 95: \"host all all all md5\"", + "postgresql.log.session_id": "5ff25bec.27", + "postgresql.log.session_start_time": "2021-01-04T00:06:04.000Z", + "postgresql.log.sql_state_code": "28P01", + "postgresql.log.timestamp": "2021-01-04 00:06:04.799 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/12", + "process.pid": "39", + "related.user": [ + "azlev" + ], + "service.type": "postgresql", + "user.name": "azlev" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log new file mode 100644 index 00000000000..b2bf57edf9f --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log @@ -0,0 +1,3 @@ +2021-01-04 00:17:53.742 UTC,"postgres","postgres",54,"172.24.0.1:42608",5ff25ea4.36,6,"ALTER SYSTEM",2021-01-04 00:17:40 UTC,3/0,0,LOG,00000,"duration: 6.589 ms",,,,,,,,,"psql" +2021-01-04 00:18:01.055 UTC,"postgres","postgres",54,"172.24.0.1:42608",5ff25ea4.36,7,"idle",2021-01-04 00:17:40 UTC,3/39,0,LOG,00000,"statement: select pg_reload_conf();",,,,,,,,,"psql" +2021-01-04 00:18:04.650 UTC,"postgres","postgres",54,"172.24.0.1:42608",5ff25ea4.36,9,"SELECT",2021-01-04 00:17:40 UTC,3/0,0,LOG,00000,"duration: 148.472 ms statement: select generate_series(1, 1000000);",,,,,,,,,"psql" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log-expected.json new file mode 100644 index 00000000000..380f5ffd863 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-duration.csv.log-expected.json @@ -0,0 +1,110 @@ +[ + { + "@timestamp": "2021-01-04T00:17:53.742Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 6589000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42608, + "postgresql.log.command_tag": "ALTER SYSTEM", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff25ea4.36", + "postgresql.log.session_start_time": "2021-01-04T00:17:40.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:17:53.742 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "54", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:18:01.055Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 177, + "message": "select pg_reload_conf();", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42608, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25ea4.36", + "postgresql.log.session_start_time": "2021-01-04T00:17:40.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:18:01.055 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/39", + "process.pid": "54", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:18:04.650Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 148472000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 364, + "message": "select generate_series(1, 1000000);", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42608, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25ea4.36", + "postgresql.log.session_start_time": "2021-01-04T00:17:40.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:18:04.650 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "54", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log new file mode 100644 index 00000000000..92293a8d6be --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log @@ -0,0 +1 @@ +2021-01-03 17:45:17.612 UTC,"jose.villanova","postgres",20460,"::1:16790",5ff202ad.4fec,1,"startup",2021-01-03 17:45:17 UTC,3/15493200,0,FATAL,28000,"role ""jose.villanova"" does not exist",,,,,,,,,"" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log-expected.json new file mode 100644 index 00000000000..b4a6d100357 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-ipv6.csv.log-expected.json @@ -0,0 +1,36 @@ +[ + { + "@timestamp": "2021-01-03T17:45:17.612Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "FATAL", + "log.offset": 0, + "message": "role \"jose.villanova\" does not exist", + "postgresql.log.client_addr": "::1", + "postgresql.log.client_port": 16790, + "postgresql.log.command_tag": "startup", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff202ad.4fec", + "postgresql.log.session_start_time": "2021-01-03T17:45:17.000Z", + "postgresql.log.sql_state_code": "28000", + "postgresql.log.timestamp": "2021-01-03 17:45:17.612 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/15493200", + "process.pid": "20460", + "related.user": [ + "jose.villanova" + ], + "service.type": "postgresql", + "user.name": "jose.villanova" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log new file mode 100644 index 00000000000..dea8d6c082c --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log @@ -0,0 +1,2 @@ +2021-01-04 00:22:01.903 UTC,"postgres","postgres",59,"172.24.0.1:42642",5ff25f96.3b,3,"SELECT",2021-01-04 00:21:42 UTC,3/0,0,LOG,00000,"duration: 0.658 ms statement: SELECT 'multi', +'line';",,,,,,,,,"psql" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log-expected.json new file mode 100644 index 00000000000..dfcaf183703 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-multi-line.csv.log-expected.json @@ -0,0 +1,42 @@ +[ + { + "@timestamp": "2021-01-04T00:22:01.903Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 658000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 0, + "message": "SELECT 'multi',\n'line';", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42642, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff25f96.3b", + "postgresql.log.session_start_time": "2021-01-04T00:21:42.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:22:01.903 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "59", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log new file mode 100644 index 00000000000..b1f5f1de566 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log @@ -0,0 +1,3 @@ +2021-01-04 00:51:56.837 UTC,"postgres","postgres",105,"172.24.0.1:44618",5ff26691.69,6,"PARSE",2021-01-04 00:51:29 UTC,3/135,0,LOG,00000,"duration: 7.775 ms parse py:0x7fde12d61b80: SELECT * from information_schema.tables WHERE table_name = $1",,,,,,,,,"" +2021-01-04 00:51:56.843 UTC,"postgres","postgres",105,"172.24.0.1:44618",5ff26691.69,7,"BIND",2021-01-04 00:51:29 UTC,3/136,0,LOG,00000,"duration: 4.091 ms bind py:0x7fde12d61b80: SELECT * from information_schema.tables WHERE table_name = $1","parameters: $1 = 'tables'",,,,,,,,"" +2021-01-04 00:51:56.843 UTC,"postgres","postgres",105,"172.24.0.1:44618",5ff26691.69,8,"SELECT",2021-01-04 00:51:29 UTC,3/136,0,LOG,00000,"duration: 0.455 ms execute py:0x7fde12d61b80: SELECT * from information_schema.tables WHERE table_name = $1","parameters: $1 = 'tables'",,,,,,,,"" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log-expected.json new file mode 100644 index 00000000000..a428d244733 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-parse-bind.csv.log-expected.json @@ -0,0 +1,115 @@ +[ + { + "@timestamp": "2021-01-04T00:51:56.837Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 7775000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "SELECT * from information_schema.tables WHERE table_name = $1", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 44618, + "postgresql.log.command_tag": "PARSE", + "postgresql.log.database": "postgres", + "postgresql.log.query_name": "py:0x7fde12d61b80", + "postgresql.log.query_step": "parse", + "postgresql.log.session_id": "5ff26691.69", + "postgresql.log.session_start_time": "2021-01-04T00:51:29.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:51:56.837 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/135", + "process.pid": "105", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:51:56.843Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 4091000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 257, + "message": "SELECT * from information_schema.tables WHERE table_name = $1", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 44618, + "postgresql.log.command_tag": "BIND", + "postgresql.log.database": "postgres", + "postgresql.log.detail": "parameters: $1 = 'tables'", + "postgresql.log.query_name": "py:0x7fde12d61b80", + "postgresql.log.query_step": "bind", + "postgresql.log.session_id": "5ff26691.69", + "postgresql.log.session_start_time": "2021-01-04T00:51:29.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:51:56.843 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/136", + "process.pid": "105", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:51:56.843Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 455000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 539, + "message": "SELECT * from information_schema.tables WHERE table_name = $1", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 44618, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.detail": "parameters: $1 = 'tables'", + "postgresql.log.query_name": "py:0x7fde12d61b80", + "postgresql.log.query_step": "execute", + "postgresql.log.session_id": "5ff26691.69", + "postgresql.log.session_start_time": "2021-01-04T00:51:29.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:51:56.843 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/136", + "process.pid": "105", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log new file mode 100644 index 00000000000..1a4e1b082f1 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log @@ -0,0 +1,13 @@ +2021-01-03 20:00:46.695 UTC,,,28,,5ff2226e.1c,1,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"database system was shut down at 2021-01-03 20:00:42 UTC",,,,,,,,,"" +2021-01-03 20:00:46.708 UTC,,,1,,5ff2226e.1,1,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"database system is ready to accept connections",,,,,,,,,"" +2021-01-03 20:01:00.349 UTC,,,35,"172.24.0.1:38352",5ff2227c.23,1,"",2021-01-03 20:01:00 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=38352",,,,,,,,,"" +2021-01-03 20:01:02.701 UTC,,,36,"172.24.0.1:38356",5ff2227e.24,1,"",2021-01-03 20:01:02 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=38356",,,,,,,,,"" +2021-01-03 20:01:02.727 UTC,"postgres","postgres",36,"172.24.0.1:38356",5ff2227e.24,2,"authentication",2021-01-03 20:01:02 UTC,3/2,0,LOG,00000,"connection authorized: user=postgres database=postgres",,,,,,,,,"" +2021-01-03 20:01:07.094 UTC,"postgres","postgres",36,"172.24.0.1:38356",5ff2227e.24,3,"idle",2021-01-03 20:01:02 UTC,3/3,0,LOG,00000,"statement: SELECT 1;",,,,,,,,,"psql" +2021-01-03 20:01:07.724 UTC,"postgres","postgres",36,"172.24.0.1:38356",5ff2227e.24,4,"idle",2021-01-03 20:01:02 UTC,,0,LOG,00000,"disconnection: session time: 0:00:05.023 user=postgres database=postgres host=172.24.0.1 port=38356",,,,,,,,,"psql" +2021-01-03 20:01:08.894 UTC,,,1,,5ff2226e.1,2,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"received smart shutdown request",,,,,,,,,"" +2021-01-03 20:01:08.899 UTC,,,1,,5ff2226e.1,3,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"background worker ""logical replication launcher"" (PID 34) exited with exit code 1",,,,,,,,,"" +2021-01-03 20:01:08.899 UTC,,,29,,5ff2226e.1d,1,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"shutting down",,,,,,,,,"" +2021-01-03 20:01:08.901 UTC,,,29,,5ff2226e.1d,2,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"checkpoint starting: shutdown immediate",,,,,,,,,"" +2021-01-03 20:01:08.910 UTC,,,29,,5ff2226e.1d,3,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.000 s, sync=0.000 s, total=0.010 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=0 kB",,,,,,,,,"" +2021-01-03 20:01:08.919 UTC,,,1,,5ff2226e.1,4,,2021-01-03 20:00:46 UTC,,0,LOG,00000,"database system is shut down",,,,,,,,,"" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log-expected.json new file mode 100644 index 00000000000..9b095111b68 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-start-stop.csv.log-expected.json @@ -0,0 +1,360 @@ +[ + { + "@timestamp": "2021-01-03T20:00:46.695Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "database system was shut down at 2021-01-03 20:00:42 UTC", + "postgresql.log.session_id": "5ff2226e.1c", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:00:46.695 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "28", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:00:46.708Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 156, + "message": "database system is ready to accept connections", + "postgresql.log.session_id": "5ff2226e.1", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:00:46.708 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:00.349Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 300, + "message": "connection received: host=172.24.0.1 port=38352", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 38352, + "postgresql.log.session_id": "5ff2227c.23", + "postgresql.log.session_start_time": "2021-01-03T20:01:00.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:00.349 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "35", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:02.701Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 467, + "message": "connection received: host=172.24.0.1 port=38356", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 38356, + "postgresql.log.session_id": "5ff2227e.24", + "postgresql.log.session_start_time": "2021-01-03T20:01:02.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:02.701 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "36", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:02.727Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 634, + "message": "connection authorized: user=postgres database=postgres", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 38356, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff2227e.24", + "postgresql.log.session_start_time": "2021-01-03T20:01:02.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:02.727 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/2", + "process.pid": "36", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-03T20:01:07.094Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 845, + "message": "SELECT 1;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 38356, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff2227e.24", + "postgresql.log.session_start_time": "2021-01-03T20:01:02.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:07.094 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/3", + "process.pid": "36", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-03T20:01:07.724Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1016, + "message": "disconnection: session time: 0:00:05.023 user=postgres database=postgres host=172.24.0.1 port=38356", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 38356, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff2227e.24", + "postgresql.log.session_start_time": "2021-01-03T20:01:02.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:07.724 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "36", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-03T20:01:08.894Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1263, + "message": "received smart shutdown request", + "postgresql.log.session_id": "5ff2226e.1", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.894 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:08.899Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1392, + "message": "background worker \"logical replication launcher\" (PID 34) exited with exit code 1", + "postgresql.log.session_id": "5ff2226e.1", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.899 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:08.899Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1573, + "message": "shutting down", + "postgresql.log.session_id": "5ff2226e.1d", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.899 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "29", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:08.901Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1686, + "message": "checkpoint starting: shutdown immediate", + "postgresql.log.session_id": "5ff2226e.1d", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.901 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "29", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:08.910Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1825, + "message": "checkpoint complete: wrote 0 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.000 s, sync=0.000 s, total=0.010 s; sync files=0, longest=0.000 s, average=0.000 s; distance=0 kB, estimate=0 kB", + "postgresql.log.session_id": "5ff2226e.1d", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.910 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "29", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-03T20:01:08.919Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 2134, + "message": "database system is shut down", + "postgresql.log.session_id": "5ff2226e.1", + "postgresql.log.session_start_time": "2021-01-03T20:00:46.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-03 20:01:08.919 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log b/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log new file mode 100644 index 00000000000..0d04c57102c --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log @@ -0,0 +1,5 @@ +2021-01-04 00:33:05.565 UTC,"postgres","postgres",81,"172.24.0.1:42798",5ff26239.51,5,"SET",2021-01-04 00:32:57 UTC,3/0,0,LOG,00000,"duration: 0.189 ms statement: set log_temp_files = 0;",,,,,,,,,"psql" +2021-01-04 00:33:15.885 UTC,"postgres","postgres",81,"172.24.0.1:42798",5ff26239.51,6,"SELECT",2021-01-04 00:32:57 UTC,3/81,0,LOG,00000,"temporary file: path ""base/pgsql_tmp/pgsql_tmp81.3"", size 162381824",,,,,,"select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;",,,"psql" +2021-01-04 00:33:15.885 UTC,"postgres","postgres",81,"172.24.0.1:42798",5ff26239.51,7,"SELECT",2021-01-04 00:32:57 UTC,3/81,0,LOG,00000,"temporary file: path ""base/pgsql_tmp/pgsql_tmp81.1"", size 42000",,,,,,"select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;",,,"psql" +2021-01-04 00:33:15.885 UTC,"postgres","postgres",81,"172.24.0.1:42798",5ff26239.51,8,"SELECT",2021-01-04 00:32:57 UTC,3/81,0,LOG,00000,"temporary file: path ""base/pgsql_tmp/pgsql_tmp81.2"", size 42000",,,,,,"select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;",,,"psql" +2021-01-04 00:33:15.885 UTC,"postgres","postgres",81,"172.24.0.1:42798",5ff26239.51,9,"SELECT",2021-01-04 00:32:57 UTC,3/0,0,LOG,00000,"duration: 6921.284 ms statement: select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;",,,,,,,,,"psql" diff --git a/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log-expected.json new file mode 100644 index 00000000000..f46ac9a2d18 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-11-tempfile.csv.log-expected.json @@ -0,0 +1,184 @@ +[ + { + "@timestamp": "2021-01-04T00:33:05.565Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 189000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "set log_temp_files = 0;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42798, + "postgresql.log.command_tag": "SET", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26239.51", + "postgresql.log.session_start_time": "2021-01-04T00:32:57.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:33:05.565 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "81", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:33:15.885Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 204, + "message": "temporary file: path \"base/pgsql_tmp/pgsql_tmp81.3\", size 162381824", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42798, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query": "select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;", + "postgresql.log.session_id": "5ff26239.51", + "postgresql.log.session_start_time": "2021-01-04T00:32:57.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:33:15.885 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/81", + "process.pid": "81", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:33:15.885Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 531, + "message": "temporary file: path \"base/pgsql_tmp/pgsql_tmp81.1\", size 42000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42798, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query": "select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;", + "postgresql.log.session_id": "5ff26239.51", + "postgresql.log.session_start_time": "2021-01-04T00:32:57.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:33:15.885 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/81", + "process.pid": "81", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:33:15.885Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 854, + "message": "temporary file: path \"base/pgsql_tmp/pgsql_tmp81.2\", size 42000", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42798, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query": "select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;", + "postgresql.log.session_id": "5ff26239.51", + "postgresql.log.session_start_time": "2021-01-04T00:32:57.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:33:15.885 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/81", + "process.pid": "81", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T00:33:15.885Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 6921284096, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1177, + "message": "select * from generate_series(1, 3000) as t1(a), generate_series(1, 3000) as t2(a) order by 1 desc, 2;", + "postgresql.log.application_name": "psql", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 42798, + "postgresql.log.command_tag": "SELECT", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26239.51", + "postgresql.log.session_start_time": "2021-01-04T00:32:57.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 00:33:15.885 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "81", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-11.4.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-11.4.log-expected.json index 2d95ce2fd0e..700f402cd68 100644 --- a/filebeat/module/postgresql/log/test/postgresql-11.4.log-expected.json +++ b/filebeat/module/postgresql/log/test/postgresql-11.4.log-expected.json @@ -16,7 +16,7 @@ "log.level": "LOG", "log.offset": 0, "message": "database system was interrupted; last known up at 2019-07-23 12:03:20 UTC", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.406 UTC", "process.pid": 25, "service.type": "postgresql" @@ -59,7 +59,7 @@ "log.level": "LOG", "log.offset": 189, "message": "database system was not properly shut down; automatic recovery in progress", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.478 UTC", "process.pid": 25, "service.type": "postgresql" @@ -102,7 +102,7 @@ "log.level": "LOG", "log.offset": 379, "message": "redo starts at 0/1651398", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.485 UTC", "process.pid": 25, "service.type": "postgresql" @@ -145,7 +145,7 @@ "log.level": "LOG", "log.offset": 519, "message": "invalid record length at 0/16513D0: wanted 24, got 0", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.485 UTC", "process.pid": 25, "service.type": "postgresql" @@ -188,7 +188,7 @@ "log.level": "LOG", "log.offset": 686, "message": "redo done at 0/1651398", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.485 UTC", "process.pid": 25, "service.type": "postgresql" @@ -231,7 +231,7 @@ "log.level": "LOG", "log.offset": 824, "message": "database system is ready to accept connections", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:24.507 UTC", "process.pid": 1, "service.type": "postgresql" @@ -274,7 +274,7 @@ "log.level": "LOG", "log.offset": 985, "message": "connection received: host=[local]", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:30.536 UTC", "process.pid": 44, "service.type": "postgresql" @@ -317,7 +317,7 @@ "log.level": "LOG", "log.offset": 1146, "message": "connection authorized: user=postgres database=postgres", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:30.537 UTC", "process.pid": 44, "service.type": "postgresql" @@ -360,7 +360,7 @@ "log.level": "LOG", "log.offset": 1329, "message": "statement: show config_filel;", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:33.732 UTC", "process.pid": 44, "service.type": "postgresql" @@ -396,7 +396,6 @@ "event.module": "postgresql", "event.timezone": "UTC", "event.type": [ - "info", "error" ], "fileset.name": "log", @@ -404,7 +403,7 @@ "log.level": "ERROR", "log.offset": 1483, "message": "unrecognized configuration parameter \"config_filel\"", - "postgresql.log.error.code": 42704, + "postgresql.log.sql_state_code": "42704", "postgresql.log.timestamp": "2019-07-23 12:06:33.732 UTC", "process.pid": 44, "service.type": "postgresql" @@ -468,7 +467,7 @@ "log.level": "LOG", "log.offset": 1725, "message": "statement: show config_file;", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:34.877 UTC", "process.pid": 44, "service.type": "postgresql" @@ -511,7 +510,7 @@ "log.level": "LOG", "log.offset": 1878, "message": "duration: 0.524 ms", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:06:34.878 UTC", "process.pid": 44, "service.type": "postgresql" @@ -554,7 +553,7 @@ "log.level": "LOG", "log.offset": 2022, "message": "statement: SELECT * FROM pg_catalog.pg_tables;", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:09:57.563 UTC", "process.pid": 44, "service.type": "postgresql" @@ -597,7 +596,7 @@ "log.level": "LOG", "log.offset": 2193, "message": "duration: 2.139 ms", - "postgresql.log.error.code": 0, + "postgresql.log.sql_state_code": "00000", "postgresql.log.timestamp": "2019-07-23 12:09:57.565 UTC", "process.pid": 44, "service.type": "postgresql" diff --git a/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log b/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log new file mode 100644 index 00000000000..52289a29f82 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log @@ -0,0 +1,4 @@ +2021-02-14 10:45:33.257 UTC,"postgres","postgres",86,"172.24.0.1:48978",6028ff3a.56,4,"idle",2021-02-14 10:45:14 UTC,3/3,0,LOG,00000,"statement: SET idle_in_transaction_session_timeout = 50;",,,,,,,,,"psql","client backend" +2021-02-14 10:45:48.113 UTC,"postgres","postgres",86,"172.24.0.1:48978",6028ff3a.56,5,"idle",2021-02-14 10:45:14 UTC,3/4,0,LOG,00000,"statement: BEGIN;",,,,,,,,,"psql","client backend" +2021-02-14 10:45:48.164 UTC,"postgres","postgres",86,"172.24.0.1:48978",6028ff3a.56,6,"idle in transaction",2021-02-14 10:45:14 UTC,3/4,0,FATAL,25P03,"terminating connection due to idle-in-transaction timeout",,,,,,,,,"psql","client backend" +2021-02-14 10:45:48.164 UTC,"postgres","postgres",86,"172.24.0.1:48978",6028ff3a.56,7,"idle in transaction",2021-02-14 10:45:14 UTC,,0,LOG,00000,"disconnection: session time: 0:00:33.289 user=postgres database=postgres host=172.24.0.1 port=48978",,,,,,,,,"psql","client backend" diff --git a/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log-expected.json new file mode 100644 index 00000000000..71a675b8e6d --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-13-error-code.csv.log-expected.json @@ -0,0 +1,147 @@ +[ + { + "@timestamp": "2021-02-14T10:45:33.257Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "SET idle_in_transaction_session_timeout = 50;", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 48978, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "6028ff3a.56", + "postgresql.log.session_start_time": "2021-02-14T10:45:14.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-02-14 10:45:33.257 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/3", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-02-14T10:45:48.113Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 224, + "message": "BEGIN;", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 48978, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "6028ff3a.56", + "postgresql.log.session_start_time": "2021-02-14T10:45:14.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-02-14 10:45:48.113 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/4", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-02-14T10:45:48.164Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "error" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "FATAL", + "log.offset": 409, + "message": "terminating connection due to idle-in-transaction timeout", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 48978, + "postgresql.log.command_tag": "idle in transaction", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "6028ff3a.56", + "postgresql.log.session_start_time": "2021-02-14T10:45:14.000Z", + "postgresql.log.sql_state_code": "25P03", + "postgresql.log.timestamp": "2021-02-14 10:45:48.164 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/4", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-02-14T10:45:48.164Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 651, + "message": "disconnection: session time: 0:00:33.289 user=postgres database=postgres host=172.24.0.1 port=48978", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 48978, + "postgresql.log.command_tag": "idle in transaction", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "6028ff3a.56", + "postgresql.log.session_start_time": "2021-02-14T10:45:14.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-02-14 10:45:48.164 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-13.csv.log b/filebeat/module/postgresql/log/test/postgresql-13.csv.log new file mode 100644 index 00000000000..10912d64eb7 --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-13.csv.log @@ -0,0 +1,30 @@ +2021-01-04 01:06:13.270 UTC,,,1,,5ff26a05.1,1,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"starting PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit",,,,,,,,,"","postmaster" +2021-01-04 01:06:13.270 UTC,,,1,,5ff26a05.1,2,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"listening on IPv4 address ""0.0.0.0"", port 5432",,,,,,,,,"","postmaster" +2021-01-04 01:06:13.270 UTC,,,1,,5ff26a05.1,3,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"listening on IPv6 address ""::"", port 5432",,,,,,,,,"","postmaster" +2021-01-04 01:06:13.273 UTC,,,1,,5ff26a05.1,4,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"listening on Unix socket ""/var/run/postgresql/.s.PGSQL.5432""",,,,,,,,,"","postmaster" +2021-01-04 01:06:13.281 UTC,,,79,,5ff26a05.4f,1,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"database system was shut down at 2021-01-04 01:06:13 UTC",,,,,,,,,"","startup" +2021-01-04 01:06:13.289 UTC,,,1,,5ff26a05.1,5,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"database system is ready to accept connections",,,,,,,,,"","postmaster" +2021-01-04 01:06:20.982 UTC,,,86,"172.24.0.1:45126",5ff26a0c.56,1,"",2021-01-04 01:06:20 UTC,,0,LOG,00000,"connection received: host=172.24.0.1 port=45126",,,,,,,,,"","not initialized" +2021-01-04 01:06:21.083 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,2,"authentication",2021-01-04 01:06:20 UTC,3/1,0,LOG,00000,"connection authorized: user=postgres database=postgres application_name=psql",,,,,,,,,"","client backend" +2021-01-04 01:06:25.161 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,3,"idle",2021-01-04 01:06:20 UTC,3/2,0,LOG,00000,"statement: select 1;",,,,,,,,,"psql","client backend" +2021-01-04 01:06:41.115 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,4,"idle",2021-01-04 01:06:20 UTC,3/3,0,LOG,00000,"statement: select name, setting from pg_settings where name like 'log%';",,,,,,,,,"psql","client backend" +2021-01-04 01:06:54.227 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,5,"idle",2021-01-04 01:06:20 UTC,3/4,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,7)='log_min' +LIMIT 1000",,,,,,,,,"psql","client backend" +2021-01-04 01:06:55.502 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,6,"idle",2021-01-04 01:06:20 UTC,3/5,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,10)='log_min_du' +LIMIT 1000",,,,,,,,,"psql","client backend" +2021-01-04 01:06:58.297 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,7,"idle",2021-01-04 01:06:20 UTC,3/6,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,19)='log_min_duration_st' +LIMIT 1000",,,,,,,,,"psql","client backend" +2021-01-04 01:07:01.116 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,8,"idle",2021-01-04 01:06:20 UTC,3/7,0,LOG,00000,"statement: alter system set log_min_duration_statement = 0;",,,,,,,,,"psql","client backend" +2021-01-04 01:07:04.364 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,9,"idle",2021-01-04 01:06:20 UTC,3/8,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,3)='log' +LIMIT 1000",,,,,,,,,"psql","client backend" +2021-01-04 01:07:07.070 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,10,"idle",2021-01-04 01:06:20 UTC,3/9,0,LOG,00000,"statement: SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,6)='log_st' +LIMIT 1000",,,,,,,,,"psql","client backend" +2021-01-04 01:07:13.725 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,11,"idle",2021-01-04 01:06:20 UTC,3/10,0,LOG,00000,"statement: alter system set log_statement = 'none';",,,,,,,,,"psql","client backend" +2021-01-04 01:07:19.998 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,12,"idle",2021-01-04 01:06:20 UTC,3/11,0,LOG,00000,"statement: select pg_reload_conf();",,,,,,,,,"psql","client backend" +2021-01-04 01:07:19.999 UTC,,,1,,5ff26a05.1,6,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"received SIGHUP, reloading configuration files",,,,,,,,,"","postmaster" +2021-01-04 01:07:20.001 UTC,,,1,,5ff26a05.1,7,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"parameter ""log_min_duration_statement"" changed to ""0""",,,,,,,,,"","postmaster" +2021-01-04 01:07:20.001 UTC,,,1,,5ff26a05.1,8,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"parameter ""log_statement"" changed to ""none""",,,,,,,,,"","postmaster" +2021-01-04 01:07:24.360 UTC,,,80,,5ff26a05.50,1,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"checkpoint starting: immediate force wait",,,,,,,,,"","checkpointer" +2021-01-04 01:07:24.374 UTC,,,80,,5ff26a05.50,2,,2021-01-04 01:06:13 UTC,,0,LOG,00000,"checkpoint complete: wrote 1 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.014 s; sync files=1, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB",,,,,,,,,"","checkpointer" +2021-01-04 01:07:24.374 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,13,"CHECKPOINT",2021-01-04 01:06:20 UTC,3/0,0,LOG,00000,"duration: 15.136 ms statement: checkpoint;",,,,,,,,,"psql","client backend" +2021-01-04 01:07:25.950 UTC,"postgres","postgres",86,"172.24.0.1:45126",5ff26a0c.56,14,"idle",2021-01-04 01:06:20 UTC,,0,LOG,00000,"disconnection: session time: 0:01:04.968 user=postgres database=postgres host=172.24.0.1 port=45126",,,,,,,,,"psql","client backend" diff --git a/filebeat/module/postgresql/log/test/postgresql-13.csv.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-13.csv.log-expected.json new file mode 100644 index 00000000000..69520c8b59e --- /dev/null +++ b/filebeat/module/postgresql/log/test/postgresql-13.csv.log-expected.json @@ -0,0 +1,809 @@ +[ + { + "@timestamp": "2021-01-04T01:06:13.270Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 0, + "message": "starting PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.270 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:13.270Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 232, + "message": "listening on IPv4 address \"0.0.0.0\", port 5432", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.270 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:13.270Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 391, + "message": "listening on IPv6 address \"::\", port 5432", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.270 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:13.273Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 545, + "message": "listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.273 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:13.281Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 718, + "message": "database system was shut down at 2021-01-04 01:06:13 UTC", + "postgresql.log.backend_type": "startup", + "postgresql.log.session_id": "5ff26a05.4f", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.281 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "79", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:13.289Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 884, + "message": "database system is ready to accept connections", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:13.289 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:20.982Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1041, + "message": "connection received: host=172.24.0.1 port=45126", + "postgresql.log.backend_type": "not initialized", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:20.982 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "86", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:06:21.083Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1226, + "message": "connection authorized: user=postgres database=postgres application_name=psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "authentication", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:21.083 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/1", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:06:25.161Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1476, + "message": "select 1;", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:25.161 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/2", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:06:41.115Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 1664, + "message": "select name, setting from pg_settings where name like 'log%';", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:41.115 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/3", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:06:54.227Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 1904, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,7)='log_min'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:54.227 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/4", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:06:55.502Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 2274, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,10)='log_min_du'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:55.502 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/5", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:06:58.297Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 2648, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,19)='log_min_duration_st'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:06:58.297 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/6", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:01.116Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 3031, + "message": "alter system set log_min_duration_statement = 0;", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:01.116 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/7", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:04.364Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 3258, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,3)='log'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:04.364 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/8", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:07.070Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.flags": [ + "multiline" + ], + "log.level": "LOG", + "log.offset": 3624, + "message": "SELECT name FROM (SELECT pg_catalog.lower(name) AS name FROM pg_catalog.pg_settings WHERE context != 'internal' UNION ALL SELECT 'all') ss WHERE substring(name,1,6)='log_st'\nLIMIT 1000", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:07.070 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/9", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:13.725Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 3994, + "message": "alter system set log_statement = 'none';", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:13.725 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/10", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:19.998Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4215, + "message": "select pg_reload_conf();", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:19.998 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/11", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:19.999Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4420, + "message": "received SIGHUP, reloading configuration files", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:19.999 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:07:20.001Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4577, + "message": "parameter \"log_min_duration_statement\" changed to \"0\"", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:20.001 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:07:20.001Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4745, + "message": "parameter \"log_statement\" changed to \"none\"", + "postgresql.log.backend_type": "postmaster", + "postgresql.log.session_id": "5ff26a05.1", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:20.001 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "1", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:07:24.360Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 4903, + "message": "checkpoint starting: immediate force wait", + "postgresql.log.backend_type": "checkpointer", + "postgresql.log.session_id": "5ff26a05.50", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:24.360 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "80", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:07:24.374Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 5059, + "message": "checkpoint complete: wrote 1 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.014 s; sync files=1, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB", + "postgresql.log.backend_type": "checkpointer", + "postgresql.log.session_id": "5ff26a05.50", + "postgresql.log.session_start_time": "2021-01-04T01:06:13.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:24.374 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "80", + "service.type": "postgresql" + }, + { + "@timestamp": "2021-01-04T01:07:24.374Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.duration": 15136000, + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 5383, + "message": "checkpoint;", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "CHECKPOINT", + "postgresql.log.database": "postgres", + "postgresql.log.query_step": "statement", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:24.374 UTC", + "postgresql.log.transaction_id": 0, + "postgresql.log.virtual_transaction_id": "3/0", + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + }, + { + "@timestamp": "2021-01-04T01:07:25.950Z", + "event.category": [ + "database" + ], + "event.dataset": "postgresql.log", + "event.kind": "event", + "event.module": "postgresql", + "event.timezone": "UTC", + "event.type": [ + "info" + ], + "fileset.name": "log", + "input.type": "log", + "log.level": "LOG", + "log.offset": 5601, + "message": "disconnection: session time: 0:01:04.968 user=postgres database=postgres host=172.24.0.1 port=45126", + "postgresql.log.application_name": "psql", + "postgresql.log.backend_type": "client backend", + "postgresql.log.client_addr": "172.24.0.1", + "postgresql.log.client_port": 45126, + "postgresql.log.command_tag": "idle", + "postgresql.log.database": "postgres", + "postgresql.log.session_id": "5ff26a0c.56", + "postgresql.log.session_start_time": "2021-01-04T01:06:20.000Z", + "postgresql.log.sql_state_code": "00000", + "postgresql.log.timestamp": "2021-01-04 01:07:25.950 UTC", + "postgresql.log.transaction_id": 0, + "process.pid": "86", + "related.user": [ + "postgres" + ], + "service.type": "postgresql", + "user.name": "postgres" + } +] \ No newline at end of file diff --git a/filebeat/module/postgresql/log/test/postgresql-9.6-multi-core.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-9.6-multi-core.log-expected.json index 76f1bd2f065..8b2663cfcbb 100644 --- a/filebeat/module/postgresql/log/test/postgresql-9.6-multi-core.log-expected.json +++ b/filebeat/module/postgresql/log/test/postgresql-9.6-multi-core.log-expected.json @@ -16,8 +16,8 @@ "log.level": "LOG", "log.offset": 0, "message": "incomplete startup packet", - "postgresql.log.core_id": 1, "postgresql.log.database": "unknown", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-04-03 22:32:14.322 CEST", "process.pid": 12975, "related.user": [ @@ -43,8 +43,8 @@ "log.level": "FATAL", "log.offset": 91, "message": "database \"user\" does not exist", - "postgresql.log.core_id": 1, "postgresql.log.database": "user", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-04-03 22:32:14.322 CEST", "process.pid": 5404, "related.user": [ @@ -74,10 +74,10 @@ "log.level": "LOG", "log.offset": 182, "message": "2017-04-03 22:35:22.389 CEST [5404-2] postgres@postgres LOG: duration: 37.598 ms statement: SELECT n.nspname as \"Schema\",\n\t c.relname as \"Name\",\n\t CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' END as \"Type\",\n\t pg_catalog.pg_get_userbyid(c.relowner) as \"Owner\"\n\tFROM pg_catalog.pg_class c\n\t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n\tWHERE c.relkind IN ('r','')\n\t AND n.nspname <> 'pg_catalog'\n\t AND n.nspname <> 'information_schema'\n\t AND n.nspname !~ '^pg_toast'\n\t AND pg_catalog.pg_table_is_visible(c.oid)\n\tORDER BY 1,2;", - "postgresql.log.core_id": 2, "postgresql.log.database": "postgres", "postgresql.log.query": "SELECT n.nspname as \"Schema\",\n\t c.relname as \"Name\",\n\t CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' END as \"Type\",\n\t pg_catalog.pg_get_userbyid(c.relowner) as \"Owner\"\n\tFROM pg_catalog.pg_class c\n\t LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n\tWHERE c.relkind IN ('r','')\n\t AND n.nspname <> 'pg_catalog'\n\t AND n.nspname <> 'information_schema'\n\t AND n.nspname !~ '^pg_toast'\n\t AND pg_catalog.pg_table_is_visible(c.oid)\n\tORDER BY 1,2;", "postgresql.log.query_step": "statement", + "postgresql.log.session_line_number": 2, "postgresql.log.timestamp": "2017-04-03 22:35:22.389 CEST", "process.pid": 5404, "related.user": [ @@ -103,7 +103,7 @@ "log.level": "LOG", "log.offset": 897, "message": "autovacuum launcher started", - "postgresql.log.core_id": 1, + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:36:43.557 EST", "process.pid": 835, "service.type": "postgresql" @@ -125,7 +125,7 @@ "log.level": "LOG", "log.offset": 967, "message": "checkpoints are occurring too frequently (25 seconds apart)", - "postgresql.log.core_id": 1, + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:36:44.227 EST", "process.pid": 832, "service.type": "postgresql" @@ -147,7 +147,7 @@ "log.level": "HINT", "log.offset": 1069, "message": "Consider increasing the configuration parameter \"max_wal_size\".", - "postgresql.log.core_id": 2, + "postgresql.log.session_line_number": 2, "postgresql.log.timestamp": "2017-07-31 13:46:02.670 EST", "process.pid": 832, "service.type": "postgresql" @@ -169,8 +169,8 @@ "log.level": "FATAL", "log.offset": 1176, "message": "the database system is starting up", - "postgresql.log.core_id": 1, "postgresql.log.database": "postgres", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:46:23.016 EST", "process.pid": 768, "related.user": [ @@ -196,8 +196,8 @@ "log.level": "FATAL", "log.offset": 1273, "message": "the database system is starting up", - "postgresql.log.core_id": 1, "postgresql.log.database": "postgres", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:46:55.637 EST", "process.pid": 771, "related.user": [ diff --git a/filebeat/module/postgresql/log/test/postgresql-9.6-new-timestamp.log-expected.json b/filebeat/module/postgresql/log/test/postgresql-9.6-new-timestamp.log-expected.json index 9a1d8b1b5fa..fe2877f1f30 100644 --- a/filebeat/module/postgresql/log/test/postgresql-9.6-new-timestamp.log-expected.json +++ b/filebeat/module/postgresql/log/test/postgresql-9.6-new-timestamp.log-expected.json @@ -16,7 +16,7 @@ "log.level": "LOG", "log.offset": 0, "message": "autovacuum launcher started", - "postgresql.log.core_id": 1, + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:36:43 EST", "process.pid": 835, "service.type": "postgresql" @@ -38,7 +38,7 @@ "log.level": "LOG", "log.offset": 66, "message": "checkpoints are occurring too frequently (25 seconds apart)", - "postgresql.log.core_id": 1, + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:36:44 EST", "process.pid": 832, "service.type": "postgresql" @@ -60,7 +60,7 @@ "log.level": "HINT", "log.offset": 164, "message": "Consider increasing the configuration parameter \"max_wal_size\".", - "postgresql.log.core_id": 2, + "postgresql.log.session_line_number": 2, "postgresql.log.timestamp": "2017-07-31 13:46:02 EST", "process.pid": 832, "service.type": "postgresql" @@ -82,8 +82,8 @@ "log.level": "FATAL", "log.offset": 267, "message": "the database system is starting up", - "postgresql.log.core_id": 1, "postgresql.log.database": "postgres", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:46:23 EST", "process.pid": 768, "related.user": [ @@ -109,8 +109,8 @@ "log.level": "FATAL", "log.offset": 360, "message": "the database system is starting up", - "postgresql.log.core_id": 1, "postgresql.log.database": "postgres", + "postgresql.log.session_line_number": 1, "postgresql.log.timestamp": "2017-07-31 13:46:55 EST", "process.pid": 771, "related.user": [ diff --git a/filebeat/scripts/tester/main_test.go b/filebeat/scripts/tester/main_test.go index 6284f6f2e5e..b64e623212d 100644 --- a/filebeat/scripts/tester/main_test.go +++ b/filebeat/scripts/tester/main_test.go @@ -34,7 +34,7 @@ func TestGetPipelinePath(t *testing.T) { }, { pipelinePath: "../../module/postgresql/log/ingest", - count: 1, + count: 3, }, { pipelinePath: "postgresql/log", diff --git a/go.mod b/go.mod index f5407a2e375..504fe58a826 100644 --- a/go.mod +++ b/go.mod @@ -59,7 +59,7 @@ require ( github.com/dustin/go-humanize v1.0.0 github.com/eapache/go-resiliency v1.2.0 github.com/eclipse/paho.mqtt.golang v1.2.1-0.20200121105743-0d940dd29fd2 - github.com/elastic/ecs v1.0.0-beta2.0.20210202203518-638aa2bb5271 + github.com/elastic/ecs v1.8.0 github.com/elastic/elastic-agent-client/v7 v7.0.0-20200709172729-d43b7ad5833a github.com/elastic/go-concert v0.1.0 github.com/elastic/go-libaudit/v2 v2.2.0 @@ -69,11 +69,11 @@ require ( github.com/elastic/go-perf v0.0.0-20191212140718-9c656876f595 github.com/elastic/go-seccomp-bpf v1.1.0 github.com/elastic/go-structform v0.0.7 - github.com/elastic/go-sysinfo v1.5.0 + github.com/elastic/go-sysinfo v1.6.0 github.com/elastic/go-txfile v0.0.7 github.com/elastic/go-ucfg v0.8.3 github.com/elastic/go-windows v1.0.1 // indirect - github.com/elastic/gosigar v0.13.0 + github.com/elastic/gosigar v0.14.0 github.com/fatih/color v1.9.0 github.com/fsnotify/fsevents v0.1.1 github.com/fsnotify/fsnotify v1.4.9 diff --git a/go.sum b/go.sum index b7b9053d30b..4fcc1ef0c5c 100644 --- a/go.sum +++ b/go.sum @@ -52,7 +52,6 @@ github.com/Azure/go-autorest/autorest v0.9.6 h1:5YWtOnckcudzIw8lPPBcWOnmIFWMtHci github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.8.1 h1:pZdL8o72rK+avFWl+p9nE8RWi1JInZrWJYlnpfXJwHk= github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.8.2 h1:O1X4oexUxnZCaEUGsvMnr8ZGj8HI37tNezwY4npRqA0= github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= @@ -102,10 +101,8 @@ github.com/aerospike/aerospike-client-go v1.27.1-0.20170612174108-0f3b54da6bdc/g github.com/akavel/rsrc v0.8.0 h1:zjWn7ukO9Kc5Q62DOJCcxGpXC18RawVtYAGdz2aLlfw= github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 h1:Hs82Z41s6SdL1CELW+XaDYmOH4hkBN4/N9og/AsOv7E= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/andrewkroh/goja v0.0.0-20190128172624-dd2ac4456e20 h1:7rj9qZ63knnVo2ZeepYHvHuRdG76f3tRUTdIQDzRBeI= github.com/andrewkroh/goja v0.0.0-20190128172624-dd2ac4456e20/go.mod h1:cI59GRkC2FRaFYtgbYEqMlgnnfvAwXzjojyZKXwklNg= @@ -186,7 +183,6 @@ github.com/coreos/go-systemd/v22 v22.0.0 h1:XJIw/+VlJ+87J+doOxznsAWIdmWuViOVhkQa github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea h1:n2Ltr3SrfQlf/9nOna1DoGKxLx3qTSI8Ttl6Xrqp6mw= github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/godog v0.8.1 h1:lVb+X41I4YDreE+ibZ50bdXmySxgRviYFgKY6Aw4XE8= @@ -247,8 +243,8 @@ github.com/eclipse/paho.mqtt.golang v1.2.1-0.20200121105743-0d940dd29fd2 h1:DW6W github.com/eclipse/paho.mqtt.golang v1.2.1-0.20200121105743-0d940dd29fd2/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3 h1:lnDkqiRFKm0rxdljqrj3lotWinO9+jFmeDXIC4gvIQs= github.com/elastic/dhcp v0.0.0-20200227161230-57ec251c7eb3/go.mod h1:aPqzac6AYkipvp4hufTyMj5PDIphF3+At8zr7r51xjY= -github.com/elastic/ecs v1.0.0-beta2.0.20210202203518-638aa2bb5271 h1:lEqA6OOU2w/7cce5M2v6ZAaOqsTw2Q3ZFqSgbH0bMyQ= -github.com/elastic/ecs v1.0.0-beta2.0.20210202203518-638aa2bb5271/go.mod h1:pgiLbQsijLOJvFR8OTILLu0Ni/R/foUNg0L+T6mU9b4= +github.com/elastic/ecs v1.8.0 h1:wa61IDQsQcZyJa6hwbhqGO+631H+kGHhe0J4V7tMPZY= +github.com/elastic/ecs v1.8.0/go.mod h1:pgiLbQsijLOJvFR8OTILLu0Ni/R/foUNg0L+T6mU9b4= github.com/elastic/elastic-agent-client/v7 v7.0.0-20200709172729-d43b7ad5833a h1:2NHgf1RUw+f240lpTnLrCp1aBNvq2wDi0E1A423/S1k= github.com/elastic/elastic-agent-client/v7 v7.0.0-20200709172729-d43b7ad5833a/go.mod h1:uh/Gj9a0XEbYoM4NYz4LvaBVARz3QXLmlNjsrKY9fTc= github.com/elastic/fsevents v0.0.0-20181029231046-e1d381a4d270 h1:cWPqxlPtir4RoQVCpGSRXmLqjEHpJKbR60rxh1nQZY4= @@ -272,8 +268,8 @@ github.com/elastic/go-seccomp-bpf v1.1.0/go.mod h1:l+89Vy5BzjVcaX8USZRMOwmwwDScE github.com/elastic/go-structform v0.0.7 h1:ihszOJQryNuIIHE2ZgsbiDq+agKO6V4yK0JYAI3tjzc= github.com/elastic/go-structform v0.0.7/go.mod h1:QrMyP3oM9Sjk92EVGLgRaL2lKt0Qx7ZNDRWDxB6khVs= github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= -github.com/elastic/go-sysinfo v1.5.0 h1:6DBn+WmxLz+IJ9MY+MzX2rWQNd04vSRB3TSuXu/2JjU= -github.com/elastic/go-sysinfo v1.5.0/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= +github.com/elastic/go-sysinfo v1.6.0 h1:u0QbU8eWSwKRPcFQancnSY4Zi0COksCJXkUgPHxE5Tw= +github.com/elastic/go-sysinfo v1.6.0/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= github.com/elastic/go-txfile v0.0.7 h1:Yn28gclW7X0Qy09nSMSsx0uOAvAGMsp6XHydbiLVe2s= github.com/elastic/go-txfile v0.0.7/go.mod h1:H0nCoFae0a4ga57apgxFsgmRjevNCsEaT6g56JoeKAE= github.com/elastic/go-ucfg v0.7.0/go.mod h1:iaiY0NBIYeasNgycLyTvhJftQlQEUO2hpF+FX0JKxzo= @@ -282,8 +278,8 @@ github.com/elastic/go-ucfg v0.8.3/go.mod h1:iaiY0NBIYeasNgycLyTvhJftQlQEUO2hpF+F github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= github.com/elastic/go-windows v1.0.1 h1:AlYZOldA+UJ0/2nBuqWdo90GFCgG9xuyw9SYzGUtJm0= github.com/elastic/go-windows v1.0.1/go.mod h1:FoVvqWSun28vaDQPbj2Elfc0JahhPB7WQEGa3c814Ss= -github.com/elastic/gosigar v0.13.0 h1:EIeuQcLPKia759s6mlVztlxUyKiKYHo6y6kOODOLO7A= -github.com/elastic/gosigar v0.13.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/elastic/gosigar v0.14.0 h1:5w470Q8AagzVY8U48ab8rVkQrOXiIK1NHBYWrAxi9kI= +github.com/elastic/gosigar v0.14.0/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= github.com/elastic/sarama v1.19.1-0.20210120173147-5c8cb347d877 h1:C9LsbipColsz04JKpKoLlp0pgMJRLq2uXVTeKRDcNcY= github.com/elastic/sarama v1.19.1-0.20210120173147-5c8cb347d877/go.mod h1:g5s5osgELxgM+Md9Qni9rzo7Rbt+vvFQI4bt/Mc93II= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= @@ -381,7 +377,6 @@ github.com/google/flatbuffers v1.7.2-0.20170925184458-7a6b2bf521e9/go.mod h1:1Ae github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -500,12 +495,10 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxv github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -550,7 +543,6 @@ github.com/mitchellh/hashstructure v0.0.0-20170116052023-ab25296c0f51 h1:qdHlMll github.com/mitchellh/hashstructure v0.0.0-20170116052023-ab25296c0f51/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -645,7 +637,6 @@ github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/samuel/go-parser v0.0.0-20130731160455-ca8abbf65d0e h1:hUGyBE/4CXRPThr4b6kt+f1CN90no4Fs5CNrYOKYSIg= github.com/samuel/go-parser v0.0.0-20130731160455-ca8abbf65d0e/go.mod h1:Sb6li54lXV0yYEjI4wX8cucdQ9gqUJV3+Ngg3l9g30I= @@ -714,7 +705,6 @@ github.com/ugorji/go v1.1.8/go.mod h1:0lNM99SwWUIRhCXnigEMClngXBk/EmpTXa7mgiewYW github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.8 h1:4dryPvxMP9OtkjIbuNeK2nb27M38XMHLGlfNSNph/5s= github.com/ugorji/go/codec v1.1.8/go.mod h1:X00B19HDtwvKbQY2DcYjvZxKQp8mzrJoQ6EgoIY/D2E= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5 h1:MCfT24H3f//U5+UCrZp1/riVO3B50BovxtDiNn0XKkk= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797 h1:OHNw/6pXODJAB32NujjdQO/KIYQ3KAbHQfCzH81XdCs= github.com/urso/diag v0.0.0-20200210123136-21b3cc8eb797/go.mod h1:pNWFTeQ+V1OYT/TzWpnWb6eQBdoXpdx+H+lrH97/Oyo= @@ -783,7 +773,6 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -833,7 +822,6 @@ golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA= golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -892,7 +880,6 @@ golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 h1:bNEHhJCnrwMKNMmOx3yAynp5v golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -904,7 +891,6 @@ golang.org/x/tools v0.0.0-20200602230032-c00d67ef29d0 h1:6txNFSnY+tteYoO+hf01Epd golang.org/x/tools v0.0.0-20200602230032-c00d67ef29d0/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -930,7 +916,6 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb h1:ADPHZzpzM4tk4V4S5cnCrr5SwzvlrPRmqqCuJDB8UTs= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= @@ -951,7 +936,6 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= @@ -961,7 +945,6 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -993,7 +976,6 @@ gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/heartbeat/beater/heartbeat.go b/heartbeat/beater/heartbeat.go index 171bdfe5fdb..85bfb79fe20 100644 --- a/heartbeat/beater/heartbeat.go +++ b/heartbeat/beater/heartbeat.go @@ -18,7 +18,6 @@ package beater import ( - "context" "fmt" "time" @@ -83,10 +82,11 @@ func New(b *beat.Beat, rawConfig *common.Config) (beat.Beater, error) { func (bt *Heartbeat) Run(b *beat.Beat) error { logp.Info("heartbeat is running! Hit CTRL-C to stop it.") - err := bt.RunStaticMonitors(b) + stopStaticMonitors, err := bt.RunStaticMonitors(b) if err != nil { return err } + defer stopStaticMonitors() if b.Manager.Enabled() { bt.RunCentralMgmtMonitors(b) @@ -102,13 +102,6 @@ func (bt *Heartbeat) Run(b *beat.Beat) error { } } - if len(bt.config.SyntheticSuites) > 0 { - err := bt.RunSyntheticSuiteMonitors(b) - if err != nil { - return err - } - } - if bt.config.Autodiscover != nil { bt.autodiscover, err = bt.makeAutodiscover(b) if err != nil { @@ -131,9 +124,10 @@ func (bt *Heartbeat) Run(b *beat.Beat) error { } // RunStaticMonitors runs the `heartbeat.monitors` portion of the yaml config if present. -func (bt *Heartbeat) RunStaticMonitors(b *beat.Beat) error { +func (bt *Heartbeat) RunStaticMonitors(b *beat.Beat) (stop func(), err error) { factory := monitors.NewFactory(b.Info, bt.scheduler, true) + var runners []cfgfile.Runner for _, cfg := range bt.config.Monitors { created, err := factory.Create(b.Publisher, cfg) if err != nil { @@ -141,12 +135,19 @@ func (bt *Heartbeat) RunStaticMonitors(b *beat.Beat) error { continue // don't stop loading monitors just because they're disabled } - return errors.Wrap(err, "could not create monitor") + return nil, errors.Wrap(err, "could not create monitor") } created.Start() + runners = append(runners, created) } - return nil + + stop = func() { + for _, runner := range runners { + runner.Stop() + } + } + return stop, nil } // RunCentralMgmtMonitors loads any central management configured configs. @@ -170,50 +171,6 @@ func (bt *Heartbeat) RunReloadableMonitors(b *beat.Beat) (err error) { return nil } -// Provide hook to define journey list discovery from x-pack -type JourneyLister func(ctx context.Context, suiteFile string, params common.MapStr) ([]string, error) - -var mainJourneyLister JourneyLister - -func RegisterJourneyLister(jl JourneyLister) { - mainJourneyLister = jl -} - -func (bt *Heartbeat) RunSyntheticSuiteMonitors(b *beat.Beat) error { - // If we are running without XPack this will be nil - if mainJourneyLister == nil { - return nil - } - for _, suite := range bt.config.SyntheticSuites { - logp.Info("Listing suite %s", suite.Path) - journeyNames, err := mainJourneyLister(context.TODO(), suite.Path, suite.Params) - if err != nil { - return err - } - factory := monitors.NewFactory(b.Info, bt.scheduler, false) - for _, name := range journeyNames { - cfg, err := common.NewConfigFrom(map[string]interface{}{ - "type": "browser", - "path": suite.Path, - "schedule": suite.Schedule, - "params": suite.Params, - "journey_name": name, - "name": name, - "id": name, - }) - if err != nil { - return err - } - created, err := factory.Create(b.Publisher, cfg) - if err != nil { - return errors.Wrap(err, "could not create monitor") - } - created.Start() - } - } - return nil -} - // makeAutodiscover creates an autodiscover object ready to be started. func (bt *Heartbeat) makeAutodiscover(b *beat.Beat) (*autodiscover.Autodiscover, error) { autodiscover, err := autodiscover.NewAutodiscover( diff --git a/heartbeat/config/config.go b/heartbeat/config/config.go index bfee8096f39..052d472ea39 100644 --- a/heartbeat/config/config.go +++ b/heartbeat/config/config.go @@ -32,7 +32,7 @@ type Config struct { ConfigMonitors *common.Config `config:"config.monitors"` Scheduler Scheduler `config:"scheduler"` Autodiscover *autodiscover.Config `config:"autodiscover"` - SyntheticSuites []*SyntheticSuite `config:"synthetic_suites"` + SyntheticSuites []*common.Config `config:"synthetic_suites"` } // Scheduler defines the syntax of a heartbeat.yml scheduler block. @@ -41,12 +41,5 @@ type Scheduler struct { Location string `config:"location"` } -type SyntheticSuite struct { - Path string `config:"path"` - Name string `config:"id_prefix"` - Schedule string `config:"schedule"` - Params map[string]interface{} `config:"params"` -} - // DefaultConfig is the canonical instantiation of Config. var DefaultConfig = Config{} diff --git a/heartbeat/heartbeat.reference.yml b/heartbeat/heartbeat.reference.yml index 85e00f43342..d1373f73750 100644 --- a/heartbeat/heartbeat.reference.yml +++ b/heartbeat/heartbeat.reference.yml @@ -1281,7 +1281,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/heartbeat/include/fields.go b/heartbeat/include/fields.go index 8c5c30dcb6b..de3f5d2e21f 100644 --- a/heartbeat/include/fields.go +++ b/heartbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/heartbeat/monitors/active/http/http.go b/heartbeat/monitors/active/http/http.go index 74463663567..214ed8519d8 100644 --- a/heartbeat/monitors/active/http/http.go +++ b/heartbeat/monitors/active/http/http.go @@ -22,7 +22,8 @@ import ( "net/http" "net/url" - "github.com/elastic/beats/v7/heartbeat/monitors" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" + "github.com/elastic/beats/v7/heartbeat/monitors/jobs" "github.com/elastic/beats/v7/heartbeat/monitors/wrappers" "github.com/elastic/beats/v7/libbeat/common" @@ -32,8 +33,7 @@ import ( ) func init() { - monitors.RegisterActive("http", create) - monitors.RegisterActive("synthetics/http", create) + plugin.Register("http", create, "synthetics/http") } var debugf = logp.MakeDebug("http") @@ -42,15 +42,15 @@ var debugf = logp.MakeDebug("http") func create( name string, cfg *common.Config, -) (js []jobs.Job, endpoints int, err error) { +) (p plugin.Plugin, err error) { config := defaultConfig if err := cfg.Unpack(&config); err != nil { - return nil, 0, err + return plugin.Plugin{}, err } tls, err := tlscommon.LoadTLSConfig(config.TLS) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } var body []byte @@ -61,13 +61,13 @@ func create( compression := config.Check.Request.Compression enc, err = getContentEncoder(compression.Type, compression.Level) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } buf := bytes.NewBuffer(nil) err = enc.Encode(buf, bytes.NewBufferString(config.Check.Request.SendBody)) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } body = buf.Bytes() @@ -75,7 +75,7 @@ func create( validator, err := makeValidateResponse(&config.Check.Response) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } // Determine whether we're using a proxy or not and then use that to figure out how to @@ -87,7 +87,7 @@ func create( if config.ProxyURL != "" || config.MaxRedirects > 0 { transport, err := newRoundTripper(&config, tls) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } makeJob = func(urlStr string) (jobs.Job, error) { @@ -99,16 +99,16 @@ func create( } } - js = make([]jobs.Job, len(config.Hosts)) + js := make([]jobs.Job, len(config.Hosts)) for i, urlStr := range config.Hosts { u, _ := url.Parse(urlStr) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } job, err := makeJob(urlStr) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } // Assign any execution errors to the error field and @@ -116,7 +116,7 @@ func create( js[i] = wrappers.WithURLField(u, job) } - return js, len(config.Hosts), nil + return plugin.Plugin{Jobs: js, Close: nil, Endpoints: len(config.Hosts)}, nil } func newRoundTripper(config *Config, tls *tlscommon.TLSConfig) (*http.Transport, error) { diff --git a/heartbeat/monitors/active/http/http_test.go b/heartbeat/monitors/active/http/http_test.go index cd2c03dee3f..6fcd3c20a43 100644 --- a/heartbeat/monitors/active/http/http_test.go +++ b/heartbeat/monitors/active/http/http_test.go @@ -78,17 +78,17 @@ func sendTLSRequest(t *testing.T, testURL string, useUrls bool, extraConfig map[ config, err := common.NewConfigFrom(configSrc) require.NoError(t, err) - jobs, endpoints, err := create("tls", config) + p, err := create("tls", config) require.NoError(t, err) sched := schedule.MustParse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "tls", Type: "http", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "tls", Type: "http", Schedule: sched, Timeout: 1})[0] event := &beat.Event{} _, err = job(event) require.NoError(t, err) - require.Equal(t, 1, endpoints) + require.Equal(t, 1, p.Endpoints) return event } @@ -318,11 +318,11 @@ func TestLargeResponse(t *testing.T) { config, err := common.NewConfigFrom(configSrc) require.NoError(t, err) - jobs, _, err := create("largeresp", config) + p, err := create("largeresp", config) require.NoError(t, err) sched, _ := schedule.Parse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] event := &beat.Event{} _, err = job(event) @@ -532,11 +532,11 @@ func TestRedirect(t *testing.T) { config, err := common.NewConfigFrom(configSrc) require.NoError(t, err) - jobs, _, err := create("redirect", config) + p, err := create("redirect", config) require.NoError(t, err) sched, _ := schedule.Parse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] // Run this test multiple times since in the past we had an issue where the redirects // list was added onto by each request. See https://github.com/elastic/beats/pull/15944 @@ -579,11 +579,11 @@ func TestNoHeaders(t *testing.T) { config, err := common.NewConfigFrom(configSrc) require.NoError(t, err) - jobs, _, err := create("http", config) + p, err := create("http", config) require.NoError(t, err) sched, _ := schedule.Parse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "http", Schedule: sched, Timeout: 1})[0] event := &beat.Event{} _, err = job(event) diff --git a/heartbeat/monitors/active/icmp/icmp.go b/heartbeat/monitors/active/icmp/icmp.go index f9119ab19ec..1315a1dddf0 100644 --- a/heartbeat/monitors/active/icmp/icmp.go +++ b/heartbeat/monitors/active/icmp/icmp.go @@ -22,6 +22,8 @@ import ( "net" "net/url" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" + "github.com/elastic/beats/v7/heartbeat/eventext" "github.com/elastic/beats/v7/heartbeat/look" "github.com/elastic/beats/v7/heartbeat/monitors" @@ -35,30 +37,29 @@ import ( var debugf = logp.MakeDebug("icmp") func init() { - monitors.RegisterActive("icmp", create) - monitors.RegisterActive("synthetics/icmp", create) + plugin.Register("icmp", create, "synthetics/icmp") } func create( name string, commonConfig *common.Config, -) (jobs []jobs.Job, endpoints int, err error) { +) (p plugin.Plugin, err error) { loop, err := getStdLoop() if err != nil { logp.Warn("Failed to initialize ICMP loop %v", err) - return nil, 0, err + return plugin.Plugin{}, err } config := DefaultConfig if err := commonConfig.Unpack(&config); err != nil { - return nil, 0, err + return plugin.Plugin{}, err } jf, err := newJobFactory(config, monitors.NewStdResolver(), loop) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } - return jf.makeJobs() + return jf.makePlugin() } @@ -89,29 +90,30 @@ func (jf *jobFactory) checkConfig() error { return nil } -func (jf *jobFactory) makeJobs() (j []jobs.Job, endpoints int, err error) { +func (jf *jobFactory) makePlugin() (plugin2 plugin.Plugin, err error) { if err := jf.loop.checkNetworkMode(jf.ipVersion); err != nil { - return nil, 0, err + return plugin.Plugin{}, err } pingFactory := jf.pingIPFactory(&jf.config) + var j []jobs.Job for _, host := range jf.config.Hosts { job, err := monitors.MakeByHostJob(host, jf.config.Mode, monitors.NewStdResolver(), pingFactory) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } u, err := url.Parse(fmt.Sprintf("icmp://%s", host)) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } j = append(j, wrappers.WithURLField(u, job)) } - return j, len(jf.config.Hosts), nil + return plugin.Plugin{Jobs: j, Close: nil, Endpoints: len(jf.config.Hosts)}, nil } func (jf *jobFactory) pingIPFactory(config *Config) func(*net.IPAddr) jobs.Job { diff --git a/heartbeat/monitors/active/icmp/icmp_test.go b/heartbeat/monitors/active/icmp/icmp_test.go index 955520b81ba..2fd654648db 100644 --- a/heartbeat/monitors/active/icmp/icmp_test.go +++ b/heartbeat/monitors/active/icmp/icmp_test.go @@ -65,12 +65,12 @@ func execTestICMPCheck(t *testing.T, cfg Config) (mockLoop, *beat.Event) { tl := mockLoop{pingRtt: time.Microsecond * 1000, pingRequests: 1} jf, err := newJobFactory(cfg, monitors.NewStdResolver(), tl) require.NoError(t, err) - j, endpoints, err := jf.makeJobs() - require.Len(t, j, 1) - require.Equal(t, 1, endpoints) + p, err := jf.makePlugin() + require.Len(t, p.Jobs, 1) + require.Equal(t, 1, p.Endpoints) e := &beat.Event{} sched, _ := schedule.Parse("@every 1s") - wrapped := wrappers.WrapCommon(j, stdfields.StdMonitorFields{ID: "test", Type: "icmp", Schedule: sched, Timeout: 1}) + wrapped := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "icmp", Schedule: sched, Timeout: 1}) wrapped[0](e) return tl, e } diff --git a/heartbeat/monitors/active/tcp/helpers_test.go b/heartbeat/monitors/active/tcp/helpers_test.go index ea3a22b2888..b5c7aa077f3 100644 --- a/heartbeat/monitors/active/tcp/helpers_test.go +++ b/heartbeat/monitors/active/tcp/helpers_test.go @@ -38,17 +38,17 @@ func testTCPConfigCheck(t *testing.T, configMap common.MapStr, host string, port config, err := common.NewConfigFrom(configMap) require.NoError(t, err) - jobs, endpoints, err := create("tcp", config) + p, err := create("tcp", config) require.NoError(t, err) sched := schedule.MustParse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "test", Type: "tcp", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "tcp", Schedule: sched, Timeout: 1})[0] event := &beat.Event{} _, err = job(event) require.NoError(t, err) - require.Equal(t, 1, endpoints) + require.Equal(t, 1, p.Endpoints) return event } diff --git a/heartbeat/monitors/active/tcp/tcp.go b/heartbeat/monitors/active/tcp/tcp.go index 6be682ee560..aeaebe79a55 100644 --- a/heartbeat/monitors/active/tcp/tcp.go +++ b/heartbeat/monitors/active/tcp/tcp.go @@ -29,6 +29,7 @@ import ( "github.com/elastic/beats/v7/heartbeat/monitors/active/dialchain" "github.com/elastic/beats/v7/heartbeat/monitors/active/dialchain/tlsmeta" "github.com/elastic/beats/v7/heartbeat/monitors/jobs" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" "github.com/elastic/beats/v7/heartbeat/monitors/wrappers" "github.com/elastic/beats/v7/heartbeat/reason" "github.com/elastic/beats/v7/libbeat/beat" @@ -39,8 +40,7 @@ import ( ) func init() { - monitors.RegisterActive("tcp", create) - monitors.RegisterActive("synthetics/tcp", create) + plugin.Register("tcp", create, "synthetics/tcp") } var debugf = logp.MakeDebug("tcp") @@ -48,7 +48,7 @@ var debugf = logp.MakeDebug("tcp") func create( name string, cfg *common.Config, -) (jobs []jobs.Job, endpoints int, err error) { +) (p plugin.Plugin, err error) { return createWithResolver(cfg, monitors.NewStdResolver()) } @@ -57,18 +57,18 @@ func create( func createWithResolver( cfg *common.Config, resolver monitors.Resolver, -) (jobs []jobs.Job, endpoints int, err error) { +) (p plugin.Plugin, err error) { jc, err := newJobFactory(cfg, resolver) if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } - jobs, err = jc.makeJobs() + js, err := jc.makeJobs() if err != nil { - return nil, 0, err + return plugin.Plugin{}, err } - return jobs, len(jc.endpoints), nil + return plugin.Plugin{Jobs: js, Close: nil, Endpoints: len(jc.endpoints)}, nil } // jobFactory is where most of the logic here lives. It provides a common context around diff --git a/heartbeat/monitors/active/tcp/tls_test.go b/heartbeat/monitors/active/tcp/tls_test.go index 88c539ee7e7..62477ed2f56 100644 --- a/heartbeat/monitors/active/tcp/tls_test.go +++ b/heartbeat/monitors/active/tcp/tls_test.go @@ -184,17 +184,17 @@ func testTLSTCPCheck(t *testing.T, host string, port uint16, certFileName string }) require.NoError(t, err) - jobs, endpoints, err := createWithResolver(config, resolver) + p, err := createWithResolver(config, resolver) require.NoError(t, err) sched := schedule.MustParse("@every 1s") - job := wrappers.WrapCommon(jobs, stdfields.StdMonitorFields{ID: "test", Type: "tcp", Schedule: sched, Timeout: 1})[0] + job := wrappers.WrapCommon(p.Jobs, stdfields.StdMonitorFields{ID: "test", Type: "tcp", Schedule: sched, Timeout: 1})[0] event := &beat.Event{} _, err = job(event) require.NoError(t, err) - require.Equal(t, 1, endpoints) + require.Equal(t, 1, p.Endpoints) return event } diff --git a/heartbeat/monitors/factory.go b/heartbeat/monitors/factory.go index 5e54eca78fe..7e4da00f82d 100644 --- a/heartbeat/monitors/factory.go +++ b/heartbeat/monitors/factory.go @@ -20,6 +20,7 @@ package monitors import ( "fmt" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" "github.com/elastic/beats/v7/heartbeat/scheduler" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/cfgfile" @@ -77,13 +78,13 @@ func (f *RunnerFactory) Create(p beat.Pipeline, c *common.Config) (cfgfile.Runne } p = pipetool.WithClientConfigEdit(p, configEditor) - monitor, err := newMonitor(c, globalPluginsReg, p, f.sched, f.allowWatches) + monitor, err := newMonitor(c, plugin.GlobalPluginsReg, p, f.sched, f.allowWatches) return monitor, err } // CheckConfig checks to see if the given monitor config is valid. func (f *RunnerFactory) CheckConfig(config *common.Config) error { - return checkMonitorConfig(config, globalPluginsReg, f.allowWatches) + return checkMonitorConfig(config, plugin.GlobalPluginsReg, f.allowWatches) } func newCommonPublishConfigs(info beat.Info, cfg *common.Config) (pipetool.ConfigEditor, error) { diff --git a/heartbeat/monitors/mocks_test.go b/heartbeat/monitors/mocks_test.go index 629eeb43a43..fecf8a53f59 100644 --- a/heartbeat/monitors/mocks_test.go +++ b/heartbeat/monitors/mocks_test.go @@ -29,8 +29,10 @@ import ( "github.com/elastic/beats/v7/heartbeat/hbtest" "github.com/elastic/beats/v7/heartbeat/hbtestllext" "github.com/elastic/beats/v7/heartbeat/monitors/jobs" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/common" + "github.com/elastic/beats/v7/libbeat/common/atomic" "github.com/elastic/beats/v7/libbeat/monitoring" "github.com/elastic/go-lookslike" "github.com/elastic/go-lookslike/isdef" @@ -125,7 +127,7 @@ func mockEventCustomFields() map[string]interface{} { return common.MapStr{"foo": "bar"} } -func createMockJob(name string, cfg *common.Config) ([]jobs.Job, error) { +func createMockJob() ([]jobs.Job, error) { j := jobs.MakeSimpleJob(func(event *beat.Event) error { eventext.MergeEventFields(event, mockEventCustomFields()) return nil @@ -134,28 +136,42 @@ func createMockJob(name string, cfg *common.Config) ([]jobs.Job, error) { return []jobs.Job{j}, nil } -func mockPluginBuilder() pluginBuilder { +func mockPluginBuilder() (plugin.PluginFactory, *atomic.Int, *atomic.Int) { reg := monitoring.NewRegistry() - return pluginBuilder{"test", ActiveMonitor, func(s string, config *common.Config) ([]jobs.Job, int, error) { - // Declare a real config block with a required attr so we can see what happens when it doesn't work - unpacked := struct { - URLs []string `config:"urls" validate:"required"` - }{} - err := config.Unpack(&unpacked) - if err != nil { - return nil, 0, err - } - c := common.Config{} - j, err := createMockJob("test", &c) - return j, 1, err - }, newPluginCountersRecorder("test", reg)} -} - -func mockPluginsReg() *pluginsReg { - reg := newPluginsReg() - reg.add(mockPluginBuilder()) - return reg + built := atomic.NewInt(0) + closed := atomic.NewInt(0) + + return plugin.PluginFactory{ + Name: "test", + Aliases: []string{"testAlias"}, + Builder: func(s string, config *common.Config) (plugin.Plugin, error) { + built.Inc() + // Declare a real config block with a required attr so we can see what happens when it doesn't work + unpacked := struct { + URLs []string `config:"urls" validate:"required"` + }{} + err := config.Unpack(&unpacked) + if err != nil { + return plugin.Plugin{}, err + } + j, err := createMockJob() + closer := func() error { + closed.Inc() + return nil + } + return plugin.Plugin{Jobs: j, Close: closer, Endpoints: 1}, err + }, + Stats: plugin.NewPluginCountersRecorder("test", reg)}, + built, + closed +} + +func mockPluginsReg() (p *plugin.PluginsReg, built *atomic.Int, closed *atomic.Int) { + reg := plugin.NewPluginsReg() + builder, built, closed := mockPluginBuilder() + reg.Add(builder) + return reg, built, closed } func mockPluginConf(t *testing.T, id string, schedule string, url string) *common.Config { diff --git a/heartbeat/monitors/monitor.go b/heartbeat/monitors/monitor.go index 66e7317482f..4003cacdf42 100644 --- a/heartbeat/monitors/monitor.go +++ b/heartbeat/monitors/monitor.go @@ -23,12 +23,12 @@ import ( "fmt" "sync" - "github.com/elastic/beats/v7/heartbeat/monitors/stdfields" - "github.com/mitchellh/hashstructure" "github.com/pkg/errors" "github.com/elastic/beats/v7/heartbeat/monitors/jobs" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" + "github.com/elastic/beats/v7/heartbeat/monitors/stdfields" "github.com/elastic/beats/v7/heartbeat/monitors/wrappers" "github.com/elastic/beats/v7/heartbeat/scheduler" "github.com/elastic/beats/v7/heartbeat/watcher" @@ -43,7 +43,7 @@ type Monitor struct { stdFields stdfields.StdMonitorFields pluginName string config *common.Config - registrar *pluginsReg + registrar *plugin.PluginsReg uniqueName string scheduler *scheduler.Scheduler configuredJobs []*configuredJob @@ -53,6 +53,7 @@ type Monitor struct { // internalsMtx is used to synchronize access to critical // internal datastructures internalsMtx sync.Mutex + close func() error // Watch related fields watchPollTasks []*configuredJob @@ -62,7 +63,7 @@ type Monitor struct { // stats is the countersRecorder used to record lifecycle events // for global metrics + telemetry - stats registryRecorder + stats plugin.RegistryRecorder } // String prints a description of the monitor in a threadsafe way. It is important that this use threadsafe @@ -71,7 +72,7 @@ func (m *Monitor) String() string { return fmt.Sprintf("Monitor", m.stdFields.Name, m.enabled) } -func checkMonitorConfig(config *common.Config, registrar *pluginsReg, allowWatches bool) error { +func checkMonitorConfig(config *common.Config, registrar *plugin.PluginsReg, allowWatches bool) error { m, err := newMonitor(config, registrar, nil, nil, allowWatches) if m != nil { m.Stop() // Stop the monitor to free up the ID from uniqueness checks @@ -96,7 +97,7 @@ func (e ErrDuplicateMonitorID) Error() string { // newMonitor Creates a new monitor, without leaking resources in the event of an error. func newMonitor( config *common.Config, - registrar *pluginsReg, + registrar *plugin.PluginsReg, pipelineConnector beat.PipelineConnector, scheduler *scheduler.Scheduler, allowWatches bool, @@ -112,7 +113,7 @@ func newMonitor( // error without freeing monitor resources. m.Stop() must always be called on a non-nil monitor to free resources. func newMonitorUnsafe( config *common.Config, - registrar *pluginsReg, + registrar *plugin.PluginsReg, pipelineConnector beat.PipelineConnector, scheduler *scheduler.Scheduler, allowWatches bool, @@ -120,26 +121,26 @@ func newMonitorUnsafe( // Extract just the Id, Type, and Enabled fields from the config // We'll parse things more precisely later once we know what exact type of // monitor we have - stdFields, err := stdfields.ConfigToStdMonitorFields(config) + standardFields, err := stdfields.ConfigToStdMonitorFields(config) if err != nil { return nil, err } - monitorPlugin, found := registrar.get(stdFields.Type) + pluginFactory, found := registrar.Get(standardFields.Type) if !found { - return nil, fmt.Errorf("monitor type %v does not exist, valid types are %v", stdFields.Type, registrar.monitorNames()) + return nil, fmt.Errorf("monitor type %v does not exist, valid types are %v", standardFields.Type, registrar.MonitorNames()) } m := &Monitor{ - stdFields: stdFields, - pluginName: monitorPlugin.name, + stdFields: standardFields, + pluginName: pluginFactory.Name, scheduler: scheduler, configuredJobs: []*configuredJob{}, pipelineConnector: pipelineConnector, watchPollTasks: []*configuredJob{}, internalsMtx: sync.Mutex{}, config: config, - stats: monitorPlugin.stats, + stats: pluginFactory.Stats, } if m.stdFields.ID != "" { @@ -156,9 +157,10 @@ func newMonitorUnsafe( m.stdFields.ID = fmt.Sprintf("auto-%s-%#X", m.stdFields.Type, hash) } - rawJobs, endpoints, err := monitorPlugin.create(config) - wrappedJobs := wrappers.WrapCommon(rawJobs, m.stdFields) - m.endpoints = endpoints + p, err := pluginFactory.Create(config) + m.close = p.Close + wrappedJobs := wrappers.WrapCommon(p.Jobs, m.stdFields) + m.endpoints = p.Endpoints if err != nil { return m, fmt.Errorf("job err %v", err) @@ -169,7 +171,7 @@ func newMonitorUnsafe( return m, err } - err = m.makeWatchTasks(monitorPlugin) + err = m.makeWatchTasks(pluginFactory) if err != nil { return m, err } @@ -225,7 +227,7 @@ func (m *Monitor) makeTasks(config *common.Config, jobs []jobs.Job) ([]*configur return mTasks, nil } -func (m *Monitor) makeWatchTasks(monitorPlugin pluginBuilder) error { +func (m *Monitor) makeWatchTasks(pluginFactory plugin.PluginFactory) error { watchCfg := watcher.DefaultWatchConfig err := m.config.Unpack(&watchCfg) if err != nil { @@ -257,13 +259,14 @@ func (m *Monitor) makeWatchTasks(monitorPlugin pluginBuilder) error { return } - watchJobs, endpoints, err := monitorPlugin.create(merged) - m.endpoints = endpoints + p, err := pluginFactory.Create(merged) + m.close = p.Close + m.endpoints = p.Endpoints if err != nil { logp.Err("Could not create job from watch file: %v", err) } - watchTasks, err := m.makeTasks(merged, watchJobs) + watchTasks, err := m.makeTasks(merged, p.Jobs) if err != nil { logp.Err("Could not make configuredJob for config: %v", err) return @@ -305,7 +308,7 @@ func (m *Monitor) Start() { t.Start() } - m.stats.startMonitor(int64(m.endpoints)) + m.stats.StartMonitor(int64(m.endpoints)) } // Stop stops the Monitor's execution in its configured scheduler. @@ -323,7 +326,14 @@ func (m *Monitor) Stop() { t.Stop() } - m.stats.stopMonitor(int64(m.endpoints)) + if m.close != nil { + err := m.close() + if err != nil { + logp.Error(fmt.Errorf("error closing monitor %s: %w", m.String(), err)) + } + } + + m.stats.StopMonitor(int64(m.endpoints)) } func (m *Monitor) freeID() { diff --git a/heartbeat/monitors/monitor_test.go b/heartbeat/monitors/monitor_test.go index 341839e382d..b0d02f819f6 100644 --- a/heartbeat/monitors/monitor_test.go +++ b/heartbeat/monitors/monitor_test.go @@ -21,19 +21,17 @@ import ( "testing" "time" - "github.com/elastic/beats/v7/libbeat/monitoring" - "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/elastic/go-lookslike/testslike" - "github.com/elastic/beats/v7/heartbeat/scheduler" + "github.com/elastic/beats/v7/libbeat/monitoring" + "github.com/elastic/go-lookslike/testslike" ) func TestMonitor(t *testing.T) { serverMonConf := mockPluginConf(t, "", "@every 1ms", "http://example.net") - reg := mockPluginsReg() + reg, built, closed := mockPluginsReg() pipelineConnector := &MockPipelineConnector{} sched := scheduler.New(1, monitoring.NewRegistry()) @@ -57,7 +55,6 @@ func TestMonitor(t *testing.T) { if count >= 1 { success = true - mon.Stop() pcClient.Close() for _, event := range pcClient.Publishes() { @@ -74,14 +71,17 @@ func TestMonitor(t *testing.T) { t.Fatalf("No publishes detected!") } + assert.Equal(t, 1, built.Load()) mon.Stop() + + assert.Equal(t, 1, closed.Load()) assert.Equal(t, true, pcClient.closed) } func TestDuplicateMonitorIDs(t *testing.T) { serverMonConf := mockPluginConf(t, "custom", "@every 1ms", "http://example.net") badConf := mockBadPluginConf(t, "custom", "@every 1ms") - reg := mockPluginsReg() + reg, built, closed := mockPluginsReg() pipelineConnector := &MockPipelineConnector{} sched := scheduler.New(1, monitoring.NewRegistry()) @@ -102,15 +102,22 @@ func TestDuplicateMonitorIDs(t *testing.T) { require.NoError(t, m1Err) _, m2Err := makeTestMon() require.Error(t, m2Err) - m1.Stop() - _, m3Err := makeTestMon() + m3, m3Err := makeTestMon() + require.NoError(t, m3Err) + m3.Stop() + + // We count 3 because built doesn't count successful builds, + // just attempted creations of monitors + require.Equal(t, 3, built.Load()) + // Only one stops because the others errored on create + require.Equal(t, 2, closed.Load()) require.NoError(t, m3Err) } func TestCheckInvalidConfig(t *testing.T) { serverMonConf := mockInvalidPluginConf(t) - reg := mockPluginsReg() + reg, built, closed := mockPluginsReg() pipelineConnector := &MockPipelineConnector{} sched := scheduler.New(1, monitoring.NewRegistry()) @@ -122,5 +129,9 @@ func TestCheckInvalidConfig(t *testing.T) { // This could change if we decide the contract for newMonitor should always return a monitor require.Nil(t, m, "For this test to work we need a nil value for the monitor.") + // These counters are both zero since this fails at config parse time + require.Equal(t, 0, built.Load()) + require.Equal(t, 0, closed.Load()) + require.Error(t, checkMonitorConfig(serverMonConf, reg, false)) } diff --git a/heartbeat/monitors/plugin.go b/heartbeat/monitors/plugin/plugin.go similarity index 58% rename from heartbeat/monitors/plugin.go rename to heartbeat/monitors/plugin/plugin.go index a75f8990477..73335ca5e29 100644 --- a/heartbeat/monitors/plugin.go +++ b/heartbeat/monitors/plugin/plugin.go @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package monitors +package plugin import ( "errors" @@ -29,11 +29,19 @@ import ( "github.com/elastic/beats/v7/libbeat/plugin" ) -type pluginBuilder struct { - name string - typ Type - builder PluginBuilder - stats registryRecorder +type PluginFactory struct { + Name string + Aliases []string + Builder PluginFactoryCreate + Stats RegistryRecorder +} + +type PluginFactoryCreate func(string, *common.Config) (p Plugin, err error) + +type Plugin struct { + Jobs []jobs.Job + Close func() error + Endpoints int } var pluginKey = "heartbeat.monitor" @@ -41,13 +49,13 @@ var pluginKey = "heartbeat.monitor" // stateGlobalRecorder records statistics across all plugin types var stateGlobalRecorder = newRootGaugeRecorder(hbregistry.TelemetryRegistry) -func statsForPlugin(pluginName string) registryRecorder { - return multiRegistryRecorder{ - recorders: []registryRecorder{ +func statsForPlugin(pluginName string) RegistryRecorder { + return MultiRegistryRecorder{ + recorders: []RegistryRecorder{ // state (telemetry) newPluginGaugeRecorder(pluginName, hbregistry.TelemetryRegistry), // Record global monitors / endpoints count - newPluginCountersRecorder(pluginName, hbregistry.StatsRegistry), + NewPluginCountersRecorder(pluginName, hbregistry.StatsRegistry), // When stats for this plugin are updated, update the global stats as well stateGlobalRecorder, }, @@ -56,20 +64,16 @@ func statsForPlugin(pluginName string) registryRecorder { func init() { plugin.MustRegisterLoader(pluginKey, func(ifc interface{}) error { - p, ok := ifc.(pluginBuilder) + p, ok := ifc.(PluginFactory) if !ok { return errors.New("plugin does not match monitor plugin type") } - stats := statsForPlugin(p.name) - return globalPluginsReg.register(pluginBuilder{p.name, p.typ, p.builder, stats}) + stats := statsForPlugin(p.Name) + return GlobalPluginsReg.Register(PluginFactory{p.Name, p.Aliases, p.Builder, stats}) }) } -// PluginBuilder is the signature of functions used to build active -// monitorStarts -type PluginBuilder func(string, *common.Config) (jobs []jobs.Job, endpoints int, err error) - // Type represents whether a plugin is active or passive. type Type uint8 @@ -81,58 +85,64 @@ const ( ) // globalPluginsReg maintains the canonical list of valid Heartbeat monitorStarts at runtime. -var globalPluginsReg = newPluginsReg() +var GlobalPluginsReg = NewPluginsReg() -type pluginsReg struct { - monitors map[string]pluginBuilder +type PluginsReg struct { + monitors map[string]PluginFactory } -func newPluginsReg() *pluginsReg { - return &pluginsReg{ - monitors: map[string]pluginBuilder{}, +func NewPluginsReg() *PluginsReg { + return &PluginsReg{ + monitors: map[string]PluginFactory{}, } } -// RegisterActive registers a new active (as opposed to passive) monitor. -func RegisterActive(name string, builder PluginBuilder) { +// Register registers a new active (as opposed to passive) monitor. +func Register(name string, builder PluginFactoryCreate, aliases ...string) { stats := statsForPlugin(name) - if err := globalPluginsReg.add(pluginBuilder{name, ActiveMonitor, builder, stats}); err != nil { + if err := GlobalPluginsReg.Add(PluginFactory{name, aliases, builder, stats}); err != nil { panic(err) } } // ErrPluginAlreadyExists is returned when there is an attempt to register two plugins // with the same pluginName. -type ErrPluginAlreadyExists pluginBuilder +type ErrPluginAlreadyExists PluginFactory func (m ErrPluginAlreadyExists) Error() string { - return fmt.Sprintf("monitor plugin '%s' already exists", m.typ) + return fmt.Sprintf("monitor plugin named '%s' with Aliases %v already exists", m.Name, m.Aliases) } -func (r *pluginsReg) add(plugin pluginBuilder) error { - if _, exists := r.monitors[plugin.name]; exists { +func (r *PluginsReg) Add(plugin PluginFactory) error { + if _, exists := r.monitors[plugin.Name]; exists { return ErrPluginAlreadyExists(plugin) } - r.monitors[plugin.name] = plugin + r.monitors[plugin.Name] = plugin + for _, alias := range plugin.Aliases { + if _, exists := r.monitors[alias]; exists { + return ErrPluginAlreadyExists(plugin) + } + r.monitors[alias] = plugin + } return nil } -func (r *pluginsReg) register(plugin pluginBuilder) error { - if _, found := r.monitors[plugin.name]; found { - return fmt.Errorf("monitor type %v already exists", plugin.typ) +func (r *PluginsReg) Register(plugin PluginFactory) error { + if _, found := r.monitors[plugin.Name]; found { + return fmt.Errorf("monitor type %v already exists", plugin.Name) } - r.monitors[plugin.name] = plugin + r.monitors[plugin.Name] = plugin return nil } -func (r *pluginsReg) get(name string) (pluginBuilder, bool) { +func (r *PluginsReg) Get(name string) (PluginFactory, bool) { e, found := r.monitors[name] return e, found } -func (r *pluginsReg) String() string { +func (r *PluginsReg) String() string { var monitors []string for m := range r.monitors { monitors = append(monitors, m) @@ -142,7 +152,7 @@ func (r *pluginsReg) String() string { return fmt.Sprintf("globalPluginsReg, monitor: %v", strings.Join(monitors, ", ")) } -func (r *pluginsReg) monitorNames() []string { +func (r *PluginsReg) MonitorNames() []string { names := make([]string, 0, len(r.monitors)) for k := range r.monitors { names = append(names, k) @@ -150,17 +160,6 @@ func (r *pluginsReg) monitorNames() []string { return names } -func (e *pluginBuilder) create(cfg *common.Config) (jobs []jobs.Job, endpoints int, err error) { - return e.builder(e.name, cfg) -} - -func (t Type) String() string { - switch t { - case ActiveMonitor: - return "active" - case PassiveMonitor: - return "passive" - default: - return "unknown type" - } +func (e *PluginFactory) Create(cfg *common.Config) (p Plugin, err error) { + return e.Builder(e.Name, cfg) } diff --git a/heartbeat/monitors/regrecord.go b/heartbeat/monitors/plugin/regrecord.go similarity index 70% rename from heartbeat/monitors/regrecord.go rename to heartbeat/monitors/plugin/regrecord.go index a7c630deaa1..49d327c812b 100644 --- a/heartbeat/monitors/regrecord.go +++ b/heartbeat/monitors/plugin/regrecord.go @@ -15,46 +15,46 @@ // specific language governing permissions and limitations // under the License. -package monitors +package plugin import ( "github.com/elastic/beats/v7/libbeat/monitoring" ) -type registryRecorder interface { - startMonitor(endpoints int64) - stopMonitor(endpoints int64) +type RegistryRecorder interface { + StartMonitor(endpoints int64) + StopMonitor(endpoints int64) } -// multiRegistryRecorder composes multiple statsRecorders. -type multiRegistryRecorder struct { - recorders []registryRecorder +// MultiRegistryRecorder composes multiple statsRecorders. +type MultiRegistryRecorder struct { + recorders []RegistryRecorder } -func (mr multiRegistryRecorder) startMonitor(endpoints int64) { +func (mr MultiRegistryRecorder) StartMonitor(endpoints int64) { for _, recorder := range mr.recorders { - recorder.startMonitor(endpoints) + recorder.StartMonitor(endpoints) } } -func (mr multiRegistryRecorder) stopMonitor(endpoints int64) { +func (mr MultiRegistryRecorder) StopMonitor(endpoints int64) { for _, recorder := range mr.recorders { - recorder.stopMonitor(endpoints) + recorder.StopMonitor(endpoints) } } // countersRecorder is used to record start/stop events for a single monitor/plugin // to a single registry as counters. -type countersRecorder struct { +type CountersRecorder struct { monitorStarts *monitoring.Int monitorStops *monitoring.Int endpointStarts *monitoring.Int endpointStops *monitoring.Int } -func newPluginCountersRecorder(pluginName string, rootRegistry *monitoring.Registry) registryRecorder { +func NewPluginCountersRecorder(pluginName string, rootRegistry *monitoring.Registry) RegistryRecorder { pluginRegistry := rootRegistry.NewRegistry(pluginName) - return countersRecorder{ + return CountersRecorder{ monitoring.NewInt(pluginRegistry, "monitor_starts"), monitoring.NewInt(pluginRegistry, "monitor_stops"), monitoring.NewInt(pluginRegistry, "endpoint_starts"), @@ -62,12 +62,12 @@ func newPluginCountersRecorder(pluginName string, rootRegistry *monitoring.Regis } } -func (r countersRecorder) startMonitor(endpoints int64) { +func (r CountersRecorder) StartMonitor(endpoints int64) { r.monitorStarts.Inc() r.endpointStarts.Add(endpoints) } -func (r countersRecorder) stopMonitor(endpoints int64) { +func (r CountersRecorder) StopMonitor(endpoints int64) { r.monitorStops.Inc() r.endpointStops.Add(endpoints) } @@ -79,24 +79,24 @@ type gaugeRecorder struct { endpoints *monitoring.Int } -func newRootGaugeRecorder(r *monitoring.Registry) registryRecorder { +func newRootGaugeRecorder(r *monitoring.Registry) RegistryRecorder { return gaugeRecorder{ monitoring.NewInt(r, "monitors"), monitoring.NewInt(r, "endpoints"), } } -func newPluginGaugeRecorder(pluginName string, rootRegistry *monitoring.Registry) registryRecorder { +func newPluginGaugeRecorder(pluginName string, rootRegistry *monitoring.Registry) RegistryRecorder { pluginRegistry := rootRegistry.NewRegistry(pluginName) return newRootGaugeRecorder(pluginRegistry) } -func (r gaugeRecorder) startMonitor(endpoints int64) { +func (r gaugeRecorder) StartMonitor(endpoints int64) { r.monitors.Inc() r.endpoints.Add(endpoints) } -func (r gaugeRecorder) stopMonitor(endpoints int64) { +func (r gaugeRecorder) StopMonitor(endpoints int64) { r.monitors.Dec() r.endpoints.Sub(endpoints) } diff --git a/heartbeat/monitors/wrappers/monitors.go b/heartbeat/monitors/wrappers/monitors.go index 3b5965ac01c..dca3a8b70de 100644 --- a/heartbeat/monitors/wrappers/monitors.go +++ b/heartbeat/monitors/wrappers/monitors.go @@ -38,63 +38,91 @@ import ( // WrapCommon applies the common wrappers that all monitor jobs get. func WrapCommon(js []jobs.Job, stdMonFields stdfields.StdMonitorFields) []jobs.Job { - jobWrappers := []jobs.JobWrapper{ - addMonitorMeta(stdMonFields, len(js) > 1), - addMonitorStatus(stdMonFields.Type), - } - - if stdMonFields.Type != "browser" { - jobWrappers = append(jobWrappers, addMonitorDuration) + if stdMonFields.Type == "browser" { + return WrapBrowser(js, stdMonFields) + } else { + return WrapLightweight(js, stdMonFields) } +} +// WrapLightweight applies to http/tcp/icmp, everything but journeys involving node +func WrapLightweight(js []jobs.Job, stdMonFields stdfields.StdMonitorFields) []jobs.Job { return jobs.WrapAllSeparately( jobs.WrapAll( js, - jobWrappers..., + addMonitorMeta(stdMonFields, len(js) > 1), + addMonitorStatus(stdMonFields.Type), + addMonitorDuration, ), func() jobs.JobWrapper { return makeAddSummary(stdMonFields.Type) }) } +// WrapBrowser is pretty minimal in terms of fields added. The browser monitor +// type handles most of the fields directly, since it runs multiple jobs in a single +// run it needs to take this task on in a unique way. +func WrapBrowser(js []jobs.Job, stdMonFields stdfields.StdMonitorFields) []jobs.Job { + return jobs.WrapAll( + js, + addMonitorMeta(stdMonFields, len(js) > 1), + addMonitorStatus(stdMonFields.Type), + ) +} + // addMonitorMeta adds the id, name, and type fields to the monitor. func addMonitorMeta(stdMonFields stdfields.StdMonitorFields, isMulti bool) jobs.JobWrapper { return func(job jobs.Job) jobs.Job { return func(event *beat.Event) ([]jobs.Job, error) { - started := time.Now() cont, e := job(event) - thisID := stdMonFields.ID + addMonitorMetaFields(event, time.Now(), stdMonFields, isMulti) + return cont, e + } + } +} - if isMulti { - url, err := event.GetValue("url.full") - if err != nil { - logp.Error(errors.Wrap(err, "Mandatory url.full key missing!")) - url = "n/a" - } - urlHash, _ := hashstructure.Hash(url, nil) - thisID = fmt.Sprintf("%s-%x", stdMonFields.ID, urlHash) - } +func addMonitorMetaFields(event *beat.Event, started time.Time, sf stdfields.StdMonitorFields, isMulti bool) { + id := sf.ID + name := sf.Name - fieldsToMerge := common.MapStr{ - "monitor": common.MapStr{ - "id": thisID, - "name": stdMonFields.Name, - "type": stdMonFields.Type, - "timespan": timespan(started, stdMonFields.Schedule, stdMonFields.Timeout), - }, - } + // If multiple jobs are listed for this monitor, we can't have a single ID, so we hash the + // unique URLs to create unique suffixes for the monitor. + if isMulti { + url, err := event.GetValue("url.full") + if err != nil { + logp.Error(errors.Wrap(err, "Mandatory url.full key missing!")) + url = "n/a" + } + urlHash, _ := hashstructure.Hash(url, nil) + id = fmt.Sprintf("%s-%x", sf.ID, urlHash) + } - if stdMonFields.Service.Name != "" { - fieldsToMerge["service"] = common.MapStr{ - "name": stdMonFields.Service.Name, - } - } + // Allow jobs to override the ID, useful for browser suites + // which do this logic on their own + if v, _ := event.GetValue("monitor.id"); v != nil { + id = fmt.Sprintf("%s-%s", sf.ID, v.(string)) + } + if v, _ := event.GetValue("monitor.name"); v != nil { + name = fmt.Sprintf("%s - %s", sf.Name, v.(string)) + } - eventext.MergeEventFields(event, fieldsToMerge) + fieldsToMerge := common.MapStr{ + "monitor": common.MapStr{ + "id": id, + "name": name, + "type": sf.Type, + "timespan": timespan(started, sf.Schedule, sf.Timeout), + }, + } - return cont, e + // Add service.name for APM interop + if sf.Service.Name != "" { + fieldsToMerge["service"] = common.MapStr{ + "name": sf.Service.Name, } } + + eventext.MergeEventFields(event, fieldsToMerge) } func timespan(started time.Time, sched *schedule.Schedule, timeout time.Duration) common.MapStr { @@ -120,13 +148,6 @@ func addMonitorStatus(monitorType string) jobs.JobWrapper { return func(event *beat.Event) ([]jobs.Job, error) { cont, err := origJob(event) - // Non-summary browser events have no status associated - if monitorType == "browser" { - if t, _ := event.GetValue("synthetics.type"); t != "heartbeat/summary" { - return cont, nil - } - } - fields := common.MapStr{ "monitor": common.MapStr{ "status": look.Status(err), @@ -167,6 +188,7 @@ func makeAddSummary(monitorType string) jobs.JobWrapper { // state struct here. state := struct { mtx sync.Mutex + monitorId string remaining uint16 up uint16 down uint16 @@ -208,7 +230,6 @@ func makeAddSummary(monitorType string) jobs.JobWrapper { } } - // No error check needed here event.PutValue("monitor.check_group", state.checkGroup) // Adjust the total remaining to account for new continuations @@ -220,15 +241,7 @@ func makeAddSummary(monitorType string) jobs.JobWrapper { if state.remaining == 0 { up := state.up down := state.down - if monitorType == "browser" { - if eventStatus == "down" { - up = 0 - down = 1 - } else { - up = 1 - down = 0 - } - } + eventext.MergeEventFields(event, common.MapStr{ "summary": common.MapStr{ "up": up, diff --git a/heartbeat/monitors/wrappers/monitors_test.go b/heartbeat/monitors/wrappers/monitors_test.go index d8ff497225e..88e6fd76997 100644 --- a/heartbeat/monitors/wrappers/monitors_test.go +++ b/heartbeat/monitors/wrappers/monitors_test.go @@ -56,6 +56,14 @@ var testMonFields = stdfields.StdMonitorFields{ Timeout: 1, } +var testBrowserMonFields = stdfields.StdMonitorFields{ + ID: "myid", + Name: "myname", + Type: "browser", + Schedule: schedule.MustParse("@every 1s"), + Timeout: 1, +} + func testCommonWrap(t *testing.T, tt testDef) { t.Run(tt.name, func(t *testing.T) { wrapped := WrapCommon(tt.jobs, tt.stdFields) @@ -387,3 +395,105 @@ func TestTimespan(t *testing.T) { }) } } + +func makeInlineBrowserJob(t *testing.T, u string) jobs.Job { + parsed, err := url.Parse(u) + require.NoError(t, err) + return func(event *beat.Event) (i []jobs.Job, e error) { + eventext.MergeEventFields(event, common.MapStr{ + "url": URLFields(parsed), + "monitor": common.MapStr{ + "check_group": "inline-check-group", + }, + }) + return nil, nil + } +} + +// Inline browser jobs function very similarly to lightweight jobs +// in that they don't override the ID. +// They do not, however, get a summary field added, nor duration. +func TestInlineBrowserJob(t *testing.T) { + fields := testBrowserMonFields + testCommonWrap(t, testDef{ + "simple", + fields, + []jobs.Job{makeInlineBrowserJob(t, "http://foo.com")}, + []validator.Validator{ + lookslike.Strict( + lookslike.Compose( + urlValidator(t, "http://foo.com"), + lookslike.MustCompile(map[string]interface{}{ + "monitor": map[string]interface{}{ + "id": testMonFields.ID, + "name": testMonFields.Name, + "type": fields.Type, + "status": "up", + "check_group": "inline-check-group", + }, + }), + hbtestllext.MonitorTimespanValidator, + ), + ), + }, + nil, + }) +} + +var suiteBrowserJobValues = struct { + id string + name string + checkGroup string +}{ + id: "journey_1", + name: "Journey 1", + checkGroup: "journey-1-check-group", +} + +func makeSuiteBrowserJob(t *testing.T, u string) jobs.Job { + parsed, err := url.Parse(u) + require.NoError(t, err) + return func(event *beat.Event) (i []jobs.Job, e error) { + eventext.MergeEventFields(event, common.MapStr{ + "url": URLFields(parsed), + "monitor": common.MapStr{ + "id": suiteBrowserJobValues.id, + "name": suiteBrowserJobValues.name, + "check_group": suiteBrowserJobValues.checkGroup, + }, + }) + return nil, nil + } +} + +func TestSuiteBrowserJob(t *testing.T) { + fields := testBrowserMonFields + urlStr := "http://foo.com" + urlU, _ := url.Parse(urlStr) + testCommonWrap(t, testDef{ + "simple", + fields, + []jobs.Job{makeSuiteBrowserJob(t, urlStr)}, + []validator.Validator{ + lookslike.Compose( + urlValidator(t, urlStr), + lookslike.Strict( + lookslike.MustCompile(map[string]interface{}{ + "monitor": map[string]interface{}{ + "id": fmt.Sprintf("%s-%s", testMonFields.ID, suiteBrowserJobValues.id), + "name": fmt.Sprintf("%s - %s", testMonFields.Name, suiteBrowserJobValues.name), + "type": fields.Type, + "check_group": suiteBrowserJobValues.checkGroup, + "status": "up", + "timespan": common.MapStr{ + "gte": hbtestllext.IsTime, + "lt": hbtestllext.IsTime, + }, + }, + "url": URLFields(urlU), + }), + ), + )}, + nil, + }) +} diff --git a/journalbeat/include/fields.go b/journalbeat/include/fields.go index 1046b7624e3..312fdf9b519 100644 --- a/journalbeat/include/fields.go +++ b/journalbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/journalbeat/journalbeat.reference.yml b/journalbeat/journalbeat.reference.yml index 35c6dbb4c05..8114260a853 100644 --- a/journalbeat/journalbeat.reference.yml +++ b/journalbeat/journalbeat.reference.yml @@ -1046,7 +1046,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/libbeat/_meta/config/output-file.reference.yml.tmpl b/libbeat/_meta/config/output-file.reference.yml.tmpl index 2c383444107..7f7ff9998b3 100644 --- a/libbeat/_meta/config/output-file.reference.yml.tmpl +++ b/libbeat/_meta/config/output-file.reference.yml.tmpl @@ -31,3 +31,6 @@ # Permissions to use for file creation. The default is 0600. #permissions: 0600 + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true \ No newline at end of file diff --git a/libbeat/_meta/fields.ecs.yml b/libbeat/_meta/fields.ecs.yml index d3e0aeda3b6..c4d11499556 100644 --- a/libbeat/_meta/fields.ecs.yml +++ b/libbeat/_meta/fields.ecs.yml @@ -1,5 +1,5 @@ # WARNING! Do not edit this file directly, it was generated by the ECS project, -# based on ECS version 1.8.0-dev. +# based on ECS version 1.8.0. # Please visit https://github.com/elastic/ecs to suggest changes to ECS fields. - key: ecs diff --git a/libbeat/outputs/fileout/config.go b/libbeat/outputs/fileout/config.go index 4b83cdbab97..8f1061db184 100644 --- a/libbeat/outputs/fileout/config.go +++ b/libbeat/outputs/fileout/config.go @@ -25,19 +25,21 @@ import ( ) type config struct { - Path string `config:"path"` - Filename string `config:"filename"` - RotateEveryKb uint `config:"rotate_every_kb" validate:"min=1"` - NumberOfFiles uint `config:"number_of_files"` - Codec codec.Config `config:"codec"` - Permissions uint32 `config:"permissions"` + Path string `config:"path"` + Filename string `config:"filename"` + RotateEveryKb uint `config:"rotate_every_kb" validate:"min=1"` + NumberOfFiles uint `config:"number_of_files"` + Codec codec.Config `config:"codec"` + Permissions uint32 `config:"permissions"` + RotateOnStartup bool `config:"rotate_on_startup"` } var ( defaultConfig = config{ - NumberOfFiles: 7, - RotateEveryKb: 10 * 1024, - Permissions: 0600, + NumberOfFiles: 7, + RotateEveryKb: 10 * 1024, + Permissions: 0600, + RotateOnStartup: true, } ) diff --git a/libbeat/outputs/fileout/docs/fileout.asciidoc b/libbeat/outputs/fileout/docs/fileout.asciidoc index 6922f8f7142..a0979f92ef5 100644 --- a/libbeat/outputs/fileout/docs/fileout.asciidoc +++ b/libbeat/outputs/fileout/docs/fileout.asciidoc @@ -22,6 +22,7 @@ output.file: #rotate_every_kb: 10000 #number_of_files: 7 #permissions: 0600 + #rotate_on_startup: true ------------------------------------------------------------------------------ ==== Configuration options @@ -61,6 +62,10 @@ The number of files must be between 2 and 1024. The default is 7. Permissions to use for file creation. The default is 0600. +===== `rotate_on_startup` + +If the output file already exists on startup, immediately rotate it and start writing to a new file instead of appending to the existing one. Defaults to true. + ===== `codec` Output codec configuration. If the `codec` section is missing, events will be json encoded. diff --git a/libbeat/outputs/fileout/file.go b/libbeat/outputs/fileout/file.go index 2c2f5216294..ed70797dcb6 100644 --- a/libbeat/outputs/fileout/file.go +++ b/libbeat/outputs/fileout/file.go @@ -87,6 +87,7 @@ func (out *fileOutput) init(beat beat.Info, c config) error { file.MaxSizeBytes(c.RotateEveryKb*1024), file.MaxBackups(c.NumberOfFiles), file.Permissions(os.FileMode(c.Permissions)), + file.RotateOnStartup(c.RotateOnStartup), file.WithLogger(logp.NewLogger("rotator").With(logp.Namespace("rotator"))), ) if err != nil { diff --git a/metricbeat/metricbeat.reference.yml b/metricbeat/metricbeat.reference.yml index b2cc7ce7c1b..685dac86452 100644 --- a/metricbeat/metricbeat.reference.yml +++ b/metricbeat/metricbeat.reference.yml @@ -1892,7 +1892,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/packetbeat/include/fields.go b/packetbeat/include/fields.go index 323eff798ee..7c1bb9b2ccf 100644 --- a/packetbeat/include/fields.go +++ b/packetbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "eJzs/XtzGzmSKIr/358CP23ET/YsVSL1sqx7J+KoJXW3Yv3QWPL0bI83JLAKJDGqAqoBlGj2if3uN5AJoFAPSZQt2m6PZs9xi2QVkEgk8oV8/Af59fDdm9M3P///yLEkQhrCMm6ImXFNJjxnJOOKpSZfDAg3ZE41mTLBFDUsI+MFMTNGTo7OSankv1hqBj/8BxlTzTIiBXx/w5TmUpBRsp8Mkx/+g5zljGpGbrjmhsyMKfXB5uaUm1k1TlJZbLKcasPTTZZqYiTR1XTKtCHpjIopg6/ssBPO8kwnP/ywQa7Z4oCwVP9AiOEmZwf2gR8IyZhOFS8NlwK+Ij+5d4h7++AHQjaIoAU7IOv/x/CCaUOLcv0HQgjJ2Q3LD0gqFYPPiv1eccWyA2JUhV+ZRckOSEYNfmzMt35MDdu0Y5L5jAlAE7thwhCp+JQLi77kB3iPkAuLa67hoSy8xz4aRVOL5omSRT3CwE7MU5rnC6JYqZhmwnAxhYnciPV0vRumZaVSFuY/nUQv4G9kRjUR0kObk4CeAZLGDc0rBkAHYEpZVrmdxg3rJptwpQ283wJLsZTxmxqqkpcs56KG653DOe4XmUhFaJ7jCDrBfWIfaVHaTV/fGo72Noa7G1vbF8P9g+HuwfZOsr+7/dt6tM05HbNc924w7qYcWyqGL/DPS/z+mi3mUmU9G31UaSML+8Am4qSkXOmwhiMqyJiRyh4JIwnNMlIwQwkXE6kKagex37s1kfOZrPIMjmEqhaFcEMG03ToEB8jX/u8wz3EPNKGKEW2kRRTVHtIAwIlH0FUm02umrggVGbm63tdXDh0dTP7fNVqWOU8BurUDsjaRcmNM1dqArDFxY78plcyqFH7/3xjBBdOaTtkdGDbso+lB409SkVxOHSKAHtxYbvcdOvAn+6T7eUBkaXjB/wh0Z+nkhrO5PRNcEApP2y+YClix02mjqtRUFm+5nGoy52YmK0OoqMm+AcOASDNjyrEPkuLWplKk1DARUb6RFoiCUDKrCio2FKMZHeeM6KooqFoQGZ24+BgWVW54mYe1a8I+cm2P/Iwt6gmLMRcsI1wYSaQIT7c38heW55L8KlWeRVtk6PSuExBTOp8KqdglHcsbdkBGw62d7s694trY9bj3dCB1Q6eE0XTmV9mksX/GJIR0tbX2PzEp0SkTSCmOrR+GL6ZKVuUB2eqho4sZwzfDLrlj5JgrJXRsNxnZ4MTM7emxDNRYATdxW0HFwuKc2lOY5/bcDUjGDP4hFZFjzdSN3R4kV2nJbCbtTklFDL1mmhSM6kqxwj7ghg2PtU+nJlykeZUx8iOjlg/AWjUp6ILQXEuiKmHfdvMqnYBEg4Umf3FLdUPqmWWSY1bzY6BsCz/lufa0h0hSlRD2nEhEkIUtWp9yQ85nTMXce0bLklkKtIuFkxqWCpzdIkA4apxIaYQ0ds/9Yg/IKU6XWk1ATnDRcG7tQRzU8CWWFIjTRMaMmiQ6v4dnr0EncZKzuSC347QsN+1SeMoSUtNGzH0zyTzqgO2CokH4BKmFa2LlKzEzJavpjPxescqOrxfasEKTnF8z8l90ck0H5B3LONJHqWTKtOZi6jfFPa6rdGa59Cs51YbqGcF1kHNAt0MZHkQgckRhUFfq0zGueJ4lnk+5Wdonuu9M33qq2yfp5KNhIrPi2U7VQNnE7Tvukadlp8ggu7YajXADGBlOIRWLnvHgpFFEOOofYUh7Akolb3jGBlYh0SVL+YSnBN8GxYfroJ45DEacpmBG8dTSTtBFXyR7yZA8o0W2t/N8QHI+hp/x63/u0a1ttj/Zn2wPJ7vD4WhMt3d22A7b3cn2s5fpeH8rHY+GL9IAol2PIVvDreHGcGtjuEu2tg9Gw4PRkPzncDgckvcXR/8TMDyhVW4uAUcHZEJzzRrbysoZK5ii+SXPmpvK3HY8wsb6OQjPLOebcKaQK3DtzsczPgHBAtJHP29vMbcaiipA6/OKOU2V1HYjtKHKsslxZcgVUgjPruCY2QPW3aF9umMRPWkgor38x6Hp94L/btXWh687qFGW8yC/gvfmoK+NGQHuxHsI0C0vayzP/ruKBTptFNhmzOg7O6gJxadQyqFmMeU3DNRRKtxr+LT7ecbyclLlljdaDuBWGAY2c0l+cnyacKENFalTT1tiRtuJQdZYInFaEqm1JFZSBZwhjM01EYxlaFfOZzyddacKDDuVhZ3Mmk3Ruk8nln94gQJLRUnjv5ITwwTJ2cQQVpRm0d3KiZSNXbQbtYpdvFiUd2yfF2J2AkLzOV1ooo39N+DWqvh65kkTt9VZWfiuVdKSGjUiiOKA1fpZJHE30ZjVj4BmwieNja93rE0Ajc0vaDqzpl4XxfE4Hs+Oca8A1X93IqGJ7BZMe8kwGW6odCvWTnVDNa2MFLKQlSbnIOnvUVMPBaH1K6gckGeH58/xYDql0wGWSiEYOAJOhWFKMEPOlDQylV7uPzs9e06UrEAalopN+EemSSUyhnLaSl8lczuY5W5SkUIqRgQzc6muiSyZokYqq8d6253NaD6xL1Bi1ZicEZoVXHBt7Mm88TqzHSuTBSrY1BDnjsBFFIUUA5LmjKp8UUtAsF0CtDLn6QLshRkDlcEuMFlaDxJVMQ566l2iMpdBGWtshRMJOA6heS5T0JkdRJ1tcmpk+DoQvNtFN9Czw/M3z0kFg+eLWuJotIkC6vFMnDbWHZHeaHe097KxYKmmVPA/gD0mXTHyOWoCWJ+XMZYjVufNdtK15AmozqrQsUZD7lJ3WnvwNloTzNfBw89SWhp89eooOoNpzlsm4lH9zR024qF70x42T49UOwLkhtuzgKTvt8kdQaf7euDQ9lNsSlUGNoFV+aXQg+h5tAfGHL2oXAqak0ku50Sx1JrLDY/ExdGZGxUlUw1mBzb7hX08ggwOoGYiWIL2mfP/fkNKml4z80w/T2AWdGKUjoV0pkJvoVXtGpN6E1aBrs20hcMZWR5LRlGhKQCTkHNZsGD2VBrNR8NUQda8C1SqtdphotjEcysHimgtUOPRcz878x53dsyCeQvmfYQAdywtWGLqt7meIoYfHRWOiPwEVnpVurIIcaPWdjUXFrx/VQI3AMxsNJy9g7pnsBq/QprOkFaxwv3agBPtPYPBn4jjbfp5ggcYDg+qajTLiGYFFYanwPvZR+O0OvYR9fUBKlGeI+ig2xlJbrhdLv+D1T4Tu1CmwILT3FTUbcfphCxkpcIcE5rnnvi8RLDcdCrVYmAf9UqJNjzPCRO6Uk4DdW5nq7hkTBtLHhalFmETnueBodGyVLJUnBqWLx5gL9MsU0zrVdlUQO3oHHG05SZ0+k9gM8WYTytZ6XyB1AzvBIY5t2jRsmDgbic51+COPD0bWPMY5axUhFrB8pFoaekkIeS/a8wGfbDWjvAcKDr3MHm6v0rcF1eIsqaWKQg3kRKZVegSRtF4lfDyyoJylSBYVwOSsZKJzKn5qKNLUQMBnhq3Y7UWlfzbCXCqkycZHnuyFobpe1T7aO/R79N8rQHIj/YHdNqFizN3Jh1JIOvsbtX+TgMwJOwVGB2Oh+P4SWPOKZNJys3ickUOgiOrs/fuzmtrIzDnSmyAI4XhggmzKpjeRM6KMFkHvjdSmRk5LJjiKe0BshJGLS65lpepzFaCOpyCnJ6/JXaKDoRHh7eCtarddCD1bugRFTTrYgrY4/3G9JTJy1LyIJuadz5STLmpMpTXOTXwoQPB+v8lazncIG682E72Rjv728MBWcupWTsgO7vJ7nD35Wif/O96B8jH5YktH6BmasPL4+gn1Pg9egbE+UBQC5MTMlVUVDlV3CxiwbogqRXwoHZGAvTIy83gYUIK5wo1qpRZieGU70kupXKCZwAelRmvVdtaQiF4OSlnC83tH/7iKvXHWkcgvJEmup2HazmOfocCBOSUSb/arh9mLLWRYiNLO3uj2JRLscqT9g5muOugbfzt6Da4VnTUHEy9J+1vFRuzJqJ4eQ8M4YHGLKdnQUfzDBFlxbPTs5sdq2+dnt3sPW/KjIKmK1jw68OjfliakwtqkvZie89q/4LXL6zNiKbP6ZmdyBkCGET05vAiWNXkGUumiXMR0Ty2/gmakN571LivCAcgMiStpQo+RTEluaQZGdOcihTO44QrNrd2DBjuSlb2mLbUVrvoUirzMK3Vay7aKN6vysbYsOP/WfCBBusDlLjGqs/w7U9S2baacHT2ZBlN8vb9OHN7cBvxW5ajDVMsu+xTFh9PZlmLZcanM6ZNNKnHEc49gIWUJcs8yLoaex0z7P9P9cUNyp5oOGdgTqSCkJ/EPZekslgjXJO1+Iv2jRIGP7mboowZpgqQsKViKdfWhAL3CEWjFq7NIeirGuc8JbqaTPjHMCI882xmTHmwuYmP4BPWdHqekAu1sLRqJPoDPnIr0VBqjhdE86LMF8TQ63pf0QjOqTZwXYGRT2hvC2kI2HJzluew+otXx/VV/Voqk+p6rSsiI2w0qCKgfZXUECYBog/qy6SyR/v3iubWVg1bildcGGISqRN57kkFdAfCPqasNHUkCLxWXyN0yD2BqyNKSqoMjzxkpAMBMA+Oc9n/735H7aPWsUAZquye2JlTKmoXGWnS1SDCQAgN6yxozHI57yfz/jPRPDcxbtfm83nCqDZJsXAjIGHgyaDarEUXagiEG2VGdR3ZBWsFkRqmGdS0pqvxVqKr8ahx+AYNIq7Bw1AL56PxIRb1GGsDPHNCWgbPc7hvYYrLnltqu4BAbPcEKRhZXsIyvgDXY5OJFVI3zM7qCMWt/hm7eHX8fIDXkNdCzoV37zbAIo65DLwfHZiAJVlPK9EhSboMsj1vGDa6A7e7BHTw5+aMwBVvY4r1TizHHuH7Bt1UmqlktSQT+xLwykUqvMiwk+PtasHAwScnt4lFKsir48MziM3CFR+HoWJaWe+ujhWU5ytanDVcCUzgFfOkC4Dlnj020J/SpWgXvK5rgQCmMb2hPKfjvGuGHeZjpgw54UIb5kisgRu4IfhqBAizr54CcZErix7rRlD5YEBcnw/yAF/6ZplTY9XsHkJFOFfo6Il3AifrAjGjerYyPxNiCviOnQfDIJVi1r7rhFNSx6AEoUKKRRzPjpZKRCrvNXNhWFewCp7hVQx8sKu7CspAKsUE94rmjTmpyHr0KwgL6iGqlUTj3RKMhyjr2azH8+x8NY52PrMWJboDIdiZi+6iI5ZGgaV1UaFk3r4zeTTCPVSKQoYCECTM5H2hkMTTzF1oAbz+z7VrPqaCXkK40NqArCkGWrSYXtoBMcb/DpzVwR2yQsBDbIf/4vbQDkzxInjGwhUgDAUGiJgoGtI+6mXgHS2GDXrnAAQPklsD2CfkdR1YzHUc4UgFOTnaQgvKHrMJM+mMafD7RqMTbrTLGaiBtEe0merSyFngOkTONUFw46pKuGQExQppQpwdkZXRPGPRTG3IECZKXLS8X5AnHVG/6nzWzawcHLQeCNIC3OTegWOH5boG1SHsIbf4KdyorE68rV/UCMK5IB0ivtvkWUhxcaxrQTI+mTAVu9/AM88hscMKfMtwNgwTVBjCxA1XUhTNuM6atg5/PQ+T82zg702B/snbdz+T0wyTUCCOp2pz0a4mvre39+LFi/39/ZcvX/aic5XXLV2EevZHc071HbgMOAw4+jxcogrZwWbGdZnTRaxQxXYxpqNuZOxmWfPYaag852Zx+UcdAvHojDqah9h5LH4w7gI4BTCgmjV1eHWlN6zVvzFqXV24wN3VHbJTH7B9euylCcDqWVsbUL4x2tre2d17sf9ySMdpxibDfohXSMcB5ji0vgt1dCcDX3YjxB8Noteeu0bB4nei0WwlBct41fRWusTtL8JS3Vwxs+o7tI0jehbeGZDDP6zYrr/pyfZZbLhJlj2tfv1fhgd6DOA94rJrR87VXH0/uyoW5OHrv+HZUhFYnx3c4VEAEyZ+1XEeM53rAaF2oQMyTcva8SkVyfiUG5rLlFHR1ZTnurEsvA1e0aLcZfAnsttYyZUZu9R8KqhVSBvarswYOW/8crvaezFjmrUTXhvWHuiPYy6oWsCkJEyql4+1x6yoe0ywsZQ5o6IPbT/iT2AI0xJUcI4JBg4Wiz4Xztq1LIyq2D22Q3QHY6ipVhbteZhl3MVyd7EMlM6UwesN5kDpScCq0Ix3aa9TqwynalEaOVW0nPGUMKWkwrz0zqg3NOdZHIoiFTGq0sbPR14xesNIJaJwZTyG/tX6FX8+6/HDsHOrool0xtLrvuzKk3fv3r67fP/m4t3784uT48t3b99eLL1HFVZYWFHExjkO3xDYgfQDv6vj33iqpJYTQ46kKmUj/+z+GxGLRraMBL3jeKyfG6kYWn3xVvZsD0lnzSusv9s9pRDiXr9+23uQVIuFBHxM7wDsQcvHwpCNyyUp8kUzp3y8IEbKXLvkXfBSQjooS6/R4kM67JDMww4yEOtn4rWf76CHFkRKkwPdMIVXl3RqTdvIGzRjNQ8Vpmlz9B432kD+PWdpGcTUggOYvCPjIDPiL+9IgAkPNpMcXPpBpz5JVDHBZV87IAMUSATufs1FrMhJPEhU7CaSVTOWl5FTFNwHGOkShtbOMSEWVrIaHrSeZSTWKv2W9eJ51lT+eUGnKzVGYqUKJguxswiQJTTMSpeiDzRDpyuCrKYsBxedtm6pohI8d08fleK5oxhP20yDWV1dm8a8K9yOetF1eGDQQ5FmV6WI4uikoIJOkflzXRNCR4nCEkARH4lybWJOctz6+g5eEj1aF8ZBJttIyXJRGFDyqZldF4DE1KRNjCZLmpzCcqgoSwp9lY3ErYELQxuQOlkNPGQuLQeRYpEUVUKhvclrnlf1rC1KB7svEQzZ4CRUHXPc77ZUp2iCVAptTSSWocyhGgpjxWndmOfjRh37JCmQOaK5Yn3bhB4NTWR6moxz+RoFwiDcIoztTXkXydOMWgV440IycJsA/mPR/5zHQlillg2145vM+GokrC2V9hW0BlcN7ZHSvsKwkP71lPb1lPb17532FR9MH0jsSh+29+tL5X7FIuUpAewpAexxQHpKAFseZ08JYE8JYH+iBLBYhn0TWWARQCtLBeOlnS1e+j35T6yR+FQqfkMNI8evf3vel/oERwGMtG8q+wvSjSIPmlsp+NVq3BhJxgvAxDGDupaPv8JV5HM9QBf7ckldt9Ly187syjpq4lN611N611N611N611N611N611N611N616MB8ZTe9SgE+JTe9ZTe9ZTe9ZTe9ZTedSfOwgVLjnLUBxy8egUf7+7sskyQK4T45XysqOJMk2whaIFOEY9QSTPfPMf16QCvqfv5NRULVxE77vPhytNKsqZnFGqvNOZZcz1WQu4KGChesR9XoaEaaPTM4HjQziyyaiYyz+Wci+mBh+Yv5BgXsJFzce3mW5BnV0mW51fPXZFt7/CRgvzKRSbnun7/HMF9i8GQz64SLfveey/4xw1QTjtr78DSAGOR83HfgAVN354vf1vfjIRO/kShxi3InyKPv/3I4/aWfT+ByK2VPcUlryouuYXopzDlW/BkVeOkyHZXxBBfH+/iFA+CR8/oaEUAnf9yOPo0iLZ291YH09bu3qdBtetuY1YC1e5o62FQrYhDN8x6p9y0xWZdtr+gpfZXWDFPh265UpCM6+vusblmSrB8eyvxmu8yuXnUrMp+/anKc4TYTtJZewv4o4MPTrH8gP1ttrc+fNKCWEJVOuOGpSGtbQXx2GfvSTwNMVRNmQmuDLvszhI/7u08YBVWRFGxWNECTkNNT5ymQ2YDn0WZEehRWZQ8ZxuQHPGo6kTJkgiwVa+2FYvzCYs9o3HA0v2Ls8Nf9naXevzV3TRbTT1wZXvJdvJybzhMRi92RrsPWCIvylW6wQ7R+RWSUUqpjCt6cXaCJ40cCuKgIBsbcFMIj5EILmJ/SZu9kidcTJkqFRcudZW7hquETgy0PkGMuchzXxDDambYO6XWiBQVOlhLmsysDiTTtFLKqpgYtIxtzlz7T+iPZRQN1hZAj4nKTW1KCXyY1t3M5/N5MuGKsQUwis1xLqebZqYYNRvW5LS8aXNrONrZHI42jaLpNRfTjYLmc6rYBiJnw07IxTSZmSLvSpNhurc/3E532MutrZH9I0vp7su9bUqz7b0smzyAQHwP0Us4DCstoeBOwudws/Ozw9M3F8nJP04esETXanjV63LTfM761gK7/vDx8MR7c+Dvt8EvgyJ47W4EBEebaHSqO35zDh/vcLT91OisZCc8fnNOfq8YHEBrj1Gh5yxqcm5/d4WUnF3GOJzF0J2obiPnx1qQUnEJLrUpwz6ublg36LOrTGgooHEAz189d+2GF36SeHS4RfIpROj+rhs/uxFx2pCVpPHykzYCCxwMaD3OmWL13qH6wDWO04USX716/pAclcaKl86Ga7FgQSg4daMUJyrcG3i3S9OZm4to1y1MMVMpEd1CuP6QvtJ2pP0yAldS12zh8FKnh/gNQDxr5tvUN7JfxgtycnReh0+8w9ZnOBbwYuCgsUOrqJeDP/rJBZnbt06Ozt3w7YBXu5eWxqJmwtjtE35ppqTZ5zwtk0NDCi54URUD92UY1y+qqLRpNBS/srNcWeAgSaqzDK7rC82BNRzCkBAzkoLg5FDlHPp5a1JKrfkYLwkz6ORl9T9au/2cA9ynufQDSjVJsROsSz9b7yO7JM3pyhKksOYJxbjRsCE+NTFDioHOzS7aERvidTji6Zte0KNiaisJTAFoIxaIQUY+YrF5OBjFSmY+bBtfLZnItL8whSI9wJU8SuIB/do7Yn40TPz/68XCqovWxPFlRsbVTlqgkxLbw+lmw13qHHtyQo7eHL4+sQdizCyy7Pv5jdW+Iua0vq7JFd5w1izGROlyUviGxVIppktpURy81NEgcC4Tchp4lZDGh8e0x3T6D7mCtoY+N+vKihcW5RxG2wKxYreEB/qtMWaZQJHbYmgv/HUchDffgLvfsm5YMGCgdxe8A5Wms5izswkwpkZeH9cpVRnLEvIbU9LX4CnAATlzF4LIQ2sEjmus4RQ9eVT9hLrCOlgXs7oG1ifyGKDNpvuL0Yypy0lOp6u7y/E3sVskZ8ZaNJZN4swEZm5UiCqxB3BdLOmAHB4OyMXRgLw7HpB3hwNyeDwgR8cDcvy2x237z7V3x2sDsvbu0F/S3lYl4VG3xq4J48njUACq4fIj81pHqeRU0QJJD11tJqJgjCllyjVNjAaCdPeS14mfyBZ0jwW9NRqNGuuWZU8Cy6Mv3t2nSoGXPqhAYR0Nd6lyzQUEdaN+2lBZCSmY1nTKkjjYkGu4Q3a4q9upYpAwDoMqMGAGrrrjMW/F0d/en7z77waOAk/8YrqCa4zr5ASaHfeqBQ3WvUqJCKKwBVos8YJTuFUfVUixAa4M6HCfzqiiqbGGxjMMYt7eggxvCwEZbe09j2OCpW68UTPxYABhA2OmU1raM0U1I6MhyI4pzPHh+Pj4ea2A/0jTa6JzqmfOoPu9kpA9G0Z2QyXkgo71gKRUKU6nzFkNGrXTnEd53hPGsniEVIobplzCygczIB8UvvVBAP0xdzP3MOka9vmrJ2g8JWV8S0kZgS6+cHYGbzgP3ArvSqnoMIs/URLBfD7vR/pTxgCywKeMgYdlDNQE9GXMA2cl3a1ZHB4eNvP4val6+TnJrYcdD12ek9Mzq8gxqCR6FXs2rlouBv/jlff0OdrhkwlPqxwcSJVmAzJmKa108D7fUMWZWXjTKKbUghptTUI7lAMrIScfjfKd8gG+qJ6NB9TMmAJvAHg+I+Rc1TorvWYwuPdmYTfCjH20bxeWSuKhUS/Al+B3RjWHaMswYt2THtUVq+FOZE+t8/V/rkVOE2vv1B9HbcPH68Ffwgzwc/VntL95C/FsDehWeCjW41MRvPc+7CgbOAxbjRQIrym2oOd/XeUv8v5DONaU3zAN3f6je4NG+394LFUsDvfLhA6jTBC29gXAslDUAHhvvvP1N4BozS+FL+dUMuXW/0yW6HXNF3YILWWQKM5Ww2PxPCGHIoPmCakUtdnaqTxmD9XttxDej2+tOMcMOvQdHL6hKG/auN85Obrvfuc1M3QjdlL7oo7OC718PeDei/MoIEex3yuuWAb1UR8hSufk6DzcooMAC/i1i9HEyIRcsVQn7qErTMfxYNTcD1Qi4DmVNljWGK6s89yRUERpv86YwD2DDUyV1JGmxkXGU6bJxoZzjrqLCwuQxafO+XRm8r4OEdFq4P0oQDxncIdu2FS5G2ua/cuC6hPn0xkraAv/pBG630M6o2SYDGPKUUo26oeehC+WDsOnIrqFc1HDQL4L8GoEPL7XDFk7KA74nLv+KUsGdcNyhv1ILJo9I4CMmZRa8TNHsRO8GLj33GiWT6IUYYGjP+AObkU1TACZ6PJpXSMggHd64FaUgOMDoHogcG6me8CIUmV6FutdVY2BtaHp9aVVK76HnMULDCBOoV5kysKdD2DUEmuZw90g+xjSCkDv6c2z/jJKb9jwQWyguPKLVOtGuAKWCAjlMCLu8S96Q5OcimnypsrzMwkXEyf+8Zit3Hgu59lK+OJutuKOdF9JYohj/mhuyXnIpTddsHqx4mmDPQQudGgfJVBZydVl1J1yma0CoVCVcYZHN7Cr2mp4JQOzAlniijDU6VTUhFszsLrEtB4jtH2wE9WLcOP5oajPUrKEB5lW2OEJW0fVBUydkx2Nm1B7xY3pr8LBDoyriwywsKQfpG4KTsbMzK3KT+MqnbRZzxMn44IbDrHkdqtyqe3aDv1O3I9uq3qFmq1why4qLPOWk4JRXSlWYJcukd2C2egxiF839JoFGo7RHJNHjeOCFRIiUpi2w/jhshrTrnrqDQ9szLACPPuVYgk5Z7jnV5g3Z2XfFS6bG9cqAviEj76AnNBwqR+OcByc4CCF2qjG2uwNub5ct6wl6rx9svmAowebwd9GuMTBpscjVDLDKME4QkJEb5FTKCIOJFBrpTMqPF5TathUgingxw+baxnGFSBkg2bZ1YBcuXOzAeeGwVcTnrMN1PyzK7xM8lcqDQEBKn8Uv+KCG3OgsL4eW5VmaqOkWltkbmAYUlPNcKCvZjswrwsO0oRMrGVk1csjnNOX58TALrS2QXGlBnekdoyB/eK8W25r7EAeeDLjTFGVzuLw+Pbe1BohbvfamE/JuIKiUGsWvmhEznTTwxYp6blhynG71hQHbmevyMIJi6C5Y+8/5/Fyj4UxIRuIm4W7TENlm2vkWfki7hvoZrSbcuUjRLnrVkbjgny6Gnuw2lQfxveWnZsX/Gk0z+XcQmjNzbS5UU7uuCVFbjlqrB4BWxNMkAiTXWuxMjOr/UUVH29Xex/Pu3DaLAoNSnCInnPFuvkETW5I9IwwF9VV9tFblWZBaGRMN7rFOZ1Tk0pERZYHRLEpVVke7z5wf3iaWD2msn9IRezywLQDEwsFjbxhCqQMBC97lckrezzeEuaDNFHPIafH3W3Y2dvZbyIfOdA9vCCr/RNN/LrTgIN02kWyTZCPc19k29WYppYgVZQnphgF3mapcwp7IpX9DI6VkpdQc/xWms641SFSV+Ht/0DlakOLEtkGNfFXdRFKB2sDfwAtQ8+jr+0e3WvnHZFyKkhhRbLmpkL7eOCiD81ckjCtO2hj1mOFI+v3H9M4rqURg57SPIU8OVcuLocAG1SMYgeUC1lwoZdI4jWTiNUW2BZ4FZCOexIS0TPCjeMSLUgKKbiRdahfPcT6OljKfsfsR98V0EhyzVhJqhKvFOCl+HA1sWotbYS0iUcrWvHEpTQfxDtb3/dGtSVid+zWcLS3Mdzd2Nq+GO4fDHcPtneS/d0XvzUdsRk1VLP7yvx9fsUWnKYVoyYaGMFrFrgZxyQAq37IqM+eNSGk8uIGi1DStCFncjkdOJMwl9Png3jyIEWMdDrOoq6aHp3XVBZRLTdsR1uDDZsOCRAF8GwoMSCkCc4uGN7qPY25wdQL8XKFzKq8Jn2swYM1CFDroSSTJirXHw/TI2xKms5YEuEibG+llik53FPGsfUmF2VlLv2PggrpYuK8/VeZ+AGqX/M8573P4GUb0Miol3CO3dQNtxqBa8EwbZOSkE8h1u2Zx8/Mmk2KuQtJU18ANkIc+3iRZzQwu8i8KWD3lHeqAzGxTBTXbSKlBrUjTdqCBOnNCk7/vVerAuBW1sD9oRyDudjqj7PCfKRfqJ6RZyVTM1pqe/i0sd9EqUTP4SKQzp0kM9BfguIdVeQOKqTQRtnlg8sAfLFWc2wTfd2ZtO+vwx+Pjr+Yo+/02K7Gm1p3VHHZpzuT3eEwa0ImpqxbK2B5neQiyASgi8BVqVL8xsdiMih7rWjuQkuNVB0NA3QLX0YFlIGrWuDEuniLLr26kC9CalfiOGUtiXMtO6M3tKl4goJRYeJ0fEzosfI66ulDggJFNJ332sCnwhmV9nSh0W/NMK2rwmoMQhK7NrB2BkFTcLLX31bNlBQyl9NGLRsrauS1DxHg+qCBK/L/thdXf+O3+2opmb2bjIaj35ZO+r/mbWb0jdm5PqDrkwxddO7gJaMdaMOP0vZNQqaKVxvin02nA4znuhiNA8060Y8X3c0Z1x4h3JHWfpNeC9pFCnurBfkdqu3TiusZoTlTxisycBYa3rFWDAIKreZoLR0V10hmWJRVY2QrQNDIDosEHJlRkeUQaDhjC7g9m1tTWZjomCpm1wzOyvpLVDMAIUrm9aq5gVHgpEN7OYjG0sYSw3zGIC0txLZjy3+4+zNwUzitcqpC0H1tOiqrXPWoPHm7fldDp1qZIouzROkmEAYNa2lriu6i3JkPYKAgr6pKzNV1ZAWlga2JDEOjRZFXU9AEup6U+qaewkkQXntGffgQVEGQv88H/tzgyFetWLSGKVhfRYAb0D5/m57ZwLrn/avA+zvL1NlHE5wHlpyF4SqcvveO/O/QGm4xoq3GDvdDDLW7TKaXUTfkjGurmWTgGMVyfmDOQgYxy2qit9q/i+WBsGCjOLvxtvTVJe7NFeSoVZpBZSesWChvmFI8c6REo9gFH67jwR2ErmSk0v4qc87zLKUqQyK0SO5u1zkryeglGe4fbO0djIboTT86+elg+P//j9HWzv9zztLKIgk/EcyThoZ2TOF3o8Q9Ohq6P2pN0/IbXQEvwOLY2siyZJl/Af+rVfrX0TCx/zcimTZ/3UpGyVaypUvz19HW9tYP0Zr7BJqsjLXHvmmZZq22TxVpbn1XPh4wYwICwmOGiYIq8u1Sj3i4QqpNVcpzqywFP07JlA/3DmIL2pagnwizpl2ru7bm9EYalzKBWqXPIo7a05HofiFreEaRSWGGWUveWhHhSyBFQqUWmS3EDKy8cY5CFMW8dsVEC4xAP7QSSAT4vf5LMToPZE8pK28mkmdhbfjZpbmhWhAGrUOEURN0awQXQ11fsE7PDVWegtGPYtyOHolhHWK/UB5YtkDzPN7gpbb1Jg5wcRsbB4/9VCmgpxotwqXsOoECHjtICbZKtdYydReLuA+3aDqmwVTrSj128KhpZOt22FKGn9XMYo//gVVkrhrN56lYBE0JbF8OWYseMJJJhuy8oNf17mgmdA9LdGhtsJgV9+FfPw+Rcn3nDH3XcKpQK/DRvOcL7RxeXVf3KzmNXLsF6mgNeV6H53l70Iuyns5IRMuJmVPF7soCc4cFtIzzhS6sUjgzpsyeg/saTpauxq6pnxu4XdIyjPgMixgN6io5G26JG14sbRxW1mIT0+e31XRqbKNiVK+slsz6OxidzGeLOADOBxR0mVTXy9tzHWtHA7xBn4cUNGDHWi1GHYGHe97GjW0Y91cIz3JnCN++avIUN2TgH+4eyL2CeLvq6XmFi3W1/Oziw/V+q6g2mbOxPUYfffy8aMETDWlPb8YEd2JHMQhFry2HIBta4AU22thnBBKJ8mqcy/SaZURzw656iOYCwv2BI1FBKsF8ZmdTx77XyIYKspG/cAXE5iYg79+9IjkX1z6R4O4ipJ4u21TnR8GqtxDUwNM4SCIEUyGjOIzM00FQehoFKyKL/ABsMSuoFUPpWkgBV4cgcsP1I7Y87eyKr93jmoVGaRybMMfmfwyH4Nhbenu4vr7UkY54m9Y4ySXtDap7x/U1gRHAGFNcKo6x/G1GqB2vIlrmFXiXomS/95q5qypYGlwWuYs11AXsyU1ugf1SSFUsQWC3LmL9DTi++B8sg2HvWdAAI250SuG+NSxiaGlmNBz2OAsLyl3dYVc1fSEr2Pfm9Y2TCMhJIPtYRwDp5m2dHWLunH+aWXoS9TIQay4SGLQkrJPccshry1OWO54PaxN27gb2LWtvEekQqth6FOKhEX5/zQUXPbpz6T6AO0d63ayVwD7S1BCpMheZERw70e17fPfuYasvDMO1SwdbNyzqrPgonb4wYRdDycIEzfPTEJh33Y7+GmoiBGMhjBjXTogyc/Apf4njgxliG9tzJ524G72q9II7CjYKOwGhaW5WzqJW4drEerejzNivB6qA1bR6C5g4HS+sZ8wsmqGK21Uup4mG3xP/e5LKjF0lnvn6r2vxGrvO6+hwLC7kpugoKo0rWORqvlNdfTRPj8+ft7qRuzeC+u3ImnCjiZyLMCOmflj5Xud0hHFTWWKI1+3LjWKCwoK7UuRFk6YNXapL4N2Xcnjjd++1nAtyiy/mIorAC7o6COSWmzl7Tv+ou3evIO3obiO1sSR7IGrGYXc4LAj9Zi7U1sHc1EVyxWjmdTInrD2h17crkZjEA+iJA2sJzrluWPRpykpM4A+T+kw6qMdB7fGXAky/02M3+dpJpWTJNg8LbZjKaLEWJffT8VixG7Rx/ePnF2vP0eQkv/xyUBQ1M+E0909tDHcPhsO15y022o0p/8a8VGbG1ScGGEIsXtMB1YqbW9PVeAMjDddA0g+QpDBqL5IdpFbkO9GLSJ7I0weECbvfOgpHdHw1g9t8GTm+cFGQZVsqu6WgdDqnjk9gdL0mb/EHrzRQ0PmVFiVrqyqVWlVTq/W26SBgbCiX6DUy6Zp+V/YI3zBt+NSvrunhWcKqEFgD1A2NOUNcbGSsNLPO6CiS3A1b7ezBy2MRZ3e47EgBhicpc5qyW+2TW+yS+sh/ln1SLHosFJhic3frxShj2XhjsjsebuxsjfY39l9Mhhs7NN3ZfzGk2/sTdrf14ulhwt0Vlsvg+Ml/viOB4xCrSbei/aFOTef2ExIpNBlbvagZCukSEuyvEBnqQ/Dt2G7hfv9/gnLbruCdU7sijyEccLhr8Dvkcxz8ZyqyTanqxZJGTNfAFV4J7unxAqc89bc65HV9p/bPn05f/48vAKrrbAYrZHnK9PMEX3bJLc7Z14r4By8JJNWzDLHZWo8/jlHMg/NoPigrACMNP0MxWX9FXQyEC4nIsWuAH7rXge89vfVWagxOhAq44IFCZ3NPcBM1RvFxZVbWFakuxoV4D/PF4j986dqPAnu+oWphaSP0QiO/MIVBmFD0h32c0UqDlxxKNciJky1Nbm25QvAE+WwRdzyhlvkNG8CVAaTMZ4O6+5yVUdC9Jb4QZB9ZWhk2IDOeZUwMINgX/5UiXwwchxyQueKmx0O9/s81/+zagKzh0/c2d3pq5/PUzsc8tfMhT+18ntr5fJ/tfHoTVx6mO4AeBOOAMghV0JdUFyBeFImt8X5TWUij4MzH0m5qhcDpXBTjxyDPr1/fwd9CpWYYxm0gag5VCX6cq8JOdeVMPm7PCtPkClYRXVm5VBbMUsJK8sGrZx8dWEszDcN5a9LDHdejb+GrkdX62CLuGAZ3IRC6dSlsbmvGojPaBNErO6uCMrTfDWUmgjmTS2BdcTHhOMs7U/wmCsKBQq7O7RC5Ajor3JzJgm3S3GM+rNQOd4nDfO5ie4n7WIEqigVn71ht0zEBjFmxnN3QyNNc95vsjRWNkoPKkilr56IAaLjvQHzm4UIgLsu7LFcC1KywhwvyrDDLgLCPFngvBnNG4e9M3hG6FJAMekOj3F8Y2Jqezqw3VCXTP54PAPMNWYCJFSJGb7ibf7Y2/WNtAPhdwxHWem6gS+cH8+ibrqwA8JnihRVc2Dz69Jg8+/n0+PmdR399NByOmgyqtmdXDWG7c0dPx972gf2iDe6+Uhe7r9iq7iv2o6szY1aXKn1qx6592p6jIDeumYZ3fbXPytbu3vb+dvO0FLxglyusLfP69PUJZjV4aehzsQFaMGKbLfEU0UYxCuFY44WJXB8YSRz3TeJU0ESq6Sbe0UM69mbBMk43wHMd/518nJki/+fp4ZvDWiRNJjzlNEc/9/8MnIjzhQgTrOfVk9lp9aUS7JSxK/QZxsRk45CJES3d570uK6iK1VHSa0tIMdq5IDK1ZkagLtpb2Gd9uLczbJHQZ2rQPQp00HwpBPaDqdM8Zius3P2m3aURlY9QkKsW7D77Bs00pxR2UOaFdFuQyrlYWQAnurvtBOvg8VGQhHu/fHrcHpJfrfAW9KuEVpWRPTVobWTQr3qU9YYOlUVK8MOU9c3b9v6pteVTa8vbV/vU2vKpteVTa8un1pZPrS0fobVlFGHH/3hgfG2PX8cOYo81mCbRCXgb+7xQSYD6cS4QiWuyZj/2VLof7W3v7zQARTF9+Z0oYxeodIA6BjFOiwJCcFrBhKuzQWHfwBB7hlSYcQWBIw6S5x3qC1EeIeZppV2vrIIO/q734O9SdYh+VI732XnLGYb6/TIusY+7w5cJzeF0Gn6DzG1V19SvXNyCu1gl0bwuEuLZ+eGb5wnaWWB4h7CIvqtgWpkZhv5Dk6rorgq2dFwZFx5VFwxr9Qs4fnNO4hUT8gzy+106sn6OfmZWUJ7X73UR+5eE5VQbniapXPoODHDPta6YShDOVYoWj3wXMAYM+NnRG6AbCwTc9kcoDMjtrNZVygQfG/mFT2fkUOtKUZEycg5VXcnR4achoRJmZXczNQJgFvLs6DnWAWyv7/35pwAfFcRg2So38jieyO3j8afs49Ff358PyNu/+v08FemAvH3/11bfrAE5evPXO/Y8HJ3P2vtcpjTv5G08+ub7aTy/efW8oz5Z8rCc4u+czT9lJVJNqXCBtSteTTyVJs/efsZhPhXp5y6W5peV4KtSIfvWTHNiZ7RLf/8Ja+9rEPfA9UNF5UupLkF9XV0SZRCdUMEZst5wviA4LwbkHFSXsw5JH9GcT6QSnD5oiUKaSzAjl1jTbR7ci06F7XhroHIJaNVglGJZEMyM492GSlvDreHG8MXGaI8Mtw9GuwfbL/9zODwYDh+8Kmxku8plYXLMEksavdwY7sOSRgc7w4Ot3U9YEnbrurxmi0uaTy2tz5bJtfwUOjz04wcXhE+vx1oO2FrsmnUP27vzh8mFaFFppW5W2eEAxscF+eLjeW4fSN1P9bJIQDBGNgThBw38PG78HU8HCYJrU+5ujT4VE+xjKUWdo/cptuqJGyJsYMbAid3avhAUusSq9nZ3t194rLdL33zCKj/TGoeEVWuLO4so2j1d0hRtdG66avzW0JVXXhZmzRSn+SUmxa6IQF1RRpyqzr/VVU2t/dIOqhqEtM50EZU2m8TlQ2GPyxl1Ca6DZn9vdAn6xAEJJlUOnYREVofjhKHr9rId7O7u/vTjjy+PXhyf/PjT8OX+8OXxaOvo6PBhXCGEOq6c05022900AqhDvGXEDX5ldR1dvI+ufSQgoidQpIcL8rMkr6iYkiOIrSY5HyuqFtj7wftHp9zMqjG4Rqcyp2K6OZWb41yON6dylIx2NrVKNzE4e9MiBv5JpvI/Xm1vv9h4tb273cE/hkRsPJQPO2P961ioOpioHoz2qvSMKpYl01yOaR60OcGWvuJoLfJrWKCfaYB64L8FC7STa+BcPVio6xYT9Pzir7WKOiCv/npOBfnJGpdcpzIyUQfWTEnAIH3cff9mrM/Gyj9pKV/b/LztoDa28LNX9g3Ymq2FPmwt37Pd6G5xV6sW/b2+KraTOj2lQ3Xbd0MeIkMZHjaXp/qz+3hHmurPTMbNC1Oq1AKrV2LSFa0DvSAU2sIatYUJuR7NXGRQuqdMhlfibK7Q6BkLYWNBDpbOQEGsK61ZyE7PvLYnlbsvVhu6Ksuch9yNpXoacrNYVf7TkWeE3RtMKYxitFkQDXO7mVhZPtabRh6Wm6zbYFcqMyOH2FasBSBI9UuuZU8f4MdBmVMcTs/f9rf/PTrsBWlVO+jA6d3EIypoK/vCU/U9oEyZvCxlHKUSMzQpptxAPzuRkZwa+NC9kfm/ZC2XYu2AbLzYTvZGO/vbwwFZy6lZOyA7u8nucPflaJ/8b/M2bIU60/p7ewR9SnsrjIcG1Ax8Pg4WgZATMlVUVDlVcWqlmbGFZTkMmU1013wUt4KILtm5coWqoRIQ9rkhk1xK5UzKQbAKu5XzELyclLOFxmKhoM0NgD2gIGnmK0TVHMHLwIW1S2UB3C9ib90b77HURoqNLG3si2JTK1BWeLLewQx3HayNvx31wbSio+Xg6T1Zf6vYmKU/9OU1ePkVvrhdgl3MmEtWiBpl9pRbgmd0nVzeSt6Jyy4t3/E5k0VdsvvRj1qjVU/IyDJhwVC9rGCu6FlcVrZRB1KQV8eHZ1aCHmJ12jq7C+GP+9fc1pjjsf1APV14cVHYDsDl42+GKgJfir/FOAeAkh96GrU4+vzFf76nkesMe64AedYUWddEg9+DDyb09eSqHYYG9YSCH0Z5F4N9n/neS6+PdweQsPIc6LxUzHHrhBxmmQdjEkpyYCidG2K8gLrZKqWhpnkTOGTG1PuGXDcBqGGoWUkVNVJ5jkt1o/rPMy3oNZZ3GRCs0zij25e7o63nD1DlvnRq0ZfPKvo6CUVfMpconCepG52Rf/Gf76yrA0Vs2nV1XJFrCLmrDDax0IaKqLjfydE5vJv8xR+CWwuDd+vQwKRQatjdlMV2T1RxWCo0aO5rxQtrdbFBzYj8GVXZnCo2IDdcmYrmpKDpjAuI85HpNV4xGsoFKED2KP5XNWZKMKjEIjP2oJ64t8boP4r8f9uqNN2YrxuYv793ubfztSQsykI5ifbOk5oXs7fJ2DrxF3XPNFZf7SDr6/o26RtGlIq8YebH07fnDbkMM73iovrYM3YNdDRTGBHkvi+k3pNP/PbNxdvztwEz9zhFpkwm35AhDeB868Y0AvnNGdQxWN+IUW1B+uYNawvkk3H9bRrXdm++RQM7gutrGtlNrWtFkKz/4saOJVKjT2vdTT5U8J37UtJXHrIrMGzs+VXMVEpobxWCPHbq0D0G6+Osx1mrqAfEdW0OdcCjb1xF8zldaFLBKwMoZekqYQenQ8Go4GIKhdld12MmbriSkNgd9x8J3REwrkdhpItrt3U1ZtQAI7pqY6G8BwvhgWabUFhf2Q4NDzYXTVeA3F/cZt4266po9M2d9Am3IC7IHigzosqIGt8L/tEXuneMEtpt/V7RHJK5w5iRLgfmAUWW665V6uiXSjOVuCr11qgmGUt5Bk2nrDoKpFQzd2mfb22+1MmEFjxf1fXv23OC45Nn/pJGsQzKCmdszKkYkIlibKyzAZmjOtxNPMEnO3BX+SOW3P1qiUAdcwd3vZmVHbJDMYHxFpWXphbfr+W/6A1rYyvqs7OCXW6vAWcLYIO5rejcNRroQL6T7CTDjdFoawNscp62oX9cBepb2+u4YoJD2W2b+482Zry380vtrJ/PnWer90k9INW4Eqa66wxTNeedM7zC/DarGKOK4Oa5qttVhxLgrLe3FeEiamTt6rVDDUElaQaKBlNQIQV4G2+lPPrHoSR1nsu5HdmJ9WbRE/LMe07Z8wOSW4N9YMUbYFTwj3Xc4rxTI8y1cHh7bnWC9XXFSMZobqcCd1TojIlaP9fGiZy4ViQ2wwxDBo9WQs5yRjWUdyCVhr7rVubIkglofyowDBOnOjk6H7gGp6XUjPCojLrvc9TVyGGZP9xzfiJSWW0efofOl2Vdo2Ey2klGDWhX1kHA9UFuaSA/SUWOclllwW/jXUp1jzinAGN2IPS6vjJbScEyXhXY1PSmaDUDbDiNgvtwAJcItRfL59XH0Rq1yhpG7FNdWwX0yyUr5twW+3zOUikyXSv9oT463sg0t217a7c5vVWlvtbdHKS6rvJqDlYHqZwrWtx7u4JGrmjSBcBqbI8cnPnVRLld8LoGDd5rbBNCbyjP6binfsxhPmbKkBMutGEtOQi4wYvD7/dyOFrkN31PHMH5pa+MW0Cssi6LwxTwHbishQ4iCqP0Grx8AuYnMihBqJBiUfA/IlsVURg+vg895K5gFTy7spSCH7yjBk3lVIoJ7lW7drvIXKvuMKyvEtdDVCvx4nRJye0WTNkF4vEcD1+No53PpPLVSaAKfn1JVC+6USdt3O7cD88pma+sjEJoMQEECTN5xzbUymv28WsBvP7PtWs+poJe0qzgYm1A1hQrpbJq36Ud8N7mDMEdakwj6OiXi4sz+Hz7JfRPPpQjxMHal0JbMeiAj+ZKpXJvqmiG7RNNREt2O1TuV+q6ri4ffuRfGMtskcSVJB/YXDF+tUlGcSmYFpgEZm3vy/7+i9tBdEUPvwON4cI5/HDj78TILyzPJZlLlWf9mFnBvl1IrKd/x+49s8ACd54xas2Mrpk/2tnu38yCmZlcleBfb6AUp4pk0pniElpAnhydk1GylwxdnVVvnE8rnkENjzkNjYWyg3qAtYtgOWPiYFHZrWNxS1MjQxgUtqL6vWJqYU3GtcYVgJzUYKBJHmaHS7JSMdcDi6W0ckwhtJv1ve8btVVhvb5VhG/iCsK6oPmCZMww6N6cEPK2MZCviF9QkTX6AnMBQG4lw2TYsdx/PrkYkLO35/bf9/YfeX7Rv+crLqO7/pq7YjnBQWMJtM0aw6ou6sxP2MCeVhlUY7ssb/NCh6guDxtELMH456+O8IWNC/A24RlJyJEsSqq8J7eIQaZh0Kg1FYlnW1/XJB7WjepN+xnLS7fbbpdhGsVo3EGLkIJr0LamUOI8zTkTpqfhBy/olG1O+dIF4jyOoZG2WlnGyzs3fN3iLT7wHSbkM0nHuZw2mry1YNelFJp9cVGI0y4rC2Mgv19heBdObpeGHjdfWhw6aD9NHjqgvzZzdGA8HneMtvAR2aMbtYc/4i+fwiAb3DCMCs181eNwRYdcbKzUE1fy+S3Mm+fGtZ/qDS/ZGTbDI1frSAe4brvEGoGjvG4KYJiaUJcA6kyp08aXd+dwhAHiPA5f20OxVKqMcDFVTGN8PMM/m/OShusBSlSiVYjX7FT4Ps+q3VObKFlB8etcUns4cqvEqedh1PqYfAzHJIw1oyKD2xoammqmUoigqJ2611Hfc2NS3wo3DFOjAIHzY2kmtFTY+FOXVBC7oud4pmM4EoefHlT0RDovb2bSnNNVOQECieAsGFNQ71jt4hv0xIv53atVXd8l3uVyw/WGRSWHAkYDIivj/lAkK/4Az0gKHisPhqBF39WQe3FZrrEyt2iNr9PjNrIa5F1j6/zN67POOSHk9LhHwi1dsGmF/tTTeC/Y7RTRbUNgZvfAX2dwTmM+9cp9vCPt4LiTERB6svsekwVLZ1RwXZCo8STUo7bQR7nRzP5aZyFYRlfv1r2ZCJ3p3LieV2JLOt/NN8wf+dKaVwDY3j9MNGaR6ILsHnIF7f/hseQvV42F+LfqbiDS3Q1iE35sbdZcoVUj7CJYFo//l9ASelwZoqi7iPSto/8Cnmcu3A2lNWgRfQ/IdYBixY9bcrhVPrndlMEiFgrZNtpmFwxyRFpxQeFg3tW1YaluDfURjzyoZE61WF830PMWc1RogG9AMgn74qnvzt7bmzdUbeZyujmpBNS21ok/UEtwjrhe+6PeqAd3iF1VCI3229Bulu5w02y+h5hyTiPtEOSGUmAxVdaQYDdMQWyzaZVOA2ksXJuzqYTcHiRvGAQv5+F8uHkzyXBX8AAt7Nu1wr2QFXiCysrEpyqcact9PDAE+vqg4nCOR9r/9Dxa9jm0x8edRNZzNadKXA3IFVPK/ofDP7XuQPOrLglAB93mttoTrVawrxfNIHU3kZPo0NMR2xShrlX3AK6A2cQHKx4lzan2oZVccMO95y/MADqC76NO0kobWfTH6kk19XWTseJ/MpbSaKNomfzo/2ogC12A0JMiyblYRpJaAV4juIMhO4qvqhZX0Hb3c94kc2QHcYe4eOeNjB2GrSPTWu3O1q1LWWVqRJsMHmt14fu6P6FptHq0bDHkk/vOtTFzx6BduHFNDb5XT9b/ih0X2EIQST1nLJBO8i96Q3uRXol0hfWROih307mWrzOZdbB8D+1wX+uouRC6EnngWUHD525hK5iGSHq4mvZZCD6EO34ibCMWWiW6zLnB5FJDqtIy99C0sqTKNEL6MIxcQesv1Aau3LD+RhCRFwecU2F3DyoPZjBibS7WhOtGGcR02liGX+ygs6DERbiHMaE9Cs2tTrAg2soGbEaWOgOKYqkdjDJjIpWgrUhFBJsDz7HKeSFvWJPkodFzVbZBbjuoGmcMKm6yDHYlk+mlC7K0Iirjmo5zlhEtLeZTCiJzzOBaJo61H/vAW/B8OeatmFGchVJDV5fIJnpO3DkryeglGe4fbO0djIaY0QThZ68XpFZxOrVBQw41yN0lTqOE6lm3nTknvkNX5Vg5Gfim2UGpQ3Wg4CZmcjecumFC+KdmjLz76UiT3Z2tHbuF26O9naQH/mRCU55zs0hW4etaj1boSnUSP2FHX2sHYoX1HaapVKg5y2hVlnbssgZxYdDa90GFF6NkzMycMUGGYUj77tZ2lyi2tu/E0QplXoQpq3puoMt2aWS11gHE/KJvLaXiUi1XNfBhW93aZj9Pl6A/cYtZPSTXZJ/8pUbOfwbtN2nynFB51r6vkK+zjyVLXSRHYMWOegKhwMyjl6Oe9jbbu31oDQA8/Bjde2KC1r/0iWnYgk5RgorC0HsqYhix+VOXKGlPXHMawFLbm3p6fP58EFs61lTpAO9O5lRaxDtD3/94ldwJujWcQGx4w8kCqw0XqYnsM2tAWSkgS7RkotbRqSzRmdQylnpB6Wx5L08IG75qPfhrE0OYsJmUthQRgAP9FgqIDOWvuPkRFJ19P3F2b3CDoos+dia+ib66py6Qd/A3i5ngTUNRVMKpYehSkjfQoN6qjLSunEJQGcNx4mIkuuGnc098UukTP7oPb3PDUq1lyusXre56U6cCLHWxUFvuqzouh2jBTPkNE1iwMp7V+XZKJY1MZe7cB97oV2NuFFU8IhzswmylMAYviKlG3biAZm5M3fCU6QEoojTXEiZboAFQP6yvF2Xk5uHp7wMrudhYyusBMXOryykHzLyRY8QF0dxUTjvHXs6YaSayKEQEGmwBLHW1TSuFslBdE6tuBpt5M2PakNMz7LilB3DFpAdx2MmcKxbKk0Yy9TOCqaBUOJYxSatwbRPG1niBRtZO/bWOZU4nR+c9LeYoLxqk1RNG0LEqHxJCsI4xBBg7gE0mmVK4I2Npzw3EzdttafLZK0QwxjVcgRJxZZFt7WUuRfheMcjMEgNy5Q+r+wlVFV7vhK6KHom0t99AgOMgZnG5sruoqCOod/QLKFvhF0dOz/Cy1lET1WTO8twxubAef/zqOhBN/hc1cSBGynyDToXUxko+Q0VGFdCYb7sehp3kzSS7/g6eUYV6SyA5n87MZkDeBs82rJDpUfoOZm//U7/Z+eU/X/+8+/q/N/dnp+ofZ7+nO7/97Y/hXxtbEUhjBV6OtWM/uJf+nl0bRScTniYfxDtfz59lpLaqDz4I8iEg5wP5i79e/yAI+Yu7X8e/uRjLSmT4QVYm+sRdR0z30kf/KR6Z/IVUAoj7g/ggsOE8LUt7mEFiaH8dYaWas3IKKbiREEribt0H8ZA99xQ1S4MySJpAiRiLlRvO5gNXry54BzT5sOYXvBYPLRX5sOZWv5bcCa9HtVSkZIoXzDDVgT8e2y/lbvgbgLe3NUzUwEfv4nCb1gbkw1rYNPgUNm3NrdZvW4SI5IOoPaKNV5y/xso7mDVARGAKaN6Ldcm4Rs9pDCl0asHiMS0tx1taZi5hCzXoFS70IkySoKPWCtfGsAhmvZIweWNGdyh65vI1OuJB/WjegRcBcVFnVUY5lFHMrv329PxME6niIf9+9iaI5pDhmax1HaWAywYbmUg1pypj2eXnVPmoG0fizWHkN49+cm7TUsmP3Ri+0cutZJSMkuZFAKeCrrZW+unhm0Ny5oXFGzTkn8WtmC0MiVTTTdTTrMqgN7142UDgul8kH2emyJ/XNse5EyugvuSu9Lx/S7vNpzmfCifQQAF+w8xPuZwD5Wv4yyWIhHFzOfV3Tj4YvG9N3cZETUQLsRSKb3cyOhMlgZHiMASaZU4Cu1RvS/leHbnJqXAPx87e+mxBFJdgqrB09vdXh2+Qwn7f4GLjd/zCUAxe4Jq4MqgJOcytehgloSE8/sbbTptw9AvD3+5qHGCPYGpFGVhdotZdLRyaicyFZAAPgE0L/vv94VYy+p0wkdJSV7nTsK3F0IrDapm7vzF2PSC/csX0jKrr5HlA+H0hQnYBiVvdik4M4LwbKNQIGuuc7qVjgKIVrNDj8daZ77iY20KCbl3OAwO3Vp0nioYoll/AYrmQFOZMh7oQmz907eX8DBkGv/IJb4Bd0vSamQcYPH3GjRvkk8wb926PgVP/0mPi+B9rW9gZO/1GzlYz+tWz5BXo1euvXng2WdsnyHnYxwSshwHJgV3/i6bWag+BVsGb8O1ZySHXMeQFeKhXgcJzd1b9ZkcaAnpIIIGeZpH2+l84T3wMideAawzndGElf5WVA2LSckB4ebO3wdOiHBBm0uT5t4d5k7YQv6KyIi7U+O35KXktM5ajgTGPy394sn5lsZhY3O0gBiOPVKlZOiAlLwCh3x46LdANfP6Z5ej3IEFDQIcbBZ52HvG38Xd3lfaO4pfb9b3B009zz0sGlloq9PNL1eNIzhiYWHVzUMNSM/DjY2wXBsreO+JGU413LgAr5wpmFE91s+1RKLUTgsZ8RW8cFLJDoRCDWypYnqG+TSeZxUiiKrE8AoiWE2OnS3wVyXaFcX9DowdkzsZg5IHJzoVRFRRKClmmm6WC9cK4vtqh14drH8cP/gRbBdkNG4MUzQgRDbnUYAB0hrZYPTx7HfJ3fqjZTqDP6A6DYsrrLVcYTm74/AE+IVSEdCbAOq5TB7rQPmwaaUPXyv8d+IZVuFExMkrxNCGvXZTR7xWrcGBycvEKCtRD41od3J2lkilDX4ojrjBMaKWgGDpd6k7MHh/aJfg+4N6FxWkin2ZC+jOduDycmUSbrU45gZuOKK8CzXWLBiixE9i+5X648X9I0axXYiTBQE0+WfiEH+/WJOQc02eoKhr+tlqeuKuOtgHXSqTxV2GYT2Pt8lvyaUi72pyDZFk2jwtIAkqSp7yaB5tnHRx+94k2nRX/OTNvOgv6Myts8RL+5HpbZ1GWCa/KAeLY8B+uCqe/lAgeuTtWR6Iinq2Kn/GFI1UM4iWdsPAju35Dp+4SY0BOnGe/FkPHr38bkF/eDcgrNrVPWDuyjdEz7O2OwyzfovepccZT44yHg9S7oU+NM54aZzw1zvj+Gme0+2Y0hXp94fKIhpsvprB6y83P9Oc13dxoT7Yb+ZyaCB0kfvfGW3fJf3brza/oz2y+Ndbw3dhvflVf0IDjIpVFHFLxaQZcXSWC4qhN4y3x7KpjvIHRFka9x3g7fv3b0qj8tPiqOn6qri/WL8hX01Dp9eHR7QA05l+lKn5UZ8p3kRA2q47ohQfBG+9C1eNY/fBmIzLfFwKLIu9qcTepY3rCtUO4CqCY4cryurwUpt1KNaWC/4GKcyPCQcg4+R+iHxnLWBa34HBw5WxiCCtKs+iJF76EYLrznxsb8dSyyf3wrbXxeWrZ9NSy6all01PLJve/p5ZNf6KWTaWSWZU+YmXdTla+m+EWJacFot4aDhvwaaY4zVcbK+/dPG4y58RpaqEra201a9aqrU2AGUNHKYTJgOUwUbJoBkoq11CVlIp5j66Pwa9HWpRMJ33VrHyWhLqqT++VVwShtFWm4T8l/AeUMvhD5jmDAljoarJ/1ZEoPanADUdLXY81ysN8TKT+HQZejuDOFwUVpuW87D2/j9Pj329KJDvr+j61Wg3v+pCw9vf3ZErH4/jwHyYUT2dIUMhz47YzIX05lUVJhVewrcUA/vUGMbZymePUaR0K0lqrA5LKqVJUTCGIa8Jzw5z3Hzp7eHsCasQAzxbwoLdJAhj1eh5SwvArtFtqWkZkZVbk19MKY9rymn0t+RpkG8TUOYipe0j3AhUERz++skg/mbaVoOXL8/4pDcgn67GFo9utxz+x6fi9cIhHthv/xEbjk8X4ZDEuldPwrZuLceacL/XopPxZ9NWdwr3WDW+X7aALakNzrF+Iofl+Vg/fqakrOAIfbTdRxKH8a4NwQY6MKBIwmv8Rjwo1aMLQDhAc00XJ12Nh0z0VomUe0CBApTNuWGoqtSrm4PakMVVndz/u713uNfOCxhXPs8vVUuP6oTszvbsGbMhCUW/TxOVKO7Koj7OnivBNVKk9pIxbbsYNOf/lEKObBKaoMKg74YfoqQ8z2Zm8YPsvs2xvNB6+3N8fj7YYGw6H45f7L/f29vdevBgN02zZA57OWHqtq1XJsCM3fAdZfoVgn9wwFYqVdrPm98fbWy8z+nL/5Tbb3hm+fJm+yPZptpuOX6Yvd5o+mWjyFa3ouBmVBuUVmlwgQP62ZCKUZVNyqmgBzpKcimll126kIykN0R2biuWcjnO2ySYTnvI6H4XU2UBNOxLRealTuTJ5fioy2BoxJTM5jxcMZUvDjrrg3EoztQGhcAMyzeWY5h284Nd9C2HL2MUZNf39qyzjgxIBvfA1MZfzlAm9Mh3oFQ7vOiNgrYg25vxhb3bqJdQqCa7rq8MpahI4YmzaK1mQ87PjfxA/3SuuDZYTi3QLrfk4Z3WFDV1mH6G6hhtSbz7v8pnDkqYzFgbeSoYrtAh6RUQ0RU05sqmAr64JxBk1s6gwm9833iGouKFCpdUmkP7mEctzqjancnOUjLaSl+02d1CBMV0VCn+RhQUZfVthMvL+3atwg+41GNBTua5VEl5Xqr69CG2ouiUtL7PEtKy8sYrNEqt+UIFaTzGNznBdObK1tT36YkbQhXOcd3UBiIBwdoDXN2MSw0Yji5INfPsUM6PNRwoqaN1EgLiCBj5N9ICoshiQrLyeDshYsfmACPvFlBUDIir4+l9Udc+8Kotvwy7wG9qcJW5ZtpW8jJX/pt5/Qn6BhnOfovn/ivYeOZPKWNInJx9ZWuGfz85Onody3t+UWn109r4xDTFUTZkJzl/oT9BRs/d2ltYSG873lUQ8QgNcnKZxPYJ9bXwDYEINPMVzBi1ruo4aKOApJ4YcSVVK1Uwmv2eZq9cew1Kzrhr5wJWe0TgD5J6V2bFXbD6FpbXsowcuay/ZTl7uDYfJ6MXOaHfZ9fGinFG9so5QdYVMMGIKKISJJS7PTlz3kEPhoSAbG9DlCh4jEVzE/uKCzHxJgwkXU6ZKxYUhYy6g7B7kjxM6MUxBz0SLLrRFpXKds1KZsY24BxNx9X682aqxKYRM00opq52jEoolRNIZ3HxBEU2jaDB7AXr0mN1bcXM+nycTrhhbYCPfcS6nm9jneEMx7KCzuTUc7WwOR5tG0fSai+lGQXOrd2wgcjbshFxMk5kp8q5AGqZ7+8PtdIe93Noa2T+ylO6+3NumNNvey7Klm3/6ThqXcAxWHbttEfk5HOz87PD0zUVy8o+TZde32kiJsKi+cIkHLm4t8OcPHw9PvLSFv9uXcmt3rz5ae+ozRLwCEH1194X0Up4/P0X/dbI9zuFKGboHQUFQV/eh2cgU6mv74QjPNiNSjFq5hS4vcPN45acveXZF5MQwQbShC+19zDgV4UazfEKoCLtrV1VyZDP2QbS7fZlSuMZCcGs/8XL6zHRVKTPrh0rRhSvTCEiiago1hvTALlqZ4Ge3C6JjLfPKMN+sr2aFM0ZYUNwiVvYaG/LjfT9iplTSak2QmsQNv2lkQHV50vo/18DOG3OxqfVsbUDWNnL7b6WZsv8dDRP7f6O9tf9Z7+DtErJOH2YAtTwLTExNEEWeNuzYENCw6G/OUwsdH3Dtyzm5qrd2xfbTuEqvmSFU0HyhuSZSkJmchyELq56FPSFzax+Hw28k7lF0ZMhrkBrhhQLxH7Uu4s69hAqDrnTJUy4rHerUd7fgAWprxi41nwoKfmb2ket7i+uNpcwZFX24/xF/iruB8Qk0AHYzxPUwO3RjVMXWPxFy7CW9skN3n987Zcqgg9a3te5JAYhoy/c2TdWiNHKqaDnjKTYb1PXpjUe9oTnP4uxd6HlaaePns0rIDSOVqIsEuQ5K/tX6FZ+vXo8fhp1TTSoBTm/W0xLz5N27t+8u37+5ePf+/OLk+PLd27cXn7plFeRurirn9RyHb8hiiEqAxgbqUc2i1soAyUt5au84S+vnRiqmXUXAeqN7Ns9qqzzO5vi73XFUFerXb3vPsxyrlkCtJ6sLU5E1m342bmd7uuwvoGK9Ly9tORPLF3h5gv40pNKutPicUw+U/Zlo7udZEDTHp9zQvMm98CbGKnJTyoU2DYkK5skCq583ei72nk3a2It7Dt5D8VQUVGSXS/bc/DpxKT09hR3c2OUTSAnkpeu36GRmO+zIKzlhrrgzca3kIFHTPK+lbbtfbEcMf4YaFOtAZAN6PigSVJ9lNxJjOFfY2uL2eMi2Uo/KdjPLGpkKijfXGrvOiMRgUbjdwzKoOo5irgXZhMwhK64RfwIXC1CbwgOCgVdweN6/Pz0eWCuokMIbM+Tn96fHehDLRxq17Sjs8bNLzRehgwY2XQhl6uCSubvqIym0UVUK7JQ6GyFfuOFizEGanyVhKUipLBNM4Qqz4IZPYyF7dnpMFKs0a3QKqVt7+DqQE2gmh8uDtkjWZBwQCi0J2qG2xBcYsNiT2vQw23Qr3dndzV5OXr7cfrG79BV4fYa+WV6yfIzbYcskimm9YRLdcZ5b2OGmp5jIw1vf2YFQRWnaLnVRFewMw6whEpVk7K2/HDWDHFt12wm1kHRQT+bPOzbVwmLvsc/A/g+4cM8l6Gj7xbJEZI9iUmS7K2Jkr493cYrupHpGRyua9fyXw9Ed027t7q1u4q3dvTum3h1trW7q3dFWz9TfSRDsuhcoGL7c0BAs/9UkdQE6GLHiLAxFNC943ndt2OYYJVX22D65iR7mJlrGz1tj9smR9CUdSQ7xf15/Uv8CntxK375b6Zad+368S/0LfHIyrcrJ1I/vJ1/Tfeh6cjl9Fy4nt59Pnqcnz9NX9zx5Wvz2HVCr8TE9BEVPXqjlsfVFnVEPBOvLuaseDtgXdGg9HLgv6PJaHrhv2in2hfxey2OrZMl3EAxeL+bfJCy8XvD3GyBer/F7DxWvV/oUNP4UNL4MnXz34eNhpf+OgeRdPEyX8go8KEXxtDZm3Xohxjq6wmK6YUaNmR3fGq8PVcnKNvR39Y9eIrkyRKt3iwZt7Ww9FLgOdI+R/mmH9phbJ2U/qKMHggrm2BKw3pqOPmNYiyPeVud8697mbA1HexvD3Y2t7Yvh/sFw92B7J9nf3f7toX5K4KXZciX9H4TlCxiYnB4/Bhk4KFfISh24vTW6cPaNpRsNeKC5+bN4aIKxAzC3fBeWFuH7Abrv0PoJddWpDtSKecVHVGABmjEjGZ9ANrk5CENG1dsJJWMl5xrqlRpgwdw4ILyfCFrV0ikjoGIIk2N1o8hRv+x+VKWF/GF03rR7WSpF1uS7oYFvVXarDm1vPVTLnEtlNZhL7Lsv1SPaSqukH0smDnQSQG+HCrTRszmTBdukOU/Z0lj6Pgzifx9L+Ls2gf8NbN8no5c8Gb13E8h3b+3+25u536J9G4D78tZrmPpr26ahRtI3ZHkGjfIr2pUtGL4FqzGA9E3bhJ8QFf7nMxg9fr6eOegh+PMYe8sTxiNYgnXVuynXxmHFlep4F393e62On7DWBtbWAGXQ1+nyA/ha0lLo5StzQR0vqBa3KnX4rVOmsCYdmStuDHOVQMZUs70dwkQqMyhyHDbnJ6nCAlV3gXWt33Nm/m510JOPEIr3jk3/VjG1cN8NmuGnUO1Dl0jjso4kg1biGF12lZeX9rurJMRfS9/9clwZr7fUY46Z8ar3DVN0zHNuFgBLHRtTR2rak//u5OfLH0/fHL77b1w5y7wa3VFqf/vbj9Xh0fDw73/78eLw8PAQPuP//rqssgNbjNLnvkj9T2uTiAGqWHfUbi9Us4b5XHebelvPAiKoJpZHQhZL35uwL26PPAEkQBYaWi6HId3zgUhgSvLMIvn8twEg++QfZ4dvji/Pf3uO9BBHLQUYuKktLymYr7uNU7LfKyZS7EXpJgQCtqO/fv/q4hTmgrH9cHke1ze/oQrq2pIcck5wWFEVTPEU1lpTtB3z+Ne3746RoE9+vvyb/dQAPaK+iLhCAkDGUl7QnCjmcifQIHzGkim5WhutXfXEWK3/c+3o4IMy9INi2aUx5YcxFx+KBS3LhH1kD8jRAYJbUUumc0NFRlXW3G8UqI6L+Ihp3V4hksSyq5jxm1Us4HA8VuwGO/SAVeRdcHa+jhj55b9evV4W4Gu2WAG8v/AbtoElkm5cuKOc2JG6Mu/87U8Xvx6+O/lQW2yehb+5+HCEusvf0efz4bSwCs1PPNSXtASKfYb1hzkXFlBLd0ubdJ1CuI+yfIggt2PHAeJ2qwZ2ODihwLv7Nu7DZyMkHPMexHw4ZuNqWtdAvb9gaQTnY6LoTWTbwxxexncbFy8Fca0sAVdr6kr1V3eWNQvJepoZK8ILRoUBDxpNrYCmhpGS30gMvFayEhmhpOQstUvx8EGNU/cBYvnhAY2tnet0Luek01ZJhkQYsSBlTu2T2ELr5OjchdCSixgENzS6v6CHHPKCYoAtuGrpJCeQZABTuHYeKBu5ipSa2r7ExXNBrhwWk6uwkkPLIFPFTAiYtxiKWz57/5/3PkIF75nUZhBatQ189H1NEcZFCw9ImnMmzID4R+0pEdhxO/Fd7bJLXibkdIJ9yMqSuTyK0zPPt42soefl1QDLy2EdYOGQBhijrtHy6Rkxit9wmueLARGSFBRUs7gaODcwGQUv53hRp25GUx2MXm4lw2QrGe1ePaAo3Ap9yod5jjKC6hnTSAZSWIQoT1hOs8L8FU/+0Hel5iKVRvMSsktr/LlRQxk/LojmpnKeYawAvpDVurKkoCvFIKmitrccYITmU6m4mRWWnp5h7hdTbCLhDUtQlmWC0AsAPF86tgPyDlaIXzu+nUnXfnP7VZSE0Y/4k3bb7uh5FBmM/PS34zd6QDJZUI6d2ewZk+pam7pZmx5AYknOqa5rdz+4w3svTvq7vNtVO759eta7uKZ3Qa+sx6enb8hnwk24DZr7xUblNsPLDP/5DoFhn/HVLEM79SiHDxw9LmsGk3nEom7hGdpk0qm1gywALoPRpxURmjNlIsoSEutpw8JqA8nXL7dTRClObjS8jvHqPlpGEeCO2A48q/VAZQXXcM1m9WIl89BESw/8oxYwIPbT4/PN07Pz+ofQeH5A5mzshywxxRNbWIYHKpW75DY9IExkYFWTjBmWYtqzsGq7lVSakWcnx++eu6ZHIbWKmfQhVTgrM2u3KH00knwDvSfilpFwPEvNqkyKRWjngkDAyYW/LMOUJFWMmqgfTtgrT1mBMoBZN+g7tsjODVUbr6TKHmB+uQ5jq7qJP6xbmCEFoM7nhsIFuiw9158UxY5HQcCJFT01cfhsv35UHBrDitLaTKeR4vWK0euljdKVX9pfgOHdua+HbXfb7fHQv8gfc5leE8V+r5g2oOCV1TjnKTl+c445er9cXJydk01y8eocUkdlKvOlG5mtLNHzENd4eoxsimufvzjnZuYq9EJ7HuScyCYjVbJ2u3j22Es4DyKY0XDpYMfV9sGJraP8lpY4t3OGgBrMmrOWDM3YHW1JXNMa36xmieWv9C6JNW5+YZ3gwfM58Mudi1dvj/7r8vjN+aU9BJcXr86XXduqu8ysv2t0ljEyNB28teJHvNdhd3ulQfjVotEObxV0lKnOL4o9utfXNclkWtWZ083ZEuzXSM36ek1PQpqaigbWJkijKytKci6uYT0YyuFb+cEtFKJg7E2NWsi5hi+g7HQdjD4WhIlkzq95yTJOoQmT/bT5SdtrNS22qiCGNy3K1cwMSClzni7+P/bedbmRG1kQ/j9PgZAjvpbmo0okde8N74SaUtvaUV+mpR6fc8YTElgFknAXAbqAEkVvbMS+xr7ePskGMgEU6kKJlMSWui3H2COSVUBmIpHITOSlhZoJagR4v+1OXWM9wc5e6uzHlNsxK1rbh3416/O8/GhF/uVb1LIWpVOePxPZD+4YmfnICE8jOBJUcSagLRQcBpyphY6DssCsHwuddhv/XZR2qw2FuwiaKm+RjF1zVVUd+sxgDbwDzg5bTaqOWnQHTj62AigcmkjnxTe3GElH9jmzyAkbcIG3OHhBA/4n85sg1BsPsRTCLs/AK+po8pCMDWkG3lTFwDxRreB5XP8+x/tWlKeDVE7hmi1LCovprczIRe+jHRX7zCoPJsIWM35dROVwwTWnKTn/z/fQTYrpdbVhf7SDmgELWPCuBnnRK13VmayATGc1evylkAKOLhB8R+3g4Fi0dhChsc6xAoRtkalZNiZrfrw1Iz/gVAuGdVCICuAqAv6yP1sr0Qpv5rqmFoeFHdH2oaW2KIWqTBHiYT0g56UJ0H4GLOyIQZ0aMEJ/ywUyBdxXobPQvt00WEFaIXVtyAGIYLOMGOFYNal7OPyWQ6F8JYZeL5okRLExFZrHeHt0A2csFYTdYPhjqyTUuQJP2SBPzWPX3KDrOjqD3W4QZRm00yhcac7dmfk5BsZwdmMKFKHuIEF/p72pVJqnKWHofcMaNthU09jUge8VCDbgQRtJOplkcpJxqlk6W8a4RmfwqhQn4Ho8+uzCeO8z4OAFzLjPh7nMVTpDboZ3vJSHa1bl89dTrqBP8enHFqHO3QYe4lzwG6Kk4ZOIkP8sKEvTKZ0p9LeXj2w6dTA5vr+K7Be2n3dZRxNGiypulpPc1cECT3bEJ1cGlKsIwbpqkYRNGDjtibQ6A5EicCSa47QS4UNVJHKjJCywLvOCfGxZHhyH0BS6JBctUmiupZBjmSsrCpDuxdceQNdCHgdaPzp/v1ErhAMByjQeFZ4mJCVGiLKGE3q3s3dYxTl0wzzvgguLhxV9CHBqDrf7ScphysjZWa9Ej4ZonUUiRMPXyjUYIS4HirdAB55A3luWQBFdX6qDcodqZOw7ILvXpT9Cg+OXndJDJqOY69mqygD2uJ41r847KXTGKk18ARwpNBdMrKw04ftSSUI7WQ2+9zLTI3IEESa0Achc6Gx2yZVsKCr0OKTDKcjp+QfIQKhB2DuaC9aqVtOC1LigPSpoUqeUayJ/BzhDJi/BOG+a90yKIdd5gud1SjV8qDt8/ydZS6VYe00297ejvc7OwXa7RdZSqtdek53daLe9e9g5IP/rVQ3IFTpxXn1WLNt053HFwUl9j/0WoehyQC1MDsgwoyJPaRYWH9UjNiMx1F4zamepFJo9N3XZacQz1KhiJvBiAVIIUonhU32WFWWrnGpbnFAIXkomo5ni5g90LLZI7LZ1GJz2XmpDJ/MgauCgsJqDbwwH5JBJh23du9GXSkuxmcS1tcnYkEuxyp32CWa4baNt/qM3D64VbTULU+NO+0fO+qxMqOo1Zg2G5ivMImrBt3XGs2L99OP1jtG3Tj9e722Uz4wxjVeA8LujXjMs1RrqOnrAne2rC2M7WmsKkktC7b9PDdO+P7rwRrUttMatulVsREkmGb+mmpHjd/+1ESiy5Q0AJloqaUL6NKUihi0Y3PnJjGQyNzuzoqkaPCdyoSSOpZIlQgJAytzzJQGapUuoarUO0EzfTzGrZPXUluGBGUWW7PNYHEMzWcaSyyaV8BE7jEPY5HDElA4mdTTCuVuAyGTCEg9y3neapF/yt0VCRisIOYbhrBk5kBlZG0gZ2eeiWI7XCFdkLfyiWr4bL0dtIFXCsKgilFhjMVfGULItMcF0TfkXm7KEF38qHwz4jR8RnlkfaT15vbWFj+ATxkDaiMgFhjJpiVb/DR97L3N/RhQfT9IZ0fRLsa5o6qZUaaKnkqS0z1KFVrWQGkJUsIiowf7i7Fj5KOW1WEb5l7X6QRhQo8QVnuyr5AY/CTC9V1IGudnNv+c0xSqyQSCOC5sIlIYiLAZDUdhNzCao3ECQBLyGd3hlVrHsHhFyKgglE5ppHvjBSA0CEB62QLT51/5uQyu8JgUqT57aNNGYisIRRsp81QooYPu5qjpCfZbKaTObN++J8r4Jabs2nU4jRpWOxjM7AjIG7gyq9FrkRzy1pbBxlBEt6swirhhe76YpIuLXVN7vRirvd0qbr1Vi4gK8UmVS19W2GGOthXtOSKIzylOzZSYs47KhULZBwDPbHTcFWk4uAY2vIPXYYMCgOrqZ1TKKxX6dXZwdb7TwLu+LkFPhnLglsIgVLi3nJwchYFjW8UqwSaK6gKzO64cNctvMKgEffNuSEaTiPKFYrMRi4hG+L/FNrlgWrZZlQo9BkcLmI+6Cy0ciB/OORSrI2fHRRyOyjhDjYz9UyCuv6tixMeXpipAz5imBCZz6XQ9bjIz0fORE/idzHBqEX6niQAAD+JaIkLTPMk1OuFCaWRYr0QbuAZ6MAfEqeOUciEiu7Bp8fql7e9Vtb8LBY77lAjAbGBXhXKE7J1wJnKwOxCqro1hKgdyBqHEtg57xYcwMhvajgBKECilmY/5HEFSJJPQfP2ObHD4gV4AF9IrP7AeD3ZVXBmIpBrhW1TgdkTToV8YMbGKqOws1PA4r2dWCKetAPJ7/5skk2vnIWJTCVptO5ZCLOtKBSKMg0uqkyGS6sjxm328NGBJmch5PKDRh4Z0byfuF96mglzQZc7HWImsZAy1aDC+hHdpd4b1h8IarLhZEb7ivbk2KYu7tWiyADn/DaGbwOBQhignV1EI4pYrEMk1ZDMU07LcXI6b8wJBGMpM5GXCR4KbyWzyVQ2X3tm9E4eaGdDoMh1niqppNRmzMMpqusJfJiZujtjG58uCv8wGkDmNXtI1aK68Etgl4ljCqQLl+GxmD4iQKm5lc2QFBhCWSKaN31lXJA7oz2G23ByVirEQmNbRy8SFKQmAQD0LsbDxHEq6guk/GVSC45QCT5IRMmPXol1AuLtF9hQ1gGFDAE1bvkeatvVoflhAYm9E/pl+YIlyTiVSK97HMhufPwqQwfGoYcsx0xmPkWUgMr3BtOdXMbBgw/OM8pRnA64dkY65d36FqkOd7qW1kB8ecOMFsG0DGihcU7ssSGOCTkCWyF5ZxEEOCqRmoilBNrsx79lw0xyR8NNQHRZE2GMPJ9j7bZf0Ba1O2F+8c7neTPjsctDv7O7Szt73f7x90d/YHeyV+XNH1QkmjdMyGoTeBdAJqVSJpRcOL0KvE7kyQ75BQaPmFpqmc4vInXOmM9/MwtcOOYXN0shyylrxfA7LWyjoO+l1cQJTSFAoLgN+62CHCu2sC8E/x25gqwODEWKc8tpl8pV3k1J3QA4IO41xpHz1CAuP+DaNaNQ2CJrI9lqAJ0cRXP/GPmoW8KhQzzD4dmI2BPraghVODkyXEY9NutzITyYSt9I7TcRP1LAFTVuRMwAl6KlEWeVYyI7iXnVR0ar/5DbZpEPMdVgaCcgAQZ4Ppkq1gERzqXiwWV5R913jKD2qPEw+ZS411oy3GSxWRHIBQ56gKAOZZXPMgALjMqJYHIwOCmd6lmJZ2smRKvHpV6JdQn9AGPIA3FpDzs7Uq3lmZOSBtQmFYSbHQYyXsaC6GOVcjv2rFpoQtbc4Lkk9KR70956QyoJLQXLD1YSxdBFPu/smLhGL4ihQqc00hYBz3bJBNlAqexhapMRUYNapYg5rg5tts2386ZQmtglT0Rw22wPoGOH4F17Ids6JaIaDyuqSEpc8JeLFSfxON+QZ9tqQn+BM6UMwdJsEkJ26BTgc4iMz8GDRjFeiqO3SO6J06zemqJFWv7pC6peVoDHl/nBX5Z7niq1sQHzdbsi3qq1LIYC1JKuUXY4JRmyrLNHYUrdgWQZFZL93r1NiOutFOaGdBeG3JzCq+ucXKwqecHeTyh2ux1kQxuD9CKebCqW2s8RZeHEdNlpVhjCD42TAGLcdjt+y9c5hBAXG2ViCGl7oIVQmIMDa9qH0RIhUEeN8R2h3ey9v47gKneRHMwSyxFIon2CtzxEBFgiaeQXEtDN/9iz9SMfYZPKKijLeaN6EjQ5mYjtfDUP3TwMbH+xU/trOMYhrmftrYdoC3yLEg6D7A4gzNzzkqeCwxL8uT+3kGclv6vgRyvwRyvwRyP5NAbtyTrthhIfaeMJobQXqJ5n6J5n4ckF6iuRen2Us090s097cUzY1nxfOI5gZYVhzNbRG+I4qZptZkKLai9AHOjZHMQVawsWnAKBbDZx/ZPZcc0QPp8QwjuxfX1L5ieHcDzz95eHeoP76Ed7+Ed7+Ed7+Ed7+Ed7+Ed7+Ed7+Edz8aEC/h3Y/CgC/h3S/h3S/h3S/h3S/h3bfSrNTfD1G3YQcXxTfzww7WbHcws9lSqhQfzFy8KIW+ClB9nMaxxJJ7UNgT5yKa3kghx7NfLYS/eiXHIPzu9OLTCTm6uPj/en+HnpuDjI4ZdHL4VdQiE8yeNviWICkGtnDgRbu3Wnjmy5yjT+f0+LxF3v/09pcWFATfcKFklMRyPDay1oIcFUNDxA4gFGkaax5HfwWIfOOPsJT7iA9HVrv1ZTulM9PMGMW4CNGva3w8obH+dW0jKk3F4hHs5+ivIRlqk8KdcDHoFy7AXQHKKo1HUDbT180G37fGCBicpwULFsdyPEm5wlDPoaQpQleM++taUHVdGOFnDC4MeTGgY3/URYIG/Cp/hWPK8qGfsuh2nGfYvtjVG8cLF8dXJU0eFx1+94viY9RhL3pqRuStn8qOxUuXQsSZLb5HLQTAQqVRMfQ16wkzNg42M9OEiyFTGoQFOg6ZzqSaoPEQ+Ag0HQ4RPVeosCJMwh1XNkCRr1em5KwZxuboR0NqlnjSEe8/bReWXDFCa/LhV4/or3aUVslkJOvsJvKlgKnWNP4SjbnOGJQCxlfU1sVRu93ubpGNtSp58JcmwqxQq1or8auLKFyUSCFNavL04USq06jcP6pCplXXxAY28pNAU4hnRKxw+DrhFh2lTFd/CHyVreml20N3pxtoOXK6t9TWRae9e9jAffD9HAp9Jzb6WimRZOkVCZch5O5VrUhPjsfUJuKdIxZiiJFbk4y5fJD6aj2RqFiYniEd68y+Onou/u4cwqq8/7WkBviRUHSEsz5UEodjPYy87XZnnhCJ2ot38ZhD3GctcObLlCWX6laxsuql+iinLDsfsTR94Fo9jbhZmNQheZuP15WTern3F3Q52Arkzt9g228s04mcQkOisGJ+yTMwkHGunI+0aO/haukTrhVLB3A6cejcC/X+0xmh15JDY7PNhE30yPc+KAw7BOEm2m0f2lFjltk4fEgGYEv0Qo/5ZLSyFnfn2DWaiwSMTdvIAqdEtkvyzH9tU6cCktYE5Nn55Unv+OeTy0/nR5e/nF78fHl0cn7Z6R5c9t70Ls9/Puru7i26IW0dwYB2K6LCx5N3m67nudJUJJs0lYKVVk1CUqRvImZhg1tFvwPBYYIpKOMcWyZssps4zRW/BgF6VUfpMh5RLq6I4iK2l4NhS1yCV6qYu++r8adc1f19705Po2jhDo3zIFm1JzOkdTB5LauxRP3CBTKClIv5a3GvNSgS1dwqUG2vistJ/wOeKV1iC5fBPPJR42UPLC7KWou4v5bomIdwjqgaReNkd0UL0ytJJjE0yjcXOmhr8+54lyQc/EhyQI5PPvn1K6fkQQWFBbbMW0yDVVxpJmJ7425bm1I1sp2EwzgLf3FfrAbenhQt+/PJhGWQNgz0qq5E++3+Xm//bbe3u/vm7fH+8cHJwZuDtztv3r552+4dnvTusyZqRDtPtijnPx91vvlVOTzZPtw+PtzubB8cHBwcdw8Ount7ve7xYWe329k57hx3er2TN92je65OcdQ8yfp0d/eaV8jTMEgCffgKFaPiSj3Ovtk72H+7t7d31N7dOXnb2T9qH5x033Y7e92Tozc7vTe99nF3b/ekc7x/sL/75mR/583b7d5+p9s7OuweH71duN2fxZErla9M1zkukupZEto0v7HYxx8hBO4TqHCNB5Ft11NbpZqT4/2PNqOafJJSk95Ri3z4/OOpGGRU6SyP4SbmgtFxixz3fvRRB8e9H10s4+Lk+41ur+r4ttfmUAmmSL3DeW2ZEKNLjzDEb0YmLDOsZljs/Pxsq9CvCRlRkagR/VKPGkl22G6/c5Ds9Xd34/1Od797cLjd7Xbiw70+7e4sy01C6ks60AsxVFIsbplpqGZbFxxCNr2OPB0x4bJjS8qAIkJCWDPLgjThcGfypK4ldNvdzmbb/O+i3X4N/4va7fZ/LaspGHz7UKnjKyJsVaKFke0c7rcfA1nMSH7k8KpK+28lSUwhc9uw8ftTK1M1S9NSAzJMrnWt2o3tWe+1aKnHFaHYNdjeeFtjimgZkV8w89qLbfNwqRsmynE/7pAZyk+4zQEOo/NtFnCN/hA5izUWolguS3OUlU8pn2sSuZDEnix3SuTxDH8DUXxcalL6SJJY5RO83b1EW3rlASJ2mmbdoWTE4zcjlqayyWCZY8F3d/cuf+q9Mxb89sGOsWeKB096x7c96tdl7V72z81u+zCiKSTUaH7NYMuvip5nHLU1x3XBvDaMff386P1GhKECZh6zV7OZoXeTmoDd17meYYxAwLZwX9vPtY0ewWQoiBMr8s2MFnf8/pyEGBOyboaa8jSJaZaojRYMXYpFZfX7+1d/Dbb9vZYANaMIwV2l3HVrYMNqQBCs995DN0wDhOHkkJKexjWkneZllHHyMx+OyJFSeUaNjW+7d/WWNS7KtIBU35XTAROK13sbkHqpqmh+Xrg1cQMOSSh1V7msDeJ9/fg+q9r78fN5i3zwevWpiEGQw9FW5AC0Qt27gQP8fnoMToAU4CIJeVWs4KZxsuhso0qcd4ZZjBT5J2fTByAUlsRYMVLhVIqsf3jARj8V8SPhTNPLXPBVqTpNqNOUmBkNBT7fgwQV7n8AGaAy2qXMLiHQbHUXX/6sxUpsGXHz+ZP2okXOIWztY43PezTlA5kJTu+D6WNYhmAjUR1UI17AFJxjFXXb3fZme3+zs0fa2687u6+3D/9/MI3ui9yDzcA7savafXMx6xxutg8As87rnfbr7u79McMcq8svbHZJ06HZB6Pxyow/O35Tf3yfEPaF1Tfip/N7HSQBbnGeXa9q013gPd51eKnMCEtT80BsfyqwI57O9asu/5OvalejheBKT3a7C4dLzCEIu5lIUeTR36cq1Ykdwi9nwjJ+XVtMf4e0AHJ7u7vb+474ImE31TCK+yGr+B+LLP48RCEhmf/h40KDtVQTGsONVZ83RPh22zsH9wFdsYzT9HLhumEPSE/BqVxFMDiuCku38ZSsOs0LY9QVdCk8LelkREUOtYxa5VprhdN8yvVIgtGWGmXFWF7eg+6Hjkc0ozEUaKgSeXf37Zs3h73945M3b9uHB+3D40631zu6l8RQfCiozg31ViwMT8sZZiGpPRChpPiFkYwZ840Z+qgwvxWP9oHMIayC/CTJGRVD0stmEy1JyvsZzWYROWfMh5UMuR7lfaPUbA1lSsVwayi3+qnsbw1lJ+rsbKks3ophgC1DGPhPNJQ/nG1v72+ebe9u15YBb2c27ymqrXPgaUxh5W1hB0YVOTWiGUuiYSr7NPU6YdFj8p64PoWp+ziWrsPhOZi6VVHlHE1YNGqOrXt+8WOh77bI2Y/nVJC3xorlKpaBLdwyFlAElu9KuODZmLklAjwEo6e2c+dt4tKCPhaCz8CoreB7L5T+BAaqjQxYrVYVlL02k1o1p8aK2wsjsEK7ZU6gYmHJ+NR36CyA1yEtvLikEyiV21SnQLF40t3dyxa2UJjStJ+CYF8A076UKaOiCaE3+BMZpLSEli3Mc3F2TgQbSs3xXmpKocxHzJQa5KlRPL1KBcWguXnKxr0KwgToQ+ZzLgRLF95ugt3oSxcC+1WX0sfd9hl8BXCzJCIfbcUjDGshQdEXKPR79P7IFhQyeoPTGafTacSpoBCGTJXRUsdMaLWlU7UJmBjONzhs4rhzf4huRnqc/kDTidh0MG7yRG1UQqGwcllgNKRyClmiqs51BsqtTrQw02VM5eOVMhxXlWBpYDg7L6RGe2wNe92gglPl0oXZzPbnfpaRvRa2ZSN76yg9VWTvPEhWROJVRvaGa3GvNXiekb0Wzu8mstct07cc2RuuyfcR2fuUq/LYkb2V1flOInsXXKFi1G8wstfiuNLI3vOlYnhrsbvFGYGw1ky5rxLDayf/jW6vLFisOYgXJ360IN7tw52dnQ7t7+3u7+6wbre93++wTn9nd7+/vbfTSZakx2Nd1SpNx5NaTKsN4HwOQbwBvo9ye7sMwl89iNciu9qA0vOFQ0crArlBANSCi1YmAF7iHZ8u3jFcgj97vGMjLb6xeMcGHJ7DJdA3Fu/YQMVncxF0r3jHBoSe+h5o5fGOd+D8DK6Gvkq8YwMZvtPrpBDT7y7esYrc9xPvGGL2vcU7zsHtzxvvOIcg32e84xxkv4V4xxD0l3jHrxjvWCL8S7zj14t3LBH+O493bMb124p3bMLhOZi63068YxMFn42Ze694xyaMntrOfdR4x7sQfAZG7bLxjk0o/QkM1G8y3rF8Hf/ozQhQNSt1R3PXyhOaKRuXBd/LjA+5YT6MQmu4sIm6CzvB3VqsOAzwvaF+yv9gCYbKwVW1jwKEQyRE8y4UXcHQuQh6tptQ4aobN+FUx2gOPo0thuoddMx8rlcIfI4lVuo3YkJnNGa+ndARPpwxezEF9/hyYsxwCMlzDUcg4pNCnF7Rr5CSjP2eQ7cHSaiA8AE7rm22ATuXQqvrviH27znLZrbFUMH9g8EhPTg86PT34zjZpX9ZgKSIxVekaZVs8BnrqAbtHW2vGeziV5DMBqT1mTEpiZZDZkhV7jZoR7adoBxhR1QkKZpgfhLo57tpAydZ4mitqnTd6Q8Ou4Pt3f39/vZOQvfodswOu4dJm7XZzv72XpmcDtavTFQ37cL8Gr5jWzq63ri+kSi0NBkzqvLMWpTAxJ4pLQN7kods7A6JCjHb7UF7b5/Sdp8etrv9/YB4eYYCyxYO/vzpDD7OLxz8+dOZKwlsO6sQW70HjT9pprTnIfZWNa8ovIa0TzrgDf79jEFLR5LIqTDsIYmKR2zMWr7/6oTqkX1fEhc2u0gt4NX2yzvGbnauCVaWBs1Qy3Wjwr6ap4IoCR1iFTNSyNBzTGdY0trGo59+NNhuGRIaumIzvnTW8v4FWm3oKaAB6Kkth2XGxg6gQTP2KbgrhtI1p76yNa+QciGEiJABrGhPS1KuWUZTaN7ux2QiTqV1FF796wrW6OrfV2T99OTiLfn0tucH7e5vdzcQpvDBwhfi/CkQ5dtnrutS4gJLHbh+RAS71ruzoWKXT0Zw8eqr4ggo1Q+NbT3hMFjWSFc3eYMaYrewRw14CWJ1ExdGlzKa4C7RpSattdG5IhAuoJgm3EghGzLdMnwppDZiPptB3fQRHIPl9yuDu2mx9y4Z50rDIH3fkzlp6DuLTjN4uM/I2kQMg7JW5vW1yHwXzPVeahttPMWibhYv0GtKTYg9pIqsO7NV0ywa/rHRAsz9mL43rBRh4J9nrPW14R9rLYQHR1jbqPPTxHqngqZaw/FizuZ78dDHom+zFSsErqJwE/xwFQgZLSdrlfW6+uEK75bKbYId0JUGiYM8fUR19ckauZwOsEGGOWegdRsfG7lp27fNZA612QupOAu4QWkZBnBxQa7yLIVetFeQDwVhpSBVcWdzBc5LgYFMLEHDD/RPJ6pAkfJDht33G7oAlOXV652d7S3FaBaP/vb7j/Z7/PyDlpPS6jnx8R2s4KvPYiwT7LrupSKwviKKMVGirKdog/TgggimUYWSgmtpjB8USrIPylHiT9w+s13nzTew1hmjKmQFCglkJJVD1fJnInQu0EyQ34x888aHDSQGZaXaRttzju8p6F/zw1JlZPWUKg9oq6RMCanrwuleTGRGm/Nzib8mVKmAax4918gOX/SBgEMwqsCgV9Xl9iPVo8rcgWy1BFqrgCOzJW8Z0Wny2prhjXDIQk7X4NjZqd9O7Oxsl4ACu3SVKg1MYJkYf+0z1GzwF5vL14SD3weGphVmq51df4OzC/We0F0TzhIZaU/LyqmQ5l3YoVkhezDEIoA9sppthvd5MF8/1/6pVjAZIouakx8Re90LwsYTXcADoOOTV/Zt23nS3yVzyGMQmlPNSJ/pKWPltEw9lWgQVA5ozNRkGUsuV2vLXASWaDEpiGBnhRl8JxPm96vK+/jTvE7gyAx+LNv82xiJawMpw2ikNbMga+EXVQmKGqWla8I0y8ZcsMScvDFXLLVJIBQSAq0Lo7jdVvlgwG/8iPAM5L6+3trCR/CJSGbDjYhcZDPXX3cyyeQNH2NcB1fGzlF8PElnRIPVWlc2zVKmtM9SRaY8TUEVg/NoytIUsL84O1aFoIlllH9Zq4v2arCW98eBcbwqPjiH0eeLRThwqoo7RhVcvW5UPRHeOUdXGTPHUKtkcj8JyHKraKMaMCO/5zRFJSToVO8MnUIOFF2Praef3cRsgkf5SCrbJTsXidXaa7s4AjcAdQ6SwGapQgA+SO5a7DL3O3a6LXxG2vWIg5nrzdGLHdMKKFBY91WE+izFpJb6Bm7e7WWJENIWXSFU6Wg8syMgy+Oep0qvRVXXgx2lZPcBrsreEXmZ5PhS5f1upPJ+pyRWWqXtWYCH0t0aAS6uvhhjDR0t5mDQGeVpYQA3bFOqFr4y1XJyCWh8BWHOBgPsWmxmtYxisV9nF2fHGy30tHwRcipcn/CKUwmFYst5KkG8hVs72CQNToDqvIXjJuioFssx8MG3LfNB3s8T98VKLCb44fsS3+SKZSsMR/hsh29QxEMI4FXnJnaf5/uJgQvhOsB6i53mSLhApdgICNqXOQpOeBRtOGhLx66pN6Ktx9L27bdf2g52hj9G9JqBl4dBeIjMAneR0BlnyqqNMAmIFQld5KmA13jiJIVzaVNBKCTqW6sST4BAUI7twi3Ukm5ExZCpaLW7PuxujR5jmc0K0oLKO2YQGicH83Q2KsjZ8dFHQ8IjZNpjP1S43RcviW5xhwSkFTJwOcNp8XpJFjxzeD5yyM8q24wajF+p4shvGR3B976oWYxHaZ9lmpxwoTTjYlniAHc/GffC7E/NvkiClTX5rV8y+vpMgL1tu6lmSrPx1iSl2ojQpbkcsVjhURKuIk62LIhBAv+j89hn3x7WlnKAfjIZNiAtHUsDuPlHuSkIFVLMxvyPwE+M5PcfPys2yFOzCa/MSxFPrgwP4geD4JVXM2MpBrjONC0fhSJp0NxzxZLl2bXKqHGR7fGYTOruKFSRBLwwiHUuvC+QqxS05yOZWXtOZiSVw+DCVzWkPlOQtMvSIpPpylKWfb0hDM0wMxGKKpfmxW61ulUFnVf/WvvC+1TQS5qMuVhrkbWMgXEnhpdmwCWq+Hx32o+/VnYK/p9SwSuwf6YqXgHgi5J3K3n+xGpelQjfqqJXxeNZqnoFkC/K3kOUvYKOz1jdK4B8UfhCavwpVL6n0AjC2KbnfdgvHh7zCJqAg/N7PeTL+D3L87sM4tc/mt38L6fu3FPXkeipDlRfV/y5npWLy6wHHKQ++uXPcEZqmg2Z/lO6Dizqz9RvYKF7/nrEEzgNLG2+V2ViWQo8S3VjWSSepa/AQviisjzEUWCJ+Iy9BBbCZ6v2fEUXgSXFd6z7hEFFl3TocmWC0CJSfLtAgBGO4cKMBOTJQ73cMcMYckr6mZwGmcl+j16M2Mxmc6iRnBJznggyZX2Xbgu5H2YoLoZFQLpNtM89qC4YfPGYoISZ4b+W0LWzVdeSfxxJwe6wPFYCUEG6evElOqAZLwH17DOdKiIx4I/LEn9UcX0n/+BpSrd2ozZZx9X4b6T38bNdGfLhnHS6lx0MbnxHY/PFf2yQo8kkZb+w/t+53tpr70adqLPrwVv/+88X785a+M5PLP4iN1wpj61ON2qTd7LPU7bV2T3p7BxYcm/ttXdsgyVPdBUN6Jinq0ot+XBOcHyy7mIiM5aMqG6RhPU5FS0yyBjrq6RFplwkcqo2agTEJ2twfx95jR+wlIUYWgXPKfQiTAz2rTMyKImFamyNz5B13snf6DWrUusLywRblQFWwwFn82BjJQ46nbdDdqKdqL3Z6XQ3ocAmj6vQP2vT7MFr7RL+g5Wet7j/UaWMMwe+1sq6+ex+jpnQUrVI3s+Fzm/bwzSb8toeNoCtTOVXGCp+ZeexNRBA86eaDWXG/8AnZBVJLrT0i2tEtD3Q+pmkCRTiY1lslHiQbZypwB744B9XjAxkmsqpGdl26itykiFvbN1X+dl4TVIu8psWGdMYKCr4TZHaYOlaL+Dw4ZzMZP7qVWbOfwpZDBAwb5N0bEptypVu2YT7ICsCk/z9kBM5yY09lETkY8qoYiRlmuQK8gdIf2YIJcwMVGDhTZzqpHfeMlSdZHIiFSM8yKajSQJdGOsR8IDmovqyVNFqC0vV+HxR0dVpR53qobpaUIOKXXcoWUYRCFTx69QeolYJ/+fZ0ftF1G/znFO8aVZkPFpzcEYO2t2o8zvRdLiuNjDVakLjL0z7kkEKMyWoIlwMoagI9KvAP2F8qpSMua2LZ4YQLkUa7HAw1A3WfmNSX5TXToaHo+vV6HfKe8wUjwz2TVhkLJZZYobjYphabDUdQlIWSIccCjNAg0i3eCMsNGAA/X2Ti83fCRMxnagcoVQt60ZogoyUsr/1bMLjIDvM5iZAsRXq09wVE0pmZJ1Fw4j8F2NfWuQXnjE1otmXDcjh5tcsnRFvpIHTKKMDqFlcoQQXgmVzVxWHIPiQRa5YYEXWXdaFHdX+VsZ/Yw6St6OH+Nlxl8XyFvRQ2v3FifN05uUvF15CGdxFA68YRsd+QcyRQ9PhEGSBHfJD3zX0CpjbcW8Ucrk9BRr4zz1uh/S8HbqJoGqK3xW2kpdzLiVcxRkDZ1Z1h9kxAYJgvHnrMuAZm9I0VS2SAfOrFvpAaEL6NKUiZplawgpemeMUEDo9RqPCsERRCdpTvy6vFz1zVmgkf5jYupiAATiZlsFB5lrx5I4a417q56lgGe1zX7PVif/aD/PPAXMMlAZaIN+LNkxNaslfrjlz4YZaKNkKFbiVFkSA5kxy4BQCI8+zeMQ1w85WgIiu0YVC8I8qsl0vQBG0pUic9rzp9/f6ILzBOAZL18x1/vn8ZMP8gS0HUnjQD1q84OoWyoy8tft2o5SnWfR//j2n6UwNc5olEf4N9bR/n7L+iKWTrYG8hIo66ZbR91KWDJkZequE4KXTnZmKRnr8r3/AQB6wMjGKZ/+90VgtxVWPcpl4dTXx1b/WHF5L3LfGqTksXAr1irgE2iiUJvIlSUtUULHMCs2ytDiFPycs8gJtNaBLd3yt1Fa9rOw/zxeugR1A/GwN6BpVgy+aSQqbz55Zyh/hNIXTMJyt6e052yO+ZtGY64xhf3Qjw7YG9Hdg8/SH+JpdQuLpZQCcuowzZgymf/WgOLufNpStnOFZfHIzkcpIjt4/T0IM/11b31NhrKMP5wQ7uJBu1OlGe62wrEmZHNbK+/Sxt0RLbAZ9Dla9QZwUDe6OQPPBK06ublma+uZoWqKG3XGyKAlWppkYzB3GVjSsnx5vuCR727yiVJyi6bAkmOsckdMwPZnk5es4O4Ed1N0d1+laPT0WZf3piOpLri7NFuDJhuX1Ko8XJn+V10+P/92wRpvYFajdbi/R8h8q7Kys1vcRyRiWHZsvYEr6s5U2WLZ0zDUfovnjaeEWw3N/UlmXKmGaVyQe8s0+F+Zb8PzGQ/4388ePno57nc4SZDSMd7lS5rdWpMyIiqloZtXGPlGdducgWoYpzPiCZdE1E4lcVZX0C1s0Zd4BDyAQBKGG1gUTtJ8u3hIolhmL+kUzmduQGaSS6kYV9twMg5UTMiqG9pa0HbWNxt1pR21b/8T8SfrM3TSMpdJEsWuWhbX33hgVU9kRpbE+jcamFFNqDNeyILUnqeTaEWXMdMZjRdap1jT+Qq4hEKfwaGLZuxuuZy0yyfg1T9mQ2QrCNvpCswzLKG+0CB9PaKyLUcNYCjOGH9e8NsxgWDOUjYoCmGybVCjePEcJaFC/nKoOrLuZyDg3KG/UNNXdaHe5JWbimmdSmNEWuvX8Smt9EoJ116JTMSO+qCNwiV2hFrnPCsHdPc+YGV89gyXSbDyR2XNanQsL0V0LA9eEY6pzJLQhacKDglKt0nnt1ip+vH2xIIVX6ysHQ/6960JS8ngUpvP6+38ebxSHPVTf0tDu2dMIlgH4k4ovXAzBRb12JqdrLbL2jiU8H68hN6/9zIejNVgCY6aR665ZVC8+/YjACarqgIQ4v2IuDVMVY21HbVvFaQY+xIQNuCgXtjUjFA+X1ijgIniCKyKngiWovVBBh+h7env66fwi+pANsfEMWYcvjPAkn883sSO+kGJzkskBD0ytoOVLi0xH0ggDrly9ai3JiKUTkPvgUVcsBuY0mi3ICaN9TaQI7lU1o2NFaJxJhYrzVGZpModFxXUSCa50NJTX4LPYtKII2LUuDPByZDFWtUuyQu3Cr3qjhgH1jwz1QFC4Q5BC/zRoTp56mk0yLjOu7UKQjA1pBnEEgQi4HwVrSryZJvZT3+GHvNltH4buR+g206u0S7/1JoorowWkeDjgHQxaImZjOYek2Sw3lZ72qtS3MvRUcuyEkc5IKodD24mBXJydEyNM8SYn4UMOJ6Hrcle0rvMUYXGujY5H+lzQjBs95nzr3em7k/Jswkap92UCz8ABStOZgnLDUAzdQSnBo//F79lfXMX0sHEYhq8q7Aph3m5BDWx/zwsRf1fmB+godBXBMHbEEVUjphy/HZ982mTCnBrlFvVGzPjIclva37x5BS1ToAB96Xqlz4prZH/vh/dWCIh5OVIj2t3du9rw6J1c20WlugiXDZvN1tzL7u6ouFhTrTIojhTY1wjpEdZrtA5os9rWlUWudKqioAfTlW3RYEeEn+OUM6EtQRe/BaEpbFRzrECmwariPn3DKttULpjX1n1cPz96vxFhpJ6ZR5Frms2M5I8r2xHUA9dHExWFYE3AtdOHRphmG0I0Jq5c0ZDCcPnx+3MSYkzIuhlqytMkplmirFpeSuBg9baZr/4aVL9eWMvwXfqfoE2j79J4v0bmDf3ql+9T7/F/itaNqora4r0bLdzPoV3jcquH3Rp9N0ajQrXIh88/VnqzQ3/GW1ba75X7rvizadP4zjCFkQr/5Gy6JBJP3Znxfhv3VMQPwPMZNGhcDu0KZy+J+nfayFFIfQktXRZA597994WELgQsW6QHf7e92d6HHvzbrzu7r7cPl+vBbxDC+6hVYgQ+hkWw6Rxutg8Am87rnfbr7u5y2AS91lfdOPvId5F3IT94pa9rjeerWC7RmjrAB9r3r9BShfERFxuowtLUPBDbn4Ju80E/8MACIws21ze26GS3u/BVQEAEZlv9L0CHeU30T+wQRYcHlkGp7fKiYTjDYgjt7e5u73szNGE31XvwxRFU/I9FFnkecuBy4H/4C41gzdSExsbgIn2u61p4t71zsLjbJOM0XW3/WpuaiFO5O1A4Wjx7Np9i4AIBQaM0E3Honx7Ym2koTQ4rOxlRga1nW4TrIIobrVJtPQcSjKHUKBBwjTGZYHC3H7rohFcj7O7u2zdvDnv7xydv3rYPD9qHx51ur3e0eHN6555YuUA7LScqlzqZOyDCnf8LgyDH8ZjB1U5YXB2PXudOIT9JckbFkPSgkT9JeT+j2Swi54z5m9Eh16O8D5FLQ5lSMdwayq1+KvtbQ9mJOjtbKou3Yhhgy9jo8J9oKH84297e3zzb3q332jHq9+7e5hLi9rvv/v+tdvx/6fL/gNV+Nibj/Tr7f5fd/L+TDv7fd9f+b6ZT/6aZ+TXpM7iqpiIeyQw/bsYugtHez7zBZ0og/HcYu+c6Ctkzybzu7xvcVQHcbKapbeYIbmYDaqNnHJKXRlLpQFAjnWjKfbPGCdUj93DwYAOA5p9jNslYDLcQm3ATULwI1y7wiZfzmKhwiVQl+Ax+keZj9ofLo58PHsaxVx4e8yHGWb4mOstZeXSkSGlYCZvFfoUfLpv4Zg7qfn0gjAau9od5BouCkzXhtwDpzQqFz92KFgx63zW9dWRDXKPuMxVxoXTgLL2TRuB+wHeJe5fwxG2LOJV5UuyAnvno4gIyMmaaJlTT5k3xzv6KwR1x6VUIICzsEZokl/DApRvSPBkzpTB4LNwjJczhpYiP6TCoBltUIBnzTdqPk053u1F+FAxyakYgp8c+PBHBdRSx7PEDOTIrBQ/JNAkZ1QFk4I8QKofrHUvd+PCtyx3M4QAsQhdvn8Yj5J9feqYFuLcy16JsHMw2pvGIC3YZZEPfPpl9IUyfXnSuMNrqcgGBdvtbi846ySRIsQUXzj6+/LplbFhofbfPUXq0cXwnFhIZfwFetXLh2H1u2F74G+gd5nxMUwbto0Eo4G9mh6uRzPQlSuZCn3DHMc636WXCnGPTg0UabqDLr5SECJ4OUKnK/9hErIBgza80Em3OVEbiLD8bSLpgQy05a+XNxSa9/3S2ISj5gVx8OP7wmvwsp0a9GNMJVgP4Ww2W0kFPbj/syXx5TrxMRxAix7nm/C349mf81DDIqRjIkFvtsQBtLp2sCRjUfN/InvbcOOmdh5nFrhejilisotk4jexzmBpHM/SpCik2izcr1Wylb8A4n9PnL02pfpsboi9lyqhYkLyDgiKQgFMse31eqaJ+ztP6lPUV9af3WufguNM+XFsMnA/nBGYI42KaAYllwhr3wW2wKJ0xHY8WB8bNgoUoxcxz4Je8zzLBNIQCWD78e/hdw7jF717nKitQxaAk5MLbpWrx0p2StQT07TxXpfhEJs1iZ6nNHFBgItGtVF9cM1XeIMPvO9NHmZDPp8f1icBkntD48ZAqRqxPJpOayH/gZK5g0pzJKkbKwyd0AzbldJsZ/+///j/KVkiqg2Ql+F8ffFYEP1+O6WTCxdA+u/bXBTd2gJM928Z0UgcZCleiD+zZwR3A1gy8LQEYKZZCgsrzQ+HcFin0EDYjkrFJymOqyhU2yYO5uRh3ziZK2CSVs3HFhH/4xMW4cyYG594gTx8d5WDgOVPfoWPed2I/7J3TNivUD58Xx7WHtz0ni5P7o/+iYVz7Y3Fme4dB0xlbjE2WOmDZzaIqvZ0hKqKzb1HrLca/yVR+4XST5lomXEFyTYH+/8BfybH9ZUbC50jg1bjTQdQwVKjhWDj8kPNcp/a5CD1o5VyaJTyGzrVsr8/lwAMQFJZqnpPf5tieM90JjUe2pOqIlhKabWCQbQfOuB4VdE1IkmMdBU0znU/cHRsOxKFy8xhzqb3PE+LFJzSjY6YNYpnNr4J1YxrMHewaDV+Yjy2bsAugQVYGTaEhusKoidOP+IRlL8KTFoTSQ8JVCSRIz9AKKNNMQhtpPslkksd6eUJCOI7fu3YYo4J73G6b9t7sUpr2lfK10taDmTfumDpI1l1yZnzX37B69ANeUCTLBVSq46IZjjxL7zf7509nZGQM+5ExA2E6y60AyW1Ej/Oscg1UNkHnzPrLiME2KPCbUuVZ3JrrNNcjJrSvQ5IRIbW3wqp3O75aReOUaJZbA96XlwIrzDdyD3JXoZiyi+dz6GVUKMzdNbAMUjlFqOlEG5jnybPAoXnLGriaElDLOpipXEvn54uLjy3ybnb+j7MW+cQSjgk3nz6/2yBBMYQ1A9yaQcJVdDNf+Pgcm5CaNDkei+0LB83dl1LVNHInQyDtBYulVZGKbp2SZkO1yF4dj6lINlMuHm/q2rE6B4CjvpJprhmcykWOY2ZPTACiGOv2Oacy+2KUad8i4m7c7StBVwlLgDIIt88LJ84CfMnHrAk9eN0wfWkOm0f0SNzDBdccrjtvX8XKrI/EQPec/UE8hGPdzUOVOR+Th8og3D7vsjxUQa/MQ/ZujpWv4zJG00s+KR0x9esPV+RwILMpzRKWFK9UteJboT0t7SPLAS55PRTL4C+dZPJm1sJjEyS/Hyd219VQ884WgXfoF5lkRUW1tzKzwr0k7zUoZ+5xwm40hFomrj1AeBHuxzLjkBGjCctaRvm2URPk6j823zr6mL+uwo4fIkXG92XMuCIJV2bgBOJDaTqlM2WVWwgjbVltkIypjkdBKhwkVCKyl3xyBSgJo7QaelkqVDkLiDuRmV5wpavPL7XMF241oaDLJJNaxjINiziVN7zhCyG1C4K2CnXhZtcxtvNRKh8DP1sdBU7dS4ifKBSVtbdGc4Dk0LVmdWURZQXUD64VSwfzFA/zSDQI2g8soaCd2vKgymjeGO/CFUmp0u6TwPENaWAOyHSgqbJc65DGf9BlqKDIstAsw6xti4UNaBLprMITMAG/Q4E9tcniONbpMcFkfkih9uVpjf1uKSiSYvfVZ/P1hO8KNg8MTShBGsQPu2YbtorswFhqETktlDGKxeY2NYX8bHgg2Dx+C055moaVBDGTu1S/95WqzZ9ypcPWPlDh4jYRaxC/+xa7vBh3hP9UeW7OcOGDt45YW5Y5AwbP3ToeVsSC0D0VCaYv+zPN1KWW+k7A7avwwr2mwvrJS01mX1lkuoQpfS+8zItc4K3bwshVZlsGtXC+O/Cz0hQkck2aXgSn8kOFaumEv1W2GpzzBbTMER+OMGrSvtJg40WokNEZNvCCUiIgBvxImLWRsAkTiXK909yx1YJ8dUz/V+acxyN6zKgI0xK4wPeN8C7UXRhhjl1oV0sqxfspu8Q6z6H38sPfgw8nWRZYoJsux7f6dQ91IPy6RNIx0yO5kJcGFPeta5b1t/ClRqIWKpW22UyFLU/sbDa6/aeTixb5+OHc/Pfzha2oJQkU6TL6wPk/zsJBiJnaj7R+fnJ20rtokc8fj48uTlrk+OTsxPx/MUrlpHEV+e7GNZVDHtO0UsMPQAl5FYoIKqJlA9YlrezzpzO0N/KJMzngTFcpVSOyvlUus9vCtCF8LRjpaitXLFNbnauW4zuEjiv32xUOlNh6RKr2YAGWr9cNKwghnQJOzAvf2sE2fhjwNHW+oTQNKRCOxqoHu0H4Ng6/hf5om1Ukw23UduQqa/aGf0qkKJ4NETaPfmGzTdzuSsvMPV3sYnwLMitLSP6eM2/2Len+g1chtpmM8jE1CNIEQ2sxHDtAk2vUSopVC3ptKGl2lTGXoIXT1U8nF8SyyqViNItHWOFRM6Utg1hXFtchS1THwQ1GuDV7YEQyhcKxwXjVRc/ouHwVExTRvYUattNa4WFX5WUOw3uMyCAyIwbR4PnS2l+MMj7Qm58+9qpvF28UOmO5z1uQp1yJ22iI0jYSNRozpYpbtDlovsOH7LQf4fCFgHd75oXVrHOV26Z01qJlJYE+9kNJW91wkjFvMWd0CnzvEkqDgjfWwTxi6WSQF5WewPrKZN5PmRpJqbElgVUAMjotDv5P8KGaAFo/4h0c4Q4GmOac7HYFluQcs9LmKX+mVra54yq4f2HCneFTHpRPW6cTuJYGEFM6YxkYRVYmQxWmWTG+H17mWWhnZUwxoUulu5uZqlKZ7PEwxWGfGtWS0jhmVOW2BGOgO74LvibrgSapNpbRIsPRbf2qxB2vJb9hmeOarTHU2Pld5k6DGXKbi9VfgsILVWqR91KHugVkUVdUh/qK2b1PUiaGelRu+YXfuXlOP4a3Exc9556qZW0A7jK/ywk0z1a5DwWQW5+SBP8vAAD//2z4SlE=" } diff --git a/packetbeat/packetbeat.reference.yml b/packetbeat/packetbeat.reference.yml index 9f25343877f..7a4eb765660 100644 --- a/packetbeat/packetbeat.reference.yml +++ b/packetbeat/packetbeat.reference.yml @@ -1598,7 +1598,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/testing/environments/snapshot-oss.yml b/testing/environments/snapshot-oss.yml index 371493305cd..4a8bcda13e2 100644 --- a/testing/environments/snapshot-oss.yml +++ b/testing/environments/snapshot-oss.yml @@ -3,7 +3,7 @@ version: '2.3' services: elasticsearch: - image: docker.elastic.co/elasticsearch/elasticsearch-oss:8.0.0-SNAPSHOT + image: docker.elastic.co/elasticsearch/elasticsearch:8.0.0-SNAPSHOT healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:9200/_cat/health?h=status | grep -q green"] retries: 300 @@ -13,6 +13,12 @@ services: - "network.host=" - "transport.host=127.0.0.1" - "http.host=0.0.0.0" + - "xpack.security.enabled=false" + - "indices.id_field_data.enabled=true" + - "script.context.template.max_compilations_rate=unlimited" + - "script.context.ingest.cache_max_size=2000" + - "script.context.processor_conditional.cache_max_size=2000" + - "script.context.template.cache_max_size=2000" logstash: image: docker.elastic.co/logstash/logstash-oss:8.0.0-SNAPSHOT @@ -25,7 +31,7 @@ services: - ./docker/logstash/pki:/etc/pki:ro kibana: - image: docker.elastic.co/kibana/kibana-oss:8.0.0-SNAPSHOT + image: docker.elastic.co/kibana/kibana:8.0.0-SNAPSHOT healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:5601/api/status | grep -q 'Looking good'"] retries: 600 diff --git a/winlogbeat/include/fields.go b/winlogbeat/include/fields.go index ee7ef95c22b..4b40e6592c6 100644 --- a/winlogbeat/include/fields.go +++ b/winlogbeat/include/fields.go @@ -32,5 +32,5 @@ func init() { // AssetBuildFieldsFieldsCommonYml returns asset data. // This is the base64 encoded gzipped contents of build/fields/fields.common.yml. func AssetBuildFieldsFieldsCommonYml() string { - return "eJzs/XtzGzmSKIr/358CP23ET/YsVSL1sqx7J+KoJXW3Yv3QWPL0bI83JLAKJDGqAqoBlGj2if3uN5AJoFAPSZQt2m6PZs9xi2QVkEgk8oV8/Af59fDdm9M3P///yLEkQhrCMm6ImXFNJjxnJOOKpSZfDAg3ZE41mTLBFDUsI+MFMTNGTo7OSankv1hqBj/8BxlTzTIiBXx/w5TmUpBRsp8MNzJ2k/zwH+QsZ1QzcsM1N2RmTKkPNjen3MyqcZLKYpPlVBuebrJUEyOJrqZTpg1JZ1RMGXxlh55wlmc6+eGHDXLNFgeEpfoHQgw3OTuwD/xASMZ0qnhpuBTwFfnJvUPc2wc/ELJBBC3YAVn/P4YXTBtalOs/EEJIzm5YfkBSqRh8Vuz3iiuWHRCjKvzKLEp2QDJq8GNjvvVjatimHZPMZ0wAqtgNE4ZIxadcWBQmP8B7hFxYfHMND2XhPfbRKJpaVE+ULOoRBnZintI8XxDFSsU0E4aLKUzkRqyn6900LSuVsjD/6SR6AX8jM6qJkB7anAT0DJA8bmheMQA6AFPKssrtNG5YN9mEK23g/RZYiqWM39RQlbxkORc1XO8cznG/yEQqQvMcR9AJ7hP7SIvSbvr61nC0tzHc3djavhjuHwx3D7Z3kv3d7d/Wo23O6ZjluneDcTfl2FIyfIF/XuL312wxlyrr2eijShtZ2Ac2EScl5UqHNRxRQcaMVPZYGElolpGCGUq4mEhVUDuI/d6tiZzPZJVncBRTKQzlggim7dYhOEC+9n+HeY57oAlVjGgjLaKo9pAGAE48gq4ymV4zdUWoyMjV9b6+cujoYPL/rtGyzHkK0K0dkLWJlBtjqtYGZI2JG/tNqWRWpfD7/8YILpjWdMruwLBhH00PGn+SiuRy6hAB9ODGcrvv0IE/2SfdzwMiS8ML/kegO0snN5zN7ZngglB42n7BVMCKnU4bVaWmsnjL5VSTOTczWRlCRU32DRgGRJoZU459kBS3NpUipYaJiPKNtEAUhJJZVVCxoRjN6DhnRFdFQdWCyOjExcewqHLDyzysXRP2kWt75GdsUU9YjLlgGeHCSCJFeLq9kb+wPJfkV6nyLNoiQ6d3nYCY0vlUSMUu6VjesAMyGm7tdHfuFdfGrse9pwOpGzoljKYzv8omjf0zJiGkq621/4lJiU6ZQEpxbP0wfDFVsioPyFYPHV3MGL4ZdskdI8dcKaFju8nIBidmbk+PZaDGCrmJ2woqFhbn1J7CPLfnbkAyZvAPqYgca6Zu7PYguUpLZjNpd0oqYug106RgVFeKFfYBN2x4rH06NeEizauMkR8ZtXwA1qpJQReE5loSVQn7tptX6QQkGiw0+YtbqhtSzyyTHLOaHwNlW/gpz7WnPUSSqoSw50Qigixs0fqUG3I+Yyrm3jNalsxSoF0snNSwVODsFgHCUeNESiOksXvuF3tATnG61GoCcoKLhnNrD+Kghi+xpECcNjJm1CTR+T08ew16iZOczQW5HadluWmXwlOWkJo2Yu6bSeZRB2wXFA3CJ0gtXBMrX4mZKVlNZ+T3ilV2fL3QhhWa5Pyakf+ik2s6IO9YxpE+SiVTpjUXU78p7nFdpTPLpV/JqTZUzwiug5wDuh3K8CACkSMKg7pSn45xxfMs8XzKzdI+0X1n+tZT3T5JJx8NE5kVz3aqBsombt9xjzwtO0UG2bXVaIQbwMhwCqlY9IwHJ40iwlH/CEPaE1AqecMzNrAKiS5Zyic8Jfg2KD5cB/XMYTDiNAUziqeWdoI++iLZS4bkGS2yvZ3nA5LzMfyMX/9zj25ts/3J/mR7ONkdDkdjur2zw3bY7k62n71Mx/tb6Xg0fJEGEO16DNkabg03hlsbw12ytX0wGh6MhuQ/h8PhkLy/OPqfgOEJrXJzCTg6IBOaa9bYVlbOWMEUzS951txU5rbjETbWz0F4ZjnfhDOFXIFrdz6e8QkIFpA++nl7i7nVUFQBWp9XzGmqpLYboQ1Vlk2OK0OukEJ4dgXHzB6w7g7t0x2L6EkDEe3lPw5Nvxf8d6u2PnzdQY2ynAf5Fbw3B31tzAhwJ95DgG55WWN59t9VLNBpo8A2Y0bf2UFNKD6FUg41iym/YaCOUuFew6fdzzOWl5Mqt7zRcgC3wjCwmUvyk+PThAttqEidetoSM9pODLLGEonTkkitJbGSKuAMYWyuiWAsQ9tyPuPprDtVYNipLOxk1myK1n06sfzDCxRYKkoa/5WcGCZIziaGsKI0i+5WTqRs7KLdqFXs4sWivGP7vBCzExCaz+lCE23svwG3VsXXM0+auK3OysJ3rZKW1KgRQRQHrNbPIom7icasfgQ0Ez5pbHy9Y20CaGx+QdOZNfW6KI7H8Xh2jHsFqP67EwlNZLdg2kuGyXBDpVuxdqobqmllpJCFrDQ5B0l/j5p6KAitX0HlgDw7PH+OB9MpnQ6wVArBwBFwKgxTghlypqSRqfRy/9np2XOiZAXSsFRswj8yTSqRMZTTVvoqmdvBLHeTihRSMSKYmUt1TWTJFDVSWT3W2+5sRvOJfYESq8bkjNCs4IJrY0/mjdeZ7ViZLFDBpoY4dwQuoiikGJA0Z1Tli1oCgu0SoJU5TxdgL8wYqAx2gcnSepCoinHQU+8SlbkMylhjK5xIwHEIzXOZgs7sIOpsk1Mjw9eB4N0uuoGeHZ6/eU4qGDxf1BJHo00UUI9n4rSx7oj0RrujvZeNBUs1pYL/Aewx6YqRz1ETwPq8jLEcsTpvtpOuJU9AdVaFjjUacpe609qDt9GaYL4OHn6W0tLgq1dH0RlMc94yEY/qb+6wEQ/dm/aweXqk2hEgN9yeBSR9v03uCDrd1wOHtp9iU6oysAmsyi+FHkTPoz0w5uhJ5VLQnExyOSeKpdZcbngkLo7O3KgomWowO7DZL+zjEWRwADUTwRK0z5z/9xtS0vSamWf6eQKzoBOjdCykMxV6C61q15jUm7AKdG2mLRzOyPJYMooKTQGYhJzLggWzp9JoPhqmCrLmXaBSrdUOE8Umnls5UERrgRqPnvvZmfe4s2MWzFsw7yMEuGNpwRJTv831FDH86KhwROQnsNKr0pVFiBu1tqu5sOD9qxK4AWBmo+HsHdQ9g9X4FdJ0hrSKFe7XBpxo7xkM/kQcb9PPEzzAcHhQVaNZRjQrqDA8Bd7PPhqn1bGPqK8PUInyHEEH3c5IcsPtcvkfrPaZ2IUyBRac5qaibjtOJ2QhKxXmmNA898TnJYLlplOpFgP7qFdKtOF5TpjQlXIaqHM7W8UlY9pY8rAotQib8DwPDI2WpZKl4tSwfPEAe5lmmWJar8qmAmpH54ijLTeh038CmynGfFrJSucLpGZ4JzDMuUWLlgUDdzvJuQZ35OnZwJrHKGelItQKlo9ES0snCSH/XWM26IO1doTnQNG5h8nT/VXivrhClDW1TEG4iZTIrEKXMIrGq4SXVxaUqwTBuhqQjJVMZE7NRx1dihoI8NS4Hau1qOTfToBTnTzJ8NiTtTBM36PaR3uPfp/maw1AfrQ/oNMuXJy5M+lIAllnd6v2dxqAIWGvwOhwPBzHTxpzTplMUm4WlytyEBxZnb13d15bG4E5V2IDHCkMF0yYVcH0JnJWhMk68L2RyszIYcEUT2kPkJUwanHJtbxMZbYS1OEU5PT8LbFTdCA8OrwVrFXtpgOpd0OPqKBZF1PAHu83pqdMXpaSB9nUvPORYspNlaG8zqmBDx0I1v8vWcvhBnHjxXayN9rZ3x4OyFpOzdoB2dlNdoe7L0f75H/XO0A+Lk9s+QA1UxteHkc/ocbv0TMgzgeCWpickKmiosqp4mYRC9YFSa2AB7UzEqBHXm4GDxNSOFeoUaXMSgynfE9yKZUTPAPwqMx4rdrWEgrBy0k5W2hu//AXV6k/1joC4Y000e08XMtx9DsUICCnTPrVdv0wY6mNFBtZ2tkbxaZcilWetHcww10HbeNvR7fBtaKj5mDqPWl/q9iYNRHFy3tgCA80Zjk9CzqaZ4goK56dnt3sWH3r9Oxm73lTZhQ0XcGCXx8e9cPSnFxQk7QX23tW+xe8fmFtRjR9Ts/sRM4QwECiN4cXwaomz1gyTZyLiOax9U/QhPTeo8Z9RTgAkSFpLVXwKYopySXNyJjmVKRwHidcsbm1Y8BwV7Kyx7SlttpFl1KZh2mtXnPRRvF+VTbGhh3/z4IPNFgfoMQ1Vn2Gb3+SyrbVhKOzJ8tokrfvx5nbg9uI37IcbZhi2WWfsvh4MstaLDM+nTFtokk9jnDuASykLFnmQdbV2OuYYf9/qi9uUPZEwzkDcyIVhPwk7rkklcUa4ZqsxV+0b5Qw+MndFGXMMFWAhC0VS7m2JhS4RygatXBtDkFf1TjnKdHVZMI/hhHhmWczY8qDzU18BJ+wptPzhFyohaVVI9Ef8JFbiYZSc7wgmhdlviCGXtf7ikZwTrWB6wqMfEJ7W0hDwJabszyH1V+8Oq6v6tdSmVTXa10RGWGjQRUB7aukhjAJEH1QXyaVPdq/VzS3tmrYUrziwhCTSJ3Ic08qoDsQ9jFlpakjQeC1+hqhQ+4JXB1RUlJleOQhIx0IgHlwnMv+f/c7ah+1jgXKUGX3xM6cUlG7yEiTrgYRBkJoWGdBY5bLeT+Z95+J5rmJcbs2n88TRrVJioUbAQkDTwbVZi26UEMg3CgzquvILlgriNQwzaCmNV2NtxJdjUeNwzdoEHENHoZaOB+ND7Gox1gb4JkT0jJ4nsN9C1Nc9txS2wUEYrsnSMHI8hKW8QW4HptMrJC6YXZWRyhu9c/Yxavj5wO8hrwWci68e7cBFnHMZeD96MAELMl6WokOSdJlkO15w7DRHbjdJaCDPzdnBK54G1Osd2I59gjfN+im0kwlqyWZ2JeAVy5S4UWGnRxvVwsGDj45uU0sUkFeHR+eQWwWrvg4DBXTynp3daygPF/R4qzhSmACr5gnXQAs9+yxgf6ULkW74HVdCwQwjekN5Tkd510z7DAfM2XICRfaMEdiDdzADcFXI0CYffUUiItcWfRYN4LKBwPi+nyQB/jSN8ucGqtm9xAqwrlCR0+8EzhZF4gZ1bOV+ZkQU8B37DwYBqkUs/ZdJ5ySOgYlCBVSLOJ4drRUIlJ5r5kLw7qCVfAMr2Lgg13dVVAGUikmuFc0b8xJRdajX0FYUA9RrSQa75ZgPERZz2Y9nmfnq3G085m1KNEdCMHOXHQXHbE0Ciytiwol8/adyaMR7qFSFDIUgCBhJu8LhSSeZu5CC+D1f65d8zEV9BLChdYGZE0x0KLF9NIOiDH+d+CsDu6QFQIeYjv8F7eHdmCKF8EzFq4AYSgwQMRE0ZD2US8D72gxbNA7ByB4kNwawD4hr+vAYq7jCEcqyMnRFlpQ9phNmElnTIPfNxqdcKNdzkANpD2izVSXRs4C1yFyrgmCG1dVwiUjKFZIE+LsiKyM5hmLZmpDhjBR4qLl/YI86Yj6Veezbmbl4KD1QJAW4Cb3Dhw7LNc1qA5hD7nFT+FGZXXibf2iRhDOBekQ8d0mz0KKi2NdC5LxyYSp2P0GnnkOiR1W4FuGs2GYoMIQJm64kqJoxnXWtHX463mYnGcDf28K9E/evvuZnGaYhAJxPFWbi3Y18b29vRcvXuzv7798+bIXnau8buki1LM/mnOq78BlwGHA0efhElXIDjYzrsucLmKFKraLMR11I2M3y5rHTkPlOTeLyz/qEIhHZ9TRPMTOY/GDcRfAKYAB1aypw6srvWGt/o1R6+rCBe6u7pCd+oDt02MvTQBWz9ragPKN0db2zu7ei/2XQzpOMzYZ9kO8QjoOMMeh9V2oozsZ+LIbIf5oEL323DUKFr8TjWYrKVjGq6a30iVvfxGW6uaKmVXfoW0c0bPwzoAc/mHFdv1NT7bPYsNNsuxp9ev/MjzQYwDvEZddO3Ku5ur72VWxIA9f/w3PlorA+uzgDo8CmDDxq47zmOlcDwi1Cx2QaVrWjk+pSMan3NBcpoyKrqY8141l4W3wihblLoM/kd3GSq7M2KXmU0GtQtrQdmXGyHnjl9vV3osZ06yd8Nqw9kB/HHNB1QImJWFSvXysPWZF3WOCjaXMGRV9aPsRfwJDmJaggnNMMHCwWPS5cNauZWFUxe6xHaI7GENNtbJoz8Ms4y6Wu4tloHSmDF5vMAdKTwJWhWa8S3udWmU4VYvSyKmi5YynhCklFeald0a9oTnP4lAUqYhRlTZ+PvKK0RtGKhGFK+Mx9K/Wr/jzWY8fhp1bFU2kM5Ze92VXnrx79/bd5fs3F+/en1+cHF++e/v2Yuk9qrDCwooiNs5x+IbADqQf+F0d/8ZTJbWcGHIkVSkb+Wf334hYNLJlJOgdx2P93EjF0OqLt7Jne0g6a15h/d3uKYUQ9/r1296DpFosJOBjegdgD1o+FoZsXC5JkS+aOeXjBTFS5tol74KXEtJBWXqNFh/SYYdkHnaQgVg/E6/9fAc9tCBSmhzohim8uqRTa9pG3qAZq3moME2bo/e40Qby7zlLyyCmFhzA5B0ZB5kRf3lHAkx4sJnk4NIPOvVJoooJLvvaARmgQCJw92suYkVO4kGiYjeRrJqxvIycouA+wEiXMLR2jgmxsJLV8KD1LCOxVum3rBfPs6byzws6XakxEitVMFmInUWALKFhVroUfaAZOl0RZDVlObjotHVLFZXguXv6qBTPHcV42mYazOrq2jTmXeF21IuuwwODHoo0uypFFEcnBRV0isyf65oQOkoUlgCK+EiUaxNzkuPW13fwkujRujAOMtlGSpaLwoCST83sugAkpiZtYjRZ0uQUlkNFWVLoq2wkbg1cGNqA1Mlq4CFzaTmIFIukqBIK7U1e87yqZ21ROth9iWDIBieh6pjjfrelOkUTpFJoayKxDGUO1VAYK07rxjwfN+rYJ0mBzBHNFevbJvRoaCLT02Scy9coEAbhFmFsb8q7SJ5m1CrAGxeSgdsE8B+L/uc8FsIqtWyoHd9kxlcjYW2ptK+gNbhqaI+U9hWGhfSvp7Svp7Svf++0r/hg+kBiV/qwvV9fKvcrFilPCWBPCWCPA9JTAtjyOHtKAHtKAPsTJYDFMuybyAKLAFpZKhgv7Wzx0u/Jf2KNxKdS8RtqGDl+/dvzvtQnOApgpH1T2V+QbhR50NxKwa9W48ZIMl4AJo4Z1LV8/BWuIp/rAbrYl0vqupWWv3ZmV9ZRE5/Su57Su57Su57Su57Su57Su57Su57Sux4NiKf0rkchwKf0rqf0rqf0rqf0rqf0rjtxFi5YcpSjPuDg1Sv4eHdnl2WCXCHEL+djRRVnmmQLQQt0iniESpr55jmuTwd4Td3Pr6lYuIrYcZ8PV55WkjU9o1B7pTHPmuuxEnJXwEDxiv24Ck3VQKNnBseDdmaRVTOReS7nXEwPPDR/Ice4gI2ci2s334I8u0qyPL967opse4ePFORXLjI51/X75wjuWwyGfHaVaNn33nvBP26ActpZeweWBhiLnI/7Bixo+vZ8+dv6ZiR08icKNW5B/hR5/O1HHre37PsJRG6t7CkueVVxyS1EP4Up34InqxonRba7Iob4+ngXp3gQPHpGRysC6PyXw9GnQbS1u7c6mLZ29z4Nql13G7MSqHZHWw+DakUcumHWO+WmLTbrsv0FLbW/wop5OnTMlYJkXF93j801U4Ll21uJ13yXyc2jZlX2609VniPEdpLO2lvAHx18cIrlB+xvs7314ZMWxBKq0hk3LA1pbSuIxz57T+JpiKFqykxwZdhld5b4cW/nAauwIoqKxYoWcBpqeuI0HTIb+CzKjECPyqLkOduA5IhHVSdKlkSArXq1rVicT1jsGY0Dlu5fnB3+sre71OOv7qbZauqBK9tLtpOXe8NhMnqxM9p9wBJ5Ua7SDXaIzq+QjFJKZVzRi7MTPGnkUBAHBdnYgJtCeIxEcBH7S9rslTzhYspUqbhwqavcNVwldGKg9QlizEWe+4IYVjPD3im1RqSo0MFa0mRmdSCZppVSVsXEoGVsc+baf0J/LKNosLYAekxUbmpTSuDDtO5mPp/PkwlXjC2AUWyOczndNDPFqNmwJqflTZtbw9HO5nC0aRRNr7mYbhQ0n1PFNhA5G3ZCLqbJzBR5V5oM07394Xa6w15ubY3sH1lKd1/ubVOabe9l2eQBBOJ7iF7CYVhpCQV3Ej6Hm52fHZ6+uUhO/nHygCW6VsOrXpeb5nPWtxbY9YePhyfemwN/vw1+GRTBa3cjIDjaRKNT3fGbc/h4h6Ptp0ZnJTvh8Ztz8nvF4ABae4wKPWdRk3P7uyuk5OwyxuEshu5EdRs5P9aClIpLcKlNGfZxdcO6QZ9dZUJDAY0DeP7quWs3vPCTxKPDLZJPIUL3d9342Y2I04asJI2Xn7QRWOBgQOtxzhSr9w7VB65xnC6U+OrV84fkqDRWvHQ2XIsFC0LBqRulOFHh3sC7XZrO3FxEu25hiplKiegWwvWH9JW2I+2XEbiSumYLh5c6PcRvAOJZM9+mvpH9Ml6Qk6PzOnziHbY+w7GAFwMHjR1aRb0c/NFPLsjcvnVydO6Gbwe82r20NBY1E8Zun/BLMyXNPudpmRwaUnDBi6oYuC/DuH5RRaVNo6H4lZ3lygIHSVKdZXBdX2gOrOEQhoSYkRQEJ4cq59DPW5NSas3HeEmYQScvq//R2u3nHOA+zaUfUKpJip1gXfrZeh/ZJWlOV5YghTVPKMaNhg3xqYkZUgx0bnbRjtgQr8MRT9/0gh4VU1tJYApAG7FADDLyEYvNw8EoVjLzYdv4aslEpv2FKRTpAa7kURIP6NfeEfOjYeL/Xy8WVl20Jo4vMzKudtICnZTYHk43G+5S59iTE3L05vD1iT0QY2aRZd/Pb6z2FTGn9XVNrvCGs2YxJkqXk8I3LJZKMV1Ki+LgpY4GgXOZkNPAq4Q0PjymPabTf8gVtDX0uVlXVrywKOcw2haIFbslPNBvjTHLBIrcFkN74a/jILz5Btz9lnXDggEDvbvgHag0ncWcnU2AMTXy+rhOqcpYlpDfmJK+Bk8BDsiZuxBEHlojcFxjDafoyaPqJ9QV1sG6mNU1sD6RxwBtNt1fjGZMXU5yOl3dXY6/id0iOTPWorFsEmcmMHOjQlSJPYDrYkkH5PBwQC6OBuTd8YC8OxyQw+MBOToekOO3PW7bf669O14bkLV3h/6S9rYqCY+6NXZNGE8ehwJQDZcfmdc6SiWnihZIeuhqMxEFY0wpU65pYjQQpLuXvE78RLageyzordFo1Fi3LHsSWB598e4+VQq89EEFCutouEuVay4gqBv104bKSkjBtKZTlsTBhlzDHbLDXd1OFYOEcRhUgQEzcNUdj3krjv72/uTdfzdwFHjiF9MVXGNcJyfQ7LhXLWiw7lVKRBCFLdBiiRecwq36qEKKDXBlQIf7dEYVTY01NJ5hEPP2FmR4WwjIaGvveRwTLHXjjZqJBwMIGxgzndLSnimqGRkNQXZMYY4Px8fHz2sF/EeaXhOdUz1zBt3vlYTs2TCyGyohF3SsBySlSnE6Zc5q0Kid5jzK854wlsUjpFLcMOUSVj6YAfmg8K0PAuiPuZu5h0nXsM9fPUHjKSnjW0rKCHTxhbMzeMN54FZ4V0pFh1n8iZII5vN5P9KfMgaQBT5lDDwsY6AmoC9jHjgr6W7N4vDwsJnH703Vy89Jbj3seOjynJyeWUWOQSXRq9izcdVyMfgfr7ynz9EOn0x4WuXgQKo0G5AxS2mlg/f5hirOzMKbRjGlFtRoaxLaoRxYCTn5aJTvlA/wRfVsPKBmxhR4A8DzGSHnqtZZ6TWDwb03C7sRZuyjfbuwVBIPjXoBvgS/M6o5RFuGEeue9KiuWA13Intqna//cy1ymlh7p/44ahs+Xg/+EmaAn6s/o/3NW4hna0C3wkOxHp+K4L33YUfZwGHYaqRAeE2xBT3/6yp/kfcfwrGm/IZp6PYf3Rs02v/DY6licbhfJnQYZYKwtS8AloWiBsB7852vvwFEa34pfDmnkim3/meyRK9rvrBDaCmDRHG2Gh6L5wk5FBk0T0ilqM3WTuUxe6huv4XwfnxrxTlm0KHv4PANRXnTxv3OydF99zuvmaEbsZPaF3V0Xujl6wH3XpxHATmK/V5xxTKoj/oIUTonR+fhFh0EWMCvXYwmRibkiqU6cQ9dYTqOB6PmfqASAc+ptMGyxnBlneeOhCJK+3XGBO4ZbGCqpI40NS4ynjJNNjacc9RdXFiALD51zqczk/d1iIhWA+9HAeI5gzt0w6bK3VjT7F8WVJ84n85YQVv4J43Q/R7SGSXDZBhTjlKyUT/0JHyxdBg+FdEtnIsaBvJdgFcj4PG9ZsjaQXHA59z1T1kyqBuWM+xHYtHsGQFkzKTUip85ip3gxcC950azfBKlCAsc/QF3cCuqYQLIRJdP6xoBAbzTA7eiBBwfANUDgXMz3QNGlCrTs1jvqmoMrA1Nry+tWvE95CxeYABxCvUiUxbufACjlljLHO4G2ceQVgB6T2+e9ZdResOGD2IDxZVfpFo3whWwREAohxFxj3/RG5rkVEyTN1Wen0m4mDjxj8ds5cZzOc9Wwhd3sxV3pPtKEkMc80dzS85DLr3pgtWLFU8b7CFwoUP7KIHKSq4uo+6Uy2wVCIWqjDM8uoFd1VbDKxmYFcgSV4ShTqeiJtyagdUlpvUYoe2DnahehBvPD0V9lpIlPMi0wg5P2DqqLmDqnOxo3ITaK25MfxUOdmBcXWSAhSX9IHVTcDJmZm5VfhpX6aTNep44GRfccIglt1uVS23Xduh34n50W9Ur1GyFO3RRYZm3nBSM6kqxArt0iewWzEaPQfy6odcs0HCM5pg8ahwXrJAQkcK0HcYPl9WYdtVTb3hgY4YV4NmvFEvIOcM9v8K8OSv7rnDZ3LhWEcAnfPQF5ISGS/1whOPgBAcp1EY11mZvyPXlumUtUeftk80HHD3YDP42wiUONj0eoZIZRgnGERIieoucQhFxIIFaK51R4fGaUsOmEkwBP37YXMswrgAhGzTLrgbkyp2bDTg3DL6a8JxtoOafXeFlkr9SaQgIUPmj+BUX3JgDhfX12Ko0Uxsl1doicwPDkJpqhgN9NduBeV1wkCZkYi0jq14e4Zy+PCcGdqG1DYorNbgjtWMM7Bfn3XJbYwfywJMZZ4qqdBaHx7f3ptYIcbvXxnxKxhUUhVqz8EUjcqabHrZISc8NU47btaY4cDt7RRZOWATNHXv/OY+XeyyMCdlA3CzcZRoq21wjz8oXcd9AN6PdlCsfIcpdtzIaF+TT1diD1ab6ML637Ny84E+jeS7nFkJrbqbNjXJyxy0pcstRY/UI2JpggkSY7FqLlZlZ7S+q+Hi72vt43oXTZlFoUIJD9Jwr1s0naHJDomeEuaiuso/eqjQLQiNjutEtzumcmlQiKrI8IIpNqcryePeB+8PTxOoxlf1DKmKXB6YdmFgoaOQNUyBlIHjZq0xe2ePxljAfpIl6Djk97m7Dzt7OfhP5yIHu4QVZ7Z9o4tedBhyk0y6SbYJ8nPsi267GNLUEqaI8McUo8DZLnVPYE6nsZ3CslLyEmuO30nTGrQ6Rugpv/wcqVxtalMg2qIm/qotQOlgb+ANoGXoefW336F4774iUU0EKK5I1NxXaxwMXfWjmkoRp3UEbsx4rHFm//5jGcS2NGPSU5inkyblycTkE2KBiFDugXMiCC71EEq+ZRKy2wLbAq4B03JOQiJ4RbhyXaEFSSMGNrEP96iHW18FS9jtmP/qugEaSa8ZKUpV4pQAvxYeriVVraSOkTTxa0YonLqX5IN7Z+r43qi0Ru2O3hqO9jeHuxtb2xXD/YLh7sL2T7O+++K3piM2ooZrdV+bv8yu24DStGDXRwAhes8DNOCYBWPVDRn32rAkhlRc3WISSpg05k8vpwJmEuZw+H8STBylipNNxFnXV9Oi8prKIarlhO9oabNh0SIAogGdDiQEhTXB2wfBW72nMDaZeiJcrZFblNeljDR6sQYBaDyWZNFG5/niYHmFT0nTGkggXYXsrtUzJ4Z4yjq03uSgrc+l/FFRIFxPn7b/KxA9Q/ZrnOe99Bi/bgEZGvYRz7KZuuNUIXAuGaZuUhHwKsW7PPH5m1mxSzF1ImvoCsBHi2MeLPKOB2UXmTQG7p7xTHYiJZaK4bhMpNagdadIWJEhvVnD6771aFQC3sgbuD+UYzMVWf5wV5iP9QvWMPCuZmtFS28Onjf0mSiV6DheBdO4kmYH+EhTvqCJ3UCGFNsouH1wG4Iu1mmOb6OvOpH1/Hf54dPzFHH2nx3Y13tS6o4rLPt2Z7A6HWRMyMWXdWgHL6yQXQSYAXQSuSpXiNz4Wk0HZa0VzF1pqpOpoGKBb+DIqoAxc1QIn1sVbdOnVhXwRUrsSxylrSZxr2Rm9oU3FExSMChOn42NCj5XXUU8fEhQooum81wY+Fc6otKcLjX5rhmldFVZjEJLYtYG1MwiagpO9/rZqpqSQuZw2atlYUSOvfYgA1wcNXJH/t724+hu/3VdLyezdZDQc/bZ00v81bzOjb8zO9QFdn2ToonMHLxntQBt+lLZvEjJVvNoQ/2w6HWA818VoHGjWiX686G7OuPYI4Y609pv0WtAuUthbLcjvUG2fVlzPCM2ZMl6RgbPQ8I61YhBQaDVHa+mouEYyw6KsGiNbAYJGdlgk4MiMiiyHQMMZW8Dt2dyaysJEx1Qxu2ZwVtZfopoBCFEyr1fNDYwCJx3ay0E0ljaWGOYzBmlpIbYdW/7D3Z+Bm8JplVMVgu5r01FZ5apH5cnb9bsaOtXKFFmcJUo3gTBoWEtbU3QX5c58AAMFeVVVYq6uIysoDWxNZBgaLYq8moIm0PWk1Df1FE6C8Noz6sOHoAqC/H0+8OcGR75qxaI1TMH6KgLcgPb52/TMBtY9718F3t9Zps4+muA8sOQsDFfh9L135H+H1nCLEW01drgfYqjdZTK9jLohZ1xbzSQDxyiW8wNzFjKIWVYTvdX+XSwPhAUbxdmNt6WvLnFvriBHrdIMKjthxUJ5w5TimSMlGsUu+HAdD+4gdCUjlfZXmXOeZylVGRKhRXJ3u85ZSUYvyXD/YGvvYDREb/rRyU8Hw///f4y2dv6fc5ZWFkn4iWCeNDS0Ywq/GyXu0dHQ/VFrmpbf6Ap4ARbH1kaWJcv8C/hfrdK/joaJ/b8RybT561YySraSLV2av462trd+iNbcJ9BkZaw99k3LNGu1fapIc+u78vGAGRMQEB4zTBRUkW+XesTDFVJtqlKeW2Up+HFKpny4dxBb0LYE/USYNe1a3bU1pzfSuJQJ1Cp9FnHUno5E9wtZwzOKTAozzFry1ooIXwIpEiq1yGwhZmDljXMUoijmtSsmWmAE+qGVQCLA7/VfitF5IHtKWXkzkTwLa8PPLs0N1YIwaB0ijJqgWyO4GOr6gnV6bqjyFIx+FON29EgM6xD7hfLAsgWa5/EGL7WtN3GAi9vYOHjsp0oBPdVoES5l1wkU8NhBSrBVqrWWqbtYxH24RdMxDaZaV+qxg0dNI1u3w5Yy/KxmFnv8D6wic9VoPk/FImhKYPtyyFr0gJFMMmTnBb2ud0czoXtYokNrg8WsuA//+nmIlOs7Z+i7hlOFWoGP5j1faOfw6rq6X8lp5NotUEdryPM6PM/bg16U9XRGIlpOzJwqdlcWmDssoGWcL3RhlcKZMWX2HNzXcLJ0NXZN/dzA7ZKWYcRnWMRoUFfJ2XBL3PBiaeOwshabmD6/raZTYxsVo3pltWTW38HoZD5bxAFwPqCgy6S6Xt6e61g7GuAN+jykoAE71mox6gg83PM2bmzDuL9CeJY7Q/j2VZOnuCED/3D3QO4VxNtVT88rXKyr5WcXH673W0W1yZyN7TH66OPnRQueaEh7ejMmuBM7ikEoem05BNnQAi+w0cY+I5BIlFfjXKbXLCOaG3bVQzQXEO4PHIkKUgnmMzubOva9RjZUkI38hSsgNjcBef/uFcm5uPaJBHcXIfV02aY6PwpWvYWgBp7GQRIhmAoZxWFkng6C0tMoWBFZ5Adgi1lBrRhK10IKuDoEkRuuH7HlaWdXfO0e1yw0SuPYhDk2/2M4BMfe0tvD9fWljnTE27TGSS5pb1DdO66vCYwAxpjiUnGM5W8zQu14FdEyr8C7FCX7vdfMXVXB0uCyyF2soS5gT25yC+yXQqpiCQK7dRHrb8Dxxf9gGQx7z4IGGHGjUwr3rWERQ0szo+Gwx1lYUO7qDruq6QtZwb43r2+cREBOAtnHOgJIN2/r7BBz5/zTzNKTqJeBWHORwKAlYZ3klkNeW56y3PF8WJuwczewb1l7i0iHUMXWoxAPjfD7ay646NGdS/cB3DnS62atBPaRpoZIlbnIjODYiW7f47t3D1t9YRiuXTrYumFRZ8VH6fSFCbsYShYmaJ6fhsC863b011ATIRgLYcS4dkKUmYNP+UscH8wQ29ieO+nE3ehVpRfcUbBR2AkITXOzcha1Ctcm1rsdZcZ+PVAFrKbVW8DE6XhhPWNm0QxV3K5yOU00/J7435NUZuwq8czXf12L19h1XkeHY3EhN0VHUWlcwSJX853q6qN5enz+vNWN3L0R1G9H1oQbTeRchBkx9cPK9zqnI4ybyhJDvG5fbhQTFBbclSIvmjRt6FJdAu++lMMbv3uv5VyQW3wxF1EEXtDVQSC33MzZc/pH3b17BWlHdxupjSXZA1EzDrvDYUHoN3Ohtg7mpi6SK0Yzr5M5Ye0Jvb5dicQkHkBPHFhLcM51w6JPU1ZiAn+Y1GfSQT0Oao+/FGD6nR67yddOKiVLtnlYaMNURou1KLmfjseK3aCN6x8/v1h7jiYn+eWXg6KomQmnuX9qY7h7MByuPW+x0W5M+TfmpTIzrj4xwBBi8ZoOqFbc3JquxhsYabgGkn6AJIVRe5HsILUi34leRPJEnj4gTNj91lE4ouOrGdzmy8jxhYuCLNtS2S0FpdM5dXwCo+s1eYs/eKWBgs6vtChZW1Wp1KqaWq23TQcBY0O5RK+RSdf0u7JH+IZpw6d+dU0PzxJWhcAaoG5ozBniYiNjpZl1RkeR5G7YamcPXh6LOLvDZUcKMDxJmdOU3Wqf3GKX1Ef+s+yTYtFjocAUm7tbL0YZy8Ybk93xcGNna7S/sf9iMtzYoenO/osh3d6fsLutF08PE+6usFwGx0/+8x0JHIdYTboV7Q91ajq3n5BIocnY6kXNUEiXkGB/hchQH4Jvx3YL9/v/E5TbdgXvnNoVeQzhgMNdg98hn+PgP1ORbUpVL5Y0YroGrvBKcE+PFzjlqb/VIa/rO7V//nT6+n98AVBdZzNYIctTpp8n+LJLbnHOvlbEP3hJIKmeZYjN1nr8cYxiHpxH80FZARhp+BmKyfor6mIgXEhEjl0D/NC9Dnzv6a23UmNwIlTABQ8UOpt7gpuoMYqPK7Oyrkh1MS7Ee5gvFv/hS9d+FNjzDVULSxuhFxr5hSkMwoSiP+zjjFYavORQqkFOnGxpcmvLFYInyGeLuOMJtcxv2ACuDCBlPhvU3eesjILuLfGFIPvI0sqwAZnxLGNiAMG++K8U+WLgOOSAzBU3PR7q9X+u+WfXBmQNn763udNTO5+ndj7mqZ0PeWrn89TO5/ts59ObuPIw3QH0IBgHlEGogr6kugDxokhsjfebykIaBWc+lnZTKwRO56IYPwZ5fv36Dv4WKjXDMG4DUXOoSvDjXBV2qitn8nF7VpgmV7CK6MrKpbJglhJWkg9ePfvowFqaaRjOW5Me7rgefQtfjazWxxZxxzC4C4HQrUthc1szFp3RJohe2VkVlKH9bigzEcyZXALriosJx1nemeI3URAOFHJ1bofIFdBZ4eZMFmyT5h7zYaV2uEsc5nMX20vcxwpUUSw4e8dqm44JYMyK5eyGRp7mut9kb6xolBxUlkxZOxcFQMN9B+IzDxcCcVneZbkSoGaFPVyQZ4VZBoR9tMB7MZgzCn9n8o7QpYBk0Bsa5f7CwNb0dGa9oSqZ/vF8AJhvyAJMrBAxesPd/LO16R9rA8DvGo6w1nMDXTo/mEffdGUFgM8UL6zgwubRp8fk2c+nx8/vPPrro+Fw1GRQtT27agjbnTt6Ova2D+wXbXD3lbrYfcVWdV+xH12dGbO6VOlTO3bt0/YcBblxzTS866t9VrZ297b3t5unpeAFu1xhbZnXp69PMKvBS0Ofiw3QghHbbImniDaKUQjHGi9M5PrASOK4bxKngiZSTTfxjh7SsTcLlnG6AZ7r+O/k48wU+T9PD98c1iJpMuEppzn6uf9n4EScL0SYYD2vnsxOqy+VYKeMXaHPMCYmG4dMjGjpPu91WUFVrI6SXltCitHOBZGpNTMCddHewj7rw72dYYuEPlOD7lGgg+ZLIbAfTJ3mMVth5e437S6NqHyEgly1YPfZN2imOaWwgzIvpNuCVM7FygI40d1tJ1gHj4+CJNz75dPj9pD8aoW3oF8ltKqM7KlBayODftWjrDd0qCxSgh+mrG/etvdPrS2fWlvevtqn1pZPrS2fWls+tbZ8am35CK0towg7/scD42t7/Dp2EHuswTSJTsDb2OeFSgLUj3OBSFyTNfuxp9L9aG97f6cBKIrpy+9EGbtApQPUMYhxWhQQgtMKJlydDQr7BobYM6TCjCsIHHGQPO9QX4jyCDFPK+16ZRV08He9B3+XqkP0o3K8z85bzjDU75dxiX3cHb5MaA6n0/AbZG6ruqZ+5eIW3MUqieZ1kRDPzg/fPE/QzgLDO4RF9F0F08rMMPQfmlRFd1WwpePKuPCoumBYq1/A8ZtzEq+YkGeQ3+/SkfVz9DOzgvK8fq+L2L8kLKfa8DRJ5dJ3YIB7rnXFVIJwrlK0eOS7gDFgwM+O3gDdWCDgtj9CYUBuZ7WuUib42MgvfDojh1pXioqUkXOo6kqODj8NCZUwK7ubqREAs5BnR8+xDmB7fe/PPwX4qCAGy1a5kcfxRG4fjz9lH4/++v58QN7+1e/nqUgH5O37v7b6Zg3I0Zu/3rHn4eh81t7nMqV5J2/j0TffT+P5zavnHfXJkoflFH/nbP4pK5FqSoULrF3xauKpNHn29jMO86lIP3exNL+sBF+VCtm3ZpoTO6Nd+vtPWHtfg7gHrh8qKl9KdQnq6+qSKIPohArOkPWG8wXBeTEg56C6nHVI+ojmfCKV4PRBSxTSXIIZucSabvPgXnQqbMdbA5VLQKsGoxTLgmBmHO82VNoabg03hi82RntkuH0w2j3Yfvmfw+HBcPjgVWEj21UuC5NjlljS6OXGcB+WNDrYGR5s7X7CkrBb1+U1W1zSfGppfbZMruWn0OGhHz+4IHx6PdZywNZi16x72N6dP0wuRItKK3Wzyg4HMD4uyBcfz3P7QOp+qpdFAoIxsiEIP2jg53Hj73g6SBBcm3J3a/SpmGAfSynqHL1PsVVP3BBhAzMGTuzW9oWg0CVWtbe7u/3CY71d+uYTVvmZ1jgkrFpb3FlE0e7pkqZoo3PTVeO3hq688rIwa6Y4zS8xKXZFBOqKMuJUdf6trmpq7Zd2UNUgpHWmi6i02SQuHwp7XM6oS3AdNPt7o0vQJw5IMKly6CQksjocJwxdt5ftYHd396cff3x59OL45Mefhi/3hy+PR1tHR4cP4woh1HHlnO602e6mEUAd4i0jbvArq+vo4n107SMBET2BIj1ckJ8leUXFlBxBbDXJ+VhRtcDeD94/OuVmVo3BNTqVORXTzancHOdyvDmVo2S0s6lVuonB2ZsWMfBPMpX/8Wp7+8XGq+3d7Q7+MSRi46F82BnrX8dC1cFE9WC0V6VnVLEsmeZyTPOgzQm29BVHa5FfwwL9TAPUA/8tWKCdXAPn6sFCXbeYoOcXf61V1AF59ddzKshP1rjkOpWRiTqwZkoCBunj7vs3Y302Vv5JS/na5udtB7WxhZ+9sm/A1mwt9GFr+Z7tRneLu1q16O/1VbGd1OkpHarbvhvyEBnK8LC5PNWf3cc70lR/ZjJuXphSpRZYvRKTrmgd6AWh0BbWqC1MyPVo5iKD0j1lMrwSZ3OFRs9YCBsLcrB0BgpiXWnNQnZ65rU9qdx9sdrQVVnmPORuLNXTkJvFqvKfjjwj7N5gSmEUo82CaJjbzcTK8rHeNPKw3GTdBrtSmRk5xLZiLQBBql9yLXv6AD8OypzicHr+tr/979FhL0ir2kEHTu8mHlFBW9kXnqrvAWXK5GUp4yiVmKFJMeUG+tmJjOTUwIfujcz/JWu5FGsHZOPFdrI32tnfHg7IWk7N2gHZ2U12h7svR/vkf5u3YSvUmdbf2yPoU9pbYTw0oGbg83GwCISckKmiosqpilMrzYwtLMthyGyiu+ajuBVEdMnOlStUDZWAsM8NmeRSKmdSDoJV2K2ch+DlpJwtNBYLBW1uAOwBBUkzXyGq5gheBi6sXSoL4H4Re+veeI+lNlJsZGljXxSbWoGywpP1Dma462Bt/O2oD6YVHS0HT+/J+lvFxiz9oS+vwcuv8MXtEuxixlyyQtQos6fcEjyj6+TyVvJOXHZp+Y7PmSzqkt2PftQarXpCRpYJC4bqZQVzRc/isrKNOpCCvDo+PLMS9BCr09bZXQh/3L/mtsYcj+0H6unCi4vCdgAuH38zVBH4UvwtxjkAlPzQ06jF0ecv/vM9jVxn2HMFyLOmyLomGvwefDChrydX7TA0qCcU/DDKuxjs+8z3Xnp9vDuAhJXnQOelYo5bJ+QwyzwYk1CSA0Pp3BDjBdTNVikNNc2bwCEzpt435LoJQA1DzUqqqJHKc1yqG9V/nmlBr7G8y4BgncYZ3b7cHW09f4Aq96VTi758VtHXSSj6krlE4TxJ3eiM/Iv/fGddHShi066r44pcQ8hdZbCJhTZURMX9To7O4d3kL/4Q3FoYvFuHBiaFUsPupiy2e6KKw1KhQXNfK15Yq4sNakbkz6jK5lSxAbnhylQ0JwVNZ1xAnI9Mr/GK0VAuQAGyR/G/qjFTgkElFpmxB/XEvTVG/1Hk/9tWpenGfN3A/P29y72dryVhURbKSbR3ntS8mL1NxtaJv6h7prH6agdZX9e3Sd8wolTkDTM/nr49b8hlmOkVF9XHnrFroKOZwogg930h9Z584rdvLt6evw2YuccpMmUy+YYMaQDnWzemEchvzqCOwfpGjGoL0jdvWFsgn4zrb9O4tnvzLRrYEVxf08hual0rgmT9Fzd2LJEafVrrbvKhgu/cl5K+8pBdgWFjz69iplJCe6sQ5LFTh+4xWB9nPc5aRT0grmtzqAMefeMqms/pQpMKXhlAKUtXCTs4HQpGBRdTKMzuuh4zccOVhMTuuP9I6I6AcT0KI11cu62rMaMGGNFVGwvlPVgIDzTbhML6ynZoeLC5aLoC5P7iNvO2WVdFo2/upE+4BXFB9kCZEVVG1Phe8I++0L1jlNBu6/eK5pDMHcaMdDkwDyiyXHetUke/VJqpxFWpt0Y1yVjKM2g6ZdVRIKWauUv7fGvzpU4mtOD5qq5/354THJ8885c0imVQVjhjY07FgEwUY2OdDcgc1eFu4gk+2YG7yh+x5O5XSwTqmDu4682s7JAdigmMt6i8NLX4fi3/RW9YG1tRn50V7HJ7DThbABvMbUXnrtFAB/KdZCcZboxGWxtgk/O0Df3jKlDf2l7HFRMcym7b3H+0MeO9nV9qZ/187jxbvU/qAanGlTDVXWeYqjnvnOEV5rdZxRhVBDfPVd2uOpQAZ729rQgXUSNrV68daggqSTNQNJiCCinA23gr5dE/DiWp81zO7chOrDeLnpBn3nPKnh+Q3BrsAyveAKOCf6zjFuedGmGuhcPbc6sTrK8rRjJGczsVuKNCZ0zU+rk2TuTEtSKxGWYYMni0EnKWM6qhvAOpNPRdtzJHlkxA+1OBYZg41cnR+cA1OC2lZoRHZdR9n6OuRg7L/OGe8xORymrz8Dt0vizrGg2T0U4yakC7sg4Crg9ySwP5SSpylMsqC34b71Kqe8Q5BRizA6HX9ZXZSgqW8arApqY3RasZYMNpFNyHA7hEqL1YPq8+jtaoVdYwYp/q2iqgXy5ZMee22OdzlkqR6VrpD/XR8UamuW3bW7vN6a0q9bXu5iDVdZVXc7A6SOVc0eLe2xU0ckWTLgBWY3vk4MyvJsrtgtc1aPBeY5sQekN5Tsc99WMO8zFThpxwoQ1ryUHADV4cfr+Xw9Eiv+l74gjOL31l3AJilXVZHKaA78BlLXQQURil1+DlEzA/kUEJQoUUi4L/EdmqiMLw8X3oIXcFq+DZlaUU/OAdNWgqp1JMcK/atdtF5lp1h2F9lbgeolqJF6dLSm63YMouEI/nePhqHO18JpWvTgJV8OtLonrRjTpp43bnfnhOyXxlZRRCiwkgSJjJO7ahVl6zj18L4PV/rl3zMRX0kmYFF2sDsqZYKZVV+y7tgPc2ZwjuUGMaQUe/XFycwefbL6F/8qEcIQ7WvhTaikEHfDRXKpV7U0UzbJ9oIlqy26Fyv1LXdXX58CP/wlhmiySuJPnA5orxq00yikvBtMAkMGt7X/b3X9wOoit6+B1oDBfO4YcbfydGfmF5Lslcqjzrx8wK9u1CYj39O3bvmQUWuPOMUWtmdM380c52/2YWzMzkqgT/egOlOFUkk84Ul9AC8uTonIySvWTo6qx643xa8QxqeMxpaCyUHdQDrF0EyxkTB4vKbh2LW5oaGcKgsBXV7xVTC2syrjWuAOSkBgNN8jA7XJKVirkeWCyllWMKod2s733fqK0K6/WtInwTVxDWBc0XJGOGQffmhJC3jYF8RfyCiqzRF5gLAHIrGSbDjuX+88nFgJy9Pbf/vrf/yPOL/j1fcRnd9dfcFcsJDhpLoG3WGFZ1UWd+wgb2tMqgGttleZsXOkR1edggYgnGP391hC9sXIC3Cc9IQo5kUVLlPblFDDINg0atqUg82/q6JvGwblRv2s9YXrrddrsM0yhG4w5ahBRcg7Y1hRLnac6ZMD0NP3hBp2xzypcuEOdxDI201coyXt654esWb/GB7zAhn0k6zuW00eStBbsupdDsi4tCnHZZWRgD+f0Kw7twcrs09Lj50uLQQftp8tAB/bWZowPj8bhjtIWPyB7dqD38EX/5FAbZ4IZhVGjmqx6HKzrkYmOlnriSz29h3jw3rv1Ub3jJzrAZHrlaRzrAddsl1ggc5XVTAMPUhLoEUGdKnTa+vDuHIwwQ53H42h6KpVJlhIupYhrj4xn+2ZyXNFwPUKISrUK8ZqfC93lW7Z7aRMkKil/nktrDkVslTj0Po9bH5GM4JmGsGRUZ3NbQ0FQzlUIERe3UvY76nhuT+la4YZgaBQicH0szoaXCxp+6pILYFT3HMx3DkTj89KCiJ9J5eTOT5pyuygkQSARnwZiCesdqF9+gJ17M716t6vou8S6XG643LCo5FDAaEFkZ94ciWfEHeEZS8Fh5MAQt+q6G3IvLco2VuUVrfJ0et5HVIO8aW+dvXp91zgkhp8c9Em7pgk0r9KeexnvBbqeIbhsCM7sH/jqDcxrzqVfu4x1pB8edjIDQk933mCxYOqOC64JEjSehHrWFPsqNZvbXOgvBMrp6t+7NROhM58b1vBJb0vluvmH+yJfWvALA9v5hojGLRBdk95AraP8PjyV/uWosxL9VdwOR7m4Qm/Bja7PmCq0aYRfBsnj8v4SW0OPKEEXdRaRvHf0X8Dxz4W4orUGL6HtArgMUK37cksOt8sntpgwWsVDIttE2u2CQI9KKCwoH866uDUt1a6iPeORBJXOqxfq6gZ63mKNCA3wDkknYF099d/be3ryhajOX081JJaC2tU78gVqCc8T12h/1Rj24Q+yqQmi034Z2s3SHm2bzPcSUcxpphyA3lAKLqbKGBLthCmKbTat0Gkhj4dqcTSXk9iB5wyB4OQ/nw82bSYa7ggdoYd+uFe6FrMATVFYmPlXhTFvu44Eh0NcHFYdzPNL+p+fRss+hPT7uJLKeqzlV4mpArphS9j8c/ql1B5pfdUkAOug2t9WeaLWCfb1oBqm7iZxEh56O2KYIda26B3AFzCY+WPEoaU61D63kghvuPX9hBtARfB91klbayKI/Vk+qqa+bjBX/k7GURhtFy+RH/1cDWegChJ4USc7FMpLUCvAawR0M2VF8VbW4gra7n/MmmSM7iDvExTtvZOwwbB2Z1mp3tm5dyipTI9pk8FirC9/X/QlNo9WjZYshn9x3ro2ZOwbtwo1ravC9erL+V+y4wBaCSOo5Y4F0kn/RG9qL9EqkK6yP1EG5m861fJ3JrIPle2iH+1pHzYXQlcgDzwoaPncLW8E0RNLD1bTPQvAh3PETYRux0CrRZc4NJpcaUpWWuYemlSVVphHSh2HkClp/oTZw5Yb1N4KIvDjgnAq7e1B5MIMRa3OxJlw3yiCm08Yy/GIHnQUlLsI9jAntUWhudYIF0VY2YDOy1BlQFEvtYJQZE6kEbUUqItgceI5Vzgt5w5okD42eq7INcttB1ThjUHGTZbArmUwvXZClFVEZ13Scs4xoaTGfUhCZYwbXMnGs/dgH3oLnyzFvxYziLJQaurpENtFz4s5ZSUYvyXD/YGvvYDTEjCYIP3u9ILWK06kNGnKoQe4ucRolVM+67cw58R26KsfKycA3zQ5KHaoDBTcxk7vh1A0Twj81Y+TdT0ea7O5s7dgt3B7t7SQ98CcTmvKcm0WyCl/XerRCV6qT+Ak7+lo7ECus7zBNpULNWUarsrRjlzWIC4PWvg8qvBglY2bmjAkyDEPad7e2u0SxtX0njlYo8yJMWdVzA122SyOrtQ4g5hd9aykVl2q5qoEP2+rWNvt5ugT9iVvM6iG5JvvkLzVy/jNov0mT54TKs/Z9hXydfSxZ6iI5Ait21BMIBWYevRz1tLfZ3u1DawDg4cfo3hMTtP6lT0zDFnSKElQUht5TEcOIzZ+6REl74prTAJba3tTT4/Png9jSsaZKB3h3MqfSIt4Z+v7Hq+RO0K3hBGLDG04WWG24SE1kn1kDykoBWaIlE7WOTmWJzqSWsdQLSmfLe3lC2PBV68FfmxjChM2ktKWIABzot1BAZCh/xc2PoOjs+4mze4MbFF30sTPxTfTVPXWBvIO/WcwEbxqKohJODUOXkryBBvVWZaR15RSCyhiOExcj0Q0/nXvik0qf+NF9eJsblmotU16/aHXXmzoVYKmLhdpyX9VxOUQLZspvmMCClfGszrdTKmlkKnPnPvBGvxpzo6jiEeFgF2YrhTF4QUw16sYFNHNj6oanTA9AEaW5ljDZAg2A+mF9vSgjNw9Pfx9YycXGUl4PiJlbXU45YOaNHCMuiOamcto59nLGTDORRSEi0GALYKmrbVoplIXqmlh1M9jMmxnThpyeYcctPYArJj2Iw07mXLFQnjSSqZ8RTAWlwrGMSVqFa5swtsYLNLJ26q91LHM6OTrvaTFHedEgrZ4wgo5V+ZAQgnWMIcDYAWwyyZTCHRlLe24gbt5uS5PPXiGCMa7hCpSIK4tsay9zKcL3ikFmlhiQK39Y3U+oqvB6J3RV9Eikvf0GAhwHMYvLld1FRR1BvaNfQNkKvzhyeoaXtY6aqCZzlueOyYX1+ONX14Fo8r+oiQMxUuYbdCqkNlbyGSoyqoDGfNv1MOwkbybZ9XfwjCrUWwLJ+XRmNgPyNni2YYVMj9J3MHv7n/rNzi//+frn3df/vbk/O1X/OPs93fntb38M/9rYikAaK/ByrB37wb309+zaKDqZ8DT5IN75ev4sI7VVffBBkA8BOR/IX/z1+gdByF/c/Tr+zcVYViLDD7Iy0SfuOmK6lz76T/HI5C+kEkDcH8QHgQ3naVnawwwSQ/vrCCvVnJVTSMGNhFASd+s+iIfsuaeoWRqUQdIESsRYrNxwNh+4enXBO6DJhzW/4LV4aKnIhzW3+rXkTng9qqUiJVO8YIapDvzx2H4pd8PfALy9rWGiBj56F4fbtDYgH9bCpsGnsGlrbrV+2yJEJB9E7RFtvOL8NVbewawBIgJTQPNerEvGNXpOY0ihUwsWj2lpOd7SMnMJW6hBr3ChF2GSBB21Vrg2hkUw65WEyRszukPRM5ev0REP6kfzDrwIiIs6qzLKoYxidu23p+dnmkgVD/n3szdBNIcMz2St6ygFXDbYyESqOVUZyy4/p8pH3TgSbw4jv3n0k3Oblkp+7MbwjV5uJaNklDQvAjgVdLW10k8P3xySMy8s3qAh/yxuxWxhSKSabqKeZlUGvenFywYC1/0i+TgzRf68tjnOnVgB9SV3pef9W9ptPs35VDiBBgrwG2Z+yuUcKF/DXy5BJIyby6m/c/LB4H1r6jYmaiJaiKVQfLuT0ZkoCYwUhyHQLHMS2KV6W8r36shNToV7OHb21mcLorgEU4Wls7+/OnyDFPb7Bhcbv+MXhmLwAtfElUFNyGFu1cMoCQ3h8TfedtqEo18Y/nZX4wB7BFMrysDqErXuauHQTGQuJAN4AGxa8N/vD7eS0e+EiZSWusqdhm0thlYcVsvc/Y2x6wH5lSumZ1RdJ88Dwu8LEbILSNzqVnRiAOfdQKFG0FjndC8dAxStYIUej7fOfMfF3BYSdOtyHhi4teo8UTREsfwCFsuFpDBnOtSF2Pyhay/nZ8gw+JVPeAPskqbXzDzA4Okzbtwgn2TeuHd7DJz6lx4Tx/9Y28LO2Ok3craa0a+eJa9Ar15/9cKzydo+Qc7DPiZgPQxIDuz6XzS1VnsItArehG/PSg65jiEvwEO9ChSeu7PqNzvSENBDAgn0NIu01//CeeJjSLwGXGM4pwsr+ausHBCTlgPCy5u9DZ4W5YAwkybPvz3Mm7SF+BWVFXGhxm/PT8lrmbEcDYx5XP7Dk/Uri8XE4m4HMRh5pErN0gEpeQEI/fbQaYFu4PPPLEe/BwkaAjrcKPC084i/jb+7q7R3FL/cru8Nnn6ae14ysNRSoZ9fqh5HcsbAxKqbgxqWmoEfH2O7MFD23hE3mmq8cwFYOVcwo3iqm22PQqmdEDTmK3rjoJAdCoUY3FLB8gz1bTrJLEYSVYnlEUC0nBg7XeKrSLYrjPsbGj0gczYGIw9Mdi6MqqBQUsgy3SwVrBfG9dUOvT5c+zh+8CfYKshu2BikaEaIaMilBgOgM7TF6uHZ65C/80PNdgJ9RncYFFNeb7nCcHLD5w/wCaEipDMB1nGdOtCF9mHTSBu6Vv7vwDeswo2KkVGKpwl57aKMfq9YhQOTk4tXUKAeGtfq4O4slUwZ+lIccYVhQisFxdDpUndi9vjQLsH3AfcuLE4T+TQT0p/pxOXhzCTabHXKCdx0RHkVaK5bNECJncD2LffDjf9Dima9EiMJBmryycIn/Hi3JiHnmD5DVdHwt9XyxF11tA24ViKNvwrDfBprl9+ST0Pa1eYcJMuyeVxAElCSPOXVPNg86+Dwu0+06az4z5l501nQn1lhi5fwJ9fbOouyTHhVDhDHhv9wVTj9pUTwyN2xOhIV8WxV/IwvHKliEC/phIUf2fUbOnWXGANy4jz7tRg6fv3bgPzybkBesal9wtqRbYyeYW93HGb5Fr1PjTOeGmc8HKTeDX1qnPHUOOOpccb31zij3TejKdTrC5dHNNx8MYXVW25+pj+v6eZGe7LdyOfUROgg8bs33rpL/rNbb35Ff2bzrbGG78Z+86v6ggYcF6ks4pCKTzPg6ioRFEdtGm+JZ1cd4w2MtjDqPcbb8evflkblp8VX1fFTdX2xfkG+moZKrw+PbgegMf8qVfGjOlO+i4SwWXVELzwI3ngXqh7H6oc3G5H5vhBYFHlXi7tJHdMTrh3CVQDFDFeW1+WlMO1WqikV/A9UnBsRDkLGyf8Q/chYxrK4BYeDK2cTQ1hRmkVPvPAlBNOd/9zYiKeWTe6Hb62Nz1PLpqeWTU8tm55aNrn/PbVs+hO1bCqVzKr0ESvrdrLy3Qy3KDktEPXWcNiATzPFab7aWHnv5nGTOSdOUwtdWWurWbNWbW0CzBg6SiFMBiyHiZJFM1BSuYaqpFTMe3R9DH490qJkOumrZuWzJNRVfXqvvCIIpa0yDf8p4T+glMEfMs8ZFMBCV5P9q45E6UkFbjha6nqsUR7mYyL17zDwcgR3viioMC3nZe/5fZwe/35TItlZ1/ep1Wp414eEtb+/J1M6HseH/zCheDpDgkKeG7edCenLqSxKKryCbS0G8K83iLGVyxynTutQkNZaHZBUTpWiYgpBXBOeG+a8/9DZw9sTUCMGeLaAB71NEsCo1/OQEoZfod1S0zIiK7Miv55WGNOW1+xrydcg2yCmzkFM3UO6F6ggOPrxlUX6ybStBC1fnvdPaUA+WY8tHN1uPf6JTcfvhUM8st34JzYanyzGJ4txqZyGb91cjDPnfKlHJ+XPoq/uFO61bni7bAddUBuaY/1CDM33s3r4Tk1dwRH4aLuJIg7lXxuEC3JkRJGA0fyPeFSoQROGdoDgmC5Kvh4Lm+6pEC3zgAYBKp1xw1JTqVUxB7cnjak6u/txf+9yr5kXNK54nl2ulhrXD92Z6d01YEMWinqbJi5X2pFFfZw9VYRvokrtIWXccjNuyPkvhxjdJDBFhUHdCT9ET32Yyc7kBdt/mWV7o/Hw5f7+eLTF2HA4HL/cf7m3t7/34sVomGbLHvB0xtJrXa1Khh254TvI8isE++SGqVCstJs1vz/e3nqZ0Zf7L7fZ9s7w5cv0RbZPs910/DJ9udP0yUSTr2hFx82oNCiv0OQCAfK3JROhLJuSU0ULcJbkVEwru3YjHUlpiO7YVCzndJyzTTaZ8JTX+SikzgZq2pGIzkudypXJ81ORwdaIKZnJebxgKFsadtQF51aaqQ0IhRuQaS7HNO/gBb/uWwhbxi7OqOnvX2UZH5QI6IWvibmcp0zolelAr3B41xkBa0W0MecPe7NTL6FWSXBdXx1OUZPAEWPTXsmCnJ8d/4P46V5xbbCcWKRbaM3HOasrbOgy+wjVNdyQevN5l88cljSdsTDwVjJcoUXQKyKiKWrKkU0FfHVNIM6omUWF2fy+8Q5BxQ0VKq02gfQ3j1ieU7U5lZujZLSVvGy3uYMKjOmqUPiLLCzI6NsKk5H3716FG3SvwYCeynWtkvC6UvXtRWhD1S1peZklpmXljVVsllj1gwrUeoppdIbrypGtre3RFzOCLpzjvKsLQASEswO8vhmTGDYaWZRs4NunmBltPlJQQesmAsQVNPBpogdElcWAZOX1dEDGis0HRNgvpqwYEFHB1/+iqnvmVVl8G3aB39DmLHHLsq3kZaz8N/X+E/ILNJz7FM3/V7T3yJlUxpI+OfnI0gr/fHZ28jyU8/6m1Oqjs/eNaYihaspMcP5Cf4KOmr23s7SW2HC+ryTiERrg4jSN6xHsa+MbABNq4CmeM2hZ03XUQAFPOTHkSKpSqmYy+T3LXL32GJaaddXIB670jMYZIPeszI69YvMpLK1lHz1wWXvJdvJybzhMRi92RrvLro8X5YzqlXWEqitkghFTQCFMLHF5duK6hxwKDwXZ2IAuV/AYieAi9hcXZOZLGky4mDJVKi4MGXMBZfcgf5zQiWEKeiZadKEtKpXrnJXKjG3EPZiIq/fjzVaNTSFkmlZKWe0clVAsIZLO4OYLimgaRYPZC9Cjx+zeipvz+TyZcMXYAhv5jnM53cQ+xxuKYQedza3haGdzONo0iqbXXEw3CppbvWMDkbNhJ+RimsxMkXcF0jDd2x9upzvs5dbWyP6RpXT35d42pdn2XpYt3fzTd9K4hGOw6thti8jP4WDnZ4enby6Sk3+cLLu+1UZKhEX1hUs8cHFrgT9/+Hh44qUt/N2+lFu7e/XR2lOfIeIVgOiruy+kl/L8+Sn6r5PtcQ5XytA9CAqCuroPzUamUF/bD0d4thmRYtTKLXR5gZvHKz99ybMrIieGCaINXWjvY8apCDea5RNCRdhdu6qSI5uxD6Ld7cuUwjUWglv7iZfTZ6arSplZP1SKLlyZRkASVVOoMaQHdtHKBD+7XRAda5lXhvlmfTUrnDHCguIWsbLX2JAf7/sRM6WSVmuC1CRu+E0jA6rLk9b/uQZ23piLTa1nawOytpHbfyvNlP3vaJjY/xvtrf3Pegdvl5B1+jADqOVZYGJqgijytGHHhoCGRX9znlro+IBrX87JVb21K7afxlV6zQyhguYLzTWRgszkPAxZWPUs7AmZW/s4HH4jcY+iI0Neg9QILxSI/6h1EXfuJVQYdKVLnnJZ6VCnvrsFD1BbM3ap+VRQ8DOzj1zfW1xvLGXOqOjD/Y/4U9wNjE+gAbCbIa6H2aEboyq2/omQYy/plR26+/zeKVMGHbS+rXVPCkBEW763aaoWpZFTRcsZT7HZoK5PbzzqDc15FmfvQs/TShs/n1VCbhipRF0kyHVQ8q/Wr/h89Xr8MOycalIJcHqznpaYJ+/evX13+f7Nxbv35xcnx5fv3r69+NQtqyB3c1U5r+c4fEMWQ1QCNDZQj2oWtVYGSF7KU3vHWVo/N1Ix7SoC1hvds3lWW+VxNsff7Y6jqlC/ftt7nuVYtQRqPVldmIqs2fSzcTvb02V/ARXrfXlpy5lYvsDLE/SnIZV2pcXnnHqg7M9Ecz/PgqA5PuWG5k3uhTcxVpGbUi60aUhUME8WWP280XOx92zSxl7cc/AeiqeioCK7XLLn5teJS+npKezgxi6fQEogL12/RScz22FHXskJc8WdiWslB4ma5nktbdv9Yjti+DPUoFgHIhvQ80GRoPosu5EYw7nC1ha3x0O2lXpUtptZ1shUULy51th1RiQGi8LtHpZB1XEUcy3IJmQOWXGN+BO4WIDaFB4QDLyCw/P+/enxwFpBhRTemCE/vz891oNYPtKobUdhj59dar4IHTSw6UIoUweXzN1VH0mhjapSYKfU2Qj5wg0XYw7S/CwJS0FKZZlgCleYBTd8GgvZs9NjolilWaNTSN3aw9eBnEAzOVwetEWyJuOAUGhJ0A61Jb7AgMWe1KaH2aZb6c7ubvZy8vLl9ovdpa/A6zP0zfKS5WPcDlsmUUzrDZPojvPcwg43PcVEHt76zg6EKkrTdqmLqmBnGGYNkagkY2/95agZ5Niq206ohaSDejJ/3rGpFhZ7j30G9n/AhXsuQUfbL5YlInsUkyLbXREje328i1N0J9UzOlrRrOe/HI7umHZrd291E2/t7t0x9e5oa3VT7462eqb+ToJg171AwfDlhoZg+a8mqQvQwYgVZ2EoonnB875rwzbHKKmyx/bJTfQwN9Eyft4as0+OpC/pSHKI//P6k/oX8ORW+vbdSrfs3PfjXepf4JOTaVVOpn58P/ma7kPXk8vpu3A5uf188jw9eZ6+uufJ0+K374BajY/pISh68kItj60v6ox6IFhfzl31cMC+oEPr4cB9QZfX8sB9006xL+T3Wh5bJUu+g2DwejH/JmHh9YK/3wDxeo3fe6h4vdKnoPGnoPFl6OS7Dx8PK/13DCTv4mG6lFfgQSmKp7Ux69YLMdbRFRbTDTNqzOz41nh9qEpWtqG/q3/0EsmVIVq9WzRoa2frocB1oHuM9E87tMfcOin7QR09EFQwx5aA9dZ09BnDWhzxtjrnW/c2Z2s42tsY7m5sbV8M9w+GuwfbO8n+7vZvD/VTAi/Nlivp/yAsX8DA5PT4McjAQblCVurA7a3RhbNvLN1owAPNzZ/FQxOMHYC55buwtAjfD9B9h9ZPqKtOdaBWzCs+ogIL0IwZyfgEssnNQRgyqt5OKBkrOddQr9QAC+bGAeH9RNCqlk4ZARVDmByrG0WO+mX3oyot5A+j86bdy1IpsibfDQ18q7JbdWh766Fa5lwqq8FcYt99qR7RVlol/VgycaCTAHo7VKCNns2ZLNgmzXnKlsbS92EQ//tYwt+1CfxvYPs+Gb3kyei9m0C+e2v3397M/Rbt2wDcl7dew9Rf2zYNNZK+IcszaJRf0a5swfAtWI0BpG/aJvyEqPA/n8Ho8fP1zEEPwZ/H2FueMB7BEqyr3k25Ng4rrlTHu/i722t1/IS1NrC2BiiDvk6XH8DXkpZCL1+ZC+p4QbW4VanDb50yhTXpyFxxY5irBDKmmu3tECZSmUGR47A5P0kVFqi6C6xr/Z4z83erg558hFC8d2z6t4qphftu0Aw/hWofukQal3UkGbQSx+iyq7y8tN9dJSH+Wvrul+PKeL2lHnPMjFe9b5iiY55zswBY6tiYOlLTnvx3Jz9f/nj65vDdf+PKWebV6I5S+9vffqwOj4aHf//bjxeHh4eH8Bn/99dllR3YYpQ+90Xqf1qbRAxQxbqjdnuhmjXM57rb1Nt6FhBBNbE8ErJY+t6EfXF75AkgAbLQ0HI5DOmeD0QCU5JnFsnnvw0A2Sf/ODt8c3x5/ttzpIc4ainAwE1teUnBfN1tnJL9XjGRYi9KNyEQsB399ftXF6cwF4zth8vzuL75DVVQ15bkkHOCw4qqYIqnsNaaou2Yx7++fXeMBH3y8+Xf7KcG6BH1RcQVEgAylvKC5kQxlzuBBuEzlkzJ1dpo7aonxmr9n2tHBx+UoR8Uyy6NKT+MufhQLGhZJuwje0CODhDciloynRsqMqqy5n6jQHVcxEdM6/YKkSSWXcWM36xiAYfjsWI32KEHrCLvgrPzdcTIL//16vWyAF+zxQrg/YXfsA0skXTjwh3lxI7UlXnnb3+6+PXw3cmH2mLzLPzNxYcj1F3+jj6fD6eFVWh+4qG+pCVQ7DOsP8y5sIBaulvapOsUwn2U5UMEuR07DhC3WzWww8EJBd7dt3EfPhsh4Zj3IObDMRtX07oG6v0FSyM4HxNFbyLbHubwMr7buHgpiGtlCbhaU1eqv7qzrFlI1tPMWBFeMCoMeNBoagU0NYyU/EZi4LWSlcgIJSVnqV2Khw9qnLoPEMsPD2hs7VynczknnbZKMiTCiAUpc2qfxBZaJ0fnLoSWXMQguKHR/QU95JAXFANswVVLJzmBJAOYwrXzQNnIVaTU1PYlLp4LcuWwmFyFlRxaBpkqZkLAvMVQ3PLZ+/+89xEqeM+kNoPQqm3go+9rijAuWnhA0pwzYQbEP2pPicCO24nvapdd8jIhpxPsQ1aWzOVRnJ55vm1kDT0vrwZYXg7rAAuHNMAYdY2WT8+IUfyG0zxfDIiQpKCgmsXVwLmBySh4OceLOnUzmupg9HIrGSZbyWj36gFF4VboUz7Mc5QRVM+YRjKQwiJEecJymhXmr3jyh74rNRepNJqXkF1a48+NGsr4cUE0N5XzDGMF8IWs1pUlBV0pBkkVtb3lACM0n0rFzayw9PQMc7+YYhMJb1iCsiwThF4A4PnSsR2Qd7BC/Nrx7Uy69pvbr6IkjH7En7TbdkfPo8hg5Ke/Hb/RA5LJgnLszGbPmFTX2tTN2vQAEktyTnVdu/vBHd57cdLf5d2u2vHt07PexTW9C3plPT49fUM+E27CbdDcLzYqtxleZvjPdwgM+4yvZhnaqUc5fODocVkzmMwjFnULz9Amk06tHWQBcBmMPq2I0JwpE1GWkFhPGxZWG0i+frmdIkpxcqPhdYxX99EyigB3xHbgWa0HKiu4hms2qxcrmYcmWnrgH7WAAbGfHp9vnp6d1z+ExvMDMmdjP2SJKZ7YwjI8UKncJbfpAWEiA6uaZMywFNOehVXbraTSjDw7OX733DU9CqlVzKQPqcJZmVm7RemjkeQb6D0Rt4yE41lqVmVSLEI7FwQCTi78ZRmmJKli1ET9cMJeecoKlAHMukHfsUV2bqjaeCVV9gDzy3UYW9VN/GHdwgwpAHU+NxQu0GXpuf6kKHY8CgJOrOipicNn+/Wj4tAYVpTWZjqNFK9XjF4vbZSu/NL+Agzvzn09bLvbbo+H/kX+mMv0mij2e8W0AQWvrMY5T8nxm3PM0fvl4uLsnGySi1fnkDoqU5kv3chsZYmeh7jG02NkU1z7/MU5NzNXoRfa8yDnRDYZqZK128Wzx17CeRDBjIZLBzuutg9ObB3lt7TEuZ0zBNRg1py1ZGjG7mhL4prW+GY1Syx/pXdJrHHzC+sED57PgV/uXLx6e/Rfl8dvzi/tIbi8eHW+7NpW3WVm/V2js4yRoengrRU/4r0Ou9srDcKvFo12eKugo0x1flHs0b2+rkkm06rOnG7OlmC/RmrW12t6EtLUVDSwNkEaXVlRknNxDevBUA7fyg9uoRAFY29q1ELONXwBZafrYPSxIEwkc37NS5ZxCk2Y7KfNT9peq2mxVQUxvGlRrmZmQEr5/7H39k2N5Ejj4P/7KRRMxDXsmcI2730x9wQN9Ay3dDfPQM88z7OzC3KVbGsoS56SCuO5uIj7Gvf17pP8QpmSSvVisA3uZnrY2N1oXFUpZSqVykzlS8rjaQs1E9QI8H7bnbrGeoKdvdDZjym3I1a0tg/9atbneX1hRf71e9Sy5qVTnr8Q2Q/uGJn5yAhPIzgSVHEmoC0UHAacqbmOg7LArB8LnXYb/zcv7VYbCncVNFXeIhm746qqOvSYwRp4B5wdtppUHbXoEZx8bAVQODSRLotfHjCSjux7ZpET1ucCb3Hwggb8T+aZINQbD7EUwi5P3yvqaPKQjA1oBt5UxcA8Ua3gfVz/Hsf7VpSn/VRO4JotSwqL6b3MyNXxhYWKfWaVnybOLWb8rojK4YJrTlNy+d8foZsU0+tqwz60QA3AYi54V4O86JWu6khWQKbTGj3+VkgBRxcIvqMWODgWrR1EaKxzrABhW2Rqlo3Imoe3ZuQHnGoBWDcLUZm4ioC/7GNrJVrhzVzX1OKwsBBtH1pqi1KoyhAhHtYDclkaAO1nwMJCDOrUgBH6Wy6QKeC+Cp2F9usmYAVphdQ1kH0QwWYZMcKxalIfI/gth0L5Sgy9XjRJiGIjKjSP8fboHs5YKgi7x/DHVkmocwWesn6emtfuuEHXdXQGu90gyjJop1G40py7M/Nj9I3h7GAKFKHuIEF/p72pVJqnKWHofcMaNthU09jUge8VCNbnQRtJOh5ncpxxqlk6XcS4RmfwqhQn4Ho8+uzCeO8z4OAFzKjHB7nMVTpFboZvvJSHa1bl89dTrqBP8dlFi1DnbgMPcS74PVHS8ElEyH8XlKXphE4V+tvLRzaduDk5vr+J7A+2n3dZRxNGiypulpPc1cECT3bExzdmKjcRTuumRRI2ZuC0J9LqDESKwJFojtNKhA9VkciNkjDHuswK8rFleRAOoSl0SS5apNBcSyFHMldWFCDdi5/9BF0LeQS0fnT5caNWCAcClGk8LDxNSEqMEGUNJ/RuZ++winPohnnZBRfmDyv6FODUHG73g5SDlJHz8+MSPRqideaJEA0/K9dghLgcKN4CHXgCeW9ZAkV0fakOyh2qkbEfmdlSl/44G4RfdkoPmIxirqerKgN4zPW0eXU+SKEzVmniC9ORQnPBxMpKE34slSS0g9Xm91FmekiOIMKENkwyFzqbXnMlG4oKPQ/pcAhydvkJMhBqMzw+mjmtVa2mnVLjgh5TQZM6pVwT+UemM2DyGozzpnHPpRhwnSd4XqdUwx91h+//TdZSKdbeks397Wivs3Ow3W6RtZTqtbdkZzfabe8edg7I//OmNskVOnHefFYs23TnccXBSX2P/Rah6HJALUz2ySCjIk9pFhYf1UM2JTHUXjNqZ6kUmj03ddlpxDPUqGIm8GIBUghSieFTPZYVZaucalucUDi9lIyHU8XNP9Cx2CKx29ZhcNpHqQ2dzIuogYPCag6+ERyQAyYdtnXvRk8qLcVmEtfWJmMDLsUqd9pPMMJDG23zP49nzWtFW83OqXGn/WfOeqxMqOo1Zm0OzVeYRdSCb+uMZ8X62cXdjtG3zi7u9jbKZ8aIxitA+MPRcfNcqjXUdfSEO9s3V8Z2tNYUJJeE2n+PGqb9eHTljWpbaI1bdavYiJKMM35HNSMnH/5nI1BkyxsATLRU0oT0aEpFDFswuPOTGclkbnZmRVM1eI7lXEkcCyVLhASAlLmXSwI0SxdQ1WodoJleTjGrZPXUluGJGUWW7LNYHEMzWcaS6yaV8Bk7jEPY5GDIlA4GdTTCsVuAyHjMEj/lvOc0Sb/k74uEjFYQcgzgrBnZlxlZ60sZ2feiWI7WCFdkLfyhWr4bL0dtIFXCsKgilFhjMVfGULItMcF0TfmtTVnCiz+V9/v83kOEd9aHWo/fbm3hK/iGMZA2InKFoUxaotV/z0fey9ybEsVH43RKNL0t1hVN3ZQqTfREkpT2WKrQqhZSQ4gKFhE12F+dnygfpbwWyyi/XasfhAE1Slzhyb5KbvCDANN7JaWfm938e05TrCIbBOK4sIlAaSjCYjAUhd3HbIzKDQRJwGd4h1dmFcvuESFnglAyppnmgR+M1GYAwsMWiDb/s89taIXXpEDlyVObJhpTUTjCSJmvWgEFbD9XVUeox1I5aWbz5j1R3jchbdcmk0nEqNLRaGohIGPgzqBKr0Ue4pkthY1QhrSoM4u4Yni9G6aIiF9Tea8bqbzXKW2+VomJi+mVKpO6rrYFjLUW7jkhic4oT82WGbOMy4ZC2QYBz2yP3BRoOb4GNL6A1GP9PoPq6GZUyygW+3V2dX6y0cK7vFshJ8I5cUvTIla4tJyfHISAYVnHK8EmieoCsjquBxvktplVAj74c0tGkIqzhGKxEvOJR/i9xDe5Ylm0WpYJPQZFCpuPuAsuH4nszzoWqSDnJ0cXRmQdIcYnHlTIK2/q2LER5emKkDPmKYEBnPpdD1uMjPR85kT+r+Y4NAi/UcWBAAbwAxEhaY9lmpxyoTSzLFaiDdwDfDUGxKvglXMgIrmya/DZpe7tVbe9CQeP+ZYLwGxgVJznCt054UrgYPVJrLI6iqUUyB2IGtcy6BkfxsxgaD8KKEGokGI64n8EQZVIQv/nZ2yTw/vkBrCAXvGZ/cNgd+OVgViKPq5VNU5HJA36lTEDm5jq0UINz8NKdrVgyPokns9/89Uk2uXQWJTCVptO5YCLOtKBSKMg0uqkyGS6sjxm328NGBJGch5PKDRh5zszkveW96ig1zQZcbHWImsZAy1aDK6hHdpj4b1h8IarLhZEb7ifHkyKYu7rWiyADp9hNDN4HIoQxYRqamc4oYrEMk1ZDMU07K9XQ6Y8YEgjmcqc9LlIcFP5LZ7KgbJ72zeicGNDOh2GwyxwVc3GQzZiGU1X2Mvk1I1R25hc+emv8z6kDmNXtI1aK68Etgl4ljCqQLl+GxmD4iQKm5ncWIAgwhLJlNE766rkAd3p77bb/RIxViKTGlq5+BAlITCIB2fsbDxHEq6guk/GVSC4ZR+T5IRMmPXol1AuLtF9hQ1gGFDAE1bvkeatvVoflnAyNqN/RG+ZIlyTsVSK97DMhufPwqQwfGoYcsR0xmPkWUgMr3BtOdXMbBgw/OM8pRnM14NkI65d36FqkOdHqW1kB8ecOMFsG0DGig8U7svSNMAnIUtkLyzjIIYEUzNQFaGa3Jjv7Llojkn401AfFEXaYAwn2/tsl/X6rE3ZXrxzuN9Neuyw3+7s79DO3vZ+r3fQ3dnv75X4cUXXCyWN0jEbht4E0gmoVYmkFQ0fQq8SuzNBvkNCoeUXmqZygsufcKUz3svD1A4Lw+boZDlkLXm/BmStlXUc9Lu4gCilKRQWAL91sUOEd9cE0z/DX2OqAINTY53y2GbylXaRU3dCDwg6jHOlffQICYz7d4xq1QQETWR7LEETorGvfuJfNQt5UyhmmH3aNxsDfWxBC6cGJ0uIx6bdbmUmkglb6R2n4ybqWQKGrMiZgBP0RKIs8qxkILiPnVR0ar95Bts0iPkOKwNBOQCIs8F0yVawCA51LxaLK8qeazzlgdrjxM/MpcY6aPPxUkUkB1Ooc1RlAuZdXPMgALjMqJYHIzMFM7xLMS3tZMmUePOm0C+hPqENeABvLCDnR2tVvLMyc5O0CYVhJcVCj5Wwo7kY5FwN/aoVmxK2tDkvSD4uHfX2nJPKTJWE5oKtD2PpIphy909eJBTgK1KozDWFgHHcs0E2USp4GlukRlRg1KhiDWqCG2+zbf/TKUtoFaSiP2uwBdY3QPgVXMt2zIpqhYDK65ISFj4n4MNK/U005hv02ZKe4E/oQDF3mASDnLoFOusjEJl5GDRjldlVd+gM0TtxmtNNSarePCJ1S8vRGPL+PCvyc7niq1sQHzdbsi3qq1LIYC1JKuWtMcGoTZVlGjuKVmyLoMisl+51amxH3WgntLMgvLZkZhW/PGBl4VvODnL5w7VYa6IY3B+hFHPh1DbWeAsvjqMmy8owRhD8bBiDluOxW/beOcyggDhbKxDDS12cVWkSYWx6UfsiRCoI8H4ktDu8l7fx3QVOsyKYg1FiKRRPsFfmkIGKBE08g+JaGL77N3+kYuwzeERFGW81a0BHhjIxHa+HofpngY2P9ysetrOMYhrmftrYdphvkWNB0H2AxRma33NU8FhiXpYn98sM5Lb0fQ3kfg3kfg3kfiGB3LgnXbHDQux9xWhunNJrNPdrNPfzTOk1mnt+mr1Gc79Gc/+ZornxrHgZ0dwwlxVHc1uEH4lipqk1GYqtKH2Ac2Mkc5AVbGwaMIrF4MVHds8kR/REerzAyO75NbUvGN7dwPNfPbw71B9fw7tfw7tfw7tfw7tfw7tfw7tfw7tfw7ufbRKv4d3PwoCv4d2v4d2v4d2v4d2v4d0P0qzU3w9Rt2EHV8Uvs8MO1mx3MLPZUqoU709dvCiFvgpQfZzGscSSe1DYE8cimt5LIUfTX+0Mf/VKjkH4w9nVT6fk6Orqfzv+B/Tc7Gd0xKCTw6+iFplg9rTBtzSTArCdB160e6uFZ77MOfp0zk4uW+TjD+9/aUFB8A0XSkZJLEcjI2vtlKMCNETsAEKRprHmcfR3mJFv/BGWch/ywdBqt75sp3RmmoFRwMUZ/brGR2Ma61/XNqLSUCwewn6O/h6SoTYo3AkXQG+5AHcFKKs0HkLZTF83G3zfGiNgcJwWLFgcy9E45QpDPQeSpji7Au6va0HVdWGEnzG4MOTFTB37o84TNOBX+QscU5YP/ZBFt+M8w/bFrt44Xrg4vipp8rjo8Nwvio9Rh73oqRmR934oC4uXLoWIM1t8j1oIgIVKo2Lga9YTZmwcbGamCRcDpjQIC3QcMp1JNUbjIfARaDoYIHquUGFFmIQ7rmyAIl+vTMlZM4zN0Y+G1CzxpCPef9suLLlihNbkw68e0V8tlFbJZCTr7D7ypYCp1jS+jUZcZwxKAeMnauvqqN1ud7fIxlqVPPikiTAr1KrWSvzqIgrnJVJIk5o8fTqR6jQq94+qkGnVNbGBjfwg0BTiBRErBF8n3LxQynT1h8AX2Zpeuj11dzpAi5HTfaW2rjrt3cMG7oPfZ1DoG7HR10qJJAuvSLgMIXevakWO5WhEbSLeJWIhBhi5Nc6Yywepr9ZXEhVz0zOkY53ZV0fP+b+dQViV976U1AA/EoqOcNSnSuIQ1tPI2253ZgmRqD1/F48ZxH3RAme2TFlwqR4UK6teqgs5YdnlkKXpE9fq64ibuUkdkrf5eF05qRf7fk6Xg61A7vwNtv3GIp3IKTQkCivmlzwDfRnnyvlIi/YerpY+4VqxtA+nE4fOvVDvP50Seic5NDbbTNhYD33vg8KwwyncR7vtQws1ZpmNw4dkALZAL/SYj4cra3F3iV2juUjA2LSNLHBIZLskz/zPNnUqIGlNQJ5fXp8en/x4ev3T5dH1L2dXP14fnV5ed7oH18fvjq8vfzzq7u7NuyFtHcGAdiuiwsXph03X81xpKpJNmkrBSqsmISnSNxGzc4NbRb8DwWGCKSijHFsmbLL7OM0VvwMBelNH6ToeUi5uiOIitpeDYUtcgleqmLvvq/GnXNX9fR/OzqJo7g6Ns2ayak9mSOtg8FpWY4n6hQtkCCkXs9diqTUoEtXcKlBtr4rLSf99nildYguXwTz0UeNlDywuylqLuH8t0DEP5zmkahiNkt0VLcxxSTKJgVG+udBBW5sPJ7sk4eBHkn1ycvqTX79ySh5UUJhjy7zHNFjFlWYitjfutrUpVUPbSTiMs/AX98Vq4O1J0bI/H49ZBmnDQK/qSrTf7+8d77/vHu/uvnt/sn9ycHrw7uD9zrv37963jw9Pj5dZEzWkna+2KJc/HnX+9KtyeLp9uH1yuN3ZPjg4ODjpHhx09/aOuyeHnd1uZ+ekc9I5Pj591z1acnWKo+arrE93d695hTwNgyTQp69QARVX6nn2zd7B/vu9vb2j9u7O6fvO/lH74LT7vtvZ654evds5fnfcPunu7Z52TvYP9nffne7vvHu/fbzf6R4fHXZPjt7P3e7P4siVylem65wUSfUsCW2a31js449wBu4vUOEaDyLbrqe2SjUnx8fvbUY1+UlKTY6PWuTT5+/PRD+jSmd5DDcxV4yOWuTk+HsfdXBy/L2LZZyffL/R7VUd3/baHCrBFKl3OK4tE2J06SGG+E3JmGWG1QyLXV6ebxX6NSFDKhI1pLf1qJFkh+32OgfJXm93N97vdPe7B4fb3W4nPtzr0e7OotwkpL6mfT0XQyXF4paZhmq2dcUhZNPryJMhEy47tqQMKCIkhDWzLEgTDncmT+paQrfd7Wy2zX+v2u238N+o3W7/z6KagsG3B5U6viDCViWaG9nO4X77OZDFjORnDq+qtP9WksQUMrcNG388szJVszQtNSDD5FrXqt3YnvVei5Z6XBGKXYPtjbc1poiWEfkFM6+92DYvl7phohz3cAfMUH7MbQ5wGJ1vs4Br9IfIWayxEMVyUZqjrPya8rkmkQtJ7MnyqEQeTfEZiOKTUpPSZ5LEKh/j7e412tIrDxCxwzTrDiUjHn8ZsjSVTQbLDAu+u7t3/cPxB2PBbx/sGHumePH0+OShV/26rC1l/9zvtg8jmkJCjeZ3DLb8quh5zlFbc1wXjGvD2Ncvjz5uRBgqYMYxezWbGno3qQnYfZ3rKcYIBGwL97W9XNvoEUyGgjixIt/MaHEnHy9JiDEh6wbUhKdJTLNEbbQAdCkWldXv79/8Pdj2Sy0BakYRTneVctetgQ2rAUGwfvwRumGaSRhODinpaVxD2mleRhknP/LBkBwplWfU2Pi2e9fxosZFmRaQ6rtyOmBC8frxBqReqiqan+duTdyAQxJK3VUua4N4Xz9ZZlWPv/982SKfvF59JmIQ5HC0FTkArVD3buAAv5+egxMgBbhIQl4VK7hhnCw636gS54NhFiNFfuZs8gSEwpIYK0YqHEqR9U9P2OhnIn4mnGl6nQu+KlWnCXWaEjOiocDnJUhQ4f4nkAEqo13L7BoCzVZ38eXPWqzElhE3nj9pr1rkEsLWLmp8fkxT3peZ4HQZTJ/DMgQbieqgGvEcpuAMq6jb7rY32/ubnT3S3n7b2X27ffi/g2m0LHJPNgMfxa5q983ErHO42T4AzDpvd9pvu7vLY4Y5Vte3bHpN04HZB8PRyow/C7+pP75PCLtl9Y340+VSB0mAW5xnd6vadFd4j3cXXiozwtLUvBDbRwV2xNO5ftXlH/mqdjVaCK70eLc7d7jEDIKw+7EURR79MlWpTi0Iv5wJy/hdbTH9HdIcyO3t7m7vO+KLhN1XwyiWQ1bxP+ZZ/FmIQkIy/8PHhQZrqcY0hhurHm+I8O22dw6WmbpiGafp9dx1w56QnoJDuYpgcFwVlm7jKVl1mhfGqCvoUnha0vGQihxqGbXKtdYKp/mE66EEoy01yoqxvLwH3YOOhzSjMRRoqBJ5d/f9u3eHx/snp+/etw8P2ocnne7x8dFSEkPxgaA6N9RbsTA8K2eYhaT2kwglxS+MZMyYb8zQR4X5rXi092UOYRXkB0nOqRiQ42w61pKkvJfRbBqRS8Z8WMmA62HeM0rN1kCmVAy2BnKrl8re1kB2os7OlsrirRgAbBnCwP9FA/nd+fb2/ub59u52bRnwdmZzSVFtnQNfxxRW3hZ206gip4Y0Y0k0SGWPpl4nLHpMLonr1zB1n8fSdTi8BFO3KqqcowmLRs2wdS+vvi/03RY5//6SCvLeWLFcxTKwhVvGAorA8l0JF7wYM7dEgKdg9LXt3FmbuLSgz4XgCzBqK/guhdJfwEC1kQGr1aqCstdmUKvm1Fhxe24EVmi3zAhULCwZn/oOnQXwOqSFF5d0DKVym+oUKBaPu7t72dwWClOa9lIQ7HNg2pMyZVQ0IfQOH5F+Skto2cI8V+eXRLCB1BzvpSYUynzETKl+nhrF06tUUAyam7ds3KsgTIA+ZP7OhWDp3NtNsHt97UJgv+hS+rjbHoOfYN4siciFrXiEYS0kKPoChX6PPh7ZgkJGb3A642QyiTgVFMKQqTJa6ogJrbZ0qjYBE8P5BodNhDvzQXQ/1KP0O5qOxaab4yZP1EYlFAorlwVGQyonkCWq6lxnZrnVieZmuoypfLRShuOqEiwNDGfHhdRoj61hr3tUcKpcOjeb2f7cLzKy185t0cjeOkpfK7J31kxWROJVRvaGa7HUGrzMyF47z28mstct0585sjdck28jsvdrrspzR/ZWVucbieydc4UKqH/CyF6L40ojey8XiuGtxe4WZwTOtWbKfZEYXjv4b3R7ZcFizUG8OPCzBfFuH+7s7HRob293f3eHdbvt/V6HdXo7u/u97b2dTrIgPZ7rqlZpOhrXYlptAOdLCOIN8H2W29tFEP7iQbwW2dUGlF7OHTpaEcgNAqAWXLQyAfAa7/j14h3DJfirxzs20uJPFu/YgMNLuAT6k8U7NlDxxVwELRXv2IDQ174HWnm84yM4v4CroS8S79hAhm/0OinE9JuLd6wi9+3EO4aYfWvxjjNw++vGO84gyLcZ7zgD2T9DvGM49dd4xy8Y71gi/Gu845eLdywR/huPd2zG9c8V79iEw0swdf888Y5NFHwxZu5S8Y5NGH1tO/dZ4x0fQ/AFGLWLxjs2ofQXMFD/lPGO5ev4Z29GgKpZqTuau1Ye00zZuCz4XWZ8wA3zYRRaw4VN1J3bCe7WYsVhgB8N9VP+B0swVA6uqn0UIBwiIZqPoegKhs5E0LPdmApX3bgJpzpGM/BpbDFU76BjxnO9QuDvWGKlfiMmdEZj5tsJHeHLGbMXU3CPL8fGDIeQPNdwBCI+KcTpFf0KKcnY7zl0e5CECggfsHBtsw3YuRRaXfcMsX/PWTa1LYYK7u/3D+nB4UGntx/HyS792xwkRSy+IE2rZIO/sY5q0N7R9prBLn4FyWxAWo8Zk5JoOWCGVOVugxay7QTlCDukIknRBPODQD/fTRs4yRJHa1Wl606vf9jtb+/u7/e2dxK6R7djdtg9TNqszXb2t/fK5HRz/cJEdcPOza/hN7alo+uN6xuJQkuTEaMqz6xFCUzsmdIysCd5yMbukKgQs93ut/f2KW336GG729sPiJdnKLBs4eDPP53Dn7MLB3/+6dyVBLadVYit3oPGnzRD2vMQe6uaTxReQ9o33eQN/r2MQUtHksiJMOwhiYqHbMRavv/qmOqh/V4SFzY7Ty3g1fbLO8Fudq4JVpYGzVDLdaPCvppngigJHWIVM1LI0HNEp1jS2sajn10YbLcMCQ1dsRlfOm15/wKtNvQU0AD0zJbDMrCxA2jQjH0C7oqBdM2pb2zNK6RcOENEyEysaE9LUq5ZRlNo3u5hMhGn0joKb/55A2t0868bsn52evWe/PT+2APt7m93N3BO4YuFL8T5UyDKt8dc16XEBZa66XqIOO1a786Gil0+GcHFq6+KI6BUPzS29YTDYFkjXd3gDWqI3cIeNeAliNVNXBhdymiCu0SXmrTWoHNFIFxAMU24kUI2ZLpl+FJIbcR8NoW66UM4BsvfV4C7YbH3LhnlSgOQnu/JnDT0nUWnGbzcY2RtLAZBWSvz+VpkfgvG+ii1jTaeYFE3ixfoNaUmxH6miqw7s1XTLBr8sdECzD1M3xtWijDwzzPW+trgj7UWzgchrG3U+WlsvVNBU63BaD5n81I8dFH0bbZihcBVFG6C724CIaPleK2yXjff3eDdUrlNsJt0pUFiP0+fUV39ao1czvrYIMOcM9C6jY+M3LTt26Yyh9rshVScBtygtAwDuLggN3mWQi/aG8iHgrBSkKq4s7kC56XAQCaWoOEH+qcTVaBIeZBh9/2GLgBlefV2Z2d7SzGaxcP/+P17+zv+/Z2W49LqOfHxDazgm89iJBPsuu6lIrC+IooxUaKsp2iD9OCCCKZRhZKCa2mMHxRKsgfKUeJP3B6zXefNL7DWGaMqZAUKCWQklQPV8mcidC7QTJDfjHzzxocNJAZlpdpG23OO7ynoP/NgqTKyekKVn2irpEwJqevCaSkmMtBmPC7x15gqFXDNs+caWfBFHwg4BKPKHPSqutxeUD2sjB3IVkugtcp0ZLbgLSM6Td5aM7xxHrKQ07V57OzUbyd2drZLkwK7dJUqDQxgmRif9hhqNvjE5vI14eD3gaFphdlqZ9d/wNmFek/orglHiYy0p2XlVEjzLezQrJA9GGIRzD2ymm2G93kwXi/X/q1WMBgii5qTh4i97gVho7Eu5gNTxzdv7Ne286S/S+aQxyA0p5qRHtMTxsppmXoi0SCoHNCYqckyllyv1pa5CizRYlAQwc4KM/iOx8zvV5X38NGsTuDIDB6Wbf5tjMS1vpRhNNKaWZC18IeqBEWN0tI1YZplIy5YYk7emCuW2iQQCgmB1oVR3G6rvN/n9x4ivAO5r2+3tvAVfCOS2WAjIlfZ1PXXHY8zec9HGNfBlbFzFB+N0ynRYLXWlU2zlCntsVSRCU9TUMXgPJqwNAXsr85PVCFoYhnlt2t10V4N1vL+ODCOV8UHlwB9tliEA6equGNUwc3bRtUT5zvj6Cpj5hhqlUzuBwFZbhVtVAOm5PecpqiEBJ3qnaFTyIGi67H19LP7mI3xKB9KZbtk5yKxWnttF0fgBqDOQRLYLNUZgA+Suxa7zD3HTreFz0i7HnEwcr05erFjWgEFCuu+ilCPpZjUUt/Azbu9LBFC2qIrhCodjaYWArI87nmq9FpUdT1YKCW7D3BV9o7IyyTHlyrvdSOV9zolsdIqbc9ieijdrRHg4uoLGGvoaDEHg84oTwsDuGGbUjX3lamW42tA4wsIc9bvY9diM6plFIv9Ors6P9looaflVsiJcH3CK04lFIot56kE8RZu7WCTNDgBquMWjpugo1osR8AHf26ZD/J+lrgvVmI+wQ+/l/gmVyxbYTjCZwu+QREPZwCfOjex+3u2nxi4EK4DrLfYaY6EC1SKjYCgPZmj4IRX0YaDtnTsjnoj2nosbd9++6PtYGf4Y0jvGHh5GISHyCxwFwmdcaas2giDgFiR0EWeCviMJ05SOJc2FYRCor61KvEECATlyC7cXC3phlQMmIpWu+vD7tboMZbZtCAtqLwjBqFxsj9LZ6OCnJ8cXRgSHiHTnnhQ4XafvyS6xR0SkFbIwOUMp/nrJdnpmcPzmUN+Vtlm1GD8RhVHfsvoCL73Rc1iPEp7LNPklAulGReLEge4+6txL4z+tdkXSbCyJr/1S0Zfnwmwt2031VRpNtoap1QbEbowlyMWKzxKwlXEwRadYpDA/+w89tm3h7WlHKCfTIYNSEvHUh9u/lFuCkKFFNMR/yPwEyP5/Z+fFevnqdmEN+ajiCc3hgfxD4PgjVczYyn6uM40LR+FImnQ3HPFksXZtcqocZHt8ZxM6u4oVJEEPPcU61y47CRXKWgvhzKz9pzMSCoHwYWvakh9piBpF6VFJtOVpSz7ekMYmmFGIhRVLs2L3Wp1qwo6b/65dst7VNBrmoy4WGuRtYyBcScG1wbgAlV8vjntx18rOwX/L6ngFdi/UBWvmOCrkvcgef7Cal6VCH9WRa+Kx4tU9YpJvip7T1H2Cjq+YHWvmOSrwhdS4y+h8n0NjSCMbXrZh/384THPoAm4eX6rh3wZvxd5fpen+OWPZjf+66k789R1JPpaB6qvK/5Sz8r5ZdYTDlIf/fJXOCM1zQZM/yVdBxb1F+o3sLN7+XrEV3AaWNp8q8rEohR4kerGoki8SF+BneGryvIUR4El4gv2EtgZvli15wu6CCwpvmHdJwwquqYDlysThBaR4tc5AowQhgszEpAnD/VyRwxjyCnpZXISZCb7PXo1ZFObzaGGckLMeSLIhPVcui3kfhhQXAyKgHSbaJ/7qbpg8PljghJmwH8poWtHq64lvxhKwR6xPFYyoYJ09eJLtE8zXprUi890qojEgD+uS/xRxfWD/IOnKd3ajdpkHVfj/yDHF5/typBPl6TTve5gcOMHGpsf/muDHI3HKfuF9f7B9dZeezfqRJ1dP731f/x49eG8hd/8wOJbueFKeWx1ulGbfJA9nrKtzu5pZ+fAkntrr71jGyx5oquoT0c8XVVqyadLgvDJuouJzFgypLpFEtbjVLRIP2Osp5IWmXCRyInaqBEQ36zN+9vIa/yEpSzEwCp4TqEXYWKwb52RQUksVGNrfIas80H+Ru9YlVq3LBNsVQZYDQcczU8bK3HQyawdshPtRO3NTqe7CQU2eVyd/Ys2zZ681i7hP1jpWYv7X1XKOHPgS62sG8/u55gJLVWL5L1c6PyhPUyzCa/tYTOxlan8CkPFb+w4tgYCaP5Us4HM+B/4hqwiyYWWfnGNiLYHWi+TNIFCfCyLjRIPso0zFdgDn/zripG+TFM5MZBtp74iJxnyxtZ9lZ+NtyTlIr9vkRGNgaKC3xepDZau9QIOny7JVOZv3mTm/KeQxQAB8zZJx6bUplzplk24D7IiMMnfgxzLcW7soSQiFymjipGUaZIryB8gvakhlDAjUIGFN3Go0+PLlqHqOJNjqRjhQTYdTRLowliPgAc059WXpYpWW1iqxufziq5OO+pUD9XVTjWo2PWIkmUUgUAVv0vtIWqV8J/Pjz7Oo36b95ziTbMi49Gag1Ny0O5Gnd+JpoN1tYGpVmMa3zLtSwYpzJSginAxgKIi0K8C/wnwqVIy5rYungEhXIo02OFgqBus/cakviivHQwPR9er0e+Uj5gpHhnsm7DIWCyzxIDjYpBabDUdQFIWSIccCjNAg0i3eEMsNGAm+vsmF5u/EyZiOlY5zlK1rBuhaWaklP2tp2MeB9lhNjcBiq1Qn+aumFAyI+ssGkTkfxi7bZFfeMbUkGa3G5DDze9YOiXeSAOnUUb7ULO4QgkuBMtmriqCIPiSRa5YYEXWXdaFhWqflfHfmIHkw+ghfhbuolg+gB5Ku785cZ5Ovfzlwksog7to4BXD6NgviDlyaDoYgCywID/1XEOvgLkd90Yhl9tToIH/3OsWpOft0E0EVVP8rrCVvJxzKeEqzhg4s6o7zMKEGQTwZq1Ln2dsQtNUtUgGzK9a6AOhCenRlIqYZWoBK3hljlNA6OwEjQrDEkUlaE/9urye98xZoZH8aWzrYgIG4GRaBAeZa8WTR2qMe6mfp4JltMd9zVYn/msPZp8D5hgoAZoj34s2DE1qyV+uOXPhhpor2QoVuJUWRIDmTLLvFAIjz7N4yDXDzlaAiK7RhULwjyqyXa9AEbSlSJz2vOn393o/vME4AUvXjHX5+fJ0w/wDWw6k8KIHWnzg6hbKjLy3+3ajlKdZ9H/+PafpVA1ymiUR/hvqaf8+Yb0hS8dbfXkNFXXSLaPvpSwZMAN6q4TgtdOdmYqGevTP/wRAfmJlYhTv/mujsVqKqx7lMvHqauKbf645vBa4b41Tc1i4FOoVcQm0USgN5EuSlqigYpkVmmVpcQp/TljkBdpqQJfu+E6prXpZ2Z8v566BHcz4xRrQNaoGPzSTFDafPbOUP8JpCqdhOFrT1zO2R3zHohHXGcP+6EaGbfXp78Dm6XfxHbuGxNPrYHLqOs6YMZj+eQzF2f2woWzlDM/i0/uxVEZyHP98GmL4r9r6ngljHX26JNjBhXSjTjfaa4VlTcrksFbeTxfHC7TEZtDnYNUbxEnR4O4INB+84uTqgaWpb46mJWrYHafzkmBlmonB3GFsRcP62cmGS7K3zStKxSmaDkuCuc4ROQvTk0levo6zA1ig7u64Ttfq6TEv60+GVF9zdW22AE82LK9Xebww+au8fnbyr4Y12sSuQO12e4GW/1BhZ2W1vo9IxrDs2GwBU9KfrbTBsqUjrvkAzR9PC7cYnvuTyrpUCdO8IvGAb/a4ML+C5zce8P8w//je03Gv01mAjIbxrlfK/NaKlBlRMRXNrNrYJ6rT7hxEizCFgS9YFt0xkchVVUm/skVTZh3wMAWCU6ihdcUE7aXztwSKZcaiXtFM5iFk+qmkulGFvTRgsHJCRsXA3pK2o7bRuDvtqG3rn5h/kh5zNw0jqTRR7I5lYe29d0bFVBaiNNan0diUYkqN4FoWpPY4lVw7ooyYznisyDrVmsa35A4CcQqPJpa9u+d62iLjjN/xlA2YrSBsoy80y7CM8kaL8NGYxrqAGsZSGBgervlskAFYA8pGRcGcbJtUKN48QwloUL+cqg6su5nIODcob9Q01d1od7ElZuKOZ1IYaHPden6htT4Np/XYolMxJb6oI3CJXaEWWWaF4O6eZ8zAVy9giTQbjWX2klbnys7osYWBa8IR1TkS2pA04UFBqVbpvHZrFT/fvpiTwqv1lYMh/9F1ISl5PArTef3jzycbxWEP1bc0tHv2NIJlAP6k4paLAbio187lZK1F1j6whOejNeTmtR/5YLgGS2DMNHLXNYvqxaeHCJygqg5IiPMrxtIwVAFrO2rbKk5T8CEmrM9FubCtgVC8XFqjgIvgDa6InAiWoPZCBR2g7+n92U+XV9GnbICNZ8g6/GCEJ/l8uYkd8YUUm+NM9nlgagUtX1pkMpRGGHDl6lVrSYYsHYPcB4+6YjEwp9FsQU4Y7WssRXCvqhkdKULjTCpUnCcyS5MZLCrukkhwpaOBvAOfxaYVRcCudWGAlyPzsapdkhVqF37VGzUMqH9kqAeCwh2CFPqnQXPy1NNsnHGZcW0XgmRsQDOIIwhEwHIUrCnxZpjYD/2IH/J+t30Yuh+h28xxpV36gzdRXBktIMXDAe9g0BIxG8s5JM1mua/0tFelvpWhp5JjJ4x0SlI5GNhODOTq/JIYYYo3OQkfcDgJXZe7onWdpwiLc210PNLjgmbc6DGXWx/OPpyWRxM2Sr0nE3gHDlCaThWUG4Zi6G6WEjz6t37P/uIqpoeNwzB8VWFXCPN1C2pg+3teiPi7MQ+go9BNBGAsxCFVQ6Ycv52c/rTJhDk1yi3qjZjxkeW2tL/58gZapkAB+tL1So8V18j+3g/vrXAi5uNIDWl3d+9mw6N3emcXleoiXDZsNltzL7u7o+JiTbXKU3GkwL5GSI+wXqN1QJvVtq4scqNTFQU9mG5siwYLER7HKWdCW4LOfwtCU9io5liBTINVxX36hlW2qVwwrq37uH559HEjwkg9M44idzSbGskfV7YjqAeujyYqCsGagGunB40wzTaEaExcuaIhheHyk4+XJMSYkHUDasLTJKZZoqxaXkrgYPW2mW/+HlS/nlvL8F36v0KbRt+lcblG5g396hfvU+/x/xqtG1UVtfl7N9p5v4R2jYutHnZr9N0YjQrVIp8+f1/pzQ79GR9Yab9Xll3xF9Om8YNhCiMVfuZssiASX7sz43Ib90zET8DzBTRoXAztCmcviPo32shRSH0NLV3mQGfp/vtCQhcCls3Tg7/b3mzvQw/+7bed3bfbh4v14DcI4X3UKjECH8M82HQON9sHgE3n7U77bXd3MWyCXuurbpx95LvIu5AfvNLXtcbzVSwXaE0d4APt+1doqQJ8xMUGqrA0NS/E9lHQbT7oBx5YYGTO5vrGFh3vdue+CgiIwGyr/znoMKuJ/qkFUXR4YBmU2i4vGoYzzIfQ3u7u9r43QxN2X70Hnx9Bxf+YZ5FnIQcuB/6Hv9AI1kyNaWwMLtLjuq6Fd9s7B/O7TTJO09X2r7WpiTiUuwOFo8WzZ/MpBi4QEDRKMxGH/um+vZmG0uSwsuMhFdh6tkW4DqK40SrV1nMgwRhKjQIB1xjjMQZ3e9BFJ7waYXd33797d3i8f3L67n378KB9eNLpHh8fzd+c3rknVi7QzsqJyqVO5m4S4c7/hUGQ42jE4GonLK6OR69zp5AfJDmnYkCOoZE/SXkvo9k0IpeM+ZvRAdfDvAeRSwOZUjHYGsitXip7WwPZiTo7WyqLt2IAsGVsdPi/aCC/O9/e3t88396t99ox6vfu3uYC4vab7/7/Z+34/9rl/wmr/WJMxuU6+3+T3fy/kQ7+33bX/j9Np/5NM/Jb0mNwVU1FPJQZ/rkZuwhGez/zDt8pTeH/BNjHrqOQPZPM5/6+wV0VwM1mmtpmjuBmNlNt9IxD8tJQKh0IaqQTTblv1jimeuheDl5smKD5zwkbZyyGW4hNuAkoPoRrF/iLl/OYqHCJVKX5GfwizUfsD5dHP3t6GMdeeXnEBxhn+ZboLGdl6EiRElgJm8X+hH9cN/HNDNT9+kAYDVztD/IMFgUHa8JvDtKbFQrfexAtALrsmj4I2RDXqPtMRVwoHThLH6URuB/wW+K+JTxx2yJOZZ4UO+DY/OniAjIyYpomVNPmTfHBPsXgjrj0KQQQFvYITZJreOHagTRvxkwpDB4L90gJc/go4iM6CKrBFhVIRnyT9uKk091ulB8Fg5wZCOTsxIcn4nQdRSx7fEeOzErBSzJNQkZ1EzLzj3BWDtdHlrrx5QeXOxjDTbAIXXx4GI+Qf3/hkebg3spY87JxMNqIxkMu2HWQDf3wYPaDMH163rHCaKvrOQTaw1/NO+o4kyDF5lw4+/ri65axQaH1PTxG6dVG+E4sJDK+BV61cuHE/d2wvfAZ6B3mfExTBu2jQSjgM7PD1VBm+holc6FPuOMYx9v0MmHGsemnRRpuoMuflIQIng5Qqco/bCJWQLDmTxqJNmMoI3EWHw0kXbChFhy18uV8gy4/nG0ISr4jV59OPr0lP8qJUS9GdIzVAP6jNpfSQU8ePuzJbHlOvEzHKUSOc835W/Dtj/hXA5Az0Zcht9pjAdpcOlkTMKj5vZE97blxenwZZha7XowqYrGKpqM0su9hahzN0KcqpNgsvqxUs5W+AeNsTp+9NKX6bQ5ET8qUUTEnefsFRSABp1j2+rhSRb2cp/Uh6yvqT++1zsFJp324Nt90Pl0SGCGMi2meSCwT1rgPHpqL0hnT8XD+ybhRsBClmHoOvM17LBNMQyiA5cN/hL81wC2ee52rrEAVQEnIhQ9L1eKjRyVradIP81yV4mOZNIudhTZzQIGxRLdSfXHNUHmDDF92pAuZkM9nJ/WBwGQe0/j5kCog1geTSU3kP3EwVzBpxmAVI+XpAzqATTndZsT////9/5StkFSfkpXgf3/yWRE8vh7R8ZiLgX137e9zbuwAJ3u2jei4PmUoXIk+sBc372BuzZO3JQAjxVJIUHl5KFzaIoV+hs2IZGyc8piqcoVN8mRuLuDO2EQJG6dyOqqY8E8fuIA7Y2Bw7vXz9NlRDgDPGPoRHXPZgT3YR4dtVqifPi7CtYe3PSeLk/vC/9AA1z4szmzvMGg6YwvYZKEDlt3Pq9LbEaIiOvsBtd5i/JtM5S2nmzTXMuEKkmsK9P8vfEpO7JMpCd8jgVfjUQdRA6hQw7Hz8CBnuU7texF60Mq5NAt4DJ1r2V6fy76fQFBYqnlM/pBje8ZwpzQe2pKqQ1pKaLaBQbYdOON6WNA1IUmOdRQ0zXQ+dndsCIhD5eYR5lJ7nyfEi49pRkdMG8Qym18F68Y0mDvYNRp+MH+2bMIuTA2yMmgKDdEVRk2cXeAblr0IT1oQSg8JV6UpQXqGVkCZZhLaSPNxJpM81osTEsJx/N61YIwK7nF7aNil2aU07Bvla6WtByNvPDJ0kKy74Mj4rb9h9egHvKBIlguoVMdF8zzyLF1u9M8/nZOhMeyHxgyE4Sy3wkweInqcZ5VroLIJOmPUX4YMtkGB34Qqz+LWXKe5HjKhfR2SjAipvRU24SKVg0KQrf0CP/QY1WvN0sr2XffFkH/B+oOYp0HO5SCqmv1eQMMNSKWYrxFxk4xrZsXto2TO6IT814dzo31kTDGhS/VV8FJJ9mDlrXfNzrASaIZlZrjCsl/F7ZSBVSn5p4jKx66wWIBzIbYc7uTo4oysf+BxJpXsa0+cn7kypqpIiGATlm1EYakbLMjogdlyDiDx7VUd5uHZijiYMw6PFdMwpxv7zfX9KEU63nhwVNXEnsT6KZilCzXM7niSU3cll8pBmFY6ZI/Sm8ONUj9P0UGUybyXMjWUUochPeM8G0uFOVcMk4RsWqJ1CYUmUcGHxS4ajWkWuGtsVmQIyExUS5JwOhBSgSjupWxUvdfyXE8aNYwZ3HeUpr5unCvSZOdQ2wRhEiYZQqJuwHZNLik65oEWYrOdk9KueGBubqX8CgInQh5OUU6OJja/KZZZgqswlkpxw/ZF/bkSzLUJFwAzlYM17/6ro2tGkxlZc+8OuCjeL0H035hXzHcBrzksau+AYEuY4gNhxZqbgk2C6Lbb2yUwwSvddrtd39MRORPl/dkKONqiUALJRT+jSmc5lvmaYMVqO6mIfKqAg8p4FJQLN3YJnJ1H6wGK4r5KonA3GH1kRHWpNKRjDXPAKqspwfpLuOA29DKrb7D36KkGryCNNb/jeno9l/Oo4NFyzeMHmfSIYDRSOq0Wq4GDjOrib5vJmWcZ6Ex2bsC3JZAsyBA02w4iViHqCnI24TwOBoFXaKadCFNlO40UIzWZWZiifD2ncbfsNhZBRRGfFg0Iugjx8laGHFAIoKydTZ5Chg0mmPHbQqLAKEa6JrzfZxmeljfloIubBioAuGt7410mwaIOkaV4yAu6oliemUz1UB3lOgdGY/dxmit+h1WJS6CgGQugcgPa/lTmwCAxHWu0KZB2cMhI4RRahcnUJVBaNokTb2JARv9NQbobGMcQNCE38FbnplWeG/zavbG1SSSRokV6LKZmTxeCPhgBqocKhMlFmQVolnKoRGMRkH2vGC20wuFB+eg62fh3uMFh90OaK8g2TW0QVjB1v3tt9dUSIEdX3OkReTclQ3pntTHFipKTeN5aZUCz0Ti1yRRlSWk1ClfoNaFq2JM0S5QteAD3WpspoxmYCr/JXlC2se6BCCl3VFK3L2h8SwfsY1XEzJYYBaR3XNBsusRnOoX738+KZWdinOsrvszoUuoPRcTtYh9eFdEHC3yY8zT5uWR5zv/xsVEOxeLUOpZZlgPzHkGm+KUOM5znhpIxWO7POl6K2Ce1UoyLfKuL/nmLfHbH4+UYs/j0nIlBRaDOD2BJSplPLZd8oL9VZPDiILhYBkTG75aknfkye+Kny5LdPPmZLs4rp0Jn02OZC734p/c6o2eiLxf+8j3laZ4tR+Xg2yVp9Z6nbFlZ9J4LmhpBkquFv/2hcrrO99VZkrIzVwCFLiVGDAgQfsut89lozDIlBQx+zu7Y4lx25op/Lfn5+AgLRCzx5YXMFkf5H2y6JHOdU6XNMfmDlMlSH18Oc53IiVgOwOgpWsm5HEjxQzm6YIEvz5b8zl4hLT/lpVQSOGCWFQMf6D0f5aMLlkEgjojZBctitsTm+gDtTZfCHT+9XGK5PnDxXNNHSFfDTGqdPgXM8ovxkU0sCy3BgcXHS63BRza5jIdsxJbaNh/ZZClN6aMcmXPoPfQ8FPHiqvHHMGVl/s8+pckTsP2UJkth+8neKphze6lFuqBLCPJgczzx+L3I2B2XuXqqJeHgLPmxLbZ6ztXi+3P5/fWUzWW/XW757LdL8OlF6WJ2ge9yupyCdZHTC5nyeLoEff+zv7Qu+xOjaonPQALQZQe9BGP4XSrj26uwZP/c32Nc1FL8ZL9deupWM0NvwlJKhwMBVwHHy7hgHIRlF8+l6i//5ZLWzyVcpSz+mabZcl6u5dw9y2Kn5Xi5WWKO7Ak0ql+OqxHCsiq4/fyzWlILDb5fRhW9ulxizlfQSPsJNEMAS/ku8NPlTaXg+6Uxx4vRJ2C+9GoXny+12CwDxfUSy6wug7+8ZeI0ZXd0aRl8lVGhRlxrltgDYfHtviwBlj16fpHZrVpS/cT7p+U+6y732fZyn+0s99nucp/tLffZ/nKfHTz42d+q3+Al3YJX9cuEkxSX5xg04ssfVcNgbIuUMDao4XLRTk8tNO8Fr4fdGKWGirYl1zRoK1ebXDykQpTcjyu928fR8Obdlb6DHnjQ+hFDTGhib7Yd3UsggybEAmsmucg8e9mcyoG6cTl8tti0jY8sYsIaKIFzWC1/WTzPTsrxZKkclKKUsPafI0pm5HJZxgWtAuHjgoQ2cLmDl+gS4iXxEfIGPq8onQp8JprTNJ1GLsOvDDBjNB7aEJURevrs+qx3/73d/XcJnoubqsc1mUl1/7238++HY6s2ypEBsNjsXlfmNOFpSnqMtBtXEwpvX7/EEB83J7OMsAlK4GIpdCZT2AzanMt9lmWwoSPLQ1hS3IYBTaAAmx4yQYYUivJVNkwYCgTj84zcBGS5CeVdQ+bkOC7bZM8uu3CEajQDCixyRdUtsjK+BTmyvlmrlXRN+GL6QCpjGgoBOoYcHowHRSHEbNYt7qYJLVMPq+E30MUlJFwP5ks9/DKs5Wt0wEOcfG0rzToLXJ7IuAGhoHzikxbbjnHNEycCj6GKvAts/CkXmo+Y81U9RHix2pi0hsM9ENRkvcpOMnMpdED8Bi4KxOpGA2KaqttV7jMD/2XvMsynsB1tS4VV6yfJuhRknLFyDFpZU6iGwELXQXucogrnwuce2Ax6CBrJ4luiBtGH3tUgfdkoQvL0KMIgrK+BdAbRqBBUT+LpohLeZmdzd7Pb2dze3ensbLcPuweb3fZuZ7/T6Xbam53tw872wc723uFmp+iZNwdJHP8UTXgKCbt+eXbiKxjSGKoz+v78Nt62Il25qolXglUTyhH+QkKXH5naOrqXZyfYvERA8QDtmpxAwCbkVlajJeFBAv4eGzKJPxka37gQQaciSTTuC2U5aDMdzHEqc+Kz+IIJF7M12+ny7ES1SMbuOJvY/T8g/UpcUYzx9QqVHNsh2uYn2CbQs1hnTsH+wMJ+DGwOqP1VWbTmhSpNAim7SnmMIxTts2cwWDBXDC4dMZubOGvquuwCev6DxHayfXzCDTO8q7l7nqJgYBpcNWfTM/gbGyTLrc1nK3kx5c2PoJ6XTRFzKR1Fktg5G9C4lKLj8mxn5YvhC0wR7BEmRfjxXnRvu6pKjm3fg5wg1w0YYN0VhQ6L76OgWgymyloIUEe7iAKeuAZHNz7FN9q71vJ6P8KUKps5BY4NpmeYyc3Ztvrx+lyYcxQVaT4PVq6qm2mPwa198CD8pkSGR0Zo+uTBMSr+qUfAV95+EHLFg/QI5MrbD0JO5WARkpScRY+UIlOKDtg1yzL5WCk8eCeyX8wD3LpqSkVGH5l61bvzCPxZzoNHR5n14YPjlWzsR4Yovfsg1CYL9RHgTZ88NoY15+YeoGJiPggebbAFOLTJOHy4hmZhdD0COnjzYYhgMCxMkaqd8eAYzRr2rJHcUM1fPT7Q/NK++vqDsJuy7mdCLr/8INz7UfqYwGnKzK7C/F8BAAD//x9IaPw=" + return "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" } diff --git a/winlogbeat/winlogbeat.reference.yml b/winlogbeat/winlogbeat.reference.yml index 7b98270f0bf..d6a610c1292 100644 --- a/winlogbeat/winlogbeat.reference.yml +++ b/winlogbeat/winlogbeat.reference.yml @@ -1026,7 +1026,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/auditbeat/auditbeat.reference.yml b/x-pack/auditbeat/auditbeat.reference.yml index 44b58a736e1..274bc3f3b33 100644 --- a/x-pack/auditbeat/auditbeat.reference.yml +++ b/x-pack/auditbeat/auditbeat.reference.yml @@ -1159,7 +1159,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/dockerlogbeat/magefile.go b/x-pack/dockerlogbeat/magefile.go index 4c0c7daeb02..5251e9285a1 100644 --- a/x-pack/dockerlogbeat/magefile.go +++ b/x-pack/dockerlogbeat/magefile.go @@ -320,7 +320,7 @@ func Export() error { for _, plat := range devtools.Platforms { arch := plat.GOARCH() - tarballName := fmt.Sprintf("%s-%s-%s-%s.tar.gz", logDriverName, version, arch, "docker-plugin") + tarballName := fmt.Sprintf("%s-%s-%s-%s.tar.gz", logDriverName, version, "docker-plugin", arch) outpath := filepath.Join("../..", packageEndDir, tarballName) diff --git a/x-pack/elastic-agent/CHANGELOG.asciidoc b/x-pack/elastic-agent/CHANGELOG.asciidoc index b0b5066d27d..8f5efd70aa3 100644 --- a/x-pack/elastic-agent/CHANGELOG.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.asciidoc @@ -35,6 +35,7 @@ - Fixed make status readable in the log. {pull}23849[23849] - Windows agent doesn't uninstall with a lowercase `c:` drive in the path {pull}23998[23998] - Fix reloading of log level for services {pull}[24055]24055 +- Fix: Successfully installed and enrolled agent running standalone{pull}[24128]24128 ==== New features diff --git a/x-pack/elastic-agent/CHANGELOG.next.asciidoc b/x-pack/elastic-agent/CHANGELOG.next.asciidoc index 3f0419ca38d..cb53ef11824 100644 --- a/x-pack/elastic-agent/CHANGELOG.next.asciidoc +++ b/x-pack/elastic-agent/CHANGELOG.next.asciidoc @@ -40,6 +40,7 @@ - Fix libbeat from reporting back degraded on config update {pull}23537[23537] - Fix issues with dynamic inputs and conditions {pull}23886[23886] - Fix bad substitution of API key. {pull}24036[24036] +- Fix docker enrollment issue related to Fleet Server change. {pull}24155[24155] ==== New features diff --git a/x-pack/elastic-agent/pkg/agent/application/enroll_cmd.go b/x-pack/elastic-agent/pkg/agent/application/enroll_cmd.go index 82d996bd620..22d3f8625d0 100644 --- a/x-pack/elastic-agent/pkg/agent/application/enroll_cmd.go +++ b/x-pack/elastic-agent/pkg/agent/application/enroll_cmd.go @@ -84,7 +84,6 @@ type EnrollCmdOption struct { Staging string FleetServerConnStr string FleetServerPolicyID string - NoRestart bool } func (e *EnrollCmdOption) kibanaConfig() (*kibana.Config, error) { @@ -178,7 +177,6 @@ func (c *EnrollCmd) Execute(ctx context.Context) error { // enroll should use localhost as fleet-server is now running // it must also restart c.options.URL = "http://localhost:8000" - c.options.NoRestart = false } err := c.enrollWithBackoff(ctx) @@ -186,10 +184,6 @@ func (c *EnrollCmd) Execute(ctx context.Context) error { return errors.New(err, "fail to enroll") } - if c.options.NoRestart { - return nil - } - if c.daemonReload(ctx) != nil { c.log.Info("Elastic Agent might not be running; unable to trigger restart") } diff --git a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go index 58c99306e71..cd4b12ef422 100644 --- a/x-pack/elastic-agent/pkg/agent/cmd/enroll.go +++ b/x-pack/elastic-agent/pkg/agent/cmd/enroll.go @@ -38,7 +38,6 @@ func newEnrollCommandWithArgs(flags *globalFlags, _ []string, streams *cli.IOStr addEnrollFlags(cmd) cmd.Flags().BoolP("force", "f", false, "Force overwrite the current and do not prompt for confirmation") - cmd.Flags().Bool("no-restart", false, "Skip restarting the currently running daemon") // used by install command cmd.Flags().BoolP("from-install", "", false, "Set by install command to signal this was executed from install") @@ -141,11 +140,9 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, args } } - noRestart, _ := cmd.Flags().GetBool("no-restart") force, _ := cmd.Flags().GetBool("force") if fromInstall { force = true - noRestart = true } // prompt only when it is not forced and is already enrolled @@ -192,7 +189,6 @@ func enroll(streams *cli.IOStreams, cmd *cobra.Command, flags *globalFlags, args Staging: staging, FleetServerConnStr: fServer, FleetServerPolicyID: fPolicy, - NoRestart: noRestart, } c, err := application.NewEnrollCmd( diff --git a/x-pack/filebeat/docs/inputs/input-netflow.asciidoc b/x-pack/filebeat/docs/inputs/input-netflow.asciidoc index 840ad70ec05..b53881cc961 100644 --- a/x-pack/filebeat/docs/inputs/input-netflow.asciidoc +++ b/x-pack/filebeat/docs/inputs/input-netflow.asciidoc @@ -120,6 +120,17 @@ cause flow loss until the exporter provides new templates. If set to `false`, if the exporter process is reset. This option is only applicable to Netflow V9 and IPFIX. Default is `true`. +[float] +[[internal_networks]] +==== `internal_networks` + +A list of CIDR ranges describing the IP addresses that you consider internal. +This is used in determining the values of `source.locality`, +`destination.locality`, and `flow.locality`. The values can be either a CIDR +value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + [id="{beatname_lc}-input-{type}-common-options"] include::../../../../filebeat/docs/inputs/input-common-options.asciidoc[] diff --git a/x-pack/filebeat/filebeat.reference.yml b/x-pack/filebeat/filebeat.reference.yml index db79f9abb8c..1d6778167d6 100644 --- a/x-pack/filebeat/filebeat.reference.yml +++ b/x-pack/filebeat/filebeat.reference.yml @@ -1996,7 +1996,7 @@ filebeat.modules: var.url: https://urlhaus-api.abuse.ch/v1/urls/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m abusemalware: enabled: true @@ -2008,7 +2008,7 @@ filebeat.modules: var.url: https://urlhaus-api.abuse.ch/v1/payloads/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m misp: enabled: true @@ -2022,6 +2022,10 @@ filebeat.modules: # The authentication token used to contact the MISP API. Found when looking at user account in the MISP UI. var.api_token: API_KEY + # Configures the type of SSL verification done, if MISP is running on self signed certificates + # then the certificate would either need to be trusted, or verification_mode set to none. + #var.ssl.verification_mode: none + # Optional filters that can be applied to the API for filtering out results. This should support the majority of fields in a MISP context. # For examples please reference the filebeat module documentation. #var.filters: @@ -2030,10 +2034,10 @@ filebeat.modules: # How far back to look once the beat starts up for the first time, the value has to be in hours. Each request afterwards will filter on any event newer # than the last event that was already ingested. - var.first_interval: 24h + var.first_interval: 300h # The interval to poll the API for updates. - var.interval: 60m + var.interval: 5m otx: enabled: true @@ -2050,14 +2054,17 @@ filebeat.modules: # Optional filters that can be applied to retrieve only specific indicators. #var.types: "domain,IPv4,hostname,url,FileHash-SHA256" + # The timeout of the HTTP client connecting to the OTX API + #var.http_client_timeout: 120s + # How many hours to look back for each request, should be close to the configured interval. Deduplication of events is handled by the module. - var.lookback_range: 2h + var.lookback_range: 1h # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m anomali: enabled: true @@ -2065,7 +2072,8 @@ filebeat.modules: # Input used for ingesting threat intel data var.input: httpjson - # The URL used for Threat Intel API calls. + # The URL used for Threat Intel API calls. Limo has multiple different possibilities for URL's depending + # on the type of threat intel source that is needed. var.url: https://limo.anomali.com/api/v1/taxii2/feeds/collections/41/objects # The Username used by anomali Limo, defaults to guest. @@ -2075,10 +2083,10 @@ filebeat.modules: #var.password: guest # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m #---------------------------- Apache Tomcat Module ---------------------------- - module: tomcat @@ -3908,7 +3916,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/filebeat/input/azureeventhub/config.go b/x-pack/filebeat/input/azureeventhub/config.go index 68ad8d109e0..e24f3f2b0f6 100644 --- a/x-pack/filebeat/input/azureeventhub/config.go +++ b/x-pack/filebeat/input/azureeventhub/config.go @@ -33,7 +33,7 @@ func (conf *azureInputConfig) Validate() error { return errors.New("no event hub name configured") } if conf.SAName == "" || conf.SAKey == "" { - return errors.New("missing storage account information") + return errors.New("no storage account or storage account key configured") } if conf.SAContainer == "" { conf.SAContainer = fmt.Sprintf("%s-%s", ephContainerName, conf.EventHubName) diff --git a/x-pack/filebeat/input/netflow/config.go b/x-pack/filebeat/input/netflow/config.go index 4d795a44eec..b13b6722ab6 100644 --- a/x-pack/filebeat/input/netflow/config.go +++ b/x-pack/filebeat/input/netflow/config.go @@ -33,6 +33,7 @@ var defaultConfig = config{ ForwarderConfig: harvester.ForwarderConfig{ Type: inputName, }, + InternalNetworks: []string{"private"}, Protocols: []string{"v5", "v9", "ipfix"}, ExpirationTimeout: time.Minute * 30, PacketQueueSize: 8192, diff --git a/x-pack/filebeat/module/aws/vpcflow/ingest/pipeline.yml b/x-pack/filebeat/module/aws/vpcflow/ingest/pipeline.yml index 0a87d6baade..2ce2d4a1ad7 100644 --- a/x-pack/filebeat/module/aws/vpcflow/ingest/pipeline.yml +++ b/x-pack/filebeat/module/aws/vpcflow/ingest/pipeline.yml @@ -119,7 +119,7 @@ processors: ignore_empty_value: true - set: - if: "ctx.aws.vpcflow.instance_id != '-'" + if: "ctx.aws?.vpcflow?.instance_id != null && ctx.aws.vpcflow.instance_id != '-'" field: cloud.instance.id value: "{{aws.vpcflow.instance_id}}" ignore_empty_value: true @@ -131,11 +131,9 @@ processors: - script: lang: painless ignore_failure: true + if: "ctx.aws?.vpcflow?.tcp_flags != null" source: | - if (ctx?.aws?.vpcflow?.tcp_flags == null) - return; - - if (ctx?.aws?.vpcflow?.tcp_flags_array == null) { + if (ctx.aws.vpcflow.tcp_flags_array == null) { ArrayList al = new ArrayList(); ctx.aws.vpcflow.put("tcp_flags_array", al); } diff --git a/x-pack/filebeat/module/aws/vpcflow/test/bad.log b/x-pack/filebeat/module/aws/vpcflow/test/bad.log new file mode 100644 index 00000000000..6ac4ad6fc47 --- /dev/null +++ b/x-pack/filebeat/module/aws/vpcflow/test/bad.log @@ -0,0 +1 @@ +Phony unsupported log format. diff --git a/x-pack/filebeat/module/aws/vpcflow/test/bad.log-expected.json b/x-pack/filebeat/module/aws/vpcflow/test/bad.log-expected.json new file mode 100644 index 00000000000..534c05beba5 --- /dev/null +++ b/x-pack/filebeat/module/aws/vpcflow/test/bad.log-expected.json @@ -0,0 +1,18 @@ +[ + { + "cloud.provider": "aws", + "event.category": "network_traffic", + "event.dataset": "aws.vpcflow", + "event.kind": "event", + "event.module": "aws", + "event.original": "Phony unsupported log format.", + "event.type": "flow", + "fileset.name": "vpcflow", + "input.type": "log", + "log.offset": 0, + "service.type": "aws", + "tags": [ + "forwarded" + ] + } +] \ No newline at end of file diff --git a/x-pack/filebeat/module/azure/activitylogs/config/azure-eventhub.yml b/x-pack/filebeat/module/azure/activitylogs/config/azure-eventhub.yml index 8701cae46fb..a949730a58f 100644 --- a/x-pack/filebeat/module/azure/activitylogs/config/azure-eventhub.yml +++ b/x-pack/filebeat/module/azure/activitylogs/config/azure-eventhub.yml @@ -1,11 +1,29 @@ type: azure-eventhub -connection_string: {{ .connection_string }} +{{ if .eventhub }} eventhub: {{ .eventhub }} +storage_account_container: filebeat-activitylogs-{{ .eventhub }} +{{ end }} + +{{ if .connection_string }} +connection_string: {{ .connection_string }} +{{ end }} + +{{ if .consumer_group }} consumer_group: {{ .consumer_group }} +{{ end }} + +{{ if .storage_account }} storage_account: {{ .storage_account }} +{{ end }} + +{{ if .storage_account_key }} storage_account_key: {{ .storage_account_key }} +{{ end }} + +{{ if .resource_manager_endpoint }} resource_manager_endpoint: {{ .resource_manager_endpoint }} -storage_account_container: filebeat-activitylogs-{{ .eventhub }} +{{ end }} + tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} diff --git a/x-pack/filebeat/module/azure/auditlogs/config/azure-eventhub.yml b/x-pack/filebeat/module/azure/auditlogs/config/azure-eventhub.yml index 7f5eb091550..a5460ed456e 100644 --- a/x-pack/filebeat/module/azure/auditlogs/config/azure-eventhub.yml +++ b/x-pack/filebeat/module/azure/auditlogs/config/azure-eventhub.yml @@ -1,11 +1,29 @@ type: azure-eventhub -connection_string: {{ .connection_string }} +{{ if .eventhub }} eventhub: {{ .eventhub }} +storage_account_container: filebeat-auditlogs-{{ .eventhub }} +{{ end }} + +{{ if .connection_string }} +connection_string: {{ .connection_string }} +{{ end }} + +{{ if .consumer_group }} consumer_group: {{ .consumer_group }} +{{ end }} + +{{ if .storage_account }} storage_account: {{ .storage_account }} +{{ end }} + +{{ if .storage_account_key }} storage_account_key: {{ .storage_account_key }} +{{ end }} + +{{ if .resource_manager_endpoint }} resource_manager_endpoint: {{ .resource_manager_endpoint }} -storage_account_container: filebeat-auditlogs-{{ .eventhub }} +{{ end }} + tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: diff --git a/x-pack/filebeat/module/azure/platformlogs/config/azure-eventhub.yml b/x-pack/filebeat/module/azure/platformlogs/config/azure-eventhub.yml index 80a73bc9905..49cfcef3a84 100644 --- a/x-pack/filebeat/module/azure/platformlogs/config/azure-eventhub.yml +++ b/x-pack/filebeat/module/azure/platformlogs/config/azure-eventhub.yml @@ -1,11 +1,29 @@ type: azure-eventhub -connection_string: {{ .connection_string }} +{{ if .eventhub }} eventhub: {{ .eventhub }} +storage_account_container: filebeat-platformlogs-{{ .eventhub }} +{{ end }} + +{{ if .connection_string }} +connection_string: {{ .connection_string }} +{{ end }} + +{{ if .consumer_group }} consumer_group: {{ .consumer_group }} +{{ end }} + +{{ if .storage_account }} storage_account: {{ .storage_account }} +{{ end }} + +{{ if .storage_account_key }} storage_account_key: {{ .storage_account_key }} +{{ end }} + +{{ if .resource_manager_endpoint }} resource_manager_endpoint: {{ .resource_manager_endpoint }} -storage_account_container: filebeat-platformlogs-{{ .eventhub }} +{{ end }} + tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} diff --git a/x-pack/filebeat/module/azure/signinlogs/config/azure-eventhub.yml b/x-pack/filebeat/module/azure/signinlogs/config/azure-eventhub.yml index e37c7c61a4d..9a6a86e08fa 100644 --- a/x-pack/filebeat/module/azure/signinlogs/config/azure-eventhub.yml +++ b/x-pack/filebeat/module/azure/signinlogs/config/azure-eventhub.yml @@ -1,11 +1,29 @@ type: azure-eventhub -connection_string: {{ .connection_string }} +{{ if .eventhub }} eventhub: {{ .eventhub }} +storage_account_container: filebeat-signinlogs-{{ .eventhub }} +{{ end }} + +{{ if .connection_string }} +connection_string: {{ .connection_string }} +{{ end }} + +{{ if .consumer_group }} consumer_group: {{ .consumer_group }} +{{ end }} + +{{ if .storage_account }} storage_account: {{ .storage_account }} +{{ end }} + +{{ if .storage_account_key }} storage_account_key: {{ .storage_account_key }} +{{ end }} + +{{ if .resource_manager_endpoint }} resource_manager_endpoint: {{ .resource_manager_endpoint }} -storage_account_container: filebeat-signinlogs-{{ .eventhub }} +{{ end }} + tags: {{.tags | tojson}} publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: diff --git a/x-pack/filebeat/module/netflow/_meta/docs.asciidoc b/x-pack/filebeat/module/netflow/_meta/docs.asciidoc index 830b397ec45..09ffda3d024 100644 --- a/x-pack/filebeat/module/netflow/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/netflow/_meta/docs.asciidoc @@ -67,6 +67,13 @@ details. monitor sequence numbers in the Netflow packets to detect an Exporting Process reset. See <> for details. +`var.internal_networks`:: A list of CIDR ranges describing the IP addresses that +you consider internal. This is used in determining the values of +`source.locality`, `destination.locality`, and `flow.locality`. The values +can be either a CIDR value or one of the named ranges supported by the +<> condition. The default value is `[private]` +which classifies RFC 1918 (IPv4) and RFC 4193 (IPv6) addresses as internal. + *`var.tags`*:: A list of tags to include in events. Including `forwarded` indicates that the diff --git a/x-pack/filebeat/module/netflow/log/config/netflow.yml b/x-pack/filebeat/module/netflow/log/config/netflow.yml index 65baa78eaac..dd111c35097 100644 --- a/x-pack/filebeat/module/netflow/log/config/netflow.yml +++ b/x-pack/filebeat/module/netflow/log/config/netflow.yml @@ -6,7 +6,7 @@ expiration_timeout: '{{.expiration_timeout}}' queue_size: {{.queue_size}} {{if .internal_networks}} -internal_hosts: +internal_networks: {{range .internal_networks}} - '{{ . }}' {{end}} diff --git a/x-pack/filebeat/module/netflow/log/manifest.yml b/x-pack/filebeat/module/netflow/log/manifest.yml index e46428b2fc0..250c2b414e9 100644 --- a/x-pack/filebeat/module/netflow/log/manifest.yml +++ b/x-pack/filebeat/module/netflow/log/manifest.yml @@ -17,6 +17,7 @@ var: - name: detect_sequence_reset - name: tags default: [forwarded] + - name: internal_networks ingest_pipeline: ingest/pipeline.yml input: config/netflow.yml diff --git a/x-pack/filebeat/module/threatintel/_meta/config.yml b/x-pack/filebeat/module/threatintel/_meta/config.yml index 9ee88db47ed..72a5df6377b 100644 --- a/x-pack/filebeat/module/threatintel/_meta/config.yml +++ b/x-pack/filebeat/module/threatintel/_meta/config.yml @@ -9,7 +9,7 @@ var.url: https://urlhaus-api.abuse.ch/v1/urls/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m abusemalware: enabled: true @@ -21,7 +21,7 @@ var.url: https://urlhaus-api.abuse.ch/v1/payloads/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m misp: enabled: true @@ -35,6 +35,10 @@ # The authentication token used to contact the MISP API. Found when looking at user account in the MISP UI. var.api_token: API_KEY + # Configures the type of SSL verification done, if MISP is running on self signed certificates + # then the certificate would either need to be trusted, or verification_mode set to none. + #var.ssl.verification_mode: none + # Optional filters that can be applied to the API for filtering out results. This should support the majority of fields in a MISP context. # For examples please reference the filebeat module documentation. #var.filters: @@ -43,10 +47,10 @@ # How far back to look once the beat starts up for the first time, the value has to be in hours. Each request afterwards will filter on any event newer # than the last event that was already ingested. - var.first_interval: 24h + var.first_interval: 300h # The interval to poll the API for updates. - var.interval: 60m + var.interval: 5m otx: enabled: true @@ -63,14 +67,17 @@ # Optional filters that can be applied to retrieve only specific indicators. #var.types: "domain,IPv4,hostname,url,FileHash-SHA256" + # The timeout of the HTTP client connecting to the OTX API + #var.http_client_timeout: 120s + # How many hours to look back for each request, should be close to the configured interval. Deduplication of events is handled by the module. - var.lookback_range: 2h + var.lookback_range: 1h # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m anomali: enabled: true @@ -78,7 +85,8 @@ # Input used for ingesting threat intel data var.input: httpjson - # The URL used for Threat Intel API calls. + # The URL used for Threat Intel API calls. Limo has multiple different possibilities for URL's depending + # on the type of threat intel source that is needed. var.url: https://limo.anomali.com/api/v1/taxii2/feeds/collections/41/objects # The Username used by anomali Limo, defaults to guest. @@ -88,7 +96,7 @@ #var.password: guest # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m diff --git a/x-pack/filebeat/module/threatintel/_meta/docs.asciidoc b/x-pack/filebeat/module/threatintel/_meta/docs.asciidoc index b6711a419dc..997460dcd23 100644 --- a/x-pack/filebeat/module/threatintel/_meta/docs.asciidoc +++ b/x-pack/filebeat/module/threatintel/_meta/docs.asciidoc @@ -7,8 +7,8 @@ == Threat Intel module beta[] -This module is a collection of different threat intelligence sources. The ingested data is meant to be used with [Indicator Match rules]https://www.elastic.co/guide/en/security/7.11/rules-ui-create.html#create-indicator-rule, but is also -compatible with other features like [Enrich Processors]https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-processor.html. +This module is a collection of different threat intelligence sources. The ingested data is meant to be used with https://www.elastic.co/guide/en/security/7.11/rules-ui-create.html#create-indicator-rule[Indicator Match rules], but is also +compatible with other features like https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-processor.html[Enrich Processors]. The related threat intel attribute that is meant to be used for matching incoming source data is stored under the `threatintel.indicator.*` fields. Currently supporting: diff --git a/x-pack/filebeat/module/threatintel/abusemalware/config/config.yml b/x-pack/filebeat/module/threatintel/abusemalware/config/config.yml index 5922dd8838a..145dfe246dd 100644 --- a/x-pack/filebeat/module/threatintel/abusemalware/config/config.yml +++ b/x-pack/filebeat/module/threatintel/abusemalware/config/config.yml @@ -6,7 +6,7 @@ interval: {{ .interval }} request.method: GET {{ if .ssl }} - - request.ssl: {{ .ssl | tojson }} +request.ssl: {{ .ssl | tojson }} {{ end }} request.url: {{ .url }} request.transforms: @@ -33,9 +33,11 @@ publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - decode_json_fields: - document_id: "md5_hash" fields: [message] target: json + - fingerprint: + fields: ["json.md5_hash"] + target_field: "@metadata._id" - add_fields: target: '' fields: diff --git a/x-pack/filebeat/module/threatintel/abusemalware/test/abusechmalware.ndjson.log-expected.json b/x-pack/filebeat/module/threatintel/abusemalware/test/abusechmalware.ndjson.log-expected.json index 3a511662725..c3d6c804d75 100644 --- a/x-pack/filebeat/module/threatintel/abusemalware/test/abusechmalware.ndjson.log-expected.json +++ b/x-pack/filebeat/module/threatintel/abusemalware/test/abusechmalware.ndjson.log-expected.json @@ -10,6 +10,7 @@ "input.type": "log", "log.offset": 0, "related.hash": [ + "7871286a8f1f68a14b18ae475683f724", "48a6aee18bcfe9058b35b1018832aef1c9efd8f50ac822f49abb484a5e2a4b1f", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG5:X5DpBw/KViMTB1MnEWk0115JW", "68aea345b134d576ccdef7f06db86088" @@ -19,6 +20,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "7871286a8f1f68a14b18ae475683f724", "threatintel.indicator.file.hash.sha256": "48a6aee18bcfe9058b35b1018832aef1c9efd8f50ac822f49abb484a5e2a4b1f", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG5:X5DpBw/KViMTB1MnEWk0115JW", "threatintel.indicator.file.hash.tlsh": "1344D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -39,6 +41,7 @@ "input.type": "log", "log.offset": 580, "related.hash": [ + "7b4c77dc293347b467fb860e34515163", "ec59538e8de8525b1674b3b8fe0c180ac822145350bcce054ad3fc6b95b1b5a4", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGY:X5DpBw/KViMTB1MnEWk0115Jr", "68aea345b134d576ccdef7f06db86088" @@ -48,6 +51,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "7b4c77dc293347b467fb860e34515163", "threatintel.indicator.file.hash.sha256": "ec59538e8de8525b1674b3b8fe0c180ac822145350bcce054ad3fc6b95b1b5a4", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGY:X5DpBw/KViMTB1MnEWk0115Jr", "threatintel.indicator.file.hash.tlsh": "4E44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -68,6 +72,7 @@ "input.type": "log", "log.offset": 1160, "related.hash": [ + "373d34874d7bc89fd4cefa6272ee80bf", "b0e914d1bbe19433cc9df64ea1ca07fe77f7b150b511b786e46e007941a62bd7", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGG:X5DpBw/KViMTB1MnEWk0115Jd", "68aea345b134d576ccdef7f06db86088" @@ -80,6 +85,7 @@ "threatintel.abusemalware.virustotal.link": "https://www.virustotal.com/gui/file/b0e914d1bbe19433cc9df64ea1ca07fe77f7b150b511b786e46e007941a62bd7/detection/f-b0e914d", "threatintel.abusemalware.virustotal.percent": "37.88", "threatintel.abusemalware.virustotal.result": "25 / 66", + "threatintel.indicator.file.hash.md5": "373d34874d7bc89fd4cefa6272ee80bf", "threatintel.indicator.file.hash.sha256": "b0e914d1bbe19433cc9df64ea1ca07fe77f7b150b511b786e46e007941a62bd7", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGG:X5DpBw/KViMTB1MnEWk0115Jd", "threatintel.indicator.file.hash.tlsh": "7544D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -100,6 +106,7 @@ "input.type": "log", "log.offset": 1904, "related.hash": [ + "e2e02aae857488dbdbe6631c29abf3f8", "7483e834a73fb6817769596fe4c0fa01d28639f52bbbdc2b8a56c36d466dd7f8", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJ9:0h3eZgRQCcw+MN54dEq7kqRtoLZH", "68aea345b134d576ccdef7f06db86088" @@ -109,6 +116,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "e2e02aae857488dbdbe6631c29abf3f8", "threatintel.indicator.file.hash.sha256": "7483e834a73fb6817769596fe4c0fa01d28639f52bbbdc2b8a56c36d466dd7f8", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJ9:0h3eZgRQCcw+MN54dEq7kqRtoLZH", "threatintel.indicator.file.hash.tlsh": "5554CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -129,6 +137,7 @@ "input.type": "log", "log.offset": 2493, "related.hash": [ + "3e988e32b0c3c230d534e286665b89a5", "760e729426fb115b967a41e5a6f2f42d7a52a5cee74ed99065a6dc39bf89f59b", "6:TE6ll8uXi0jIAv6BHvPuA7RKTmOQamsQMGvMQgTYbtsWsQ72hCqPZG/:TTll8uTo5uA7RKtQamsS0QJfsQ7mCR" ], @@ -137,6 +146,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "3e988e32b0c3c230d534e286665b89a5", "threatintel.indicator.file.hash.sha256": "760e729426fb115b967a41e5a6f2f42d7a52a5cee74ed99065a6dc39bf89f59b", "threatintel.indicator.file.hash.ssdeep": "6:TE6ll8uXi0jIAv6BHvPuA7RKTmOQamsQMGvMQgTYbtsWsQ72hCqPZG/:TTll8uTo5uA7RKtQamsS0QJfsQ7mCR", "threatintel.indicator.file.hash.tlsh": "3CE0C002AB26C036500D154C221655B3B871911503CA14E6A6824BEA765D4A3290D190", @@ -156,6 +166,7 @@ "input.type": "log", "log.offset": 3054, "related.hash": [ + "dcc20d534cdf29eab03d8148bf728857", "86655c0bcf9b21b5efc682f58eb80f42811042ba152358e1bfbbb867315a60ac", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGI:X5DpBw/KViMTB1MnEWk0115JH", "68aea345b134d576ccdef7f06db86088" @@ -168,6 +179,7 @@ "threatintel.abusemalware.virustotal.link": "https://www.virustotal.com/gui/file/86655c0bcf9b21b5efc682f58eb80f42811042ba152358e1bfbbb867315a60ac/detection/f-86655c0", "threatintel.abusemalware.virustotal.percent": "39.13", "threatintel.abusemalware.virustotal.result": "27 / 69", + "threatintel.indicator.file.hash.md5": "dcc20d534cdf29eab03d8148bf728857", "threatintel.indicator.file.hash.sha256": "86655c0bcf9b21b5efc682f58eb80f42811042ba152358e1bfbbb867315a60ac", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGI:X5DpBw/KViMTB1MnEWk0115JH", "threatintel.indicator.file.hash.tlsh": "0D44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -188,6 +200,7 @@ "input.type": "log", "log.offset": 3798, "related.hash": [ + "f6facbf7a90b9e67a6de9f6634eb40ba", "e91c9e11d3ce4f55fabd7196279367482d2fabfa32df81e614b15fc53b4e26be", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJ1:0h3eZgRQCcw+MN54dEq7kqRtoLZL", "68aea345b134d576ccdef7f06db86088" @@ -197,6 +210,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "f6facbf7a90b9e67a6de9f6634eb40ba", "threatintel.indicator.file.hash.sha256": "e91c9e11d3ce4f55fabd7196279367482d2fabfa32df81e614b15fc53b4e26be", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJ1:0h3eZgRQCcw+MN54dEq7kqRtoLZL", "threatintel.indicator.file.hash.tlsh": "2554CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -217,6 +231,7 @@ "input.type": "log", "log.offset": 4387, "related.hash": [ + "44325fd5bdda2e2cdea07c3a39953bb1", "beedbbcacfc34b5edd8c68e3e4acf364992ebbcd989548e09e38fa03c5659bac", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG/:X5DpBw/KViMTB1MnEWk0115Jg", "68aea345b134d576ccdef7f06db86088" @@ -226,6 +241,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "44325fd5bdda2e2cdea07c3a39953bb1", "threatintel.indicator.file.hash.sha256": "beedbbcacfc34b5edd8c68e3e4acf364992ebbcd989548e09e38fa03c5659bac", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG/:X5DpBw/KViMTB1MnEWk0115Jg", "threatintel.indicator.file.hash.tlsh": "A044D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -246,6 +262,7 @@ "input.type": "log", "log.offset": 4967, "related.hash": [ + "4c549051950522a3f1b0814aa9b1f6d1", "7cba55da723c0e020267a02e6ffc83e03a83701757fc4ec65ea398618ad881cf", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG4:X5DpBw/KViMTB1MnEWk0115Jv", "68aea345b134d576ccdef7f06db86088" @@ -256,6 +273,7 @@ "forwarded" ], "threatintel.abusemalware.signature": "Heodo", + "threatintel.indicator.file.hash.md5": "4c549051950522a3f1b0814aa9b1f6d1", "threatintel.indicator.file.hash.sha256": "7cba55da723c0e020267a02e6ffc83e03a83701757fc4ec65ea398618ad881cf", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG4:X5DpBw/KViMTB1MnEWk0115Jv", "threatintel.indicator.file.hash.tlsh": "4544D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -276,6 +294,7 @@ "input.type": "log", "log.offset": 5550, "related.hash": [ + "d7333113098d88b6a5dd5b8eb24f9b87", "426be5e085e6bbad8430223dc89d8d3ced497133f8d478fd00005bcbb73399d4", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJw:0h3eZgRQCcw+MN54dEq7kqRtoLZW", "68aea345b134d576ccdef7f06db86088" @@ -285,6 +304,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "d7333113098d88b6a5dd5b8eb24f9b87", "threatintel.indicator.file.hash.sha256": "426be5e085e6bbad8430223dc89d8d3ced497133f8d478fd00005bcbb73399d4", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJw:0h3eZgRQCcw+MN54dEq7kqRtoLZW", "threatintel.indicator.file.hash.tlsh": "9454CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -305,6 +325,7 @@ "input.type": "log", "log.offset": 6139, "related.hash": [ + "c8dbb261c1f450534c3693da2f4b479f", "25093afdaeb3ea000743ab843360a6b64f58c0a1ab950072ba6528056735deb9", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGe:X5DpBw/KViMTB1MnEWk0115JR", "68aea345b134d576ccdef7f06db86088" @@ -314,6 +335,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "c8dbb261c1f450534c3693da2f4b479f", "threatintel.indicator.file.hash.sha256": "25093afdaeb3ea000743ab843360a6b64f58c0a1ab950072ba6528056735deb9", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGe:X5DpBw/KViMTB1MnEWk0115JR", "threatintel.indicator.file.hash.tlsh": "F344D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -334,6 +356,7 @@ "input.type": "log", "log.offset": 6719, "related.hash": [ + "714953f1d0031a4bb2f0c44afd015931", "b3327a96280365e441057f490df6261c9a2400fd63719eb9a7a0c9db95beecc5", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGc:X5DpBw/KViMTB1MnEWk0115J7", "68aea345b134d576ccdef7f06db86088" @@ -343,6 +366,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "714953f1d0031a4bb2f0c44afd015931", "threatintel.indicator.file.hash.sha256": "b3327a96280365e441057f490df6261c9a2400fd63719eb9a7a0c9db95beecc5", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGc:X5DpBw/KViMTB1MnEWk0115J7", "threatintel.indicator.file.hash.tlsh": "F644D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -363,6 +387,7 @@ "input.type": "log", "log.offset": 7299, "related.hash": [ + "20fd22742500d4cec123398afc3d3672", "e92b54904391c171238863b584355197ba4508f73320a8e89afbb5425fc2dc4b", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGc:X5DpBw/KViMTB1MnEWk0115JP", "68aea345b134d576ccdef7f06db86088" @@ -372,6 +397,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "20fd22742500d4cec123398afc3d3672", "threatintel.indicator.file.hash.sha256": "e92b54904391c171238863b584355197ba4508f73320a8e89afbb5425fc2dc4b", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGc:X5DpBw/KViMTB1MnEWk0115JP", "threatintel.indicator.file.hash.tlsh": "BE44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -392,6 +418,7 @@ "input.type": "log", "log.offset": 7879, "related.hash": [ + "aa81ceea053797a6f8c38a0f2f9b80b0", "dd15e74b3cd3a4fdb5f47adefd6f90e27d5a20e01316cc791711f6dce7c0f52e", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGf:X5DpBw/KViMTB1MnEWk0115Jo", "68aea345b134d576ccdef7f06db86088" @@ -401,6 +428,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "aa81ceea053797a6f8c38a0f2f9b80b0", "threatintel.indicator.file.hash.sha256": "dd15e74b3cd3a4fdb5f47adefd6f90e27d5a20e01316cc791711f6dce7c0f52e", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGf:X5DpBw/KViMTB1MnEWk0115Jo", "threatintel.indicator.file.hash.tlsh": "CC44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -421,6 +449,7 @@ "input.type": "log", "log.offset": 8459, "related.hash": [ + "a2ce6795664c0fa93b07fa54ba868991", "0fae1eeabc4f5e07bd16f7851aec5ab6032d407c7ff0270f2b6e85c2a3efebd1", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGD:X5DpBw/KViMTB1MnEWk0115JY", "68aea345b134d576ccdef7f06db86088" @@ -431,6 +460,7 @@ "forwarded" ], "threatintel.abusemalware.signature": "Heodo", + "threatintel.indicator.file.hash.md5": "a2ce6795664c0fa93b07fa54ba868991", "threatintel.indicator.file.hash.sha256": "0fae1eeabc4f5e07bd16f7851aec5ab6032d407c7ff0270f2b6e85c2a3efebd1", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGD:X5DpBw/KViMTB1MnEWk0115JY", "threatintel.indicator.file.hash.tlsh": "8C44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -451,6 +481,7 @@ "input.type": "log", "log.offset": 9042, "related.hash": [ + "9b9bac158dacb9c2f5511e9c464a7de4", "07a9d84c0b2c8cf1fd90ab409b9399d06920ab4b6efb647b5a3b9bef1045ee7e", "6144:WlLMUG2gFWLDFO9vNa11y3NPcJufFFTXNZrjJTKk:W5MT4WNaHy9P1FjbrjlKk", "68aea345b134d576ccdef7f06db86088" @@ -460,6 +491,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "9b9bac158dacb9c2f5511e9c464a7de4", "threatintel.indicator.file.hash.sha256": "07a9d84c0b2c8cf1fd90ab409b9399d06920ab4b6efb647b5a3b9bef1045ee7e", "threatintel.indicator.file.hash.ssdeep": "6144:WlLMUG2gFWLDFO9vNa11y3NPcJufFFTXNZrjJTKk:W5MT4WNaHy9P1FjbrjlKk", "threatintel.indicator.file.hash.tlsh": "6B54CF217A53C826F5E800FCA6E9878914167F346F44A4C773D40F6AA8759E2EF2B317", @@ -480,6 +512,7 @@ "input.type": "log", "log.offset": 9611, "related.hash": [ + "e48e3fa5e0f7b21c1ecf1efc81ff91e8", "708c0193aec6354af6877f314d4b0e3864552bac77258bee9ee5bf886a116df5", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGo:X5DpBw/KViMTB1MnEWk0115Jj", "68aea345b134d576ccdef7f06db86088" @@ -489,6 +522,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "e48e3fa5e0f7b21c1ecf1efc81ff91e8", "threatintel.indicator.file.hash.sha256": "708c0193aec6354af6877f314d4b0e3864552bac77258bee9ee5bf886a116df5", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGo:X5DpBw/KViMTB1MnEWk0115Jj", "threatintel.indicator.file.hash.tlsh": "6644D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -509,6 +543,7 @@ "input.type": "log", "log.offset": 10191, "related.hash": [ + "8957f5347633ab4b10c2ae4fb92c8572", "f70a3c016fe791eb30959961f0bcaa08ba7b738491b9ae61cb4a667cd1de8b37", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJy:0h3eZgRQCcw+MN54dEq7kqRtoLZM", "68aea345b134d576ccdef7f06db86088" @@ -519,6 +554,7 @@ "forwarded" ], "threatintel.abusemalware.signature": "Heodo", + "threatintel.indicator.file.hash.md5": "8957f5347633ab4b10c2ae4fb92c8572", "threatintel.indicator.file.hash.sha256": "f70a3c016fe791eb30959961f0bcaa08ba7b738491b9ae61cb4a667cd1de8b37", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJy:0h3eZgRQCcw+MN54dEq7kqRtoLZM", "threatintel.indicator.file.hash.tlsh": "0754CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -539,6 +575,7 @@ "input.type": "log", "log.offset": 10783, "related.hash": [ + "09cc76b7077b4d5704e46e864575ff03", "94ca186561b13fa9b1bf15f7e66118debc686b40d2a62a5cf4b3c6ca6ee1c7a1", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG/:X5DpBw/KViMTB1MnEWk0115Js", "68aea345b134d576ccdef7f06db86088" @@ -548,6 +585,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "09cc76b7077b4d5704e46e864575ff03", "threatintel.indicator.file.hash.sha256": "94ca186561b13fa9b1bf15f7e66118debc686b40d2a62a5cf4b3c6ca6ee1c7a1", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG/:X5DpBw/KViMTB1MnEWk0115Js", "threatintel.indicator.file.hash.tlsh": "BB44D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -568,6 +606,7 @@ "input.type": "log", "log.offset": 11363, "related.hash": [ + "98a1cdf7de4232363f1d1e0f33dbfd99", "909f890dbc5748845cf06d0fb0b73a5c0cb17761f37e9cd4810eea0d0eb8627f", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJQ:0h3eZgRQCcw+MN54dEq7kqRtoLZ+", "68aea345b134d576ccdef7f06db86088" @@ -577,6 +616,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "98a1cdf7de4232363f1d1e0f33dbfd99", "threatintel.indicator.file.hash.sha256": "909f890dbc5748845cf06d0fb0b73a5c0cb17761f37e9cd4810eea0d0eb8627f", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJQ:0h3eZgRQCcw+MN54dEq7kqRtoLZ+", "threatintel.indicator.file.hash.tlsh": "C554CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -597,6 +637,7 @@ "input.type": "log", "log.offset": 11952, "related.hash": [ + "8a51830c1662513ba6bd44e2f7849547", "d1fa76346bef5bc8adaa615e109894a7c30f0bef07ab6272409c4056ea8d52aa", "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJh:0h3eZgRQCcw+MN54dEq7kqRtoLZ/", "68aea345b134d576ccdef7f06db86088" @@ -607,6 +648,7 @@ "forwarded" ], "threatintel.abusemalware.signature": "Heodo", + "threatintel.indicator.file.hash.md5": "8a51830c1662513ba6bd44e2f7849547", "threatintel.indicator.file.hash.sha256": "d1fa76346bef5bc8adaa615e109894a7c30f0bef07ab6272409c4056ea8d52aa", "threatintel.indicator.file.hash.ssdeep": "6144:0hlBeZgR9LqvgFcwNAwhGV52n5Dv4JdEqvQykqRqYdBx8pRA7OZJh:0h3eZgRQCcw+MN54dEq7kqRtoLZ/", "threatintel.indicator.file.hash.tlsh": "1654CF22E642C926F1E900FCB2A98B4451257E355F40F4D777C40FABA835AE2AF27717", @@ -627,6 +669,7 @@ "input.type": "log", "log.offset": 12544, "related.hash": [ + "ae21d742a8118d6b86674aa5370bd6a7", "3b9698b6c18bcba15ee33378440dd3f42509730e6b1d2d5832c71a74b1920e51", "6144:WlLMUG2gFWLDFO9vNa11y3NPcJufFFTXNZrjJTKS:W5MT4WNaHy9P1FjbrjlKS", "68aea345b134d576ccdef7f06db86088" @@ -636,6 +679,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "ae21d742a8118d6b86674aa5370bd6a7", "threatintel.indicator.file.hash.sha256": "3b9698b6c18bcba15ee33378440dd3f42509730e6b1d2d5832c71a74b1920e51", "threatintel.indicator.file.hash.ssdeep": "6144:WlLMUG2gFWLDFO9vNa11y3NPcJufFFTXNZrjJTKS:W5MT4WNaHy9P1FjbrjlKS", "threatintel.indicator.file.hash.tlsh": "5454CF217A53C826F5E800FCA6E9878925167F346F44A4C373D40F6AA8759E2DF2B317", @@ -656,6 +700,7 @@ "input.type": "log", "log.offset": 13113, "related.hash": [ + "78c9d88d24ed1d982a83216eed1590f6", "d11edc90f0e879a175abc6e2ce5c94a263aa2a01cd3b6e8b9fdf93a51235ae99", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG8:X5DpBw/KViMTB1MnEWk0115Jr", "68aea345b134d576ccdef7f06db86088" @@ -665,6 +710,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "78c9d88d24ed1d982a83216eed1590f6", "threatintel.indicator.file.hash.sha256": "d11edc90f0e879a175abc6e2ce5c94a263aa2a01cd3b6e8b9fdf93a51235ae99", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JG8:X5DpBw/KViMTB1MnEWk0115Jr", "threatintel.indicator.file.hash.tlsh": "6044D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", @@ -685,6 +731,7 @@ "input.type": "log", "log.offset": 13693, "related.hash": [ + "236577d5d83e2a8d08623a7a7f724188", "8cd28fed7ebdcd79ea2509dca84f0a727ca28d4eaaed5a92cd10b1279ff16afa", "6144:X1G3WVIOY6Bdjehj+qudd96ou/6mv5wdC:X1GmSafShjYdd96z/6cwdC", "ed2860c18f5483e3b5388bad75169dc1" @@ -694,6 +741,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "236577d5d83e2a8d08623a7a7f724188", "threatintel.indicator.file.hash.sha256": "8cd28fed7ebdcd79ea2509dca84f0a727ca28d4eaaed5a92cd10b1279ff16afa", "threatintel.indicator.file.hash.ssdeep": "6144:X1G3WVIOY6Bdjehj+qudd96ou/6mv5wdC:X1GmSafShjYdd96z/6cwdC", "threatintel.indicator.file.hash.tlsh": "8D34BE41B28B8B4BD163163C2976D1F8953CFC909761CE693B64B22F0F739D0892E7A5", @@ -714,6 +762,7 @@ "input.type": "log", "log.offset": 14256, "related.hash": [ + "ff60107d82dcda7e6726d214528758e7", "fb25d13188a5d0913bbcf5aeff6c7e3208ad92a7d10ab6bed2735f4d43310a27", "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGz:X5DpBw/KViMTB1MnEWk0115JU", "68aea345b134d576ccdef7f06db86088" @@ -723,6 +772,7 @@ "threatintel-abusemalware", "forwarded" ], + "threatintel.indicator.file.hash.md5": "ff60107d82dcda7e6726d214528758e7", "threatintel.indicator.file.hash.sha256": "fb25d13188a5d0913bbcf5aeff6c7e3208ad92a7d10ab6bed2735f4d43310a27", "threatintel.indicator.file.hash.ssdeep": "6144:+60EDP6uCLfGw/GpxXinM1BCo1PlumGx2mx2tXd0t115JGz:X5DpBw/KViMTB1MnEWk0115JU", "threatintel.indicator.file.hash.tlsh": "9244D022AD13DD37E1F400FCA6A58F8561626E381F00A89777D41F8A98356F1BB2B717", diff --git a/x-pack/filebeat/module/threatintel/abuseurl/config/config.yml b/x-pack/filebeat/module/threatintel/abuseurl/config/config.yml index 0ac7ef6c143..96affa7da97 100644 --- a/x-pack/filebeat/module/threatintel/abuseurl/config/config.yml +++ b/x-pack/filebeat/module/threatintel/abuseurl/config/config.yml @@ -6,7 +6,7 @@ interval: {{ .interval }} request.method: GET {{ if .ssl }} - - request.ssl: {{ .ssl | tojson }} +request.ssl: {{ .ssl | tojson }} {{ end }} request.url: {{ .url }} request.transforms: @@ -33,9 +33,11 @@ publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - decode_json_fields: - document_id: "id" fields: [message] target: json + - fingerprint: + fields: ["json.id"] + target_field: "@metadata._id" - add_fields: target: '' fields: diff --git a/x-pack/filebeat/module/threatintel/abuseurl/test/abusechurl.ndjson.log-expected.json b/x-pack/filebeat/module/threatintel/abuseurl/test/abusechurl.ndjson.log-expected.json index 5f12181b2db..25ce780046f 100644 --- a/x-pack/filebeat/module/threatintel/abuseurl/test/abusechurl.ndjson.log-expected.json +++ b/x-pack/filebeat/module/threatintel/abuseurl/test/abusechurl.ndjson.log-expected.json @@ -16,6 +16,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961548", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "elf", @@ -51,6 +52,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961546", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "elf", @@ -86,6 +88,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961547", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "elf", @@ -121,6 +124,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961545", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "elf", @@ -156,6 +160,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961544", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -191,6 +196,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961543", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -226,6 +232,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961540", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -261,6 +268,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961541", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -296,6 +304,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961542", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -331,6 +340,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961539", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -366,6 +376,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961538", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -401,6 +412,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961537", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -436,6 +448,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961531", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -471,6 +484,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961532", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -506,6 +520,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961533", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -541,6 +556,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961534", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -576,6 +592,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961535", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -611,6 +628,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961536", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -646,6 +664,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961530", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "elf", @@ -681,6 +700,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961525", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -716,6 +736,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961526", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -751,6 +772,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961527", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -786,6 +808,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961528", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -821,6 +844,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961529", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -856,6 +880,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961524", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "Mozi" @@ -890,6 +915,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961523", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "Mozi" @@ -924,6 +950,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961520", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "Mozi" @@ -958,6 +985,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961521", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "Mozi" @@ -992,6 +1020,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961522", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "Mozi" @@ -1026,6 +1055,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961518", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1060,6 +1090,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961519", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1095,6 +1126,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961516", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "32-bit", @@ -1131,6 +1163,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961517", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1166,6 +1199,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961515", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1200,6 +1234,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961513", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1234,6 +1269,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961514", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1268,6 +1304,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961509", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1302,6 +1339,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961510", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1336,6 +1374,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961511", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "32-bit", @@ -1371,6 +1410,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961512", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "Mozi" @@ -1405,6 +1445,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961507", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1440,6 +1481,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961508", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1475,6 +1517,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961506", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1510,6 +1553,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961504", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1545,6 +1589,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961505", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1580,6 +1625,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961500", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1615,6 +1661,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961501", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1650,6 +1697,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961502", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1685,6 +1733,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961503", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1720,6 +1769,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961496", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1755,6 +1805,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961497", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1790,6 +1841,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961498", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1825,6 +1877,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961499", "threatintel.abuseurl.larted": true, "threatintel.abuseurl.tags": [ "elf", @@ -1860,6 +1913,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961494", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -1893,6 +1947,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961495", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -1926,6 +1981,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961492", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -1959,6 +2015,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961493", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -1992,6 +2049,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961490", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2025,6 +2083,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961491", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2058,6 +2117,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961489", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2091,6 +2151,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961488", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2124,6 +2185,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961487", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2157,6 +2219,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961485", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2190,6 +2253,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961486", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2223,6 +2287,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961482", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2256,6 +2321,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961483", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2289,6 +2355,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961484", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2322,6 +2389,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961480", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2355,6 +2423,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961481", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2388,6 +2457,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961478", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2421,6 +2491,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961479", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2454,6 +2525,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961476", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2487,6 +2559,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961477", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2520,6 +2593,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961470", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2553,6 +2627,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961471", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2586,6 +2661,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961472", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2619,6 +2695,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961473", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2652,6 +2729,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961474", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2685,6 +2763,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961475", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2718,6 +2797,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961468", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2751,6 +2831,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961469", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2784,6 +2865,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961467", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2817,6 +2899,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961464", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2850,6 +2933,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961465", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2883,6 +2967,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961466", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2916,6 +3001,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961461", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2949,6 +3035,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961462", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -2982,6 +3069,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961463", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3015,6 +3103,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961458", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3048,6 +3137,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961459", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3081,6 +3171,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961460", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3114,6 +3205,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961455", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3147,6 +3239,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961456", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3180,6 +3273,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961457", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3213,6 +3307,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961450", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3246,6 +3341,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961451", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3279,6 +3375,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961452", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3312,6 +3409,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961453", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3345,6 +3443,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961454", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" @@ -3378,6 +3477,7 @@ ], "threatintel.abuseurl.blacklists.spamhaus_dbl": "not listed", "threatintel.abuseurl.blacklists.surbl": "not listed", + "threatintel.abuseurl.id": "961448", "threatintel.abuseurl.larted": false, "threatintel.abuseurl.tags": [ "sLoad" diff --git a/x-pack/filebeat/module/threatintel/anomali/config/config.yml b/x-pack/filebeat/module/threatintel/anomali/config/config.yml index 19e58b4bc12..fd55b6e07c2 100644 --- a/x-pack/filebeat/module/threatintel/anomali/config/config.yml +++ b/x-pack/filebeat/module/threatintel/anomali/config/config.yml @@ -12,7 +12,7 @@ auth.basic.password: {{ .password }} {{ end }} request.method: GET {{ if .ssl }} - - request.ssl: {{ .ssl | tojson }} +request.ssl: {{ .ssl | tojson }} {{ end }} request.url: {{ .url }} request.redirect.forward_headers: true @@ -32,7 +32,7 @@ request.transforms: - set: target: url.params.added_after value: '[[.cursor.timestamp]]' - default: '[[ formatDate (now (parseDuration "-{{ .first_interval }}")) "2006-01-02T15:04:05.999Z" ]]' + default: '[[ formatDate (now (parseDuration "-{{ .first_interval }}")) "2006-01-02T15:04:05.000Z" ]]' response.split: target: body.objects @@ -58,8 +58,10 @@ publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - decode_json_fields: fields: [message] - document_id: id target: json + - fingerprint: + fields: ["json.id"] + target_field: "@metadata._id" - add_fields: target: '' fields: diff --git a/x-pack/filebeat/module/threatintel/anomali/ingest/pipeline.yml b/x-pack/filebeat/module/threatintel/anomali/ingest/pipeline.yml index 0f16b62643a..239cbc608f5 100644 --- a/x-pack/filebeat/module/threatintel/anomali/ingest/pipeline.yml +++ b/x-pack/filebeat/module/threatintel/anomali/ingest/pipeline.yml @@ -32,6 +32,10 @@ processors: - date: field: threatintel.anomali.created formats: + - "yyyy-MM-dd'T'HH:mm:ssz" + - "yyyy-MM-dd'T'HH:mm:ssZ" + - "yyyy-MM-dd'T'HH:mm:ss.Sz" + - "yyyy-MM-dd'T'HH:mm:ss.SZ" - "yyyy-MM-dd'T'HH:mm:ss.SSz" - "yyyy-MM-dd'T'HH:mm:ss.SSZ" - "yyyy-MM-dd'T'HH:mm:ss.SSSz" @@ -41,20 +45,24 @@ processors: field: threatintel.anomali.modified target_field: threatintel.anomali.modified formats: + - "yyyy-MM-dd'T'HH:mm:ss.Sz" + - "yyyy-MM-dd'T'HH:mm:ss.SZ" - "yyyy-MM-dd'T'HH:mm:ss.SSz" - "yyyy-MM-dd'T'HH:mm:ss.SSZ" - "yyyy-MM-dd'T'HH:mm:ss.SSSz" - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" - if: "ctx?.threatintel?.anomali?.created != null" + if: "ctx?.threatintel?.anomali?.modified != null" - date: field: threatintel.anomali.valid_from target_field: threatintel.anomali.valid_from formats: + - "yyyy-MM-dd'T'HH:mm:ss.Sz" + - "yyyy-MM-dd'T'HH:mm:ss.SZ" - "yyyy-MM-dd'T'HH:mm:ss.SSz" - "yyyy-MM-dd'T'HH:mm:ss.SSZ" - "yyyy-MM-dd'T'HH:mm:ss.SSSz" - "yyyy-MM-dd'T'HH:mm:ss.SSSZ" - if: "ctx?.threatintel?.anomali?.created != null" + if: "ctx?.threatintel?.anomali?.valid_from != null" - grok: field: threatintel.anomali.pattern patterns: diff --git a/x-pack/filebeat/module/threatintel/anomali/test/anomali_limo.ndjson.log-expected.json b/x-pack/filebeat/module/threatintel/anomali/test/anomali_limo.ndjson.log-expected.json index 69205da6d59..c40db227906 100644 --- a/x-pack/filebeat/module/threatintel/anomali/test/anomali_limo.ndjson.log-expected.json +++ b/x-pack/filebeat/module/threatintel/anomali/test/anomali_limo.ndjson.log-expected.json @@ -14,6 +14,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332361; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--44c85d4f-45ca-4977-b693-c810bbfb7a28", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -49,6 +50,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332307; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f9fe5c81-6869-4247-af81-62b7c8aba209", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -84,6 +86,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332302; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b0e14122-9005-4776-99fc-00872476c6d1", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -118,6 +121,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332312; iType: mal_url; State: active; Org: Digital Ocean; Source: CyberCrime", + "threatintel.anomali.id": "indicator--111ec76f-616d-4aa8-80fd-e11ef0066aba", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -152,6 +156,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332386; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--189ce776-6d7e-4e85-9222-de5876644988", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -187,6 +192,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332391; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--a4144d34-b86d-475e-8047-eb46b48ee325", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -222,6 +228,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332372; iType: mal_ip; State: active; Org: Unified Layer; Source: CyberCrime", + "threatintel.anomali.id": "indicator--983d9c3d-b7f8-4345-b643-b1d18e6ac6b2", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -253,6 +260,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332313; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f9c6386b-dba2-41f9-8160-d307671e5c8e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -288,6 +296,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332350; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--98fad53e-5389-47f7-a3ff-44d334af2d6b", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -323,6 +332,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332291; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--76c01735-fb76-463d-9609-9ea3aedf3f4f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -357,6 +367,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332343; iType: mal_ip; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e0a812dc-63c8-4949-b038-2241b2dbfcdc", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -388,6 +399,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332316; iType: mal_url; State: active; Org: Sksa Technology Sdn Bhd; Source: CyberCrime", + "threatintel.anomali.id": "indicator--6f0d8607-21cb-4738-9712-f4fd91a37f7d", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -423,6 +435,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332284; iType: mal_url; State: active; Org: Oltelecom Jsc; Source: CyberCrime", + "threatintel.anomali.id": "indicator--c649d6d4-87c4-4b76-bfc2-75a509ccb187", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -457,6 +470,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332337; iType: mal_ip; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--408ebd2d-063f-4646-b2e7-c00519869736", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -488,6 +502,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332324; iType: mal_ip; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e1d215cb-c7a5-40e0-bc53-8f92a2bcaba8", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -519,6 +534,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332296; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--6f3a4a2b-62e3-48ef-94ae-70103f09cf7e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -553,6 +569,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332400; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--213519c9-f511-4188-89c8-159f35f08008", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -588,6 +605,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332396; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--5a563c85-c528-4e33-babe-2dcff34f73c4", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -623,6 +641,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332363; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f3e33aab-e2af-4c15-8cb9-f008a37cf986", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -658,6 +677,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332320; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f03f098d-2fa9-49e1-a7dd-02518aa105fa", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -693,6 +713,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332367; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e72e3ba0-7de5-46bb-ab1e-efdf3e0a0b3b", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -728,6 +749,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332317; iType: mal_url; State: active; Org: SoftLayer Technologies; Source: CyberCrime", + "threatintel.anomali.id": "indicator--d6b59b66-5020-4368-85a7-196026856ea9", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -763,6 +785,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332309; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--aff7b07f-acc7-4bec-ab19-1fce972bfd09", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -798,6 +821,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332286; iType: mal_url; State: active; Org: Garanntor-Hosting; Source: CyberCrime", + "threatintel.anomali.id": "indicator--ba71ba3a-1efd-40da-ab0d-f4397d6fc337", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -833,6 +857,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332339; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--17777e7f-3e91-4446-a43d-79139de8a948", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -868,6 +893,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332319; iType: mal_ip; State: active; Org: SoftLayer Technologies; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f6be1804-cfe4-4f41-9338-2b65f5b1dda1", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -899,6 +925,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332305; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b4fd8489-9589-4f70-996c-84989245a21b", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -933,6 +960,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332346; iType: mal_url; State: active; Org: Ifx Networks Colombia; Source: CyberCrime", + "threatintel.anomali.id": "indicator--bc50c62f-a015-4460-87df-2137626877e3", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -968,6 +996,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332323; iType: mal_url; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--2765af4b-bfb7-4ac8-82d2-ab6ed8a52461", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1003,6 +1032,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332399; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--9c0e63a1-c32a-470a-bf09-51488e239c63", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1038,6 +1068,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332328; iType: mal_ip; State: active; Org: RUCloud; Source: CyberCrime", + "threatintel.anomali.id": "indicator--8047678e-20be-4116-9bc4-7bb7c26554e0", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1069,6 +1100,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332377; iType: mal_url; State: active; Org: A100 ROW GmbH; Source: CyberCrime", + "threatintel.anomali.id": "indicator--c57a880c-1ce0-45de-9bab-fb2910454a61", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1104,6 +1136,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332101; iType: mal_ip; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--6056152c-0fa5-4e34-871a-3c8990f1ee46", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1135,6 +1168,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332357; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--23215acb-4989-4434-ac6d-8f9367734f0f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1170,6 +1204,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332289; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--452ece92-9ff2-4f99-8a7f-fd614ebea8cf", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1204,6 +1239,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332334; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--10958d74-ec60-41af-a1ab-1613257e670f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1239,6 +1275,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332326; iType: mal_url; State: active; Org: RUCloud; Source: CyberCrime", + "threatintel.anomali.id": "indicator--19556daa-6293-400d-8706-d0baa6b16b7a", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1274,6 +1311,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332311; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b09d9be9-6703-4a7d-a066-2baebb6418fc", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1309,6 +1347,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332341; iType: mal_url; State: active; Org: Institute of Philosophy, Russian Academy of Scienc; Source: CyberCrime", + "threatintel.anomali.id": "indicator--43febf7d-4185-4a12-a868-e7be690b14aa", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1343,6 +1382,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332303; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--a34728e6-f91d-47e6-a4d8-a69176299e45", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1377,6 +1417,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55241332380; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--ac821704-5eb2-4f8f-a8b6-2a168dbd0e54", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1412,6 +1453,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868747; iType: mal_ip; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--0d3e1bd8-0f16-4c22-b8a1-663ec255ad79", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1443,6 +1485,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868770; iType: mal_url; State: active; Org: Mills College; Source: CyberCrime", + "threatintel.anomali.id": "indicator--2cdd130a-c884-402d-b63c-e03f9448f5d9", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1478,6 +1521,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868769; iType: mal_url; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--88e98e13-4bfd-4188-941a-f696a7b86b71", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1513,6 +1557,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868772; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--27323b7d-85d3-4e89-8249-b7696925a772", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1548,6 +1593,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868766; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b0639721-de55-48c6-b237-3859d61aecfb", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1582,6 +1628,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868749; iType: mal_url; State: active; Org: ColoCrossing; Source: CyberCrime", + "threatintel.anomali.id": "indicator--677e714d-c237-42a1-b6b7-9145acd13eee", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1617,6 +1664,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868767; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--5baa1dbd-d74e-408c-92b5-0a9f97e4b87a", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1652,6 +1700,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55245868768; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--4563241e-5d2f-41a7-adb9-3925a5eeb1b1", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1687,6 +1736,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078037; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--70cb5d42-91d3-4efe-8c47-995fc0ac4141", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1722,6 +1772,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078030; iType: mal_ip; State: active; Org: Best-Hoster Group Co. Ltd.; Source: CyberCrime", + "threatintel.anomali.id": "indicator--3aa712bb-b5d4-4632-bf50-48a4aeeaeb6d", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1753,6 +1804,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078019; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--64227c7d-86ea-4146-a868-3decb5aa5f1d", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1787,6 +1839,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078035; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--37fcf9a7-1a90-4d81-be0a-e824a4fa938e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1822,6 +1875,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078008; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--5a38786f-107e-4060-a7c9-ea8a5ded6aac", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1857,6 +1911,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078038; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--3eb79b31-1d6d-438c-a848-24a3407f6e32", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1892,6 +1947,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078026; iType: mal_url; State: active; Org: IT DeLuxe Ltd.; Source: CyberCrime", + "threatintel.anomali.id": "indicator--a050832c-db6e-49a0-8470-7a3cd8f17178", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1926,6 +1982,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078034; iType: mal_url; State: active; Org: Branch of BachKim Network solutions jsc; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e88008f4-76fc-428d-831a-4b389e48b712", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1961,6 +2018,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078032; iType: mal_url; State: active; Org: ColoCrossing; Source: CyberCrime", + "threatintel.anomali.id": "indicator--dafe91cf-787c-471c-9afe-f7bb20a1b93f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -1996,6 +2054,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078031; iType: mal_url; State: active; Org: IT House, Ltd; Source: CyberCrime", + "threatintel.anomali.id": "indicator--232bdc34-44cb-4f41-af52-f6f1cd28818e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2031,6 +2090,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078027; iType: mal_url; State: active; Org: Branch of BachKim Network solutions jsc; Source: CyberCrime", + "threatintel.anomali.id": "indicator--4adabe80-3be4-401a-948a-f9724c872374", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2066,6 +2126,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078013; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--1d7051c0-a42b-4801-bd7f-f0abf2cc125c", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2100,6 +2161,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078017; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--fb06856c-8aad-4fae-92fc-b73aae4f6dc7", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2134,6 +2196,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078012; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--33e674f5-a64a-48f4-9d8c-248348356135", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2168,6 +2231,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078018; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--6311f539-1d5d-423f-a238-d0c1dc167432", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2202,6 +2266,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078033; iType: mal_ip; State: active; Org: ColoCrossing; Source: CyberCrime", + "threatintel.anomali.id": "indicator--1c91f219-cfa6-44c7-a5ee-1c760489b43c", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2233,6 +2298,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078010; iType: mal_url; State: active; Org: QuadraNet; Source: CyberCrime", + "threatintel.anomali.id": "indicator--c58983e2-18fd-47b8-aab4-6c8a2e2dcb35", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2268,6 +2334,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078000; iType: mal_ip; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--1ab178a8-7991-4879-b9aa-8da49f40e92e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2299,6 +2366,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078020; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--d5bdff38-6939-4a47-8e11-b910520565c4", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2333,6 +2401,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078009; iType: mal_url; State: active; Org: ColoCrossing; Source: CyberCrime", + "threatintel.anomali.id": "indicator--1be74977-5aa6-4175-99dd-32b54863a06b", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2368,6 +2437,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078023; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--eacc25ce-584c-4b40-98ab-7935dabd5cb1", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2402,6 +2472,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078025; iType: mal_url; State: active; Org: Cloudflare; Source: CyberCrime", + "threatintel.anomali.id": "indicator--504f4011-eaea-4921-aad5-f102bef7c798", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2436,6 +2507,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078014; iType: mal_ip; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e3ffb953-6c59-461a-8242-0d26c2b5c358", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2467,6 +2539,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078036; iType: mal_ip; State: active; Org: Global Frag Networks; Source: CyberCrime", + "threatintel.anomali.id": "indicator--3a47ad46-930d-4ced-b0e7-dc9d0776153e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2498,6 +2571,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078011; iType: mal_url; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--0e10924c-745c-4a58-8e27-ab3a6bacd666", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2533,6 +2607,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078015; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--c3fb816a-cc3b-4442-be4d-d62113ae5168", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2567,6 +2642,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078029; iType: mal_url; State: active; Org: IT House, Ltd; Source: CyberCrime", + "threatintel.anomali.id": "indicator--9159e46d-f3a4-464b-ac68-8beaf87e1a8f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2602,6 +2678,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078016; iType: mal_url; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--fefa8e76-ae0f-41ab-84e7-ea43ab055573", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2636,6 +2713,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078024; iType: mal_url; State: active; Org: CyrusOne LLC; Source: CyberCrime", + "threatintel.anomali.id": "indicator--6a76fa89-4d5f-40d0-9b03-671bdb2d5b4b", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2671,6 +2749,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078022; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--21055dfd-d0cb-42ec-93bd-ffaeadd11d80", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2705,6 +2784,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078021; iType: mal_url; State: active; Org: MoreneHost; Source: CyberCrime", + "threatintel.anomali.id": "indicator--7471a595-e8b0-4c41-be4c-0a3e55675630", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2739,6 +2819,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55250078007; iType: mal_ip; State: active; Source: CyberCrime", + "threatintel.anomali.id": "indicator--ead1e7e5-fdb3-47c2-9476-aa82741c038e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2770,6 +2851,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484365; iType: mal_url; State: active; Org: Petersburg Internet Network ltd.; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b0aee6bf-32f4-4f65-8de6-f65e04e92b15", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2804,6 +2886,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484350; iType: mal_url; State: active; Org: ColoCrossing; Source: CyberCrime", + "threatintel.anomali.id": "indicator--54afbceb-72f3-484e-aee4-904f77beeff6", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2838,6 +2921,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484356; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--da030e10-af9f-462d-bda8-33abb223e950", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2873,6 +2957,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484343; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--d38e051a-bc5b-4723-884a-65e017d98299", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2907,6 +2992,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484367; iType: mal_url; State: active; Org: Petersburg Internet Network ltd.; Source: CyberCrime", + "threatintel.anomali.id": "indicator--46491826-6ba1-4217-a35e-1eb0081a9e6a", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2942,6 +3028,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484342; iType: mal_url; State: active; Org: SPRINTHOST.RU - shared/premium hosting, VDS, dedic; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b9715fd5-b89a-4859-b19f-55e052709227", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -2976,6 +3063,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484363; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--e3177515-f481-46c8-bad8-582ba0858ef3", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3011,6 +3099,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484339; iType: mal_url; State: active; Org: DDoS-GUARD GmbH; Source: CyberCrime", + "threatintel.anomali.id": "indicator--33cdeaeb-5201-4fbb-b9ae-9c23377e7533", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3045,6 +3134,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484351; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--2baaa5f0-c2f6-4bd1-b59d-3a75931da735", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3080,6 +3170,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484366; iType: mal_url; State: active; Org: World Hosting Farm Limited; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f1bdef49-666f-46b5-a323-efa1f1446b62", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3114,6 +3205,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484354; iType: mal_url; State: active; Org: McHost.Ru; Source: CyberCrime", + "threatintel.anomali.id": "indicator--a173f4b1-67ce-44f8-a6d0-bd8a24e8c593", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3149,6 +3241,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484362; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--b53dded1-d293-4cd1-9e63-b6e0cbd850f0", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3184,6 +3277,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484364; iType: mal_url; State: active; Org: World Hosting Farm Limited; Source: CyberCrime", + "threatintel.anomali.id": "indicator--2b30f8fe-13e8-4a7d-8eba-3e59c288bef7", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3218,6 +3312,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484357; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--f502199a-17a4-404b-a114-fb5eda28c32c", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3253,6 +3348,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484359; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--af7422eb-5d8e-4878-bdd1-395313434dae", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3288,6 +3384,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484358; iType: mal_url; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--71b36c05-86dd-4685-81c0-5a99e2e14c23", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3323,6 +3420,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484352; iType: mal_url; State: active; Org: Best-Hoster Group Co. Ltd.; Source: CyberCrime", + "threatintel.anomali.id": "indicator--9d948509-dfb4-45b6-b8bc-780df88a213f", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3358,6 +3456,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484224; iType: mal_ip; State: active; Org: Namecheap; Source: CyberCrime", + "threatintel.anomali.id": "indicator--9f613f8e-2040-4eee-8044-044023a8093e", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", @@ -3389,6 +3488,7 @@ "forwarded" ], "threatintel.anomali.description": "TS ID: 55253484361; iType: mal_url; State: active; Org: ServerMania; Source: CyberCrime", + "threatintel.anomali.id": "indicator--518c3959-6c26-413f-9a5f-c8f76d86185a", "threatintel.anomali.labels": [ "malicious-activity", "threatstream-severity-medium", diff --git a/x-pack/filebeat/module/threatintel/misp/config/config.yml b/x-pack/filebeat/module/threatintel/misp/config/config.yml index c0700f6b425..e28c6c1d9a7 100644 --- a/x-pack/filebeat/module/threatintel/misp/config/config.yml +++ b/x-pack/filebeat/module/threatintel/misp/config/config.yml @@ -6,7 +6,7 @@ interval: {{ .interval }} request.method: POST {{ if .ssl }} - - request.ssl: {{ .ssl | tojson }} +request.ssl: {{ .ssl | tojson }} {{ end }} request.url: {{ .url }} request.body: diff --git a/x-pack/filebeat/module/threatintel/misp/ingest/pipeline.yml b/x-pack/filebeat/module/threatintel/misp/ingest/pipeline.yml index e62a6e407d7..14868f968d3 100644 --- a/x-pack/filebeat/module/threatintel/misp/ingest/pipeline.yml +++ b/x-pack/filebeat/module/threatintel/misp/ingest/pipeline.yml @@ -38,16 +38,16 @@ processors: - remove: field: - threatintel.misp.ShadowAttribute - - message - threatintel.misp.RelatedEvent - threatintel.misp.Galaxy - threatintel.misp.Attribute.Galaxy - threatintel.misp.Attribute.ShadowAttribute - threatintel.misp.Object - threatintel.misp.EventReport + - message ignore_missing: true - date: - field: threatintel.misp.Attribute.timestamp + field: threatintel.misp.timestamp formats: - UNIX ignore_failure: true @@ -102,22 +102,22 @@ processors: field: threatintel.misp.attribute.value target_field: "threatintel.indicator.file.hash.{{threatintel.misp.attribute.type}}" ignore_missing: true - if: "ctx?.threatintel?.indicator?.type == 'file' && !ctx?.threatintel?.misp?.attribute?.type.startsWith('filename')" + if: "ctx?.threatintel?.indicator?.type == 'file' && ctx?.threatintel?.misp?.attribute?.type != null && !ctx?.threatintel?.misp?.attribute?.type.startsWith('filename')" - rename: field: threatintel.misp.attribute.value target_field: threatintel.indicator.file.name ignore_missing: true - if: "ctx?.threatintel?.indicator?.type == 'file' && ctx?.threatintel?.misp?.attribute?.type != 'filename'" + if: "ctx?.threatintel?.indicator?.type == 'file' && ctx?.threatintel?.misp?.attribute?.type == 'filename'" - grok: field: threatintel.misp.attribute.type patterns: - - "%{DATA}\\|%{DATA:_tmp.hashtype}" + - "%{WORD}\\|%{WORD:_tmp.hashtype}" ignore_missing: true if: ctx?.threatintel?.misp?.attribute?.type.startsWith('filename|') - grok: field: threatintel.misp.attribute.value patterns: - - "%{DATA:threatintel.indicator.file.name}\\|%{DATA:_tmp.hashvalue}" + - "%{DATA:threatintel.indicator.file.name}\\|%{GREEDYDATA:_tmp.hashvalue}" ignore_missing: true if: ctx?.threatintel?.misp?.attribute?.type.startsWith('filename|') - set: @@ -129,7 +129,7 @@ processors: - set: field: threatintel.indicator.type value: url - if: "ctx?.threatintel?.indicator?.type == null && ['url', 'link', 'uri'].contains(ctx?.threatintel?.misp?.attribute?.type)" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ['url', 'link', 'uri'].contains(ctx?.threatintel?.misp?.attribute?.type)" - uri_parts: field: threatintel.misp.attribute.value target_field: threatintel.indicator.url @@ -146,7 +146,7 @@ processors: - set: field: threatintel.indicator.type value: windows-registry-key - if: "ctx?.threatintel?.indicator?.type == null && ctx?.threatintel?.misp?.attribute?.type.startsWith('regkey')" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ctx?.threatintel?.misp?.attribute?.type.startsWith('regkey')" - rename: field: threatintel.misp.attribute.value target_field: threatintel.indicator.registry.key @@ -163,27 +163,33 @@ processors: - set: field: threatintel.indicator.type value: autonomous-system - if: "ctx?.threatintel?.indicator?.type == null && ctx?.threatintel?.misp?.attribute?.type == 'AS'" -- rename: + if: "ctx?.threatintel?.misp?.attribute?.type != null && ctx?.threatintel?.misp?.attribute?.type == 'AS'" +- convert: field: threatintel.misp.attribute.value - target_field: threatintel.indicator.as + type: long + target_field: threatintel.indicator.as.number ignore_missing: true if: ctx?.threatintel?.indicator?.type == 'autonomous-system' ## Domain/IP/Port indicator operations -- append: +- set: field: threatintel.indicator.type value: domain-name - if: "ctx?.threatintel?.indicator?.type == null && ctx?.threatintel?.misp?.attribute?.type.startsWith('domain')" -- append: + if: "ctx?.threatintel?.misp?.attribute?.type != null && (ctx?.threatintel?.misp?.attribute?.type == 'hostname' || ctx?.threatintel?.misp?.attribute?.type.startsWith('domain'))" +- set: field: threatintel.indicator.type value: ipv4-addr - if: "ctx?.threatintel?.indicator?.type == null && ['domain|ip', 'ip-src', 'ip-src|port', 'ip-dst', 'ip-dst|port'].contains(ctx?.threatintel?.misp?.attribute?.type)" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ['ip-src', 'ip-src|port', 'ip-dst', 'ip-dst|port'].contains(ctx?.threatintel?.misp?.attribute?.type)" - rename: field: threatintel.misp.attribute.value target_field: threatintel.indicator.domain ignore_missing: true if: "ctx?.threatintel?.indicator?.type == 'domain-name' && ctx?.threatintel?.misp?.attribute?.type != 'domain|ip'" +- rename: + field: threatintel.misp.attribute.value + target_field: threatintel.indicator.ip + ignore_missing: true + if: "ctx?.threatintel?.indicator?.type == 'ipv4-addr' && ctx?.threatintel?.misp?.attribute?.type != 'domain|ip' && !['ip-src|port', 'ip-dst|port'].contains(ctx?.threatintel?.misp?.attribute?.type)" - grok: field: threatintel.misp.attribute.value patterns: @@ -202,11 +208,11 @@ processors: - set: field: threatintel.indicator.type value: email-addr - if: "ctx?.threatintel?.indicator?.type == null && ['email-dst', 'email-src'].contains(ctx.threatintel?.misp?.attribute?.type)" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ['email-dst', 'email-src'].contains(ctx.threatintel?.misp?.attribute?.type)" - set: field: threatintel.indicator.type value: email-message - if: "ctx?.threatintel?.indicator?.type == null && ctx.threatintel?.misp?.attribute?.type.startsWith('email') && !['email-dst', 'email-src'].contains(ctx.threatintel?.misp?.attribute?.type)" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ctx.threatintel?.misp?.attribute?.type.startsWith('email') && !['email-dst', 'email-src'].contains(ctx.threatintel?.misp?.attribute?.type)" - rename: field: threatintel.misp.attribute.value target_field: threatintel.indicator.email.address @@ -217,7 +223,7 @@ processors: - set: field: threatintel.indicator.type value: mac-addr - if: "ctx?.threatintel?.indicator?.type == null && ['mac-address', 'mac-eui-64'].contains(ctx.threatintel?.misp?.attribute?.type)" + if: "ctx?.threatintel?.misp?.attribute?.type != null && ['mac-address', 'mac-eui-64'].contains(ctx.threatintel?.misp?.attribute?.type)" - rename: field: threatintel.misp.attribute.value target_field: threatintel.indicator.mac @@ -241,7 +247,7 @@ processors: .collect(Collectors.toList()); ctx.tags = tags; - ctx.threatintel.indicator = ['marking' : [ 'tlp': tlpTags ]]; + ctx.threatintel.indicator.marking = [ 'tlp': tlpTags ]; # Setting indicator type to unknown if it does not match anything - set: @@ -277,6 +283,11 @@ processors: } handleMap(ctx); # Removing fields not needed anymore, either because its copied somewhere else, or is not relevant to this event +- remove: + field: + - threatintel.misp.attribute.value + ignore_missing: true + if: ctx?.threatintel?.indicator?.type != 'unknown' - remove: field: - threatintel.misp.Attribute.timestamp @@ -285,6 +296,7 @@ processors: - threatintel.misp.org - threatintel.misp.analysis - _tmp + - json ignore_missing: true on_failure: diff --git a/x-pack/filebeat/module/threatintel/misp/test/misp_sample.ndjson.log-expected.json b/x-pack/filebeat/module/threatintel/misp/test/misp_sample.ndjson.log-expected.json index 660df12cb76..27638c4be7b 100644 --- a/x-pack/filebeat/module/threatintel/misp/test/misp_sample.ndjson.log-expected.json +++ b/x-pack/filebeat/module/threatintel/misp/test/misp_sample.ndjson.log-expected.json @@ -1,6 +1,6 @@ [ { - "@timestamp": "2017-08-28T14:24:32.000Z", + "@timestamp": "2017-08-28T14:24:36.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -17,10 +17,13 @@ "malware_classification:malware-category=Ransomware", "osint:source-type=blog - post" ], + "threatintel.indicator.file.hash.md5": "f2679bdabe46e10edc6352fff3c829bc", "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "file", "threatintel.misp.attribute.category": "Payload delivery", "threatintel.misp.attribute.comment": "- Xchecked via VT: a683494fc0d017fd3b4638f8b84caaaac145cc28bc211bd7361723368b4bb21e", "threatintel.misp.attribute.deleted": false, @@ -55,7 +58,7 @@ "threatintel.misp.uuid": "59a3d08d-5dc8-4153-bc7c-456d950d210f" }, { - "@timestamp": "2018-11-19T18:34:42.000Z", + "@timestamp": "2017-08-28T14:24:36.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -72,10 +75,14 @@ "malware_classification:malware-category=Ransomware", "osint:source-type=blog - post" ], + "threatintel.indicator.domain": "your-ip.getmyip.com", + "threatintel.indicator.ip": "178.128.103.74", "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "domain-name", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "1st stage", "threatintel.misp.attribute.deleted": false, @@ -88,7 +95,6 @@ "threatintel.misp.attribute.timestamp": "1542652482", "threatintel.misp.attribute.to_ids": false, "threatintel.misp.attribute.type": "domain|ip", - "threatintel.misp.attribute.value": "your-ip.getmyip.com|178.128.103.74", "threatintel.misp.attribute_count": "7", "threatintel.misp.date": "2017-08-25", "threatintel.misp.disable_correlation": false, @@ -111,7 +117,7 @@ "threatintel.misp.uuid": "59a3d08d-5dc8-4153-bc7c-456d950d210f" }, { - "@timestamp": "2017-03-30T12:55:50.000Z", + "@timestamp": "2017-04-28T18:23:44.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -128,7 +134,13 @@ "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "url", + "threatintel.indicator.url.domain": "www.virustotal.com", + "threatintel.indicator.url.original": "https://www.virustotal.com/file/7fa4482bfbca550ce296d8e791b1091d60d733ea8042167fd0eb853530584452/analysis/1486030116/", + "threatintel.indicator.url.path": "/file/7fa4482bfbca550ce296d8e791b1091d60d733ea8042167fd0eb853530584452/analysis/1486030116/", + "threatintel.indicator.url.scheme": "https", "threatintel.misp.attribute.category": "External analysis", "threatintel.misp.attribute.comment": "Carbon sample - Xchecked via VT: a08b8371ead1919500a4759c2f46553620d5a9d9", "threatintel.misp.attribute.deleted": false, @@ -163,7 +175,7 @@ "threatintel.misp.uuid": "58dcfe62-ed84-4e5e-b293-4991950d210f" }, { - "@timestamp": "2014-10-06T07:09:54.000Z", + "@timestamp": "2014-10-06T07:12:57.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -177,10 +189,13 @@ "type:OSINT", "tlp:green" ], + "threatintel.indicator.file.hash.sha256": "0a1103bc90725d4665b932f88e81d39eafa5823b0de3ab146e2d4548b7da79a0", "threatintel.indicator.marking.tlp": [ "green" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "file", "threatintel.misp.attribute.category": "External analysis", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, @@ -215,7 +230,7 @@ "threatintel.misp.uuid": "54323f2c-e50c-4268-896c-4867950d210b" }, { - "@timestamp": "2014-10-06T07:10:57.000Z", + "@timestamp": "2014-10-06T07:12:57.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -229,10 +244,13 @@ "type:OSINT", "tlp:green" ], + "threatintel.indicator.ip": "223.25.233.248", "threatintel.indicator.marking.tlp": [ "green" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "ipv4-addr", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, @@ -245,7 +263,6 @@ "threatintel.misp.attribute.timestamp": "1412579457", "threatintel.misp.attribute.to_ids": true, "threatintel.misp.attribute.type": "ip-dst", - "threatintel.misp.attribute.value": "223.25.233.248", "threatintel.misp.attribute_count": "29", "threatintel.misp.date": "2014-10-03", "threatintel.misp.disable_correlation": false, @@ -268,7 +285,7 @@ "threatintel.misp.uuid": "54323f2c-e50c-4268-896c-4867950d210b" }, { - "@timestamp": "2014-10-06T07:12:28.000Z", + "@timestamp": "2014-10-06T07:12:57.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -282,10 +299,13 @@ "type:OSINT", "tlp:green" ], + "threatintel.indicator.domain": "xenserver.ddns.net", "threatintel.indicator.marking.tlp": [ "green" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "domain-name", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, @@ -298,7 +318,6 @@ "threatintel.misp.attribute.timestamp": "1412579548", "threatintel.misp.attribute.to_ids": true, "threatintel.misp.attribute.type": "hostname", - "threatintel.misp.attribute.value": "xenserver.ddns.net", "threatintel.misp.attribute_count": "29", "threatintel.misp.date": "2014-10-03", "threatintel.misp.disable_correlation": false, @@ -338,6 +357,8 @@ "threatintel.indicator.marking.tlp": [ "green" ], + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, "threatintel.indicator.type": "unknown", "threatintel.misp.attribute.category": "External analysis", "threatintel.misp.attribute.comment": "", @@ -374,7 +395,7 @@ "threatintel.misp.uuid": "54323f2c-e50c-4268-896c-4867950d210b" }, { - "@timestamp": "2016-02-18T20:12:23.000Z", + "@timestamp": "2014-10-06T07:12:57.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -388,10 +409,13 @@ "type:OSINT", "tlp:green" ], + "threatintel.indicator.file.hash.sha1": "0ea76f1586c008932d90c991dfdd5042f3aac8ea", "threatintel.indicator.marking.tlp": [ "green" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "file", "threatintel.misp.attribute.category": "External analysis", "threatintel.misp.attribute.comment": "Automatically added (via 7915aabb2e66ff14841e4ef0fbff7486)", "threatintel.misp.attribute.deleted": false, @@ -426,7 +450,7 @@ "threatintel.misp.uuid": "54323f2c-e50c-4268-896c-4867950d210b" }, { - "@timestamp": "2016-05-05T13:29:23.000Z", + "@timestamp": "2014-10-06T07:12:57.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -440,10 +464,13 @@ "type:OSINT", "tlp:green" ], + "threatintel.indicator.domain": "whatsapp.com", "threatintel.indicator.marking.tlp": [ "green" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "domain-name", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, @@ -456,7 +483,6 @@ "threatintel.misp.attribute.timestamp": "1462454963", "threatintel.misp.attribute.to_ids": false, "threatintel.misp.attribute.type": "domain", - "threatintel.misp.attribute.value": "whatsapp.com", "threatintel.misp.attribute_count": "29", "threatintel.misp.date": "2014-10-03", "threatintel.misp.disable_correlation": false, @@ -479,7 +505,7 @@ "threatintel.misp.uuid": "54323f2c-e50c-4268-896c-4867950d210b" }, { - "@timestamp": "2018-01-08T16:08:12.000Z", + "@timestamp": "2018-08-28T13:20:17.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -497,7 +523,14 @@ "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 0, + "threatintel.indicator.type": "url", + "threatintel.indicator.url.domain": "get.adobe.com", + "threatintel.indicator.url.original": "http://get.adobe.com/stats/AbfFcBebD/?q=", + "threatintel.indicator.url.path": "/stats/AbfFcBebD/", + "threatintel.indicator.url.query": "q=", + "threatintel.indicator.url.scheme": "http", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "Fake adobe URL", "threatintel.misp.attribute.deleted": false, @@ -532,7 +565,7 @@ "threatintel.misp.uuid": "5a5395d1-40a0-45fc-b692-334a0a016219" }, { - "@timestamp": "2018-01-08T16:31:29.000Z", + "@timestamp": "2018-08-28T13:20:17.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -550,7 +583,9 @@ "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 0, + "threatintel.indicator.type": "url", "threatintel.misp.attribute.category": "Network activity", "threatintel.misp.attribute.comment": "Win32 backdoor C&C URI", "threatintel.misp.attribute.deleted": false, @@ -563,7 +598,6 @@ "threatintel.misp.attribute.timestamp": "1515429089", "threatintel.misp.attribute.to_ids": false, "threatintel.misp.attribute.type": "uri", - "threatintel.misp.attribute.value": "/scripts/m/query.php?id=", "threatintel.misp.attribute_count": "61", "threatintel.misp.date": "2018-01-08", "threatintel.misp.disable_correlation": false, @@ -586,7 +620,7 @@ "threatintel.misp.uuid": "5a5395d1-40a0-45fc-b692-334a0a016219" }, { - "@timestamp": "2018-01-08T16:31:29.000Z", + "@timestamp": "2018-08-28T13:20:17.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -601,10 +635,14 @@ "Turla", "tlp:white" ], + "threatintel.indicator.file.hash.sha1": "c51d288469df9f25e2fb7ac491918b3e579282ea", + "threatintel.indicator.file.name": "google_update_checker.js", "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 0, + "threatintel.indicator.type": "file", "threatintel.misp.attribute.category": "Artifacts dropped", "threatintel.misp.attribute.comment": "JavaScript backdoor", "threatintel.misp.attribute.deleted": false, @@ -639,7 +677,7 @@ "threatintel.misp.uuid": "5a5395d1-40a0-45fc-b692-334a0a016219" }, { - "@timestamp": "2016-02-23T22:27:02.000Z", + "@timestamp": "2018-01-23T16:09:56.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -652,10 +690,13 @@ "tags": [ "tlp:white" ], + "threatintel.indicator.email.address": "claudiobonadio88@gmail.com", "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "email-addr", "threatintel.misp.attribute.category": "Payload delivery", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, @@ -690,7 +731,7 @@ "threatintel.misp.uuid": "56ccdcaf-f7e4-40d8-bca1-51299062e56a" }, { - "@timestamp": "2016-02-23T22:27:34.000Z", + "@timestamp": "2018-01-23T16:09:56.000Z", "event.category": "threat", "event.dataset": "threatintel.misp", "event.kind": "enrichment", @@ -706,7 +747,10 @@ "threatintel.indicator.marking.tlp": [ "white" ], - "threatintel.indicator.type": "unknown", + "threatintel.indicator.provider": "misp", + "threatintel.indicator.registry.key": "HKLM\\SOFTWARE\\Microsoft\\Active", + "threatintel.indicator.scanner_stats": 2, + "threatintel.indicator.type": "windows-registry-key", "threatintel.misp.attribute.category": "Artifacts dropped", "threatintel.misp.attribute.comment": "", "threatintel.misp.attribute.deleted": false, diff --git a/x-pack/filebeat/module/threatintel/otx/config/config.yml b/x-pack/filebeat/module/threatintel/otx/config/config.yml index 42af0a0c8e1..252c64a21f4 100644 --- a/x-pack/filebeat/module/threatintel/otx/config/config.yml +++ b/x-pack/filebeat/module/threatintel/otx/config/config.yml @@ -6,7 +6,10 @@ interval: {{ .interval }} request.method: GET {{ if .ssl }} - - request.ssl: {{ .ssl | tojson }} +request.ssl: {{ .ssl | tojson }} +{{ end }} +{{ if .http_client_timeout }} +request.timeout: {{ .http_client_timeout }} {{ end }} request.url: {{ .url }} request.transforms: @@ -56,8 +59,10 @@ publisher_pipeline.disable_host: {{ inList .tags "forwarded" }} processors: - decode_json_fields: fields: [message] - document_id: id target: json + - fingerprint: + fields: ["json.id"] + target_field: "@metadata._id" - add_fields: target: '' fields: diff --git a/x-pack/filebeat/module/threatintel/otx/ingest/pipeline.yml b/x-pack/filebeat/module/threatintel/otx/ingest/pipeline.yml index 08ce44a43d7..a4a16035111 100644 --- a/x-pack/filebeat/module/threatintel/otx/ingest/pipeline.yml +++ b/x-pack/filebeat/module/threatintel/otx/ingest/pipeline.yml @@ -78,7 +78,7 @@ processors: - set: field: threatintel.indicator.type value: url - if: "ctx?.threatintel?.indicator?.type == null && ['url', 'uri'].contains(ctx.threatintel?.otx?.type)" + if: "ctx?.threatintel?.indicator?.type == null && ['URL', 'URI'].contains(ctx.threatintel?.otx?.type)" - uri_parts: field: threatintel.otx.indicator target_field: threatintel.indicator.url @@ -89,12 +89,12 @@ processors: field: threatintel.otx.indicator target_field: threatintel.indicator.url.full ignore_missing: true - if: "ctx?.threatintel?.otx?.type == 'url' && ctx?.threatintel?.indicator?.url?.original == null" + if: "ctx?.threatintel?.otx?.type == 'URL' && ctx?.threatintel?.indicator?.url?.original == null" - rename: field: threatintel.otx.indicator target_field: threatintel.indicator.url.path ignore_missing: true - if: "ctx?.threatintel?.otx?.type == 'uri'" + if: "ctx?.threatintel?.otx?.type == 'URI'" ## Email indicator operations - set: @@ -111,7 +111,7 @@ processors: - set: field: threatintel.indicator.type value: domain-name - if: ctx.threatintel?.otx?.type == 'domain' + if: "ctx?.threatintel?.indicator?.type == null && ['domain', 'hostname'].contains(ctx.threatintel?.otx?.type)" - rename: field: threatintel.otx.indicator target_field: threatintel.indicator.domain @@ -149,6 +149,11 @@ processors: } } handleMap(ctx); +- remove: + field: + - threatintel.otx.content + ignore_missing: true + if: ctx?.threatintel?.otx?.content == "" - remove: field: - threatintel.otx.type diff --git a/x-pack/filebeat/module/threatintel/otx/manifest.yml b/x-pack/filebeat/module/threatintel/otx/manifest.yml index 5bc84d42da3..c17efa499e9 100644 --- a/x-pack/filebeat/module/threatintel/otx/manifest.yml +++ b/x-pack/filebeat/module/threatintel/otx/manifest.yml @@ -9,7 +9,10 @@ var: default: 24h - name: api_token - name: ssl + - name: http_client_timeout + default: 120s - name: types + default: "domain,IPv4,hostname,url,FileHash-SHA256,FileHash-MD5" - name: lookback_range default: 2h - name: url diff --git a/x-pack/filebeat/module/threatintel/otx/test/otx_sample.ndjson.log-expected.json b/x-pack/filebeat/module/threatintel/otx/test/otx_sample.ndjson.log-expected.json index e49896b9dea..ca9e4425b46 100644 --- a/x-pack/filebeat/module/threatintel/otx/test/otx_sample.ndjson.log-expected.json +++ b/x-pack/filebeat/module/threatintel/otx/test/otx_sample.ndjson.log-expected.json @@ -14,8 +14,7 @@ "forwarded" ], "threatintel.indicator.ip": "86.104.194.30", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -33,7 +32,6 @@ ], "threatintel.indicator.file.hash.md5": "90421f8531f963d81cf54245b72cde80", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of a5725af4391d21a232dc6d4ad33d7d915bd190bdac9b1826b73f364dc5c1aa65", "threatintel.otx.title": "Win32:Hoblig-B" }, @@ -51,9 +49,8 @@ "threatintel-otx", "forwarded" ], - "threatintel.indicator.type": "unknown", - "threatintel.otx.content": "", - "threatintel.otx.indicator": "ip.anysrc.net" + "threatintel.indicator.domain": "ip.anysrc.net", + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -70,8 +67,7 @@ "forwarded" ], "threatintel.indicator.ip": "107.173.58.176", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -88,8 +84,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "d8c70ca70fd3555a0828fede6cc1f59e2c320ede80157039b6a2f09c336d5f7a", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -107,7 +102,6 @@ ], "threatintel.indicator.file.hash.md5": "f8e58af3ffefd4037fef246e93a55dc8", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of df9b37477a83189cd4541674e64ce29bf7bf98338ed0d635276660e0c6419d09" }, { @@ -125,8 +119,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "1c62f004d0c9b91d3467b1b8106772e667e7e2075470c2ec7982b63573c90c54", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -144,7 +137,6 @@ ], "threatintel.indicator.file.hash.sha256": "8d24a14f2600482d0231396b6350cf21773335ec2f0b8919763317fdab78baae", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -162,8 +154,7 @@ "forwarded" ], "threatintel.indicator.ip": "213.252.244.38", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -180,8 +171,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "c758ec922b173820374e552c2f015ac53cc5d9f99cc92080e608652aaa63695b", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -198,8 +188,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "0df586aa0334dcbe047d24ce859d00e537fdb5e0ca41886dab27479b6fc61ba6", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -217,7 +206,6 @@ ], "threatintel.indicator.file.hash.md5": "aeb08b0651bc8a13dcf5e5f6c0d482f8", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 0df586aa0334dcbe047d24ce859d00e537fdb5e0ca41886dab27479b6fc61ba6" }, { @@ -235,8 +223,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "6df5e1a017dff52020c7ff6ad92fdd37494e31769e1be242f6b23d1ea2d60140", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -253,8 +240,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "c72fef3835f65cb380f6920b22c3488554d1af6d298562ccee92284f265c9619", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -271,8 +257,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "e711fcd0f182b214c6ec74011a395f4c853068d59eb7c57f90c4a3e1de64434a", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -289,8 +274,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "d3ec8f4a46b21fb189fc3d58f3d87bf9897653ecdf90b7952dcc71f3b4023b4e", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -307,8 +291,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "70447996722e5c04514d20b7a429d162b46546002fb0c87f512b40f16bac99bb", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -326,7 +309,6 @@ ], "threatintel.indicator.file.hash.md5": "29340643ca2e6677c19e1d3bf351d654", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 113af75f13547be184822f1268f984b79f35965a1b1f963d23b50a09741b0aec", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -346,7 +328,6 @@ ], "threatintel.indicator.file.hash.md5": "86c314bc2dc37ba84f7364acd5108c2b", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 9b86a50b36aea5cc4cb60573a3660cf799a9ec1f69a3d4572d3dc277361a0ad2", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -366,7 +347,6 @@ ], "threatintel.indicator.file.hash.md5": "cb0c1248d3899358a375888bb4e8f3fe", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 1455091954ecf9ccd6fe60cb8e982d9cfb4b3dc8414443ccfdfc444079829d56", "threatintel.otx.title": "Trojan:Win32/Occamy.B" }, @@ -386,7 +366,6 @@ ], "threatintel.indicator.file.hash.md5": "d348f536e214a47655af387408b4fca5", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 3012f472969327d5f8c9dac63b8ea9c5cb0de002d16c120a6bba4685120f58b4", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -406,7 +385,6 @@ ], "threatintel.indicator.file.hash.sha256": "29ff1903832827e328ad9ec05fdf268eadd6db8b613597cf65f8740c211be413", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "vad_contains_network_strings" }, { @@ -424,8 +402,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "b105891f90b2a8730bbadf02b5adeccbba539883bf75dec2ff7a5a97625dd222", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -442,8 +419,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "e4db5405ac7ab517d43722e1ca8d653ea4a32802bc8a5410d032275eedc7b7ee", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -461,7 +437,6 @@ ], "threatintel.indicator.file.hash.sha256": "465e7c1e36899284da5c4425dfd687af2496f397fe60c85ea2b4d85dff5a08aa", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win.Malware.TrickbotSystemInfo-6335590-0" }, { @@ -479,8 +454,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "5051906d6ed1b2ae9c9a9f070ef73c9be8f591d2e41d144649a0dc96e28d0400", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -498,7 +472,6 @@ ], "threatintel.indicator.file.hash.md5": "14b74cb9be8cad8eb5fa8842d00bb692", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 465e7c1e36899284da5c4425dfd687af2496f397fe60c85ea2b4d85dff5a08aa", "threatintel.otx.title": "Win.Malware.TrickbotSystemInfo-6335590-0" }, @@ -518,7 +491,6 @@ ], "threatintel.indicator.file.hash.sha1": "a5b59f7d133e354dfc73f40517aab730f322f0ef", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "SHA1 of 465e7c1e36899284da5c4425dfd687af2496f397fe60c85ea2b4d85dff5a08aa", "threatintel.otx.title": "Win.Malware.TrickbotSystemInfo-6335590-0" }, @@ -537,8 +509,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "8d3f68b16f0710f858d8c1d2c699260e6f43161a5510abb0e7ba567bd72c965b", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -556,7 +527,6 @@ ], "threatintel.indicator.file.hash.md5": "ff2dcea4963e060a658f4dffbb119529", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 5cb822616d2c9435c9ddd060d6abdbc286ab57cfcf6dc64768c52976029a925b", "threatintel.otx.title": "vad_contains_network_strings" }, @@ -576,7 +546,6 @@ ], "threatintel.indicator.file.hash.md5": "0d73f1a1c4b2f8723fffc83eb3d00f31", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 29ff1903832827e328ad9ec05fdf268eadd6db8b613597cf65f8740c211be413", "threatintel.otx.title": "vad_contains_network_strings" }, @@ -595,8 +564,7 @@ "forwarded" ], "threatintel.indicator.ip": "185.25.50.167", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -613,8 +581,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "d35a30264c0698709ad554489004e0077e263d354ced0c54552a0b500f91ecc0", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -631,8 +598,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "5264b455f453820be629a324196131492ff03c80491e823ac06657c9387250dd", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -650,7 +616,6 @@ ], "threatintel.indicator.file.hash.sha256": "1455091954ecf9ccd6fe60cb8e982d9cfb4b3dc8414443ccfdfc444079829d56", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Trojan:Win32/Occamy.B" }, { @@ -669,7 +634,6 @@ ], "threatintel.indicator.file.hash.sha256": "3012f472969327d5f8c9dac63b8ea9c5cb0de002d16c120a6bba4685120f58b4", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -687,8 +651,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "b8e463789a076b16a90d1aae73cea9d3880ac0ead1fd16587b8cd79e37a1a3d8", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -706,7 +669,6 @@ ], "threatintel.indicator.file.hash.sha256": "113af75f13547be184822f1268f984b79f35965a1b1f963d23b50a09741b0aec", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -725,7 +687,6 @@ ], "threatintel.indicator.file.hash.sha256": "9b86a50b36aea5cc4cb60573a3660cf799a9ec1f69a3d4572d3dc277361a0ad2", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -743,8 +704,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "c51024bb119211c335f95e731cfa9a744fcdb645a57d35fb379d01b7dbdd098e", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -762,7 +722,6 @@ ], "threatintel.indicator.file.hash.sha1": "ad20c6fac565f901c82a21b70f9739037eb54818", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "SHA1 of 9b86a50b36aea5cc4cb60573a3660cf799a9ec1f69a3d4572d3dc277361a0ad2", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -782,7 +741,6 @@ ], "threatintel.indicator.file.hash.sha1": "13f11e273f9a4a56557f03821c3bfd591cca6ebc", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "SHA1 of 3012f472969327d5f8c9dac63b8ea9c5cb0de002d16c120a6bba4685120f58b4", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -802,7 +760,6 @@ ], "threatintel.indicator.file.hash.sha1": "1581fe76e3c96dc33182daafd09c8cf5c17004e0", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "SHA1 of 113af75f13547be184822f1268f984b79f35965a1b1f963d23b50a09741b0aec", "threatintel.otx.title": "Win64:Malware-gen" }, @@ -822,7 +779,6 @@ ], "threatintel.indicator.file.hash.sha1": "b72e75e9e901a44b655a5cf89cf0eadcaff46037", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "SHA1 of 1455091954ecf9ccd6fe60cb8e982d9cfb4b3dc8414443ccfdfc444079829d56", "threatintel.otx.title": "Trojan:Win32/Occamy.B" }, @@ -841,8 +797,7 @@ "forwarded" ], "threatintel.indicator.domain": "maper.info", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -859,8 +814,7 @@ "forwarded" ], "threatintel.indicator.ip": "213.252.244.126", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -877,8 +831,7 @@ "forwarded" ], "threatintel.indicator.ip": "78.129.139.131", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -896,7 +849,6 @@ ], "threatintel.indicator.file.hash.sha256": "9af8a93519d22ed04ffb9ccf6861c9df1b77dc5d22e0aeaff4a582dbf8660ba6", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -915,7 +867,6 @@ ], "threatintel.indicator.file.hash.sha256": "be9fb556a3c7aef0329e768d7f903e7dd42a821abc663e11fb637ce33b007087", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -934,7 +885,6 @@ ], "threatintel.indicator.file.hash.sha256": "3bfec096c4837d1e6485fe0ae0ea6f1c0b44edc611d4f2204cc9cf73c985cbc2", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -953,7 +903,6 @@ ], "threatintel.indicator.file.hash.sha256": "dff2e39b2e008ea89a3d6b36dcd9b8c927fb501d60c1ad5a52ed1ffe225da2e2", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -972,7 +921,6 @@ ], "threatintel.indicator.file.hash.sha256": "6b4d271a48d118843aee3dee4481fa2930732ed7075db3241a8991418f00d92b", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -991,7 +939,6 @@ ], "threatintel.indicator.file.hash.sha256": "26de4265303491bed1424d85b263481ac153c2b3513f9ee48ffb42c12312ac43", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -1010,7 +957,6 @@ ], "threatintel.indicator.file.hash.sha256": "02f54da6c6f2f87ff7b713d46e058dedac1cedabd693643bb7f6dfe994b2105d", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "xor_0x20_xord_javascript" }, { @@ -1028,8 +974,7 @@ "forwarded" ], "threatintel.indicator.ip": "103.13.67.4", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1046,8 +991,7 @@ "forwarded" ], "threatintel.indicator.ip": "80.90.87.201", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1064,8 +1008,7 @@ "forwarded" ], "threatintel.indicator.ip": "80.80.163.182", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1082,8 +1025,7 @@ "forwarded" ], "threatintel.indicator.ip": "91.187.114.210", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1100,8 +1042,7 @@ "forwarded" ], "threatintel.indicator.ip": "170.238.117.187", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1118,8 +1059,7 @@ "forwarded" ], "threatintel.indicator.file.hash.sha256": "e999b83629355ec7ff3b6fda465ef53ce6992c9327344fbf124f7eb37808389d", - "threatintel.indicator.type": "file", - "threatintel.otx.content": "" + "threatintel.indicator.type": "file" }, { "event.category": "threat", @@ -1136,8 +1076,7 @@ "forwarded" ], "threatintel.indicator.ip": "103.84.238.3", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1154,8 +1093,7 @@ "forwarded" ], "threatintel.indicator.ip": "179.43.158.171", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1172,8 +1110,7 @@ "forwarded" ], "threatintel.indicator.ip": "198.211.116.199", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1191,7 +1128,6 @@ ], "threatintel.indicator.ip": "203.176.135.102", "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "", "threatintel.otx.title": "Trickbot" }, { @@ -1209,8 +1145,7 @@ "forwarded" ], "threatintel.indicator.domain": "fotmailz.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1227,8 +1162,7 @@ "forwarded" ], "threatintel.indicator.domain": "pori89g5jqo3v8.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1245,8 +1179,7 @@ "forwarded" ], "threatintel.indicator.domain": "sebco.co.ke", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1264,7 +1197,6 @@ ], "threatintel.indicator.ip": "177.74.232.124", "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "", "threatintel.otx.title": "Trickbot" }, { @@ -1282,8 +1214,7 @@ "forwarded" ], "threatintel.indicator.domain": "chishir.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1300,8 +1231,7 @@ "forwarded" ], "threatintel.indicator.domain": "kostunivo.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1318,8 +1248,7 @@ "forwarded" ], "threatintel.indicator.domain": "mangoclone.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1336,8 +1265,7 @@ "forwarded" ], "threatintel.indicator.domain": "onixcellent.com", - "threatintel.indicator.type": "domain-name", - "threatintel.otx.content": "" + "threatintel.indicator.type": "domain-name" }, { "event.category": "threat", @@ -1355,7 +1283,6 @@ ], "threatintel.indicator.file.hash.sha1": "fc0efd612ad528795472e99cae5944b68b8e26dc", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -1374,7 +1301,6 @@ ], "threatintel.indicator.file.hash.sha1": "24d4bbc982a6a561f0426a683b9617de1a96a74a", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Sf:ShellCode-DZ\\ [Trj]" }, { @@ -1393,7 +1319,6 @@ ], "threatintel.indicator.file.hash.sha1": "fa98074dc18ad7e2d357b5d168c00a91256d87d1", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -1412,7 +1337,6 @@ ], "threatintel.indicator.file.hash.sha1": "e5dc7c8bfa285b61dda1618f0ade9c256be75d1a", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.title": "Win64:Malware-gen" }, { @@ -1431,7 +1355,6 @@ ], "threatintel.indicator.ip": "96.9.77.142", "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "", "threatintel.otx.title": "Trickbot" }, { @@ -1449,8 +1372,7 @@ "forwarded" ], "threatintel.indicator.ip": "36.89.106.69", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1467,8 +1389,7 @@ "forwarded" ], "threatintel.indicator.ip": "96.9.73.73", - "threatintel.indicator.type": "ipv4-addr", - "threatintel.otx.content": "" + "threatintel.indicator.type": "ipv4-addr" }, { "event.category": "threat", @@ -1486,7 +1407,6 @@ ], "threatintel.indicator.file.hash.md5": "10ec3571596c30b9993b89f12d29d23c", "threatintel.indicator.type": "file", - "threatintel.otx.content": "", "threatintel.otx.description": "MD5 of 9af8a93519d22ed04ffb9ccf6861c9df1b77dc5d22e0aeaff4a582dbf8660ba6", "threatintel.otx.title": "xor_0x20_xord_javascript" } diff --git a/x-pack/filebeat/modules.d/threatintel.yml.disabled b/x-pack/filebeat/modules.d/threatintel.yml.disabled index 3e03fee654f..14cffd52531 100644 --- a/x-pack/filebeat/modules.d/threatintel.yml.disabled +++ b/x-pack/filebeat/modules.d/threatintel.yml.disabled @@ -12,7 +12,7 @@ var.url: https://urlhaus-api.abuse.ch/v1/urls/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m abusemalware: enabled: true @@ -24,7 +24,7 @@ var.url: https://urlhaus-api.abuse.ch/v1/payloads/recent/ # The interval to poll the API for updates. - var.interval: 60m + var.interval: 10m misp: enabled: true @@ -38,6 +38,10 @@ # The authentication token used to contact the MISP API. Found when looking at user account in the MISP UI. var.api_token: API_KEY + # Configures the type of SSL verification done, if MISP is running on self signed certificates + # then the certificate would either need to be trusted, or verification_mode set to none. + #var.ssl.verification_mode: none + # Optional filters that can be applied to the API for filtering out results. This should support the majority of fields in a MISP context. # For examples please reference the filebeat module documentation. #var.filters: @@ -46,10 +50,10 @@ # How far back to look once the beat starts up for the first time, the value has to be in hours. Each request afterwards will filter on any event newer # than the last event that was already ingested. - var.first_interval: 24h + var.first_interval: 300h # The interval to poll the API for updates. - var.interval: 60m + var.interval: 5m otx: enabled: true @@ -66,14 +70,17 @@ # Optional filters that can be applied to retrieve only specific indicators. #var.types: "domain,IPv4,hostname,url,FileHash-SHA256" + # The timeout of the HTTP client connecting to the OTX API + #var.http_client_timeout: 120s + # How many hours to look back for each request, should be close to the configured interval. Deduplication of events is handled by the module. - var.lookback_range: 2h + var.lookback_range: 1h # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m anomali: enabled: true @@ -81,7 +88,8 @@ # Input used for ingesting threat intel data var.input: httpjson - # The URL used for Threat Intel API calls. + # The URL used for Threat Intel API calls. Limo has multiple different possibilities for URL's depending + # on the type of threat intel source that is needed. var.url: https://limo.anomali.com/api/v1/taxii2/feeds/collections/41/objects # The Username used by anomali Limo, defaults to guest. @@ -91,7 +99,7 @@ #var.password: guest # How far back to look once the beat starts up for the first time, the value has to be in hours. - var.first_interval: 24h + var.first_interval: 400h # The interval to poll the API for updates - var.interval: 60m + var.interval: 5m diff --git a/x-pack/functionbeat/include/fields.go b/x-pack/functionbeat/include/fields.go index 5ff059a6edd..9279087f4e6 100644 --- a/x-pack/functionbeat/include/fields.go +++ b/x-pack/functionbeat/include/fields.go @@ -19,5 +19,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/x-pack/heartbeat/Jenkinsfile.yml b/x-pack/heartbeat/Jenkinsfile.yml index bc5823048d1..cc6cb0525ab 100644 --- a/x-pack/heartbeat/Jenkinsfile.yml +++ b/x-pack/heartbeat/Jenkinsfile.yml @@ -13,6 +13,63 @@ when: tags: true ## for all the tags platform: "immutable && ubuntu-18" ## default label for all the stages stages: + Lint: + make: | + make -C x-pack/heartbeat check; + make -C x-pack/heartbeat update; + make -C heartbeat check; + make -C heartbeat update; + make check-no-changes; + build: + mage: "mage build test" + macos: + mage: "mage build test" + platforms: ## override default label in this specific stage. + - "macosx" + when: ## Override the top-level when. + comments: + - "/test x-pack/heartbeat for macos" + labels: + - "macOS" + parameters: + - "macosTest" + branches: true ## for all the branches + tags: true ## for all the tags +# TODO: there are windows test failures already reported +# https://github.com/elastic/beats/issues/23957 and https://github.com/elastic/beats/issues/23958 +# waiting for being fixed. +# windows: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-2019" +# windows-2016: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-2016" +# windows-2012: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-2012-r2" +# windows-10: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-10" +# windows-2008: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-2008-r2" +# windows-8: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-8" +# windows-7: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-7" +# windows-7-32: +# mage: "mage build test" +# platforms: ## override default labels in this specific stage. +# - "windows-7-32-bit" packaging-linux: packaging-linux: "mage package" e2e: diff --git a/x-pack/heartbeat/heartbeat.reference.yml b/x-pack/heartbeat/heartbeat.reference.yml index 85e00f43342..d1373f73750 100644 --- a/x-pack/heartbeat/heartbeat.reference.yml +++ b/x-pack/heartbeat/heartbeat.reference.yml @@ -1281,7 +1281,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/heartbeat/include/fields.go b/x-pack/heartbeat/include/fields.go index 41c3feec2cd..53926c9fb6d 100644 --- a/x-pack/heartbeat/include/fields.go +++ b/x-pack/heartbeat/include/fields.go @@ -19,5 +19,5 @@ func init() { // AssetFieldsYml returns asset data. // This is the base64 encoded gzipped contents of fields.yml. func AssetFieldsYml() string { - return "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" + return "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" } diff --git a/x-pack/heartbeat/magefile.go b/x-pack/heartbeat/magefile.go index 356d5e55750..f9c9c54b724 100644 --- a/x-pack/heartbeat/magefile.go +++ b/x-pack/heartbeat/magefile.go @@ -22,6 +22,8 @@ import ( // mage:import "github.com/elastic/beats/v7/dev-tools/mage/target/build" + // mage:import + _ "github.com/elastic/beats/v7/dev-tools/mage/target/unittest" // mage:import _ "github.com/elastic/beats/v7/dev-tools/mage/target/integtest/notests" // mage:import diff --git a/x-pack/heartbeat/monitors/browser/browser.go b/x-pack/heartbeat/monitors/browser/browser.go index f3cb1e6483e..76e02f1ff28 100644 --- a/x-pack/heartbeat/monitors/browser/browser.go +++ b/x-pack/heartbeat/monitors/browser/browser.go @@ -11,28 +11,28 @@ import ( "os/user" "sync" - "github.com/elastic/beats/v7/heartbeat/monitors" "github.com/elastic/beats/v7/heartbeat/monitors/jobs" + "github.com/elastic/beats/v7/heartbeat/monitors/plugin" + "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/common" "github.com/elastic/beats/v7/libbeat/logp" "github.com/elastic/beats/v7/x-pack/heartbeat/monitors/browser/synthexec" ) func init() { - monitors.RegisterActive("browser", create) - monitors.RegisterActive("synthetic/browser", create) + plugin.Register("browser", create, "synthetic", "synthetics/synthetic") } var showExperimentalOnce = sync.Once{} var NotSyntheticsCapableError = fmt.Errorf("synthetic monitors cannot be created outside the official elastic docker image") -func create(name string, cfg *common.Config) (js []jobs.Job, endpoints int, err error) { +func create(name string, cfg *common.Config) (p plugin.Plugin, err error) { // We don't want users running synthetics in environments that don't have the required GUI libraries etc, so we check // this flag. When we're ready to support the many possible configurations of systems outside the docker environment // we can remove this check. if os.Getenv("ELASTIC_SYNTHETICS_CAPABLE") != "true" { - return nil, 0, NotSyntheticsCapableError + return plugin.Plugin{}, NotSyntheticsCapableError } showExperimentalOnce.Do(func() { @@ -41,25 +41,37 @@ func create(name string, cfg *common.Config) (js []jobs.Job, endpoints int, err curUser, err := user.Current() if err != nil { - return nil, 0, fmt.Errorf("could not determine current user for script monitor %w: ", err) + return plugin.Plugin{}, fmt.Errorf("could not determine current user for script monitor %w: ", err) } if curUser.Uid == "0" { - return nil, 0, fmt.Errorf("script monitors cannot be run as root! Current UID is %s", curUser.Uid) + return plugin.Plugin{}, fmt.Errorf("script monitors cannot be run as root! Current UID is %s", curUser.Uid) } - config := defaultConfig - if err := cfg.Unpack(&config); err != nil { - return nil, 0, err + ss, err := NewSuite(cfg) + if err != nil { + return plugin.Plugin{}, err } var j jobs.Job - if config.Path != "" { - j, err = synthexec.SuiteJob(context.TODO(), config.Path, config.JourneyName, config.Params) - if err != nil { - return nil, 0, err - } + if src, ok := ss.InlineSource(); ok { + j = synthexec.InlineJourneyJob(context.TODO(), src, ss.Params()) } else { - j = synthexec.InlineJourneyJob(context.TODO(), config.Script, config.Params) + j = func(event *beat.Event) ([]jobs.Job, error) { + err := ss.Fetch() + if err != nil { + return nil, fmt.Errorf("could not fetch for suite job: %w", err) + } + sj, err := synthexec.SuiteJob(context.TODO(), ss.Workdir(), ss.Params()) + if err != nil { + return nil, err + } + return sj(event) + } } - return []jobs.Job{j}, 1, nil + + return plugin.Plugin{ + Jobs: []jobs.Job{j}, + Close: ss.Close, + Endpoints: 1, + }, nil } diff --git a/x-pack/heartbeat/monitors/browser/config.go b/x-pack/heartbeat/monitors/browser/config.go index 9c998d7d036..0cbb699da88 100644 --- a/x-pack/heartbeat/monitors/browser/config.go +++ b/x-pack/heartbeat/monitors/browser/config.go @@ -8,20 +8,30 @@ import ( "fmt" "github.com/elastic/beats/v7/libbeat/common" + "github.com/elastic/beats/v7/x-pack/heartbeat/monitors/browser/source" ) type Config struct { - Path string `config:"path"` - Script string `config:"script"` - Params common.MapStr `config:"script_params"` - JourneyName string `config:"journey_name"` + Schedule string `config:"schedule"` + Params map[string]interface{} `config:"params"` + RawConfig *common.Config + Source *source.Source `config:"source"` + // Name is optional for lightweight checks but required for browsers + Name string `config:"name"` + // Id is optional for lightweight checks but required for browsers + Id string `config:"id"` } +var ErrNameRequired = fmt.Errorf("config 'name' must be specified for this monitor") +var ErrIdRequired = fmt.Errorf("config 'id' must be specified for this monitor") + func (c *Config) Validate() error { - if c.Script != "" && c.Path != "" { - return fmt.Errorf("both path and script specified! Only one of these options may be present!") + if c.Name == "" { + return ErrNameRequired + } + if c.Id == "" { + return ErrIdRequired } + return nil } - -var defaultConfig = Config{} diff --git a/x-pack/heartbeat/monitors/browser/source/fixtures/todos/add-remove.journey.ts b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/add-remove.journey.ts new file mode 100644 index 00000000000..bb80e031cec --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/add-remove.journey.ts @@ -0,0 +1,38 @@ +import { journey } from '@elastic/synthetics'; +import { + loadAppStep, + addTaskStep, + assertTaskListSizeStep, + checkForTaskStep, + destroyTaskStep, +} from './helpers'; + +journey('basic addition and completion of single task', async ({ page }) => { + const testText = "Don't put salt in your eyes"; + + loadAppStep(page); + addTaskStep(page, testText); + assertTaskListSizeStep(page, 1); + checkForTaskStep(page, testText); + destroyTaskStep(page, testText); + assertTaskListSizeStep(page, 0); +}); + +journey('adding and removing a few tasks', async ({ page }) => { + const testTasks = ['Task 1', 'Task 2', 'Task 3']; + + loadAppStep(page); + testTasks.forEach(t => { + addTaskStep(page, t); + }); + + assertTaskListSizeStep(page, 3); + + // remove the middle task and check that it worked + destroyTaskStep(page, testTasks[1]); + assertTaskListSizeStep(page, 2); + + // add a new task and check it exists + addTaskStep(page, 'Task 4'); + assertTaskListSizeStep(page, 3); +}); diff --git a/x-pack/heartbeat/monitors/browser/source/fixtures/todos/basics.journey.ts b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/basics.journey.ts new file mode 100644 index 00000000000..f8f8f522635 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/basics.journey.ts @@ -0,0 +1,30 @@ +import { journey, step } from '@elastic/synthetics'; +import { deepStrictEqual } from 'assert'; +import { join } from 'path'; + +journey('check that title is present', async ({ page }) => { + step('go to app', async () => { + const path = 'file://' + join(__dirname, 'app', 'index.html'); + await page.goto(path); + }); + + step('check title is present', async () => { + const header = await page.$('h1'); + deepStrictEqual(await header.textContent(), 'todos'); + }); +}); + +journey('check that input placeholder is correct', async ({ page }) => { + step('go to app', async () => { + const path = 'file://' + join(__dirname, 'app', 'index.html'); + await page.goto(path); + }); + + step('check title is present', async () => { + const input = await page.$('input.new-todo'); + deepStrictEqual( + await input.getAttribute('placeholder'), + 'What nneeds to be done?' + ); + }); +}); diff --git a/x-pack/heartbeat/monitors/browser/source/fixtures/todos/helpers.ts b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/helpers.ts new file mode 100644 index 00000000000..bb69aeddbad --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/helpers.ts @@ -0,0 +1,54 @@ +import { step } from '@elastic/synthetics'; +import * as assert from 'assert'; +import { join } from 'path'; +import { Page } from 'playwright-core'; + +export const loadAppStep = (page: Page) => { + step('go to app', async () => { + const path = 'file://' + join(__dirname, 'app', 'index.html'); + await page.goto(path); + }); +}; + +export const addTaskStep = (page: Page, task: string) => { + step(`add task ${task}`, async () => { + const input = await page.$('input.new-todo'); + await input.type(task); + await input.press('Enter'); + }); +}; + +const todosSelector = 'ul.todo-list li.todo'; + +export const findTask = async (page: Page, task: string) => { + return await page.waitForSelector(`${todosSelector} >> text="${task}"`); +}; + +export const assertTaskListSizeStep = async (page: Page, size: number) => { + step(`check that task list has exactly ${size} elements`, async () => { + assert.deepEqual((await page.$$(todosSelector)).length, size); + }); +}; + +export const checkForTaskStep = async (page: Page, task: string) => { + step(`check for task '${task}' in list`, async () => { + return findTask(page, task); + }); +}; + +export const destroyTaskStep = async (page: Page, task: string) => { + step(`destroy task '${task}'`, async () => { + const label = await findTask(page, task); + // xpath indexes arrays starting at 1!!! Easy to forget! + const li = await label.$('xpath=ancestor::li[1]'); + const destroyButton = await li.$('button'); + + // The destroy button is not visible until hovered. Setup a click test which + // will wait up to 30s for the button to be visible. + const clickFuture = destroyButton.click(); + // now hover, making the destroy button clickable + li.hover(); + // now we are done + await clickFuture; + }); +}; diff --git a/x-pack/heartbeat/monitors/browser/source/fixtures/todos/node_modules/test.json b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/node_modules/test.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/x-pack/heartbeat/monitors/browser/source/fixtures/todos/package.json b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/package.json new file mode 100644 index 00000000000..5972cf95b98 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/fixtures/todos/package.json @@ -0,0 +1,10 @@ +{ + "name": "todos", + "private": true, + "description": "This suite tests the examples that ship with the open source Vue.js project.", + "scripts": {}, + "dependencies": { + "@elastic/synthetics": "*", + "playwright-core": "=1.6.2" + } +} diff --git a/x-pack/heartbeat/monitors/browser/source/inline.go b/x-pack/heartbeat/monitors/browser/source/inline.go new file mode 100644 index 00000000000..d3ef2c452e5 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/inline.go @@ -0,0 +1,35 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package source + +import ( + "fmt" + "regexp" +) + +type InlineSource struct { + Script string `config:"script"` + BaseSource +} + +func (s *InlineSource) Validate() error { + if !regexp.MustCompile("\\S").MatchString(s.Script) { + return fmt.Errorf("no 'script' value specified for inline source") + } + + return nil +} + +func (s *InlineSource) Fetch() (err error) { + return nil +} + +func (s *InlineSource) Workdir() string { + return "" +} + +func (s *InlineSource) Close() error { + return nil +} diff --git a/x-pack/heartbeat/monitors/browser/source/local.go b/x-pack/heartbeat/monitors/browser/source/local.go new file mode 100644 index 00000000000..61ec0a1d255 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/local.go @@ -0,0 +1,142 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package source + +import ( + "fmt" + "io/ioutil" + "os" + "os/exec" + "path" + "path/filepath" + + "github.com/elastic/beats/v7/libbeat/logp" + + "github.com/otiai10/copy" +) + +type LocalSource struct { + OrigPath string `config:"path"` + workingPath string + BaseSource +} + +var ErrNoPath = fmt.Errorf("local source defined with no path specified") + +func ErrInvalidPath(path string) error { + return fmt.Errorf("local source has invalid path '%s'", path) +} + +func (l *LocalSource) Validate() error { + if l.OrigPath == "" { + return ErrNoPath + } + + s, err := os.Stat(l.OrigPath) + base := ErrInvalidPath(l.OrigPath) + if err != nil { + return fmt.Errorf("%s: %w", base, err) + } + if !s.IsDir() { + return fmt.Errorf("%s: path points to a non-directory", base) + } + + return nil +} + +func (l *LocalSource) Fetch() (err error) { + if l.workingPath != "" { + return nil + } + l.workingPath, err = ioutil.TempDir("/tmp", "elastic-synthetics-") + if err != nil { + return fmt.Errorf("could not create tmp dir: %w", err) + } + defer func() { + if err != nil { + err := l.Close() // cleanup the dir if this function returns an err + if err != nil { + logp.Warn("could not cleanup dir: %s", err) + } + } + }() + + err = copy.Copy(l.OrigPath, l.workingPath) + if err != nil { + return fmt.Errorf("could not copy suite: %w", err) + } + + dir, err := getAbsoluteSuiteDir(l.workingPath) + if err != nil { + return err + } + + if !Offline() { + err = setupOnlineDir(dir) + return err + } + + return nil +} + +// setupOnlineDir is run in environments with internet access and attempts to make sure the node env +// is setup correctly. +func setupOnlineDir(dir string) (err error) { + // If we're not offline remove the node_modules folder so we can do a fresh install, this minimizes + // issues with dependencies being broken. + modDir := path.Join(dir, "node_modules") + _, statErr := os.Stat(modDir) + if os.IsExist(statErr) { + err := os.RemoveAll(modDir) + if err != nil { + return fmt.Errorf("could not remove node_modules from '%s': %w", dir, err) + } + } + + // Ensure all deps installed + err = runSimpleCommand(exec.Command("npm", "install"), dir) + if err != nil { + return err + } + + return err +} + +func (l *LocalSource) Workdir() string { + return l.workingPath +} + +func (l *LocalSource) Close() error { + if l.workingPath != "" { + return os.RemoveAll(l.workingPath) + } + + return nil +} + +func getAbsoluteSuiteDir(suiteFile string) (string, error) { + absPath, err := filepath.Abs(suiteFile) + if err != nil { + return "", err + } + stat, err := os.Stat(absPath) + if err != nil { + return "", err + } + + if stat.IsDir() { + return suiteFile, nil + } + + return filepath.Dir(suiteFile), nil +} + +func runSimpleCommand(cmd *exec.Cmd, dir string) error { + cmd.Dir = dir + logp.Info("Running %s in %s", cmd, dir) + output, err := cmd.CombinedOutput() + logp.Info("Ran %s got %s", cmd, string(output)) + return err +} diff --git a/x-pack/heartbeat/monitors/browser/source/local_test.go b/x-pack/heartbeat/monitors/browser/source/local_test.go new file mode 100644 index 00000000000..7deeb7bbf25 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/local_test.go @@ -0,0 +1,70 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package source + +import ( + "os" + "path" + "path/filepath" + "runtime" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestLocalSourceValidate(t *testing.T) { + tests := []struct { + name string + OrigPath string + err error + }{ + {"valid", "./", nil}, + {"invalid", "/not/a/path", ErrInvalidPath("/not/a/path")}, + {"nopath", "", ErrNoPath}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + l := &LocalSource{OrigPath: tt.OrigPath} + err := l.Validate() + if tt.err == nil { + require.NoError(t, err) + } else { + require.Regexp(t, tt.err, err) + } + }) + } +} + +func TestLocalSourceLifeCycle(t *testing.T) { + _, filename, _, _ := runtime.Caller(0) + origPath := path.Join(filepath.Dir(filename), "fixtures/todos") + ls := LocalSource{OrigPath: origPath} + require.NoError(t, ls.Validate()) + + // Don't run the NPM commands in unit tests + // We can leave that for E2E tests + GoOffline() + defer GoOnline() + require.NoError(t, ls.Fetch()) + + require.NotEmpty(t, ls.workingPath) + expected := []string{ + "node_modules", + "package.json", + "helpers.ts", + "add-remove.journey.ts", + "basics.journey.ts", + } + for _, file := range expected { + _, err := os.Stat(path.Join(ls.Workdir(), file)) + // assert, not require, because we want to proceed to the close bit + assert.NoError(t, err) + } + + require.NoError(t, ls.Close()) + _, err := os.Stat(ls.Workdir()) + require.True(t, os.IsNotExist(err), "Workdir %s should have been deleted", ls.Workdir()) +} diff --git a/x-pack/heartbeat/monitors/browser/source/offline.go b/x-pack/heartbeat/monitors/browser/source/offline.go new file mode 100644 index 00000000000..0347958a812 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/offline.go @@ -0,0 +1,31 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package source + +import "os" + +var offlineEnvVar = "ELASTIC_SYNTHETICS_OFFLINE" + +// Offline checks whether sources should act in offline mode, where +// calls to NPM are forbidden. +func Offline() bool { + return os.Getenv(offlineEnvVar) == "true" +} + +// GoOffline switches our current state to offline. Primarily for tests. +func GoOffline() { + e := os.Setenv(offlineEnvVar, "true") + if e != nil { + panic("could not set offline env var!") + } +} + +// GoOffline switches our current state to offline. Primarily for tests. +func GoOnline() { + e := os.Setenv(offlineEnvVar, "false") + if e != nil { + panic("could not set offline env var!") + } +} diff --git a/x-pack/heartbeat/monitors/browser/source/source.go b/x-pack/heartbeat/monitors/browser/source/source.go new file mode 100644 index 00000000000..62c7ce03e9e --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/source/source.go @@ -0,0 +1,48 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package source + +import ( + "fmt" +) + +type Source struct { + Local *LocalSource `config:"local"` + Inline *InlineSource `config:"inline"` + ActiveMemo ISource // cache for selected source +} + +func (s *Source) Active() ISource { + if s.ActiveMemo != nil { + return s.ActiveMemo + } + + if s.Local != nil { + s.ActiveMemo = s.Local + } else if s.Inline != nil { + s.ActiveMemo = s.Inline + } + + return s.ActiveMemo +} + +var ErrInvalidSource = fmt.Errorf("no or unknown source type specified for synthetic monitor") + +func (s *Source) Validate() error { + if s.Active() == nil { + return ErrInvalidSource + } + return nil +} + +type ISource interface { + Fetch() error + Workdir() string + Close() error +} + +type BaseSource struct { + Type string `config:"type"` +} diff --git a/x-pack/heartbeat/monitors/browser/suite_runner.go b/x-pack/heartbeat/monitors/browser/suite_runner.go new file mode 100644 index 00000000000..73b597766ff --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/suite_runner.go @@ -0,0 +1,69 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package browser + +import ( + "context" + "fmt" + + "github.com/elastic/beats/v7/libbeat/common" +) + +type JourneyLister func(ctx context.Context, suitePath string, params common.MapStr) (journeyNames []string, err error) + +var journeyListSingleton JourneyLister + +type SyntheticSuite struct { + rawCfg *common.Config + suiteCfg *Config +} + +func NewSuite(rawCfg *common.Config) (*SyntheticSuite, error) { + ss := &SyntheticSuite{ + rawCfg: rawCfg, + suiteCfg: &Config{}, + } + err := rawCfg.Unpack(ss.suiteCfg) + if err != nil { + return nil, ErrBadConfig(err) + } + + return ss, nil +} + +func ErrBadConfig(err error) error { + return fmt.Errorf("could not parse suite config: %w", err) +} + +func (s *SyntheticSuite) String() string { + panic("implement me") +} + +func (s *SyntheticSuite) Fetch() error { + return s.suiteCfg.Source.Active().Fetch() +} + +func (s *SyntheticSuite) Workdir() string { + return s.suiteCfg.Source.Active().Workdir() +} + +func (s *SyntheticSuite) InlineSource() (string, bool) { + if s.suiteCfg.Source.Inline != nil { + return s.suiteCfg.Source.Inline.Script, true + } + return "", false +} + +func (s *SyntheticSuite) Params() map[string]interface{} { + return s.suiteCfg.Params +} + +func (s *SyntheticSuite) Close() error { + if s.suiteCfg.Source.ActiveMemo != nil { + s.suiteCfg.Source.ActiveMemo.Close() + } + + return nil +} diff --git a/x-pack/heartbeat/monitors/browser/suite_runner_test.go b/x-pack/heartbeat/monitors/browser/suite_runner_test.go new file mode 100644 index 00000000000..9f9448440cc --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/suite_runner_test.go @@ -0,0 +1,116 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package browser + +import ( + "path" + "path/filepath" + "runtime" + "testing" + + "github.com/stretchr/testify/require" + + "github.com/elastic/beats/v7/libbeat/common" + "github.com/elastic/beats/v7/x-pack/heartbeat/monitors/browser/source" +) + +func TestValidLocal(t *testing.T) { + _, filename, _, _ := runtime.Caller(0) + path := path.Join(filepath.Dir(filename), "source/fixtures/todos") + testParams := map[string]interface{}{ + "key1": "value1", + "key2": "value2", + } + cfg := common.MustNewConfigFrom(common.MapStr{ + "name": "My Name", + "id": "myId", + "params": testParams, + "source": common.MapStr{ + "local": common.MapStr{ + "path": path, + }, + }, + }) + s, e := NewSuite(cfg) + require.NoError(t, e) + require.NotNil(t, s) + _, ok := s.InlineSource() + require.False(t, ok) + + source.GoOffline() + defer source.GoOnline() + require.NoError(t, s.Fetch()) + defer require.NoError(t, s.Close()) + require.Regexp(t, "\\w{1,}", s.Workdir()) + require.Equal(t, testParams, s.Params()) + + e = s.Close() + require.NoError(t, e) +} + +func TestValidInline(t *testing.T) { + script := "a script" + testParams := map[string]interface{}{ + "key1": "value1", + "key2": "value2", + } + cfg := common.MustNewConfigFrom(common.MapStr{ + "name": "My Name", + "id": "myId", + "params": testParams, + "source": common.MapStr{ + "inline": common.MapStr{ + "script": script, + }, + }, + }) + s, e := NewSuite(cfg) + require.NoError(t, e) + require.NotNil(t, s) + sSrc, ok := s.InlineSource() + require.True(t, ok) + require.Equal(t, script, sSrc) + require.Equal(t, "", s.Workdir()) + require.Equal(t, testParams, s.Params()) + + e = s.Close() + require.NoError(t, e) +} + +func TestNameRequired(t *testing.T) { + cfg := common.MustNewConfigFrom(common.MapStr{ + "id": "myId", + "source": common.MapStr{ + "inline": common.MapStr{ + "script": "a script", + }, + }, + }) + _, e := NewSuite(cfg) + require.Regexp(t, ErrNameRequired, e) +} + +func TestIDRequired(t *testing.T) { + cfg := common.MustNewConfigFrom(common.MapStr{ + "name": "My Name", + "source": common.MapStr{ + "inline": common.MapStr{ + "script": "a script", + }, + }, + }) + _, e := NewSuite(cfg) + require.Regexp(t, ErrIdRequired, e) +} + +func TestEmptySource(t *testing.T) { + cfg := common.MustNewConfigFrom(common.MapStr{ + "source": common.MapStr{}, + }) + s, e := NewSuite(cfg) + + require.Regexp(t, ErrBadConfig(source.ErrInvalidSource), e) + require.Nil(t, s) +} diff --git a/x-pack/heartbeat/monitors/browser/synthexec/enrich.go b/x-pack/heartbeat/monitors/browser/synthexec/enrich.go index 426b5da2bd7..0df01cf278a 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/enrich.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/enrich.go @@ -8,15 +8,33 @@ import ( "fmt" "time" + "github.com/gofrs/uuid" + "github.com/elastic/beats/v7/heartbeat/eventext" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/common" ) +type enricher func(event *beat.Event, se *SynthEvent) error + +type streamEnricher struct { + je *journeyEnricher +} + +func (e *streamEnricher) enrich(event *beat.Event, se *SynthEvent) error { + if e.je == nil || (se != nil && se.Type == "journey/start") { + e.je = newJourneyEnricher() + } + + return e.je.enrich(event, se) +} + // journeyEnricher holds state across received SynthEvents retaining fields // where relevant to properly enrich *beat.Event instances. type journeyEnricher struct { journeyComplete bool + journey *Journey + checkGroup string errorCount int lastError error stepCount int @@ -28,15 +46,32 @@ type journeyEnricher struct { } func newJourneyEnricher() *journeyEnricher { - return &journeyEnricher{} + return &journeyEnricher{ + checkGroup: makeUuid(), + } +} + +func makeUuid() string { + u, err := uuid.NewV1() + if err != nil { + panic("Cannot generate v1 UUID, this should never happen!") + } + return u.String() } func (je *journeyEnricher) enrich(event *beat.Event, se *SynthEvent) error { - if se != nil && !se.Timestamp().IsZero() { + if se == nil { + return nil + } + + if !se.Timestamp().IsZero() { event.Timestamp = se.Timestamp() // Record start and end so we can calculate journey duration accurately later switch se.Type { case "journey/start": + je.lastError = nil + je.checkGroup = makeUuid() + je.journey = se.Journey je.start = event.Timestamp case "journey/end": je.end = event.Timestamp @@ -45,9 +80,19 @@ func (je *journeyEnricher) enrich(event *beat.Event, se *SynthEvent) error { event.Timestamp = time.Now() } - // No more synthEvents? In this case this is the summary event - if se == nil { - return je.createSummary(event) + eventext.MergeEventFields(event, common.MapStr{ + "monitor": common.MapStr{ + "check_group": je.checkGroup, + }, + }) + // Inline jobs have no journey + if je.journey != nil { + eventext.MergeEventFields(event, common.MapStr{ + "monitor": common.MapStr{ + "id": je.journey.Id, + "name": je.journey.Name, + }, + }) } return je.enrichSynthEvent(event, se) @@ -57,6 +102,7 @@ func (je *journeyEnricher) enrichSynthEvent(event *beat.Event, se *SynthEvent) e switch se.Type { case "journey/end": je.journeyComplete = true + return je.createSummary(event) case "step/end": je.stepCount++ } @@ -82,20 +128,35 @@ func (je *journeyEnricher) enrichSynthEvent(event *beat.Event, se *SynthEvent) e } func (je *journeyEnricher) createSummary(event *beat.Event) error { + var up, down int + if je.errorCount > 0 { + up = 0 + down = 1 + } else { + up = 1 + down = 0 + } + if je.journeyComplete { eventext.MergeEventFields(event, common.MapStr{ "url": je.urlFields, "synthetics": common.MapStr{ - "type": "heartbeat/summary", + "type": "heartbeat/summary", + "journey": je.journey, }, "monitor": common.MapStr{ "duration": common.MapStr{ "us": int64(je.end.Sub(je.start) / time.Microsecond), }, }, + "summary": common.MapStr{ + "up": up, + "down": down, + }, }) return je.lastError } + return fmt.Errorf("journey did not finish executing, %d steps ran", je.stepCount) } diff --git a/x-pack/heartbeat/monitors/browser/synthexec/enrich_test.go b/x-pack/heartbeat/monitors/browser/synthexec/enrich_test.go index 3ea3eb1ec58..cf1cc0dd6cf 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/enrich_test.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/enrich_test.go @@ -75,12 +75,12 @@ func TestJourneyEnricher(t *testing.T) { // We need an expectation for each input // plus a final expectation for the summary which comes // on the nil data. - for idx, se := range append(synthEvents, nil) { + for idx, se := range synthEvents { e := &beat.Event{} t.Run(fmt.Sprintf("event %d", idx), func(t *testing.T) { enrichErr := je.enrich(e, se) - if se != nil { + if se != nil && se.Type != "journey/end" { // Test that the created event includes the mapped // version of the event testslike.Test(t, lookslike.MustCompile(se.ToMap()), e.Fields) @@ -89,7 +89,7 @@ func TestJourneyEnricher(t *testing.T) { if se.Error != nil { require.Equal(t, stepError(se.Error), enrichErr) } - } else { + } else { // journey end gets a summary require.Equal(t, stepError(syntherr), enrichErr) u, _ := url.Parse(url1) diff --git a/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer.go b/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer.go index 29fa9a8f3b6..68e627b1cf7 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer.go @@ -5,13 +5,17 @@ package synthexec import ( + "encoding/json" + "github.com/elastic/beats/v7/libbeat/common/atomic" + "github.com/elastic/beats/v7/libbeat/logp" ) type ExecMultiplexer struct { - eventCounter *atomic.Int - synthEvents chan *SynthEvent - done chan struct{} + currentJourney *atomic.Bool + eventCounter *atomic.Int + synthEvents chan *SynthEvent + done chan struct{} } func (e ExecMultiplexer) Close() { @@ -22,8 +26,24 @@ func (e ExecMultiplexer) writeSynthEvent(se *SynthEvent) { if se == nil { // we skip writing nil events, since a nil means we're done return } + + if se.Type == "journey/start" { + e.currentJourney.Store(true) + e.eventCounter.Store(-1) + } + hasCurrentJourney := e.currentJourney.Load() + if se.Type == "journey/end" { + e.currentJourney.Store(false) + } + + out, err := json.Marshal(se) + se.index = e.eventCounter.Inc() - e.synthEvents <- se + if hasCurrentJourney { + e.synthEvents <- se + } else { + logp.Warn("received output from synthetics outside of journey scope: %s %s", out, err) + } } // SynthEvents returns a read only channel for synth events @@ -43,8 +63,9 @@ func (e ExecMultiplexer) Wait() { func NewExecMultiplexer() *ExecMultiplexer { return &ExecMultiplexer{ - eventCounter: atomic.NewInt(-1), // Start from -1 so first call to Inc returns 0 - synthEvents: make(chan *SynthEvent), - done: make(chan struct{}), + currentJourney: atomic.NewBool(false), + eventCounter: atomic.NewInt(-1), // Start from -1 so first call to Inc returns 0 + synthEvents: make(chan *SynthEvent), + done: make(chan struct{}), } } diff --git a/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer_test.go b/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer_test.go new file mode 100644 index 00000000000..6cbc34b6889 --- /dev/null +++ b/x-pack/heartbeat/monitors/browser/synthexec/execmultiplexer_test.go @@ -0,0 +1,85 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +package synthexec + +import ( + "fmt" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestExecMultiplexer(t *testing.T) { + em := NewExecMultiplexer() + + // Generate three fake journeys with three fake steps + var testJourneys []*Journey + var testEvents []*SynthEvent + time := float64(0) + for jIdx := 0; jIdx < 3; jIdx++ { + time++ // fake time to make events seem spaced out + journey := &Journey{ + Name: fmt.Sprintf("J%d", jIdx), + Id: fmt.Sprintf("j-%d", jIdx), + } + testJourneys = append(testJourneys, journey) + testEvents = append(testEvents, &SynthEvent{ + Journey: journey, + Type: "journey/start", + TimestampEpochMicros: time, + }) + + for sIdx := 0; sIdx < 3; sIdx++ { + step := &Step{ + Name: fmt.Sprintf("S%d", sIdx), + Index: sIdx, + } + + testEvents = append(testEvents, &SynthEvent{ + Journey: journey, + Step: step, + TimestampEpochMicros: time, + }) + } + + testEvents = append(testEvents, &SynthEvent{ + Journey: journey, + Type: "journey/end", + TimestampEpochMicros: time, + }) + } + + // Write the test events in another go routine since writes block + var results []*SynthEvent + go func() { + for _, se := range testEvents { + em.writeSynthEvent(se) + } + em.Close() + }() + + // Wait for all results +Loop: + for { + select { + case result := <-em.synthEvents: + if result == nil { + break Loop + } + results = append(results, result) + } + } + + require.Len(t, results, len(testEvents)) + i := 0 // counter for index, resets on journey change + for _, se := range results { + require.Equal(t, i, se.index) + if se.Type == "journey/end" { + i = 0 + } else { + i++ + } + } +} diff --git a/x-pack/heartbeat/monitors/browser/synthexec/synthexec.go b/x-pack/heartbeat/monitors/browser/synthexec/synthexec.go index 41a5c1ae88c..59a44bbe59a 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/synthexec.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/synthexec.go @@ -18,7 +18,6 @@ import ( "sync" "time" - "github.com/elastic/beats/v7/heartbeat/beater" "github.com/elastic/beats/v7/heartbeat/monitors/jobs" "github.com/elastic/beats/v7/libbeat/beat" "github.com/elastic/beats/v7/libbeat/common" @@ -27,58 +26,11 @@ import ( const debugSelector = "synthexec" -func init() { - beater.RegisterJourneyLister(ListJourneys) -} - -// ListJourneys takes the given suite performs a dry run, capturing the Journey names, and returns the list. -func ListJourneys(ctx context.Context, suiteFile string, params common.MapStr) (journeyNames []string, err error) { - dir, err := getSuiteDir(suiteFile) - if err != nil { - return nil, err - } - - if os.Getenv("ELASTIC_SYNTHETICS_OFFLINE") != "true" { - // Ensure all deps installed - err = runSimpleCommand(exec.Command("npm", "install"), dir) - if err != nil { - return nil, err - } - - // Update playwright, needs to run separately to ensure post-install hook is run that downloads - // chrome. See https://github.com/microsoft/playwright/issues/3712 - err = runSimpleCommand(exec.Command("npm", "install", "playwright-chromium"), dir) - if err != nil { - return nil, err - } - } - - cmdFactory, err := suiteCommandFactory(dir, suiteFile, "--dry-run") - if err != nil { - return nil, err - } - - mpx, err := runCmd(ctx, cmdFactory(), nil, params) -Outer: - for { - select { - case se := <-mpx.SynthEvents(): - if se == nil { - break Outer - } - if se.Type == "journey/register" { - journeyNames = append(journeyNames, se.Journey.Name) - } - } - } - - logp.Info("Discovered journeys %#v", journeyNames) - return journeyNames, nil -} - // SuiteJob will run a single journey by name from the given suite. -func SuiteJob(ctx context.Context, suiteFile string, journeyName string, params common.MapStr) (jobs.Job, error) { - newCmd, err := suiteCommandFactory(suiteFile, suiteFile, "--screenshots", "--journey-name", journeyName) +func SuiteJob(ctx context.Context, suitePath string, params common.MapStr) (jobs.Job, error) { + // Run the command in the given suitePath, use '.' as the first arg since the command runs + // in the correct dir + newCmd, err := suiteCommandFactory(suitePath, ".", "--screenshots") if err != nil { return nil, err } @@ -86,8 +38,8 @@ func SuiteJob(ctx context.Context, suiteFile string, journeyName string, params return startCmdJob(ctx, newCmd, nil, params), nil } -func suiteCommandFactory(suiteFile string, args ...string) (func() *exec.Cmd, error) { - npmRoot, err := getNpmRoot(suiteFile) +func suiteCommandFactory(suitePath string, args ...string) (func() *exec.Cmd, error) { + npmRoot, err := getNpmRoot(suitePath) if err != nil { return nil, err } @@ -120,19 +72,20 @@ func startCmdJob(ctx context.Context, newCmd func() *exec.Cmd, stdinStr *string, if err != nil { return nil, err } - return []jobs.Job{readResultsJob(ctx, mpx.SynthEvents(), newJourneyEnricher())}, nil + senr := streamEnricher{} + return []jobs.Job{readResultsJob(ctx, mpx.SynthEvents(), senr.enrich)}, nil } } // readResultsJob adapts the output of an ExecMultiplexer into a Job, that uses continuations // to read all output. -func readResultsJob(ctx context.Context, synthEvents <-chan *SynthEvent, je *journeyEnricher) jobs.Job { +func readResultsJob(ctx context.Context, synthEvents <-chan *SynthEvent, enrich enricher) jobs.Job { return func(event *beat.Event) (conts []jobs.Job, err error) { select { case se := <-synthEvents: - err = je.enrich(event, se) + err = enrich(event, se) if se != nil { - return []jobs.Job{readResultsJob(ctx, synthEvents, je)}, err + return []jobs.Job{readResultsJob(ctx, synthEvents, enrich)}, err } else { return nil, err } @@ -301,32 +254,17 @@ func jsonToSynthEvent(bytes []byte, text string) (res *SynthEvent, err error) { return } -func getSuiteDir(suiteFile string) (string, error) { - path, err := filepath.Abs(suiteFile) - if err != nil { - return "", err - } - stat, err := os.Stat(path) - if err != nil { - return "", err - } - - if stat.IsDir() { - return suiteFile, nil - } - - return filepath.Dir(suiteFile), nil -} - -func runSimpleCommand(cmd *exec.Cmd, dir string) error { - cmd.Dir = dir - logp.Info("Running %s in %s", cmd, dir) - output, err := cmd.CombinedOutput() - logp.Info("Ran %s got %s", cmd, string(output)) - return err +// getNpmRoot gets the closest ancestor path that contains package.json. +func getNpmRoot(path string) (string, error) { + return getNpmRootIn(path, path) } -func getNpmRoot(path string) (string, error) { +// getNpmRootIn does the same as getNpmRoot but remembers the original path for +// debugging. +func getNpmRootIn(path, origPath string) (string, error) { + if path == "" { + return "", fmt.Errorf("cannot check for package.json in empty path: '%s'", origPath) + } candidate := filepath.Join(path, "package.json") _, err := os.Lstat(candidate) if err == nil { @@ -335,7 +273,7 @@ func getNpmRoot(path string) (string, error) { // Try again one level up parent := filepath.Dir(path) if len(parent) < 2 { - return "", fmt.Errorf("no package.json found") + return "", fmt.Errorf("no package.json found in '%s'", origPath) } - return getNpmRoot(parent) + return getNpmRootIn(parent, origPath) } diff --git a/x-pack/heartbeat/monitors/browser/synthexec/synthexec_test.go b/x-pack/heartbeat/monitors/browser/synthexec/synthexec_test.go index be8b4a8df8b..75a5ff5a497 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/synthexec_test.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/synthexec_test.go @@ -130,10 +130,12 @@ Loop: t.Run("has echo'd stdin to stdout", func(t *testing.T) { stdoutEvents := eventsWithType("stdout") + require.Len(t, stdoutEvents, 1) require.Equal(t, stdinStr, stdoutEvents[0].Payload["message"]) }) t.Run("has echo'd two lines to stderr", func(t *testing.T) { stdoutEvents := eventsWithType("stderr") + require.Len(t, stdoutEvents, 2) require.Equal(t, "Stderr 1", stdoutEvents[0].Payload["message"]) require.Equal(t, "Stderr 2", stdoutEvents[1].Payload["message"]) }) diff --git a/x-pack/heartbeat/monitors/browser/synthexec/synthtypes.go b/x-pack/heartbeat/monitors/browser/synthexec/synthtypes.go index de0c76e1401..d612529844e 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/synthtypes.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/synthtypes.go @@ -37,6 +37,7 @@ func (se SynthEvent) ToMap() (m common.MapStr) { "type": se.Type, "package_version": se.PackageVersion, "payload": se.Payload, + "index": se.index, }, } if se.Blob != "" { diff --git a/x-pack/heartbeat/monitors/browser/synthexec/testcmd/main.go b/x-pack/heartbeat/monitors/browser/synthexec/testcmd/main.go index 57f2a48f2cc..bd70d8d58c5 100644 --- a/x-pack/heartbeat/monitors/browser/synthexec/testcmd/main.go +++ b/x-pack/heartbeat/monitors/browser/synthexec/testcmd/main.go @@ -8,17 +8,10 @@ import ( "bufio" "fmt" "os" + "time" ) func main() { - // Sample output to test stdout - stdin := bufio.NewReader(os.Stdin) - - stdinLine, _ := stdin.ReadString('\n') - fmt.Fprintln(os.Stdout, stdinLine) - fmt.Fprintln(os.Stderr, "Stderr 1") - fmt.Fprintln(os.Stderr, "Stderr 2") - // For sending JSON results pipe := os.NewFile(3, "pipe") @@ -28,8 +21,30 @@ func main() { os.Exit(1) } scanner := bufio.NewScanner(file) + i := 0 for scanner.Scan() { - fmt.Fprintln(pipe, scanner.Text()) + // We need to test console out within a journey context + // so we wait till the first line, a journey/start is written + // we need to make sure the these raw lines are received after + // the journey start, so, even though we're careful to use + // un-buffered I/O we sleep for a generous 100ms before and after + // to make sure these lines are in the right context + // otherwise they might get lost. + // Note, in the real world lost lines here aren't a big deal + // these only are relevant in error situations, and this is a + // pathological case + if i == 1 { + time.Sleep(time.Millisecond * 100) + stdin := bufio.NewReader(os.Stdin) + stdinLine, _ := stdin.ReadString('\n') + os.Stdout.WriteString(stdinLine + "\n") + os.Stderr.WriteString("Stderr 1\n") + os.Stderr.WriteString("Stderr 2\n") + time.Sleep(time.Millisecond * 100) + } + pipe.WriteString(scanner.Text()) + pipe.WriteString("\n") + i++ } if scanner.Err() != nil { fmt.Printf("Scanner error %s", scanner.Err()) diff --git a/x-pack/heartbeat/sample-synthetics-config/heartbeat.yml b/x-pack/heartbeat/sample-synthetics-config/heartbeat.yml index a47f798246a..bebebdb4673 100644 --- a/x-pack/heartbeat/sample-synthetics-config/heartbeat.yml +++ b/x-pack/heartbeat/sample-synthetics-config/heartbeat.yml @@ -4,33 +4,37 @@ heartbeat.config.monitors: reload.enabled: false reload.period: 5s -heartbeat.synthetic_suites: -- name: Todos suite - path: "/home/andrewvc/projects/synthetics/examples/todos" - schedule: "@every 1m" - heartbeat.monitors: +- type: browser + enabled: true + id: todos-suite + name: Todos Suite + source: + local: + path: "/home/andrewvc/projects/synthetics/examples/todos/" + schedule: '@every 1m' - type: http + enabled: true id: SimpleHTTP urls: http://www.google.com schedule: "@every 15s" name: Simple HTTP - type: browser + enabled: true id: my-monitor name: My Monitor - script: |- - step("load homepage", async () => { - await page.goto('https://www.elastic.co'); - }); - step("hover over products menu", async () => { - await page.hover('css=[data-nav-item=products]'); - }); - step("failme", async () => { - await page.hhover('css=[data-nav-item=products]'); - }); - step("skip me", async () => { - // noop - }); + source: + inline: + script: + step("load homepage", async () => { + await page.goto('https://www.elastic.co'); + }); + step("hover over products menu", async () => { + await page.hover('css=[data-nav-item=products]'); + }); + step("failme", async () => { + await page.hhover('css=[data-nav-item=products]'); + }); schedule: "@every 1m" setup.template.settings: @@ -38,9 +42,7 @@ setup.template.settings: index.codec: best_compression setup.kibana: output.elasticsearch: - hosts: - - localhost:9200 - protocol: http + hosts: "127.0.0.1:9200" username: elastic password: changeme processors: diff --git a/x-pack/metricbeat/metricbeat.reference.yml b/x-pack/metricbeat/metricbeat.reference.yml index 50127225c63..be76277068f 100644 --- a/x-pack/metricbeat/metricbeat.reference.yml +++ b/x-pack/metricbeat/metricbeat.reference.yml @@ -2393,7 +2393,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/packetbeat/packetbeat.reference.yml b/x-pack/packetbeat/packetbeat.reference.yml index 9f25343877f..7a4eb765660 100644 --- a/x-pack/packetbeat/packetbeat.reference.yml +++ b/x-pack/packetbeat/packetbeat.reference.yml @@ -1598,7 +1598,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module. diff --git a/x-pack/winlogbeat/winlogbeat.reference.yml b/x-pack/winlogbeat/winlogbeat.reference.yml index a9cb100ce33..dcb17bb6932 100644 --- a/x-pack/winlogbeat/winlogbeat.reference.yml +++ b/x-pack/winlogbeat/winlogbeat.reference.yml @@ -1069,7 +1069,9 @@ output.elasticsearch: # Permissions to use for file creation. The default is 0600. #permissions: 0600 - + + # Configure automatic file rotation on every startup. The default is true. + #rotate_on_startup: true # ------------------------------- Console Output ------------------------------- #output.console: # Boolean flag to enable or disable the output module.