• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Varnish monitoring Intégration du cache

L'intégration de Varnish Cache sur hôte collecte et envoie l'inventaire et les métriques de votre environnement Varnish Cache à New Relic afin que vous puissiez monitorer son état de santé. Nous collectons des métriques aux niveaux de l'instance, du verrouillage, du pool de mémoire, du stockage et du backend.

Lisez la suite pour installer l’intégration et voir quelles données nous collectons.

Compatibilité et exigences

Notre intégration est compatible avec Varnish Cache 1.0 ou supérieur.

Avant d’installer l’intégration, assurez-vous que vous répondez aux exigences suivantes :

Démarrage rapide

instrumentez votre environnement Varnish Cache rapidement et envoyez vos données télémétriques avec installation guidée. Notre installation guidée crée une commande CLI personnalisée pour votre environnement qui télécharge et installe la CLI New Relic et l'agent d'infrastructure.

Prêt à commencer ? Cliquez sur l'un de ces boutons pour l'essayer.

Installation guidée

Notre installation guidée utilise l'agent d'infrastructure pour configurer l'intégration de Varnish Cache. De plus, il détecte d’autres applications et sources log exécutées dans votre environnement, puis recommande celles que vous devez intrumenter.

L'installation guidée fonctionne avec la plupart des configurations. Mais si cela ne répond pas à vos besoins, vous pouvez trouver d'autres méthodes ci-dessous pour commencer monitoring votre environnement Varnish Cache.

Installer et activer

Pour installer l’intégration de Varnish Cache :

Notes supplémentaires :

Ce document vous a-t-il aidé lors de votre installation ?

Configurer l'intégration

La configuration au format YAML d'une intégration est l'endroit où vous pouvez placer les informations de connexion requises et configurer la manière dont les données sont collectées. Les options que vous modifiez dépendent de votre configuration et de vos préférences.

Le fichier configuration contient des paramètres communs applicables à toutes les intégrations telles que interval, timeout, inventory_source. Pour tout savoir sur ces paramètres courants, reportez-vous à notre document Format de configuration .

Important

Si vous utilisez toujours nos legacy fichiers configuration/définition, veuillez vous référer à ce document pour obtenir de l'aide.

Les paramètres spécifiques liés à Varnish sont définis à l'aide de la section env du fichier de configuration. Ces paramètres contrôlent la connexion à votre Varnish instance, ainsi que d'autres paramètres et fonctionnalités de sécurité. La liste des paramètres valides est décrite dans la section suivante.

Varnish instance Paramètres de cache de

L'intégration de Varnish Cache collecte à la fois les informations de métriques (M) et d'inventaire (I). Consultez la colonne Applies To ci-dessous pour savoir quels paramètres peuvent être utilisés pour chaque collection spécifique :

' '

Paramètre

Description

Défaut

S'applique à

INSTANCE_NAME

Nom défini par l'utilisateur pour identifier les données de cette instance dans New Relic. Required.

N/A

MI

PARAMS_CONFIG_FILE

L'emplacement du fichier de configuration varnish.params . Si cet argument est omis, les emplacements suivants seront vérifiés :

  • /etc/default/varnish/varnish.params

  • /etc/sysconfig/varnish/varnish.params

    Remarque : l’emplacement et le nom du fichier de configuration Varnish peuvent varier. Pour plus de détails, voir Différents emplacements du fichier de configuration Varnish. Pour Varnish 6 et versions ultérieures, ce paramètre n'est pas obligatoire et l'intégration doit être configurée pour la collecte de métriques uniquement. Voir l'exemple pour Varnish 6.

N/A

je

VARNISH_NAME

Nom utilisé lors de l'exécution du daemon varnishd avec un indicateur -n personnalisé. Optional.

N/A

M

METRICS

Définissez sur true pour activer la collecte de métriques uniquement.

false

INVENTORY

Définissez sur true pour activer la collecte d'inventaire uniquement.

false

Les commandes varnish-config.yml acceptent les arguments suivants :

Les valeurs de ces paramètres peuvent être définies de plusieurs manières :

  • Ajout de la valeur directement dans le fichier de configuration. C'est la manière la plus courante.
  • Remplacement des valeurs des variables d’environnement à l’aide de la notation {{}} . Cela nécessite l'agent d'infrastructure v1.14.0+. Lire la suite ici.
  • Utilisation de la gestion des secrets. Utilisez ceci pour protéger les informations sensibles, telles que les mots de passe qui seraient exposés en texte brut dans le fichier de configuration. Pour plus d'informations, voir Gestion des secrets.

