Tink vs kube-state-metrics
kube-state-metrics watches the Kubernetes API and turns pods, nodes, and deployments into Prometheus series. That is not a mechanic. Tink installs in one command, watches the Linux server, explains what is wrong, and helps you fix it.
kube-state-metrics mirrors objects. Tink answers “why is this VPS sick?”
Accidental sysadmins land on kube-state-metrics because every kube-prometheus diagram includes it. Then the volume fills, nginx dies, and the cluster gauges stay green — the VPS was never an object. A filling /var is a Tink warning; it is not a kube-state-metrics job unless Kubernetes already knew.
Tink is the other job: detect the issue on the machine, say why it happened in plain English, propose the command, and run it only after you approve. Keep kube-state-metrics if you already operate Kubernetes and need object-state series. Use Tink if you run Linux servers and want a mechanic.
| Feature | Tink | kube-state-metrics |
|---|---|---|
| Setup time | 30 seconds (one curl | sh command) | Hours — cluster RBAC, a Deployment, a Service, Prometheus scrape, and dashboards for kube_pod_* series |
| What you get | Working monitoring, diagnosis, and approved fixes | Object gauges. The box is still yours to diagnose and SSH |
| Pricing | Free (Scout) / $9 / $29 per machine per month | Free software (Apache 2.0). You still pay for Kubernetes, Prometheus, Grafana, and the engineer who owns the ClusterRole |
| Hidden costs | None — fully managed | API watch load, allow-lists, metric cardinality, and a second tool that actually watches the Linux host |
| Monitoring approach | Agent on the server — CPU, disk, services, logs, certs, ports | None on the OS — kube-state-metrics only mirrors Kubernetes objects the API already knows |
| Configuration | None after install — heuristics and AI | resources, namespaces, metric-allowlists, and which kube_deployment_* series you actually graph |
| Plain-English diagnosis | Yes — AI explains root cause, impact, and fix | No — kube-state-metrics serves labels. You still kubectl describe to learn why |
| Fix execution | Proposes and executes approved commands with an audit trail | Metrics only — kube-state-metrics cannot free disk, restart nginx, or rotate a cert |
| Alerting | Built-in across 8 channels | None — Prometheus must scrape it and a PromQL rule must fire before anyone is paged |
| Predictive alerts | Yes — disk fills in ~6 days, memory and CPU trends | Only if you already wrote a PromQL forecast on object gauges. kube-state-metrics does not predict |
| SSH brute-force detection | Built-in — parses auth.log every scan | Never — kube-state-metrics does not read auth.log, journald, or host firewall state |
| Machine offline detection | Agent presence monitoring with multi-channel alerts | A Ready=False node is a condition gauge — only if the API server still answers and Prometheus still scrapes |
| Public status page | Shareable URL with 90-day history | None — kube-state-metrics has no customer-facing status page |
| Weekly fleet digest | Automated Monday digest + daily brief when issues are open | None — a kube_pod_status_phase dump is not a plain-English fleet narrative |
| On-call tracking | Built-in /oncall command + incident acknowledgment | Not included — wire Prometheus into PagerDuty or another incident tool |
| Conversation interface | Telegram, WhatsApp, web dashboard, CLI | /metrics on :8080. No mechanic you text when /var filled on a VPS that is not in the cluster |
| Learning curve | None — works after install | Steep — Kubernetes, RBAC, Prometheus, PromQL, and which object metrics actually mean the box is sick |
| Best for | Freelancers, small teams, accidental sysadmins (1-50 Linux servers) | Teams that already run Kubernetes and need object-state series, not a sick-VPS mechanic |
When kube-state-metrics is the right choice
Keep kube-state-metrics when you already want that exact job:
- Kubernetes object state — you need kube_pod_status_phase and replica counts, not a mechanic on a quiet VPS.
- An existing kube-prometheus stack — RBAC, scrape, and Grafana dashboards already exist, and someone owns cardinality.
- Cluster-level questions — CrashLoopBackOff, Pending, and Ready=False matter more than host nginx, certs, and SSH.
- Hosts that only exist as Nodes — you already run Kubernetes, not a sick-box SSH loop.
The real cost of “just run kube-state-metrics”
kube-state-metrics is in every Kubernetes monitoring diagram. A working ops loop for five Linux boxes is not:
- A kube_node_status_condition gauge still means you SSH in and change the box by hand
- Host fill, nginx, certs, and SSH brute-force never appear unless they are Kubernetes objects Prometheus already scraped
- A filling /var is a Tink disk warning on every scan — kube-state-metrics will stay quiet until the API already knew
- A single VPS with no cluster still needs a mechanic, not a ClusterRole
For a 5-server team, Tink Mechanic at $45/month is cheaper than kube-state-metrics plus the engineer who keeps Prometheus scrapes and RBAC alive, and every scan includes a diagnosis a quiet :8080 /metrics dump will not type.
No ClusterRole homework. No silent host. One command install.
Start MechanicAlso compare: Tink vs Prometheus · Tink vs cAdvisor · Tink vs Node Exporter