# Single source of metric names for rules, dashboards, and demo-app.
# Larkspur Grocers is fictional. demo-app emits this catalog, including
# exporter-shaped and engine-shaped series, so `promtool check metrics`
# covers every name the rules use. It is a fixture, not a claim that the
# process is node_exporter, postgres_exporter, or the Prometheus engine.
#
# Names that promtool check metrics rejects are not used:
# node_exporter's camelCase MemAvailable/MemTotal, and a `_count` suffix
# on a non-histogram (pg_stat_activity_count). See README.md.
metrics:
- name: http_requests_total
type: counter
help: HTTP requests received by a Larkspur service.
labels: [service, code, route, slo]
- name: http_request_duration_seconds
type: histogram
help: HTTP request duration in seconds.
labels: [service, route, slo]
buckets: ["0.05", "0.1", "0.2", "0.3", "0.5", "1", "2.5", "5", "+Inf"]
- name: payments_queue_oldest_age_seconds
type: gauge
help: Age of the oldest message on the payments queue, in seconds.
labels: [service]
- name: payments_queue_depth
type: gauge
help: Number of messages on the payments queue.
labels: [service]
- name: up
type: gauge
help: Whether the scrape target is up.
labels: [job, instance]
- name: node_cpu_seconds_total
type: counter
help: Seconds the CPUs spent in each mode.
labels: [instance, cpu, mode]
- name: node_memory_available_bytes
type: gauge
help: Memory available to the host, in bytes.
labels: [instance]
- name: node_memory_total_bytes
type: gauge
help: Total host memory, in bytes.
labels: [instance]
- name: node_filesystem_avail_bytes
type: gauge
help: Filesystem space available to non-root users, in bytes.
labels: [instance, mountpoint, fstype, device]
- name: node_filesystem_size_bytes
type: gauge
help: Filesystem size in bytes.
labels: [instance, mountpoint, fstype, device]
- name: pg_up
type: gauge
help: Whether the Postgres exporter can reach the database.
labels: [job, instance]
- name: pg_stat_activity_connections
type: gauge
help: Postgres connections in use. Fixture name; not pg_stat_activity_count.
labels: [job, instance]
- name: pg_settings_max_connections
type: gauge
help: Postgres max_connections setting.
labels: [job, instance]
- name: probe_success
type: gauge
help: Whether the blackbox probe succeeded.
labels: [job, instance]
- name: probe_ssl_earliest_cert_expiry
type: gauge
help: Unix time when the earliest presented certificate expires.
labels: [job, instance]
- name: prometheus_rule_evaluation_failures_total
type: counter
help: Rule evaluation failures. Emitted by the fixture so the name is checked.
labels: [job, instance]
- name: alertmanager_notifications_failed_total
type: counter
help: Failed Alertmanager notifications. Fixture series, not a live Alertmanager.
labels: [service]
- name: alertmanager_notifications_total
type: counter
help: Alertmanager notifications attempted. Fixture series, not a live Alertmanager.
labels: [service]
- name: ALERTS
type: gauge
help: Alert state gauge. The fixture emits it so dashboards and check metrics can see the name. The demo process does not evaluate alerting rules.
labels: [alertname, alertstate, severity, service, team]