blob: 770e0905ac558daf2826ac81e698ed326766503a (
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# yamllint disable rule:line-length
---
- id: 'notify-matrix'
meta:
name: 'Matrix'
link: 'https://spec.matrix.org/unstable/push-gateway-api/'
categories:
- notify.agent
icon_filename: 'matrix.svg'
keywords:
- Matrix
overview:
notification_description: |
Send notifications to Matrix network rooms using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
notification_limitations: ''
setup:
prerequisites:
list:
- title: ''
description: |
- The url of the homeserver (`https://homeserver:port`).
- Credentials for connecting to the homeserver, in the form of a valid access token for your account (or for a dedicated notification account). These tokens usually don't expire.
- The Room ids that you want to sent the notification to.
- Access to the terminal where Netdata Agent is running
configuration:
file:
name: 'health_alarm_notify.conf'
options:
description: 'The following options can be defined for this notification'
folding:
title: 'Config Options'
enabled: true
list:
- name: 'SEND_MATRIX'
default_value: 'YES'
description: "Set `SEND_MATRIX` to YES"
required: true
- name: 'MATRIX_HOMESERVER'
default_value: ''
description: "set `MATRIX_HOMESERVER` to the URL of the Matrix homeserver."
required: true
- name: 'MATRIX_ACCESSTOKEN'
default_value: ''
description: "Set `MATRIX_ACCESSTOKEN` to the access token from your Matrix account."
required: true
detailed_description: |
To obtain the access token, you can use the following curl command:
```
curl -XPOST -d '{"type":"m.login.password", "user":"example", "password":"wordpass"}' "https://homeserver:8448/_matrix/client/r0/login"
```
- name: 'DEFAULT_RECIPIENT_MATRIX'
default_value: ''
description: "Set `DEFAULT_RECIPIENT_MATRIX` to the Rooms you want the alert notifications to be sent to. The format is `!roomid:homeservername`."
required: true
detailed_description: |
The Room ids are unique identifiers and can be obtained from the Room settings in a Matrix client (e.g. Riot).
You can define multiple Rooms like this: `!roomid1:homeservername` `!roomid2:homeservername`.
All roles will default to this variable if left unconfigured.
You can have different Rooms per role, by editing `DEFAULT_RECIPIENT_MATRIX` with the `!roomid:homeservername` you want, in the following entries at the bottom of the same file:
```text
role_recipients_matrix[sysadmin]="!roomid1:homeservername"
role_recipients_matrix[domainadmin]="!roomid2:homeservername"
role_recipients_matrix[dba]="!roomid3:homeservername"
role_recipients_matrix[webmaster]="!roomid4:homeservername"
role_recipients_matrix[proxyadmin]="!roomid5:homeservername"
role_recipients_matrix[sitemgr]="!roomid6:homeservername"
```
examples:
folding:
enabled: true
title: ''
list:
- name: 'Basic Configuration'
folding:
enabled: false
description: ''
config: |
#------------------------------------------------------------------------------
# Matrix notifications
SEND_MATRIX="YES"
MATRIX_HOMESERVER="https://matrix.org:8448"
MATRIX_ACCESSTOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
DEFAULT_RECIPIENT_MATRIX="!XXXXXXXXXXXX:matrix.org"
troubleshooting:
problems:
list: []
|