// metrics/metrics.go package metrics import "github.com/prometheus/client_golang/prometheus" var ( // Cuántas veces se ejecutó exitosamente cada job CronSuccess = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "cron_job_success_total", Help: "Total de ejecuciones exitosas por cron job", }, []string{"job"}, ) // Cuántas veces falló CronError = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "cron_job_error_total", Help: "Total de errores por cron job", }, []string{"job"}, ) // Tiempo de ejecución de cada job CronDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "cron_job_duration_seconds", Help: "Duración de ejecución por cron job", Buckets: prometheus.DefBuckets, }, []string{"job"}, ) // Última ejecución exitosa (timestamp Unix) CronLastSuccess = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Name: "cron_job_last_success_timestamp", Help: "Timestamp de la última ejecución exitosa por cron job", }, []string{"job"}, ) // Último error (timestamp Unix) CronLastError = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Name: "cron_job_last_error_timestamp", Help: "Timestamp del último error por cron job", }, []string{"job"}, ) ) func Register() { prometheus.MustRegister(CronSuccess, CronError, CronDuration, CronLastSuccess, CronLastError) }