Étiquettes/attributs personnalisés

Les variables d'environnement peuvent être utilisées pour contrôler les paramètres de configuration, tels que votre , et sont ensuite transmises à l'agent d'infrastructure. Pour obtenir des instructions sur l’utilisation de cette fonctionnalité, consultez Configurer l’agent d’infrastructure. Vous pouvez également décorer vos métriques à l’aide d’étiquettes. Les étiquettes vous permettent d'ajouter des paires valeur-clé à vos métriques que vous pouvez ensuite utiliser pour interroger, filtrer ou regrouper vos métriques.
Notre fichier de configuration d'exemple par défaut inclut des exemples d'étiquettes mais, comme ils ne sont pas obligatoires, vous pouvez supprimer, modifier ou ajouter de nouvelles étiquettes de votre choix.

labels:
env: production
role: varnish

Exemple de configuration

Exemple de configuration de fichier varnish-config.yml :

Pour en savoir plus sur la structure générale de l'intégration sur hôte configuration, voir configuration.

Rechercher et utiliser des données

Pour trouver vos données d’intégration dans New Relic, accédez à one.newrelic.com > All capabilities > Infrastructure > Third-party services et sélectionnez l’un des liens d’intégration Varnish Cache.

Dans New Relic, les données du cache Varnish sont attachées au type d'événement suivant :

  • VarnishSample
  • VarnishLockSample
  • VarnishStorageSample
  • VarnishMempoolSample
  • VarnishBackendSample

Pour en savoir plus sur la recherche et l’utilisation de vos données, consultez Comprendre les données d’intégration.

données métriques

L'intégration Varnish Cache collecte l'attribut de données métriques suivant. Chaque nom de métrique est préfixé par un indicateur de catégorie et un point, tel que bans. ou main..

Conseil

Un certain nombre de métriques sont calculées sous forme de taux (par seconde) au lieu de totaux comme les noms des métriques pourraient le suggérer. Pour plus de détails sur les métriques calculées en tant que taux, reportez-vous au fichier spec.csv.

Échantillon de Varnish métriques

Ces attributs peuvent être trouvés en interrogeant les types d'événements VarnishSample.

métrique

Description

backend.connectionBusy

Nombre de fois où la connexion maximale a été atteinte.

backend.connectionFails

Nombre de connexions échouées au serveur sauvegardé.

backend.connectionRecycles

Nombre de connexions backend qui ont été recyclées.

backend.connectionRetries

Nombre de connexions backend qui ont été retentées.

backend.connectionReuses

Nombre de réutilisations de connexions backend.

backend.connectionSuccess

Nombre de connexions backend réussies,

backend.connectionUnHealthy

Nombre de connexions backend qui n'ont pas été tentées en raison d'un statut backend « malsain ».

backend.fetches

Nombre total de récupérations backend initiées.

backend.requests

Nombre total de de backend connexion requests effectuées.

bans.added

Compteur d'interdictions ajouté à la liste des interdictions.

bans.completed

Nombre d'interdictions marquées comme « terminées ».

bans.cutoffLurkerKilled

Nombre d'objets tués par des interdictions pour coupure (lurker).

bans.deleted

Compteur d'interdictions supprimées de la liste des interdictions.

bans.dups

Nombre d'interdictions remplacées par des interdictions ultérieures identiques.

bans.fragmentationInBytes

Octets supplémentaires dans les listes d'interdiction persistantes en raison de la fragmentation.

bans.lookupKilled

Nombre d'objets tués par des interdictions lors de la recherche d'objets.

bans.lookupTestsTested

Nombre de tests et d'objets testés les uns par rapport aux autres pendant la recherche.

bans.lurkerCon

Nombre de fois où le ban-lurker a dû attendre des recherches.

bans.lurkerKilled

Nombre d'objets tués par le ban-lurker.

bans.lurkerTested

Compte du nombre d'interdictions et d'objets testés les uns contre les autres par le ban-lurker.

bans.lurkerTestsTested

Compte du nombre de tests et d'objets testés les uns contre les autres par le ban-lurker.

bans.obj

Nombre d'interdictions utilisant obj.* variables. Ces interdictions peuvent éventuellement être effacées par le ban-lurker.

bans.persistedInBytes

Octets utilisés par les listes d'interdiction persistantes.

bans.req

Nombre d'interdictions qui utilisent req.* variables. Ces interdictions ne peuvent pas être effacées par le ban-lurker.

bans.tested

Nombre d'interdictions et d'objets testés les uns contre les autres lors de la recherche Hacher.

cache.graceHits

Compte de taux d'accès au cache avec grâce. Un taux d'accès au cache avec grâce est un taux d'accès au cache où l'objet est expiré. Ces hits sont également inclus dans le compteur cache_hit .

cache.hits

Nombre de fois qu'un objet a été livré à un client sans être récupéré auprès d'un serveur backend.

cache.misses

Nombre de fois où l'objet a été récupéré depuis le backend avant de le livrer au client.

cache.missHits

Nombre de fois qu'un objet touché a été renvoyé pour une réponse manquée.

cache.passHits

Nombre de fois qu'un objet touché a été renvoyé pour une réponse de réussite.

esi.errors

Erreurs d'analyse Edge Side Included (ESI) (déverrouillage).

esi.warnings

Avertissements d'analyse Edge Side Included (ESI) (déverrouillage).

fetch.bad

La longueur/récupération beresp.body n'a pas pu être déterminée.

fetch.chuncked

Le beresp.body est fragmenté.

fetch.contentLength

Le beresp.body avec la longueur du contenu.

fetch.eof

Le beresp.body avec EOF.

fetch.failed

Le beresp a échoué.

fetch.head

Le beresp sans corps car la requête est HEAD.

fetch.noBody

Le beresp sans corps.

fetch.noBody1xx

Le beresp sans corps à cause de la réponse 1XX.

fetch.noBody204

Le beresp sans corps à cause de la réponse 204.

fetch.noBody304

Le beresp sans corps à cause de la réponse 304.

fetch.noThreadFail

La récupération beresp a échoué, aucun thread disponible.

hcb.inserts

Nombre d'inserts de hachage basés sur l'arbre de bits critiques (HCB).

hcb.lock

Nombre de recherches HCB avec verrou.

hcb.noLock

Nombre de recherches HCB sans verrou.

lru.limited

Un nombre de fois plus d'espace de stockage était nécessaire, mais la limite a été atteinte.

lru.moved

Nombre d'opérations de déplacement effectuées sur la liste LRU.

lru.nuked

Nombre d'objets les moins récemment utilisés (LRU) expulsés de force du stockage pour faire de la place à un nouvel objet.

main.backends

Nombre de backend.

main.bans

Nombre d'interdictions.

main.busyKilled

Nombre de requests tuées après une mise en veille sur un objhdr occupé.

main.busySleep

Nombre de requests envoyées pour dormir sur un objhdr occupé.

main.busyWakeup

Nombre de requests réveillées après une mise en veille sur un objhdr occupé.

main.expired

Nombre d'objets expirés.

main.expiredMailed

Nombre d'objets envoyés au fil d'expiration.

main.expiredReceived

Nombre d'objets reçus par thread d'expiration.

main.gunzip

Nombre d'opérations gunzip.

main.gunzipTest

Nombre d'opérations de test gunzip.

main.gzip

Nombre d'opérations gzip.

main.objectcores

Nombre de structures objectcore créées.

main.objectheads

Nombre de structures objectées créées.

main.objects

Nombre de structures d'objets créées.

main.passedRequests

Nombre total requests passées vues.

main.pipeSessions

Nombre total de séances de pipes observées.

main.pools

Nombre de pools de threads.

main.purgeObjects

Nombre d'objets purgés.

main.purgeOperations

Nombre d'opérations de purge exécutées.

main.reqDropped

Nombre de requests abandonnées.

main.sessions

Nombre total de séances vues.

main.sessQueueLength

Durée de la file d'attente de session en attente de threads.

main.summs

Nombre de fois où les statistiques par thread ont été additionnées dans les compteurs globaux.

main.syntheticResponses

Réponses synthétiques totales réalisées.

main.threads

Nombre total de threads.

main.threadsCreated

Nombre total de threads créés dans tous les pools.

main.threadsDestroyed

Nombre total de threads détruits dans tous les pools.

main.threadsFailed

Nombre de fois où la création d'un thread a échoué.

main.threadsLimited

Nombre de fois où davantage de threads ont été nécessaires, mais la limite a été atteinte dans un pool de threads.

main.unresurrectedObjects

Nombre d'objets non ressuscités.

main.uptimeInMilliseconds

Le temps de disponibilité du processus enfant, en millisecondes.

main.vclAvailable

Nombre de langages de configuration Varnish (VCL) disponibles.

main.vclDiscarded

Nombre de VCL rejetés.

main.vclFails

Nombre d'échecs VCL.

main.vclLoaded

Nombre total de VCL chargés.

