Mass Commit 06/08/2021
Signed-off-by: Georg <georg@lysergic.dev>
This commit is contained in:
parent
1791f4374b
commit
4bd9e36ff4
46
Cachet/.env
Normal file
46
Cachet/.env
Normal file
@ -0,0 +1,46 @@
|
||||
APP_ENV=production
|
||||
APP_DEBUG=false
|
||||
APP_URL=http://cachet.local
|
||||
APP_TIMEZONE=UTC
|
||||
APP_KEY=$CACHETAPIKEY
|
||||
DEBUGBAR_ENABLED=false
|
||||
|
||||
DB_DRIVER=mysql
|
||||
DB_HOST=$DBHOST
|
||||
DB_UNIX_SOCKET=null
|
||||
DB_DATABASE=$DB
|
||||
DB_USERNAME=$DBUSER
|
||||
DB_PASSWORD=$DBPASS
|
||||
DB_PORT=null
|
||||
DB_PREFIX=null
|
||||
|
||||
CACHE_DRIVER=file
|
||||
SESSION_DRIVER=file
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
CACHET_BEACON=false
|
||||
CACHET_EMOJI=false
|
||||
CACHET_AUTO_TWITTER=false
|
||||
|
||||
MAIL_DRIVER=log
|
||||
MAIL_HOST=$SMTPHOST
|
||||
MAIL_PORT=465
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
MAIL_ADDRESS=null
|
||||
MAIL_NAME=null
|
||||
MAIL_ENCRYPTION=tls
|
||||
|
||||
REDIS_HOST=$DBHOST_REDIS
|
||||
REDIS_DATABASE=$DB_REDIS
|
||||
REDIS_PORT=null
|
||||
|
||||
GITHUB_TOKEN=null
|
||||
|
||||
NEXMO_KEY=null
|
||||
NEXMO_SECRET=null
|
||||
NEXMO_SMS_FROM=Cachet
|
||||
|
||||
TRUSTED_PROXIES=status.lib.casa
|
||||
|
||||
APP_LOG=file
|
1
Prometheus-CachetHQ/README.md
Normal file
1
Prometheus-CachetHQ/README.md
Normal file
@ -0,0 +1 @@
|
||||
There are multiple pieces of software going by similar names. Most of them are very outdated and faulty, we ended up using https://github.com/oxyno-zeta/prometheus-cachethq with slight modifications (hardcoded listening addresses, as the config value did not work for some reason).
|
88
Prometheus-CachetHQ/config.yaml
Normal file
88
Prometheus-CachetHQ/config.yaml
Normal file
@ -0,0 +1,88 @@
|
||||
# Log configuration
|
||||
log:
|
||||
# Log level
|
||||
level: debug
|
||||
# Log format
|
||||
format: text
|
||||
|
||||
# Server configurations
|
||||
server:
|
||||
listenAddr: "127.0.0.2"
|
||||
port: 8081
|
||||
|
||||
# Cachet configuration
|
||||
cachet:
|
||||
url: http://172.16.9.2:8033
|
||||
apiKey: $CACHETAPIKEY
|
||||
|
||||
# Targets
|
||||
targets:
|
||||
# - component:
|
||||
# name: nginx
|
||||
# status: PARTIAL_OUTAGE
|
||||
# groupName: LibertaCasa
|
||||
# alerts:
|
||||
# - name: lysergic-nginx-down
|
||||
# - component:
|
||||
# name: Node_Exporter_Mercury
|
||||
# status: PARTIAL_OUTAGE
|
||||
# groupName: LibertaCasa
|
||||
# alerts:
|
||||
# - name: lysergic-node-down
|
||||
- component:
|
||||
name: Jitsi
|
||||
status: PARTIAL_OUTAGE
|
||||
alerts:
|
||||
- name: JITSI-WEB-DOWN
|
||||
- component:
|
||||
name: Element
|
||||
status: PARTIAL_OUTAGE
|
||||
groupName: LibertaCasa
|
||||
alerts:
|
||||
- name: ELEMENT-WEB-DOWN
|
||||
- component:
|
||||
name: Gitea
|
||||
status: PARTIAL_OUTAGE
|
||||
alerts:
|
||||
- name: GITEA-WEB-DOWN
|
||||
- component:
|
||||
name: cgit
|
||||
status: PARTIAL_OUTAGE
|
||||
groupName: LibertaCasa
|
||||
alerts:
|
||||
- name: CGIT-WEB-DOWN
|
||||
- component:
|
||||
name: Etherpad
|
||||
status: PARTIAL_OUTAGE
|
||||
alerts:
|
||||
- name: ETHERPAD-WEB-DOWN
|
||||
- component:
|
||||
name: PrivateBin
|
||||
status: PARTIAL_OUTAGE
|
||||
alerts:
|
||||
- name: PASTA-WEB-DOWN
|
||||
- component:
|
||||
name: Website
|
||||
status: PARTIAL_OUTAGE
|
||||
groupName: xKek
|
||||
alerts:
|
||||
- name: XKEK-WEB-DOWN
|
||||
- component:
|
||||
name: SearX
|
||||
status: PARTIAL_OUTAGE
|
||||
groupName: xKek
|
||||
alerts:
|
||||
- name: SEARX-WEB-DOWN
|
||||
- component:
|
||||
name: Yacy
|
||||
status: PARTIAL_OUTAGE
|
||||
groupName: xKek
|
||||
alerts:
|
||||
- name: YACY-WEB-DOWN
|
||||
# - labels:
|
||||
# label1: value1
|
||||
# incident:
|
||||
# name: ""
|
||||
# content: ""
|
||||
# status: INVESTIGATING
|
||||
# public: true
|
13
Prometheus-CachetHQ/prometheus-cachethq.service
Normal file
13
Prometheus-CachetHQ/prometheus-cachethq.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Prometheus-CachetHQ
|
||||
After=network.target prometheus.service
|
||||
|
||||
[Service]
|
||||
User=cachet
|
||||
Group=cachet
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/prometheus-cachethq
|
||||
ExecStart=/opt/prometheus-cachethq/prometheus-cachethq
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
94
Prometheus/alerts/lysergic/blackbox.yml
Normal file
94
Prometheus/alerts/lysergic/blackbox.yml
Normal file
@ -0,0 +1,94 @@
|
||||
groups:
|
||||
- name: lysergic-blackbox_exporters
|
||||
rules:
|
||||
- alert: LIBERTACASA-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://liberta.casa|https://www.lysergic.dev"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: XKEK-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://xkek.net|https://kekx.net"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: JITSI-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://meet.lysergic.dev"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: PASTA-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://pasta.lysergic.dev"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: GITEA-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://git.com.de"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: CGIT-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://git.casa"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: ELEMENT-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://element.liberta.casa"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: ETHERPAD-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://pad.hugz.io"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: SEARX-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://searx.xkek.net"} == 0
|
||||
for: 120s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
- alert: YACY-WEB-DOWN
|
||||
expr: probe_success{instance=~"https://yacy.xkek.net"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 30 seconds. Node seems down.
|
||||
/etc/prometheus/alerts/lysergic/blackbox.yml lines 29-93/93 (END)
|
13
Prometheus/alerts/lysergic/nginx_exporters.yml
Normal file
13
Prometheus/alerts/lysergic/nginx_exporters.yml
Normal file
@ -0,0 +1,13 @@
|
||||
groups:
|
||||
- name: lysergic-nginx_exporters
|
||||
rules:
|
||||
- alert: lysergic-nginx-down
|
||||
expr: nginx_up{project="LYSERGIC", job="nginx_exporters"} == 0
|
||||
for: 1m
|
||||
labels:
|
||||
job: nginx_exporters
|
||||
severity: WARNING
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: nginx {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 1 minute. nginx seems down.
|
13
Prometheus/alerts/lysergic/node_exporters.yml
Normal file
13
Prometheus/alerts/lysergic/node_exporters.yml
Normal file
@ -0,0 +1,13 @@
|
||||
groups:
|
||||
- name: lysergic-node_exporters
|
||||
rules:
|
||||
- alert: lysergic-node-down
|
||||
expr: up{project="LYSERGIC", job="node_exporters"} == 0
|
||||
for: 1m
|
||||
labels:
|
||||
job: node_exporters
|
||||
severity: warning
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 1 minute. Node seems down.
|
23
Prometheus/alerts/lysergic/wireguard_exporters.yml
Normal file
23
Prometheus/alerts/lysergic/wireguard_exporters.yml
Normal file
@ -0,0 +1,23 @@
|
||||
groups:
|
||||
- name: lysergic-wireguard_exporters
|
||||
rules:
|
||||
- alert: mercury-wireguard-down
|
||||
expr: wireguard_peer_last_handshake_seconds{device="wg0", instance="localhost:9586", job="wireguard-mercury", public_key="$WG0_PUBKEY"} - time() <- 125
|
||||
for: 10s
|
||||
labels:
|
||||
job: wireguard-mercury
|
||||
severity: CRITICAL
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: WireGuard {{ $labels.instance }} is down
|
||||
description: 'Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 2 minutes. Uplink to Psyched seems down. Affected services: Global infrastructure monitoring. Other outages might no longer be tracked. Urgent investigation is advised.'
|
||||
- alert: lysergic-wireguard-down
|
||||
expr: wireguard_peer_last_handshake_seconds{project="LYSERGIC",device!="wg1"} - time() <- 130
|
||||
for: 10s
|
||||
labels:
|
||||
job: wireguard-lysergic
|
||||
severity: CRITICAL
|
||||
project: LYSERGIC
|
||||
annotations:
|
||||
title: WireGuard Incident
|
||||
description: 'No handshakes for {{ $labels.device }} in {{ $labels.job }} on {{ $labels.instance}} have been exchanged for an extended amount of time. Critical services could be affected.'
|
21
Prometheus/alerts/tripsit/blackbox.yml
Normal file
21
Prometheus/alerts/tripsit/blackbox.yml
Normal file
@ -0,0 +1,21 @@
|
||||
groups:
|
||||
- name: tripsit-blackbox_exporters
|
||||
rules:
|
||||
- alert: TRIPSIT.ME-WEB-INCIDENT
|
||||
expr: probe_success{instance=~"https://tripsit.me|https://chat.tripsit.me|https://chat.tripsit.me/chat|https://drugs.tripsit.me|https://benzo.tripsit.me|https://dxm.tripsit.me|https://combo.tripsit.me|https://wiki.tripsit.me|https://tripbot.tripsit.me"} == 0
|
||||
for: 15s
|
||||
labels:
|
||||
severity: critical
|
||||
project: TRIPSIT
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 15 seconds. Node seems down.
|
||||
- alert: TRIPSIT.DEV-WEB-INCIDENT
|
||||
expr: probe_success{instance=~"https://mail.tripsit.dev|https://dopamine.tripsit.dev"} == 0
|
||||
for: 1m
|
||||
labels:
|
||||
severity: warning
|
||||
project: TRIPSIT
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 1 minute. Node seems down.
|
13
Prometheus/alerts/tripsit/node_exporters.yml
Normal file
13
Prometheus/alerts/tripsit/node_exporters.yml
Normal file
@ -0,0 +1,13 @@
|
||||
groups:
|
||||
- name: tripsit-node_exporters
|
||||
rules:
|
||||
- alert: TRIPSIT-NODE-INCIDENT
|
||||
expr: up{project="TRIPSIT", job="node_exporters"} == 0
|
||||
for: 30s
|
||||
labels:
|
||||
severity: warning
|
||||
job: node_exporters
|
||||
project: TRIPSIT
|
||||
annotations:
|
||||
title: Node {{ $labels.instance }} is down
|
||||
description: Failed to scrape {{ $labels.job }} on {{ $labels.instance}} for more than 1 minute. Node seems down.
|
13
Prometheus/prometheus.service
Normal file
13
Prometheus/prometheus.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Prometheus
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=prometheus
|
||||
Group=prometheus
|
||||
Type=simple
|
||||
ExecStart=/opt/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.console.templates=/opt/prometheus/consoles --web.console.libraries=/opt/prometheus/console_libraries --web.external-url=https://prometheus.lysergic.dev:4433
|
||||
ExecReload=/usr/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
69
Prometheus/prometheus.yml
Normal file
69
Prometheus/prometheus.yml
Normal file
@ -0,0 +1,69 @@
|
||||
# my global config
|
||||
global:
|
||||
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||
evaluation_interval: 1m # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||
# scrape_timeout is set to the global default (10s).
|
||||
|
||||
# Alertmanager configuration
|
||||
alerting:
|
||||
alertmanagers:
|
||||
- static_configs:
|
||||
- targets:
|
||||
- localhost:9093
|
||||
|
||||
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
||||
rule_files:
|
||||
- "/etc/prometheus/alerts/lysergic/*.yml"
|
||||
# - "/etc/prometheus/alerts/tripsit/*.yml" - Disabled on 22/07/2021
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
- job_name: 'prometheus'
|
||||
static_configs:
|
||||
- targets: ['localhost:9090']
|
||||
|
||||
- job_name: 'node_exporters'
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- '/etc/prometheus/targets/node-*.json'
|
||||
# - job_name: 'node_exporters_02'
|
||||
# file_sd_configs:
|
||||
# - files:
|
||||
# - '/etc/prometheus/targets/node-tripsit.json'
|
||||
# proxy_url: 'https://dopamine.tripsit.dev:9493/'
|
||||
#params:
|
||||
# _scheme: [https]
|
||||
|
||||
- job_name: 'nginx_exporters'
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- '/etc/prometheus/targets/nginx-*.json'
|
||||
|
||||
- job_name: 'etcd_metrics'
|
||||
static_configs:
|
||||
- targets: ['$ETCDNODE01:2379', '$ETCDNODE02:2379', '$ETCDNODE03:2379']
|
||||
scheme: https
|
||||
tls_config:
|
||||
ca_file: $ETCDCACRT
|
||||
cert_file: $ETCDCLIENTCRT
|
||||
key_file: $ETCDCLIENTKEY
|
||||
|
||||
- job_name: 'blackbox'
|
||||
metrics_path: /probe
|
||||
params:
|
||||
module: [http_2xx]
|
||||
file_sd_configs:
|
||||
- files: ['/etc/prometheus/targets/blackbox*.yml']
|
||||
relabel_configs:
|
||||
- source_labels: [__address__]
|
||||
target_label: __param_target
|
||||
- source_labels: [__param_target]
|
||||
target_label: instance
|
||||
- target_label: __address__
|
||||
replacement: 127.0.0.1:9115
|
||||
|
||||
- job_name: 'wireguard_exporters'
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- '/etc/prometheus/targets/wireguard-*.json'
|
1
Prometheus/targets/README.md
Normal file
1
Prometheus/targets/README.md
Normal file
@ -0,0 +1 @@
|
||||
These configuration files are currently not available publicly.
|
17
Prometheus_Alertmanager/alertmanager.service
Normal file
17
Prometheus_Alertmanager/alertmanager.service
Normal file
@ -0,0 +1,17 @@
|
||||
[Unit]
|
||||
After=network.target
|
||||
Description=Prometheus Alertmanager
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=alertmanager
|
||||
Group=prometheus
|
||||
WorkingDirectory=/var/lib/alertmanager
|
||||
Restart=always
|
||||
ExecStart=/opt/alertmanager/alertmanager --config.file=/etc/prometheus/alertmanager.yml --web.external-url=https://prometheus.lysergic.dev:4433/alertmanager --web.route-prefix=/ --cluster.listen-address=
|
||||
ExecReload=/usr/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
57
Prometheus_Alertmanager/alertmanager.yml
Normal file
57
Prometheus_Alertmanager/alertmanager.yml
Normal file
@ -0,0 +1,57 @@
|
||||
global:
|
||||
resolve_timeout: 5m
|
||||
|
||||
route:
|
||||
group_by: ['alertname']
|
||||
group_wait: 10s
|
||||
group_interval: 10s
|
||||
repeat_interval: 1h
|
||||
receiver: 'smtp-local'
|
||||
routes:
|
||||
- receiver: 'irc-tripsit'
|
||||
match:
|
||||
project: TRIPSIT
|
||||
- receiver: 'mayday-tripsit'
|
||||
match:
|
||||
project: tripsit-critical
|
||||
- receiver: 'lysergic'
|
||||
continue: true
|
||||
match:
|
||||
project: LYSERGIC
|
||||
receivers:
|
||||
- name: 'smtp-local'
|
||||
email_configs:
|
||||
- to: '$MAIL_SYSTEM'
|
||||
from: '$MAIL_ALERTMANAGER'
|
||||
require_tls: false
|
||||
smarthost: '$SMTPHOST'
|
||||
send_resolved: yes
|
||||
- name: 'irc-tripsit'
|
||||
webhook_configs:
|
||||
- url: 'http://127.0.0.1:2420/_systems'
|
||||
send_resolved: yes
|
||||
- name: 'mayday-tripsit'
|
||||
webhook_configs:
|
||||
- url: 'http://127.0.0.1:2420/tripsit-dev'
|
||||
email_configs:
|
||||
- to: '$MAIL_SYSTEM'
|
||||
from: '$MAIL_ALERTMANAGER'
|
||||
require_tls: false
|
||||
smarthost: '127.0.0.1:25'
|
||||
send_resolved: yes
|
||||
- name: 'irc-libertacasa'
|
||||
webhook_configs:
|
||||
- url: 'http://127.0.0.1:2410/universe'
|
||||
send_resolved: yes
|
||||
- name: 'lysergic'
|
||||
webhook_configs:
|
||||
- url: 'http://127.0.0.1:2410/universe'
|
||||
send_resolved: yes
|
||||
- url: http://127.0.0.2:8081/prometheus/webhook
|
||||
send_resolved: yes
|
||||
email_configs:
|
||||
- to: '$MAIL_SYSTEM'
|
||||
from: '$MAIL_ALERTMANAGER'
|
||||
require_tls: false
|
||||
smarthost: '127.0.0.1:25'
|
||||
send_resolved: yes
|
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
After=network.target
|
||||
Description=Alertmanager IRC Relay for LibertaCasa
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=alertmanager-irc
|
||||
Group=alertmanager-irc
|
||||
WorkingDirectory=/opt/alertmanager-irc
|
||||
Restart=always
|
||||
ExecStart=/opt/alertmanager-irc/alertmanager-irc-relay --config /etc/prometheus/alertmanager-irc-libertacasa.yaml
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -0,0 +1,32 @@
|
||||
http_host: 127.0.0.1
|
||||
http_port: 2410
|
||||
|
||||
irc_host: irc.liberta.casa
|
||||
irc_port: 6697
|
||||
irc_host_password: watchdog:$PASS
|
||||
|
||||
irc_nickname: watchdog
|
||||
# Password used to identify with NickServ
|
||||
#irc_nickname_password: $NSPASS
|
||||
# Use this IRC real name
|
||||
irc_realname: Alertmanager on mercury.lysergic.dev
|
||||
|
||||
irc_channels:
|
||||
- name: "#universe"
|
||||
password: $JTOKEN
|
||||
# - name: "#admins"
|
||||
|
||||
msg_once_per_alert_group: no
|
||||
use_privmsg: yes
|
||||
msg_template: "Severity: {{ .Labels.severity }} - Job: {{ .Labels.job }} - Title: {{ .Annotations.title}} - Body: {{ .Annotations.description }} - Summary: {{ .Labels.alertname }} on {{ .Labels.instance }} is {{ .Status }}"
|
||||
# Note: When sending only one message per alert group the default
|
||||
# msg_template is set to
|
||||
# "Alert {{ .GroupLabels.alertname }} for {{ .GroupLabels.job }} is {{ .Status }}"
|
||||
|
||||
# Set the internal buffer size for alerts received but not yet sent to IRC.
|
||||
alert_buffer_size: 2048
|
||||
|
||||
nickserv_identify_patterns:
|
||||
- "identify via /msg NickServ identify <password>"
|
||||
- "type /msg NickServ IDENTIFY password"
|
||||
- "authenticate yourself to services with the IDENTIFY command"
|
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
After=network.target
|
||||
Description=Alertmanager IRC Relay for TripSit
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=alertmanager-irc
|
||||
Group=alertmanager-irc
|
||||
WorkingDirectory=/opt/alertmanager-irc
|
||||
Restart=always
|
||||
ExecStart=/opt/alertmanager-irc/alertmanager-irc-relay --config /etc/prometheus/alertmanager-irc-tripsit.yaml
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
@ -0,0 +1,30 @@
|
||||
http_host: 127.0.0.1
|
||||
http_port: 2420
|
||||
|
||||
irc_host: newirc.tripsit.me
|
||||
irc_port: 6697
|
||||
|
||||
irc_nickname: watchdog
|
||||
# Password used to identify with NickServ
|
||||
irc_nickname_password: $NSPASS
|
||||
# Use this IRC real name
|
||||
irc_realname: Infrastructure Monitoring
|
||||
|
||||
irc_channels:
|
||||
- name: "#_systems"
|
||||
- name: "#tripsit-dev"
|
||||
|
||||
msg_once_per_alert_group: no
|
||||
use_privmsg: yes
|
||||
msg_template: "ALERT: {{ .Labels.alertname }} on {{ .Labels.instance }} is {{ .Status }}"
|
||||
# Note: When sending only one message per alert group the default
|
||||
# msg_template is set to
|
||||
# "Alert {{ .GroupLabels.alertname }} for {{ .GroupLabels.job }} is {{ .Status }}"
|
||||
|
||||
# Set the internal buffer size for alerts received but not yet sent to IRC.
|
||||
alert_buffer_size: 2048
|
||||
|
||||
nickserv_identify_patterns:
|
||||
- "identify via /msg NickServ identify <password>"
|
||||
- "type /msg NickServ IDENTIFY password"
|
||||
- "authenticate yourself to services with the IDENTIFY command"
|
36
blackbox_exporter/blackbox.yml
Normal file
36
blackbox_exporter/blackbox.yml
Normal file
@ -0,0 +1,36 @@
|
||||
modules:
|
||||
http_2xx:
|
||||
prober: http
|
||||
timeout: 10s
|
||||
http:
|
||||
preferred_ip_protocol: "ipv4"
|
||||
http_post_2xx:
|
||||
prober: http
|
||||
http:
|
||||
method: POST
|
||||
tcp_connect:
|
||||
prober: tcp
|
||||
pop3s_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- expect: "^+OK"
|
||||
tls: true
|
||||
tls_config:
|
||||
insecure_skip_verify: false
|
||||
ssh_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- expect: "^SSH-2.0-"
|
||||
irc_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- send: "NICK prober"
|
||||
- send: "USER prober prober prober :prober"
|
||||
- expect: "PING :([^ ]+)"
|
||||
send: "PONG ${1}"
|
||||
- expect: "^:[^ ]+ 001"
|
||||
icmp:
|
||||
prober: icmp
|
13
blackbox_exporter/blackbox_exporter.service
Normal file
13
blackbox_exporter/blackbox_exporter.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Prometheus Blackbox Exporter
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=blackbox_exporter
|
||||
Group=prometheus
|
||||
ExecStart=/opt/blackbox_exporter/blackbox_exporter --config.file=/etc/prometheus/blackbox.yml --web.external-url=https://prometheus.lysergic.dev:4433/blackbox --web.route-prefix=/
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
nginx_exporter/README.md
Normal file
1
nginx_exporter/README.md
Normal file
@ -0,0 +1 @@
|
||||
We are using this one: https://github.com/nginxinc/nginx-prometheus-exporter
|
12
nginx_exporter/nginx_exporter.service
Normal file
12
nginx_exporter/nginx_exporter.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Nginx Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=nginx_exporter
|
||||
Group=prometheus
|
||||
Type=simple
|
||||
ExecStart=/opt/nginx_exporter/nginx-prometheus-exporter -nginx.scrape-uri=http://127.0.0.2:8080/stub_status
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
node_exporter/node_exporter.service
Normal file
12
node_exporter/node_exporter.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Prometheus Node Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=node_exporter
|
||||
Group=prometheus
|
||||
Type=simple
|
||||
ExecStart=/opt/node_exporter/node_exporter
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
wireguard_exporter/README.md
Normal file
1
wireguard_exporter/README.md
Normal file
@ -0,0 +1 @@
|
||||
We are using this one: https://github.com/mdlayher/wireguard_exporter
|
11
wireguard_exporter/wireguard_exporter.service
Normal file
11
wireguard_exporter/wireguard_exporter.service
Normal file
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Prometheus WireGuard Exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
ExecStart=/usr/local/bin/wireguard_exporter -wireguard.peer-file /etc/wireguard/peers.toml
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user