openapi: '3.1.2' info: title: Logstash API description: "When you run Logstash, it automatically captures runtime metrics that you can use to monitor the health and performance of your Logstash deployment.\nThe metrics collected by Logstash include:\n\n- Health report.\n- Hot threads.\n- Logstash node info, like pipeline settings, OS info, and JVM info.\n- Node stats, like JVM stats, process stats, event-related stats, and pipeline runtime stats.\n- Plugins info, including a list of installed plugins.\n\n\nThe APIs that retrieve these metrics are available by default, with no extra configuration needed.\n\n## Documentation source and versions\n\nThis documentation is derived from the `main` branch of the [logstash](https://github.com/elastic/logstash) repository.\nIt is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).\n" 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: / paths: /: get: tags: - root summary: Get build and service metadata description: "Shows basic metadata about the running logstash service. This includes build info, pipeline info and the service's status.\n" operationId: root parameters: - name: wait_for_status in: query description: Wait (until the timeout expires) for the service changes to a specific health status (or a better status). A green status is better than yellow and yellow is better than red. The `timeout` query parameter is required when you use this parameter. schema: type: string - name: timeout in: query description: 'Period to wait for the status to reach the requested target status. Must be an integer with units, for example `3s`. If the target status is not reached before the timeout expires, the request returns status code 408.' schema: type: string - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - $ref: '#/components/schemas/Common' - type: object properties: build_date: type: string description: The timestamp when this Logstash build was created. build_sha: type: string description: The SHA-1 hash of the Logstash build. build_snapshot: type: boolean description: Whether this Logstash build is a snapshot build. pipeline: type: object properties: workers: type: integer description: The number of workers in the pipeline. batch_size: type: integer description: The batch size for the pipeline. batch_delay: type: integer description: The batch delay for the pipeline. examples: basicMetadataExample1: value: host: logstash-pipelines.example.com version: '9.2.1' http_address: 127.0.0.1:9600 id: 58df6f7c-eb5c-5d42-bc20-c7b22779aa12 name: logstash-pipelines ephemeral_id: 59df6f6c-eb5c-4d42-bc20-c7b44779aa12 snapshot: true status: green build_date: '2025-11-20T01:18:55+00:00' build_sha: ff3e87d66f10c05a74d0cef7bc2911d60cee1ebc build_snapshot: true pipeline: workers: 10 batch_size: 125 batch_delay: 50 x-metaTags: - content: Logstash name: product_name /_node/jvm: get: tags: - node info 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.\n" operationId: nodeInfoJVM parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - 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 x-metaTags: - content: Logstash name: product_name /_node/os: get: tags: - node info summary: Get node-level OS info description: "Get the operating system (OS) name, architecture, version, and available processors.\n" operationId: nodeInfoOS parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - $ref: '#/components/schemas/OSStats' example: os: name: Mac OS X arch: aarch64 version: 15.3.1 available_processors: 12 x-metaTags: - content: Logstash name: product_name /_node/pipelines: get: tags: - node info summary: Get settings for pipelines description: "Get information and settings for all pipelines.\n" operationId: nodeInfoPipelines parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - type: object properties: pipelines: type: object additionalProperties: $ref: '#/components/schemas/NodeInfoPipeline' example: pipelines: aggregation-pipeline: workers: 1 batch_size: 125 batch_delay: 50 dead_letter_queue_enabled: false ingestion-pipeline: workers: 8 batch_size: 125 batch_delay: 5 dead_letter_queue_enabled: false x-metaTags: - content: Logstash name: product_name '/_node/pipelines/{pipeline_name}': get: tags: - node info summary: Get settings for a pipeline description: Get information and settings for all pipelines. operationId: nodeInfoPipeline parameters: - name: pipeline_name in: path description: The name of the pipeline to retrieve information for. required: true schema: type: string - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - type: object properties: pipelines: type: object additionalProperties: $ref: '#/components/schemas/NodeInfoPipeline' example: pipelines: aggregation-pipeline: workers: 1 batch_size: 125 batch_delay: 50 dead_letter_queue_enabled: false x-metaTags: - content: Logstash name: product_name /_node/plugins: get: tags: - plugin info 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.\n" operationId: nodePlugins parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - 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 x-metaTags: - content: Logstash name: product_name /_node/stats: get: tags: - node stats summary: Get node statistics description: 'Get node statistics including information about the JVM, process, events, flow, and queue.' operationId: nodeStats 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 x-metaTags: - content: Logstash name: product_name /_node/stats/events: get: tags: - node stats summary: Get events statistics description: Get statistics related to event processing. operationId: nodeStatsEvents parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: A JSON object containing events statistics. content: application/json: schema: allOf: - $ref: '#/components/schemas/EventsStats' example: events: duration_in_millis: 1109 in: 56 filtered: 56 out: 56 queue_push_duration_in_millis: 2 x-metaTags: - content: Logstash name: product_name /_node/stats/flow: get: tags: - node stats summary: Get flow statistics description: Get throughput and backpressure details. operationId: nodeStatsFlow 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.\n\nThe 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.\n" content: application/json: schema: allOf: - $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 x-metaTags: - content: Logstash name: product_name /_node/stats/geoip_download_manager: get: tags: - node stats 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 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: type: integer description: The number of successful checks and downloads failures: type: integer description: The number of failed check or downloads last_checked_at: type: string format: date-time status: enum: - succeeded - failed - updating type: string description: The last download status. x-metaTags: - content: Logstash name: product_name /_node/stats/jvm: get: tags: - node stats summary: Get JVM statistics description: 'Get threads count, garbage collators(GC) and memory details.' operationId: nodeStatsJVM parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: A JSON object containing jvm statistics. content: application/json: schema: allOf: - $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 x-metaTags: - content: Logstash name: product_name /_node/stats/os: get: tags: - node stats summary: Get Cgroup statistics description: Get a more accurate view of CPU statistics from control groups (Cgroup) if available. operationId: nodeStatsOS 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 x-metaTags: - content: Logstash name: product_name /_node/stats/pipelines: get: tags: - node stats summary: Get statistics for pipelines description: Get pipeline performance metrics and plugin details. operationId: nodeStatsPipelines parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: "A JSON object containing pipelines statistics.\n\n- the number of events that were input, filtered, or output by each pipeline\n- the current and lifetime [flow rates](https://www.elastic.co/guide/en/logstash/current/node-stats-api.html#flow-stats for each pipeline\n- stats for each configured filter or output stage\n- info about config reload successes and failures (when [config reload](https://www.elastic.co/guide/en/logstash/current/reloading-config.html) is enabled)\n- info about the persistent queue (when [persistent queues](https://www.elastic.co/guide/en/logstash/current/persistent-queues.html) are enabled)\n- metrics related to processed batch sizes. Includes the size in bytes and the number of events of batches processed in this pipeline. (when setting [pipeline.batch.metrics.sampling_mode](https://www.elastic.co/docs/reference/logstash/logstash-settings-file.html) is not `disabled`).\n" content: application/json: schema: allOf: - $ref: '#/components/schemas/PipelinesStats' example: pipelines: beats-es: batch: event_count: current: 78 average: lifetime: 115 last_1_minute: 120 last_5_minutes: 110 last_15_minutes: 112 p50: last_1_minute: 125 last_5_minutes: 105 last_15_minutes: 108 p90: last_1_minute: 125 last_5_minutes: 112 last_15_minutes: 116 byte_size: current: 32767 average: lifetime: 14820 last_1_minute: 15234 last_5_minutes: 14012 last_15_minutes: 14567 p50: lifetime: 14815 last_1_minute: 15240 last_5_minutes: 14030 last_15_minutes: 14600 p90: lifetime: 14825 last_1_minute: 15300 last_5_minutes: 14050 last_15_minutes: 14630 max: lifetime: 14830 last_1_minute: 16000 last_5_minutes: 14080 last_15_minutes: 14670 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: 0.00001614 last_5_minutes: 0.00002278 last_15_minutes: 0.00004272 lifetime: 0.00005901 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: 0.00004843 last_5_minutes: 0.00007486 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 x-metaTags: - content: Logstash name: product_name '/_node/stats/pipelines/{pipeline_name}': get: tags: - node stats summary: Get statistics for a pipeline description: Get performance metrics and plugin details for a pipeline. operationId: nodeStatsPipeline parameters: - name: pipeline_name in: path description: The name of the pipeline to retrieve information for. required: true schema: type: string - $ref: '#/components/parameters/pretty' responses: '200': description: A JSON object containing a single pipeline statistics. content: application/json: schema: allOf: - $ref: '#/components/schemas/PipelinesStats' examples: PipelineWithPersistedQueue: description: A pipeline with a persisted queue. value: pipelines: heartbeat-ruby-stdout: batch: event_count: current: 78 average: lifetime: 115 last_1_minute: 120 last_5_minutes: 110 last_15_minutes: 112 p50: last_1_minute: 125 last_5_minutes: 105 last_15_minutes: 108 p90: last_1_minute: 125 last_5_minutes: 112 last_15_minutes: 116 byte_size: current: 32767 average: lifetime: 14820 last_1_minute: 15234 last_5_minutes: 14012 last_15_minutes: 14567 p50: lifetime: 14815 last_1_minute: 15240 last_5_minutes: 14030 last_15_minutes: 14600 p90: lifetime: 14825 last_1_minute: 15300 last_5_minutes: 14050 last_15_minutes: 14630 max: lifetime: 14830 last_1_minute: 16000 last_5_minutes: 14080 last_15_minutes: 14670 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: 0.00001614 last_5_minutes: 0.00002278 last_15_minutes: 0.00004272 lifetime: 0.00005901 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: 0.00004843 last_5_minutes: 0.00007486 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 x-metaTags: - content: Logstash name: product_name /_node/stats/process: get: tags: - node stats summary: Get process statistics description: Get system-level process statistics. operationId: nodeStatsProcess parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: A JSON object containing process statistics. content: application/json: schema: allOf: - $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 x-metaTags: - content: Logstash name: product_name /_node/stats/reloads: get: tags: - node stats summary: Get config reload statistics description: Get information about config reload successes and failures. operationId: nodeStatsReloads parameters: - $ref: '#/components/parameters/pretty' responses: '200': description: A JSON object containing process statistics. content: application/json: schema: allOf: - $ref: '#/components/schemas/ReloadStats' example: reloads: successes: 0 failures: 0 x-metaTags: - content: Logstash name: product_name /_node/hot_threads: get: tags: - hot threads 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.\n" operationId: nodeHotThreads parameters: - name: threads in: query description: The number of hot threads to return. schema: type: integer default: 10 - name: stacktrace_size in: query description: The depth of the stack trace to report for each thread. schema: type: integer default: 50 - name: ignore_idle_threads in: query description: 'If true, does not return idle threads.' schema: type: boolean default: true - $ref: '#/components/parameters/pretty' - name: human in: query description: 'If you append `?human=true` to the request, the JSON returned will be in a human-readable format.' schema: type: boolean responses: '200': description: Indicates a successful call content: application/json: schema: allOf: - 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 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) x-metaTags: - content: Logstash name: product_name /_health_report: get: tags: - health 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. \nThe report contains a list of indicators that compose Logstash functionality.\n\nEach indicator has a health status of: green, unknown, yellow, or red. \nThe indicator provides an explanation and metadata describing the reason for its current health status.\n\nThe top-level status is controlled by the worst indicator status.\n\nIn 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. \nEach 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.\n\nSome 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. \nThe root cause and remediation steps are encapsulated in a diagnosis. \nA 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.\n\nNOTE: The health indicators perform root cause analysis of non-green health statuses. \nThis can be computationally expensive when called frequently.\n" operationId: healthReport 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 timestamp: type: string description: 'The time at which this health report was generated, in ISO 8601 format with millisecond precision.' format: date-time example: '2026-08-12T10:30:45.123456789Z' indicators: type: object properties: pipelines: type: object properties: status: $ref: '#/components/schemas/Status' symptom: type: string indicators: type: object additionalProperties: 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 properties: status: type: object properties: state: enum: - LOADING - RUNNING - FINISHED - TERMINATED type: string flow: type: object properties: worker_utilization: $ref: '#/components/schemas/FlowWindows' recovery_log: type: array items: type: string description: An ISO8601-compliant timestamp description: 'If the pipeline has successfully recovered from a crash, include a list of timestamps' description: An object that contains additional information about the indicator that has led to the current health status result. impacts: type: array items: type: object properties: id: type: string description: "A unique identifier that may appear associated with a known impacts or issue.\nThis ID follows a structured format that helps identify the specific problem.\n" example: logstash:health:pipeline:flow:impact:blocked_processing severity: maximum: 10 minimum: 1 type: integer 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 items: type: string description: 'The areas of Logstash affected by the health status. Possible values are:' example: - pipeline_execution description: 'If a non-healthy status is returned, indicators may include a list of impacts that this health status will have on Logstash.' diagnosis: type: array items: type: object properties: id: type: string description: "A unique identifier that may appear associated with a known diagnosis or issue.\nThis ID follows a structured format that helps identify the specific problem.\n" 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 description: A link to the troubleshooting guide that will fix the health problem. format: uri description: pipeline name description: Information about the health of Logstash indicators. examples: normalTerminatedCase: description: The pipeline has finished without errors or interruptions. value: timestamp: '2026-08-12T10:30:45.123456789Z' 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: timestamp: '2026-08-12T10:30:45.123456789Z' 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: timestamp: '2026-08-12T10:30:45.123456789Z' 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 last_5_minutes: 100 recoveryCase: description: A pipeline has recently recovered from a crash value: timestamp: '2026-08-12T10:30:45.123456789Z' status: yellow symptom: 1 indicator is unhealthy (`pipelines`) indicators: pipelines: status: yellow symptom: 1 indicator is concerning (`crashy-pipeline`) indicators: crashy-pipeline: status: yellow symptom: The pipeline is concerning; 1 area is impacted and 1 diagnosis is available diagnosis: - id: logstash:health:pipeline:recovery:diagnosis:5m-recovery-recent cause: pipeline has recovered from crashes 1 time in the last 5 minutes action: inspect logs to determine source of crash impacts: - id: logstash:health:pipeline:recovery:impact:intermittent_processing severity: 2 description: the pipeline recently recovered from a crash impact_areas: - pipeline_execution details: status: state: RUNNING flow: worker_utilization: last_1_minute: 0.1 last_5_minutes: 0.1 recovery_log: - '2026-04-01T21:12:04.498144Z' x-metaTags: - content: Logstash name: product_name components: 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: - 'null' - boolean 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 dead_letter_queue_enabled: type: boolean Status: enum: - green - red - unknown - yellow type: string description: "Health status of Logstash, based on the aggregated status of all indicators.\nStatuses are:\n\n- `green`: Logstash is healthy.\n- `unknown`: Logstash health could not be determined.\n- `yellow`: The functionality of Logstash is in a degraded state and may need remediation to avoid the health becoming red.\n- `red`: Logstash is experiencing an outage or certain features are unavailable for use.\n" FlowWindows: type: object properties: current: oneOf: - type: number format: double - enum: - Infinity type: string description: The most recent ~10s. last_1_minute: oneOf: - type: number format: double - enum: - Infinity type: string last_5_minutes: oneOf: - type: number format: double - enum: - Infinity type: string last_15_minutes: oneOf: - type: number format: double - enum: - Infinity type: string last_1_hour: oneOf: - type: number format: double - enum: - Infinity type: string last_24_hours: oneOf: - type: number format: double - enum: - Infinity type: string lifetime: oneOf: - type: number format: double - enum: - Infinity type: string description: The lifetime of the relevant pipeline or process. description: "When the rate for a given flow metric window is infinite, it is presented as a string.\nThis occurs when the numerator metric has changed during the window without a change in the rate’s denominator metric.\n" FlowStatsPart1: type: object properties: input_throughput: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n" filter_throughput: allOf: - $ref: '#/components/schemas/FlowWindows' 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).\n" output_throughput: allOf: - $ref: '#/components/schemas/FlowWindows' 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).\n" queue_backpressure: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n\nWhile 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.\n\nAdditionally, 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.\n" worker_concurrency: allOf: - $ref: '#/components/schemas/FlowWindows' description: "This is a unitless metric representing the cumulative time spent by all workers relative to wall-clock time (duration_in_millis / millisecond).\n\nA 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.\n\nA 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.\n" FlowStatsPart2: type: object properties: worker_utilization: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n\nA 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.\n\nA 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.\n" FlowStatsPart3: type: object properties: queue_persisted_growth_bytes: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n\nNOTE: 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)).\n" queue_persisted_growth_events: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n" 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 properties: flow: type: object oneOf: - $ref: '#/components/schemas/PipelineMQFlowStats' - $ref: '#/components/schemas/PipelinePQFlowStats' 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.\n\nWhen 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:\n" 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 description: The committed heap memory in bytes. format: int64 heap_max_in_bytes: type: integer description: The maximum heap memory in bytes. format: int64 heap_used_in_bytes: type: integer description: The used heap memory in bytes. format: int64 non_heap_used_in_bytes: type: integer description: The used non-heap memory in bytes. format: int64 non_heap_committed_in_bytes: type: integer description: The committed non-heap memory in bytes. format: int64 pools: $ref: '#/components/schemas/JVMMemoryPools' gc: type: object properties: collectors: $ref: '#/components/schemas/JVMGCCollectors' uptime_in_millis: type: integer description: The JVM uptime in milliseconds. format: int64 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: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n" WorkerStats: type: object properties: worker_utilization: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n" worker_millis_per_event: allOf: - $ref: '#/components/schemas/FlowWindows' 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.\n" 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 additionalProperties: 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 description: A temporary unique identifier for the instance. format: uuid description: 'Metrics of each plugin in the pipeline, flow statistics, event statistics and queue statistics.' description: "A map where each key is a user-defined pipeline name, and the value contains the metrics for that pipeline.\n" PipelineReloadStats: type: object properties: reloads: type: object properties: last_error: type: - 'null' - string successes: type: integer format: int64 last_success_timestamp: type: - 'null' - string format: date-time last_failure_timestamp: type: - 'null' - string format: date-time 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: - required: - type type: object properties: type: enum: - persisted type: string 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 compression: type: object properties: encode: type: object properties: goal: enum: - speed - balanced - size type: string ratio: type: object properties: lifetime: oneOf: - type: number - enum: - Infinity - NaN - '-Infinity' description: the ratio of event size in bytes to its representation on disk spend: type: object properties: lifetime: oneOf: - type: number - enum: - Infinity - NaN - '-Infinity' description: the fraction of wall-clock time spent encoding events decode: type: object properties: ratio: type: object properties: lifetime: oneOf: - type: number - enum: - Infinity - NaN - '-Infinity' description: the ratio of event representation on disk to event size spend: type: object properties: lifetime: oneOf: - type: number - enum: - Infinity - NaN - '-Infinity' description: the fraction of wall-clock time spent decoding events description: The metrics of persisted queue. - required: - type type: object properties: type: enum: - memory type: string events_count: type: integer format: int64 queue_size_in_bytes: type: integer format: int64 max_queue_size_in_bytes: type: integer format: int64 description: The metrics of memory queue. discriminator: propertyName: type QueueStats: type: object properties: queue: type: object properties: events_count: type: integer format: int64 GeoIPDBLicenseStats: type: object properties: status: enum: - init - up_to_date - to_be_expired - expired type: string 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 description: The last update timestamp. format: date-time parameters: pretty: name: pretty in: query description: "If you append `?pretty=true` to the request, the JSON returned will be pretty formatted. Use it for debugging only!\n" schema: type: boolean securitySchemes: BasicAuth: type: http scheme: basic security: - { } - BasicAuth: [ ] tags: - name: health x-displayName: Health report - name: hot threads x-displayName: Hot threads - name: root description: "Build and service metadata, including build info, pipeline info and the service's status.\n" x-displayName: Metadata - name: node info description: "Logstash node info, like pipeline settings, OS info, and JVM info.\n" x-displayName: Node info - name: node stats description: "Node stats, like JVM stats, process stats, event-related stats, and pipeline runtime stats.\n" x-displayName: Node stats - name: plugin info description: "Plugin info, including a list of installed plugins.\n" x-displayName: Plugins info