From c734a743a2a1222df687b9b3de27b9cb2e0fe5c1 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 12:00:31 +0200 Subject: [PATCH] [8.13](backport #40275) [Metricbeat/kibana/status] Add support for v8format (#40290) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alejandro Fernández Haro --- CHANGELOG.next.asciidoc | 5 + metricbeat/docs/fields.asciidoc | 62 +- metricbeat/module/kibana/fields.go | 2 +- .../module/kibana/status/_meta/fields.yml | 26 +- .../kibana/status/_meta/testdata/8.16.0.json | 932 ++++++++++++++++++ .../_meta/testdata/8.16.0.json-expected.json | 48 + metricbeat/module/kibana/status/data.go | 14 +- 7 files changed, 1085 insertions(+), 4 deletions(-) create mode 100644 metricbeat/module/kibana/status/_meta/testdata/8.16.0.json create mode 100644 metricbeat/module/kibana/status/_meta/testdata/8.16.0.json-expected.json diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 8b3afec342c7..e83ff957422d 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -22,6 +22,11 @@ https://github.com/elastic/beats/compare/v8.8.1\...main[Check the HEAD diff] *Metricbeat* +- Setting period for counter cache for Prometheus remote_write at least to 60sec {pull}38553[38553] +- Add support of Graphite series 1.1.0+ tagging extension for statsd module. {pull}39619[39619] +- Remove fallback to the node limit for the `kubernetes.pod.cpu.usage.limit.pct` and `kubernetes.pod.memory.usage.limit.pct` metrics calculation +- Add support for Kibana status metricset in v8 format {pull}40275[40275] + *Osquerybeat* diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 9fba30a513de..697d4f58e6d8 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -43125,13 +43125,73 @@ alias to: service.version *`kibana.status.status.overall.state`*:: + -- -Kibana overall state. +Kibana overall state (v7 format). type: keyword -- +*`kibana.status.status.overall.level`*:: ++ +-- +Kibana overall level (v8 format). + + +type: keyword + +-- + +*`kibana.status.status.overall.summary`*:: ++ +-- +Kibana overall state in a human-readable format. + + +type: text + +-- + +*`kibana.status.status.core.elasticsearch.level`*:: ++ +-- +Kibana Elasticsearch client's status + + +type: keyword + +-- + +*`kibana.status.status.core.elasticsearch.summary`*:: ++ +-- +Kibana Elasticsearch client's status in a human-readable format. + + +type: text + +-- + +*`kibana.status.status.core.savedObjects.level`*:: ++ +-- +Kibana Saved Objects client's status + + +type: keyword + +-- + +*`kibana.status.status.core.savedObjects.summary`*:: ++ +-- +Kibana Saved Objects client's status in a human-readable format. + + +type: text + +-- + [float] === metrics diff --git a/metricbeat/module/kibana/fields.go b/metricbeat/module/kibana/fields.go index 670132dd90ea..2a1db1d08e31 100644 --- a/metricbeat/module/kibana/fields.go +++ b/metricbeat/module/kibana/fields.go @@ -32,5 +32,5 @@ func init() { // AssetKibana returns asset data. // This is the base64 encoded zlib format compressed contents of module/kibana. func AssetKibana() string { - return "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" + return "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" } diff --git a/metricbeat/module/kibana/status/_meta/fields.yml b/metricbeat/module/kibana/status/_meta/fields.yml index 8f0993e7cdf0..c078ef6c46a7 100644 --- a/metricbeat/module/kibana/status/_meta/fields.yml +++ b/metricbeat/module/kibana/status/_meta/fields.yml @@ -23,7 +23,31 @@ - name: status.overall.state type: keyword description: > - Kibana overall state. + Kibana overall state (v7 format). + - name: status.overall.level + type: keyword + description: > + Kibana overall level (v8 format). + - name: status.overall.summary + type: text + description: > + Kibana overall state in a human-readable format. + - name: status.core.elasticsearch.level + type: keyword + description: > + Kibana Elasticsearch client's status + - name: status.core.elasticsearch.summary + type: text + description: > + Kibana Elasticsearch client's status in a human-readable format. + - name: status.core.savedObjects.level + type: keyword + description: > + Kibana Saved Objects client's status + - name: status.core.savedObjects.summary + type: text + description: > + Kibana Saved Objects client's status in a human-readable format. - name: metrics type: group description: > diff --git a/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json b/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json new file mode 100644 index 000000000000..8c18a52d3ed2 --- /dev/null +++ b/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json @@ -0,0 +1,932 @@ +{ + "name": "kibana", + "uuid": "5b2de169-2785-441b-ae8c-186a1936b17d", + "version": { + "number": "8.16.0", + "build_hash": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "build_number": 9007199254740991, + "build_snapshot": false, + "build_flavor": "traditional", + "build_date": "2024-07-16T17:38:42.062Z" + }, + "status": { + "overall": { + "level": "available", + "summary": "All services and plugins are available" + }, + "core": { + "elasticsearch": { + "level": "available", + "summary": "Elasticsearch is available", + "meta": { + "warningNodes": [], + "incompatibleNodes": [] + } + }, + "savedObjects": { + "level": "available", + "summary": "SavedObjects service has completed migrations and is available", + "meta": { + "migratedIndices": { + "migrated": 0, + "skipped": 0, + "patched": 7 + } + } + } + }, + "plugins": { + "alerting": { + "level": "available", + "summary": "Alerting is (probably) ready", + "reported": true + }, + "triggersActionsUi": { + "level": "available", + "summary": "All services and plugins are available" + }, + "transform": { + "level": "available", + "summary": "All services and plugins are available" + }, + "stackConnectors": { + "level": "available", + "summary": "All services and plugins are available" + }, + "searchPlayground": { + "level": "available", + "summary": "All services and plugins are available" + }, + "stackAlerts": { + "level": "available", + "summary": "All services and plugins are available" + }, + "ruleRegistry": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cases": { + "level": "available", + "summary": "All services and plugins are available" + }, + "timelines": { + "level": "available", + "summary": "All services and plugins are available" + }, + "sessionView": { + "level": "available", + "summary": "All services and plugins are available" + }, + "kubernetesSecurity": { + "level": "available", + "summary": "All services and plugins are available" + }, + "threatIntelligence": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityShared": { + "level": "available", + "summary": "All services and plugins are available" + }, + "metricsDataAccess": { + "level": "available", + "summary": "All services and plugins are available" + }, + "logsShared": { + "level": "available", + "summary": "All services and plugins are available" + }, + "aiops": { + "level": "available", + "summary": "All services and plugins are available" + }, + "links": { + "level": "available", + "summary": "All services and plugins are available" + }, + "discover": { + "level": "available", + "summary": "All services and plugins are available" + }, + "reporting": { + "level": "available", + "summary": "All services and plugins are available" + }, + "canvas": { + "level": "available", + "summary": "All services and plugins are available" + }, + "logsExplorer": { + "level": "available", + "summary": "All services and plugins are available" + }, + "exploratoryView": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observability": { + "level": "available", + "summary": "All services and plugins are available" + }, + "slo": { + "level": "available", + "summary": "All services and plugins are available" + }, + "ml": { + "level": "available", + "summary": "All services and plugins are available" + }, + "searchInferenceEndpoints": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityAIAssistantApp": { + "level": "available", + "summary": "All services and plugins are available" + }, + "elasticAssistant": { + "level": "available", + "summary": "All services and plugins are available" + }, + "osquery": { + "level": "available", + "summary": "All services and plugins are available" + }, + "infra": { + "level": "available", + "summary": "All services and plugins are available" + }, + "upgradeAssistant": { + "level": "available", + "summary": "All services and plugins are available" + }, + "monitoring": { + "level": "available", + "summary": "All services and plugins are available" + }, + "logstash": { + "level": "available", + "summary": "All services and plugins are available" + }, + "uptime": { + "level": "available", + "summary": "All services and plugins are available" + }, + "synthetics": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityOnboarding": { + "level": "available", + "summary": "All services and plugins are available" + }, + "datasetQuality": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataQuality": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityLogsExplorer": { + "level": "available", + "summary": "All services and plugins are available" + }, + "apm": { + "level": "available", + "summary": "All services and plugins are available" + }, + "ux": { + "level": "available", + "summary": "All services and plugins are available" + }, + "indexManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "rollup": { + "level": "available", + "summary": "All services and plugins are available" + }, + "remoteClusters": { + "level": "available", + "summary": "All services and plugins are available" + }, + "crossClusterReplication": { + "level": "available", + "summary": "All services and plugins are available" + }, + "indexLifecycleManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "enterpriseSearch": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityAiAssistantManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "esql": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloudSecurityPosture": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloudDefend": { + "level": "available", + "summary": "All services and plugins are available" + }, + "securitySolution": { + "level": "available", + "summary": "All services and plugins are available" + }, + "securitySolutionEss": { + "level": "available", + "summary": "All services and plugins are available" + }, + "discoverEnhanced": { + "level": "available", + "summary": "All services and plugins are available" + }, + "fleet": { + "level": "available", + "summary": "Fleet is available", + "reported": true + }, + "translations": { + "level": "available", + "summary": "All services are available" + }, + "searchConnectors": { + "level": "available", + "summary": "All services are available" + }, + "runtimeFields": { + "level": "available", + "summary": "All services are available" + }, + "assetsDataAccess": { + "level": "available", + "summary": "All services are available" + }, + "monitoringCollection": { + "level": "available", + "summary": "All services are available" + }, + "licenseApiGuard": { + "level": "available", + "summary": "All services are available" + }, + "fieldsMetadata": { + "level": "available", + "summary": "All services are available" + }, + "urlForwarding": { + "level": "available", + "summary": "All services are available" + }, + "unifiedHistogram": { + "level": "available", + "summary": "All services are available" + }, + "uiActions": { + "level": "available", + "summary": "All services are available" + }, + "share": { + "level": "available", + "summary": "All services are available" + }, + "screenshotMode": { + "level": "available", + "summary": "All services are available" + }, + "savedObjectsFinder": { + "level": "available", + "summary": "All services are available" + }, + "noDataPage": { + "level": "available", + "summary": "All services are available" + }, + "kibanaUtils": { + "level": "available", + "summary": "All services are available" + }, + "kibanaReact": { + "level": "available", + "summary": "All services are available" + }, + "ftrApis": { + "level": "available", + "summary": "All services are available" + }, + "fieldFormats": { + "level": "available", + "summary": "All services are available" + }, + "expressions": { + "level": "available", + "summary": "All services are available" + }, + "esUiShared": { + "level": "available", + "summary": "All services are available" + }, + "discoverShared": { + "level": "available", + "summary": "All services are available" + }, + "customIntegrations": { + "level": "available", + "summary": "All services are available" + }, + "contentManagement": { + "level": "available", + "summary": "All services are available" + }, + "bfetch": { + "level": "available", + "summary": "All services are available" + }, + "globalSearch": { + "level": "available", + "summary": "All services and plugins are available" + }, + "globalSearchProviders": { + "level": "available", + "summary": "All services and plugins are available" + }, + "features": { + "level": "available", + "summary": "All services and plugins are available" + }, + "mapsEms": { + "level": "available", + "summary": "All services and plugins are available" + }, + "customBranding": { + "level": "available", + "summary": "All services and plugins are available" + }, + "devTools": { + "level": "available", + "summary": "All services and plugins are available" + }, + "inspector": { + "level": "available", + "summary": "All services and plugins are available" + }, + "banners": { + "level": "available", + "summary": "All services and plugins are available" + }, + "usageCollection": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloud": { + "level": "available", + "summary": "All services and plugins are available" + }, + "guidedOnboarding": { + "level": "available", + "summary": "All services and plugins are available" + }, + "telemetryCollectionManager": { + "level": "available", + "summary": "All services and plugins are available" + }, + "telemetryCollectionXpack": { + "level": "available", + "summary": "All services and plugins are available" + }, + "kibanaUsageCollection": { + "level": "available", + "summary": "All services and plugins are available" + }, + "newsfeed": { + "level": "available", + "summary": "All services and plugins are available" + }, + "screenshotting": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataViews": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloudExperiments": { + "level": "available", + "summary": "All services and plugins are available" + }, + "home": { + "level": "available", + "summary": "All services and plugins are available" + }, + "searchprofiler": { + "level": "available", + "summary": "All services and plugins are available" + }, + "painlessLab": { + "level": "available", + "summary": "All services and plugins are available" + }, + "grokdebugger": { + "level": "available", + "summary": "All services and plugins are available" + }, + "management": { + "level": "available", + "summary": "All services and plugins are available" + }, + "spaces": { + "level": "available", + "summary": "All services and plugins are available" + }, + "security": { + "level": "available", + "summary": "All services and plugins are available" + }, + "snapshotRestore": { + "level": "available", + "summary": "All services and plugins are available" + }, + "lists": { + "level": "available", + "summary": "All services and plugins are available" + }, + "encryptedSavedObjects": { + "level": "available", + "summary": "All services and plugins are available" + }, + "entityManager": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloudLinks": { + "level": "available", + "summary": "All services and plugins are available" + }, + "telemetry": { + "level": "available", + "summary": "All services and plugins are available" + }, + "licenseManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "files": { + "level": "available", + "summary": "All services and plugins are available" + }, + "filesManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "eventLog": { + "level": "available", + "summary": "All services and plugins are available" + }, + "actions": { + "level": "available", + "summary": "All services and plugins are available" + }, + "observabilityAIAssistant": { + "level": "available", + "summary": "All services and plugins are available" + }, + "investigate": { + "level": "available", + "summary": "All services and plugins are available" + }, + "notifications": { + "level": "available", + "summary": "All services and plugins are available" + }, + "cloudDataMigration": { + "level": "available", + "summary": "All services and plugins are available" + }, + "aiAssistantManagementSelection": { + "level": "available", + "summary": "All services and plugins are available" + }, + "advancedSettings": { + "level": "available", + "summary": "All services and plugins are available" + }, + "telemetryManagementSection": { + "level": "available", + "summary": "All services and plugins are available" + }, + "console": { + "level": "available", + "summary": "All services and plugins are available" + }, + "searchNotebooks": { + "level": "available", + "summary": "All services and plugins are available" + }, + "searchHomepage": { + "level": "available", + "summary": "All services and plugins are available" + }, + "data": { + "level": "available", + "summary": "All services and plugins are available" + }, + "logsDataAccess": { + "level": "available", + "summary": "All services and plugins are available" + }, + "apmDataAccess": { + "level": "available", + "summary": "All services and plugins are available" + }, + "fileUpload": { + "level": "available", + "summary": "All services and plugins are available" + }, + "ingestPipelines": { + "level": "available", + "summary": "All services and plugins are available" + }, + "ecsDataQualityDashboard": { + "level": "available", + "summary": "All services and plugins are available" + }, + "unifiedDocViewer": { + "level": "available", + "summary": "All services and plugins are available" + }, + "savedObjects": { + "level": "available", + "summary": "All services and plugins are available" + }, + "savedObjectsTaggingOss": { + "level": "available", + "summary": "All services and plugins are available" + }, + "savedObjectsTagging": { + "level": "available", + "summary": "All services and plugins are available" + }, + "globalSearchBar": { + "level": "available", + "summary": "All services and plugins are available" + }, + "savedObjectsManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "unifiedSearch": { + "level": "available", + "summary": "All services and plugins are available" + }, + "navigation": { + "level": "available", + "summary": "All services and plugins are available" + }, + "graph": { + "level": "available", + "summary": "All services and plugins are available" + }, + "presentationPanel": { + "level": "available", + "summary": "All services and plugins are available" + }, + "embeddable": { + "level": "available", + "summary": "All services and plugins are available" + }, + "uiActionsEnhanced": { + "level": "available", + "summary": "All services and plugins are available" + }, + "embeddableEnhanced": { + "level": "available", + "summary": "All services and plugins are available" + }, + "imageEmbeddable": { + "level": "available", + "summary": "All services and plugins are available" + }, + "urlDrilldown": { + "level": "available", + "summary": "All services and plugins are available" + }, + "savedSearch": { + "level": "available", + "summary": "All services and plugins are available" + }, + "presentationUtil": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionShape": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionRevealImage": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionRepeatImage": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionMetric": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionImage": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionError": { + "level": "available", + "summary": "All services and plugins are available" + }, + "controls": { + "level": "available", + "summary": "All services and plugins are available" + }, + "esqlDataGrid": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataViewFieldEditor": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataViewEditor": { + "level": "available", + "summary": "All services and plugins are available" + }, + "kibanaOverview": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataViewManagement": { + "level": "available", + "summary": "All services and plugins are available" + }, + "charts": { + "level": "available", + "summary": "All services and plugins are available" + }, + "watcher": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visualizations": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeXy": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeVislib": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeVega": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeTimeseries": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeTimelion": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeTagcloud": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeTable": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeMetric": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeHeatmap": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeMarkdown": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visDefaultEditor": { + "level": "available", + "summary": "All services and plugins are available" + }, + "inputControlVis": { + "level": "available", + "summary": "All services and plugins are available" + }, + "eventAnnotation": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionXY": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dashboard": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dashboardEnhanced": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionTagcloud": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionPartitionVis": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypePie": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionMetricVis": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionLegacyMetricVis": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionHeatmap": { + "level": "available", + "summary": "All services and plugins are available" + }, + "expressionGauge": { + "level": "available", + "summary": "All services and plugins are available" + }, + "lens": { + "level": "available", + "summary": "All services and plugins are available" + }, + "maps": { + "level": "available", + "summary": "All services and plugins are available" + }, + "dataVisualizer": { + "level": "available", + "summary": "All services and plugins are available" + }, + "eventAnnotationListing": { + "level": "available", + "summary": "All services and plugins are available" + }, + "visTypeGauge": { + "level": "available", + "summary": "All services and plugins are available" + }, + "licensing": { + "level": "available", + "summary": "License fetched", + "reported": true + }, + "taskManager": { + "level": "available", + "summary": "Task Manager is healthy", + "reported": true + } + } + }, + "metrics": { + "last_updated": "2024-07-17T09:35:11.129Z", + "collection_interval_in_millis": 5000, + "os": { + "platform": "darwin", + "platformRelease": "darwin-23.5.0", + "load": { + "1m": 12.6708984375, + "5m": 10.1025390625, + "15m": 10.5244140625 + }, + "memory": { + "total_in_bytes": 34359738368, + "free_in_bytes": 82526208, + "used_in_bytes": 34277212160 + }, + "uptime_in_millis": 2116272000 + }, + "process": { + "memory": { + "heap": { + "total_in_bytes": 739229696, + "used_in_bytes": 613658752, + "size_limit": 4345298944 + }, + "resident_set_size_in_bytes": 763396096, + "array_buffers_in_bytes": 15459091, + "external_in_bytes": 18984913 + }, + "pid": 94536, + "event_loop_delay": 29.786111, + "event_loop_delay_histogram": { + "min": 9.09312, + "max": 29.786111, + "mean": 10.76752587473, + "exceeds": 0, + "stddev": 1.65098471681065, + "fromTimestamp": "2024-07-17T09:35:06.129Z", + "lastUpdatedAt": "2024-07-17T09:35:11.128Z", + "percentiles": { + "50": 10.387455, + "75": 10.870783, + "95": 13.459455, + "99": 17.580031 + } + }, + "event_loop_utilization": { + "active": 1574.23844694346, + "idle": 3425.01509500295, + "utilization": 0.31489470052574 + }, + "uptime_in_millis": 57391843.684875 + }, + "processes": [ + { + "memory": { + "heap": { + "total_in_bytes": 739229696, + "used_in_bytes": 613658752, + "size_limit": 4345298944 + }, + "resident_set_size_in_bytes": 763396096, + "array_buffers_in_bytes": 15459091, + "external_in_bytes": 18984913 + }, + "pid": 94536, + "event_loop_delay": 29.786111, + "event_loop_delay_histogram": { + "min": 9.09312, + "max": 29.786111, + "mean": 10.76752587473, + "exceeds": 0, + "stddev": 1.65098471681065, + "fromTimestamp": "2024-07-17T09:35:06.129Z", + "lastUpdatedAt": "2024-07-17T09:35:11.128Z", + "percentiles": { + "50": 10.387455, + "75": 10.870783, + "95": 13.459455, + "99": 17.580031 + } + }, + "event_loop_utilization": { + "active": 1574.23844694346, + "idle": 3425.01509500295, + "utilization": 0.31489470052574 + }, + "uptime_in_millis": 57391843.684875 + } + ], + "response_times": { + "avg_in_millis": 15.8129032258065, + "max_in_millis": 863 + }, + "concurrent_connections": 6, + "requests": { + "disconnects": 0, + "total": 312, + "statusCodes": { + "200": 31, + "302": 2, + "304": 277 + }, + "status_codes": { + "200": 31, + "302": 2, + "304": 277 + } + }, + "elasticsearch_client": { + "totalActiveSockets": 2, + "totalIdleSockets": 8, + "totalQueuedRequests": 0 + } + } +} diff --git a/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json-expected.json b/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json-expected.json new file mode 100644 index 000000000000..46821f87b51f --- /dev/null +++ b/metricbeat/module/kibana/status/_meta/testdata/8.16.0.json-expected.json @@ -0,0 +1,48 @@ +[ + { + "event": { + "dataset": "kibana.status", + "duration": 115000, + "module": "kibana" + }, + "kibana": { + "status": { + "metrics": { + "concurrent_connections": 6, + "requests": { + "disconnects": 0, + "total": 312 + } + }, + "name": "kibana", + "status": { + "overall": { + "level": "available", + "summary": "All services and plugins are available" + }, + "core": { + "elasticsearch": { + "level": "available", + "summary": "Elasticsearch is available" + }, + "savedObjects": { + "level": "available", + "summary": "SavedObjects service has completed migrations and is available" + } + } + } + } + }, + "metricset": { + "name": "status", + "period": 10000 + }, + "service": { + "address": "127.0.0.1:55555", + "id": "5b2de169-2785-441b-ae8c-186a1936b17d", + "name": "kibana", + "type": "kibana", + "version": "8.16.0" + } + } +] diff --git a/metricbeat/module/kibana/status/data.go b/metricbeat/module/kibana/status/data.go index 3f975323a9e1..e033a7412103 100644 --- a/metricbeat/module/kibana/status/data.go +++ b/metricbeat/module/kibana/status/data.go @@ -38,7 +38,19 @@ var ( }), "status": c.Dict("status", s.Schema{ "overall": c.Dict("overall", s.Schema{ - "state": c.Str("state"), + "state": c.Str("state"), + "level": c.Str("level"), + "summary": c.Str("summary"), + }), + "core": c.Dict("core", s.Schema{ + "elasticsearch": c.Dict("elasticsearch", s.Schema{ + "level": c.Str("level"), + "summary": c.Str("summary"), + }), + "savedObjects": c.Dict("savedObjects", s.Schema{ + "level": c.Str("level"), + "summary": c.Str("summary"), + }), }), }), "metrics": c.Dict("metrics", s.Schema{