apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: factorio namespace: factorio labels: app.kubernetes.io/name: factorio spec: selector: matchLabels: app.kubernetes.io/name: factorio app.kubernetes.io/component: metrics endpoints: - port: metrics interval: 30s scrapeTimeout: 10s --- apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: factorio namespace: factorio labels: app.kubernetes.io/name: factorio spec: groups: - name: factorio rules: - alert: FactorioUnavailable expr: kube_deployment_status_replicas_available{namespace="factorio",deployment="factorio"} < 1 or absent(kube_deployment_status_replicas_available{namespace="factorio",deployment="factorio"}) for: 5m labels: severity: warning annotations: summary: Factorio has no ready server - alert: FactorioMetricsUnavailable expr: up{namespace="factorio",service="factorio-metrics"} == 0 or absent(up{namespace="factorio",service="factorio-metrics"}) for: 5m labels: severity: warning annotations: summary: Factorio metrics collection is failing - alert: FactorioRestarting expr: sum by (container) (increase(kube_pod_container_status_restarts_total{namespace="factorio"}[15m])) > 2 for: 5m labels: severity: warning annotations: summary: Factorio container is repeatedly restarting - alert: FactorioStorageAlmostFull expr: kubelet_volume_stats_available_bytes{namespace="factorio",persistentvolumeclaim="factorio-data"} / kubelet_volume_stats_capacity_bytes{namespace="factorio",persistentvolumeclaim="factorio-data"} < 0.15 for: 10m labels: severity: warning annotations: summary: Factorio save storage has less than 15% free - alert: FactorioGameNotResponding expr: factorio_server_up{namespace="factorio"} == 0 or absent(factorio_server_up{namespace="factorio"}) for: 3m labels: severity: warning annotations: summary: Factorio is not answering authenticated player queries - alert: FactorioPlayerCollectorStale expr: time() - factorio_collector_last_poll_timestamp_seconds{namespace="factorio"} > 60 for: 2m labels: severity: warning annotations: summary: Factorio player collector has stopped updating