mirror of
https://github.com/elastic/logstash.git
synced 2025-06-28 09:46:03 -04:00
2341 lines
No EOL
96 KiB
YAML
2341 lines
No EOL
96 KiB
YAML
|
||
openapi: 3.1.0
|
||
info:
|
||
title: Logstash APIs
|
||
description: |
|
||
When you run Logstash, it automatically captures runtime metrics that you can use to monitor the health and performance of your Logstash deployment.
|
||
The metrics collected by Logstash include:
|
||
|
||
- Health report.
|
||
- Hot threads.
|
||
- Logstash node info, like pipeline settings, OS info, and JVM info.
|
||
- Node stats, like JVM stats, process stats, event-related stats, and pipeline runtime stats.
|
||
- Plugins info, including a list of installed plugins.
|
||
|
||
|
||
The APIs that retrieve these metrics are available by default, with no extra configuration needed.
|
||
|
||
## Documentation source and versions
|
||
|
||
This documentation is derived from the `main` branch of the [logstash](https://github.com/elastic/logstash) repository.
|
||
It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).
|
||
version: '1.0'
|
||
x-doc-license:
|
||
name: Attribution-NonCommercial-NoDerivatives 4.0 International
|
||
url: https://creativecommons.org/licenses/by-nc-nd/4.0/
|
||
x-feedbackLink:
|
||
label: Feedback
|
||
url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
|
||
servers:
|
||
- url: /
|
||
security:
|
||
- {} # Allows requests without authentication
|
||
- BasicAuth: [] # Allows requests with Basic Authentication
|
||
tags:
|
||
- name: health
|
||
x-displayName: Health report
|
||
# description:
|
||
# externalDocs:
|
||
# description:
|
||
# url:
|
||
- name: hot threads
|
||
x-displayName: Hot threads
|
||
# description:
|
||
# externalDocs:
|
||
# description:
|
||
# url:
|
||
- name: node info
|
||
x-displayName: Node info
|
||
description: |
|
||
Logstash node info, like pipeline settings, OS info, and JVM info.
|
||
# externalDocs:
|
||
# description:
|
||
# url:
|
||
- name: node stats
|
||
x-displayName: Node stats
|
||
description: |
|
||
Node stats, like JVM stats, process stats, event-related stats, and pipeline runtime stats.
|
||
# externalDocs:
|
||
# description:
|
||
# url:
|
||
- name: plugin info
|
||
x-displayName: Plugins info
|
||
description: |
|
||
Plugin info, including a list of installed plugins.
|
||
# externalDocs:
|
||
# description:
|
||
# url:
|
||
paths:
|
||
/_node/jvm:
|
||
get:
|
||
summary: Gets node-level JVM info
|
||
description: |
|
||
Show node-level JVM stats, such as the JVM process id, version, VM info, memory usage, and info about garbage collectors.
|
||
operationId: nodeInfoJVM
|
||
tags:
|
||
- node info
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- type: object
|
||
properties:
|
||
jvm:
|
||
type: object
|
||
properties:
|
||
pid:
|
||
type: integer
|
||
version:
|
||
type: string
|
||
vm_name:
|
||
type: string
|
||
vm_version:
|
||
type: string
|
||
vm_vendor:
|
||
type: string
|
||
start_time_in_millis:
|
||
type: integer
|
||
mem:
|
||
type: object
|
||
properties:
|
||
heap_init_in_bytes:
|
||
type: integer
|
||
heap_max_in_bytes:
|
||
type: integer
|
||
non_heap_init_in_bytes:
|
||
type: integer
|
||
non_heap_max_in_bytes:
|
||
type: integer
|
||
gc_collectors:
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
jvm:
|
||
pid: 84013
|
||
version: "21.0.4"
|
||
vm_name: "OpenJDK 64-Bit Server VM"
|
||
vm_version: "21.0.4"
|
||
vm_vendor: "Eclipse Adoptium"
|
||
start_time_in_millis: 1630980000000
|
||
mem:
|
||
heap_init_in_bytes: 1073741824
|
||
heap_max_in_bytes: 1073741824
|
||
non_heap_init_in_bytes: 2555904
|
||
non_heap_max_in_bytes: 0
|
||
gc_collectors:
|
||
- "G1 Young Generation"
|
||
- "G1 Concurrent GC"
|
||
- "G1 Old Generation"
|
||
|
||
/_node/os:
|
||
get:
|
||
summary: Get node-level OS info
|
||
description: |
|
||
Get the operating system (OS) name, architecture, version, and available processors.
|
||
operationId: nodeInfoOS
|
||
tags:
|
||
- node info
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: '#/components/schemas/OSStats'
|
||
example:
|
||
os:
|
||
name: "Mac OS X"
|
||
arch: "aarch64"
|
||
version: "15.3.1"
|
||
available_processors: 12
|
||
|
||
/_node/pipelines:
|
||
get:
|
||
summary: Get settings for pipelines
|
||
description: |
|
||
Get information and settings for all pipelines.
|
||
operationId: nodeInfoPipelines
|
||
tags:
|
||
- node info
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- type: object
|
||
properties:
|
||
pipelines:
|
||
type: object
|
||
additionalProperties:
|
||
$ref: '#/components/schemas/NodeInfoPipeline'
|
||
example:
|
||
pipelines:
|
||
aggregation-pipeline:
|
||
workers: 1
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
config_reload_automatic: false
|
||
config_reload_interval: 3
|
||
dead_letter_queue_enabled: false
|
||
ingestion-pipeline:
|
||
workers: 8
|
||
batch_size: 125
|
||
batch_delay: 5
|
||
config_reload_automatic: false
|
||
config_reload_interval: 3
|
||
dead_letter_queue_enabled: false
|
||
|
||
/_node/pipelines/{pipeline_name}:
|
||
get:
|
||
summary: Get settings for a pipeline
|
||
description: Get information and settings for all pipelines.
|
||
operationId: nodeInfoPipeline
|
||
tags:
|
||
- node info
|
||
parameters:
|
||
- name: pipeline_name
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: The name of the pipeline to retrieve information for.
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- type: object
|
||
properties:
|
||
pipelines:
|
||
type: object
|
||
additionalProperties:
|
||
$ref: '#/components/schemas/NodeInfoPipeline'
|
||
example:
|
||
pipelines:
|
||
aggregation-pipeline:
|
||
workers: 1
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
config_reload_automatic: false
|
||
config_reload_interval: 3
|
||
dead_letter_queue_enabled: false
|
||
|
||
/_node/plugins:
|
||
get:
|
||
summary: Get plugin info
|
||
description: >
|
||
Get information about all Logstash plugins that are currently installed.
|
||
This API returns the same output you get by running the `bin/logstash-plugin list --verbose` command.
|
||
operationId: nodePlugins
|
||
tags:
|
||
- plugin info
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- type: object
|
||
properties:
|
||
total:
|
||
type: integer
|
||
plugins:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
version:
|
||
type: string
|
||
|
||
examples:
|
||
nodePluginsExample1:
|
||
value:
|
||
total: 4
|
||
plugins:
|
||
- name: logstash-codec-cef
|
||
version: 6.2.8
|
||
- name: logstash-codec-collectd
|
||
version: 3.0.3
|
||
- name: logstash-codec-dots
|
||
version: 3.0.2
|
||
- name: logstash-coded-edn
|
||
version: 3.0.2
|
||
|
||
/_node/stats:
|
||
get:
|
||
summary: Get node statistics
|
||
description: Get node statistics including information about the JVM, process, events, flow, and queue.
|
||
operationId: nodeStats
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing pipelines statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Common"
|
||
- $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: '#/components/schemas/JVMStats'
|
||
- $ref: '#/components/schemas/ProcessStats'
|
||
- $ref: '#/components/schemas/EventsStats'
|
||
- $ref: '#/components/schemas/NodeStatsFlow'
|
||
- $ref: "#/components/schemas/PipelinesStats"
|
||
- $ref: '#/components/schemas/ReloadStats'
|
||
- $ref: '#/components/schemas/OSStats'
|
||
- $ref: '#/components/schemas/QueueStats'
|
||
example:
|
||
host: Mac
|
||
version: 9.1.0
|
||
http_address: 127.0.0.1:9600
|
||
id: 46e32c2e-b41f-45b7-84c1-1642457f3eba
|
||
name: Mac
|
||
ephemeral_id: 1752e2fe-7710-44d0-a2f8-a3005b6273c8
|
||
snapshot:
|
||
status: green
|
||
pipeline:
|
||
workers: 12
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
jvm:
|
||
threads:
|
||
count: 47
|
||
peak_count: 47
|
||
mem:
|
||
heap_used_percent: 20
|
||
heap_committed_in_bytes: 1073741824
|
||
heap_max_in_bytes: 1073741822
|
||
heap_used_in_bytes: 222298112
|
||
non_heap_used_in_bytes: 170675352
|
||
non_heap_committed_in_bytes: 176553984
|
||
pools:
|
||
survivor:
|
||
max_in_bytes: -1
|
||
peak_used_in_bytes: 42991616
|
||
peak_max_in_bytes: -1
|
||
committed_in_bytes: 26214400
|
||
used_in_bytes: 26214400
|
||
old:
|
||
max_in_bytes: 1073741824
|
||
peak_used_in_bytes: 96468992
|
||
peak_max_in_bytes: 1073741824
|
||
committed_in_bytes: 848297984
|
||
used_in_bytes: 96468992
|
||
young:
|
||
max_in_bytes: -1
|
||
peak_used_in_bytes: 329252864
|
||
peak_max_in_bytes: -1
|
||
committed_in_bytes: 199229440
|
||
used_in_bytes: 99614720
|
||
gc:
|
||
collectors:
|
||
old:
|
||
collection_time_in_millis: 0
|
||
collection_count: 0
|
||
young:
|
||
collection_time_in_millis: 49
|
||
collection_count: 7
|
||
uptime_in_millis: 14712
|
||
process:
|
||
open_file_descriptors: 87
|
||
peak_open_file_descriptors: 87
|
||
max_file_descriptors: 10240
|
||
mem:
|
||
total_virtual_in_bytes: 425113862144
|
||
cpu:
|
||
total_in_millis: 20823
|
||
percent: 0
|
||
load_average:
|
||
1m: 4.07177734375
|
||
events:
|
||
in: 1
|
||
filtered: 1
|
||
out: 1
|
||
duration_in_millis: 6
|
||
queue_push_duration_in_millis: 0
|
||
flow:
|
||
input_throughput:
|
||
current: 0.0776
|
||
lifetime: 0.0776
|
||
filter_throughput:
|
||
current: 0.07759
|
||
lifetime: 0.07759
|
||
output_throughput:
|
||
current: 0.07759
|
||
lifetime: 0.07759
|
||
queue_backpressure:
|
||
current: 0
|
||
lifetime: 0
|
||
worker_concurrency:
|
||
current: 0.0004656
|
||
lifetime: 0.0004656
|
||
pipelines:
|
||
heartbeat-ruby-stdout:
|
||
events:
|
||
queue_push_duration_in_millis: 0
|
||
filtered: 1
|
||
out: 1
|
||
duration_in_millis: 6
|
||
in: 1
|
||
flow:
|
||
worker_concurrency:
|
||
current: 0.0004779
|
||
lifetime: 0.0004779
|
||
filter_throughput:
|
||
current: 0.07963
|
||
lifetime: 0.07963
|
||
worker_utilization:
|
||
current: 0.003982
|
||
lifetime: 0.003982
|
||
queue_backpressure:
|
||
current: 0
|
||
lifetime: 0
|
||
output_throughput:
|
||
current: 0.07963
|
||
lifetime: 0.07963
|
||
input_throughput:
|
||
current: 0.07962
|
||
lifetime: 0.07962
|
||
plugins:
|
||
inputs:
|
||
- id: c9ca46e359d73146590ca8af40092342afa922f3cbf07adc4b5009e346cb19f7
|
||
flow:
|
||
throughput:
|
||
current: 0.07963
|
||
lifetime: 0.07963
|
||
name: heartbeat
|
||
events:
|
||
queue_push_duration_in_millis: 0
|
||
out: 1
|
||
codecs:
|
||
- id: be3a3aba-ee75-4978-af58-d22b856d0e35
|
||
name: rubydebug
|
||
- id: plain_22e7b41b-756a-4b52-b03c-a30b31bb6266
|
||
name: plain
|
||
decode:
|
||
out: 0
|
||
duration_in_millis: 0
|
||
writes_in: 0
|
||
encode:
|
||
duration_in_millis: 0
|
||
writes_in: 0
|
||
filters:
|
||
- id: 585fa932a4fd506055ead07ee5ebcb3033c27c82ba90cbee73d6ac7e9357333a
|
||
flow:
|
||
worker_utilization:
|
||
current: 0.0006636
|
||
lifetime: 0.0006636
|
||
worker_millis_per_event:
|
||
current: 1
|
||
lifetime: 1
|
||
name: ruby
|
||
events:
|
||
out: 1
|
||
in: 1
|
||
duration_in_millis: 1
|
||
outputs:
|
||
- id: c4f801c8f170b4cb0679f704413773acd5f291929f42302d0a56361400c3741b
|
||
flow:
|
||
worker_utilization:
|
||
current: 0.001991
|
||
lifetime: 0.001991
|
||
worker_millis_per_event:
|
||
current: 3
|
||
lifetime: 3
|
||
name: stdout
|
||
events:
|
||
out: 1
|
||
in: 1
|
||
duration_in_millis: 3
|
||
reloads:
|
||
last_failure_timestamp:
|
||
successes: 0
|
||
last_success_timestamp:
|
||
last_error:
|
||
failures: 0
|
||
queue:
|
||
type: memory
|
||
events_count: 0
|
||
queue_size_in_bytes: 0
|
||
max_queue_size_in_bytes: 0
|
||
pipeline:
|
||
workers: 12
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
hash: c11e0502ebf98956dffa371775fd1cb719f85f819ee166b770b3e982da1c999d
|
||
ephemeral_id: cd90b521-c192-437e-a49e-62fabebde7e2
|
||
reloads:
|
||
successes: 0
|
||
failures: 0
|
||
os: { }
|
||
queue:
|
||
events_count: 0
|
||
|
||
/_node/stats/events:
|
||
get:
|
||
summary: Get events statistics
|
||
description: Get statistics related to event processing.
|
||
operationId: nodeStatsEvents
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing events statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/EventsStats"
|
||
example:
|
||
events:
|
||
duration_in_millis: 1109
|
||
in: 56
|
||
filtered: 56
|
||
out: 56
|
||
queue_push_duration_in_millis: 2
|
||
|
||
/_node/stats/flow:
|
||
get:
|
||
summary: Get flow statistics
|
||
description: Get throughput and backpressure details.
|
||
operationId: nodeStatsFlow
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: |
|
||
Flow rates provide visibility into how a Logstash instance or an individual pipeline is currently performing relative to itself over time. This allows us to attach meaning to the cumulative-value metrics that are also presented by this API, and to determine whether an instance or pipeline is behaving better or worse than it has in the past.
|
||
|
||
The following flow rates are available for the logstash process as a whole and for each of its pipelines individually. In addition, pipelines may have [additional flow rates](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html#pipeline-flow-rates) depending on their configuration.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/NodeStatsFlow"
|
||
example:
|
||
flow:
|
||
input_throughput:
|
||
current: 0.07381
|
||
last_1_minute: 0.01572
|
||
last_5_minutes: 0.01618
|
||
last_15_minutes: 0.0173
|
||
lifetime: 0.01701
|
||
filter_throughput:
|
||
current: 0.07379
|
||
last_1_minute: 0.01572
|
||
last_5_minutes: 0.01618
|
||
last_15_minutes: 0.0173
|
||
lifetime: 0.01701
|
||
output_throughput:
|
||
current: 0.07379
|
||
last_1_minute: 0.01572
|
||
last_5_minutes: 0.01618
|
||
last_15_minutes: 0.0173
|
||
lifetime: 0.01701
|
||
queue_backpressure:
|
||
current: 0.00007379
|
||
last_1_minute: 0.00001572
|
||
last_5_minutes: 0.00004532
|
||
last_15_minutes: 0.00005407
|
||
lifetime: 0.00006464
|
||
worker_concurrency:
|
||
current: 0.0001476
|
||
last_1_minute: 0.0001257
|
||
last_5_minutes: 0.000246
|
||
last_15_minutes: 0.0002941
|
||
lifetime: 0.000242
|
||
|
||
/_node/stats/geoip_download_manager:
|
||
get:
|
||
summary: Get geoip databases statistics
|
||
description: Get license checks and download status of [Geoip filter plugin](https://www.elastic.co/guide/en/logstash/current/plugins-filters-geoip.html).
|
||
operationId: nodeStatsGeoIPDownloadManager
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing geoip database license and download status.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
geoip_download_manager:
|
||
type: object
|
||
properties:
|
||
database:
|
||
type: object
|
||
properties:
|
||
ASN:
|
||
$ref: "#/components/schemas/GeoIPDBLicenseStats"
|
||
CITY:
|
||
$ref: "#/components/schemas/GeoIPDBLicenseStats"
|
||
download_stats:
|
||
type: object
|
||
properties:
|
||
successes:
|
||
description: "The number of successful checks and downloads"
|
||
type: integer
|
||
failures:
|
||
description: "The number of failed check or downloads"
|
||
type: integer
|
||
last_checked_at:
|
||
type: string
|
||
format: date-time
|
||
status:
|
||
description: "The last download status."
|
||
type: string
|
||
enum: [ "succeeded", "failed", "updating" ]
|
||
|
||
/_node/stats/jvm:
|
||
get:
|
||
summary: Get JVM statistics
|
||
description: Get threads count, garbage collators(GC) and memory details.
|
||
operationId: nodeStatsJVM
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing jvm statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/JVMStats"
|
||
example:
|
||
jvm:
|
||
threads:
|
||
count: 117
|
||
peak_count: 119
|
||
mem:
|
||
heap_used_percent: 4
|
||
heap_committed_in_bytes: 245366784
|
||
heap_max_in_bytes: 4294967294
|
||
heap_used_in_bytes: 206685392
|
||
non_heap_used_in_bytes: 175223280
|
||
non_heap_committed_in_bytes: 196739072
|
||
pools:
|
||
young:
|
||
committed_in_bytes: 92274688
|
||
max_in_bytes: -1
|
||
used_in_bytes: 69206016
|
||
peak_max_in_bytes: -1
|
||
peak_used_in_bytes: 171966464
|
||
old:
|
||
committed_in_bytes: 146800640
|
||
max_in_bytes: 4294967296
|
||
used_in_bytes: 131187920
|
||
peak_max_in_bytes: 4294967296
|
||
peak_used_in_bytes: 135186368
|
||
survivor:
|
||
committed_in_bytes: 6291456
|
||
max_in_bytes: -1
|
||
used_in_bytes: 6291456
|
||
peak_max_in_bytes: -1
|
||
peak_used_in_bytes: 23068672
|
||
gc:
|
||
collectors:
|
||
young:
|
||
collection_count: 37
|
||
collection_time_in_millis: 192
|
||
old:
|
||
collection_count: 0
|
||
collection_time_in_millis: 0
|
||
uptime_in_millis: 2512572
|
||
|
||
/_node/stats/os:
|
||
get:
|
||
summary: Get Cgroup statistics
|
||
description: Get a more accurate view of CPU statistics from control groups (Cgroup) if available.
|
||
operationId: nodeStatsOS
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing OS statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
os:
|
||
type: object
|
||
properties:
|
||
cgroup:
|
||
type: object
|
||
properties:
|
||
cpuacct:
|
||
type: object
|
||
properties:
|
||
control_group:
|
||
type: string
|
||
usage_nanos:
|
||
type: integer
|
||
format: int64
|
||
cpu:
|
||
type: object
|
||
properties:
|
||
control_group:
|
||
type: string
|
||
cfs_period_micros:
|
||
type: integer
|
||
format: int64
|
||
cfs_quota_micros:
|
||
type: integer
|
||
format: int64
|
||
stat:
|
||
type: object
|
||
properties:
|
||
number_of_elapsed_periods:
|
||
type: integer
|
||
format: int64
|
||
number_of_times_throttled:
|
||
type: integer
|
||
format: int64
|
||
time_throttled_nanos:
|
||
type: integer
|
||
format: int64
|
||
example:
|
||
os:
|
||
cgroup:
|
||
cpuacct:
|
||
control_group: "/elastic1"
|
||
usage_nanos: 378477588075
|
||
cpu:
|
||
control_group: "/elastic1"
|
||
cfs_period_micros: 1000000
|
||
cfs_quota_micros: 800000
|
||
stat:
|
||
number_of_elapsed_periods: 4157
|
||
number_of_times_throttled: 460
|
||
time_throttled_nanos: 581617440755
|
||
|
||
/_node/stats/pipelines:
|
||
get:
|
||
summary: Get statistics for pipelines
|
||
description: Get pipeline performance metrics and plugin details.
|
||
operationId: nodeStatsPipelines
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: |
|
||
A JSON object containing pipelines statistics.
|
||
|
||
- the number of events that were input, filtered, or output by each pipeline
|
||
- the current and lifetime [flow rates](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html#flow-stats for each pipeline
|
||
- stats for each configured filter or output stage
|
||
- info about config reload successes and failures (when [config reload](https://www.elastic.co/guide/en/logstash/current/reloading-config.html) is enabled)
|
||
- info about the persistent queue (when [persistent queues](https://www.elastic.co/guide/en/logstash/current/persistent-queues.html) are enabled)
|
||
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/PipelinesStats"
|
||
example:
|
||
pipelines:
|
||
beats-es:
|
||
events:
|
||
duration_in_millis: 365495
|
||
in: 216610
|
||
filtered: 216485
|
||
out: 216485
|
||
queue_push_duration_in_millis: 342466
|
||
flow:
|
||
input_throughput:
|
||
current: 603.1
|
||
lifetime: 575.4
|
||
filter_throughput:
|
||
current: 604.2
|
||
lifetime: 575.1
|
||
output_throughput:
|
||
current: 604.8
|
||
lifetime: 575.1
|
||
queue_backpressure:
|
||
current: 0.214
|
||
lifetime: 0.937
|
||
worker_concurrency:
|
||
current: 0.941
|
||
lifetime: 0.9709
|
||
worker_utilization:
|
||
current: 93.092
|
||
lifetime: 92.187
|
||
plugins:
|
||
inputs:
|
||
- id: 35131f351e2dc5ed13ee04265a8a5a1f95292165-1
|
||
events:
|
||
out: 216485
|
||
queue_push_duration_in_millis: 342466
|
||
flow:
|
||
throughput:
|
||
current: 603.1
|
||
lifetime: 590.7
|
||
name: beats
|
||
filters:
|
||
- id: 35131f351e2dc5ed13ee04265a8a5a1f95292165-2
|
||
events:
|
||
duration_in_millis: 55969
|
||
in: 216485
|
||
out: 216485
|
||
failures: 216485
|
||
patterns_per_field:
|
||
message: 1
|
||
flow:
|
||
worker_utilization:
|
||
current: 16.71
|
||
lifetime: 15.27
|
||
worker_millis_per_event:
|
||
current: 2829
|
||
lifetime: 0.2585
|
||
name: grok
|
||
- id: 35131f351e2dc5ed13ee04265a8a5a1f95292165-3
|
||
events:
|
||
duration_in_millis: 3326
|
||
in: 216485
|
||
out: 216485
|
||
flow:
|
||
worker_utilization:
|
||
current: 1.042
|
||
lifetime: 0.9076
|
||
worker_millis_per_event:
|
||
current: 0.01763
|
||
lifetime: 0.01536
|
||
name: geoip
|
||
outputs:
|
||
- id: 35131f351e2dc5ed13ee04265a8a5a1f95292165-4
|
||
events:
|
||
duration_in_millis: 278557
|
||
in: 216485
|
||
out: 216485
|
||
flow:
|
||
worker_utilization:
|
||
current: 75.34
|
||
lifetime: 76.01
|
||
worker_millis_per_event:
|
||
current: 1.276
|
||
lifetime: 1.287
|
||
name: elasticsearch
|
||
reloads:
|
||
last_error:
|
||
successes: 0
|
||
last_success_timestamp:
|
||
last_failure_timestamp:
|
||
failures: 0
|
||
queue:
|
||
type: memory
|
||
pipeline:
|
||
workers: 4
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
heartbeat-ruby-stdout:
|
||
events:
|
||
queue_push_duration_in_millis: 159
|
||
in: 45
|
||
duration_in_millis: 341
|
||
filtered: 45
|
||
out: 45
|
||
flow:
|
||
filter_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
queue_persisted_growth_bytes:
|
||
current: 0
|
||
last_1_minute: 4.068
|
||
last_5_minutes: 4.101
|
||
last_15_minutes: 4.14
|
||
lifetime: 4.214
|
||
queue_persisted_growth_events:
|
||
current: 0
|
||
last_1_minute: 0
|
||
last_5_minutes: 0
|
||
last_15_minutes: 0
|
||
lifetime: 0
|
||
queue_backpressure:
|
||
current: 0
|
||
last_1_minute: 1.614e-05
|
||
last_5_minutes: 2.278e-05
|
||
last_15_minutes: 4.272e-05
|
||
lifetime: 5.901e-05
|
||
output_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.0004036
|
||
last_5_minutes: 0.0006239
|
||
last_15_minutes: 0.0009858
|
||
lifetime: 0.001055
|
||
worker_concurrency:
|
||
current: 0
|
||
last_1_minute: 4.843e-05
|
||
last_5_minutes: 7.486e-05
|
||
last_15_minutes: 0.0001183
|
||
lifetime: 0.0001266
|
||
input_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
plugins:
|
||
inputs:
|
||
- id: c9ca46e359d73146590ca8af40092342afa922f3cbf07adc4b5009e346cb19f7
|
||
events:
|
||
queue_push_duration_in_millis: 159
|
||
out: 45
|
||
name: heartbeat
|
||
flow:
|
||
throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
codecs:
|
||
- id: plain_b0090202-daac-428e-8355-18c35a0826cb
|
||
decode:
|
||
writes_in: 0
|
||
duration_in_millis: 0
|
||
out: 0
|
||
name: plain
|
||
encode:
|
||
writes_in: 0
|
||
duration_in_millis: 0
|
||
- id: 6bff4bc6-3a8c-494c-aa65-d16e1eb09578
|
||
name: rubydebug
|
||
filters:
|
||
- id: 585fa932a4fd506055ead07ee5ebcb3033c27c82ba90cbee73d6ac7e9357333a
|
||
events:
|
||
in: 45
|
||
duration_in_millis: 86
|
||
out: 45
|
||
name: ruby
|
||
flow:
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.0001345
|
||
last_5_minutes: 0.0001627
|
||
last_15_minutes: 0.0002191
|
||
lifetime: 0.000266
|
||
worker_millis_per_event:
|
||
last_1_minute: 1
|
||
last_5_minutes: 1.2
|
||
last_15_minutes: 1.6
|
||
lifetime: 1.911
|
||
outputs:
|
||
- id: c4f801c8f170b4cb0679f704413773acd5f291929f42302d0a56361400c3741b
|
||
events:
|
||
in: 45
|
||
duration_in_millis: 216
|
||
out: 45
|
||
name: stdout
|
||
flow:
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.000269
|
||
last_5_minutes: 0.000434
|
||
last_15_minutes: 0.0006663
|
||
lifetime: 0.000668
|
||
worker_millis_per_event:
|
||
last_1_minute: 2
|
||
last_5_minutes: 3.2
|
||
last_15_minutes: 4.867
|
||
lifetime: 4.8
|
||
reloads:
|
||
last_failure_timestamp:
|
||
successes: 0
|
||
failures: 0
|
||
last_success_timestamp:
|
||
last_error:
|
||
queue:
|
||
events: 0
|
||
capacity:
|
||
max_queue_size_in_bytes: 1073741824
|
||
max_unread_events: 0
|
||
queue_size_in_bytes: 11341
|
||
page_capacity_in_bytes: 67108864
|
||
data:
|
||
free_space_in_bytes: 60833390592
|
||
path: "/path/to/logstash/data/queue/heartbeat-ruby-stdout"
|
||
storage_type: apfs
|
||
type: persisted
|
||
events_count: 0
|
||
queue_size_in_bytes: 11341
|
||
max_queue_size_in_bytes: 1073741824
|
||
pipeline:
|
||
workers: 12
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
hash: c11e0502ebf98956dffa371775fd1cb719f85f819ee166b770b3e982da1c999d
|
||
ephemeral_id: 6a218b06-9655-4ddc-84e9-d5bfa51e5dc7
|
||
|
||
/_node/stats/pipelines/{pipeline_name}:
|
||
get:
|
||
summary: Get statistics for a pipeline
|
||
description: Get performance metrics and plugin details for a pipeline.
|
||
operationId: nodeStatsPipeline
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- name: pipeline_name
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: The name of the pipeline to retrieve information for.
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing a single pipeline statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/PipelinesStats"
|
||
examples:
|
||
PipelineWithPersistedQueue:
|
||
description: A pipeline with a persisted queue.
|
||
value:
|
||
pipelines:
|
||
heartbeat-ruby-stdout:
|
||
events:
|
||
queue_push_duration_in_millis: 159
|
||
in: 45
|
||
duration_in_millis: 341
|
||
filtered: 45
|
||
out: 45
|
||
flow:
|
||
filter_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
queue_persisted_growth_bytes:
|
||
current: 0
|
||
last_1_minute: 4.068
|
||
last_5_minutes: 4.101
|
||
last_15_minutes: 4.14
|
||
lifetime: 4.214
|
||
queue_persisted_growth_events:
|
||
current: 0
|
||
last_1_minute: 0
|
||
last_5_minutes: 0
|
||
last_15_minutes: 0
|
||
lifetime: 0
|
||
queue_backpressure:
|
||
current: 0
|
||
last_1_minute: 1.614e-05
|
||
last_5_minutes: 2.278e-05
|
||
last_15_minutes: 4.272e-05
|
||
lifetime: 5.901e-05
|
||
output_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.0004036
|
||
last_5_minutes: 0.0006239
|
||
last_15_minutes: 0.0009858
|
||
lifetime: 0.001055
|
||
worker_concurrency:
|
||
current: 0
|
||
last_1_minute: 4.843e-05
|
||
last_5_minutes: 7.486e-05
|
||
last_15_minutes: 0.0001183
|
||
lifetime: 0.0001266
|
||
input_throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
plugins:
|
||
inputs:
|
||
- id: c9ca46e359d73146590ca8af40092342afa922f3cbf07adc4b5009e346cb19f7
|
||
events:
|
||
queue_push_duration_in_millis: 159
|
||
out: 45
|
||
name: heartbeat
|
||
flow:
|
||
throughput:
|
||
current: 0
|
||
last_1_minute: 0.01614
|
||
last_5_minutes: 0.01627
|
||
last_15_minutes: 0.01643
|
||
lifetime: 0.0167
|
||
codecs:
|
||
- id: plain_b0090202-daac-428e-8355-18c35a0826cb
|
||
decode:
|
||
writes_in: 0
|
||
duration_in_millis: 0
|
||
out: 0
|
||
name: plain
|
||
encode:
|
||
writes_in: 0
|
||
duration_in_millis: 0
|
||
- id: 6bff4bc6-3a8c-494c-aa65-d16e1eb09578
|
||
name: rubydebug
|
||
filters:
|
||
- id: 585fa932a4fd506055ead07ee5ebcb3033c27c82ba90cbee73d6ac7e9357333a
|
||
events:
|
||
in: 45
|
||
duration_in_millis: 86
|
||
out: 45
|
||
name: ruby
|
||
flow:
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.0001345
|
||
last_5_minutes: 0.0001627
|
||
last_15_minutes: 0.0002191
|
||
lifetime: 0.000266
|
||
worker_millis_per_event:
|
||
last_1_minute: 1
|
||
last_5_minutes: 1.2
|
||
last_15_minutes: 1.6
|
||
lifetime: 1.911
|
||
outputs:
|
||
- id: c4f801c8f170b4cb0679f704413773acd5f291929f42302d0a56361400c3741b
|
||
events:
|
||
in: 45
|
||
duration_in_millis: 216
|
||
out: 45
|
||
name: stdout
|
||
flow:
|
||
worker_utilization:
|
||
current: 0
|
||
last_1_minute: 0.000269
|
||
last_5_minutes: 0.000434
|
||
last_15_minutes: 0.0006663
|
||
lifetime: 0.000668
|
||
worker_millis_per_event:
|
||
last_1_minute: 2
|
||
last_5_minutes: 3.2
|
||
last_15_minutes: 4.867
|
||
lifetime: 4.8
|
||
reloads:
|
||
last_failure_timestamp:
|
||
successes: 0
|
||
failures: 0
|
||
last_success_timestamp:
|
||
last_error:
|
||
queue:
|
||
events: 0
|
||
capacity:
|
||
max_queue_size_in_bytes: 1073741824
|
||
max_unread_events: 0
|
||
queue_size_in_bytes: 11341
|
||
page_capacity_in_bytes: 67108864
|
||
data:
|
||
free_space_in_bytes: 60833390592
|
||
path: "/path/to/logstash/data/queue/heartbeat-ruby-stdout"
|
||
storage_type: apfs
|
||
type: persisted
|
||
events_count: 0
|
||
queue_size_in_bytes: 11341
|
||
max_queue_size_in_bytes: 1073741824
|
||
pipeline:
|
||
workers: 12
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
hash: c11e0502ebf98956dffa371775fd1cb719f85f819ee166b770b3e982da1c999d
|
||
ephemeral_id: 6a218b06-9655-4ddc-84e9-d5bfa51e5dc7
|
||
|
||
PipelineWithMemoryQueue:
|
||
description: A pipeline with a memory queue.
|
||
value:
|
||
pipelines:
|
||
heartbeat-ruby-stdout:
|
||
events:
|
||
duration_in_millis: 14
|
||
filtered: 2
|
||
in: 2
|
||
queue_push_duration_in_millis: 0
|
||
out: 2
|
||
flow:
|
||
input_throughput:
|
||
current: 0.09877
|
||
last_1_minute: 0.01661
|
||
lifetime: 0.03094
|
||
output_throughput:
|
||
current: 0.09877
|
||
last_1_minute: 0.01661
|
||
lifetime: 0.03094
|
||
worker_utilization:
|
||
current: 0.002469
|
||
last_1_minute: 0.001384
|
||
lifetime: 0.001805
|
||
filter_throughput:
|
||
current: 0.09877
|
||
last_1_minute: 0.01661
|
||
lifetime: 0.03094
|
||
worker_concurrency:
|
||
current: 0.0002963
|
||
last_1_minute: 0.0001661
|
||
lifetime: 0.0002166
|
||
queue_backpressure:
|
||
current: 0
|
||
last_1_minute: 0
|
||
lifetime: 0
|
||
plugins:
|
||
inputs:
|
||
- id: c9ca46e359d73146590ca8af40092342afa922f3cbf07adc4b5009e346cb19f7
|
||
events:
|
||
queue_push_duration_in_millis: 0
|
||
out: 2
|
||
name: heartbeat
|
||
flow:
|
||
throughput:
|
||
current: 0.09876
|
||
last_1_minute: 0.01661
|
||
lifetime: 0.03094
|
||
codecs:
|
||
- id: 8b2798ec-d828-445a-a5c3-b0ebe2ec142a
|
||
name: rubydebug
|
||
- id: plain_dc12bcf8-1c2e-4f28-b55d-a82ab127d00a
|
||
encode:
|
||
duration_in_millis: 0
|
||
writes_in: 0
|
||
name: plain
|
||
decode:
|
||
duration_in_millis: 0
|
||
writes_in: 0
|
||
out: 0
|
||
filters:
|
||
- id: 585fa932a4fd506055ead07ee5ebcb3033c27c82ba90cbee73d6ac7e9357333a
|
||
events:
|
||
duration_in_millis: 4
|
||
in: 2
|
||
out: 2
|
||
name: ruby
|
||
flow:
|
||
worker_millis_per_event:
|
||
current: 1
|
||
last_1_minute: 4
|
||
lifetime: 2
|
||
worker_utilization:
|
||
current: 0.000823
|
||
last_1_minute: 0.0005537
|
||
lifetime: 0.0005157
|
||
outputs:
|
||
- id: c4f801c8f170b4cb0679f704413773acd5f291929f42302d0a56361400c3741b
|
||
events:
|
||
duration_in_millis: 7
|
||
in: 2
|
||
out: 2
|
||
name: stdout
|
||
flow:
|
||
worker_millis_per_event:
|
||
current: 3
|
||
last_1_minute: 4
|
||
lifetime: 3.5
|
||
worker_utilization:
|
||
current: 0.002469
|
||
last_1_minute: 0.0005537
|
||
lifetime: 0.0009025
|
||
reloads:
|
||
successes: 0
|
||
last_failure_timestamp:
|
||
failures: 0
|
||
last_success_timestamp:
|
||
last_error:
|
||
queue:
|
||
type: memory
|
||
events_count: 0
|
||
queue_size_in_bytes: 0
|
||
max_queue_size_in_bytes: 0
|
||
pipeline:
|
||
workers: 12
|
||
batch_size: 125
|
||
batch_delay: 50
|
||
hash: c11e0502ebf98956dffa371775fd1cb719f85f819ee166b770b3e982da1c999d
|
||
ephemeral_id: c91bff2b-c92b-45ac-8c74-04783f6cc1dd
|
||
|
||
|
||
|
||
|
||
/_node/stats/process:
|
||
get:
|
||
summary: Get process statistics
|
||
description: Get system-level process statistics.
|
||
operationId: nodeStatsProcess
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing process statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/ProcessStats"
|
||
example:
|
||
process:
|
||
open_file_descriptors: 221
|
||
peak_open_file_descriptors: 221
|
||
max_file_descriptors: 10240
|
||
mem:
|
||
total_virtual_in_bytes: 428771917824
|
||
cpu:
|
||
total_in_millis: 74913
|
||
percent: 0
|
||
load_average:
|
||
1m: 6.06201171875
|
||
|
||
|
||
/_node/stats/reloads:
|
||
get:
|
||
summary: Get config reload statistics
|
||
description: Get information about config reload successes and failures.
|
||
operationId: nodeStatsReloads
|
||
tags:
|
||
- node stats
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
"200":
|
||
description: A JSON object containing process statistics.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: "#/components/schemas/Common"
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- $ref: "#/components/schemas/ReloadStats"
|
||
example:
|
||
reloads:
|
||
successes: 0
|
||
failures: 0
|
||
/_node/hot_threads:
|
||
get:
|
||
summary: Get hot threads
|
||
description: >
|
||
Get information about current hot threads for Logstash.
|
||
A hot thread is a Java thread that has high CPU usage and takes longer than normal to execute.
|
||
operationId: nodeHotThreads
|
||
tags:
|
||
- hot threads
|
||
parameters:
|
||
- name: threads
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
description: The number of hot threads to return.
|
||
- name: stacktrace_size
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
default: 50
|
||
description: The depth of the stack trace to report for each thread.
|
||
- name: ignore_idle_threads
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
default: true
|
||
description: If true, does not return idle threads.
|
||
- $ref: "#/components/parameters/pretty"
|
||
- name: human
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
description: If you append `?human=true` to the request, the JSON returned will be in a human-readable format.
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
# - $ref: '#/components/schemas/Common'
|
||
# - $ref: '#/components/schemas/PipelineSettings'
|
||
- type: object
|
||
properties:
|
||
hot_threads:
|
||
type: object
|
||
properties:
|
||
time:
|
||
type: string
|
||
busiest_threads:
|
||
type: integer
|
||
threads:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/Thread'
|
||
examples:
|
||
nodeHotThreadsExample1:
|
||
value:
|
||
hot_threads:
|
||
time: 2025-01-06T18:25:28-07:00
|
||
busiest_threads: 3
|
||
threads:
|
||
- name: Ruby-0-Thread-7
|
||
thread_id: 37
|
||
percent_of_cpu_time: 0.0
|
||
state: timed_waiting
|
||
traces:
|
||
- "java.lang.Object.wait(Native Method)"
|
||
- "org.jruby.RubyThread.sleep(RubyThread.java:1002)"
|
||
- "org.jruby.RubyKernel.sleep(RubyKernel.java:803)"
|
||
- name: "[test2]>worker3"
|
||
thread_id: 10
|
||
percent_of_cpu_time: 0.85
|
||
state: waiting
|
||
traces:
|
||
- "sun.misc.Unsafe.park(Native Method)"
|
||
- "java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)"
|
||
- "java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)"
|
||
- name: "[test2]>worker2"
|
||
thread_id: 11
|
||
percent_of_cpu_time: 0.85
|
||
state: runnable
|
||
traces:
|
||
- "org.jruby.RubyClass.allocate(RubyClass.java:225)"
|
||
- "org.jruby.RubyClass.newInstance(RubyClass.java:856)"
|
||
- "org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)"
|
||
|
||
/_health_report:
|
||
get:
|
||
summary: Get health status
|
||
description: |
|
||
The health API returns a report with the health status of Logstash and the pipelines that are running inside of it.
|
||
The report contains a list of indicators that compose Logstash functionality.
|
||
|
||
Each indicator has a health status of: green, unknown, yellow, or red.
|
||
The indicator provides an explanation and metadata describing the reason for its current health status.
|
||
|
||
The top-level status is controlled by the worst indicator status.
|
||
|
||
In the event that an indicator status is non-green, a list of impacts may be present in the indicator result which detail the functionalities that are negatively affected by the health issue.
|
||
Each impact carries with it a severity level, an area of the system that is affected, and a simple description of the impact on the system.
|
||
|
||
Some health indicators can determine the root cause of a health problem and prescribe a set of steps that can be performed in order to improve the health of the system.
|
||
The root cause and remediation steps are encapsulated in a diagnosis.
|
||
A diagnosis contains a cause detailing a root cause analysis, an action containing a brief description of the steps to take to fix the problem, and the URL for detailed troubleshooting help.
|
||
|
||
NOTE: The health indicators perform root cause analysis of non-green health statuses.
|
||
This can be computationally expensive when called frequently.
|
||
|
||
operationId: healthReport
|
||
tags:
|
||
- health
|
||
parameters:
|
||
- $ref: "#/components/parameters/pretty"
|
||
responses:
|
||
'200':
|
||
description: Indicates a successful call
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/components/schemas/Common'
|
||
- type: object
|
||
properties:
|
||
symptom:
|
||
type: string
|
||
example: "3 indicators are healthy"
|
||
indicators:
|
||
description: Information about the health of Logstash indicators.
|
||
type: object
|
||
properties:
|
||
pipelines:
|
||
type: object
|
||
properties:
|
||
status:
|
||
$ref: '#/components/schemas/Status'
|
||
symptom:
|
||
type: string
|
||
indicators:
|
||
type: object
|
||
additionalProperties:
|
||
description: "pipeline name"
|
||
type: object
|
||
properties:
|
||
status:
|
||
$ref: '#/components/schemas/Status'
|
||
symptom:
|
||
type: string
|
||
description: "A message providing information about the current health status."
|
||
example: "The pipeline is healthy"
|
||
details:
|
||
type: object
|
||
description: "An object that contains additional information about the indicator that has led to the current health status result."
|
||
properties:
|
||
status:
|
||
type: object
|
||
properties:
|
||
state:
|
||
type: string
|
||
enum:
|
||
- LOADING
|
||
- RUNNING
|
||
- FINISHED
|
||
- TERMINATED
|
||
flow:
|
||
type: object
|
||
properties:
|
||
worker_utilization:
|
||
$ref: '#/components/schemas/FlowWindows'
|
||
impacts:
|
||
type: array
|
||
description: "If a non-healthy status is returned, indicators may include a list of impacts that this health status will have on Logstash."
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: |
|
||
A unique identifier that may appear associated with a known impacts or issue.
|
||
This ID follows a structured format that helps identify the specific problem.
|
||
example: "logstash:health:pipeline:flow:impact:blocked_processing"
|
||
severity:
|
||
type: integer
|
||
minimum: 1
|
||
maximum: 10
|
||
description: "How important this impact is to the functionality of Logstash. A value of 1 is the highest severity, with larger values indicating lower severity."
|
||
description:
|
||
type: string
|
||
description: "A description of the impact on Logstash."
|
||
impact_areas:
|
||
type: array
|
||
description: "The areas of Logstash affected by the health status. Possible values are:"
|
||
example: ["pipeline_execution"]
|
||
items:
|
||
type: string
|
||
diagnosis:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: |
|
||
A unique identifier that may appear associated with a known diagnosis or issue.
|
||
This ID follows a structured format that helps identify the specific problem.
|
||
example: "logstash:health:pipeline:flow:worker_utilization:diagnosis:5m-blocked"
|
||
cause:
|
||
type: string
|
||
description: "A description of a root cause of this health problem."
|
||
action:
|
||
type: string
|
||
description: "A brief description of the steps that should be taken to remediate the problem. A more detailed step-by-step guide to remediate the problem is provided by the `help_url` field."
|
||
help_url:
|
||
type: string
|
||
format: uri
|
||
description: "A link to the troubleshooting guide that will fix the health problem."
|
||
examples:
|
||
normalTerminatedCase:
|
||
description: "The pipeline has finished without errors or interruptions."
|
||
value:
|
||
symptom: "1 indicator is concerning (`pipelines`)"
|
||
indicators:
|
||
pipelines:
|
||
status: "yellow"
|
||
symptom: "1 indicator is concerning (`normal-completion-pipeline`)"
|
||
indicators:
|
||
normal-completion-pipeline:
|
||
status: "yellow"
|
||
symptom: "The pipeline is concerning; 1 area is impacted and 1 diagnosis is available"
|
||
diagnosis:
|
||
- cause: "pipeline has finished running because its inputs have been closed and events have been processed"
|
||
action: "if you expect this pipeline to run indefinitely, you will need to configure its inputs to continue receiving or fetching events"
|
||
impacts:
|
||
- impact_areas: ["pipeline_execution"]
|
||
details:
|
||
status:
|
||
state: "FINISHED"
|
||
abnormalTerminatedCase:
|
||
description: "The pipeline is terminated with errors."
|
||
value:
|
||
status: "red"
|
||
symptom: "1 indicator is unhealthy (`pipelines`)"
|
||
indicators:
|
||
pipelines:
|
||
status: "red"
|
||
symptom: "1 indicator is unhealthy (`abnormal-termination-pipeline`)"
|
||
indicators:
|
||
abnormal-termination-pipeline:
|
||
status: "red"
|
||
symptom: "The pipeline is unhealthy; 1 area is impacted and 1 diagnosis is available"
|
||
diagnosis:
|
||
- cause: "pipeline is not running, likely because it has encountered an error"
|
||
action: "view logs to determine the cause of abnormal pipeline shutdown"
|
||
impacts:
|
||
- description: "the pipeline is not currently processing"
|
||
impact_areas: [ "pipeline_execution" ]
|
||
details:
|
||
status:
|
||
state: "TERMINATED"
|
||
backpressureCase:
|
||
description: "A pipeline is blocked by slow downstream processing."
|
||
value:
|
||
status: "red"
|
||
symptom: "1 indicator is unhealthy (`pipelines`)"
|
||
indicators:
|
||
pipelines:
|
||
status: "red"
|
||
symptom: "1 indicator is unhealthy (`blocked-pipeline`)"
|
||
indicators:
|
||
blocked-pipeline:
|
||
status: "red"
|
||
symptom: "The pipeline is unhealthy; 1 area is impacted and 1 diagnosis is available"
|
||
diagnosis:
|
||
- id: "logstash:health:pipeline:flow:worker_utilization:diagnosis:5m-blocked"
|
||
cause: "pipeline workers have been completely blocked for at least five minutes"
|
||
action: "address bottleneck or add resources"
|
||
impacts:
|
||
- id: "logstash:health:pipeline:flow:impact:blocked_processing"
|
||
severity: 1
|
||
description: "the pipeline is blocked"
|
||
impact_areas: [ "pipeline_execution" ]
|
||
details:
|
||
status:
|
||
state: "RUNNING"
|
||
flow:
|
||
worker_utilization:
|
||
last_1_minute: 100.0
|
||
last_5_minutes: 100.0
|
||
components:
|
||
parameters:
|
||
pretty:
|
||
name: pretty
|
||
in: query
|
||
schema:
|
||
type: boolean
|
||
description: >
|
||
If you append `?pretty=true` to the request, the JSON returned will be pretty formatted. Use it for debugging only!
|
||
securitySchemes:
|
||
BasicAuth:
|
||
type: http
|
||
scheme: basic
|
||
schemas:
|
||
Common:
|
||
type: object
|
||
properties:
|
||
host:
|
||
type: string
|
||
description: The name of the host machine.
|
||
version:
|
||
type: string
|
||
description: The version of the Logstash instance.
|
||
http_address:
|
||
type: string
|
||
description: The HTTP address where the Logstash instance is accessible, including the port number.
|
||
id:
|
||
type: string
|
||
description: A unique identifier (uuid) for the Logstash instance.
|
||
name:
|
||
type: string
|
||
description: The name of the Logstash instance.
|
||
ephemeral_id:
|
||
type: string
|
||
description: A unique identifier for the ephemeral session of the Logstash instance.
|
||
snapshot:
|
||
type: boolean
|
||
nullable: true
|
||
status:
|
||
$ref: '#/components/schemas/Status'
|
||
|
||
PipelineSettings:
|
||
type: object
|
||
properties:
|
||
pipeline:
|
||
type: object
|
||
properties:
|
||
workers:
|
||
type: integer
|
||
batch_size:
|
||
type: integer
|
||
batch_delay:
|
||
type: integer
|
||
|
||
NodeInfoPipeline:
|
||
type: object
|
||
properties:
|
||
workers:
|
||
type: integer
|
||
batch_size:
|
||
type: integer
|
||
batch_delay:
|
||
type: integer
|
||
config_reload_automatic:
|
||
type: boolean
|
||
config_reload_interval:
|
||
type: integer
|
||
dead_letter_queue_enabled:
|
||
type: boolean
|
||
|
||
Status:
|
||
type: string
|
||
description: |
|
||
Health status of Logstash, based on the aggregated status of all indicators.
|
||
Statuses are:
|
||
|
||
- `green`: Logstash is healthy.
|
||
- `unknown`: Logstash health could not be determined.
|
||
- `yellow`: The functionality of Logstash is in a degraded state and may need remediation to avoid the health becoming red.
|
||
- `red`: Logstash is experiencing an outage or certain features are unavailable for use.
|
||
enum:
|
||
- green
|
||
- red
|
||
- unknown
|
||
- yellow
|
||
|
||
FlowWindows:
|
||
type: object
|
||
description: |
|
||
When the rate for a given flow metric window is infinite, it is presented as a string.
|
||
This occurs when the numerator metric has changed during the window without a change in the rate’s denominator metric.
|
||
properties:
|
||
current:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
description: "The most recent ~10s."
|
||
last_1_minute:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
last_5_minutes:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
last_15_minutes:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
last_1_hour:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
last_24_hours:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
lifetime:
|
||
oneOf:
|
||
- type: number
|
||
format: double
|
||
- type: string
|
||
enum: ["Infinity"]
|
||
description: "The lifetime of the relevant pipeline or process."
|
||
FlowStatsPart1:
|
||
type: object
|
||
properties:
|
||
input_throughput:
|
||
description: |
|
||
This metric is expressed in events-per-second, and is the rate of events being pushed into the pipeline(s) queue(s) relative to wall-clock time (`events.in` / second). It includes events that are blocked by the queue and have not yet been accepted.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
filter_throughput:
|
||
description: |
|
||
This metric is expressed in events-per-second, and is the rate of events flowing through the filter phase of the pipeline(s) relative to wall-clock time (`events.filtered` / second).
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
output_throughput:
|
||
description: |
|
||
This metric is expressed in events-per-second, and is the rate of events flowing through the output phase of the pipeline(s) relative to wall-clock time (`events.out` / second).
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
queue_backpressure:
|
||
description: |
|
||
This is a unitless metric representing the cumulative time spent by all inputs blocked pushing events into their pipeline’s queue, relative to wall-clock time (queue_push_duration_in_millis / millisecond). It is typically most useful when looking at the stats for an individual pipeline.
|
||
|
||
While a "zero" value indicates no back-pressure to the queue, the magnitude of this metric is highly dependent on the shape of the pipelines and their inputs. It cannot be used to compare one pipeline to another or even one process to itself if the quantity or shape of its pipelines changes. A pipeline with only one single-threaded input may contribute up to 1.00, a pipeline whose inputs have hundreds of inbound connections may contribute much higher numbers to this combined value.
|
||
|
||
Additionally, some amount of back-pressure is both normal and expected for pipelines that are pulling data, as this back-pressure allows them to slow down and pull data at a rate its downstream pipeline can tolerate.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
worker_concurrency:
|
||
description: |
|
||
This is a unitless metric representing the cumulative time spent by all workers relative to wall-clock time (duration_in_millis / millisecond).
|
||
|
||
A pipeline is considered "saturated" when its worker_concurrency flow metric approaches its available pipeline.workers, because it indicates that all of its available workers are being kept busy. Tuning a saturated pipeline to have more workers can often work to increase that pipeline’s throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs.
|
||
|
||
A process is also considered "saturated" when its top-level worker_concurrency flow metric approaches the cumulative pipeline.workers across all pipelines, and similarly can be addressed by tuning the individual pipelines that are saturated.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
FlowStatsPart2:
|
||
type: object
|
||
properties:
|
||
worker_utilization:
|
||
description: |
|
||
This is a unitless metric that indicates the percentage of available worker time being used by this individual plugin (duration / (uptime * `pipeline.workers`). It is useful for identifying which plugins in a pipeline are using the available worker resources.
|
||
|
||
A pipeline is considered "saturated" when `worker_utilization` approaches 100, because it indicates that all of its workers are being kept busy. This is typically an indication of either downstream back-pressure or insufficient resources allocated to the pipeline. Tuning a saturated pipeline to have more workers can often work to increase that pipeline’s throughput and decrease back-pressure to its queue, unless the pipeline is experiencing back-pressure from its outputs.
|
||
|
||
A pipeline is considered "starved" when `worker_utilization` approaches 0, because it indicates that none of its workers are being kept busy. This is typically an indication that the inputs are not receiving or retrieving enough volume to keep the pipeline workers busy. Tuning a starved pipeline to have fewer workers can help it to consume less memory and CPU, freeing up resources for other pipelines.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
FlowStatsPart3:
|
||
type: object
|
||
properties:
|
||
queue_persisted_growth_bytes:
|
||
description: |
|
||
This metric is expressed in bytes-per-second, and is the rate of change of the size of the persistent queue on disk, relative to wall-clock time (`queue.queue_size_in_bytes` / second). A positive number indicates that the queue size-on-disk is growing, and a negative number indicates that the queue is shrinking.
|
||
|
||
NOTE: The size of a PQ on disk includes both unacknowledged events and previously-acknowledged events from pages that contain one or more unprocessed events. This means it grows gradually as individual events are added, but shrinks in large chunks each time a whole page of processed events is reclaimed (read more: [PQ disk garbage collection](https://www.elastic.co/guide/en/logstash/current/persistent-queues.html#garbage-collection)).
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
queue_persisted_growth_events:
|
||
description: |
|
||
This metric is expressed in events-per-second, and is the rate of change of the number of unacknowledged events in the queue, relative to wall-clock time (`queue.events_count` / second). A positive number indicates that the queue’s event-count is growing, and a negative number indicates that the queue is shrinking.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
PipelineMQFlowStats:
|
||
type: object
|
||
allOf:
|
||
- $ref: "#/components/schemas/FlowStatsPart1"
|
||
- $ref: "#/components/schemas/FlowStatsPart2"
|
||
PipelinePQFlowStats:
|
||
type: object
|
||
allOf:
|
||
- $ref: "#/components/schemas/FlowStatsPart1"
|
||
- $ref: "#/components/schemas/FlowStatsPart2"
|
||
- $ref: "#/components/schemas/FlowStatsPart3"
|
||
PipelineFlowStats:
|
||
type: object
|
||
description: |
|
||
Each pipeline’s entry in the API response includes a number of pipeline-scoped [flow rates](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html#flow-stats) such as `input_throughput`, `worker_concurrency`, and `queue_backpressure` to provide visibility into the flow of events through the pipeline.
|
||
|
||
When configured with a [persistent queue](https://www.elastic.co/guide/en/logstash/current/persistent-queues.html, the pipeline’s flow will include additional rates to provide visibility into the health of the pipeline’s persistent queue:
|
||
properties:
|
||
flow:
|
||
type: object
|
||
oneOf:
|
||
- $ref: "#/components/schemas/PipelineMQFlowStats" # For memory queue
|
||
- $ref: "#/components/schemas/PipelinePQFlowStats" # For persisted queue
|
||
|
||
NodeStatsFlow:
|
||
type: object
|
||
properties:
|
||
flow:
|
||
$ref: "#/components/schemas/FlowStatsPart1"
|
||
|
||
Thread:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
thread_id:
|
||
type: integer
|
||
percent_of_cpu_time:
|
||
type: number
|
||
format: double
|
||
state:
|
||
type: string
|
||
traces:
|
||
type: array
|
||
items:
|
||
type: string
|
||
|
||
EventsStats:
|
||
type: object
|
||
properties:
|
||
events:
|
||
type: object
|
||
properties:
|
||
in:
|
||
type: integer
|
||
format: int64
|
||
filtered:
|
||
type: integer
|
||
format: int64
|
||
out:
|
||
type: integer
|
||
format: int64
|
||
duration_in_millis:
|
||
type: integer
|
||
format: int64
|
||
queue_push_duration_in_millis:
|
||
type: integer
|
||
format: int64
|
||
|
||
JVMStats:
|
||
type: object
|
||
properties:
|
||
jvm:
|
||
type: object
|
||
properties:
|
||
threads:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
description: The number of active JVM threads.
|
||
peak_count:
|
||
type: integer
|
||
description: The peak number of active JVM threads.
|
||
mem:
|
||
type: object
|
||
properties:
|
||
heap_used_percent:
|
||
type: integer
|
||
description: The percentage of heap memory used.
|
||
heap_committed_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
description: The committed heap memory in bytes.
|
||
heap_max_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
description: The maximum heap memory in bytes.
|
||
heap_used_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
description: The used heap memory in bytes.
|
||
non_heap_used_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
description: The used non-heap memory in bytes.
|
||
non_heap_committed_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
description: The committed non-heap memory in bytes.
|
||
pools:
|
||
$ref: "#/components/schemas/JVMMemoryPools"
|
||
gc:
|
||
type: object
|
||
properties:
|
||
collectors:
|
||
$ref: "#/components/schemas/JVMGCCollectors"
|
||
uptime_in_millis:
|
||
type: integer
|
||
format: int64
|
||
description: The JVM uptime in milliseconds.
|
||
JVMMemoryPool:
|
||
type: object
|
||
properties:
|
||
peak_used_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
used_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
peak_max_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
max_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
committed_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
JVMMemoryPools:
|
||
type: object
|
||
properties:
|
||
survivor:
|
||
$ref: "#/components/schemas/JVMMemoryPool"
|
||
old:
|
||
$ref: "#/components/schemas/JVMMemoryPool"
|
||
young:
|
||
$ref: "#/components/schemas/JVMMemoryPool"
|
||
JVMGCCollector:
|
||
type: object
|
||
properties:
|
||
collection_time_in_millis:
|
||
type: integer
|
||
format: int64
|
||
collection_count:
|
||
type: integer
|
||
JVMGCCollectors:
|
||
type: object
|
||
properties:
|
||
old:
|
||
$ref: "#/components/schemas/JVMGCCollector"
|
||
young:
|
||
$ref: "#/components/schemas/JVMGCCollector"
|
||
|
||
OSStats:
|
||
type: object
|
||
properties:
|
||
os:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
arch:
|
||
type: string
|
||
version:
|
||
type: string
|
||
available_processors:
|
||
type: integer
|
||
|
||
ProcessStats:
|
||
type: object
|
||
properties:
|
||
process:
|
||
type: object
|
||
properties:
|
||
open_file_descriptors:
|
||
type: integer
|
||
peak_open_file_descriptors:
|
||
type: integer
|
||
max_file_descriptors:
|
||
type: integer
|
||
mem:
|
||
type: object
|
||
properties:
|
||
total_virtual_in_bytes:
|
||
type: integer
|
||
cpu:
|
||
type: object
|
||
properties:
|
||
total_in_millis:
|
||
type: integer
|
||
percent:
|
||
type: integer
|
||
load_average:
|
||
type: object
|
||
properties:
|
||
"1m":
|
||
type: number
|
||
|
||
ThroughputStats:
|
||
type: object
|
||
properties:
|
||
throughput:
|
||
description: |
|
||
This metric is expressed in events-per-second, and is the rate of events this input plugin is pushing into the pipeline’s queue relative to wall-clock time (`events.in` / second). It includes events that are blocked by the queue and have not yet been accepted.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
WorkerStats:
|
||
type: object
|
||
properties:
|
||
worker_utilization:
|
||
description: |
|
||
This is a unitless metric that indicates the percentage of available worker time being used by this individual plugin (`duration` / (`uptime` * `pipeline.workers`). It is useful for identifying which plugins in a pipeline are using the available worker resources.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
worker_millis_per_event:
|
||
description: |
|
||
This metric is expressed in worker-millis-spent-per-event (`duration_in_millis` / `events.in`) with higher scores indicating more resources spent per event. It is especially useful for identifying issues with plugins that operate on a small subset of events. An "Infinity" value for a given flow window indicates that worker millis have been spent without any events completing processing; this can indicate a plugin that is either stuck or handling only empty batches.
|
||
allOf: # need to use allOf to keep the description
|
||
- $ref: "#/components/schemas/FlowWindows"
|
||
|
||
InputPluginEventsStats:
|
||
type: object
|
||
properties:
|
||
out:
|
||
type: integer
|
||
format: int64
|
||
queue_push_duration_in_millis:
|
||
type: integer
|
||
format: int64
|
||
InputPluginStats:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
name:
|
||
type: string
|
||
flow:
|
||
$ref: "#/components/schemas/ThroughputStats"
|
||
events:
|
||
$ref: "#/components/schemas/InputPluginEventsStats"
|
||
FilterOutputPluginEventsStats:
|
||
type: object
|
||
properties:
|
||
in:
|
||
type: integer
|
||
format: int64
|
||
out:
|
||
type: integer
|
||
format: int64
|
||
duration_in_millis:
|
||
type: integer
|
||
format: int64
|
||
FilterOutputPluginStats:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
name:
|
||
type: string
|
||
flow:
|
||
$ref: "#/components/schemas/WorkerStats"
|
||
events:
|
||
$ref: "#/components/schemas/FilterOutputPluginEventsStats"
|
||
CodecPluginStats:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
name:
|
||
type: string
|
||
decode:
|
||
type: object
|
||
properties:
|
||
duration_in_millis:
|
||
type: integer
|
||
writes_in:
|
||
type: integer
|
||
out:
|
||
type: integer
|
||
encode:
|
||
type: object
|
||
properties:
|
||
duration_in_millis:
|
||
type: integer
|
||
writes_in:
|
||
type: integer
|
||
|
||
PipelinesStats:
|
||
type: object
|
||
properties:
|
||
pipelines:
|
||
type: object
|
||
description: |
|
||
A map where each key is a user-defined pipeline name, and the value contains the metrics for that pipeline.
|
||
additionalProperties:
|
||
description: "Metrics of each plugin in the pipeline, flow statistics, event statistics and queue statistics."
|
||
type: object
|
||
allOf:
|
||
- $ref: "#/components/schemas/EventsStats"
|
||
- $ref: "#/components/schemas/PipelineFlowStats"
|
||
- type: object
|
||
properties:
|
||
plugins:
|
||
type: object
|
||
properties:
|
||
inputs:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/InputPluginStats"
|
||
codecs:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/CodecPluginStats"
|
||
filters:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/FilterOutputPluginStats"
|
||
outputs:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/FilterOutputPluginStats"
|
||
- $ref: "#/components/schemas/PipelineReloadStats"
|
||
- $ref: "#/components/schemas/PipelineQueueStats"
|
||
- $ref: "#/components/schemas/PipelineSettings"
|
||
- type: object
|
||
properties:
|
||
hash:
|
||
type: string
|
||
description: "A unique hash identifier."
|
||
ephemeral_id:
|
||
type: string
|
||
format: uuid
|
||
description: "A temporary unique identifier for the instance."
|
||
|
||
PipelineReloadStats:
|
||
type: object
|
||
properties:
|
||
reloads:
|
||
type: object
|
||
properties:
|
||
last_error:
|
||
type: string
|
||
nullable: true
|
||
successes:
|
||
type: integer
|
||
format: int64
|
||
last_success_timestamp:
|
||
type: string
|
||
format: date-time
|
||
nullable: true
|
||
last_failure_timestamp:
|
||
type: string
|
||
format: date-time
|
||
nullable: true
|
||
failures:
|
||
type: integer
|
||
format: int64
|
||
|
||
ReloadStats:
|
||
type: object
|
||
properties:
|
||
reloads:
|
||
type: object
|
||
properties:
|
||
successes:
|
||
type: integer
|
||
format: int64
|
||
failures:
|
||
type: integer
|
||
format: int64
|
||
|
||
PipelineQueueStats:
|
||
type: object
|
||
properties:
|
||
queue:
|
||
type: object
|
||
oneOf:
|
||
- type: object
|
||
description: "The metrics of persisted queue."
|
||
properties:
|
||
type:
|
||
type: string
|
||
enum:
|
||
- persisted
|
||
capacity:
|
||
type: object
|
||
properties:
|
||
max_unread_events:
|
||
type: integer
|
||
format: int64
|
||
page_capacity_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
max_queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
data:
|
||
type: object
|
||
properties:
|
||
path:
|
||
type: string
|
||
free_space_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
storage_type:
|
||
type: string
|
||
events:
|
||
type: integer
|
||
format: int64
|
||
events_count:
|
||
type: integer
|
||
format: int64
|
||
queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
max_queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
- type: object
|
||
description: "The metrics of memory queue."
|
||
properties:
|
||
type:
|
||
type: string
|
||
enum:
|
||
- memory
|
||
events_count:
|
||
type: integer
|
||
format: int64
|
||
queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
max_queue_size_in_bytes:
|
||
type: integer
|
||
format: int64
|
||
discriminator:
|
||
propertyName: type
|
||
QueueStats:
|
||
type: object
|
||
properties:
|
||
queue:
|
||
type: object
|
||
properties:
|
||
events_count:
|
||
type: integer
|
||
format: int64
|
||
|
||
GeoIPDBLicenseStats:
|
||
type: object
|
||
properties:
|
||
status:
|
||
type: string
|
||
enum: [ "init", "up_to_date", "to_be_expired", "expired" ]
|
||
description: The status of the database license.
|
||
fail_check_in_days:
|
||
type: integer
|
||
description: The number of days since the last successful check.
|
||
last_updated_at:
|
||
type: string
|
||
format: date-time
|
||
description: The last update timestamp. |