Go-Expvar
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

Go-Expvar

Agent Check Check de l'Agent

Supported OS: Linux Mac OS Windows

Graphique Go

Présentation

Surveillez l’utilisation de la mémoire de vos services Go et recueillez des métriques instrumentées à partir du paquet Expvar de Go.

Si vous préférez instrumenter votre Go en utilisant seulement dogstats-go, vous pouvez tout de même utiliser cette intégration pour recueillir des métriques relatives à la mémoire.

Configuration

Installation

Le check Go-Expvar est fourni avec l’Agent. Installez l’Agent sur les hosts qui exécutent des services Go pour recueillir des métriques.

Configuration

Préparer votre service Go

Si votre service Go n’utilise pas déjà le paquet Expvar, importez-le (import "expvar"). Si vous ne souhaitez pas instrumenter vos propres métriques avec Expvar (p. ex., si vous souhaitez seulement recueillir des métriques sur la mémoire de votre service), importez le paquet en spécifiant un identifiant vide (import _ "expvar"). Si votre service n’écoute pas déjà les requêtes HTTP (avec le paquet http), configurez une écoute locale uniquement pour l’Agent Datadog.

Host

Suivez les instructions ci-dessous pour configurer ce check lorsque l’Agent est exécuté sur un host. Consultez la section Environnement conteneurisé pour en savoir plus sur les environnements conteneurisés.

Associer l’Agent
  1. Modifiez le fichier go_expvar.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple go_expvar.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    Remarque : si vous ne configurez pas de liste metrics, l’Agent continue de recueillir les métriques memstat. Utilisez metrics pour indiquer à l’Agent les variables expvar qui doivent être recueillies.

  2. Redémarrez l’Agent.

Remarque : l’intégration Go Expvar peut potentiellement générer des métriques custom, ce qui peut avoir une incidence sur votre facture. Par défaut, une limite de 350 métriques est appliquée. Si vous souhaitez utiliser davantage de métriques, contactez l’assistance Datadog.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

ParamètreValeur
<NOM_INTÉGRATION>go_expvar
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"expvar_url": "http://%%host%%:8080"}

Validation

Lancez la sous-commande status de l’Agent et cherchez go_expvar dans la section Checks.

Données collectées

Métriques

go_expvar.memstats.alloc
(gauge)
Bytes allocated and not yet freed
Shown as byte
go_expvar.memstats.frees
(gauge)
Number of frees
Shown as operation
go_expvar.memstats.heap_alloc
(gauge)
Bytes allocated and not yet freed
Shown as byte
go_expvar.memstats.heap_idle
(gauge)
Bytes in idle spans
Shown as byte
go_expvar.memstats.heap_inuse
(gauge)
Bytes in non-idle spans
Shown as byte
go_expvar.memstats.heap_objects
(gauge)
Total number of allocated objects
Shown as item
go_expvar.memstats.heap_released
(gauge)
Bytes released to the OS
Shown as byte
go_expvar.memstats.heap_sys
(gauge)
Bytes obtained from system
Shown as byte
go_expvar.memstats.lookups
(gauge)
Number of pointer lookups
Shown as operation
go_expvar.memstats.mallocs
(gauge)
Number of mallocs
Shown as operation
go_expvar.memstats.num_gc
(gauge)
Number of garbage collections
Shown as garbage collection
go_expvar.memstats.pause_ns.95percentile
(gauge)
95th percentile of recent GC pause durations
Shown as nanosecond
go_expvar.memstats.pause_ns.avg
(gauge)
Average of recent GC pause durations
Shown as nanosecond
go_expvar.memstats.pause_ns.count
(rate)
Number of submitted GC pause durations
Shown as sample
go_expvar.memstats.pause_ns.max
(gauge)
Max GC pause duration
Shown as nanosecond
go_expvar.memstats.pause_ns.median
(gauge)
Median GC pause duration
Shown as nanosecond
go_expvar.memstats.pause_total_ns
(gauge)
Total GC pause duration over lifetime of process
Shown as nanosecond
go_expvar.memstats.total_alloc
(gauge)
Bytes allocated (even if freed)
Shown as byte
go_expvar.memstats.total_alloc.count
(count)
Bytes allocated (even if freed) as monotonic count
Shown as byte

Événements

Le check Go-Expvar n’inclut aucun événement.

Checks de service

Le check Go-Expvar n’inclut aucun check de service.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Pour aller plus loin