feat(ethtool): add podmonitor + basic rules
diff --git a/roles/prometheus_ethtool_exporter/tasks/main.yml b/roles/prometheus_ethtool_exporter/tasks/main.yml
index ea1967c..95a7290 100644
--- a/roles/prometheus_ethtool_exporter/tasks/main.yml
+++ b/roles/prometheus_ethtool_exporter/tasks/main.yml
@@ -17,6 +17,7 @@
             metadata:
               labels:
                 application: ethtool-exporter
+                job: ethtool
             spec:
               hostNetwork: true
               containers:
@@ -34,17 +35,42 @@
                   ports:
                     - name: metrics
                       containerPort: 9417
-      # - apiVersion: v1
-      #   kind: Service
-      #   metadata:
-      #     name: ethtool-exporter
-      #     namespace: monitoring
-      #     labels:
-      #       application: ethtool-exporter
-      #   spec:
-      #     clusterIP: None
-      #     ports:
-      #       - name: metrics
-      #         port: 9417
-      #     selector:
-      #       application: ethtool-exporter
+
+      - 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