summaryrefslogtreecommitdiffstats
path: root/health/notifications/gotify/README.md
blob: d01502b65aba11b17a96daa80eff233307fdc221 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!--
title: "Send notifications to Gotify"
description: "Send alerts to your Gotify instance when an alert gets triggered in Netdata."
sidebar_label: "Gotify"
custom_edit_url: https://github.com/netdata/netdata/edit/master/health/notifications/gotify/README.md
learn_status: "Published"
learn_topic_type: "Tasks"
learn_rel_path: "Setup/Notification/Agent"
learn_autogeneration_metadata: "{'part_of_cloud': False, 'part_of_agent': True}"
-->

# Send notifications to Gotify

[Gotify](https://gotify.net/) is a self-hosted push notification service created for sending and receiving messages in real time.

## Configuring Gotify

### Prerequisites

To use Gotify as your notification service, you need an application token. 
You can generate a new token in the Gotify Web UI. 

### Configuration

To set up Gotify in Netdata: 

1. Switch to your [config
directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md) and edit the file `health_alarm_notify.conf` using the edit config script.
 
   ```bash
   ./edit-config health_alarm_notify.conf
   ```

2. Change the variable `GOTIFY_APP_TOKEN` to the application token you generated in the Gotify Web UI. Change
`GOTIFY_APP_URL` to point to your Gotify instance.

   ```conf
   SEND_GOTIFY="YES"

   # Application token
   # Gotify instance url
   GOTIFY_APP_TOKEN=XXXXXXXXXXXXXXX
   GOTIFY_APP_URL=https://push.example.de/
   ```

   Changes to `health_alarm_notify.conf` do not require a Netdata restart. 
   
3. Test your Gotify notifications configuration by running the following commands, replacing `ROLE` with your preferred role:

   ```sh
   # become user netdata
   sudo su -s /bin/bash netdata

   # send a test alarm
   /usr/libexec/netdata/plugins.d/alarm-notify.sh test ROLE
   ```

   🟢 If everything works, you'll see alarms in Gotify:

   ![Example alarm notifications in Gotify](https://user-images.githubusercontent.com/103264516/162509205-1e88e5d9-96b6-4f7f-9426-182776158128.png)

   🔴 If sending the test notifications fails, check `/var/log/netdata/error.log` to find the relevant error message:

   ```log 
   2020-09-03 23:07:00: alarm-notify.sh: ERROR: failed to send Gotify notification for: hades test.chart.test_alarm is CRITICAL, with HTTP error code 401.
   ```