lots of stuff

This commit is contained in:
bee
2026-08-16 14:48:04 +02:00
parent c63db540e8
commit 49fa352476
45 changed files with 32520 additions and 93 deletions
@@ -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 %}