Cilium Health API
The cilium-health connectivity API served over a Unix domain socket, exposing node-to-node and endpoint connectivity health status across the Cilium cluster mesh.
The cilium-health connectivity API served over a Unix domain socket, exposing node-to-node and endpoint connectivity health status across the Cilium cluster mesh.
---
swagger: '2.0'
info:
title: Cilium-Health API
description: Cilium Health Checker
version: v1beta
x-schemes:
- unix
basePath: "/v1beta"
produces:
- application/json
consumes:
- application/json
paths:
"/healthz":
get:
summary: Get health of Cilium node
description: |
Returns health and status information of the local node including
load and uptime, as well as the status of related components including
the Cilium daemon.
responses:
'200':
description: Success
schema:
"$ref": "#/definitions/HealthResponse"
'500':
description: Failed to contact local Cilium daemon
x-go-name: Failed
schema:
"$ref": "../openapi.yaml#/definitions/Error"
"/status/probe":
put:
summary: Run synchronous connectivity probe to determine status of the Cilium cluster
description: |
Runs a synchronous probe to all other cilium-health instances and
returns the connectivity status.
tags:
- connectivity
responses:
'200':
description: Success
schema:
"$ref": "#/definitions/HealthStatusResponse"
'403':
description: Forbidden
'500':
description: Internal error occurred while conducting connectivity probe
x-go-name: Failed
schema:
"$ref": "../openapi.yaml#/definitions/Error"
"/status":
get:
summary: Get connectivity status of the Cilium cluster
description: |
Returns the connectivity status to all other cilium-health instances
using interval-based probing.
tags:
- connectivity
responses:
'200':
description: Success
schema:
"$ref": "#/definitions/HealthStatusResponse"
definitions:
StatusResponse:
type: object
description: Status of Cilium daemon
x-go-type:
type: StatusResponse
import:
package: "github.com/cilium/cilium/api/v1/models"
alias: "ciliumModels"
hint:
kind: object
nullable: true
HealthResponse:
description: Health and status information of local node
type: object
properties:
cilium:
description: Status of Cilium daemon
"$ref": "#/definitions/StatusResponse"
uptime:
description: Uptime of cilium-health instance
type: string
system-load:
description: System load on node
"$ref": "#/definitions/LoadResponse"
LoadResponse:
description: System load on node
type: object
properties:
last1min:
description: Load average over the past minute
type: string
last5min:
description: Load average over the past 5 minutes
type: string
last15min:
description: Load average over the past 15 minutes
type: string
HealthStatusResponse:
description: Connectivity status to other daemons
type: object
properties:
timestamp:
type: string
probeInterval:
description: Interval in seconds between probes
type: string
local:
description: Description of the local node
"$ref": "#/definitions/SelfStatus"
nodes:
description: Connectivity status to each other node
type: array
items:
"$ref": "#/definitions/NodeStatus"
SelfStatus:
description: Description of the cilium-health node
type: object
properties:
name:
description: Name associated with this node
type: string
NodeStatus:
description: Connectivity status of a remote cilium-health instance
type: object
properties:
name:
description: Identifying name for the node
type: string
host:
description: Connectivity status to cilium-health instance on node IP
"$ref": "#/definitions/HostStatus"
health-endpoint:
description: Connectivity status to simulated endpoint on the node
"$ref": "#/definitions/EndpointStatus"
endpoint:
description: |
DEPRECATED: Please use the health-endpoint field instead, which
supports reporting the status of different addresses for the endpoint
"$ref": "#/definitions/PathStatus"
HostStatus:
description: |
Connectivity status to host cilium-health instance via different paths,
probing via all known IP addresses
properties:
primary-address:
"$ref": "#/definitions/PathStatus"
secondary-addresses:
type: array
items:
"$ref": "#/definitions/PathStatus"
EndpointStatus:
description: |
Connectivity status to host cilium-health endpoints via different paths
properties:
primary-address:
"$ref": "#/definitions/PathStatus"
secondary-addresses:
type: array
items:
"$ref": "#/definitions/PathStatus"
PathStatus:
description: |
Connectivity status via different paths, for example using different
policies or service redirection
type: object
properties:
ip:
description: IP address queried for the connectivity status
type: string
icmp:
description: Basic ping connectivity status to node IP
"$ref": "#/definitions/ConnectivityStatus"
http:
description: Connectivity status without policy applied
"$ref": "#/definitions/ConnectivityStatus"
ConnectivityStatus:
description: Connectivity status of a path
type: object
properties:
latency:
description: Round trip time to node in nanoseconds
type: integer
status:
type: string
description: Human readable status/error/warning message
lastProbed:
description: Timestamp of last probe completion
type: string