From aeba14de833112d3b38249ef8203357d04fae384 Mon Sep 17 00:00:00 2001 From: George Wallace Date: Wed, 20 Aug 2025 17:39:06 -0600 Subject: [PATCH] adding x-metatags to openapi spec (#17854) (cherry picked from commit bc4645cee6d5d5b50040af007b2e9ae2bac9b6c7) # Conflicts: # docs/static/spec/openapi/logstash-api.yaml --- docs/static/spec/openapi/logstash-api.yaml | 1300 ++++++++++++++++++++ 1 file changed, 1300 insertions(+) diff --git a/docs/static/spec/openapi/logstash-api.yaml b/docs/static/spec/openapi/logstash-api.yaml index 8792f8a7b84..869a89ef361 100644 --- a/docs/static/spec/openapi/logstash-api.yaml +++ b/docs/static/spec/openapi/logstash-api.yaml @@ -68,8 +68,78 @@ paths: get: summary: Get node info description: | +<<<<<<< HEAD Get information about Logstash nodes, where `` (optional) specifies the types of node info you want returned. You can limit the info that is returned by combining any of these types in a comma-separated list: +======= + 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" + x-metaTags: + - content: Logstash + name: product_name +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) - `pipelines` - `os` @@ -78,8 +148,88 @@ paths: tags: - node info parameters: +<<<<<<< HEAD - name: pretty in: query +======= + - $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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) schema: type: boolean description: > @@ -89,6 +239,7 @@ paths: description: Indicates a successful call content: application/json: +<<<<<<< HEAD examples: nodeInfoExample1: # summary: @@ -106,6 +257,30 @@ paths: batch_delay: 5 config_reload_automatic: false config_reload_interval: 3 +======= + 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 + x-metaTags: + - content: Logstash + name: product_name +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) /_node/plugins: get: @@ -141,7 +316,14 @@ paths: - name: logstash-codec-dots version: 3.0.2 - name: logstash-coded-edn +<<<<<<< HEAD version: 3.0.2 +======= + version: 3.0.2 + x-metaTags: + - content: Logstash + name: product_name +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) /_node/stats: get: @@ -163,8 +345,771 @@ paths: tags: - node stats parameters: +<<<<<<< HEAD - name: pretty in: query +======= + - $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: + 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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 + x-metaTags: + - content: Logstash + name: product_name + + /_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" ] + x-metaTags: + - content: Logstash + name: product_name + /_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 + x-metaTags: + - content: Logstash + name: product_name + /_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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) schema: type: boolean description: > @@ -218,6 +1163,183 @@ paths: collection_count: 1033 uptime_in_millis: 1809643 +<<<<<<< HEAD +======= + 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: + 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 + x-metaTags: + - content: Logstash + name: product_name + + /_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 + x-metaTags: + - content: Logstash + name: product_name +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) /_node/hot_threads: get: summary: Get hot threads @@ -307,6 +1429,9 @@ paths: - "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: @@ -346,6 +1471,7 @@ paths: content: application/json: schema: +<<<<<<< HEAD type: object properties: indicators: @@ -353,6 +1479,180 @@ paths: type: object status: $ref: '#/components/schemas/Statuses' +======= + 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 + x-metaTags: + - content: Logstash + name: product_name + +>>>>>>> bc4645ce (adding x-metatags to openapi spec (#17854)) components: securitySchemes: apiKeyAuth: