Versión de la integración3.0.0
Esta integración monitoriza Sidekiq a través de DogStatsD. Recopila métricas a través de el cliente DogStatsD Ruby de Datadog.
Nota Solo los usuarios de Sidekiq Pro (>= 3.6) o Enterprise (>= 1.1.0) pueden recopilar métricas.
Configuración
Instalación
La integración de Sidekiq viene en el paquete del Datadog Agent.
No es necesaria ninguna instalación adicional en tu servidor.
Configuración
Instala el gem dogstatsd-ruby
:
gem install dogstatsd-ruby
Habilita la recopilación de métricas de Sidekiq Pro incluyendo esto en tu inicializador; para un despliegue en contenedores, actualiza localhost
a tu dirección del contenedor del Agent:
require 'datadog/statsd' # gem 'dogstatsd-ruby'
Sidekiq::Pro.dogstatsd = ->{ Datadog::Statsd.new('localhost', 8125, namespace:'sidekiq') }
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
require 'sidekiq/middleware/server/statsd'
chain.add Sidekiq::Middleware::Server::Statsd
end
end
Si utilizas Sidekiq Enterprise y deseas recopilar métricas históricas, incluye también esta línea:
Sidekiq.configure_server do |config|
# history is captured every 30 seconds by default
config.retain_history(30)
end
Consulta la documentación de Sidekiq Pro y Enterprise para obtener más información y la documentación de DogStatsD Ruby para obtener más opciones de configuración.
Actualiza el archivo de configuración principal del Datadog Agent datadog.yaml
añadiendo las siguientes configuraciones:
# dogstatsd_mapper_cache_size: 1000 # default to 1000
dogstatsd_mapper_profiles:
- name: sidekiq
prefix: "sidekiq."
mappings:
- match: 'sidekiq\.sidekiq\.(.*)'
match_type: "regex"
name: "sidekiq.$1"
- match: 'sidekiq\.jobs\.(.*)\.perform'
name: "sidekiq.jobs.perform"
match_type: "regex"
tags:
worker: "$1"
- match: 'sidekiq\.jobs\.(.*)\.(count|success|failure)'
name: "sidekiq.jobs.worker.$2"
match_type: "regex"
tags:
worker: "$1"
Estos parámetros también pueden establecerse añadiendo la variable de entorno DD_DOGSTATSD_MAPPER_PROFILES
al Datadog Agent.
Reinicia el Agent.
Datos recopilados
Métricas
| |
---|
sidekiq.batches.complete (count) | Count of when a batch is completed |
sidekiq.batches.created (count) | Count of when a batch is created |
sidekiq.batches.success (count) | Count of when a batch is successful |
sidekiq.busy (count) | Total Busy Size (Enterprise only) Shown as job |
sidekiq.dead (count) | Total Dead Size (Enterprise only) Shown as job |
sidekiq.enqueued (count) | Total size of all known queues (Enterprise only) Shown as job |
sidekiq.failed (count) | Number of job executions which raised an error (Enterprise only) Shown as job |
sidekiq.jobs.count (count) | Total count of Sidekiq jobs Shown as job |
sidekiq.jobs.expired (count) | Count of when a job is expired Shown as job |
sidekiq.jobs.failure (count) | Total count of failed Sidekiq jobs Shown as job |
sidekiq.jobs.perform.95percentile (gauge) | 95th percentile of amount of time spent in a worker Shown as millisecond |
sidekiq.jobs.perform.avg (gauge) | Average amount of time spent in a worker Shown as millisecond |
sidekiq.jobs.perform.count (count) | The number of times that the amount of time spent in a worker was measured |
sidekiq.jobs.perform.max (gauge) | Max amount of time spent in a worker Shown as millisecond |
sidekiq.jobs.perform.median (gauge) | Median amount of time spent in a worker Shown as millisecond |
sidekiq.jobs.recovered.fetch (count) | Count of when a job is recovered by super_fetch after process crash Shown as job |
sidekiq.jobs.recovered.push (count) | Count of when a job is recovered by reliable_push after network outage Shown as job |
sidekiq.jobs.success (count) | Total count of successful Sidekiq jobs Shown as job |
sidekiq.jobs.worker.count (count) | Count of Sidekiq jobs Shown as job |
sidekiq.jobs.worker.failure (count) | Count of failed Sidekiq jobs Shown as job |
sidekiq.jobs.worker.success (count) | Count of successful Sidekiq jobs Shown as job |
sidekiq.processed (count) | Number of job executions completed (success or failure) (Enterprise only) Shown as job |
sidekiq.retries (count) | Total retries size (Enterprise only) Shown as job |
sidekiq.scheduled (count) | Total Scheduled Size (Enterprise only) Shown as job |
The Sidekiq integration also allows custom metrics, see Sidekiq Enterprise Historical Metrics.
La integración de Sidekiq también permite métricas personalizadas, consulta Métricas históricas de Sidekiq Enterprise.
Recopilación de logs
La recopilación de logs está desactivada por defecto en el Datadog Agent. Habilítalo en el archivo datadog.yaml
con:
Añade este bloque de configuración a tu archivo sidekiq.d/conf.yaml
para empezar a recopilar tus logs de Sidekiq:
logs:
- type: file
path: /var/log/sidekiq.log
source: sidekiq
service: <SERVICE>
Cambia los valores de los parámetros path
y service
y configúralos para tu entorno. Si no encuentras tus logs, consulta registro de Sidekiq.
Reinicia el Agent.
Checks de servicio
Sidekiq no incluye ningún check de servicio.
Eventos
Sidekiq no incluye ningún evento.
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.