Workflow: Application Onboarding
Step-by-step guide for onboarding applications to Prometheus monitoring — from choosing the right instrumentation strategy through endpoint validation, ServiceMonitor creation, and data verification.
When to Use
Use this workflow to:
- Instrument a custom application (Go, Java, Python, Node.js) for Prometheus
- Deploy an exporter for a third-party system (PostgreSQL, Redis, NGINX)
- Add VM/legacy targets via file_sd_configs
- Set up synthetic endpoint monitoring with Probe CRDs
Workflow 1: Kubernetes App Onboarding
Journey
Step-by-Step
| Step | Action | Tool / Resource | Key Parameters |
|---|---|---|---|
| 1 | Verify backend health | Resource: prom://system/backends/{backend_id} | Confirms connectivity, features, retention |
| 2 | Choose instrumentation strategy | prom_recommend_instrumentation(workload_type="custom_app", language="python", environment="kubernetes") | Returns: direct_instrumentation / exporter / builtin_metrics |
| 3 | Deploy instrumented app | (Manual) — add instrumentation, build, deploy to K8s | — |
| 4 | Validate /metrics endpoint | prom_test_endpoint(endpoint_url="http://my-app.default:8080/metrics") | Returns: ok, metrics_count, format, errors |
| 5 | Apply ServiceMonitor | prom_apply_servicemonitor(namespace="default", service_name="my-app") | Auto-detects Prometheus Operator selector labels |
| 6 | Discover new metrics | prom_explore_labels(backend_id="default", metric_name="http_requests_total") | Shows all label names and top values |
| 7 | Verify data flows | prom_query_instant(backend_id="default", query="rate(http_requests_total[5m])") | Confirms metrics are being ingested |
Guided Prompt: Use
prom-k8s-app-onboarding-guidedfor the full step-by-step flow with the AI.
Strategy Decision Matrix
| Workload | Language | Framework | Recommended Strategy |
|---|---|---|---|
| Custom app | Go/Java/Python/Node | — | direct_instrumentation |
| Custom app | Java | Spring Boot | builtin_metrics (Actuator/Micrometer) |
| PostgreSQL | — | — | exporter (postgres_exporter) |
| Redis | — | — | exporter (redis_exporter) |
| NGINX | — | — | exporter (nginx_exporter) |
Workflow 2: Exporter Onboarding (Third-Party Systems)
Journey
Step-by-Step
| Step | Action | Tool / Resource | Key Parameters |
|---|---|---|---|
| 1 | Browse catalog | Resource: prom://exporters/catalog | All exporters with ports, images, scopes |
| 2 | Get recommendation | prom_recommend_exporter(service_type="postgres") | Returns matching exporters + notes |
| 3 | Install exporter | prom_install_exporter(exporter_type="postgres_exporter", namespace="monitoring") | Creates Deployment + Service. MUTATES CLUSTER |
| 4 | Test endpoint | prom_test_endpoint(endpoint_url="http://postgres-exporter.monitoring:9187/metrics") | Validates Prometheus format |
| 5 | Apply ServiceMonitor | prom_apply_servicemonitor(namespace="monitoring", service_name="postgres-exporter") | Wires to Prometheus Operator |
| 6 | Verify end-to-end | prom_verify_exporter(backend_id="default", endpoint_url="...", job="postgres_exporter") | Polls endpoint + checks up{} series |
Guided Prompt: Use
prom-k8s-exporter-onboarding-guidedfor the full step-by-step flow.
Workflow 3: VM/Legacy Onboarding
For applications running on VMs or bare-metal servers. Uses file_sd_configs instead of ServiceMonitor.
| Step | Action | Tool | Key Parameters |
|---|---|---|---|
| 1 | Recommend strategy | prom_recommend_instrumentation(environment="vm") | Returns VM-specific guidance |
| 2 | Deploy on VM | (Manual) — install exporter binary or instrumented app | — |
| 3 | Test endpoint | prom_test_endpoint(endpoint_url="http://10.0.1.5:8080/metrics") | Validates remote endpoint |
| 4 | Add to file_sd | prom_manage_file_sd(targets=["10.0.1.5:8080"], target_labels={"job": "my-app"}) | Appends target + triggers /-/reload |
| 5 | Verify | prom_query_instant(query="up{job='my-app'}") | Confirms target is up |
Guided Prompt: Use
prom-vm-legacy-onboarding-guidedfor the full step-by-step flow.
Workflow 4: Synthetic Endpoint Monitoring (Probes)
For actively monitoring HTTP/TCP endpoint availability using Blackbox exporter + Probe CRDs.
| Step | Action | Tool | Key Parameters |
|---|---|---|---|
| 1 | Install Blackbox | prom_install_exporter(exporter_type="blackbox_exporter", namespace="monitoring") | Default http_2xx module configured |
| 2 | Apply Probe | prom_apply_probe(targets=["https://talkops.ai"], probe_name="talkops-probe") | Auto-detects operator selector labels |
| 3 | Verify | prom_query_instant(query="probe_success") | Confirms synthetic check is running |
Next Steps
- PromQL Querying — Safe query workflows with counter enforcement
- TSDB FinOps — Cardinality analysis and optimization
- Rule Management — Rule authoring, testing, and simulation
- Troubleshooting — Diagnosing failed scrape targets