mash-playbook/docs/services/healthchecks.md
2024-01-06 18:25:51 +02:00

83 lines
3.3 KiB
Markdown

# Healthchecks
[Healthchecks](https://healthchecks.io/) is simple and Effective **Cron Job Monitoring** solution.
## Dependencies
This service requires the following other services:
- a [Postgres](postgres.md) database
- a [Traefik](traefik.md) reverse-proxy server
- (optional) the [exim-relay](exim-relay.md) mailer
## Configuration
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
```yaml
########################################################################
# #
# healthchecks #
# #
########################################################################
healthchecks_enabled: true
healthchecks_hostname: mash.example.com
healthchecks_path_prefix: /healthchecks
########################################################################
# #
# /healthchecks #
# #
########################################################################
```
### URL
In the example configuration above, we configure the service to be hosted at `https://mash.example.com/healthchecks`.
You can remove the `healthchecks_path_prefix` variable definition, to make it default to `/`, so that the service is served at `https://mash.example.com/`.
### Authentication
The first superuser account is created after installation. See [Usage](#usage).
You can create as many accounts as you wish.
### Email integration
If you've enabled the [exim-relay](exim-relay.md) mailer service, Healtchecks will automatically be configured to send through it.
If you need to configure Healthchecks to send email directly, the [ansible.role.healthchecks](https://github.com/mother-of-all-self-hosting/ansible-role-healthchecks) Ansible role provides various variables for tweaking the email-sending configuration in its `default/main.yml` file (`healthchecks_environment_variable_default_from_email` and various `healthchecks_environment_variable_email_*` variables).
### Integrating with other services
Refer to the [upstream `.env.example` file](https://github.com/healthchecks/healthchecks/blob/master/docker/.env.example) for discovering additional environment variables.
You can pass these to the Healthchecks container using the `healthchecks_environment_variables_additional_variables` variable. Example:
```yml
healthchecks_environment_variables_additional_variables: |
DISCORD_CLIENT_ID=123
DISCORD_CLIENT_SECRET=456
```
## Usage
After installation, you need to **create a superuser account**.
This is an interactive process which can be initiated by **SSH-ing into into the server** and **running a command** like this:
```sh
docker exec -it mash-healthchecks /opt/healthchecks/manage.py createsuperuser
```
After creating the superuser account, you can go to the [Healthchecks URL](#url) to log in and start setting up healthchecks.
## Recommended other services
- [Prometheus](prometheus.md) - a metrics collection and alerting monitoring solution