Get health status
The health API returns a report with the health status of Logstash and the pipelines that are running inside of it. The report contains a list of indicators that compose Logstash functionality.
Each indicator has a health status of: green, unknown, yellow, or red. The indicator provides an explanation and metadata describing the reason for its current health status.
The top-level status is controlled by the worst indicator status.
In the event that an indicator status is non-green, a list of impacts may be present in the indicator result which detail the functionalities that are negatively affected by the health issue. Each impact carries with it a severity level, an area of the system that is affected, and a simple description of the impact on the system.
Some health indicators can determine the root cause of a health problem and prescribe a set of steps that can be performed in order to improve the health of the system. The root cause and remediation steps are encapsulated in a diagnosis. A diagnosis contains a cause detailing a root cause analysis, an action containing a brief description of the steps to take to fix the problem, and the URL for detailed troubleshooting help.
NOTE: The health indicators perform root cause analysis of non-green health statuses. This can be computationally expensive when called frequently.
curl \ --request GET 'http://api.example.com/_health_report' \ --user "username:password"
{ "symptom": "1 indicator is concerning (`pipelines`)", "indicators": { "pipelines": { "status": "yellow", "symptom": "1 indicator is concerning (`normal-completion-pipeline`)", "indicators": { "normal-completion-pipeline": { "status": "yellow", "details": { "status": { "state": "FINISHED" } }, "impacts": [ { "impact_areas": [ "pipeline_execution" ] } ], "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" } ] } } } } }
{ "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", "details": { "status": { "state": "TERMINATED" } }, "impacts": [ { "description": "the pipeline is not currently processing", "impact_areas": [ "pipeline_execution" ] } ], "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" } ] } } } } }
{ "status": "red", "symptom": "1 indicator is unhealthy (`pipelines`)", "indicators": { "pipelines": { "status": "red", "symptom": "1 indicator is unhealthy (`blocked-pipeline`)", "indicators": { "blocked-pipeline": { "status": "red", "details": { "flow": { "worker_utilization": { "last_1_minute": 100.0, "last_5_minutes": 100.0 } }, "status": { "state": "RUNNING" } }, "impacts": [ { "id": "logstash:health:pipeline:flow:impact:blocked_processing", "severity": 1, "description": "the pipeline is blocked", "impact_areas": [ "pipeline_execution" ] } ], "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" } ] } } } } }