
Présentation
Ce check recueille des métriques Varnish sur les éléments suivants :
- Clients : connexions et requêtes
- Performances du cache : hits, expulsions, etc.
- Threads : créations, échecs et threads en attente
- Backends : connexions réussies, échouées et réessayées
Il envoie également des checks de service pour contrôler la santé de chaque backend.
Configuration
Installation
Le check Varnish est inclus avec le package de l’Agent Datadog. Vous n’avez donc rien d’autre à installer sur votre serveur.
Configuration
Host
Pour configurer ce check lorsque l’Agent est exécuté sur un host :
Préparer Varnish
Si vous utilisez Varnish 4.1+, ajoutez l’utilisateur système dd-agent
au groupe Varnish avec :
sudo usermod -G varnish -a dd-agent
Collecte de métriques
Modifiez le fichier varnish.d/conf.yaml
dans le dossier conf.d/
à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple varnish.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
init_config:
instances:
- varnishstat: /usr/bin/varnishstat
varnishadm: <PATH_TO_VARNISHADM_BIN>
Remarque : si vous ne définissez pas varnishadm
, l’Agent ne surveillera pas la santé du backend. Si vous le définissez, l’Agent doit être autorisé à exécuter le binaire en mode root. Ajoutez la ligne suivante à votre fichier /etc/sudoers
:
dd-agent ALL=(ALL) NOPASSWD:/usr/bin/varnishadm
Redémarrez l’Agent.
Collecte de logs
Disponible à partir des versions > 6.0 de l’Agent
Pour activer la journalisation de Varnish, supprimez la mise en commentaires de ce qui suit dans /etc/default/varnishncsa
:
Ajoutez le bloc suivant à la fin du même fichier :
LOG_FORMAT="{\"date_access\": \"%{%Y-%m-%dT%H:%M:%S%z}t\", \"network.client.ip\":\"%h\", \"http.auth\" : \"%u\", \"varnish.x_forwarded_for\" : \"%{X-Forwarded-For}i\", \"varnish.hit_miss\": \"%{Varnish:hitmiss}x\", \"network.bytes_written\": %b, \"http.response_time\": %D, \"http.status_code\": \"%s\", \"http.url\": \"%r\", \"http.ident\": \"%{host}i\", \"http.method\": \"%m\", \"varnish.time_first_byte\" : %{Varnish:time_firstbyte}x, \"varnish.handling\" : \"%{Varnish:handling}x\", \"http.referer\": \"%{Referer}i\", \"http.useragent\": \"%{User-agent}i\" }"
DAEMON_OPTS="$DAEMON_OPTS -c -a -F '${LOG_FORMAT}'"
Redémarrez l’utilitaire varnishncsa
pour appliquer les changements.
La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml
:
Ajoutez ce bloc de configuration à votre fichier varnish.d/conf.yaml
pour commencer à recueillir vos logs Varnish :
logs:
- type: file
path: /var/log/varnish/varnishncsa.log
source: varnish
service: varnish
Modifiez les valeurs des paramètres path
et service
et configurez-les pour votre environnement. Consultez le fichier d’exemple varnish.d/conf.yaml pour découvrir toutes les options de configuration disponibles.
Redémarrez l’Agent.
Environnement conteneurisé
La configuration du check Varnish en utilisant Autodiscovery dans les environnements conteneurisés n’est pas prise en charge. La collecte de métriques dans ce type d’environnement est envisageable en envoyant des métriques vers DogStatsD à l’aide du plug-in StatsD. Les plug-ins tiers suivants sont disponibles :
Validation
Lancez la sous-commande status de l’Agent et cherchez varnish
dans la section Checks.
Données collectées
Métriques
Événements
Le check Varnish n’inclut aucun événement.
Checks de service
varnish.backend_healthy :
L’Agent envoie ce check de service si vous configurez varnishadm
. Il envoie un check de service pour chaque backend Varnish, en appliquant à chaque fois le tag backend:<NOM_BACKEND>
.
Dépannage
Besoin d’aide ? Contactez l’assistance Datadog.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles :