From 544f0aa58534048b2af149f844adf3dfad14162b 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 fe9e7a7f277..4a97480c811 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -22,6 +22,10 @@ https://github.com/elastic/beats/compare/v8.7.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 073b2e26a45..46812fdc218 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -42787,13 +42787,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 a093c65f4d6..45ae1fbdee8 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{