100 lines
4 KiB
YAML
100 lines
4 KiB
YAML
# configuration of the HTTP server
|
|
http:
|
|
address: 0.0.0.0 # bind address for this service. Can be left unspecified to bind on all interfaces
|
|
port: 8080 # port used by this service
|
|
alerts-path-prefix: /alerts # URL path for the webhook receiver called by an Alertmanager. Defaults to /alerts
|
|
metrics-path: /metrics # URL path to collect metrics. Defaults to /metrics
|
|
metrics-enabled: true # Whether to enable metrics or not. Defaults to false
|
|
|
|
# configuration for the Matrix connection
|
|
matrix:
|
|
homeserver-url: https://matrix.janky.bot # FQDN of the homeserver
|
|
user-id: "@alerts:janky.bot" # ID of the user used by this service
|
|
access-token: ACCESS_TOKEN # Access token for the user ID - will get replaced in an init container
|
|
# define short names for Matrix room ID
|
|
room-mapping:
|
|
alerts: "!nBmQwxtIfjWqYGDqLb:janky.solutions"
|
|
|
|
# configuration of the templating features
|
|
templating:
|
|
# mapping of ExternalURL values
|
|
external-url-mapping:
|
|
# key is the original value taken from the Alertmanager payload
|
|
# value is the mapped value which will be available as '.ExternalURL' in templates
|
|
# "http://alertmanager:9093": https://alertmanager.example.com
|
|
# mapping of GeneratorURL values
|
|
generator-url-mapping:
|
|
# key is the original value taken from the Alertmanager payload
|
|
# value is the mapped value which will be available as '.GeneratorURL' in templates
|
|
# "http://prometheus:8080": https://prometheus.example.com
|
|
|
|
# computation of arbitrary values based on matching alert annotations, labels, or status
|
|
# values will be evaluated top to bottom, last entry wins
|
|
computed-values:
|
|
- values: # always set 'color' to 'yellow'
|
|
color: yellow
|
|
- values: # set 'color' to 'orange' when alert label 'severity' is 'warning'
|
|
color: orange
|
|
when-matching-labels:
|
|
severity: warning
|
|
- values: # set 'color' to 'red' when alert label 'severity' is 'critical'
|
|
color: red
|
|
when-matching-labels:
|
|
severity: critical
|
|
- values: # set 'color' to 'green' when alert status is 'resolved'
|
|
color: green
|
|
when-matching-status: resolved
|
|
|
|
# template for alerts in status 'firing'
|
|
firing-template: '
|
|
<p>
|
|
<strong><font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font></strong>
|
|
{{ if .Alert.Labels.name }}
|
|
{{ .Alert.Labels.name }}
|
|
{{ else if .Alert.Labels.alertname }}
|
|
{{ .Alert.Labels.alertname }}
|
|
{{ end }}
|
|
>>
|
|
{{ if .Alert.Labels.severity }}
|
|
{{ .Alert.Labels.severity | ToUpper }}:
|
|
{{ end }}
|
|
{{ if .Alert.Annotations.description }}
|
|
{{ .Alert.Annotations.description }}
|
|
{{ else if .Alert.Annotations.summary }}
|
|
{{ .Alert.Annotations.summary }}
|
|
{{ end }}
|
|
>>
|
|
{{ if .Alert.Annotations.runbook }}
|
|
<a href="{{ .Alert.Annotations.runbook }}">Runbook</a> |
|
|
{{ end }}
|
|
{{ if .Alert.Annotations.dashboard }}
|
|
<a href="{{ .Alert.Annotations.dashboard }}">Dashboard</a> |
|
|
{{ end }}
|
|
<a href="{{ .SilenceURL }}">Silence</a>
|
|
</p>'
|
|
|
|
# template for alerts in status 'resolved', if not specified will use the firing-template
|
|
resolved-template: '
|
|
<p>
|
|
<strong><font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font></strong>
|
|
{{ if .Alert.Labels.name }}
|
|
{{ .Alert.Labels.name }}
|
|
{{ else if .Alert.Labels.alertname }}
|
|
{{ .Alert.Labels.alertname }}
|
|
{{ end }}
|
|
>>
|
|
{{ if .Alert.Labels.severity }}
|
|
{{ .Alert.Labels.severity | ToUpper }}:
|
|
{{ end }}
|
|
{{ if .Alert.Annotations.description }}
|
|
{{ .Alert.Annotations.description }}
|
|
{{ else if .Alert.Annotations.summary }}
|
|
{{ .Alert.Annotations.summary }}
|
|
{{ end }}
|
|
{{ if .Alert.Annotations.runbook }}
|
|
<a href="{{ .Alert.Annotations.runbook }}">Runbook</a> |
|
|
{{ end }}
|
|
{{ if .Alert.Annotations.dashboard }}
|
|
<a href="{{ .Alert.Annotations.dashboard }}">Dashboard</a> |
|
|
{{ end }}
|
|
</p>'
|