main.vmodsLoaded

Nombre de modules Varnish chargés (VMOD).

mgt.childDied

Nombre de fois où le processus enfant est mort à cause de signaux.

mgt.childDump

Nombre de fois où le processus enfant a produit des vidages de mémoire.

mgt.childExit

Nombre de fois où le processus enfant a été arrêté proprement.

mgt.childPanic

Nombre de fois où le processus de gestion a pris un enfant en panique.

mgt.childStart

Nombre de fois que le processus enfant a été démarré.

mgt.childStop

Nombre de fois où le processus enfant a été arrêté proprement.

mgt.uptimeInMilliseconds

Le temps de disponibilité du processus de gestion, en millisecondes.

net.400Errors

Nombre de requests clients reçues, sujettes à 400 erreurs.

net.417Errors

Nombre de requests clients reçues, sujettes à des erreurs 417

net.httpOverflow

Nombre de débordements d'en-tête HTTP.

net.pipe.inInBytes

Nombre total d'octets transmis par les clients dans les sessions de pipeline.

net.pipe.outInBytes

Nombre total d'octets transmis aux clients dans les sessions de pipeline.

net.pipereq.headerInBytes

Nombre total d'octets de demande reçus pour les sessions canalisées.

net.request.bodyInBytes

Corps total de la requête transmis, en octets.

net.request.headerInBytes

Nombre total d'en-têtes de requête transmis, en octets.

net.requests

Nombre de bonnes requests de clients reçues.

net.response.bodyInBytes

Corps total de la réponse transmis, en octets.

net.response.headerInBytes

Nombre total d'en-têtes de réponse transmis, en octets.

sess.backendClose

Nombre de sessions fermées avec l'erreur RESP_CLOSE, (backend/VCL a demandé la fermeture).

sess.badClose

Nombre de sessions fermées avec l'erreur Error RX_BAD, (mauvaise demande/réponse reçue).

sess.bodyFailClose

Nombre de sessions fermées avec l'erreur Error RX_BODY, (Échec de réception de req.body).

sess.clientClose

Nombre de sessions fermées avec l'erreur REM_CLOSE, (Client fermé).

sess.clientReqClose

Nombre de sessions fermées avec l'erreur REQ_CLOSE, (Client a demandé la fermeture).

sess.closed

Nombre total de sessions clôturées.

sess.closedError

Nombre total de sessions fermées avec des erreurs.

sess.dropped

Nombre de sessions abandonnées pour le thread.

sess.eofTxnClose

Nombre de sessions fermées avec l'erreur TX_EOF, (transmission EOF).

sess.errorTxnClose

Nombre de sessions fermées avec l'erreur TX_ERROR, (Erreur de transaction).

sess.herd

Nombre de fois que le timeout_linger a été déclenché.

sess.junkClose

Nombre de sessions fermées avec l'erreur RX_JUNK, (Données indésirables reçues).

sess.overflowClose

Nombre de sessions fermées avec l'erreur RX_OVERFLOW, (Dépassement de tampon reçu).

sess.overloadClose

Nombre de sessions fermées avec l'erreur OVERLOAD, (Manque de ressources).

sess.pipeOverflowClose

Nombre de sessions fermées avec l'erreur PIPE_OVERFLOW, (dépassement de capacité du canal de session).

sess.pipeTxnClose

Nombre de sessions fermées avec l'erreur TX_PIPE, (Transaction canalisée).

sess.queued

Nombre de sessions en file d'attente pour le thread.

sess.readAhead

Session à lire à l'avance.

sess.requestHTTP10Close

Nombre de sessions fermées avec l'erreur REQ_HTTP10, (Proto < HTTP/1.1).

sess.requestHTTP20Close

Nombre de sessions fermées avec l'erreur REQ_HTTP20, (HTTP2 non accepté).

sess.shortRangeClose

Nombre de sessions fermées avec l'erreur RANGE_SHORT, (Données insuffisantes pour la plage).

sess.timeoutClose

Nombre de sessions fermées avec l'erreur RX_TIMEOUT, (Délai de réception dépassé).

sess.vclFailClose

Nombre de sessions fermées avec l'erreur VCL_FAILURE, (échec VCL).

session.connections

Nombre de sessions acceptées avec succès.

session.drops

Le nombre de sessions a été supprimé silencieusement en raison du manque de thread de travail.

session.fail

Nombre d'échecs d'acceptation de connexion TCP.

shm.contentions

Nombre de conflits de mémoire partagée (SHM) MTX.

shm.cycles

