blob: 21fa9b8c2775876fad26bed6b1f204e325c42b69 [file] [log] [blame]
- name: Deploy exporter
kubernetes.core.k8s:
state: present
definition:
- apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ethtool-exporter
namespace: monitoring
labels:
application: ethtool-exporter
spec:
updateStrategy:
rollingUpdate:
maxUnavailable: 100%
selector:
matchLabels:
application: ethtool-exporter
template:
metadata:
labels:
application: ethtool-exporter
job: ethtool
spec:
hostNetwork: true
terminationGracePeriodSeconds: 0
containers:
- name: ethtool-exporter
env:
- name: IP
valueFrom:
fieldRef:
fieldPath: status.podIP
image: quay.io/vexxhost/ethtool-exporter:{{ prometheus_ethtool_exporter_image_tag }}
args:
- "-L"
- "$(IP)"
- "-p"
- "9417"
- "-I"
- "(eth|em|eno|ens|enp)[0-9s]+"
ports:
- name: metrics
containerPort: 9417
- apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: ethtool-exporter
namespace: monitoring
labels:
application: ethtool-exporter
release: kube-prometheus-stack
spec:
jobLabel: job
podMetricsEndpoints:
- port: metrics
path: /metrics
relabelings:
- sourceLabels: ["__meta_kubernetes_pod_node_name"]
targetLabel: instance
- action: labeldrop
regex: ^(container|endpoint|namespace|pod)$
selector:
matchLabels:
application: ethtool-exporter
- apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: ethtool-exporter
namespace: monitoring
labels:
application: ethtool-exporter
release: kube-prometheus-stack
spec:
groups:
- name: rules
rules:
- alert: EthernetReceiveDiscards
expr: rate(node_net_ethtool{type="rx_discards"}[1m]) > 0
labels:
severity: warning