105 lines
2.6 KiB
YAML
105 lines
2.6 KiB
YAML
|
---
|
||
|
apiVersion: monitoring.coreos.com/v1
|
||
|
kind: Probe
|
||
|
metadata:
|
||
|
name: mikrotik
|
||
|
spec:
|
||
|
bearerTokenSecret:
|
||
|
name: mikrotik-exporter
|
||
|
key: PROMETHEUS_BEARER_TOKEN
|
||
|
prober:
|
||
|
path: /metrics
|
||
|
url: mikrotik-exporter
|
||
|
targets:
|
||
|
staticConfig:
|
||
|
static:
|
||
|
- router.mgmt.k-space.ee
|
||
|
- sw_chaos.mgmt.k-space.ee
|
||
|
- sw_poe.mgmt.k-space.ee
|
||
|
- sw_mgmt.mgmt.k-space.ee
|
||
|
- sw_core02.mgmt.k-space.ee
|
||
|
- sw_cyber.mgmt.k-space.ee
|
||
|
- sw_ha.mgmt.k-space.ee
|
||
|
- sw_asocial.mgmt.k-space.ee
|
||
|
- sw_kitchen.mgmt.k-space.ee
|
||
|
- sw_core01.mgmt.k-space.ee
|
||
|
---
|
||
|
apiVersion: monitoring.coreos.com/v1
|
||
|
kind: PrometheusRule
|
||
|
metadata:
|
||
|
name: mikrotik
|
||
|
spec:
|
||
|
groups:
|
||
|
- name: mikrotik
|
||
|
rules:
|
||
|
- alert: MikrotikUplinkRedundancyLost
|
||
|
expr: mikrotik_interface_running{port=~"sfp-sfpplus[12]", instance!~"sw_core.*", instance!~"sw_mgmt.*"} == 0
|
||
|
for: 0m
|
||
|
labels:
|
||
|
severity: error
|
||
|
annotations:
|
||
|
summary: Switch uplink high availability lost
|
||
|
description: One of the two 10Gb optical links is malfunctioning
|
||
|
- alert: MikrotikLinkRateDegraded
|
||
|
expr: mikrotik_interface_rate{port=~"sfp-sfpplus.*"} < 10000000000
|
||
|
for: 0m
|
||
|
labels:
|
||
|
severity: error
|
||
|
annotations:
|
||
|
summary: 10Gb link degraded
|
||
|
description: One of the 10Gb links is running at lower speed
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
name: mikrotik-exporter
|
||
|
spec:
|
||
|
revisionHistoryLimit: 0
|
||
|
replicas: 2
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
app: mikrotik-exporter
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
app: mikrotik-exporter
|
||
|
annotations:
|
||
|
co.elastic.logs/multiline.pattern: '^ '
|
||
|
co.elastic.logs/multiline.negate: "false"
|
||
|
co.elastic.logs/multiline.match: after
|
||
|
spec:
|
||
|
containers:
|
||
|
- name: mikrotik-exporter
|
||
|
image: harbor.k-space.ee/k-space/mikrotik-exporter:latest
|
||
|
env:
|
||
|
- name: MIKROTIK_USER
|
||
|
value: netpoller
|
||
|
envFrom:
|
||
|
- secretRef:
|
||
|
name: mikrotik-exporter
|
||
|
nodeSelector:
|
||
|
dedicated: monitoring
|
||
|
tolerations:
|
||
|
- key: dedicated
|
||
|
operator: Equal
|
||
|
value: monitoring
|
||
|
effect: NoSchedule
|
||
|
affinity:
|
||
|
podAntiAffinity:
|
||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||
|
- topologyKey: "kubernetes.io/hostname"
|
||
|
---
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: mikrotik-exporter
|
||
|
spec:
|
||
|
type: ClusterIP
|
||
|
ports:
|
||
|
- name: http
|
||
|
port: 80
|
||
|
protocol: TCP
|
||
|
targetPort: 3001
|
||
|
selector:
|
||
|
app: mikrotik-exporter
|