Nombre de cycles SHM dans la mémoire tampon.

shm.flushes

Nombre de chasses d'eau SHM dues à un débordement.

shm.records

Nombre d'enregistrements SHM.

shm.writes

Nombre d'écritures SHM.

workspace.backendOverflow

Nombre de fois où nous avons manqué d'espace dans workspace_backend.

workspace.clientOverflow

Nombre de fois où nous avons manqué d'espace dans workspace_client.

workspace.deliveryFail

La livraison a échoué en raison d'un espace de travail insuffisant.

workspace.sessionOverflow

Nombre de fois où nous avons manqué d'espace dans workspace_session.

workspace.threadOverflow

Nombre de fois où nous avons manqué d'espace dans workspace_thread.

Échantillon de mèches de Varnish métriques

Ces attributs peuvent être trouvés en interrogeant le type d'événement VarnishLockSample .

métrique

Description

lock.created

Nombre de verrous créés.

lock.destroyed

Nombre de serrures détruites.

lock.locks

Nombre d'opérations de verrouillage.

Métriques d'échantillons de stockage Varnish

Ces attributs peuvent être trouvés en interrogeant le type d'événement VarnishStorageSample .

métrique

Description

storage.allocFails

Nombre de fois où le stockage n'a pas réussi à fournir un segment de stockage.

storage.allocInBytes

Nombre total d'octets alloués par ce stockage.

storage.allocOustanding

Nombre d'allocations de stockage en attente.

storage.allocReqs

Nombre de fois où le stockage a été invité à fournir un segment de stockage.

storage.availableInBytes

Nombre d'octets restants dans le stockage.

storage.freeInBytes

Nombre total d'octets renvoyés vers ce stockage.

storage.outstandingInBytes

Nombre d'octets alloués à partir du stockage.

Varnish mempool sample métriques

Ces attributs peuvent être trouvés en interrogeant le type d'événement VarnishMempoolSample .

métrique

Description

mempool.allocatedSizeInBytes

Taille allouée du pool de mémoire, en octets.

mempool.allocs

Allocations de pool de mémoire.

mempool.frees

Nombre de pools de mémoire libres.

mempool.live

Nombre de pools de mémoire utilisés.

mempool.pool

Compter dans le pool de mémoire.

mempool.ranDry

La piscine est à sec.

mempool.recycles

Recyclé de la piscine.

mempool.requestSizeInBytes

Taille de la demande du pool de mémoire, en octets.

mempool.surplus

Trop nombreux pour la piscine.

mempool.timeouts

Délai d'attente pour la piscine.

mempool.tooSmall

Trop petit pour être recyclé.

Varnish backend Exemples de mesures

Ces attributs peuvent être trouvés en interrogeant le type d'événement VarnishBackendSample .

métrique

Description

backend.busyFetches

Les récupérations n'ont pas été tentées car le backend est occupé.

backend.connections

Nombre de connexions simultanées au backend.

backend.connectionsFailed

Nombre de connexions backend ayant échoué.

backend.connectionsNotAttempted

Nombre de connexions backend non tentées.

backend.happy

Bonnes sondes de santé.

backend.unhealtyFetches

Les récupérations n'ont pas été tentées en raison d'un backend défectueux

net.backend.pipeHeaderInBytes

Nombre total d'octets de demande envoyés pour les sessions canalisées.

net.backend.pipeInInBytes

Nombre total d'octets transférés depuis le backend dans les sessions de pipeline.

net.backend.pipeOutInBytes

Nombre total d'octets transmis au backend dans les sessions de pipeline.

net.backend.requestBodyInBytes

Nombre total d'octets envoyés dans le corps de la requête backend.

net.backend.requestHeaderInBytes

Nombre total d'octets d'en-tête de requête backend envoyés.

net.backend.requests

Nombre de backend requests envoyées,

net.backend.responseBodyInBytes

Nombre total d'octets du corps de réponse du backend reçus.

net.backend.responseHeaderInBytes

Nombre total d'octets d'en-tête de réponse backend reçus.

Données d'inventaire

L'intégration de Varnish Cache capture les paramètres de configuration. Il analyse le fichier de configuration varnish.params pour tous les paramètres actifs.

Les données sont disponibles sur la page Inventaire, sous la source config/varnish . Pour en savoir plus sur les données d’inventaire, consultez Comprendre les données d’intégration.

Vérifiez le code source

Cette intégration est un logiciel open source. Cela signifie que vous pouvez parcourir son code source et envoyer des améliorations, ou créer votre propre fork et le construire.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.