From f3d8948262c41cc3bf7320926de39a27f9e1bf3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Wed, 17 Jul 2024 20:52:14 +0200 Subject: [PATCH] [Metricbeat/kibana/status] Add support for v8format (#40275) (cherry picked from commit 942f8c78573d0162765bb8d80c7d7368ca36d58f) # Conflicts: # metricbeat/module/kibana/fields.go --- CHANGELOG.next.asciidoc | 4 + metricbeat/docs/fields.asciidoc | 62 +- metricbeat/module/kibana/fields.go | 4 + .../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, 1087 insertions(+), 3 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 7546b3fe0cc..f3ba54a2a0e 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -21,6 +21,10 @@ 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 17f608f713b..88c1afe4b8e 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -42962,13 +42962,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 790e70dbe9b..4a1327958ca 100644 --- a/metricbeat/module/kibana/fields.go +++ b/metricbeat/module/kibana/fields.go @@ -32,5 +32,9 @@ func init() { // AssetKibana returns asset data. // This is the base64 encoded zlib format compressed contents of module/kibana. func AssetKibana() string { +<<<<<<< HEAD return "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" +======= + return "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" +>>>>>>> 942f8c7857 ([Metricbeat/kibana/status] Add support for v8format (#40275)) } diff --git a/metricbeat/module/kibana/status/_meta/fields.yml b/metricbeat/module/kibana/status/_meta/fields.yml index 8f0993e7cdf..c078ef6c46a 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 00000000000..8c18a52d3ed --- /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 00000000000..46821f87b51 --- /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 f02b2812d0b..e1238e064ab 100644 --- a/metricbeat/module/kibana/status/data.go +++ b/metricbeat/module/kibana/status/data.go @@ -39,7 +39,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{