forked from k-space/kube
		
	
		
			
				
	
	
		
			120 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| apiVersion: monitoring.coreos.com/v1
 | |
| kind: Probe
 | |
| metadata:
 | |
|   name: mikrotik
 | |
| spec:
 | |
|   basicAuth:
 | |
|     username:
 | |
|       name: mikrotik-exporter
 | |
|       key: username
 | |
|     password:
 | |
|       name: mikrotik-exporter
 | |
|       key: password
 | |
|   prober:
 | |
|     url: mikrotik-exporter
 | |
|   module: full
 | |
|   targets:
 | |
|     staticConfig:
 | |
|       static:
 | |
|         - 172.23.0.1     # router
 | |
|         - 172.23.0.100   # sw_mgmt
 | |
|         - 100.102.1.111  # sw_core01
 | |
|         - 100.102.1.112  # sw_core02
 | |
|         - 100.102.1.114  # sw_server_poe
 | |
|         - 100.102.1.115  # sw_server_ha
 | |
|         - 100.102.1.121  # sw_chaos
 | |
|         - 100.102.1.131  # sw_kitchen
 | |
|         - 100.102.1.141  # sw_cyber
 | |
|         - 100.102.1.151  # sw_asocial
 | |
| ---
 | |
| apiVersion: monitoring.coreos.com/v1
 | |
| kind: PrometheusRule
 | |
| metadata:
 | |
|   name: mikrotik
 | |
| spec:
 | |
|   groups:
 | |
|   - name: mikrotik
 | |
|     rules:
 | |
|     - alert: MikrotikBondRedundancyLost
 | |
|       expr: mikrotik_bond_port_active == 0
 | |
|       for: 2m
 | |
|       labels:
 | |
|         severity: error
 | |
|       annotations:
 | |
|         summary: Switch uplink high availability lost
 | |
|         description: One of the two bonds has inactive member interface
 | |
|     - alert: MikrotikLinkRateDegraded
 | |
|       expr: mikrotik_interface_link_rate_bps{interface=~"sfp-sfpplus.*"} < 10000000000
 | |
|       for: 2m
 | |
|       labels:
 | |
|         severity: error
 | |
|       annotations:
 | |
|         summary: SFP+ link degraded
 | |
|         description: One of the SFP+ (10G) links is running at lower speed
 | |
|     - alert: MikrotikLinkRateDegraded
 | |
|       expr: mikrotik_interface_link_rate_bps{interface=~"qsfpplus.*"} < 40000000000
 | |
|       for: 2m
 | |
|       labels:
 | |
|         severity: error
 | |
|       annotations:
 | |
|         summary: QSFP+ link degraded
 | |
|         description: One of the QSFP+ (40G) 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
 | |
|     spec:
 | |
|       containers:
 | |
|         - name: mikrotik-exporter
 | |
|           image: mirror.gcr.io/codemowers/mikrotik-exporter:latest@sha256:895ed4a96364aa6f37aa049eb7882779529dce313360e78b01dee7d6f9b3e0bb
 | |
|       topologySpreadConstraints:
 | |
|         - maxSkew: 1
 | |
|           topologyKey: topology.kubernetes.io/zone
 | |
|           whenUnsatisfiable: DoNotSchedule
 | |
|           labelSelector:
 | |
|             matchLabels:
 | |
|               app: mikrotik-exporter
 | |
|       nodeSelector:
 | |
|         node-role.kubernetes.io/control-plane: ''
 | |
|       tolerations:
 | |
|         - key: node-role.kubernetes.io/control-plane
 | |
|           operator: Equal
 | |
|           value: ''
 | |
|           effect: NoSchedule
 | |
|       affinity:
 | |
|         podAntiAffinity:
 | |
|           requiredDuringSchedulingIgnoredDuringExecution:
 | |
|             - labelSelector:
 | |
|                 matchExpressions:
 | |
|                   - key: app
 | |
|                     operator: In
 | |
|                     values:
 | |
|                       - mikrotik-exporter
 | |
|               topologyKey: "kubernetes.io/hostname"
 | |
| ---
 | |
| kind: Service
 | |
| apiVersion: v1
 | |
| metadata:
 | |
|   name: mikrotik-exporter
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   ports:
 | |
|     - name: http
 | |
|       port: 80
 | |
|       protocol: TCP
 | |
|       targetPort: 8728
 | |
|   selector:
 | |
|     app: mikrotik-exporter
 |