mirror of
https://github.com/luxfi/dex.git
synced 2026-09-24 00:26:31 +00:00
90 lines
2.6 KiB
YAML
90 lines
2.6 KiB
YAML
apiVersion: v1
|
|
kind: ServiceMonitor
|
|
metadata:
|
|
name: lxdex-metrics
|
|
namespace: lxdex-production
|
|
labels:
|
|
app: lxdex
|
|
prometheus: kube-prometheus
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: lxdex
|
|
component: node
|
|
endpoints:
|
|
- port: metrics
|
|
interval: 30s
|
|
path: /metrics
|
|
scheme: http
|
|
relabelings:
|
|
- sourceLabels: [__meta_kubernetes_pod_name]
|
|
targetLabel: pod
|
|
- sourceLabels: [__meta_kubernetes_pod_node_name]
|
|
targetLabel: node
|
|
---
|
|
apiVersion: monitoring.coreos.com/v1
|
|
kind: PrometheusRule
|
|
metadata:
|
|
name: lxdex-alerts
|
|
namespace: lxdex-production
|
|
labels:
|
|
prometheus: kube-prometheus
|
|
role: alert-rules
|
|
spec:
|
|
groups:
|
|
- name: lxdex.rules
|
|
interval: 30s
|
|
rules:
|
|
- alert: LXDexHighLatency
|
|
expr: histogram_quantile(0.99, lx_matching_latency_seconds_bucket) > 0.001
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "High order matching latency on {{ $labels.pod }}"
|
|
description: "99th percentile latency is {{ $value }}s (threshold: 1ms)"
|
|
|
|
- alert: LXDexLowThroughput
|
|
expr: rate(lx_orders_processed_total[5m]) < 1000000
|
|
for: 10m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Low order throughput on {{ $labels.pod }}"
|
|
description: "Processing only {{ $value }} orders/sec (target: 1M+)"
|
|
|
|
- alert: LXDexNodeDown
|
|
expr: up{job="lxdex"} == 0
|
|
for: 1m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "LXDex node {{ $labels.instance }} is down"
|
|
description: "Node has been unreachable for more than 1 minute"
|
|
|
|
- alert: LXDexConsensusFailure
|
|
expr: lx_consensus_failures_total > 0
|
|
for: 1m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Consensus failures detected"
|
|
description: "{{ $value }} consensus failures in the last minute"
|
|
|
|
- alert: LXDexHighMemoryUsage
|
|
expr: container_memory_usage_bytes{pod=~"lxdex-node-.*"} / container_spec_memory_limit_bytes > 0.9
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "High memory usage on {{ $labels.pod }}"
|
|
description: "Memory usage is {{ $value | humanizePercentage }} of limit"
|
|
|
|
- alert: LXDexDiskSpaceLow
|
|
expr: kubelet_volume_stats_available_bytes{persistentvolumeclaim=~"data-lxdex-node-.*"} / kubelet_volume_stats_capacity_bytes < 0.1
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Low disk space on {{ $labels.persistentvolumeclaim }}"
|
|
description: "Only {{ $value | humanizePercentage }} disk space remaining" |