• /
  • 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

Installer New Relic for Go

Obtenez des informations détaillées sur les performances de vos applications Go en installant l'agent New Relic Go. Ce guide vous guide à travers une installation complète avec des exemples pour les modèles d'applications Go courants.

Avant de commencer

  • Créez un compte New Relic - Si vous n'en avez pas déjà un, créez un compte New Relic. C'est gratuit, pour toujours.

  • Vérifier la compatibilité - Assurez-vous d'avoir :

  • Obtenez votre clé de licence - Vous aurez besoin de votre pendant l'installation.

Étapes d'installation

Installer l'agent Go

Ajoutez l'agent New Relic Go à votre projet :

bash
$
go get github.com/newrelic/go-agent/v3/newrelic

Conseil

Vous utilisez les modules Go ? L'agent fonctionne de manière transparente avec les modules Go. Si vous utilisez une ancienne version de Go, vous devrez peut-être ajouter l'agent à votre dossier vendor.

Importer l'agent

Ajoutez l'importation à votre application Go :

import "github.com/newrelic/go-agent/v3/newrelic"

Initialiser l'agent

Créez une instance d'application dans votre fonction main :

func main() {
app, err := newrelic.NewApplication(
newrelic.ConfigAppName("My Go Application"),
newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),
)
if err != nil {
log.Fatal("Failed to create New Relic application:", err)
}
// Wait for the application to connect
if err := app.WaitForCompletion(5 * time.Second); err != nil {
log.Println("Warning: New Relic application did not connect:", err)
}
// Your application code here
}

Important

Meilleure pratique de sécurité: utilisez toujours des variables d'environnement pour votre clé de licence au lieu de la coder en dur dans votre code source.

Instrumentez vos gestionnaires web

Pour les applications HTTP, enveloppez vos gestionnaires pour monitorer les transactions web :

// Method 1: Wrap individual handlers
http.HandleFunc(newrelic.WrapHandleFunc(app, "/", indexHandler))
http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler))
http.HandleFunc(newrelic.WrapHandleFunc(app, "/api/data", apiHandler))
// Method 2: Wrap your entire mux (recommended for many routes)
mux := http.NewServeMux()
mux.HandleFunc("/", indexHandler)
mux.HandleFunc("/users", usersHandler)
mux.HandleFunc("/api/data", apiHandler)
http.ListenAndServe(":8080", newrelic.WrapListen(app, mux))

Ajoutez une gestion des erreurs de base

Capturez les erreurs dans vos gestionnaires :

func usersHandler(w http.ResponseWriter, r *http.Request) {
// Get transaction from request context
txn := newrelic.FromContext(r.Context())
user, err := getUserFromDatabase(r.URL.Query().Get("id"))
if err != nil {
// Report error to New Relic
txn.NoticeError(err)
http.Error(w, "User not found", http.StatusNotFound)
return
}
// Add custom attributes
txn.AddAttribute("user.id", user.ID)
txn.AddAttribute("user.tier", user.Tier)
// Return user data
json.NewEncoder(w).Encode(user)
}

Déployez et vérifiez

  1. Définissez votre variable d'environnement:

    bash
    $
    export NEW_RELIC_LICENSE_KEY="your-license-key-here"
  2. Compiler et exécuter votre application:

    bash
    $
    go build -o myapp
    $
    ./myapp
  3. Générez du trafic en visitant les URL de votre application

  4. Vérifiez New Relic dans les 2 à 3 minutes sur one.newrelic.com

Exemples d'installation

Serveur HTTP simple

package main
import (
"fmt"
"log"
"net/http"
"os"
"time"
"github.com/newrelic/go-agent/v3/newrelic"
)
func main() {
// Initialize New Relic
app, err := newrelic.NewApplication(
newrelic.ConfigAppName("Simple Go Server"),
newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),
)
if err != nil {
log.Fatal(err)
}
// Simple handler
http.HandleFunc(newrelic.WrapHandleFunc(app, "/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
}))
log.Println("Server starting on :8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}

Intégration du framework Gin

package main
import (
"os"
"github.com/gin-gonic/gin"
"github.com/newrelic/go-agent/v3/integrations/nrgin"
"github.com/newrelic/go-agent/v3/newrelic"
)
func main() {
// Initialize New Relic
app, _ := newrelic.NewApplication(
newrelic.ConfigAppName("Gin Application"),
newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")),
)
// Set up Gin with New Relic middleware
r := gin.Default()
r.Use(nrgin.Middleware(app))
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello, World!"})
})
r.Run(":8080")
}

Monitoring des tâches en arrière-plan

func processBackgroundJob(app *newrelic.Application, jobData JobData) {
// Create a background transaction
txn := app.StartTransaction("background-job")
defer txn.End()
// Add job context
txn.AddAttribute("job.id", jobData.ID)
txn.AddAttribute("job.type", jobData.Type)
// Process job with error handling
if err := processJob(jobData); err != nil {
txn.NoticeError(err)
log.Printf("Job %s failed: %v", jobData.ID, err)
return
}
log.Printf("Job %s completed successfully", jobData.ID)
}

Que se passe-t-il ensuite ?

Après avoir terminé l'installation de base, vous verrez immédiatement :

  • Dashboard APM avec les temps de réponse, le débit et les taux d'erreur pour vos points de terminaison HTTP
  • Traces de transactions montrant les requêtes Web les plus lentes
  • Suivi des erreurs de base pour les erreurs signalées via txn.NoticeError()

Pour débloquer des capacités de monitoring supplémentaires, vous devrez ajouter plus d'instrumentation :

Dépannage

Si vous ne voyez pas de données après l'installation :

  1. Vérifiez les logs de votre application pour les messages de connexion New Relic
  2. Vérifiez que votre clé de licence est correcte et non expirée
  3. Assurez-vous de la connectivité réseau à New Relic (ports 80/443)
  4. Consultez le guide de dépannage pour une aide détaillée

Conseil

Activez le logging de débogage pour voir ce que fait l'agent :

config := newrelic.NewConfig("My App", os.Getenv("NEW_RELIC_LICENSE_KEY"))
config.Logger = newrelic.NewDebugLogger(os.Stdout)
app, _ := newrelic.NewApplication(config)

Prochaines étapes

Maintenant que vous avez configuré le monitoring de base, vous pouvez améliorer votre observabilité grâce à la configuration et à l'instrumentation:

  • Configuration contrôle le comportement de l'agent globalement dans l'ensemble de votre application
  • L'instrumentation ajoute du code de monitoring à des opérations spécifiques que vous souhaitez suivre

Configurer l'agent

Utilisez la configuration de l'agent pour contrôler le comportement global et obtenir :

Ajouter l'instrumentation

Utilisez l'instrumentation détaillée pour monitorer des opérations spécifiques et obtenir :

Fonctionnalités et monitoring avancés

Conseil

Gardez votre agent à jour: Mettez régulièrement à jour vers la dernière version pour obtenir de nouvelles fonctionnalités, des améliorations de performances et des correctifs de sécurité.

Droits d'auteur © 2026 New Relic Inc.

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