Présentation
Cette intégration permet de surveiller Sidekiq via Dogstatsd. Les métriques sont recueillies par le client dogstatsd-ruby de Datadog.
Remarque : seuls les utilisateurs de Sidekiq Pro (>= 3.6) ou Enterprise (>= 1.1.0) peuvent recueillir des métriques.
Configuration
Installation
L’intégration Sidekiq est incluse avec le package de l’Agent Datadog.
Vous n’avez donc rien d’autre à installer sur votre serveur.
Configuration
Installez la gem dogstatsd-ruby
:
gem install dogstatsd-ruby
Pour activer la collecte de métriques de Sidekiq Pro, ajoutez le code suivant à votre initialiseur. Pour un déploiement conteneurisé, remplacez localhost
par l’adresse du conteneur de votre 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 vous utilisez Sidekiq Enterprise et que vous souhaitez recueillir des métriques historiques, ajoutez également cette ligne :
Sidekiq.configure_server do |config|
# history is captured every 30 seconds by default
config.retain_history(30)
end
Consultez la documentation sur Sidekiq Pro et Enterprise pour en savoir plus, ainsi que la documentation Dogstatsd Ruby (en anglais) pour découvrir d’autres options de configuration.
Modifiez le fichier de configuration principal de l’Agent Datadog datadog.yaml
pour y ajouter les paramètres suivants :
# 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"
Redémarrez l’Agent.
Données collectées
Métriques
L’intégration Sidekiq permet également la collecte de métriques custom. Consultez la documentation de Sidekiq (en anglais) pour trouver des idées de métriques custom.
Collecte de logs
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans le fichier datadog.yaml
avec :
Ajoutez ce bloc de configuration à votre fichier sidekiq.d/conf.yaml
pour commencer à recueillir vos logs Sidekiq :
logs:
- type: file
path: /var/log/sidekiq.log
source: sidekiq
service: <SERVICE>
Modifiez les valeurs des paramètres path
et service
et configurez-les pour votre environnement. Si vous ne parvenez pas à trouver vos logs, consultez la documentation de Sidekiq sur le fonctionnement des logs (en anglais).
Redémarrez l’Agent.
Checks de service
Sidekiq n’inclut aucun check de service.
Événements
Sidekiq n’inclut aucun événement.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.