lots of stuff
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
apiVersion: 1
|
||||
|
||||
contactPoints:
|
||||
- orgId: 1
|
||||
name: discord
|
||||
receivers:
|
||||
- uid: discord-beepi
|
||||
type: discord
|
||||
settings:
|
||||
url: {{ discord_webhook }}
|
||||
title: '{{ '{{' }} template "default.title" . {{ '}}' }}'
|
||||
message: |
|
||||
{{ '{{' }} range .Alerts {{ '}}' }}**{{ '{{' }} .Labels.alertname {{ '}}' }}** {{ '{{' }} if .Labels.service {{ '}}' }}({{ '{{' }} .Labels.service {{ '}}' }}){{ '{{' }} end {{ '}}' }}
|
||||
{{ '{{' }} .Annotations.summary {{ '}}' }}
|
||||
{{ '{{' }} end {{ '}}' }}
|
||||
use_discord_username: true
|
||||
disableResolveMessage: false
|
||||
|
||||
policies:
|
||||
- orgId: 1
|
||||
receiver: discord
|
||||
group_by:
|
||||
- alertname
|
||||
- service
|
||||
- job
|
||||
group_wait: 30s
|
||||
group_interval: 5m
|
||||
repeat_interval: 12h
|
||||
routes:
|
||||
- receiver: discord
|
||||
object_matchers:
|
||||
- ['severity', '=', 'critical']
|
||||
group_wait: 10s
|
||||
repeat_interval: 4h
|
||||
@@ -0,0 +1,57 @@
|
||||
apiVersion: 1
|
||||
|
||||
groups:
|
||||
{% for group in alert_groups %}
|
||||
- orgId: 1
|
||||
name: {{ group.name }}
|
||||
folder: {{ grafana_folder }}
|
||||
interval: {{ group.interval }}
|
||||
rules:
|
||||
{% for rule in group.rules %}
|
||||
- uid: {{ rule.uid }}
|
||||
title: {{ rule.title }}
|
||||
condition: C
|
||||
for: {{ rule['for'] }}
|
||||
noDataState: {{ rule.no_data | default('NoData') }}
|
||||
execErrState: Alerting
|
||||
labels:
|
||||
severity: {{ rule.severity }}
|
||||
annotations:
|
||||
summary: {{ rule.summary }}
|
||||
data:
|
||||
- refId: A
|
||||
relativeTimeRange:
|
||||
from: 600
|
||||
to: 0
|
||||
datasourceUid: {{ grafana_loki_uid if rule.source | default('prometheus') == 'loki' else grafana_prometheus_uid }}
|
||||
model:
|
||||
refId: A
|
||||
expr: '{{ rule.expr }}'
|
||||
instant: true
|
||||
{% if rule.source | default('prometheus') == 'loki' %}
|
||||
queryType: instant
|
||||
{% else %}
|
||||
range: false
|
||||
{% endif %}
|
||||
- refId: B
|
||||
datasourceUid: __expr__
|
||||
model:
|
||||
refId: B
|
||||
type: reduce
|
||||
expression: A
|
||||
reducer: last
|
||||
settings:
|
||||
mode: dropNN
|
||||
- refId: C
|
||||
datasourceUid: __expr__
|
||||
model:
|
||||
refId: C
|
||||
type: threshold
|
||||
expression: B
|
||||
conditions:
|
||||
- evaluator:
|
||||
type: {{ rule.op }}
|
||||
params:
|
||||
- {{ rule.threshold }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: 1
|
||||
|
||||
providers:
|
||||
- name: beepi
|
||||
orgId: 1
|
||||
folder: {{ grafana_folder }}
|
||||
folderUid: {{ grafana_folder_uid }}
|
||||
type: file
|
||||
disableDeletion: false
|
||||
updateIntervalSeconds: 30
|
||||
allowUiUpdates: false
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards
|
||||
foldersFromFilesStructure: false
|
||||
|
||||
- name: general
|
||||
orgId: 1
|
||||
folder: {{ grafana_general_folder }}
|
||||
folderUid: {{ grafana_general_folder_uid }}
|
||||
type: file
|
||||
disableDeletion: false
|
||||
updateIntervalSeconds: 30
|
||||
allowUiUpdates: false
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards-general
|
||||
foldersFromFilesStructure: false
|
||||
@@ -0,0 +1,49 @@
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: prometheus
|
||||
uid: {{ grafana_prometheus_uid }}
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://prometheus:9090
|
||||
isDefault: true
|
||||
editable: false
|
||||
jsonData:
|
||||
timeInterval: 15s
|
||||
httpMethod: POST
|
||||
|
||||
- name: loki
|
||||
uid: {{ grafana_loki_uid }}
|
||||
type: loki
|
||||
access: proxy
|
||||
url: http://loki:3100
|
||||
editable: false
|
||||
jsonData:
|
||||
maxLines: 2000
|
||||
|
||||
- name: topology
|
||||
uid: {{ grafana_infinity_uid }}
|
||||
type: yesoreyeram-infinity-datasource
|
||||
access: proxy
|
||||
editable: false
|
||||
jsonData:
|
||||
allowedHosts:
|
||||
- http://topology:8088
|
||||
global_queries: []
|
||||
{% if uptimerobot_enabled %}
|
||||
|
||||
- name: uptimerobot
|
||||
uid: {{ grafana_uptimerobot_uid }}
|
||||
type: yesoreyeram-infinity-datasource
|
||||
access: proxy
|
||||
editable: false
|
||||
jsonData:
|
||||
auth_method: apiKey
|
||||
apiKeyKey: api_key
|
||||
apiKeyType: query
|
||||
allowedHosts:
|
||||
- https://api.uptimerobot.com
|
||||
global_queries: []
|
||||
secureJsonData:
|
||||
apiKeyValue: {{ uptimerobot_api_key }}
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user