This page describes how to configure health check probes for a Mattermost server.
Before you begin, you should have a running Mattermost server. If you don’t, you can install Mattermost on various distributions or deploy a Kubernetes cluster with Minikube. Note that highly available Mattermost cluster support is available in Mattermost Enterprise Edition E20.
You can perform a health check with two methods:
/ping APIv4 Endpoint¶
From Mattermost v3.10 and later, you can use the GET /system/ping APIv4 endpoint to check for system health.
A sample request is included below. The endpoint checks if the server is up and healthy based on the configuration setting
GoRoutineHealthThresholdand the number of goroutines on the server exceeds that threshold, the server is considered unhealthy.
GoRoutineHealthThresholdis not set or the number of goroutines is below the threshold the server is considered healthy.
This endpoint can also be provided to schedulers like Kubernetes.
import "github.com/mattermost/mattermost-server/model" Client := model.NewAPIv4Client("https://your-mattermost-url.com") Client.Login("email@example.com", "Password1") // GetPing status, err := Client.GetPing()
The Mattermost Probe constantly pings a Mattermost server using a variety of probes.
These probes can be configured to verify core features, including sending and receiving messages, joining channels, pinging a login page, and searching of users and channels.
The project is contributed by the Mattermost open source community. Suggestions and contributions for the project are welcome.