From 3daef75eda725d773aeb1d4aeb90d3a677b186cb Mon Sep 17 00:00:00 2001 From: svc-docs-eng-opensource-bot Date: Wed, 19 Feb 2025 05:46:58 +0000 Subject: [PATCH] chore: add translations --- .../net-agent-compatibility-requirements.mdx | 3 + ...opentelemetry-best-practices-resources.mdx | 14 + ...atibility-requirement-azure-monitoring.mdx | 8 +- .../env-variables-azure.mdx | 46 +- .../install-serverless-azure-monitoring.mdx | 92 +- .../service-level-management/create-slm.mdx | 4 + .../add-on-billing.mdx | 28 + .../uninstall-remove-c-sdk.mdx | 53 + .../update-your-c-sdk-library.mdx | 30 + .../distributed-tracing-c-sdk.mdx | 189 + .../instrumentation/guide-using-c-sdk-api.mdx | 427 ++ .../instrument-errors-c-sdk.mdx | 40 + .../instrument-transactions-c-sdk.mdx | 47 + .../instrument-your-app-c-sdk.mdx | 160 + ...use-default-or-custom-attributes-c-sdk.mdx | 31 + .../generate-logs-troubleshooting-c-sdk.mdx | 79 + .../troubleshooting/no-data-appears-c-sdk.mdx | 39 + .../api-guides/guide-using-go-agent-api.mdx | 535 ++ .../distributed-tracing-go-agent.mdx | 300 + .../go-agent-code-level-metrics-config.mdx | 302 + .../configuration/go-agent-configuration.mdx | 4025 ++++++++++++ .../configuration/go-agent-logging.mdx | 39 + .../add-browser-monitoring-your-go-apps.mdx | 39 + .../features/create-custom-events-go.mdx | 85 + .../features/cross-application-tracing-go.mdx | 120 + ...page-troubleshoot-performance-problems.mdx | 98 + .../trace-asynchronous-applications.mdx | 41 + .../get-started/apm-agent-security-go.mdx | 117 + .../go-agent-compatibility-requirements.mdx | 587 ++ .../get-started/introduction-new-relic-go.mdx | 89 + .../install-automation-new-relic-go.mdx | 121 + ...tall-go-agent-gae-flexible-environment.mdx | 102 + .../installation/install-new-relic-go.mdx | 69 + .../installation/uninstall-go-agent.mdx | 19 + .../go-agent/installation/update-go-agent.mdx | 24 + .../create-custom-metrics-go.mdx | 55 + .../instrumentation/go-agent-attributes.mdx | 453 ++ ...go-agent-code-level-metrics-instrument.mdx | 183 + .../instrument-go-segments.mdx | 314 + .../instrument-go-transactions.mdx | 213 + .../troubleshooting/no-data-appears-go.mdx | 26 + ...ws-elastic-beanstalk-installation-java.mdx | 75 + .../include-java-agent-jvm-argument.mdx | 635 ++ .../install-java-agent-java-2-security.mdx | 58 + .../install-new-relic-java-agent-docker.mdx | 346 + ...ic-java-agent-gae-flexible-environment.mdx | 161 + .../java-agent/api-guides/ai-monitoring.mdx | 82 + .../api-guides/guide-using-java-agent-api.mdx | 738 +++ ...instrumentation-annotation-example-app.mdx | 303 + ...lls-messaging-datastore-web-frameworks.mdx | 619 ++ ...-agent-api-instrument-using-annotation.mdx | 483 ++ ...xample-app-external-datastore-calls-dt.mdx | 855 +++ ...rror-group-callback-to-set-fingerprint.mdx | 87 + ...cala-netty-akka-play-2-instrumentation.mdx | 103 + ...ntroduction-java-async-instrumentation.mdx | 58 + ...va-agent-api-asynchronous-applications.mdx | 165 + ...hoot-java-asynchronous-instrumentation.mdx | 118 + .../attributes/java-agent-attributes.mdx | 832 +++ .../automatic-application-naming.mdx | 190 + .../configuring-your-ssl-certificates.mdx | 114 + .../distributed-tracing-java-agent.mdx | 221 + .../configuration/hostname-logic-java.mdx | 54 + .../java-agent-config-file-template.mdx | 565 ++ .../java-agent-configuration-config-file.mdx | 5675 +++++++++++++++++ .../java-agent-error-configuration.mdx | 410 ++ .../name-your-java-application.mdx | 143 + ...it-breaker-java-custom-instrumentation.mdx | 69 + ...m-instrumentation-editor-instrument-ui.mdx | 302 + .../custom-jmx-yaml-examples.mdx | 244 + ...-agent-custom-jmx-instrumentation-yaml.mdx | 228 + .../java-custom-instrumentation.mdx | 88 + .../java-instrumentation-xml.mdx | 163 + .../java-xml-instrumentation-examples.mdx | 445 ++ .../messaging-framework-instrumentation.mdx | 121 + ...leshooting-java-custom-instrumentation.mdx | 85 + .../features/java-codestream-integration.mdx | 82 + ...-page-java-view-app-server-metrics-jmx.mdx | 3041 +++++++++ ...-time-profiling-java-using-jfr-metrics.mdx | 127 + .../frameworks/scala-akka-http-core.mdx | 39 + .../java-agent/frameworks/scala-zio.mdx | 195 + .../apm-agent-security-java.mdx | 215 + .../compatibility-requirements-java-agent.mdx | 507 ++ .../introduction-new-relic-java.mdx | 162 + .../getting-started/migration-8x-guide.mdx | 152 + .../java-agent/heroku/java-agent-heroku.mdx | 165 + .../heroku/java-agent-scala-heroku.mdx | 123 + .../heroku/no-data-appears-heroku-java.mdx | 30 + .../installation/uninstall-java-agent.mdx | 23 + .../installation/update-java-agent.mdx | 36 + ...ion-additional-instrumentation-modules.mdx | 864 +++ .../ignore-transactions-using-api.mdx | 74 + .../instrument-aws-sqs-message-queues.mdx | 141 + ...ment-browser-monitoring-java-agent-api.mdx | 261 + ...-agent-instrument-kafka-message-queues.mdx | 265 + .../monitor-deployments-java-agent.mdx | 121 + .../transaction-naming-protocol.mdx | 104 + .../use-rabbitmq-or-jms-message-queues.mdx | 111 + .../dropwizard/dropwizard-reporter.mdx | 27 + .../kamon/kamon-reporter.mdx | 44 + .../micrometer-metrics-registry.mdx | 141 + .../vertx/vertx-eventbus-integration.mdx | 164 + .../vertx/vertx-extensions-integration.mdx | 163 + .../all-hosts-appear-localhost.mdx | 19 + .../application-server-jmx-setup.mdx | 104 + ...sloading-issues-from-jboss-and-wildfly.mdx | 186 + ...etermine-permissions-requirements-java.mdx | 31 + ...ror-bootstrapping-new-relic-java-agent.mdx | 111 + .../errors-starting-java-app-server.mdx | 31 + ...ewall-or-traffic-connectivity-failures.mdx | 102 + ...ather-troubleshooting-information-java.mdx | 65 + ...nerate-debug-logs-troubleshooting-java.mdx | 55 + ...st-links-missing-java-apps-apm-summary.mdx | 101 + ...entified-with-security-vulnerabilities.mdx | 40 + .../java-solr-data-does-not-appear.mdx | 23 + .../no-browser-data-appears-java.mdx | 27 + .../troubleshooting/no-data-appears-java.mdx | 64 + .../troubleshooting/no-log-file-java.mdx | 61 + .../troubleshooting/no-stack-traces-java.mdx | 44 + .../nullpointerexception-issues-java.mdx | 32 + ...solve-metric-grouping-issues-java-apps.mdx | 53 + .../ssl-or-connection-errors-java.mdx | 116 + ...date-java-config-legacy-agent-versions.mdx | 120 + .../agent-data/agent-attributes.mdx | 207 + .../agent-data/collect-custom-metrics.mdx | 95 + .../agent-data/custom-instrumentation.mdx | 95 + .../link-your-applications-kubernetes.mdx | 14 + ...rs-apm-collect-ignore-or-mark-expected.mdx | 112 + .../agent-data/real-time-streaming.mdx | 98 + .../agent-data/triage-run-diagnostics.mdx | 203 + .../app-naming/name-your-application.mdx | 219 + .../app-naming/use-multiple-names-app.mdx | 282 + .../azure/monitoring-azure-app-service.mdx | 94 + .../configuration/add-rename-remove-hosts.mdx | 127 + .../configuration/high-security-mode.mdx | 410 ++ .../server-side-agent-configuration.mdx | 73 + .../support-arm-graviton-x86-64.mdx | 198 + .../view-config-values-your-app.mdx | 19 + ...nt-nrintegrationerrors-appear-insights.mdx | 75 + ...et-environment-data-about-your-apm-app.mdx | 36 + .../attributes/custom-attributes-net.mdx | 106 + .../enable-disable-attributes-net.mdx | 345 + .../attributes/net-attribute-examples.mdx | 145 + .../azure-cloud-services-no-data-appears.mdx | 20 + ...elicazurewebsitesextension-directories.mdx | 75 + ...s-profiler-dll-locks-during-deployment.mdx | 40 + .../azure-web-apps-unable-open-log-file.mdx | 18 + ...-web-apps-using-always-no-data-appears.mdx | 80 + .../debugging-agent-azure.mdx | 191 + ...porting-microsoft-application-insights.mdx | 43 + .../distributed-tracing-net-agent.mdx | 208 + .../name-your-net-application.mdx | 284 + .../configuration/net-agent-configuration.mdx | 3601 +++++++++++ .../add-detail-transactions-xml-net.mdx | 395 ++ .../create-transactions-xml-net.mdx | 274 + .../custom-instrumentation-attributes-net.mdx | 245 + ...ntroduction-net-custom-instrumentation.mdx | 153 + .../custom-instrumentation/query-naming.mdx | 33 + .../8x-to-9x-agent-migration-guide.mdx | 437 ++ .../9x-to-10x-agent-migration-guide.mdx | 163 + .../apm-agent-security-net.mdx | 185 + .../introduction-new-relic-net.mdx | 150 + .../net-agent-approaches-lambda.mdx | 388 ++ .../net-agent-compatibility-requirements.mdx | 2016 ++++++ .../opentracing-to-layers-migration-guide.mdx | 71 + .../installation/uninstall-net-agent.mdx | 97 + .../installation/update-net-agent.mdx | 352 + .../net-agent/net-agent-api/net-agent-api.mdx | 2550 ++++++++ .../other-features/async-support-net.mdx | 165 + .../browser-monitoring-net-agent.mdx | 140 + .../limit-log-disk-space-log-rolling.mdx | 17 + .../net-codestream-integration.mdx | 78 + .../net-performance-metrics.mdx | 356 ++ ...ow-verify-checksum-net-agent-downloads.mdx | 63 + .../net-agent-install-resources.mdx | 392 ++ ...anding-net-agent-environment-variables.mdx | 221 + ...anges-content-type-header-wcf-apps-net.mdx | 88 + ...elicazurewebsitesextension-directories.mdx | 75 + ...rowser-injection-health-check-conflict.mdx | 35 + .../cocreate-errors-no-event-log.mdx | 47 + ...ocreateinstance-errors-no-profiler-log.mdx | 165 + .../debugging-net-core-agent-linux.mdx | 83 + .../troubleshooting/debugging-net-windows.mdx | 156 + .../generate-logs-troubleshooting-net.mdx | 84 + .../troubleshooting/high-memory-usage-net.mdx | 36 + .../lock-contention-appdomain-getdata.mdx | 37 + .../minimal-api-duplicate-routes-net.mdx | 37 + .../missing-couchbase-metrics-net.mdx | 72 + .../missing-net-async-metrics.mdx | 82 + .../monitor-short-lived-net-processes.mdx | 19 + .../net-agent-reports-handled-errors.mdx | 127 + .../new-relic-net-status-monitor.mdx | 54 + .../no-browser-data-appears-net.mdx | 93 + ...no-data-appears-after-disabling-tls-10.mdx | 128 + .../troubleshooting/no-data-appears-net.mdx | 237 + ...no-data-registry-key-permission-issues.mdx | 78 + .../no-stack-traces-dotnet.mdx | 36 + .../troubleshooting/profiler-conflicts.mdx | 245 + .../resolve-net-scom-conflicts.mdx | 57 + ...ical-support-net-framework-40-or-lower.mdx | 99 + .../guide-using-nodejs-agent-api.mdx | 414 ++ .../api-guides/nodejs-agent-api.mdx | 341 + .../attributes/nodejs-agent-attributes.mdx | 675 ++ .../apollo-server-plugin-nodejs.mdx | 34 + .../browser-monitoring-nodejs-agent.mdx | 180 + .../message-queues.mdx | 102 + .../nodejs-custom-instrumentation.mdx | 55 + .../examples/nerdgraph-manage-groups.mdx | 243 +- ...erdgraph-manage-license-keys-user-keys.mdx | 13 +- .../browser-pro-features/session-replay.mdx | 2 +- .../browser-apis/recordReplay.mdx | 1 + ...opentelemetry-best-practices-resources.mdx | 14 + ...atibility-requirement-azure-monitoring.mdx | 8 +- .../env-variables-azure.mdx | 46 +- .../install-serverless-azure-monitoring.mdx | 92 +- .../service-level-management/create-slm.mdx | 4 + .../new-relic-account-structure.mdx | 2 + .../examples/nerdgraph-manage-groups.mdx | 243 +- ...erdgraph-manage-license-keys-user-keys.mdx | 13 +- ...ompatibility-requirements-nodejs-agent.mdx | 26 +- .../browser-pro-features/session-replay.mdx | 2 +- .../browser-apis/recordReplay.mdx | 1 + ...opentelemetry-best-practices-resources.mdx | 14 + ...atibility-requirement-azure-monitoring.mdx | 8 +- .../env-variables-azure.mdx | 46 +- .../install-serverless-azure-monitoring.mdx | 92 +- .../service-level-management/create-slm.mdx | 4 + .../new-relic-account-structure.mdx | 2 + .../user-management-concepts.mdx | 2 +- .../examples/nerdgraph-manage-groups.mdx | 243 +- ...erdgraph-manage-license-keys-user-keys.mdx | 13 +- ...ompatibility-requirements-nodejs-agent.mdx | 26 +- .../browser-pro-features/session-replay.mdx | 2 +- .../browser-apis/recordReplay.mdx | 1 + ...opentelemetry-best-practices-resources.mdx | 14 + ...atibility-requirement-azure-monitoring.mdx | 8 +- .../env-variables-azure.mdx | 46 +- .../install-serverless-azure-monitoring.mdx | 92 +- .../service-level-management/create-slm.mdx | 4 + 238 files changed, 53839 insertions(+), 756 deletions(-) create mode 100644 src/i18n/content/fr/docs/accounts/accounts-billing/new-relic-one-pricing-billing/add-on-billing.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/uninstall-remove-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/update-your-c-sdk-library.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/distributed-tracing-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/guide-using-c-sdk-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-errors-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-transactions-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-your-app-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/use-default-or-custom-attributes-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/generate-logs-troubleshooting-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/no-data-appears-c-sdk.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/api-guides/guide-using-go-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/configuration/distributed-tracing-go-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-configuration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-logging.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/features/add-browser-monitoring-your-go-apps.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/features/create-custom-events-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/features/cross-application-tracing-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/features/go-runtime-page-troubleshoot-performance-problems.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/features/trace-asynchronous-applications.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/get-started/apm-agent-security-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/get-started/go-agent-compatibility-requirements.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/get-started/introduction-new-relic-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-automation-new-relic-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-go-agent-gae-flexible-environment.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-new-relic-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/installation/uninstall-go-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/installation/update-go-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/create-custom-metrics-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-attributes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-segments.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-transactions.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/go-agent/troubleshooting/no-data-appears-go.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/aws-elastic-beanstalk-installation-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/include-java-agent-jvm-argument.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-java-agent-java-2-security.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-docker.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-gae-flexible-environment.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/ai-monitoring.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-custom-instrumentation-annotation-example-app.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-using-annotation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrumenting-example-app-external-datastore-calls-dt.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/disable-scala-netty-akka-play-2-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/introduction-java-async-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/troubleshoot-java-asynchronous-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/attributes/java-agent-attributes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/automatic-application-naming.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/configuring-your-ssl-certificates.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/distributed-tracing-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/hostname-logic-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-config-file-template.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-error-configuration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/configuration/name-your-java-application.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-jmx-yaml-examples.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-agent-custom-jmx-instrumentation-yaml.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-custom-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-instrumentation-xml.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-xml-instrumentation-examples.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/messaging-framework-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/features/java-codestream-integration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/features/jvms-page-java-view-app-server-metrics-jmx.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-akka-http-core.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-zio.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/apm-agent-security-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/introduction-new-relic-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/migration-8x-guide.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-heroku.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-scala-heroku.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/heroku/no-data-appears-heroku-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/installation/uninstall-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/installation/update-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/extension-additional-instrumentation-modules.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/ignore-transactions-using-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-aws-sqs-message-queues.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-browser-monitoring-java-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/monitor-deployments-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/transaction-naming-protocol.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/use-rabbitmq-or-jms-message-queues.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/dropwizard/dropwizard-reporter.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/kamon/kamon-reporter.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/micrometer/micrometer-metrics-registry.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-eventbus-integration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-extensions-integration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/all-hosts-appear-localhost.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/application-server-jmx-setup.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/classloading-issues-from-jboss-and-wildfly.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/determine-permissions-requirements-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/error-bootstrapping-new-relic-java-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/errors-starting-java-app-server.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/firewall-or-traffic-connectivity-failures.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/gather-troubleshooting-information-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/host-links-missing-java-apps-apm-summary.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-agent-identified-with-security-vulnerabilities.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-solr-data-does-not-appear.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-browser-data-appears-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-log-file-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-stack-traces-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/nullpointerexception-issues-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/resolve-metric-grouping-issues-java-apps.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/ssl-or-connection-errors-java.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/update-java-config-legacy-agent-versions.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/agent-attributes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/collect-custom-metrics.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/custom-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/link-your-applications-kubernetes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/real-time-streaming.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/triage-run-diagnostics.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/name-your-application.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/use-multiple-names-app.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/azure/monitoring-azure-app-service.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/add-rename-remove-hosts.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/high-security-mode.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/server-side-agent-configuration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/support-arm-graviton-x86-64.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/view-config-values-your-app.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/agent-nrintegrationerrors-appear-insights.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/get-environment-data-about-your-apm-app.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/attributes/custom-attributes-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/attributes/net-attribute-examples.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-cloud-services-no-data-appears.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-profiler-dll-locks-during-deployment.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-unable-open-log-file.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-using-always-no-data-appears.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/no-data-reporting-microsoft-application-insights.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/configuration/name-your-net-application.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/query-naming.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/8x-to-9x-agent-migration-guide.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/9x-to-10x-agent-migration-guide.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/apm-agent-security-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-approaches-lambda.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/installation/update-net-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/net-agent-api/net-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-features/async-support-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-features/limit-log-disk-space-log-rolling.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-codestream-integration.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-performance-metrics.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/net-agent-install-resources.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/agent-changes-content-type-header-wcf-apps-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/browser-injection-health-check-conflict.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreate-errors-no-event-log.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreateinstance-errors-no-profiler-log.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/generate-logs-troubleshooting-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/high-memory-usage-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/lock-contention-appdomain-getdata.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/minimal-api-duplicate-routes-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-couchbase-metrics-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-net-async-metrics.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/monitor-short-lived-net-processes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/net-agent-reports-handled-errors.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/new-relic-net-status-monitor.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-browser-data-appears-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-after-disabling-tls-10.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-net.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-stack-traces-dotnet.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/profiler-conflicts.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/resolve-net-scom-conflicts.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/attributes/nodejs-agent-attributes.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/apollo-server-plugin-nodejs.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/browser-monitoring-nodejs-agent.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/message-queues.mdx create mode 100644 src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nodejs-custom-instrumentation.mdx diff --git a/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx b/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx index d0506fcc3d8..e13f05dfea2 100644 --- a/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx +++ b/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx @@ -1181,6 +1181,9 @@ Para el marco y la biblioteca que no se [instrumentan automáticamente](#instrum * Disponible en todas las versiones del agente .NET Framework compatibles actualmente. * Se verificó que todas las versiones del marco .NET actualmente compatibles con Microsoft son compatibles. + + + * Última versión compatible verificada: 4.0.40 * Versiones incompatibles conocidas: 4.0.44 o superior diff --git a/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx b/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx index 29fd4ae3df4..c98b3365ec0 100644 --- a/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx +++ b/src/i18n/content/es/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx @@ -137,6 +137,20 @@ Si sus servicios emplean instrumentación OpenTelemetry para ActiveMQ debe tener * `server.address`: Este atributo debe coincidir con la etiqueta de extremo correspondiente de la entidad Amazon MQ. * `span.kind`:Esta relación se genera a partir de datos de intervalo donde `span.kind` es `producer` o `consumer`. +#### Kafka gestionado por Amazon (MSK) + +La integración de Amazon CloudWatch Metric Streams para [MSK](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration) genera entidad MSK en New Relic. Estas entidades tendrán la siguiente etiqueta de entidad: + +* `aws.clusterName` o `aws.kafka.ClusterName` +* `aws.awsRegion` o `aws.region` +* `aws.topic` o `aws.kafka.Topic` + +Si sus servicios emplean instrumentación OpenTelemetry para MSK debe tener el siguiente atributo para que se genere una relación: + +* `messaging.destination.name`:El tema MSK en el que el servicio produce o consume mensajes. +* `server.address`: Este atributo debe coincidir con la etiqueta de extremo correspondiente de la entidad MSK. +* `span.kind`:Esta relación se genera a partir de datos de intervalo donde `span.kind` es `producer` o `consumer`. + ## Agregar una etiqueta personalizada a una entidad [#tags] Puedes usar etiqueta para organizar y filtrar tu entidad en la UI. [etiqueta](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/) son pares de valores principales, por ejemplo `team: operations`, agregados a varios conjuntos de datos, como aplicaciones de monitoreo y hosts. Ciertos atributos importantes están disponibles automáticamente como etiqueta, como el ID de cuenta; También puedes agregar tu propia etiqueta personalizada [directamente en la UI](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-tags) o con uno de los métodos siguientes. diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx index bb46b311537..3388abcb43b 100644 --- a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx +++ b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx @@ -25,7 +25,7 @@ Antes de [instrumentar Azure Functions](/docs/serverless-function-monitoring/aws ## Tiempos de ejecución admitidos -Based on your hosting environment, the following Azure Function runtime stacks are supported. +Según su entorno de hospedaje, se admiten las siguientes pilas de tiempo de ejecución Azure Functions. @@ -34,15 +34,15 @@ Based on your hosting environment, the following Azure Function runtime stacks a - * .NET: version 6 - 9, Isolated model only + * .NET: versión 6 - 9, solo modelo aislado - * .NET: version 6 - 9 + * .NET: versiones 6 - 9 - * .NET: version 6 - 9, Isolated model only + * .NET: versión 6 - 9, solo modelo aislado diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx index 73bb22f7e5f..074e2c18b46 100644 --- a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx +++ b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx @@ -3,7 +3,7 @@ title: Variables de entorno para la monitorización Azure Functions metaDescription: Configure environment variables to monitor your Azure functions with New Relic freshnessValidatedDate: never tags: - - AWS Lambda + - Azure Functions - Environment Variables - Configuration - Secrets Management @@ -80,7 +80,7 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f - `CORECLR_NEWRELIC_HOME` + `CORECLR_NEW_RELIC_HOME` @@ -110,49 +110,13 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f - - - `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` - - - - `true` - - - - `true` - - , - - `false` - - - - Generar traza habilitando rastreo distribución. - - - - - - `NEW_RELIC_APP_NAME` - - - - - - - - Establece el nombre de la aplicación, aunque no se emplee en la UI de New Relic. - - - `NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED` - `1` + `0` @@ -164,9 +128,9 @@ Las variables de entorno son una forma de almacenar configuraciones y secretos f - Deshabilite el modo Azure Functions estableciendo el valor en + Habilite el modo Azure Functions estableciendo el valor en - `0` + `1` . diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx index cfa244139ce..a8c5d3a3783 100644 --- a/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx +++ b/src/i18n/content/es/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx @@ -37,12 +37,16 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib - Vaya a la página de servicio de Kudu y haga lo siguiente: + La New Relic Azure extensión de sitios web (v1.6.0 y posteriores) configura automáticamente la instrumentación para sus Windows Azure funciones . + + Para instalar la extensión de sitios web de Azure de New Relic, siga estos pasos: 1. En el portal de Azure, navegue hasta su aplicación de función. - 2. Haga clic en la sección **Development tools** y seleccione **Advanced Tools > Go**. - 3. Para ver las extensiones de sitio disponibles, haga clic en la pestaña **Site extensions** . - 4. Para instalar la extensión, busque `New Relic .NET Agent` y haga clic en **+**. + 2. Haga clic en la sección **Development tools** y seleccione **Extensions**. + 3. Haga clic en **+ Add**. + 4. Seleccione **Search for an extension to install** e ingrese `New Relic .NET Agent` en el cuadro **Filter items** . + 5. Seleccione la extensión **New Relic .NET Agent(vx.x.x) - New Relic** y haga clic en **Add**. + 6. Cuando se complete la instalación, la extensión aparecerá en la lista de extensiones instaladas. Para verificar la instalación correcta, haga clic en el enlace debajo de la columna "Explorar" para ver el log de instalación. @@ -90,7 +94,7 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/home/site/wwwroot/newrelic", "slotSetting": false }, @@ -110,70 +114,35 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } ``` ```json - { - "name": "CORECLR_PROFILER_PATH", - "value": "C:\\home\\NewRelicAgent\\Core\\NewRelic.Profiler.dll", - "slotSetting": false - }, - { - "name": "CORECLR_NEWRELIC_HOME", - "value": "C:\\home\\NewRelicAgent\\Core", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", - "value": "C:\\home\\LogFiles\\NewRelic", - "slotSetting": false - }, - { - "name": "NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_ENABLE_PROFILING", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_PROFILER", - "value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}", - "slotSetting": false - }, { "name": "NEW_RELIC_LICENSE_KEY", "value": "YOUR_NEW_RELIC_LICENSE_KEY", "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", - "slotSetting": false - }, + } + ``` + + Opcionalmente, puede especificar la versión del agente .NET que desea instalar agregando la siguiente variable de entorno: + + ```json { - "name": "NEW_RELIC_APP_NAME", - "value": "YOUR_APP_NAME", + "name": "NEW_RELIC_AGENT_VERSION_OVERRIDE", + "value": "10.35.0", "slotSetting": false - }, + } ``` @@ -185,7 +154,7 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/usr/local/newrelic-dotnet-agent", "slotSetting": false }, @@ -205,20 +174,17 @@ Cerciorar de que sus Azure Functions cumplan con nuestros [requisitos y compatib "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } + + ``` diff --git a/src/i18n/content/es/docs/service-level-management/create-slm.mdx b/src/i18n/content/es/docs/service-level-management/create-slm.mdx index e4c0d08c4d0..8fd8484a273 100644 --- a/src/i18n/content/es/docs/service-level-management/create-slm.mdx +++ b/src/i18n/content/es/docs/service-level-management/create-slm.mdx @@ -588,6 +588,10 @@ Para crear un nivel de servicio, siga estos pasos: ``` wildcards + + + Al escribir su consulta SLI, puede agregar [comentarios](https://docs.newrelic.com/docs/nrql/nrql-syntax-clauses-functions/#comments) para ayudar a los afiliados a su equipo a comprender mejor la consulta. + diff --git a/src/i18n/content/fr/docs/accounts/accounts-billing/new-relic-one-pricing-billing/add-on-billing.mdx b/src/i18n/content/fr/docs/accounts/accounts-billing/new-relic-one-pricing-billing/add-on-billing.mdx new file mode 100644 index 00000000000..a44aeece329 --- /dev/null +++ b/src/i18n/content/fr/docs/accounts/accounts-billing/new-relic-one-pricing-billing/add-on-billing.mdx @@ -0,0 +1,28 @@ +--- +title: Facturation complémentaire (en option) +tags: + - Accounts + - Accounts and billing + - New Relic pricing and billing +metaDescription: Add-ons are an optional billing factor +freshnessValidatedDate: '2024-10-23T00:00:00.000Z' +translationType: machine +--- + +En plus des principaux facteurs de facturation de GB Ingested et d'utilisateurs facturables, vous pouvez également utiliser des modules complémentaires facturables optionels pour étendre votre expérience avec New Relic. + +* **Calculateur avancé (anciennement calculateur complémentaire)**: ce module complémentaire s'applique à la facturation basée sur l'utilisation pour les actions que vous exécutez en relation avec CodeStream, Live Archives et d'autres fonctionnalités mises à disposition. Vous êtes mesuré et facturé en fonction de votre utilisation des [CCU avancés](/docs/licenses/license-information/product-definitions/new-relic-one-pricing-definitions/#compute-capacity-unit). + + + Votre utilisation de CodeStream sous calculateur avancé (Advanced Compute) entraînera des frais CCU, quel que soit le type d'utilisateur. Cela signifie que l'utilisateur de base gratuit peut accéder à la fonctionnalité de calcul avancée et encourir des frais pour les CCU avancés. + + +* **Centre de données de l'UE pour les données d'origine (Original Data) ou les données Plus (Data Plus)**: ce module complémentaire s'applique à votre option de données (données d'origine ou données Plus) lorsque vous sélectionnez l'Union européenne comme région de données, selon les disponibilités. + +* **Conservation prolongée des données d'origine ou des données plus** : ce module complémentaire s'applique si vous dépassez la durée par défaut pendant laquelle vos données sont conservées. Cela s'applique à toutes vos données, pas seulement aux logs, et constitue une bonne option si vous devez effectuer de nombreuses petites requêtes ou effectuer des requêtes sur de gros volumes de données. + +* **Live Archives** : Prolongez la durée de stockage de vos logs jusqu'à sept ans. Live Archives nécessite également Advanced Compute. + +* **New Relic Synthetics Checks** : Ce module complémentaire s'applique si vos contrôles dépassent le nombre par défaut de contrôles de monitoring synthétiques. + +* **Gestion des vulnérabilités** : Cette fonctionnalité est incluse avec Data Plus, mais le module complémentaire s'applique si vous utilisez la fonctionnalité de gestion des vulnérabilités sans Data Plus. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/uninstall-remove-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/uninstall-remove-c-sdk.mdx new file mode 100644 index 00000000000..d61b034d070 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/uninstall-remove-c-sdk.mdx @@ -0,0 +1,53 @@ +--- +title: Désinstaller (supprimer) le C SDK +tags: + - Agents + - C SDK + - Install and configure +metaDescription: How to temporarily disable the New Relic C SDK or uninstall and remove it completely from your application's code library. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Suivez ces procédures selon le cas pour désactiver temporairement le C SDK dans la bibliothèque de code de votre application ou pour le supprimer complètement. + +## Écrivez une instrumentation que vous pouvez désactiver [#disable] + +En tant que bibliothèque C offrant un accès direct à l’API New Relic, le C SDK ne peut pas être activé ou désactivé directement. Cependant, vous pouvez écrire votre code pour le SDK afin qu'une recompilation et un déploiement rapides puissent activer ou désactiver votre instrumentation. + +Une approche consiste à utiliser une macro `#ifdef` . En entourant toute votre instrumentation dans des macros `#ifdef` et en définissant la valeur de `YOURNAMESPACE_NEWRELIC_ENABLED` avec votre système de build, vous pourrez rapidement activer ou désactiver l'instrumentation de New Relic dans vos programmes basés sur C/C++ en les recompilant puis en redéployant l'application. + + + + ```c + // replace `YOURNAMESPACE` with something that's unique to + // your company/project to ensure a unique name + #ifdef YOURNAMESPACE_NEWRELIC_ENABLED + int priority = 50; + newrelic_txn_t* txn = newrelic_start_non_web_transaction(app, transaction_name); + + ... + + if (err) { + newrelic_notice_error(txn, priority, "Meaningful error message", "Error.class"); + } + + ... + + newrelic_end_transaction(&txn); + #endif + ``` + + + +## Désinstaller complètement [#uninstall] + +Pour supprimer complètement le New Relic C SDK de la bibliothèque de code de votre application : + +1. Supprimez le lien vers `libnewrelic.a` dans votre système de build. +2. Supprimez tous les New Relic appels d'API de votre application code . +3. Recompilez et redéployez votre application. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/update-your-c-sdk-library.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/update-your-c-sdk-library.mdx new file mode 100644 index 00000000000..1caae0ab4d6 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/install-configure/update-your-c-sdk-library.mdx @@ -0,0 +1,30 @@ +--- +title: Mettez à jour votre bibliothèque C SDK +tags: + - Agents + - C SDK + - Install and configure +metaDescription: How to make sure you have the latest version of New Relic's C SDK for your application's code library. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Pour vous assurer que vous disposez de la version la plus récente du SDK New Relic C pour la bibliothèque de code de votre application, consultez les [notes de sortie](/docs/release-notes/agent-release-notes/c-release-notes). + +## Mettez à jour votre bibliothèque de code C SDK [#update-production] + +Pour mettre à jour la bibliothèque de code de votre application vers la dernière version du C SDK de New Relic : + +1. Consultez les modifications apportées à la bibliothèque C SDK pour vérifier que votre code est compatible. +2. Mettez à jour manuellement le code de votre application, le cas échéant. +3. Compile the C C SDKode, using the [`make`](https://github.com/newrelic/c-sdk#building) command, to create the latest version of the `libnewrelic.a` and link it into your application or service. +4. Le cas échéant, redéployez votre application dans votre environnement de test. +5. Générez du trafic pour votre application, puis vérifiez son fichier `c_sdk.log` et sa sortie `newrelic-daemon.log` pour détecter d'éventuelles erreurs. +6. Redéployez votre application dans votre environnement de production. +7. Attendez quelques minutes que votre application envoie des données à New Relic. Ensuite, vérifiez les performances de votre application dans [New Relic](/docs/apm/applications-menu/monitoring/apm-overview-page). + +Si aucune donnée n'apparaît au bout de quelques minutes, suivez les [conseils de dépannage](/docs/apm/agents/c-sdk/troubleshooting/no-data-appears-c-sdk). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/distributed-tracing-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/distributed-tracing-c-sdk.mdx new file mode 100644 index 00000000000..dee869d0abe --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/distributed-tracing-c-sdk.mdx @@ -0,0 +1,189 @@ +--- +title: Tracing distribué pour vos services C +tags: + - Agents + - C SDK + - Instrumentation +metaDescription: 'For the New Relic C SDK: how to implement distributed tracing across your C language applications and services.' +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Le traçage distribué vous permet de voir l'intégralité du parcours de vos requests à travers un [systèmes distribués](/docs/distributed-tracing/concepts/introduction-distributed-tracing). Le [C SDK](https://github.com/newrelic/c-sdk) prend en charge [le traçage standard distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works/#head-based) avec échantillonnage en début de workflow. Il ne prend pas en charge la fonctionnalité appelée Infinite Tracing ou W3C Trace Context. + +Le C SDK nécessite que vous instrumentez manuellement vos services C, contrairement à l'auto-instrumentation d'autres agents New Relic . Cela signifie que vous devez ajouter quelques lignes à votre code pour utiliser le C SDK, puis ajouter une configuration supplémentaire pour activer le traçage distribué. + +Voici comment commencer : + +* [Instrumenter un exemple de programme (recommandé) :](#quick-start-apm) Un moyen rapide de commencer +* [Instrumenter les transactions et requêtes HTTP](#guidelines) + + + Si vous souhaitez en savoir plus avant de commencer, consultez ces sujets : + + * [Le fonctionnement de l'échantillonnage de portée](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#sampling) explique le traçage distribué des options. + * [Impacts sur APM](/docs/apm/distributed-tracing/getting-started/transition-guide-distributed-tracing) vous indique à quoi vous attendre si vous êtes un utilisateur actuel mais que vous n'avez pas configuré le traçage distribué. + + +## Instrumenter un exemple de programme (recommandé) : [#quick-start-apm] + +Il s'agit d'un moyen rapide de voir comment installer le C SDK et instrumenter un service avec [un traçage standard distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works/#head-based). + +Avant de commencer les étapes principales : + +* Vous aurez besoin d'un compte New Relic pour configurer le traçage distribué. Si vous n'en avez pas encore, vous pouvez rapidement [créer un compte gratuit](https://newrelic.com/signup). Notez que ce lien vous mènera vers un autre site pour terminer l'inscription, mais vous pouvez revenir ici et suivre les étapes de configuration ci-dessous. +* Assurez-vous de répondre aux [exigences](/docs/apm/agents/c-sdk/get-started/c-sdk-compatibility-requirements). + +### Étape 1. Identifier les services + +Déterminez quels services touchent à votre demande afin de pouvoir instrumenter chacun d'eux pour envoyer des données trace à New Relic. + +### Étape 2. Instrumenter chaque service avec un agent APM [#update-agents] + +Nous avons un exemple de la façon d'installer le C SDK et instrumenter un exemple d'application afin qu'il commence à signaler la télémétrie à New Relic. Une fois que vous avez compris comment cela fonctionne, vous pouvez appliquer les principes à chacun de vos services C impliqués dans vos requests. Si certains de vos services utilisent d’autres langues, suivez simplement les [étapes d’installation](/docs/distributed-tracing/enable-configure/quick-start) pour ces langues. + +Avant d'accéder à l'exemple de service ci-dessous, notez qu'il vous demandera de créer un [`newrelic_app_config_t`](https://newrelic.github.io/c-sdk/structnewrelic__app__config__t.html) par défaut, mais vous devrez également ajouter `distributed_tracing.enabled` et le définir sur `true`: + +```c +#include +#include +#include + +/* +* A standalone example that demonstrates to users how to +* configure logging, configure an app, connect an app, +* start a transaction and a segment, and cleanly destroy +* everything. +*/ +#include "libnewrelic.h" + +int main(void) { + newrelic_app_t* app; + newrelic_txn_t* txn; + newrelic_app_config_t* config; + newrelic_segment_t* seg; + + config = newrelic_create_app_config("", "9931ae06b54780ab846c16fc602b5778ead3907f"); + config->distributed_tracing.enabled = true; + ... + +``` + +Pour tester le programme d'exemple, [cliquez ici](https://one.newrelic.com/launcher/nr1-core.settings?pane=eyJuZXJkbGV0SWQiOiJ0dWNzb24ucGxnLWluc3RydW1lbnQtZXZlcnl0aGluZyJ9&cards%5B0%5D=eyJuZXJkbGV0SWQiOiJzZXR1cC1uZXJkbGV0cy5zZXR1cC1jLWludGVncmF0aW9uIiwiYWNjb3VudElkIjoyNjQwNDA5fQ==&platform%5BaccountId%5D=2498654&platform%5BtimeRange%5D%5Bduration%5D=1800000&platform%5B$isFallbackTimeRange%5D=true). + +### Étape 3. Afficher la trace [#view-traces] + +Après avoir instrumenté chacun de vos services avec l'agent APM, générez du trafic dans votre application afin que nous puissions capturer une trace. Voici quelques façons d'afficher votre trace dans l'UI: + + + + Voici une façon de voir la trace d’un service particulier : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & services**. + 2. Cliquez sur votre entité (service). + 3. Dans la section **Monitor** du volet de gauche, cliquez sur **Distributed tracing**. + 4. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 5. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Pour voir la trace de ces comptes croisés : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Traces**. + 2. Sélectionnez votre entité (service) dans le volet de gauche. + 3. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 4. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Vous pouvez rassembler votre log et vos détails de traçage pour rendre le dépannage plus facile et plus rapide. Avec les [logs en contexte](/docs/logs/logs-context/configure-logs-context-apm-agents/), vous pouvez voir le message du à côté de log la trace dans l'UI de New Relic. + + Après avoir localisé une trace intéressante en suivant les étapes décrites dans [Afficher la trace qui inclut un service spécifique](#entity-explorer) ou [Afficher la trace sur plusieurs comptes](#cross-acct-traces), procédez comme suit : + + 1. Si vous avez activé les journaux en contexte, cliquez sur l'onglet **Logs** (à côté de **Trace details**). + 2. Pour afficher les détails relatifs à un log individuel, cliquez directement sur le message. + + + +Pour plus d'aide pour trouver votre trace dans l'UI: + +* [Comprendre et utiliser l'UI de tracing distribué](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui) +* [Interroger les données de traces distribuées](/docs/understand-dependencies/distributed-tracing/ui-data/query-distributed-trace-data) + +## Instrumenter les transactions et requêtes HTTP [#guidelines] + +Pour les transactions qui se produisent dans plusieurs services, les traces distribuées contiennent des informations qui permettent New Relic de les assembler dans une trace de transaction complète. Cependant, si les services monitorés par New Relic n'envoient pas de contexte de trace, cela entraînera des détails de trace incomplets. Pour plus d'informations, consultez la documentation sur [la transmission de l'en-tête API de traçage distribué](/docs/understand-dependencies/distributed-tracing/enable-configure/enable-distributed-tracing#agent-apis) et la [documentation de traçage distribué du C SDK sur GitHub](https://github.com/newrelic/c-sdk/blob/master/GUIDE.md#distributed-tracing). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Créer et renvoyer une charge utile à envoyer au service appelé + + ``` + newrelic_create_distributed_trace_payload() + ``` +
+ Accepter une charge utile envoyée depuis le premier service + + ``` + newrelic_accept_distributed_trace_payload() + ``` + + Cela liera ces services ensemble dans une trace. +
+ Renvoyer une représentation de chaîne JSON codée en base64 de la charge utile + + ``` + newrelic_create_distributed_trace_payload_httpsafe() + ``` + + Cela offre le même comportement que `newrelic_create_distributed_trace_payload()`. +
+ Accepter une chaîne codée en base64 pour la charge utile + + ``` + newrelic_accept_distributed_trace_payload_httpsafe() + ``` + + Cela offre le même comportement que `newrelic_accept_distributed_trace_payload()`. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/guide-using-c-sdk-api.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/guide-using-c-sdk-api.mdx new file mode 100644 index 00000000000..b1fdcd73360 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/guide-using-c-sdk-api.mdx @@ -0,0 +1,427 @@ +--- +title: Guide d'utilisation de l'API C SDK +tags: + - Agents + - C SDK + - Instrumentation +metaDescription: Quick reference of New Relic C SDK API calls you can use to manually instrument your application's code. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Le C SDK de New Relic monitore votre application et microservices pour vous aider à identifier et à résoudre les problèmes de performances. Application C exécutée à partir d'un fichier binaire natif compilé. Afin de monitorer [les transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm), vous devez instrumenter manuellement votre code en y ajoutant des méthodes New Relic . + +Ce guide vous aide à décider quelle méthode utiliser. Le code de la méthode, les paramètres requis et les exemples se trouvent dans [la documentation du C SDK de New Relic sur GitHub](https://newrelic.github.io/c-sdk/index.html). + +## Assurez-vous que votre personnalisation est thread-safe [#thread-safety] + +Le C SDK prend en charge instrumentation d'applications multithread, mais il doit être initialisé avant d'instrumenter plusieurs threads. Lorsque vous appelez l’une des fonctions suivantes, assurez-vous qu’elles sont **called on the main thread** avant d’appeler toute autre fonction du C SDK : + +* [`newrelic_configure_log`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a8922f48a2b92714fb2fc05ad7bd5c003) +* [`newrelic_init`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a03f07e64a51b5f0cd51caa4f28c8b6c1) + +## Monitorer les transactions [#monitor-tx] + +Avant d’ instrumenté manuellement votre code pour monitorer les transactions : + +1. Vérifiez la [compatibilité et les exigences du C SDK](/docs/c-agent-compatibility-requirements) pour votre application. +2. Assurez-vous que vous utilisez la dernière version de la bibliothèque C SDK et [mettez-la à jour](/docs/update-your-c-agent-library) si nécessaire. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Commencer à chronométrer une transaction Web + + [`newrelic_start_web_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#adbf7c1fa57482f6e0a7f291e0b5ec80f) +
+ Commencer à chronométrer une transaction non Web + + [`newrelic_start_non_web_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a88648cc287f8d7e371139dc3809b7afb) +
+ Arrêtez de chronométrer une transaction + + `newrelic_end_transaction()` +
+ Empêcher une transaction d'être signalée à New Relic + + [`newrelic_ignore_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a7b41f8690c3b2b7e024a16fa4bb59320) +
+ +## Méthodes temporelles spécifiques utilisant des segments [#segments] + +Si une transaction est déjà visible dans New Relic, mais que vous ne disposez pas de suffisamment de données sur une méthode particulière qui a été appelée au cours de cette transaction, vous pouvez [instrumenter des segments](/docs/instrument-your-app-c-sdk#segments). Par exemple, si vous souhaitez chronométrer une méthode dotée d’une logique complexe, vous pouvez créer un segment pour chacune des méthodes de la transaction. + +Pour instrumenter une méthode dans une transaction existante, créez des segments pour l’un des éléments suivants : + +* Services externes +* Fonctions ou autres blocs de code arbitraires (utilisant des segments personnalisés) +* Magasins de données +* Traces de requête lentes (banques de données SQL uniquement) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Commencer à chronométrer un segment + + ```c + newrelic_start_datastore_segment() + newrelic_start_external_segment() + newrelic_start_segment() + ``` +
+ Arrêter de chronométrer un segment + + `newrelic_end_segment()` +
+ Parentalité manuelle des segments + + `newrelic_set_segment_parent()` et `newrelic_set_segment_parent_root()` + + Cela est utile, par exemple, avec un processus asynchrone lorsque vous souhaitez visualiser un segment en tant qu'enfant de l'appel de niveau supérieur de la transaction. Pour plus d'informations, consultez la [documentation relative à la parentalité des segments manuels sur GitHub](https://github.com/newrelic/c-sdk/blob/master/GUIDE.md#manual-segment-parenting). +
+ +Les segments sont enregistrés sur la transaction active. Lorsque vous ajoutez un segment à une transaction active, vous devez accéder au `newrelic_txn_t*` ou au pointeur de transaction, renvoyé par `newrelic_start_web_transaction()` ou `newrelic_start_non_web_transaction()`. + +## Améliorer les métadonnées d'une transaction [#metadata] + +Vous pouvez gérer les métadonnées que New Relic signale pour les transactions. Ceci est utile lorsque vous souhaitez un niveau de détail différent pour vos transactions. Par exemple: + +* Si vous rencontrez un [problème de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues#video), vous pouvez modifier les noms par défaut de vos transactions pour les rendre plus identifiables. +* Si vous souhaitez créer pour vos transactions, vous pouvez ajouter un attribut personnalisé. + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Ajoutez des métadonnées (telles que le nom de compte ou le niveau d'abonnement de vos clients) à votre transaction + + Ajoutez des attributs personnalisés à votre transaction en fonction de leur type : + + * [`newrelic_add_attribute_int()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a1f0fe987526c023a2101111b7ee557b3) + * [`newrelic_add_attribute_string()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a9eac445521cecdd046520d2178f232a0) + * [`newrelic_add_attribute_long()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a2a082a144cff6c805c6373d9d4f1f551) + * [`newrelic_add_attribute_double()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#abfe6f64a8eec7d60d8588f8969781d34) +
+ +## Instrumenter les appels à des services externes [#externals] + +Utilisez ces méthodes pour collecter des données sur les connexions de votre application à d’autres applications ou bases de données : + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué + + Suivez les procédures pour activer et instrumenter [le traçage distribué](/docs/agents/c-sdk/instrumentation/enable-distributed-tracing-your-c-applications). +
+ Chronométrer un appel vers une ressource externe (comme un service externe, un serveur de base de données ou un fichier d'attente des messages) + + Suivez les procédures pour [instrumenter les appels vers des segments externes](/docs/instrument-your-app-c-sdk#external-segments). +
+ +## Collecter ou logger les erreurs [#errors] + +Le C SDK détecte automatiquement les erreurs. Si vous souhaitez modifier la manière dont les erreurs sont signalées à New Relic, modifiez la configuration du collecteur d'erreurs. + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Définissez les niveaux de logging pour votre application + + Utilisez `newrelic_configure_log()` pour configurer le log du C SDK et les indicateurs de ligne de commande pour configurer le log du daemon C. Pour plus d'informations, consultez la [documentation de logging du C SDK.](/docs/generate-logs-troubleshooting-c-sdk)j +
+ Signaler une erreur + + [`newrelic_notice_error()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a02a9a959015a0ca68ce11c750f690475) +
+ +## Envoyez des données personnalisées depuis votre application [#custom-data] + +Pour enregistrer [des données personnalisées](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data) avec le C SDK, vous pouvez utiliser l’une des méthodes suivantes : + +* **Custom events:** Chez New Relic, les données [d’événement](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#event) sont un type de données fondamental. Les données d'événement représentent un enregistrement d'un seul événement à un moment donné. Ceci est utile pour afficher ou interroger des détails spécifiques. +* **Custom event attributes:** Pour inclure des métadonnées supplémentaires sur l'événement, vous pouvez ajouter des paires de valeurs clés ([attribut personnalisé](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#event)) à votre événement personnalisé. +* **Custom metrics:** [L'intervalle de temps métrique](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#metric) est la mesure statistique des données que New Relic agrège afin que vous puissiez les visualiser dans l'UI et les représenter graphiquement. Généralement, les données métriques ont une période de conservation plus longue que les données événementielles. + + + + Le C SDK fournit une API d'événement personnalisé qui vous permet d'envoyer [un événement personnalisé](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) à New Relic. Pour envoyer un événement, démarrez une transaction et utilisez les fonctions `newrelic_create_custom_event` et `newrelic_record_custom_event` . Par exemple: + + ``` + // txn is a newrelic_txn_t*, created via newrelic_start_web_transaction + newrelic_custom_event_t* custom_event=0; + custom_event = newrelic_create_custom_event("aTypeForYourEvent"); + newrelic_record_custom_event(txn, &custom_event); + ``` + + Assurez-vous de consulter les [exigences et les limites des données personnalisées](/docs/insights/insights-data-sources/custom-data/insights-custom-data-requirements-limits) pour obtenir des conseils sur les valeurs autorisées et non autorisées dans votre événement personnalisé. Pour plus d'informations, voir [événement personnalisé dans APM](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents). + + + Si vous avez créé un événement personnalisé mais que vous devez le supprimer avant la fin de la transaction, utilisez `newrelic_discard_custom_event(&custom_event);`. + + + + + Vous pouvez également ajouter les attributs `int`, `long`, `double` et `char*` (chaîne) à votre événement personnalisé en utilisant la famille de fonctions `newrelic_custom_event_add_*` . Par exemple: + + ``` + // Example custom attributes: + newrelic_custom_event_t* custom_event=0; + custom_event = newrelic_create_custom_event("aTypeForYourEvent"); + + newrelic_custom_event_add_attribute_int(custom_event, "keya", 42); + newrelic_custom_event_add_attribute_long(custom_event, "keyb", 84); + newrelic_custom_event_add_attribute_double(custom_event, "keyc", 42.42); + newrelic_custom_event_add_attribute_string(custom_event, "keyd", "A string"); + + newrelic_record_custom_event(txn, &custom_event); + ``` + + Pour plus d'informations, consultez la documentation sur [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes). + + + + Le C SDK fournit la fonction [`newrelic_record_custom_metric()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#aee71182588ace508cc816044d2024ff3) . Cela vous permet d'enregistrer des données de performances basées sur le temps à l'aide d'un appel d'API, telles que : + + * Données de synchronisation des transactions + + * Données sur les ressources informatiques + + * Abonnement ou achat de données + + Pour créer une métrique personnalisée, fournissez un nom ou un autre identifiant et une durée en millisecondes à la fonction, ainsi que la transaction active. + + + Préfixez toujours les noms de métriques personnalisées avec `Custom/`. + + + Par exemple: + + ```c + // txn is a newrelic_txn_t*, created via newrelic_start_web_transaction + + // Record a metric value of 100ms in the transaction txn + newrelic_record_custom_metric(txn, "Custom/MyMetric/My_label", 100); + ``` + + Pour plus d'informations, voir [Collecter des métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/collect-custom-metrics). + + + +Voici quelques façons d’utiliser vos données personnalisées. Pour plus de détails sur le code et des exemples pour ces options, consultez la [documentation des variables globales New Relic sur GitHub](https://newrelic.github.io/c-sdk/globals.html). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Créez un événement personnalisé à renseigner avec un horodatage et un attribut. + + [`newrelic_create_custom_event()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a83b5b78623bcefda6d4e1e6d207f7b7a) +
+ Horodatage et ajoutez l'événement personnalisé à la transaction en cours afin que vous puissiez l'interroger ou le visualiser. + + [`newrelic_record_custom_event()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a4af935da4651e398e3773c148e8db814) +
+ Améliorez votre événement personnalisé avec des métadonnées supplémentaires. + + Ajoutez l'attribut événement personnalisé à votre événement personnalisé en fonction du type : + + * [`newrelic_custom_event_add_attribute_double()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#af84bdcea08fbefb2023b47907a304188) + * [`newrelic_custom_event_add_attribute_int()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#ade406683e960b53a1b4a2d832872ab1a) + * [`newrelic_custom_event_add_attribute_long()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a0ee8f438644f7699c8427fe231d7ffc1) + * [`newrelic_custom_event_add_attribute_string()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#aa59111072aaa6d539adf6745c5dbfaa4) +
+ Supprimez un événement personnalisé après sa création, mais avant la fin de sa transaction, pour éviter de le signaler à New Relic. + + [`newrelic_discard_custom_event`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a15aa71f0d4fac8fec8f4105c2c1d8dde) + + Cela est nécessaire pour libérer la mémoire allouée à votre événement personnalisé indésirable afin d'éviter les fuites dans votre programme. +
+ Signalez une durée de performances personnalisée que vous pouvez rechercher ou tracer. + + [`newrelic_record_custom_metric()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#aee71182588ace508cc816044d2024ff3) +
+ +## Monitorer les performances du navigateur de bureau [#browser] + +Pour monitorer les performances du navigateur de bureau pour votre application, installez l'agent de navigateur en utilisant la [méthode copier/coller](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#copy-paste-app). + +## Modifier les paramètres de configuration [#configuration] + +En règle générale, les paramètres par défaut de la configuration de votre application n'ont pas besoin d'être modifiés. Toutefois, si nécessaire, vous pouvez ajuster certains paramètres. Pour plus d'informations, consultez la [documentation de configuration du C SDK.](/docs/c-agent-configuration) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-errors-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-errors-c-sdk.mdx new file mode 100644 index 00000000000..3f13d5af55f --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-errors-c-sdk.mdx @@ -0,0 +1,40 @@ +--- +title: Erreurs d'instrumenter avec le C SDK +metaDescription: Learn how to instrument errors in your C application so you can monitor them with New Relic. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +New Relic définit un [Web ou une transaction non Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) comme une unité de travail logique dans une application logicielle. Une fois que vous [instrumentez une transaction](/docs/instrument-transactions-c-agent), vous pouvez également instrumenter les erreurs dans la transaction afin de pouvoir les monitorer dans l'UI de New Relic. Afin d'utiliser le C SDK pour monitorer les erreurs, vous devez instrumenter manuellement votre source de code en y ajoutant la fonction New Relic `newrelic_notice_error()`. + + + Pour inclure les appels de fonction dans la trace d'erreur, utilisez l'indicateur de lien `-rdynamic` de GNU pour [lier vos applications lors de la compilation](/docs/install-c-agent-compile-link-your-code#compile). L'indicateur de lien `-rdynamic` vous donne une trace d'erreur plus significative. + + +## Instrumenter les erreurs dans les transactions [#errors] + +Pour instrumenter les erreurs dans les transactions : + +1. [Démarrer une transaction](/docs/instrument-transactions-c-agent#start-transaction). +2. Enregistrez une erreur avec `newrelic_notice_error()`, en fournissant le paramètre requis. +3. [Terminer la transaction](/docs/instrument-transactions-c-agent#end-transaction). + +## Afficher les erreurs + +Les erreurs de transaction et la [trace d'erreur](#error-trace-examples) apparaissent sur la [**Error analytics** page](/docs/apm/applications-menu/error-analytics/error-analytics-manage-error-traces) dans l'UI de New Relic. Le C SDK signale le nombre total d'erreurs et jusqu'à 100 traces d'erreurs par minute sur la page **Error analytics** . + +Vous pouvez également afficher, interroger et visualiser les erreurs de transaction en tant qu'événement `TransactionError` . + +## Examiner le log pour obtenir des détails sur les erreurs [#logs-context] + +Vous pouvez rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/c-sdk-configure-logs-context/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. + +1. Depuis la page **Errors**, cliquez sur une trace pour accéder à la [page**Error details** ](/docs/apm/apm-ui-pages/error-analytics/errors-page-find-fix-verify-problems/). +2. Dans la page des détails de l’erreur, cliquez sur **See logs**. +3. Pour afficher les détails relatifs à un message individuel du log, cliquez directement sur le message. + +Vous pouvez également voir les journaux en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. Pas besoin de passer à une autre page UI . \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-transactions-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-transactions-c-sdk.mdx new file mode 100644 index 00000000000..752ab239f86 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-transactions-c-sdk.mdx @@ -0,0 +1,47 @@ +--- +title: transactions d'instruments avec le C SDK +metaDescription: Learn how to instrument transactions in your C application so you can monitor them with New Relic. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +[transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) d'instruments à l'aide du C SDK afin que vous puissiez monitorer n'importe quelle application sur Linux qui utilise un langage pouvant importer la bibliothèque C. Après avoir manuellement instrumenté les transactions dans votre source de code en ajoutant des New Relic fonctions, vous pouvez afficher les données sur la [**Transactions** page](/docs/apm/applications-menu/monitoring/transactions-page) dans l'UI de New Relic. + +## instrumenter une transaction [#c-agent-txn] + +Pour instrumenter une transaction afin de pouvoir la monitorer dans l'UI de New Relic, encapsulez les New Relic fonctions qui démarrent et arrêtent instrumentation autour de la transaction. La fonction que vous utilisez dépend de si vous souhaitez instrumenter une [transaction Web ou non Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm#types). + +1. Ajoutez le code suivant immédiatement **before** après la transaction que vous souhaitez monitorer : + + Pour les transactions Web : + + ```c + newrelic_txn_t *txn; + /* ... */ + txn = newrelic_start_web_transaction(app, "NAME_YOUR_TRANSACTION"); + ``` + + Pour les transactions hors Web : + + ```c + newrelic_txn_t *txn; + /* ... */ + txn = newrelic_start_non_web_transaction(app, "NAME_YOUR_TRANSACTION"); + ``` + +2. Ajoutez le code suivant immédiatement après le site Web ou la transaction non Web que vous souhaitez monitorer : + + ```c + newrelic_end_transaction(&txn); + ``` + +## Segments et erreurs de l'instrument [#segments-errors] + +Les segments sont les fonctions et les appels qui composent une transaction. Après avoir instrumenté des transactions, vous pouvez : + +* [Instrumentez les segments](/docs/instrument-segments-c-agent) d'une transaction si vous souhaitez plus de données sur les fonctions appelées au cours de cette transaction. +* [erreurs d'instrument](/docs/instrument-errors-c-agent) afin que vous puissiez utiliser l'UI de New Relic pour monitorer les erreurs qui se produisent pendant vos transactions. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-your-app-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-your-app-c-sdk.mdx new file mode 100644 index 00000000000..2b9ea9646d3 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/instrument-your-app-c-sdk.mdx @@ -0,0 +1,160 @@ +--- +title: instrumentez votre application avec le C SDK +tags: + - Agents + - C SDK + - Instrumentation +metaDescription: 'How to instrument transactions, their segments, and errors in your C application so you can monitor them with New Relic.' +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Afin de monitorer n'importe quelle application sous Linux utilisant un langage pouvant importer une bibliothèque C, vous devez : + +1. Créez une configuration en utilisant `newrelic_new_app_config()`, connectez-vous au daemon en utilisant [`newrelic_init()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a03f07e64a51b5f0cd51caa4f28c8b6c1) et connectez votre application en utilisant [`newrelic_create_app()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a61dd90439ae3cc5060021f6ab4701132). Pour plus d'informations, consultez les [procédures d'installation du C SDK.](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) +2. Instrumenter manuellement les transactions à l’aide du C SDK, comme décrit dans ce document. + +New Relic définit un [Web ou une transaction non Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) comme une unité de travail logique dans une application logicielle. Après avoir instrumenté manuellement les transactions dans votre code source en ajoutant des fonctions New Relic, vous pouvez afficher les données sur la [page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page)dans New Relic. Vous pouvez également instrumenté des segments d’une transaction et des erreurs. + +## instrumenter une transaction [#instrument-c-txn] + +Pour instrumenter une transaction afin de pouvoir la monitorer, encapsulez les fonctions New Relic qui démarrent et arrêtent instrumentation autour de la transaction. La fonction que vous utilisez dépend de si vous souhaitez instrumenter une [transaction Web ou non Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm#types). + +Dans l'exemple suivant, l'application est créée après un appel à `newrelic_create_app()`. Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + +1. Ajoutez le code suivant immédiatement **before** à la transaction que vous souhaitez monitorer, en fournissant le paramètre requis. + + Pour les transactions Web : + + ``` + // Example code: + newrelic_txn_t *txn; + /* ... */ + txn = newrelic_start_web_transaction(app, "NAME_YOUR_TRANSACTION"); + ``` + + Pour les transactions hors Web : + + ``` + // Example code: + newrelic_txn_t *txn; + /* ... */ + txn = newrelic_start_non_web_transaction(app, "NAME_YOUR_TRANSACTION"); + ``` + +2. Ajoutez `newrelic_end_transaction()` immédiatement après le Web ou la transaction non Web que vous souhaitez monitorer, en fournissant un pointeur vers la transaction, `&txn`, comme paramètre. + +## segments d'instruments [#segments] + +Une fois que vous instrumentez une transaction à l’aide du C SDK, vous pouvez instrumenter [des segments](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm#segments) dans celle-ci. Grâce aux segments instrumentés, vous pouvez monitorer les fonctions et les appels individuels à l'intérieur d'une transaction. + + + **Segments example** + + +Vous avez une transaction associée à un processus de paiement, qui traite à la fois les informations d'expédition et les informations de carte de crédit. Vous pouvez instrumenter votre application pour diviser cette transaction en deux segments : un segment pour l'expédition et un segment pour le paiement. + +Vous pouvez instrumenter des segments pour monitorer les types d'appels suivants : + +* [Services externes](#external-segments) utilisant des segments externes +* [Segments personnalisés](#custom-segments) pour code arbitraire +* [Magasins de données](#datastore-segments) utilisant des segments de magasin de données +* [trace de requête lente](#slow-query-datastore) (base de données SQL uniquement) + +Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + + + + Pour monitorer les appels vers des services externes, instrumentez les segments externes qui se trouvent dans une transaction instrumentée. Les segments externes apparaissent dans la [table **Breakdown** de la page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page-find-specific-performance-problems)et dans la [page**External services** ](/docs/apm/applications-menu/monitoring/external-services-page). + + Pour instrumenter un segment externe, encapsulez les fonctions New Relic qui démarrent et arrêtent instrumentation autour de la fonction que vous souhaitez monitorer : + + 1. [Instrumenter une transaction](#instrument-c-txn). + + 2. Créez un [`newrelic_external_segment_params_t`](https://newrelic.github.io/c-sdk/structnewrelic__external__segment__params__t.html) qui décrit le segment externe, en fournissant le paramètre requis. + + 3. Ajoutez `newrelic_start_external_segment()` immédiatement avant la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + 4. Ajoutez `newrelic_end_segment()` immédiatement après la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + + + + Pour monitorer les appels à du code arbitraire, instrumentez des segments personnalisés qui se trouvent dans une transaction instrumentée. Les segments personnalisés apparaissent dans le tableau **Breakdown** sur la [page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page-find-specific-performance-problems). + + Pour instrumenter un segment personnalisé, encapsulez les fonctions New Relic qui démarrent et arrêtent instrumentation autour de la fonction que vous souhaitez monitorer : + + 1. [Instrumenter une transaction](#instrument-c-txn). + + 2. Ajoutez `newrelic_start_segment()` immédiatement avant la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + 3. Ajoutez `newrelic_end_segment()` immédiatement après la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + + + + Pour monitorer les appels aux magasins de données, instrumentez les segments datastore dans une transaction instrumentée. les segments de magasin de données apparaissent dans la table **Breakdown** et l'onglet **Databases** sur la [page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page)dans New Relic. Vous pouvez également afficher les segments datastore en tant [qu'attribut`databaseDuration` ](/attribute-dictionary/?event=Transaction&attribute=databaseDuration)de [l'événementAPM `Transaction` ](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes). + + Pour instrumenter un segment datastore, encapsulez les fonctions New Relic qui démarrent et arrêtent instrumentation autour de la fonction que vous souhaitez monitorer : + + 1. [Instrumenter une transaction](#instrument-c-txn). + + 2. Créez un [`newrelic_datastore_segment_params_t`](https://newrelic.github.io/c-sdk/structnewrelic__datastore__segment__params__t.html) qui décrit le segment datastore . + + 3. Ajoutez `newrelic_start_datastore_segment()` immédiatement avant la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + 4. Ajoutez `newrelic_end_segment()` immédiatement après la fonction que vous souhaitez monitorer, en fournissant le paramètre requis. + + Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + + + Pour configurer la manière dont le nom de la base de données et l'instance de la base de données sont signalés, utilisez [`newrelic_datastore_segment_config_t`](https://newrelic.github.io/c-sdk/structnewrelic__datastore__segment__config__t.html). + + + + + + Vous pouvez signaler une trace de requête lente pour la base de données SQL uniquement. + + + Pour signaler les données trace des requêtes lentes pour les segments datastore qui prennent plus de temps que le temps que vous spécifiez, activez ces paramètres dans votre [newrelic\_app\_config\_t](https://newrelic.github.io/c-sdk/structnewrelic__app__config__t.html): + + 1. Activez le traçage des requêtes lentes en définissant [`transaction_tracer.datastore_reporting.enabled`](https://newrelic.github.io/c-sdk/structnewrelic__transaction__tracer__config__t.html) sur `true`. + + 2. Pour définir le seuil, ajoutez une durée en microsecondes à [`transaction_tracer.datastore_reporting.threshold_us`](https://newrelic.github.io/c-sdk/structnewrelic__transaction__tracer__config__t.html). + + Ensuite, si un appel datastore prend plus de temps que le seuil, le C SDK le signale comme une requête lente. Pour afficher les détails trace de la requête lente, utilisez les pages [**Databases**](/docs/apm/applications-menu/monitoring/databases-page) et [**Slow queries**](/docs/apm/applications-menu/monitoring/view-slow-query-details) dans New Relic. + + Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + + + +## erreurs d'instruments [#errors] + +Afin d'utiliser le C SDK pour monitorer les erreurs dans les transactions, vous devez instrumenter manuellement votre source de code en y ajoutant la fonction [`newrelic_notice_error()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a02a9a959015a0ca68ce11c750f690475) . + +Les erreurs de transaction et la trace d'erreur apparaissent sur la [page**Error analytics** ](/docs/apm/applications-menu/error-analytics/error-analytics-manage-error-traces)dans New Relic. Le C SDK signale le nombre total d'erreurs et jusqu'à 100 traces d'erreurs par minute. Vous pouvez également afficher, interroger et visualiser les erreurs de transaction en tant [qu'événementAPM `TransactionError` ](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes). + + + Pour inclure les appels de fonction dans la trace d'erreur, utilisez l'indicateur de lien `-rdynamic` de GNU pour [lier vos applications lors de la compilation](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code#compile). L'indicateur de lien `-rdynamic` vous donne une trace d'erreur plus significative. + + +Pour instrumenter les erreurs dans les transactions : + +1. [Démarrer une transaction](#start-transaction). +2. Enregistrez une erreur avec [`newrelic_notice_error()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a02a9a959015a0ca68ce11c750f690475), en fournissant le paramètre requis. +3. [Terminez la transaction](#end-transaction) en fournissant le paramètre requis. + +Pour plus d'informations, consultez les [procédures d'installation du C SDK](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code) ainsi que la [documentation du C SDK `libnewrelic.h` sur GitHub](https://newrelic.github.io/c-sdk/libnewrelic_8h.html). + +## Évitez les problèmes de regroupement métrique [#mgi] + +Lorsqu'un compte ou application envoie de nombreuses métriques individuelles qui pourraient être mieux gérées en groupes, New Relic utilise le terme **metric grouping issue** ou **MGI** pour décrire cette situation. Si votre application envoie des quantités de données inutilement importantes à New Relic, cela réduit l'efficacité des graphiques, des tableaux et des rapports. + +Les problèmes de regroupement métrique se produisent le plus souvent avec les transactions Web, en particulier si le nom est basé sur des URL. Pour éviter cette situation, consultez [Problèmes de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/use-default-or-custom-attributes-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/use-default-or-custom-attributes-c-sdk.mdx new file mode 100644 index 00000000000..e80cbafc9b6 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/instrumentation/use-default-or-custom-attributes-c-sdk.mdx @@ -0,0 +1,31 @@ +--- +title: Utiliser la valeur par défaut ou l'attribut personnalisé (C SDK) +tags: + - Agents + - C SDK + - Instrumentation +metaDescription: You can create custom attributes for your C app to supplement the New Relic event data that automatically includes default APM attributes. +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +Dans New Relic, **attributes** sont des paires valeur-clé contenant des informations qui déterminent les propriétés d'un [événement](/docs/accounts-partnerships/getting-started-new-relic/glossary#event) ou [d'une transaction](/docs/accounts-partnerships/getting-started-new-relic/glossary#transaction). Ces paires valeur clé peuvent vous aider à obtenir des informations plus détaillées sur votre application et [à interroger vos données](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder). + +## Afficher et utiliser l'attribut [#locations] + +L'[attribut APM par défaut](/docs/insights/new-relic-insights/decorating-events/apm-default-attributes-insights#transaction-event) et [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes) pour votre application C apparaissent dans : + +* [Analyse](/docs/apm/applications-menu/error-analytics/introduction-error-analytics) APM [des traces de transactions](/docs/apm/transactions/transaction-traces/introduction-transaction-traces)et des erreurs +* [Événement APM](/docs/insights/explore-data/attributes/apm-default-attributes-insights) + +## Attribut spécifique à C [#attributes] + + + Avant de créer des attributs personnalisés, consultez la liste des [termes réservés utilisés par NRQL](/docs/insights/insights-data-sources/custom-data/insights-custom-data-requirements-limits#reserved-words) de New Relic. Dans le cas contraire, des résultats inattendus pourraient survenir. + + +Pour ajouter un attribut personnalisé à votre application C, appelez l'une des [fonctions d'attribut dans l'API C SDK](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#abfe6f64a8eec7d60d8588f8969781d34); par exemple, `newrelic_add_attribute_double()`. Le nom de clé de votre attribut personnalisé dépend de ce que vous spécifiez lorsque vous appelez la fonction. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/generate-logs-troubleshooting-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/generate-logs-troubleshooting-c-sdk.mdx new file mode 100644 index 00000000000..9668e836fbf --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/generate-logs-troubleshooting-c-sdk.mdx @@ -0,0 +1,79 @@ +--- +title: Générer un log de dépannage (C SDK) +type: troubleshooting +tags: + - Agents + - C SDK + - Troubleshooting +metaDescription: 'New Relic C SDK: Gather detailed log file data for the SDK and daemon to diagnose problems, then return logs to their default levels.' +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +## Problème + +Vous rencontrez des problèmes lors de l'envoi de données à New Relic avec une application instrumentée avec le C SDK, mais vous n'êtes pas sûr de la cause. + +## Solution + +Le SDK New Relic C et son daemon ont leur propre log : + +* **C SDK logs:** Ces journaux sont générés en raison d'erreurs dans la façon dont vous avez instrumenté votre code à New Relic l'aide de l'API C SDK. +* **Daemon logs:** Il s'agit des journaux liés à la transmission de données à New Relic. + +Pour aider à résoudre un problème, nous vous recommandons de générer un log à son niveau le plus élevé : + +1. Définissez le [logdu C SDK](#c-sdk-logs) au niveau `verbose` et le [log de daemon](#daemon-logs) au niveau `debug`. +2. Exécutez les deux journaux pendant 5 à 10 minutes. +3. Après avoir généré le log de dépannage, remettez le logging du C SDK et du daemon à leurs niveaux par défaut. + + + Des niveaux de logging élevés peuvent créer de gros fichiers log et avoir un impact sur les performances. Générer un log à ce niveau uniquement le temps nécessaire au dépannage. + + + + + Le C SDK possède quatre niveaux de log, tels que définis par `enum _newrelic_loglevel_t` dans `libnewrelic.h`. Par défaut, les logs sont définis sur `NEWRELIC_LOG_INFO` et la sortie est sur l'erreur standard. Le niveau de log comprend : + + ``` + NEWRELIC_LOG_ERROR + NEWRELIC_LOG_WARNING + NEWRELIC_LOG_INFO (default) + NEWRELIC_LOG_DEBUG + ``` + + Pour définir un niveau de log différent à des fins de dépannage : appelez [`newrelic_configure_log()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a8922f48a2b92714fb2fc05ad7bd5c003) dans votre code application et définissez un niveau de log. Par exemple: + + ```c + newrelic_configure_log("./c_sdk.log", NEWRELIC_LOG_INFO); + ``` + + + + Le daemon C SDK a quatre niveaux de log. Par défaut, les logs sont définis sur `info` et la sortie est sur l'erreur standard. Le niveau de log comprend : + + ``` + error + warning + info (default) + debug + ``` + + Ces niveaux de log sont invoqués à l'aide d'indicateurs de la ligne de commande : + + ```sh + --logfile # Sets the path to the log file. + --loglevel # Sets the log level. Default: info. + ``` + + Pour définir un niveau de log différent à des fins de dépannage : À partir de la ligne de commande, définissez un indicateur de niveau de log différent. Par exemple: + + ```sh + ./newrelic-daemon -f -logfile stdout -loglevel debug + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/no-data-appears-c-sdk.mdx b/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/no-data-appears-c-sdk.mdx new file mode 100644 index 00000000000..2f9ec6606cc --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/c-sdk/troubleshooting/no-data-appears-c-sdk.mdx @@ -0,0 +1,39 @@ +--- +title: Aucune donnée n'apparaît (C SDK) +type: troubleshooting +tags: + - Agents + - C SDK + - Troubleshooting +metaDescription: 'If your app is being monitored by the New Relic C SDK but isn''t reporting data, follow these troubleshooting tips.' +freshnessValidatedDate: never +translationType: machine +--- + + + À partir d'avril 2022, nous ne prenons pas en charge la fonctionnalité C SDK. Pour plus de détails, consultez notre [publication sur le forum d'assistance](https://discuss.newrelic.com/t/q1-bulk-eol-announcement-fy23/181744). + + +## Problème + +Vous [avez installé le SDK New Relic C](/docs/install-c-agent-compile-link-your-code), généré du trafic pour votre application et attendu quelques minutes, mais vous ne voyez toujours pas de rapport de données dans APM. + +## Solution + +Ces conseils de dépannage sont classés approximativement du problème le plus courant au moins courant. + +1. Vérifiez la sortie dans le [C SDK et le fichier de log daemon](/docs/generate-logs-troubleshooting-c-sdk) pour les erreurs. + +2. Assurez-vous que le [processus daemon (`newrelic-daemon`)](/docs/install-c-sdk-compile-link-your-code#daemon) est opérationnel afin qu'il soit invoqué **before** au démarrage de votre application instrumentée. + +3. Vérifiez le nom de votre application et dans votre [configuration C SDK](/docs/c-sdk-configuration). + +4. Assurez-vous d'appeler : + + * [`newrelic_create_app()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a61dd90439ae3cc5060021f6ab4701132) + * [`newrelic_start_web_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#adbf7c1fa57482f6e0a7f291e0b5ec80f) ou [`newrelic_start_non_web_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a88648cc287f8d7e371139dc3809b7afb) selon le cas + * [`newrelic_end_transaction()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#acbd88933d620c21b7b19f12b6f042da8) + + Assurez-vous également qu'aucun de ces appels ne renvoie `false` ou `NULL`. + +5. Si nécessaire, vérifiez la version du C SDK à l'aide de [`newrelic_version()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#a8aec87e54af38e466fc5f715ef591d10) et [mettez à jour votre bibliothèque C SDK](/docs/update-your-c-sdk-library) vers la dernière version. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/api-guides/guide-using-go-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/api-guides/guide-using-go-agent-api.mdx new file mode 100644 index 00000000000..2af80cafa71 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/api-guides/guide-using-go-agent-api.mdx @@ -0,0 +1,535 @@ +--- +title: Guide d'utilisation de l'API d'agent Go +tags: + - Agents + - Go agent + - API guides +metaDescription: Learn what you can do extend the agent's standard functionality by using the New Relic Go agent API. +freshnessValidatedDate: never +translationType: machine +--- + +L'[agent Go de New Relic](/docs/agents/go-agent/get-started/introduction-new-relic-go) monitore votre application en langage Go et microservices pour vous aider à identifier et à résoudre les problèmes de performances. L'API d'agent Go est l'une des nombreuses [New Relic API](/docs/apis/getting-started/introduction-new-relic-apis) disponibles. + + + Étant donné que l'application Go s'exécute à partir d'un fichier binaire natif compilé, vous devez [instrumenter manuellement votre code](/docs/agents/go-agent/get-started/instrument-go-transactions) pour monitorer les transactions de votre application Go en y ajoutant des méthodes New Relic . + + +## Monitorer les transactions [#monitor] + +Avant d'instrumenter manuellement votre code pour monitorer [les transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm), assurez-vous que vous respectez la [compatibilité et les exigences](/docs/agents/go-agent/get-started/go-agent-compatibility-requirements) et que vous utilisez la [dernière version de l'agent Go](/docs/release-notes/agent-release-notes/go-release-notes). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez cette méthode... +
+ Commencer à chronométrer une transaction + + [`StartTransaction()`](/docs/agents/go-agent/get-started/instrument-go-transactions#go-txn) +
+ Arrêtez de chronométrer une transaction + + [`txn.End()`](/docs/agents/go-agent/get-started/instrument-go-transactions#go-txn) +
+ Empêcher une transaction d'être signalée à New Relic + + [`Ignore()`](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#Transaction.Ignore) +
+ Utilisez le package de bibliothèque HTTP standard pour monitorer les transactions + + [Enveloppement de requête HTTP](/docs/agents/go-agent/get-started/instrument-go-transactions#http-handler-txns) +
+ +## Méthodes temporelles spécifiques utilisant des segments [#segments] + +Si une transaction est déjà visible dans New Relic, mais que vous ne disposez pas de suffisamment de données sur une méthode particulière qui a été appelée au cours de cette transaction, vous pouvez créer [des segments](/docs/agents/go-agent/get-started/instrument-go-segments). Par exemple, si vous souhaitez chronométrer une méthode dotée d’une logique complexe, vous pouvez créer un segment pour chacune des méthodes de la transaction. + +Pour instrumenter une méthode dans une transaction existante, créez des segments pour les éléments suivants : + +* [Blocs de code](/docs/agents/go-agent/get-started/instrument-go-segments#segment-code-block) +* [Fonctions](/docs/agents/go-agent/get-started/instrument-go-segments#segment-function) +* [Magasins de données](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments) +* [Services externes](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments) + +Si le travail se déroule dans une goroutine différente de celle où la transaction a démarré, vous devez utiliser l'API [`NewGoroutine()`](/docs/agents/go-agent/features/tracing-asynchronous-applications) . + +## Améliorer les métadonnées d'une transaction [#metadata] + +Vous pouvez gérer les métadonnées que New Relic signale pour les transactions. Voici quelques exemples de situations dans lesquelles vous pourriez souhaiter un niveau de détail différent pour vos transactions : + +* Si vous rencontrez un [problème de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues#video), modifiez les noms par défaut de vos transactions pour les rendre plus identifiables. +* Si vous souhaitez créer un dashboard pour vos transactions, ajoutez [un attribut personnalisé](/docs/agents/go-agent/instrumentation/go-agent-attributes#custom-attributes). + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci... +
+ Changer le nom d'une transaction + + [`SetName()`](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#Transaction.SetName) +
+ Ajoutez des métadonnées (telles que le nom de compte ou le niveau d'abonnement de vos clients) à vos transactions + + [`AddAttribute()`](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#Transaction.AddAttribute) + +
+ +## Instrumenter les appels à des services externes [#externals] + +Utilisez ces méthodes pour collecter des données sur les connexions de votre application à d’autres applications ou bases de données : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci... +
+ Chronométrer un appel vers une ressource externe (comme un service externe, un serveur de base de données ou un fichier d'attente des messages) + + [`StartExternalSegment()`](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments) +
+ Connecter l'activité à une autre application instrumentée par un agent de New Relic + + [Traçage multi-applications](/docs/agents/go-agent/features/cross-application-tracing-go) + + + le traçage inter-applicationa été abandonné au profit du [traçage distribué](/docs/agents/go-agent/features/distributed-tracing-go) et sera supprimé dans une future version agent . + +
+ Visualisez le chemin emprunté par une requête lorsqu'elle traverse un système distribué. + + [Tracing distribué](/docs/agents/go-agent/features/distributed-tracing-go) +
+ +## Collecte ou erreur ignorée [#errors] + +L'agent détecte automatiquement les erreurs. Si vous souhaitez modifier la manière dont l'agent Go signale les erreurs à New Relic, modifiez la [configurationdu collecteur d'erreurs](/docs/agents/go-agent/configuration/go-agent-configuration#error-collector). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci... +
+ Signaler une erreur que l'agent ne signale pas automatiquement + + [`NoticeError()`](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#error-reporting) +
+ Signaler une erreur attendue que l'agent ne signale pas automatiquement et ne déclenche pas d'alertes + + [`NoticeExpectedError()`](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#error-reporting) +
+ Empêcher l'agent de signaler une erreur + + [`ErrorCollector.IgnoreStatusCodes()`](/docs/agents/go-agent/configuration/go-agent-configuration#error-ignore-status) +
+ +## Empreintes d'erreur : appliquer dynamiquement un groupe d'erreurs à chaque erreur constatée [#error-fingerprinting] + +Une fonction de rappel peut être fournie à l'agent pour appliquer dynamiquement un [groupe d'erreurs](/docs/errors-inbox/errors-inbox) souhaité à chaque erreur détectée. Utilisez l'option de configuration de l'agent Go [`newrelic.ConfigSetErrorGroupCallbackFunction`](/docs/apm/agents/go-agent/configuration/go-agent-configuration/#error-group-callback) pour fournir à l'agent un rappel. + +Cet appel d'API prend une méthode rappel (doit être de type `newrelic.ErrorGroupCallback`) comme seul argument. Voici un exemple : + +```go +myCallbackFunc := CallbackFunc(errorInfo newrelic.ErrorInfo) string { + if errorInfo.Message == "example error message" { + return "example group 1" + } + if errorInfo.GetHttpResponseCode() == "403" && errorInfo.GetUserID() == "user 2" { + return "user 2 payment issue" + } + + // use default error grouping behavior + return "" +} + +app, err := newrelic.NewApplication( + newrelic.ConfigSetErrorGroupCallbackFunction(myCallbackFunc) +) +``` + +Dans l'exemple illustré, une procédure de rappel est créée qui acceptera un objet de type `newrelic.ErrorInfo` et renverra une chaîne représentant le groupe d'erreurs. Notez que lorsque votre fonction `ErrorGroupCallback` renvoie une chaîne non vide, elle remplacera le comportement de regroupement par défaut d'une erreur détectée et appliquera la logique de regroupement côté serveur. + +La fonction de rappel est censée recevoir exactement un argument d'entrée, un objet `newrelic.ErrorInfo` . L'objet contient les éléments suivants : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Key** + + + + **Value** + +
+ `Error` + + L'objet d'erreur Go remarqué. Cela sera nul pour les erreurs HTTP et les paniques. +
+ `TimeOccured` + + L'heure. Heure à laquelle l'erreur a été remarquée par l'agent. +
+ `Message` + + Le message d'erreur. +
+ `Class` + + La classe d'erreur New Relic. Si une erreur implémente `errorClasser`, sa valeur sera dérivée de celle-ci. Dans le cas contraire, cela sera dérivé de la manière dont l’erreur a été collectée par l’agent. Pour les erreurs HTTP, ce sera le numéro d'erreur. Les paniques seront la valeur constante publique `newrelic.PanicErrorClass`. Sinon, la classe d’erreur sera extraite de l’objet d’erreur racine en appelant `reflect.TypeOf()`. La classe d’erreur racine la plus courante est `*errors.errorString`. +
+ `Expected` + + Un booléen qui est `true` lorsque l'erreur était attendue. +
+ `TransactionName` + + Le nom formaté d'une transaction tel qu'il apparaîtrait dans l'UI de New Relic. +
+ `GetTransactionUserAttributes(attribute string)` + + Une méthode qui prend un nom d'attribut comme entrée, puis recherche et renvoie un attribut d'utilisateur de transaction sous la forme d'un `interface{}` et d'un booléen qui est `true` si la clé a été trouvée dans la carte d'attributs. +
+ `GetErrorAttribute(attribute string)` + + Une méthode qui prend un nom d'attribut comme entrée, puis recherche et renvoie un attribut d'utilisateur d'erreur sous la forme d'un `interface{}` et d'un booléen qui est `true` si la clé a été trouvée dans la carte d'attributs d'erreur. +
+ `GetStackTraceFrames()` + + Une méthode qui renvoie une tranche de `StackTraceFrame` objets contenant un maximum de 100 lignes trace d'appels pertinentes pour une erreur. Notez que l’appel de cette méthode peut être coûteux car la tranche doit être allouée et remplie. Il est recommandé d'appeler cette méthode uniquement lorsque cela est nécessaire pour optimiser les performances. +
+ `GetRequestURI()` + + Une méthode qui renvoie l'URI de la requête HTTP effectuée pendant la transaction parente de l'erreur actuelle. Si aucune requête Web n'a eu lieu, une chaîne vide sera renvoyée. +
+ `GetRequestMethod()` + + Une méthode qui renvoie la méthode HTTP de la requête Web qui s'est produite pendant la transaction parent de cette erreur. Si aucune requête Web n'a eu lieu, une chaîne vide sera renvoyée. +
+ `GetHttpResponseCode()` + + Une méthode qui renvoie le code de réponse HTTP qui a été renvoyé lors de la requête Web qui s'est produite pendant la transaction parent de cette erreur. Si aucune requête Web n'a eu lieu, une chaîne vide sera renvoyée. +
+ `GetUserID()` + + Une méthode qui renvoie le `UserID` qui a été appliqué à cette erreur et à cette transaction. Si aucun `UserID` n’a été défini, une chaîne vide sera renvoyée. +
+ +## suivi utilisateur : associer un identifiant utilisateur à chaque transaction et erreur [#user-tracking] + +Les transactions et les erreurs peuvent être associées à un ID utilisateur si celui-ci est connu de New Relic Go agent. Utilisez l'API d'agent Go `txn.SetUserID("example user ID")` pour fournir à l'agent un ID utilisateur. + +Cet appel d'API nécessite un seul argument d'une chaîne représentant un identifiant unique pour un utilisateur final. Cette chaîne peut être un UUID, un identifiant de base de données ou similaire. L'appel d'API doit être effectué au moins une fois par transaction pour informer l'agent New Relic Go de l'ID d'utilisateur auquel associer la transaction. Ensuite, lorsque l’agent remarque des erreurs pendant la durée de vie de la transaction, les erreurs porteront un attribut d’agent `enduser.id` qui contient la valeur de l’ID utilisateur. + +Étant donné que l’API est destinée à être appelée chaque fois qu’un nouvel ID utilisateur entre dans le champ d’application, elle sera idéalement appelée via un middleware prenant en compte la création de session utilisateur. Une fois que l'agent New Relic Go a pris connaissance de l'ID de l'utilisateur, il fournira l'attribut agent `enduser.id` sur la transaction en cours ainsi que sur toutes les erreurs constatées pendant la durée de vie de la transaction en cours. + +## Envoyez des données personnalisées depuis votre application [#custom-data] + +Pour enregistrer [des données personnalisées](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data) avec l'agent Go, vous pouvez utiliser l’une des méthodes suivantes : + +* [Événements personnalisés](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#go) +* [Les attributs personnalisés](/docs/insights/insights-data-sources/custom-data/add-custom-attributes-apm-data) +* [Métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/collect-custom-metrics) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci... +
+ Envoyez des données sur un événement afin de pouvoir l'analyser dans [New Relic](/docs/insights/use-insights-ui/getting-started/introduction-new-relic-insights) + + [`RecordCustomEvent()`](/docs/agents/go-agent/features/create-custom-events-insights-go) +
+ taggez votre événement avec des métadonnées pour les filtrer et les faceter + + [`AddAttribute()`](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#Transaction.AddAttribute) +
+ Générer des rapports sur les performances personnalisées pour une période donnée + + [`RecordCustomMetric()`](/docs/agents/go-agent/instrumentation/create-custom-metrics-go) +
+ +## Voir le log associé [#logs] + +Pour voir le log directement dans le contexte des erreurs et des traces de votre application, utilisez ces appels d'API pour annoter votre log : + +* [`GetTraceMetadata`](https://pkg.go.dev/github.com/newrelic/go-agent/v3/newrelic#Transaction.GetTraceMetadata) +* [`GetLinkingMetadata`](https://pkg.go.dev/github.com/newrelic/go-agent/v3/newrelic#Transaction.GetLinkingMetadata) + +Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques, consultez notre documentation [sur les logs en contexte](/docs/logs/logs-context/configure-logs-context-go/) . + +## performances du moniteur de navigateur avec monitoring des navigateurs [#browser] + +Pour monitorer les performances du navigateur pour votre application à l'aide [et de l'agent Go](/docs/agents/go-agent/features/install-new-relic-browser-go-apps), vous pouvez utiliser l'une des méthodes suivantes : + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci... +
+ Installez l’agent de navigateurs + + Utilisez la [méthode copier/coller du navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#copy-paste-app) +
+ Ajoutez le code JavaScript monitoring des navigateurs directement aux pages HTML + + [`BrowserTimingHeader()`](/docs/agents/go-agent/features/install-new-relic-browser-go-apps) +
+ +## Modifier les paramètres configuration de l'agent Go [#configuration] + +Pour gérer certains aspects de New Relic monitoring, vous pouvez [modifier les configuration paramètres de votre agent Go](/docs/agents/go-agent/configuration/go-agent-configuration); par exemple : + +* Activation du mode haute sécurité +* Ajout d'étiquettes personnalisées pour le filtrage et le tri +* Gérer les informations rapportées \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/distributed-tracing-go-agent.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/distributed-tracing-go-agent.mdx new file mode 100644 index 00000000000..741f3371e59 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/distributed-tracing-go-agent.mdx @@ -0,0 +1,300 @@ +--- +title: Activer le traçage distribué pour votre application Go +tags: + - Agents + - Go agent + - Features +metaDescription: 'For the New Relic Go agent: how to implement distributed tracing across your Go language applications and services.' +freshnessValidatedDate: never +translationType: machine +--- + +le traçage distribué vous permet de voir l'intégralité du parcours de vos requests à travers un [systèmes distribués](/docs/distributed-tracing/concepts/introduction-distributed-tracing). Pour l'agent Go, nous proposons deux types de traçage distribué (pour plus de détails, voir [Comment fonctionne l'échantillonnage de la portée](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#sampling)) : + +* Standard (échantillonnage en début de workflow) : Avant l'arrivée de toute trace, nous déterminons un pourcentage défini de trace à accepter et à analyser. Cela vous donne un point de départ solide pour voir comment le traçage peut vous aider. Il est activé par défaut dans Go Agent 3.16.0 et versions ultérieures. + +* Traçage infini (échantillonnage en fin de workflow) : Notre service basé sur le cloud accepte toutes vos traces puis les trie pour trouver les plus importantes. Le traçage infini analyse toutes vos traces et vous offre des options configuration pour échantillonner les traces qui comptent le plus pour vous. + +Que vous souhaitiez simplement tester le traçage standard distribué (échantillonnage en début de workflow) ou que vous souhaitiez également mettre en place un traçage infini (échantillonnage en fin de workflow), vous devez commencer par mettre en place le traçage standard. + +## Traçage standard distribué [#quick-start-apm] + +Il s’agit de la meilleure approche pour configurer [le traçage standard distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works/#head-based) si vous n’avez pas encore installé d’agent APM pour vos services. + + + Lorsque vous installez l'agent Go de New Relic, le traçage standard distribué est activé par défaut. Si vous préférez le désactiver, consultez notre [guide de configuration](/docs/apm/agents/go-agent/configuration/go-agent-configuration). + + + + + ### Identifier les services [#identify] + + Déterminez quels services touchent à votre demande afin de pouvoir instrumenter chacun d'eux pour envoyer des données trace à New Relic. + + + + ### instrumenter chaque service avec un agent APM [#update-agents] + + Pour chaque service impliqué dans vos transactions, vous effectuerez une installation distincte de l'agent. Si certains de vos services utilisent d’autres langues, répétez simplement les [étapes d’installation](/docs/distributed-tracing/enable-configure/quick-start) pour ces langues. + + + L'agent Go nécessite que vous instrumentez manuellement vos services Go, contrairement à l'auto-instrumentation de l'autre agent New Relic . Cela signifie que vous devez ajouter quelques lignes à votre code pour utiliser l'agent Go. Vous en apprendrez davantage à ce sujet lorsque vous démarrerez l'installation ci-dessous. + + + Pour démarrer la routine d'installation, cliquez sur la tuile ci-dessous. Une fois l'installation de chaque agent terminée, revenez ici pour voir des conseils pour [visualiser votre trace](#view-traces). + + + } /> + + + + + ### Afficher la trace [#view-traces] + + Après avoir instrumenté chacun de vos services avec l'agent APM, générez du trafic dans votre application afin que nous puissions capturer une trace. Voici quelques façons d'afficher votre trace dans l'UI: + + + + Voici une façon de voir la trace d’un service particulier : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & services**. + 2. Cliquez sur votre entité (service). + 3. Dans la section **Monitor** du volet de gauche, cliquez sur **Distributed tracing**. + 4. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 5. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Pour voir la trace de ces comptes croisés : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Traces**. + 2. Sélectionnez votre entité (service) dans le volet de gauche. + 3. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 4. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Vous pouvez rassembler votre log et vos détails de traçage pour rendre le dépannage plus facile et plus rapide. Avec les [logs en contexte](/docs/logs/logs-context/configure-logs-context-apm-agents/), vous pouvez voir le message du à côté de log la trace dans l'UI de New Relic. + + Après avoir localisé une trace intéressante en suivant les étapes décrites dans [Afficher la trace qui inclut un service spécifique](#entity-explorer) ou [Afficher la trace sur plusieurs comptes](#cross-acct-traces), procédez comme suit : + + 1. Si vous avez activé les journaux en contexte, cliquez sur l'onglet **Logs** (à côté de **Trace details**). + 2. Pour afficher les détails relatifs à un log individuel, cliquez directement sur le message. + + + + Pour plus d'aide pour trouver votre trace dans l'UI: + + * [Comprendre et utiliser l'UI de tracing distribué](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui) + * [Interroger les données de traces distribuées](/docs/understand-dependencies/distributed-tracing/ui-data/query-distributed-trace-data) + + + +## Traçage infini (optionnel) [#infinite-tracing] + +[Le traçage standard distribué](#quick-start-apm) pour l'agent APM capture jusqu'à 10 % de votre trace, mais si vous souhaitez que nous analysions toutes vos données et trouvions la trace la plus pertinente, vous pouvez configurer [le traçage infini](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing). + +Avant de commencer, assurez-vous d’abord de répondre [aux exigences](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing#requirements). + + + + ### Terminez la configuration pour le traçage standard distribué [#install-agents-first] + + La configuration Infinite Tracing s'appuie sur le traçage standard distribué. Assurez-vous donc d’avoir terminé les [étapes ci-dessus](#quick-start-apm), puis continuez avec la configuration de l’observateur de trace. + + + + ### Configurer l'observateur de trace [#provision-trace-observer] + + L'observateur de trace est un service New Relic basé sur AWSqui collecte et analyse toutes vos traces. Suivez les instructions dans [Configurer Trace Observer](/docs/understand-dependencies/distributed-tracing/infinite-tracing/set-trace-observer). Une fois que vous avez terminé, revenez ici avec les informations de votre observateur de trace et passez à l’étape suivante pour configurer l’agent. + + + + ### Configurer l'agent pour Infinite Tracing [#configure-agent-inf] + + Les paramètres configuration d'Infinite Tracing incluent le traçage standard distribué ainsi que des informations sur l'observateur de trace : + + + + Voici un aperçu des paramètres. + + + + + + + + + + + + + + + + + +
+ Taper + + configurationrequise +
+ Traçage infini + + Options de configuration : + + * `newrelic.Config` structure: + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName(YOUR_APP_NAME), + newrelic.ConfigLicense(YOUR_LICENSE_KEY), + func(cfg *newrelic.Config) { + cfg.InfiniteTracing.TraceObserver.Host = YOUR_TRACE_OBSERVER_HOST + }, + ) + ``` + + * Variable d'environnement : + + ``` + NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST=YOUR_TRACE_OBSERVER_HOST + ``` +
+
+
+ + + Si vous avez besoin d'aide avec la configuration du proxy, consultez [Assistance proxy](/docs/understand-dependencies/distributed-tracing/other-requirements/infinite-tracing-proxy-support). + +
+ + + ### (Facultatif) Personnaliser le traçage infini [#customize-inf-tracing] + + Après avoir ajouté les agent configuration paramètres, vous devriez commencer à voir les données dans l’UI de New Relic. Après avoir passé un certain temps à analyser vos données, vous souhaiterez peut-être ajuster certaines fonctionnalités d'Infinite Tracing : + + * [Configurer le monitoring de l'observateur de trace](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-trace-observer-monitoring) + * [Configurer le filtre de trace d’attribut span](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-span-attribute-trace-filter) + * [Configurer un filtre de trace aléatoire](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-random-trace-filter) + +
+ +## instrumentationmanuelle supplémentaire [#guidelines] + +Toutes les installations de l'agent Go et le traçage distribué nécessitent une instrumentation manuelle utilisant les paramètres répertoriés dans [les paramètres configuration de l'agent Go](/docs/agents/go-agent/configuration/go-agent-configuration#distributed-tracing). Néanmoins, vous devrez peut-être effectuer quelques configurations supplémentaires pour optimiser votre configuration. Voici quelques lignes directrices pour les transactions instrumentées et requests HTTP. + + + + Si vous utilisez [`http.ServeMux`](https://golang.org/pkg/net/http/#ServeMux) de Go et que vous souhaitez activer le traçage distribué de New Relic, votre application Go doit être instrumentée avec les wrappers `WrapHandle` et `WrapHandleFunc` de New Relic. Ces wrappers démarrent et terminent automatiquement les transactions avec le rédacteur de requêtes et de réponses, qui ajoutera automatiquement les en-têtes de traçage distribués corrects. Pour en savoir plus sur le fonctionnement de la propagation d'en-tête, consultez [Fonctionnement du traçage distribué](/docs/apm/distributed-tracing/getting-started/how-new-relic-distributed-tracing-works). + + + + Voici un exemple de code avant instrumentation : + + ```go + http.HandleFunc("/users", usersHandler) + ``` + + Et voici un exemple de ce même code après instrumentation : + + ```go + http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler)) + ``` + + + + En savoir plus sur l’utilisation de ces wrappers dans [l'instrumentation des transactions Go](/docs/agents/go-agent/get-started/instrument-go-transactions#http-handler-txns). + + + + Afin que vos requests HTTP sortantes soient éligibles au traçage distribué, [créez un segment externe](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments). + + Le moyen le plus simple de créer un segment externe pour votre requête HTTP sortante est d'utiliser la méthode `newrelic.NewRoundTripper` . Voici un exemple de création d'une requête à `http://api.example.com` qui inclut les en-têtes de traçages distribués sortants : + + ```go + func useNewRoundTripper(txn *newrelic.Transaction) (*http.Response, error) { + client := &http.Client{} + client.Transport = newrelic.NewRoundTripper(client.Transport) + request, _ := http.NewRequest("GET", "http://example.com", nil) + request = newrelic.RequestWithTransactionContext(request, txn) + return client.Do(request) + } + ``` + + Si vous avez une requête plus complexe qui utilise la `http.Request` de la bibliothèque standard Go, utilisez la méthode `newrelic.StartExternalSegment` pour vous assurer que votre requête sortante est éligible au traçage distribué : + + ```go + func external(txn *newrelic.Transaction, req *http.Request) (*http.Response, error) { + s := newrelic.StartExternalSegment(txn, req) + response, err := http.DefaultClient.Do(req) + s.Response = response + s.End() + return response, err + } + ``` + + Un `ExternalSegment` créé avec un littéral de structure ne peut pas être utilisé pour le traçage distribué. Pour cette raison, New Relic recommande d'utiliser [`newrelic.NewRoundTripper` ou `newrelic.StartExternalSegment`](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments). + + ```go + func noGoodForDt(txn *newrelic.Transaction, url string) (*http.Response, error) { + // Distributed tracing headers are not added to the outgoing request. + // Use newrelic.NewRoundTripper or newrelicc.StartExternalSegment instead. + defer newrelic.ExternalSegment{ + StartTime: txn.StartSegmentNow(), + URL: url, + }.End() + + return http.Get(url) + } + ``` + + + + Les tracedistribuées contiennent des informations qui permettent New Relic de rassembler les transactions se produisant dans plusieurs services dans une trace de transaction complète. Si les services monitorés par New Relic n'envoient pas de contexte de trace, cela entraînera des détails de trace incomplets. + + Pour obtenir des instructions générales sur la façon d'utiliser l'appel d'API ci-dessous pour implémenter le traçage distribué, consultez d'abord [Utiliser les API de traçage distribué](/docs/enable-distributed-tracing#agent-apis). + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Créez une charge utile à envoyer au service appelé. + + ```go + InsertDistributedTraceHeaders(h http.Header) + ``` +
+ Acceptez une charge utile envoyée par le premier service ; cela liera ces services ensemble dans une trace. + + ```go + AcceptDistributedTraceHeaders(h http.Header) + ``` +
+
+
+ +Pour plus de détails sur leur utilisation, consultez le [référentiel GitHub agent Go](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#distributed-tracing). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config.mdx new file mode 100644 index 00000000000..660df59b056 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config.mdx @@ -0,0 +1,302 @@ +--- +title: configurationdu niveau du code métrique de l'agent Go +tags: + - Agents + - Go agent + - Configuration +metaDescription: 'For the New Relic Go language agent, you can add source code context to your application traces, associating the trace data with the specific code being instrumented.' +freshnessValidatedDate: never +translationType: machine +--- + +Les métriques au niveau du code permettent aux développeurs utilisant l'[extension New Relic CodeStream](/docs/codestream/observability/code-level-metrics) de voir les données affichées contextuellement dans leur IDE, aux côtés des méthodes individuelles du code. Cela permet aux développeurs d’être plus proactifs dans la résolution des problèmes de performances lorsqu’ils écrivent et révisent le code. + +Lorsque vous activez le niveau du code métriques, l'agent Go attachera un attribut aux données trace . Ces attributs montrent l'emplacement dans le code source de votre application responsable des actions instrumentées par ces traces. Les données que vous pouvez voir incluent : + +* Nom du fichier source +* Numéro de ligne du fichier source +* Nom de la fonction +* espace de nommage + +Jetez un œil aux paramètres configuration de l'agent Go pour vous aider à contrôler la collecte des métriques du niveau du code. Une fois la configuration terminée, si vous avez besoin d'aide pour trouver les données, consultez [Afficher vos métriques](#view-metrics). Si vous souhaitez plus de contrôle sur la façon dont les métriques sont collectées, consultez [agent Go niveau du code métriques instrumentation](/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument). + + + Les métriques du niveau de code sont disponibles pour la version 3.18.0 ou supérieure de l'agent Go, et activées par défaut pour la version 3.24.0 et supérieure. Pour l'activer, vous devez ajouter `newrelic.ConfigCodeLevelMetricsEnabled(true)` à la configuration de votre application comme expliqué ci-dessous. + + +## Méthodes de configuration [#config] + +Lors de l'appel de `newrelic.NewApplication` pour configurer l'agent Go dans votre application, vous pouvez activer les métriques au niveau du code en incluant l'option `newrelic.ConfigCodeLevelMetricsEnabled`, comme suit : + +```go +app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + newrelic.ConfigCodeLevelMetricsEnabled(true), +) +``` + +Avec cette simple étape, l'agent Go ajoutera les informations de contexte de la source du code dans l'attribut agent suivant sur les transactions : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `code.function` + + Le nom de la fonction qui a démarré la transaction. Notez que cela peut être généré automatiquement par le compilateur Go dans certains cas. +
+ `code.namespace` + + Le package/espace de nommage où se trouve la fonction. La combinaison de `code.namespace` et `code.function`, jointe à un délimiteur tel qu'un point (`.`), est censée identifier de manière unique la fonction. +
+ `code.filepath` + + Le chemin d'accès du fichier source contenant la fonction signalée. Normalement, il s'agit du chemin d'accès complet et absolu ; voir ci-dessous une option de configuration qui vous permet de le modifier en un chemin relatif. +
+ `code.lineno` + + Le numéro de ligne dans `code.filepath` où la transaction a été démarrée. Consultez [le guide d'instrumentation](/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument) pour connaître les moyens de contrôler cela. +
+ +Il existe des options configuration supplémentaires que vous souhaiterez peut-être utiliser pour affiner davantage la collecte des métriques de niveau de code dans votre application. + + + + La définition de l’une des balises suivantes vous aidera à identifier les versions de votre logiciel qui génèrent les erreurs. + + * `NEW_RELIC_METADATA_SERVICE_VERSION` crée `tags.service.version` sur les données d'événement contenant la version de votre code qui est déployée, dans de nombreux cas une version sémantique telle que 1.2.3, mais pas toujours. + + * `NEW_RELIC_METADATA_RELEASE_TAG `crée `tags.releaseTag` sur les données d'événement contenant la tag de sortie (comme v0.1.209 ou sortie-209). + + * `NEW_RELIC_METADATA_COMMIT` crée `tags.commit` sur les données d'événement contenant le SHA de validation. L'intégralité du SHA peut être utilisée ou seulement les sept premiers caractères (par exemple, 734713b). + + Une prochaine version de la boîte de réception des erreurs suivra automatiquement les versions de votre logiciel qui génèrent des erreurs. Toutes les données de version seront également affichées dans [CodeStream](/docs/codestream/how-use-codestream/performance-monitoring/#buildsha). + + + Identifier le package instrumenté + } + > + Par défaut, avec le niveau du code métriques activé, l'agent ignorera les fonctions de la stack d'appels qu'il considère comme internes à l'agent lui-même, pour garantir que la fonction signalée est celle prévue, même si des fonctions à l'intérieur de l'agent auront été appelées pour entrer dans le code instrumentation du niveau du code métriques. Par défaut, cela se fait en ignorant toutes les fonctions dont le nom du package commence par `github.com/newrelic/go-agent/`. Vous pouvez modifier cela en n'importe quelle liste arbitraire de noms en définissant votre propre valeur `IgnoredPrefixes` . + + Pour ce faire, effectuez l’une des opérations suivantes : + + * Si vous effectuez la configuration via la fonction `NewApplication`, ajoutez une option `ConfigCodeLevelMetricsIgnoredPrefixes` en transmettant n'importe quel nombre de chaînes de préfixe en tant qu'arguments de chaîne distincts : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigCodeLevelMetricsIgnoredPrefixes("github.com/some/other/name/"), + ) + ``` + + * Si vous configurez via des variables d'environnement, définissez `NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES` sur le préfixe souhaité (ou une liste de préfixes séparés par des virgules) : + + ```ini + NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES="github.com/some/other/name/" + ``` + + N'oubliez pas d'inclure également l'option `newrelic.ConfigFromEnvironment()` lors de la configuration de l'application : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigFromEnvironment(), + ) + ``` + + * Il est également possible de définir directement le membre `CodeLevelMetrics.IgnoredPrefixes` de la structure `Config` (qui est une valeur `[]string` ), mais nous recommandons d'utiliser l'une des méthodes mentionnées ci-dessus au lieu de manipuler directement la structure `Config` . + + + Dans les versions d'agent Go antérieures à 3.20.0, cette option a été nommée au singulier plutôt qu'au pluriel (c'est-à-dire `ConfigCodeLevelMetricsIgnoredPrefix`). Ces noms sont obsolètes et ceux documentés ici doivent être utilisés. Les anciens noms sont également toujours pris en charge pour des raisons de compatibilité descendante. + + + + Rédiger les préfixes de modules ignorés + } + > + Si, pour des raisons telles que la confidentialité, vous choisissez d'ignorer certains modules via l'option `ConfigCodeLevelMetricsIgnoredPrefixes`, vous souhaiterez peut-être également supprimer la liste de ces préfixes des données de configuration signalées par l'agent. + + Ceci est réalisé en définissant l'option `ConfigCodeLevelMetricsRedactIgnoredPrefixes` . Si une valeur `true` est donnée, votre liste de préfixes ignorés ne sera pas affichée dans les données de configuration signalées par l'agent. Dans le cas contraire, ils seront dénoncés. + + Effectuez l’une des opérations suivantes : + + * Si vous configurez via la fonction `NewApplication`, ajoutez une option `ConfigCodeLevelMetricsRedactIgnoredPrefixes` : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigCodeLevelMetricsRedactIgnoredPrefixes(true), + ) + ``` + + * En cas de configuration via des variables d'environnement, définissez `NEW_RELIC_CODE_LEVEL_METRICS_REDACT_IGNORED_PREFIXES`: + + ```ini + NEW_RELIC_CODE_LEVEL_METRICS_REDACT_IGNORED_PREFIXES=true + ``` + + N'oubliez pas d'inclure également l'option `newrelic.ConfigFromEnvironment` lors de la configuration de l'application : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigFromEnvironment(), + ) + ``` + + + Cette option de rédaction est disponible dans les versions 3.20.0 de l'agent Go et plus tard. + + + + Tronquer le préfixe du chemin source + } + > + Par défaut, avec le niveau de code métrique activé, l'agent signalera le chemin d'accès complet de chaque fichier source. Cependant, cela n’est peut-être pas souhaité. Par exemple, vous souhaiterez peut-être signaler uniquement les chemins application relatifs à la racine de l'arborescence source du projet, ce qui permet de corréler les données entre les instances, quel que soit l'endroit où elles sont installées dans le système de fichiers. + + Pour ce faire, spécifiez une chaîne qui indique le début du chemin source de votre projet local. Si ce préfixe est trouvé dans un chemin d'accès de fichier source, tout ce qui apparaît avant lui sera supprimé. Par exemple, si la chaîne de préfixe du chemin est définie sur `myproject/src` alors `/usr/local/projects/myproject/src/widget/main.go` sera signalé dans les métriques du niveau de code comme `myproject/src/widget/main.go`. + + Si vous avez plusieurs préfixes de chemin que vous souhaitez utiliser, répertoriez simplement tous leurs noms sous forme de paramètres distincts. + + Si `PathPrefixes` est vide ou si un chemin de fichier source ne contient aucune de vos chaînes de préfixe, le chemin d'accès complet sera signalé. + + Effectuez l’une des opérations suivantes : + + * Si vous configurez via la fonction `NewApplication`, ajoutez une option `ConfigCodeLevelMetricsPathPrefixes` : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigCodeLevelMetricsPathPrefixes("myprojects/src/", "otherproject/src/"), + ) + ``` + + * Si vous configurez via des variables d'environnement, définissez `NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXES` sur le(s) préfixe(s) souhaité(s) : + + ```ini + NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXES="myprojects/src/,otherproject/src/" + ``` + + N'oubliez pas d'inclure également l'option `newrelic.ConfigFromEnvironment` lors de la configuration de l'application : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigFromEnvironment(), + ) + ``` + + + Dans les versions d'agent Go antérieures à 3.20.0, cette option a été nommée au singulier plutôt qu'au pluriel (c'est-à-dire `ConfigCodeLevelMetricsPathPrefix`). Ces noms sont obsolètes et ceux documentés ici doivent être utilisés. Les anciens noms sont également toujours pris en charge pour des raisons de compatibilité descendante. + + + + Rédiger les préfixes du chemin source + } + > + Si, pour des raisons telles que la confidentialité, vous choisissez de raccourcir les noms de chemin source signalés via l'option `ConfigCodeLevelMetricsPathPrefixes`, vous souhaiterez peut-être également supprimer la liste des préfixes de chemin des données de configuration signalées de l'agent. + + Ceci est réalisé en définissant l'option `ConfigCodeLevelMetricsRedactPathPrefixes` . Si une valeur `true` est donnée, votre liste de préfixes de chemin ne sera pas affichée dans les données de configuration signalées par l'agent. Dans le cas contraire, ils seront dénoncés. + + Effectuez l’une des opérations suivantes : + + * Si vous configurez via la fonction `NewApplication`, ajoutez une option `ConfigCodeLevelMetricsRedactPathPrefixes` : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigCodeLevelMetricsPathPrefixes("myprojects/src/", "otherproject/src/"), + newrelic.ConfigCodeLevelMetricsRedactPathPrefixes(true), + ) + ``` + + * En cas de configuration via des variables d'environnement, définissez `NEW_RELIC_CODE_LEVEL_METRICS_REDACT_PATH_PREFIXES`: + + ```ini + NEW_RELIC_CODE_LEVEL_METRICS_REDACT_PATH_PREFIXES=true + ``` + + N'oubliez pas d'inclure également l'option `newrelic.ConfigFromEnvironment` lors de la configuration de l'application : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigFromEnvironment(), + ) + ``` + + + Cette option de rédaction est disponible dans les versions 3.20.0 de l'agent Go et plus tard. + + + + +## Consultez vos métriques [#view-metrics] + +Une fois que vous avez configuré le niveau du code métrique, vous pouvez voir vos données dans l'UI de New Relic. Voici une façon de voir la trace d’un service particulier : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & services**. +2. Cliquez sur votre entité (service). +3. Dans la section **Monitor** du volet de gauche, cliquez sur **Transactions**. +4. Sous **Transaction traces**, cliquez sur une trace individuelle. +5. Recherchez sous **Agent attributes** les quatre attributs commençant par `code.`. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-configuration.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-configuration.mdx new file mode 100644 index 00000000000..6c3267ae247 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-configuration.mdx @@ -0,0 +1,4025 @@ +--- +title: configurationde l'agent Go +tags: + - Agents + - Go agent + - Configuration +metaDescription: How to change the configuration settings of New Relic Go agent. +freshnessValidatedDate: never +translationType: machine +--- + +Vous pouvez modifier les paramètres configuration de l'agent Go pour contrôler certains aspects de la manière dont New Relic monitore votre application. Par exemple: + +* Activez le mode haute sécurité. +* Ajoutez une balise personnalisée pour le filtrage et le tri dans l'UI. +* Désactivez la collecte des erreurs, la transaction événement, la trace de transaction et l'événement personnalisé. + +## Méthodes de configuration et priorité [#options] + +La principale façon de configurer l'agent Go consiste à modifier la structure `newrelic.Config` dans le cadre de l'appel de `newrelic.NewApplication()`, qui fait partie du [processusinstallation ](/docs/agents/go-agent/installation/install-new-relic-go)standard. Avec [les versions agent Go 2.7.0 ou supérieures](/docs/release-notes/agent-release-notes/go-release-notes), vous pouvez également définir un nombre limité d'options configuration à l'aide [configuration côté serveur dans l'UI](#server-side-configuration). + +L'agent Go suit cet ordre de priorité pour configuration. Si cette option est activée, la configuration côté serveur remplace **all** valeurs correspondantes dans la structure `newrelic.Config`, même si les valeurs côté serveur sont laissées vides. + +New Relic Go agent: config order of precedence + +
+ Si configuration côté serveur est activée avec l'agent Go, elle remplace **all** valeurs correspondantes dans la structure `newrelic.Config`, même si les valeurs côté serveur sont laissées vides. +
+ +Voici des descriptions détaillées de chaque méthode de configuration : + + + + [configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration) est disponible avec [les versions agent Go 2.7.0 ou supérieures](/docs/release-notes/agent-release-notes/go-release-notes). Cela vous permet de configurer certains paramètres dans l'UI. Cela applique automatiquement vos modifications à tous les agents, même s'ils s'exécutent sur plusieurs hôtes. Le cas échéant, ce document inclut les étiquettes UI pour la configuration côté serveur sous les options de configuration individuelles comme **Server-side label**. + + Vous devez toujours appeler `newrelic.NewApplication()` dans votre processus application en suivant les étapes décrites dans la [configurationen cours](#in-process-config). Les options de configuration définies côté serveur écraseront celles définies localement. Étant donné que toutes les options de configuration ne sont pas disponibles côté serveur, vous souhaiterez peut-être toujours mettre à jour votre structure `newrelic.Config` . + + + Si la configuration côté serveur est activée, l'agent ignore toute valeur dans la structure `newrelic.Config` qui **could** doit être définie dans l'UI. Même si la valeur UI est vide, l'agent la traite comme une valeur vide et n'utilise pas la valeur `newrelic.Config`. + + + + En cours de construction + newrelic.Config + + } + > + Vous configurez votre agent Go à partir de la structure locale en cours `newrelic.Config` . Cette structure est accessible lors de l'appel de `newrelic.NewApplication()`. + + 1. Ajoutez ce qui suit dans la fonction `main` ou dans un bloc `init` : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + ) + ``` + + Notez l'utilisation de `os.Getenv` pour lire votre clé de licence à partir de l'environnement plutôt que de la coder en dur en tant que valeur littérale de chaîne transmise à `newrelic.ConfigLicense`. Nous vous recommandons de ne pas placer de clé de licence ou d'autres informations sensibles dans votre source de code, car cela pourrait entraîner leur stockage dans votre référentiel SCM et éventuellement leur révélation à des parties non autorisées. + + 2. Mettez à jour les valeurs de la structure `newrelic.Config` pour configurer votre application à l'aide de `newrelic.ConfigOption` . Ce sont des fonctions qui acceptent un pointeur vers la structure `newrelic.Config` . Ajoutez des `newrelic.ConfigOption`supplémentaires pour configurer davantage votre application. Par exemple, vous pouvez utiliser l’une des options prédéfinies pour effectuer une configuration courante : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + // add debug level logging to stdout + newrelic.ConfigDebugLogger(os.Stdout), + ) + ``` + + 3. Ou, vous pouvez créer votre propre `newrelic.ConfigOption` pour effectuer une configuration plus complexe : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + newrelic.ConfigDebugLogger(os.Stdout), + func(config *newrelic.Config) { + // add more specific configuration of the agent within a custom ConfigOption + config.HighSecurity = true + config.CrossApplicationTracer.Enabled = false + }, + ) + ``` + + + +## Modifier les paramètres de configuration [#make-config-changes] + +Pour apporter des modifications configuration de l'agent Go, définissez les valeurs dans la structure `newrelic.Config` à partir d'un `newrelic.ConfigOption` personnalisé. Par exemple, pour désactiver New Relic monitoring temporairement à des fins de test, remplacez la `Enabled` valeur par `false`: + +```go +app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.Enabled = false + }, +) +``` + +Dans cet exemple et les suivants, `config` représente votre structure de configuration New Relic, même si vous lui avez peut-être donné un nom de variable différent lorsque vous [avez installé l'agent Go](/docs/agents/go-agent/get-started/get-new-relic-go) et lancé la configuration dans votre application. + +## Paramètres de configuration générale [#general-settings] + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Spécifie votre [clé de licence](/docs/subscriptions/license-key) New Relic, utilisée pour associer les métriques de votre application à un compte New Relic. La licence et le nom de l'application sont tous deux définis dans le cadre du [processus d'installation de New Relic](/docs/apm/agents/go-agent/installation/install-new-relic-go/#get-new-relic). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `(none)` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Il s'agit du [application nom](/docs/apm/agents/manage-apm-agents/app-naming/name-your-application/) utilisé pour agréger les données dans l'UI de New Relic . Vous définissez à la fois la licence et le nom de l'application dans le cadre du [processus d'installation de New Relic](/docs/apm/agents/go-agent/installation/install-new-relic-go/#get-new-relic). + + Pour signaler des données à [plusieurs applications en même temps](/docs/apm/agents/manage-apm-agents/app-naming/use-multiple-names-app/), spécifiez une liste de noms séparés par un point-virgule. Ne mettez pas d’espace avant le point-virgule lui-même. Par exemple: + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("YOUR_APP_NAME;APP_GROUP_1;ALL_APPS"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + ) + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent envoie les données de votre application au [collecteur New Relic](/docs/new-relic-solutions/get-started/glossary/#collector). + + Pour désactiver New Relic monitoring, définissez cette valeur `false` sur. + + Par exemple: + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.Enabled = false + }, + ) + ``` + + Vous pouvez utiliser l'option `ConfigEnabled` pour faciliter cette opération : + + ```go + app, err: = newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + newrelic.ConfigEnabled(false), + ) + ``` + + Cela peut être utile pour installer New Relic dans un environnement de développement ou à des fins de dépannage. Lorsque `Enabled` est défini sur `false`: + + * L'agent New Relic Go ne communiquera pas avec le collecteur New Relic . + * L'agent ne générera pas de goroutines. + * La clé de licence n'est pas requise lors de l'installation. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + map\[string]string +
+ Défaut + + (aucun) +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Ajouter [une balise](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/). + + + + Voici un exemple de définition de quatre balises : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.Labels = map[string]string{ + "Env": "Dev", + "Label2": "label2", + "Label3": "label3", + "Label4": "label4", + } + }, + ) + ``` + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Interface +
+ Défaut + + (aucun) +
+ [S'installer](/docs/apm/agents/go-agent/configuration/go-agent-configuration/#options) + + `newrelic.Config` structure +
+ + Vous pouvez utiliser l'interface `Logger` pour [écrire le fichier de logGo](/docs/apm/agents/go-agent/configuration/go-agent-logging/) dans un emplacement spécifique ou dans le système de logging. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + + Cette fonctionnalité nécessite [le niveau Entreprise](https://www.newrelic.com/pricing). + + + [Le mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security) applique certains paramètres de sécurité et empêche leur remplacement, de sorte que l'agent n'envoie aucune donnée sensible. Le mode haute sécurité effectue les opérations suivantes : + + * Active SSL + + * Désactive le signalement des chaînes de messages d'erreur + + * Désactive le reporting des événements personnalisés + + Ce paramètre doit correspondre au paramètre de compte correspondant dans l'UI. Par exemple: + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.HighSecurity = true + }, + ) + ``` + + L'agent communique avec New Relic via HTTPS par défaut, et New Relic [requiert HTTPS](/docs/apis/rest-api-v2/troubleshooting/301-response-rest-api-calls) pour tout le trafic vers APM et notre API REST. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + + Cette option a été supprimée dans [la version 2.0 de l'agent](/docs/release-notes/agent-release-notes/go-release-notes/go-agent-20). + + + Contrôle si HTTPS ou HTTP est utilisé pour envoyer des données à New Relic. L'agent communique avec New Relic via HTTPS par défaut (qui utilise le protocole TLS), et New Relic [requiert HTTPS](/docs/apis/rest-api-v2/troubleshooting/301-response-rest-api-calls) pour tout le trafic vers APM et l'API REST New Relic. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Ceci définit le [nom d'hôte affiché dans l'UI APM](/docs/apm/agents/manage-apm-agents/configuration/add-rename-remove-hosts/#display_name). Il s'agit d'une configuration facultative. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + [http.RoundTripper](https://golang.org/pkg/net/http/#RoundTripper) +
+ Défaut + + (aucun) +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Ceci personnalise la communication [http.Client](https://golang.org/pkg/net/http/#Client) avec le collecteur New Relic . Vous pouvez l'utiliser pour configurer un proxy. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent capture les statistiques d'exécution. +
+
+ +Si vous utilisez New Relic CodeStream pour monitorer les performances de votre IDE, vous souhaiterez peut-être également [associer un référentiel à vos services](/docs/codestream/observability/repo-association) et [associer des SHA de build ou une balise de sortie à des erreurs](/docs/codestream/observability/error-investigation/#buildsha). + +## Configuration à partir de l'environnement [#configuring-from-the-environment] + +Pour une plus grande flexibilité, vous pouvez définir de nombreuses options de configuration en définissant des variables d'environnement au lieu de les coder en dur dans le code source de votre application. Pour les utiliser, ajoutez un appel à `ConfigFromEnvironment()` parmi vos autres options de configuration : + +```go +app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + newrelic.ConfigFromEnvironment(), +) +``` + +Notez que les variables d'environnement seront lues et leurs entrées correspondantes dans la structure `newrelic.Config` seront mises à jour, au point de la liste d'options où `newrelic.ConfigFromEnvironment()` apparaît. S'il existe des options de configuration supplémentaires répertoriées après `ConfigFromEnvironment`, elles peuvent remplacer les valeurs définies par `ConfigFromEnvironment`. + +Par exemple, si les variables d’environnement suivantes sont définies : + +```ini +NEW_RELIC_LICENSE_KEY="your_license_key_here" +NEW_RELIC_APP_NAME="Your Application Name" +NEW_RELIC_CODE_LEVEL_METRICS_ENABLED="true" +NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIX="myproject/src" +NEW_RELIC_LABELS="Env:Dev;Label2:label2;Label3:label3;Label4:label4" +``` + +puis le code suivant : + +```go +app, err := newrelic.NewApplication( + newrelic.ConfigFromEnvironment(), +) +``` + +obtiendra le même résultat que l'équivalent codé en dur : + +```go +app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("your_license_key_here"), + newrelic.ConfigCodeLevelMetricsEnabled(true), + newrelic.ConfigCodeLevelMetricsPathPrefix("myproject/src"), + func(config *newrelic.Config) { + config.Labels = map[string]string{ + "Env": "Dev", + "Label2": "label2", + "Label3": "label3", + "Label4": "label4", + } + }, +) +``` + +Toutes les options de configuration possibles ne peuvent pas être définies via des variables d'environnement. Le [tableau des variables d'environnement et des fonctions](#env-var-table) dans le réplicateur ci-dessous répertorie toutes les fonctions de configuration disponibles et leurs variables d'environnement correspondantes. Bien que toute option de configuration nommée puisse être définie en attribuant directement une valeur au champ correspondant dans la structure `Config`, nous recommandons d'utiliser des fonctions de configuration et/ou des variables d'environnement chaque fois que possible. + + + + Voici quelques conseils sur la façon d'utiliser le tableau : + + * Si une variable d’environnement est répertoriée dans le tableau, vous pouvez définir l’option correspondante en définissant la variable d’environnement nommée. Vous devez également inclure la fonction `ConfigFromEnvironment()`, qui obligera l'agent à accepter toutes les variables d'environnement `NEW_RELIC_*` . + + * Si une fonction de configuration est répertoriée, vous pouvez utiliser cette fonction pour définir l'option correspondante au lieu d'utiliser `ConfigFromEnvironment()`. Gardez à l’esprit que les fonctions de configuration répertoriées dans le programme, y compris `ConfigFromEnvironment()`, sont résolues dans l’ordre dans lequel elles apparaissent dans le code. Cela signifie que si vous créez une variable d'environnement et appelez la fonction `ConfigFromEnvironment()`, elle écrasera la configuration correspondante que vous avez peut-être définie précédemment à l'aide d'une fonction spécifique. Les options de configuration ultérieures après `ConfigFromEnvironment()` remplaceront les fonctions de configuration et les variables d'environnement précédentes. + + * Consultez la documentation ici et sur [le site de documentation de Go](https://pkg.go.dev/github.com/newrelic/go-agent/v3@v3.20.0/newrelic#ConfigOption) pour plus d'informations sur l'utilisation de chaque fonction. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Champ de configuration + + Fonctions de configuration + + Variables d'environnement +
+ `AppName` + + `ConfigAppName` + + `NEW_RELIC_APP_NAME` +
+ `ApplicationLogging.Enabled` + + `ConfigAppLogForwardingEnabled` + + `ConfigAppLogEnabled` + + (Voir [note 1](#table-note-one) ci-dessous) + + `NEW_RELIC_APPLICATION_LOGGING_ENABLED` +
+ `ApplicationLogging.Forwarding.Enabled` + + `ConfigAppLogForwardingEnabled` + + `ConfigAppLogDecoratingEnabled` + + `ConfigAppLogMetricsEnabled` + + (Voir [note 1](#table-note-one) ci-dessous) + + `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED` +
+ `ApplicationLogging.Forwarding.MaxSamplesStored` + + `ConfigAppLogForwardingEnabled` + + `ConfigAppLogForwardingMaxSamplesStored` + + (Voir [note 1](#table-note-one) ci-dessous) + + `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED` +
+ `ApplicationLogging.LocalDecorating.Enabled` + + `ConfigAppLogDecoratingEnabled` + + `NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED` +
+ `ApplicationLogging.Metrics.Enabled` + + `ConfigAppLogMetricsEnabled` + + `NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED` +
+ `Attributes.Enabled` + + + +
+ `Attributes.Exclude` + + + + `NEW_RELIC_ATTRIBUTES_EXCLUDE` +
+ `Attributes.Include` + + + + `NEW_RELIC_ATTRIBUTES_INCLUDE` +
+ `BrowserMonitoring.Attributes.Enabled` + + + +
+ `BrowserMonitoring.Attributes.Exclude` + + + +
+ `BrowserMonitoring.Attributes.Include` + + + +
+ `BrowserMonitoring.Enabled` + + + +
+ `CodeLevelMetrics.Enabled` + + `ConfigCodeLevelMetricsEnabled` + + `NEW_RELIC_CODE_LEVEL_METRICS_ENABLED` +
+ `CodeLevelMetrics.IgnoredPrefixes` + + `ConfigCodeLevelMetricsIngoredPrefixes` + + `NEW_RELIC_CODE_LEVEL_METRICS_IGNORED_PREFIXES` +
+ `CodeLevelMetrics.PathPrefixes` + + `ConfigCodeLevelMetricsPathPrefixes` + + `NEW_RELIC_CODE_LEVEL_METRICS_PATH_PREFIXES` +
+ `CodeLevelMetrics.RedactIgnoredPrefixes` + + `ConfigCodeLevelMetricsRedactIgnoredPrefixes` + + `NEW_RELIC_CODE_LEVEL_METRICS_REDACT_IGNORED_PREFIXES` +
+ `CodeLevelMetrics.RedactPathPrefixes` + + `ConfigCodeLevelMetricsRedactPathPrefixes` + + `NEW_RELIC_CODE_LEVEL_METRICS_REDACT_PATH_PREFIXES` +
+ `CodeLevelMetrics.Scope` + + `ConfigCodeLevelMetricsScope` + + `NEW_RELIC_CODE_LEVEL_METRICS_SCOPE` +
+ `CrossApplicationTracer.Enabled` + + + +
+ `CustomInsightsEvents.Enabled` + + `ConfigCustomInsightsEventsEnabled` + +
+ `CustomInsightsEvents.MaxSamplesStored` + + `ConfigCustomInsightsEventsMaxSamplesStored` + +
+ `DatastoreTracer.DatabaseNameReporting.Enabled` + + + +
+ `DatastoreTracer.InstanceReporting.Enabled` + + + +
+ `DatastoreTracer.QueryParameters.Enabled` + + + +
+ `DatastoreTracer.SlowQuery.Enabled` + + + +
+ `DatastoreTracer.SlowQuery.Threshold` + + + +
+ `DistributedTracer.Enabled` + + `ConfigDistributedTracerEnabled` + + `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` +
+ `DistributedTracer.ExcludeNewRelicHeader` + + + +
+ `DistributedTracer.ReservoirLimit` + + `ConfigDistributedTracerReservoirLimit` + +
+ `Enabled` + + `ConfigEnabled` + + `NEW_RELIC_ENABLED` +
+ `ErrorCollector.Attributes.Enabled` + + + +
+ `ErrorCollector.Attributes.Exclude` + + + +
+ `ErrorCollector.Attributes.Include` + + + +
+ `ErrorCollector.CaptureEvents` + + + +
+ `ErrorCollector.Enabled` + + + +
+ `ErrorCollector.IgnoreStatusCodes` + + + +
+ `ErrorCollector.RecordPanics` + + + +
+ `Error` + + + +
+ `Heroku.DynoNamePrefixesToShorten` + + + +
+ `Heroku.UseDynoNames` + + + +
+ `HighSecurity` + + + + `NEW_RELIC_HIGH_SECURITY` +
+ `HostDisplayName` + + + + `NEW_RELIC_PROCESS_HOST_DISPLAY_NAME` +
+ `Host` + + + + `NEW_RELIC_HOST` +
+ `InfiniteTracing.SpanEvents.QueueSize` + + + + `NEW_RELIC_INFINITE_TRACING_SPAN_EVENTS_QUEUE_SIZE` +
+ `InfiniteTracing.TraceObserver.Host` + + + + `NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST` +
+ `InfiniteTracing.TraceObserver.Port` + + + + `NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_PORT` +
+ `Labels` + + + + `NEW_RELIC_LABELS` +
+ `License` + + `ConfigLicense` + + `NEW_RELIC_LICENSE_KEY` +
+ `Logger` + + `ConfigLogger` + + `ConfigInfoLogger` + + `ConfigDebugLogger` + + (Voir [note 2](#table-note-two) ci-dessous) + + `NEW_RELIC_LOG` + + `NEW_RELIC_LOG_LEVEL` +
+ `ModuleDependencyMetrics.Enabled` + + `ConfigModuleDependencyMetricsEnabled` + + `NEW_RELIC_MODULE_DEPENDENCY_METRICS_ENABLED` +
+ `ModuleDependencyMetrics.IgnoredPrefixes` + + `ConfigModuleDependencyMetricsIgnoredPrefixes` + + `NEW_RELIC_MODULE_DEPENDENCY_METRICS_IGNORED_PREFIXES` +
+ `ModuleDependencyMetrics.RedaceIgnoredPrefixes` + + `ConfigModuleDependencyMetricsRedactIgnoredPrefixes` + + `NEW_RELIC_MODULE_DEPENDENCY_METRICS_REDACT_IGNORED_PREFIXES` +
+ `RuntimeSampler.Enabled` + + + +
+ `SecurityPoliciesToken` + + + + `NEW_RELIC_SECURITY_POLICIES_TOKEN` +
+ `Segments.Attributes.Enabled` + + + +
+ `Segments.Attributes.Exclude` + + + +
+ `Segments.Attributes.Include` + + + +
+ `Segments.StackTraceThreshold` + + + +
+ `Segments.Threshold` + + + +
+ `ServerlessMode.AccountID` + + + +
+ `ServerlessMode.ApdexThreshold` + + + +
+ `ServerlessMode.Enabled` + + + +
+ `ServerlessMode.PrimaryAppID` + + + +
+ `ServerlessMode.TrustedAccountKey` + + + +
+ `SpanEvents.Attributes.Enabled` + + + +
+ `SpanEvents.Attributes.Exclude` + + + +
+ `SpanEvents.Attributes.Include` + + + +
+ `SpanEvents.Enabled` + + + +
+ `TransactionEvents.Attributes.Enabled` + + + +
+ `TransactionEvents.Attributes.Exclude` + + + +
+ `TransactionEvents.Attributes.Include` + + + +
+ `TransactionEvents.Enabled` + + + +
+ `TransactionEvents.MaxSamplesStored` + + + +
+ `TransactionTracer.Attributes.Enabled` + + + +
+ `TransactionTracer.Attributes.Exclude` + + + +
+ `TransactionTracer.Attributes.Include` + + + +
+ `TransactionTracer.Enabled` + + + +
+ `TransactionTracer.Threshold.Duration` + + + +
+ `TransactionTracer.Threshold.IsApdexFailing` + + + +
+ `Transport` + + + +
+ `Utilization.BillingHostname` + + + + `NEW_RELIC_UTILIZATION_BILLING_HOSTNAME` +
+ `Utilization.DetectAWS` + + + +
+ `Utilization.DetectAzure` + + + +
+ `Utilization.DetectDocker` + + + +
+ `Utilization.DetectGCP` + + + +
+ `Utilization.DetectKubernetes` + + + +
+ `Utilization.DetectPCF` + + + +
+ `Utilization.LocalRAMMIB` + + + + `NEW_RELIC_UTILIZATION_TOTAL_RAM_MIB` +
+ `Utilization.LogicalProcessors` + + + + `NEW_RELIC_UTILIZATION_LOGICAL_PROCESSORS` +
+ + ### Note de tableau 1 : [#table-note-one] + + L'appel de l'une des fonctions répertoriées pour activer une fonctionnalité subordonnée active également la fonctionnalité principale et/ou définit d'autres valeurs de configuration : + + * `ConfigAppLogForwardingEnabled(true)` définit `ApplicationLogging.Forwarding.Enabled=true` mais définit également `ApplicationLogging.Enabled=true`. + * `ConfigAppLogForwardingEnabled(false)` définit `ApplicationLogging.Forwarding.Enabled=false` mais définit également `ApplicationLogging.Forwarding.MaxSamplesStored=0`. + * `ConfigAppLogDecoratingEnabled(true)` définit `ApplicationLogging.LocalDecorating.Enabled=true` mais définit également `ApplicationLogging.Enabled=true`. + * `ConfigAppLogDecoratingEnabled(false)` définit `ApplicationLogging.LocalDecorating.Enabled=false` mais n'affecte pas `ApplicationLogging.Enabled`. + * `ConfigAppLogMetricsEnabled(true)` définit `ApplicationLogging.Metrics.Enabled=true` mais définit également `ApplicationLogging.Enabled=true`. + * `ConfigAppLogMetricsEnabled(false)` définit `ApplicationLogging.Metrics.Enabled=false` mais n'affecte pas `ApplicationLogging.Enabled`. + + ### Note de tableau 2 : [#table-note-two] + + Lors de la définition de `Logger` via la variable d'environnement `NEW_RELIC_LOG`, le type d'enregistreur utilisé dépend de la valeur de `NEW_RELIC_LOG_LEVEL`. Si la dernière variable est définie et a la valeur `debug`, `Debug`, `DEBUG`, `d` ou `D`, alors un enregistreur de niveau débogage est utilisé à la place d'un enregistreur standard. `NEW_RELIC_LOG` peut avoir les valeurs `stdout`, `Stdout`, `STDOUT`, `stderr`, `Stderr` ou `STDERR`. + + + Les variables d'environnement doivent avoir une valeur non vide pour être lues par `newrelic.ConfigFromEnvironment`. + +
+
+ +## Définir tagde version [#version-tag] + +Le paramètre NEW\_RELIC\_METADATA\_SERVICE\_VERSION créera une tag, `tag.service.version` sur les données de l'événement. Dans ce contexte, la version du service est la version de votre code qui est déployée, dans de nombreux cas une version sémantique telle que 1.2.3 mais pas toujours. L'envoi de ces informations vous permet de facetter votre télémétrie par la version du logiciel déployé afin de pouvoir identifier rapidement quelles versions de votre logiciel produisent les erreurs. + +## Monitoring de l'IA [#ai-monitoring] + +Cette section comprend la configuration de l'agent Go pour la mise en place de monitoring de l'IA. + + + Si le traçage distribué est désactivé ou si le mode haute sécurité est activé, monitoring de l'IA ne collectera pas de données AI. + + + + Lorsque cette option est activée, monitoring de l'IA enregistre une copie en continu des entrées et des sorties envoyées vers et depuis les modèles que vous choisissez de monitorer, y compris toutes les informations personnelles qu'ils contiennent. Vous êtes responsable d'obtenir le consentement de l'utilisateur de votre modèle pour que son interaction puisse être enregistrée par un tiers (New Relic) dans le but d'assurer la monitoring de la fonctionnalité IA. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ [Variable d'environnement](#environment) + + `NEW_RELIC_AI_MONITORING_ENABLED` +
+ Fonction de configuration + + `newrelic.ConfigAIMonitoringEnabled` +
+ + Lorsque défini sur `true`, active monitoring de l'IA. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [Variable d'environnement](#environment) + + `NEW_RELIC_AI_MONITORING_STREAMING_ENABLED` +
+ Fonction de configuration + + `newrelic.ConfigAIMonitoringStreamingEnabled` +
+ + Lorsqu'il est défini sur `true`, permet à l'agent de capturer les réponses diffusées en continu. Si la valeur est définie sur `false`, l'agent ne capturera pas les données d'événement sur les réponses diffusées en continu, mais l'agent peut toujours capturer les métriques et les étendues. La durée de l'intervalle se terminera lorsque l'appel de fonction LLM se terminera. Lorsque la valeur est `true`, la durée de l'intervalle se termine lorsque le résultat final est lu à partir du flux. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [Variable d'environnement](#environment) + + `NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED` +
+ Fonction de configuration + + `newrelic.ConfigAIMonitoringRecordContentEnabled()` +
+ + Si défini sur `false`, agent omettra le contenu d'entrée et de sortie (comme les chaînes de texte de l'invite et des réponses) capturées dans l'événement LLM. Il s'agit d'un paramètre de sécurité facultatif si vous ne souhaitez pas enregistrer les données sensibles envoyées et reçues par vos LLM. +
+
+ +## configurationd'événement personnalisé [#custom-insights-events-settings] + +Vous pouvez créer des événements personnalisés et les rendre disponibles pour l'interrogation et l'analyse. + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent [envoie un événement personnalisé](/docs/data-apis/custom-data/custom-events/apm-report-custom-events-attributes/#go) à [New Relic](/docs/insights/new-relic-insights/understanding-insights/new-relic-insights). Ce paramètre est remplacé par [`HighSecurity`](#high_security), qui désactive l'événement personnalisé. + + Pour désactiver l'événement personnalisé, placez les éléments suivants dans votre application Go une fois la [configurationNew Relic ](/docs/agents/go-agent/get-started/get-new-relic-go#get-new-relic)lancée : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.CustomInsightsEvents.Enabled = false + }, + ) + ``` +
+
+ +## configurationdes événements de transaction [#transaction-events-settings] + +Les événements de transaction sont utilisés pour collecter les événements correspondant aux requests Web et aux tâches d'arrière-plan. Les données d'événement permettent à l'UI de New Relic d'afficher des informations supplémentaires telles que [l'histogramme](/docs/applications-menu/histograms-viewing-data-distribution) et le [centile](/docs/applications-menu/percentiles-comparing-ranked-data). + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent collecte l'événement de transaction. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Structure +
+ Défaut + + Activé, aucune exclusion +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + `TransactionEvents.Attributes` est une structure avec trois champs : + + ```go + Enabled bool + Include []string + Exclude []string + ``` + + Utilisez `TransactionEvents.Attributes.Enabled` pour activer ou désactiver la collecte d’attributs pour l’événement de transaction. Utilisez `Include` et `Exclude` pour inclure ou exclure un attribut spécifique. + + Exemple d'exclusion d'une tranche d'attribut nommée `allAgentAttributeNames` d'un événement de transaction : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.TransactionEvents.Attributes.Exclude = allAgentAttributeNames + }, + ) + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `10000` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Définit le nombre maximal d'événements de transaction par minute à envoyer à New Relic, jusqu'au maximum par défaut de 10 000 événements de transaction. +
+
+ +## configurationdu collecteur d'erreurs [#error-collector] + +Les paramètres suivants sont utilisés pour configurer le collecteur d’erreurs : + + + Pour un aperçu de la configuration des erreurs dans New Relic, voir [Gérer les erreurs dans APM](/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-mark-expected). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Error Collection on/off` +
+ + Lorsque `false`, l'agent ne collecte aucune erreur ni trace d'erreur. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent collecte l'événement d'analyse d'erreur. +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Groupe d'erreurs de rappel +
+ Défaut + + néant +
+ [S'installer](#options) + + `newrelic.Config` structure + + `newrelic.ConfigSetErrorGroupCallbackFunction` option de configuration +
+ + Lorsque la valeur n'est pas nulle, l'agent appliquera la fonction de rappel définie par l'utilisateur à toutes les erreurs détectées au moment de la récolte, en leur appliquant un groupe d'erreurs. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + Les codes d'erreur 399 et inférieurs, ainsi que 404, sont ignorés. +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Error Collection: Ignore from error collection` +
+ + Cela contrôle quels codes de réponse HTTP sont ignorés comme des erreurs. + + Les codes de réponse supérieurs ou égaux à 100 et strictement inférieurs à 400 sont ignorés par défaut et n'ont jamais besoin d'être spécifiés lors de l'appel de cette fonction. Les codes de réponse 0, 5 et 404 sont inclus dans la liste par défaut, mais doivent être spécifiés lors de l'ajout à la liste d'ignorance. + + La forme par défaut de cette fonction est : + + ```go + config.ErrorCollector.IgnoreStatusCodes = []int{ + 0, // gRPC OK + 5, // gRPC NOT_FOUND + http.StatusNotFound, // 404 + } + ``` + + Vous pouvez également ajouter des codes de réponse au format HTTP, comme `http.StatusNotFound` ci-dessus. + + + Si elle est utilisée, [la configuration côté serveur](#server-side-configuration) remplacera toutes les valeurs définies sur la structure `newrelic.Config` . Ainsi pour ignorer 404 lorsque configuration côté serveur est activée, il faut inclure 404 dans la configuration définie dans l'UI. + + + + + Pour ajouter le code de réponse HTTP 418 à la liste d’ignorés par défaut, qui comprend 0, 5 et 404 : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.ErrorCollector.IgnoreStatusCodes = []int{0, 5, 404, 418} + }, + ) + ``` + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + Aucun code d'erreur n'est défini comme prévu par défaut. +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Cela contrôle quels codes de réponse HTTP sont attendus comme erreurs. + + Les codes de réponse attendus n'affecteront pas l'apdex ou les alertes d'erreur de votre application, mais ils seront toujours enregistrés. + + La forme par défaut de cette fonction est : + + ```go + config.ErrorCollector.ExpectStatusCodes = []int{ + 100, + http.StatusAccepted, + } + ``` + + Vous pouvez également ajouter des codes de réponse au format HTTP tels que `http.StatusAccepted` décrit ci-dessus. + + + + Pour ajouter les codes de réponse HTTP 418 et 502 à la liste attendue : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.ErrorCollector.ExpectStatusCodes = []int{418, 502} + }, + ) + ``` + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Structure +
+ Défaut + + Activé, aucune exclusion +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + `ErrorCollector.Attributes` est une structure avec trois champs : + + ```go + Enabled bool + Include []string + Exclude []string + ``` + + Utilisez `ErrorCollector.Attributes.Enabled` pour activer ou désactiver la collecte d’attributs pour les erreurs. Utilisez `Include` et `Exclude` pour inclure ou exclure un attribut spécifique. + + Un exemple d'exclusion d'une tranche d'attribut nommée `allAgentAttributeNames` des erreurs : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.ErrorCollector.Attributes.Exclude = allAgentAttributeNames + }, + ) + ``` +
+
+ +## configurationdu traceur de transactions [#transaction-tracer] + +Voici les paramètres permettant de modifier la configuration du traceur de transaction. Pour plus d'informations sur la trace de transaction, voir [trace de transaction](/docs/traces/transaction-traces). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Transaction Tracing on/off` +
+ + Lorsque `true`, l'agent collecte [la trace de transaction](/docs/apm/transactions/transaction-traces/transaction-traces) (informations détaillées sur les transactions lentes). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Transaction Tracing: Threshold` +
+ + Contrôle si le seuil de trace de transaction est basé sur Apdex. + + * Si `true`, alors le seuil de trace est quatre fois le [seuil Apdex](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction). + * Si `false`, l’agent utilise [`Threshold.Duration`](/docs/go-agent-configuration#txn-tracer-threshold-duration) comme seuil de trace de transaction. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + time.Millisecond +
+ Défaut + + `500` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Transaction Tracing: Threshold` +
+ + Si `Threshold.IsApdexFailing` est défini sur `false`, l'agent utilise cette durée comme seuil de trace de transaction. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + time.Millisecond +
+ Défaut + + `2` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Il s'agit du seuil à partir duquel les segments seront ajoutés à la trace. +
+ + + + Disponible pour agent Go version 2.6.0 ou supérieure. + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Structure +
+ Défaut + + Activé, aucune exclusion +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + `TransactionTracer.Segments.Attributes` est une structure avec trois champs : + + ```go + Enabled bool + Include []string + Exclude []string + ``` + + Utilisez `TransactionTracer.Segments.Attributes.Enabled` pour activer ou désactiver la collecte d’attributs pour les segments trace de transaction. Utilisez `Include` et `Exclude` pour inclure ou exclure un attribut spécifique. + + Un exemple d’exclusion d’une tranche d’attribut nommée `allSegmentAttributeNames` de la trace : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.TransactionTracer.Segments.Attributes.Exclude = allSegmentAttributeNames + }, + ) + ``` +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + time.Millisecond +
+ Défaut + + `500` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Transaction Tracing: Stack trace threshold` +
+ + Il s'agit du seuil à partir duquel les segments recevront une trace d'appels dans la trace de transaction. + + + La réduction de ce paramètre peut augmenter considérablement la charge de l’agent. + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Structure +
+ Défaut + + Activé, aucune exclusion +
+ [S'installer](/docs/agents/go-agent/instrumentation/go-agent-configuration#options) + + `newrelic.Config` structure +
+ + `TransactionTracer.Attributes` est une structure avec trois champs : + + ```go + Enabled bool + Include []string + Exclude []string + ``` + + Utilisez `TransactionTracer.Attributes.Enabled` pour activer ou désactiver la collecte d’attributs pour le suivi de la transaction. Utilisez `Include` et `Exclude` pour inclure ou exclure un attribut spécifique. + + Un exemple d’exclusion d’une tranche d’attribut nommée `allAgentAttributeNames` de la trace : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.TransactionTracer.Attributes.Exclude = allAgentAttributeNames + }, + ) + ``` +
+
+ +## configurationdu traceur de banque de données [#datastore-tracer] + +Voici les paramètres datastore, y compris l'activation et les paramètres [des requêtes lentes](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) . + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Cela permet de collecter des datastore instance métriques (telles que l'hôte et le port) pour certains pilotes de base de données. Ceux-ci sont signalés sur le suivi de transaction et dans le cadre [des données de requête lente](/docs/apm/applications-menu/monitoring/viewing-slow-query-details). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Utilisez-le pour activer la collecte du nom de la base de données sur la requête lente trace et la trace de transaction. La valeur par défaut de l'attribut activé est `true`. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent collecte les paramètres de requête d'appel datastore . +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Contrôle si [les requêtes lentes](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) sont capturées. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + time.Millisecond +
+ Défaut + + `10` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + L'agent capture [les données de requête lente](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) pour les requêtes plus lentes que cela. +
+
+ +## du traçage inter-application configuration [#cross-application-tracing] + +Voici les paramètres permettant de modifier la fonctionnalité [de traçage inter-applications](/docs/agents/go-agent/features/cross-application-tracing-go) . + + + le traçage inter-applicationa été abandonné au profit du [traçage distribué](/docs/agents/go-agent/features/distributed-tracing-go) et sera supprimé dans une future version agent . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure, configuration côté serveur +
+ [Étiquette côté serveur](#server-side-configuration) + + `Cross-application tracing on/off` +
+ + Lorsque `true`, l'agent ajoutera des en-têtes de traçage inter-applicationdans requests sortantes et analysera requests entrantes pour les en-têtes de traçage inter-application . + + Le traçage distribué et le traçage inter-applicationne peuvent pas être utilisés simultanément. La configuration par défaut de l'agent Go désactive le traçage distribué et active le traçage inter-application . +
+
+ +## configurationdu traçage distribué [#distributed-tracing] + + + L'activation du traçage distribué nécessite la version 2.1.0 de l'agent Go ou supérieur, et il désactive [le traçage inter-applications](#cross-application-tracing). Cela a également des effets sur d’autres fonctionnalités. Avant l'activation, lisez le [guide de transition](/docs/transition-guide-distributed-tracing). + + +[Le traçage distribué](/docs/agents/go-agent/features/distributed-tracing-go) vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. + +Lorsque le traçage distribué est activé, vous pouvez collecter [span événement](/docs/apm/distributed-tracing/ui-data/span-event). + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Le traçage standard est activé par défaut dans les versions 3.16.0 et supérieures d'agent Go. Cela signifie que l'agent ajoutera automatiquement des en-têtes de traçage distribué dans requests sortantes et analysera requests entrantes pour rechercher des en-têtes de traçage distribué. Pour désactiver le traçage distribué, définissez la valeur sur `false`. + + Pour plus d'informations sur la configuration du traçage distribué, consultez [Activer le traçage distribué pour votre application Go](/docs/apm/agents/go-agent/instrumentation/distributed-tracing-go-agent). + + + L'activation du traçage distribué désactive [le traçage inter-application](#cross-application-tracing). + +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Définissez cette valeur sur `true` pour exclure l'en-tête New Relic attaché aux requests sortantes et vous fier uniquement aux en-têtes W3C Trace Context pour le traçage distribué. Si c'est `false`, les deux types d'en-têtes sont utilisés. +
+
+ +## configurationde l'événement [#span-events] + +[Span événement](/docs/apm/distributed-tracing/ui-data/span-event) sont signalés pour [traçage distribué](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#distributed-tracing). le traçage distribué doit être activé pour signaler l'événement span. Ces paramètres contrôlent la collecte de l'événement span : + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Lorsque `true`, l'agent collectera l'événement span. +
+ + + + Disponible pour agent Go version 2.6.0 ou supérieure. + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Structure +
+ Défaut + + Activé, aucune exclusion +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + `SpanEvents.Attributes` est une structure avec trois champs : + + ```go + Enabled bool + Include []string + Exclude []string + ``` + + Utilisez `SpanEvents.Attributes.Enabled` pour activer ou désactiver la collecte d’attributs pour l’événement span. Utilisez `Include` et `Exclude` pour inclure ou exclure un attribut spécifique. + + Un exemple d’exclusion d’une tranche d’attribut nommée `allSpanAttributeNames` de la trace : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense(os.Getenv("NEW_RELIC_LICENSE_KEY")), + func(config *newrelic.Config) { + config.TransactionTracer.Segments.Attributes.Exclude = allSpanAttributeNames + }, + ) + ``` +
+
+ +## configurationde traçage infini [#infinite-tracing] + +Pour activer le traçage infini, activez le traçage distribué (définissez `config.DistributedTracer.Enabled = true` sur la structure `newrelic.Config` ) et ajoutez les paramètres supplémentaires ci-dessous. Pour un exemple, voir [Agent de langage : Configurer le traçage distribué](/docs/understand-dependencies/distributed-tracing/enable-configure/language-agents-enable-distributed-tracing#go-config). + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + chaîne +
+ Défaut + + (aucun) +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Pour obtenir de l'aide pour obtenir une entrée d'hôte d'observateur de trace Infinite Tracing valide, consultez [Rechercher ou créer un point de terminaison d'observateur de trace](/docs/understand-dependencies/distributed-tracing/enable-configure/language-agents-enable-distributed-tracing#provision-trace-observer). +
+
+ +## Paramètres de logging des applications [#application-logging] + +Les paramètres suivants sont disponibles pour configuration du logging application dans l'agent. Pour obtenir des conseils sur l'utilisation des journaux en contexte d'agent Go, consultez [Go logs en contexte](/docs/logs/logs-context/configure-logs-context-go). + + + Nécessite la version 3.17.0 ou supérieure d'agent Go + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Si `true`, active la collecte des événements de log et des métriques de logging si ces sous-fonctionnalités de configuration sont également activées. Si `false`, aucune fonctionnalité d’instrumentation de logging n’est activée. + + Configurez ApplicationLogging en appelant `ConfigAppLogEnabled()`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppLogEnabled(true), + ) + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Si `true`, l'agent capture les enregistrements log émis par votre application et les transmet à New Relic. `ApplicationLogging.Enabled` doit également être `true` pour que ce paramètre prenne effet. + + Activez le transfert de logen appelant `ConfigAppLogForwardingEnabled()`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppLogForwardingEnabled(true), + ) + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + 10000 +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Nombre d'enregistrements log à envoyer par minute à New Relic. Ce paramètre contrôle la consommation globale de mémoire lors de l'utilisation de la fonctionnalité de transfert de log . + + Configurez `ApplicationLogging.Forwarding.MaxSamplesStored` en appelant `ConfigAppLogForwardingMaxSamplesStored()`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppLogForwardingMaxSamplesStored(1000), + ) + ``` + + Définissez cette valeur sur une valeur inférieure pour réduire la quantité de lignes log envoyées (peut provoquer un échantillonnage log ). Définissez cette valeur sur une valeur plus élevée pour envoyer plus de lignes log . + + Chaque log reçoit la même priorité que sa transaction associée. Les logs qui se produisent en dehors d'une transaction recevront une priorité aléatoire. Certains logs peuvent ne pas être inclus car ils sont limités par `MaxSamplesStored`. Par exemple, si le logging `MaxSamplesStored` est définie sur 10 000 et que la transaction 1 comporte 10 000 entrées log, seules les entrées log de la transaction 1 seront enregistrées. Si la transaction 1 contient moins de 10 000 logs, vous recevez tous les logs de la transaction 1. S'il reste de la place, vous recevez l'intégralité du log de la transaction 2, et ainsi de suite. + + Si après tout le log des transactions échantillonnées est enregistré et qu'elles n'ont pas atteint la limite de `MaxSamplesStored`, alors les messages de log des transactions qui n'étaient pas dans notre échantillonnage sont envoyés. S'il en reste, les messages de log en dehors des transactions sont enregistrés. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Si `true`, l'agent capture les métriques liées aux lignes log envoyées par votre application. `ApplicationLogging.Enabled` doit également être `true` pour que ce paramètre prenne effet. + + Configurez ApplicationLogging.Metrics.Enabled en appelant `ConfigAppLogMetricsEnabled()`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppLogMetricsEnabled(true), + ) + ``` +
+
+ +## Paramètres des métriques de dépendance des modules [#mdm] + +Les modules dépendance métriques peuvent être configurés de différentes manières dans l'agent Go. Les métriques de dépendance de module indiquent la liste des modules importés utilisés par votre application Go pour faciliter la gestion des dépendances de code. Il inclut également les informations de version des modules de votre application. + + + Nécessite la version 3.20.0 d'agent Go ou supérieur + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Si `true`, active la collecte des données de dépendance du module. Si `false`, aucune information de dépendance de module n'est collectée. + + Configurez ModuleDependencyMetrics en appelant `ConfigModuleDependencyMetricsEnabled`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigModuleDependencyMetricsEnabled(true), + ) + ``` + + Vous pouvez activer le paramétrage de vos options agent Go via des variables d'environnement en insérant `ConfigFromEnvironment()` dans votre appel à `NewApplication`. Si vous avez fait cela, vous pouvez activer ou désactiver la collecte des métriques de dépendance du module en définissant la variable d’environnement. + + ```ini + NEW_RELIC_MODULE_DEPENDENCY_METRICS_ENABLED=true + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne(s) +
+ Défaut + + `nil` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Cette liste de préfixes de chemin de module spécifie que vous souhaitez exclure certains modules des informations de dépendance signalées par l'agent. Tout module dont le chemin `import` commence par l’une des chaînes de préfixe répertoriées sera exclu. La valeur par défaut est une liste vide, ce qui signifie que tous les modules trouvés sont signalés. + + Spécifiez une liste de chaînes de préfixes de chemin à exclure en appelant `ConfigModuleDependencyMetricsIgnoredPrefixes`. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigModuleDependencyMetricsIgnoredPrefixes("example.com/packageAlpha", "example.com/packageBeta"), + ) + ``` + + Si vous avez activé le paramétrage de vos options agent Go via des variables d'environnement en insérant `ConfigFromEnvironment()` dans votre appel à `NewApplication`, vous pouvez répertorier les préfixes de chemin en définissant la variable d'environnement. + + ```ini + NEW_RELIC_MODULE_DEPENDENCY_METRICS_IGNORED_PREFIXES="example.com/packageAlpha,example.com/packageBeta" + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ [S'installer](#options) + + `newrelic.Config` structure +
+ + Normalement, toutes les options que vous définissez dans le cadre de de votre agent configuration sont signalées et visibles dans l'UI de New Relic . Si vous choisissez d'exclure certains modules du signalement via l'option `ConfigModuleDependencyIgnoredPrefixes`, vous pouvez également les supprimer des données de configuration. Par exemple, si les modules ont été exclus pour des raisons de confidentialité. + + Activez ou désactivez la rédaction des chemins exclus en appelant `ConfigModuleDependencyMetricsRedactIgnoredPrefixes`. Si `true`, la liste des préfixes de modules exclus ne sera pas signalée. Si `false`, ils sont signalés. + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigModuleDependencyMetricsRedactIgnoredPrefixes(false), + ) + ``` + + Si vous avez activé le paramétrage de vos options agent Go via des variables d'environnement en insérant `ConfigFromEnvironment()` dans votre appel à `NewApplication`, vous pouvez répertorier les préfixes de chemin en définissant la variable d'environnement. + + ```ini + NEW_RELIC_MODULE_DEPENDENCY_METRICS_REDACT_IGNORED_PREFIXES=false + ``` +
+
+ +## New Relic IAST [#go-IAST] + +[New Relic Interactive sécurité des applications Testing](/docs/iast/introduction/) (IAST) teste votre application pour détecter d'éventuelles vulnérabilités exploitables en rejouant la requête HTTP générée avec une charge vulnérable. Vous pouvez activer New Relic IAST en mettant à jour le code de votre application Go avec la configuration transmise à la fonction INIT. Vous pouvez également effectuer ces configurations via un fichier YAML ou avec des variables d'environnement. + +Les options définies à l'aide des fonctions INIT ont priorité sur l'environnement ou la configuration YAML. Cela dit, nous vous recommandons d'activer IAST à l'aide d'un fichier YAML car ces configurations seront transmises à d'autres agents de votre environnement. + +### Instructions d'installation + +Importez l'intégration en ajoutant la dépendance directe suivante à votre fichier `go.mod` . + +```go +import "github.com/newrelic/go-agent/v3/integrations/nrsecurityagent" +``` + +Ensuite, initialisez et activez l’agent de sécurité. + +### Activer IAST + + + + ```go + err: = nrsecurityagent.InitSecurityAgent( + app, + nrsecurityagent.ConfigSecurityMode("IAST"), + nrsecurityagent.ConfigSecurityValidatorServiceEndPointUrl("wss://csec.nr-data.net"), + nrsecurityagent.ConfigSecurityEnable(true), + ) + ``` + + + + ConfigSecurityFromEnvironment ordonne à l'intégration nrsecurityagent d'obtenir toutes ses informations de configuration à partir des variables d'environnement. + + ```go + err: = nrsecurityagent.InitSecurityAgent( + app, + ConfigSecurityFromEnvironment(), + ) + ``` + + + + ConfigSecurityFromYaml ordonne à l'intégration nrsecurityagent de lire un fichier externe au format YAML pour obtenir ses valeurs de configuration. Le chemin vers ce fichier doit être fourni en définissant la variable d'environnement NEW\_RELIC\_SECURITY\_CONFIG\_PATH. + + ```go + err: = nrsecurityagent.InitSecurityAgent( + app, + ConfigSecurityFromYaml(), + ) + ``` + + Le fichier YAML par défaut ressemble à ceci. + + ```yaml + enabled: true + + # NR security provides two modes IAST and RASP + # Default is IAST + mode: IAST + + # New Relic’s SaaS connection URLs + validator_service_url: wss://csec.nr-data.net + + # Following category of security events + # can be disabled from generating. + detection: + rxss: + enabled: true + request: + body_limit: 300 + ``` + + + +### Configurer IAST + +L'agent de sécurité peut être configuré avec les options suivantes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Fonction de configuration + + ```go + func(cfg *SecurityConfig) { + cfg.Security.Agent.Enabled = true + } + ``` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_AGENT\_ENABLED +
+ Défaut + + `true` +
+ + Pour désactiver complètement toutes les fonctionnalités de sécurité, définissez cet indicateur sur faux. En important et en initialisant l'agent de sécurité dans Go, il est supposé que vous avez l'intention de l'utiliser, donc cette valeur par défaut est `true`. Notez qu'il s'agit du comportement opposé à celui de l'agent instrumenté automatiquement. Cette propriété est lue une seule fois au démarrage de l'application. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Fonction de configuration + + `nrsecurityagent.ConfigSecurityEnable(false)` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_ENABLED +
+ Défaut + + `false` +
+ + Détermine si les données de sécurité sont envoyées à New Relic ou non. Lorsque cette option est désactivée et que agent.enabled est vrai, le module de sécurité s'exécutera mais les données ne seront pas envoyées. La valeur par défaut est faux. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Fonction de configuration + + `nrsecurityagent.ConfigSecurityMode("IAST")` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_MODE +
+ Défaut + + `IAST` +
+ + Mode de sécurité New Relic : IAST. La valeur par défaut est IAST. En raison de la nature invasive de l'analyse IAST, N'ACTIVEZ PAS ce mode dans un environnement de production ou dans un environnement où des données de production sont traitées. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Fonction de configuration + + `nrsecurityagent.ConfigSecurityValidatorServiceEndPointUrl("wss://csec.nr-data.net")` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_VALIDATOR\_SERVICE\_URL +
+ Défaut + + `wss://csec.nr-data.net` +
+ + URL de connexion SaaS de New Relic Security. Il s’agit du point de terminaison auquel l’agent de sécurité envoie les données. Il doit correspondre à l’environnement que vous avez défini pour l’agent Java APM. + + Production américaine : wss\://csec.nr-data.net +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Fonction de configuration + + `nrsecurityagent.ConfigSecurityDetectionDisableRxss(true)` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_DETECTION\_RXSS\_ENABLED +
+ Défaut + + `true` +
+ + Activez la détection des événements de sécurité RXSS. La valeur par défaut est vrai. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Int +
+ Fonction de configuration + + `nrsecurityagent.ConfigSecurityRequestBodyLimit(300)` +
+ Variable d'environnement + + NEW\_RELIC\_SECURITY\_REQUEST\_BODY\_LIMIT +
+ Défaut + + 300 +
+ + La limite du corps de la demande de sécurité définit une limite de lecture de la quantité de mémoire qui peut être consommée lors de la lecture d'un corps de demande en Ko. Par défaut, c'est « 300 ». +
+ + ### les parties sensibles de votre applicationen matière de sécurité des instruments + + L'intégration `nrgin`, `nrgrpc`, `nrmicro`, `fasthttp` ou `nrmongo` contient désormais du code pour prendre en charge l'analyse de sécurité des données qu'elles traitent. + + De plus, l'agent Go effectuera un examen des vulnérabilités sur le code instrumenté contenant des segments datastore, des opérations SQL, des transactions et des appels HTTP encapsulés et des points de terminaison. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-logging.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-logging.mdx new file mode 100644 index 00000000000..8a70e90f0be --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/configuration/go-agent-logging.mdx @@ -0,0 +1,39 @@ +--- +title: Logging de l'agent Go +tags: + - Agents + - Go agent + - Configuration +metaDescription: You can set up several logging levels for your New Relic Go agent; this is useful for troubleshooting your New Relic Golang integration. +freshnessValidatedDate: never +translationType: machine +--- + +Le logging [New Relic for Go](/docs/agents/go-agent/get-started/new-relic-go) utilise le [package de log Go](https://golang.org/pkg/log/) standard et un package New Relic `Logger` . Le logging est utile pour [le dépannage](/docs/agents/go-agent/troubleshooting/no-data-appears-go) de votre intégration New Relic ; par exemple, en cas de problèmes [installation](/docs/agents/go-agent/get-started/install-new-relic-go) ou [configuration](/docs/agents/go-agent/instrumentation/go-agent-configuration) . + +## Écrire un fichier de log [#write-logfiles] + +Pour utiliser les méthodes agent Go pour l'écriture des fichiers log et d'audit, consultez [log.go sur le référentiel GitHub agent (repository)](https://github.com/newrelic/go-agent/blob/20541a9393ae651949eb75b82666d4a7c2a10dec/v3/newrelic/log.go). + +## Exemple d'intégration de Logrus [#logrus] + +New Relic propose une [intégration pour le système de logging Logrus](https://github.com/newrelic/go-agent/blob/master/_integrations/nrlogrus/nrlogrus.go). Voici un exemple d'utilisation de l'intégration New Relic Logrus dans une application : + +1. Importez à la fois `github.com/sirupsen/logrus` et `github.com/newrelic/go-agent/v3/integrations/nrlogrus`. + +2. Réglez le niveau de log et affectez la sortie enregistreur à Logrus. Par exemple: + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY"), + func(config *newrelic.Config) { + logrus.SetLevel(logrus.DebugLevel) + config.Logger = nrlogrus.StandardLogger() + }, + ) + ``` + +## Afficher les logs de vos données APM et infrastructure [#logs-context] + +Vous pouvez également rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/configure-logs-context-go/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. Vous pouvez également voir les logs en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. Pas besoin de passer à une autre page UI . \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/features/add-browser-monitoring-your-go-apps.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/features/add-browser-monitoring-your-go-apps.mdx new file mode 100644 index 00000000000..05842fb5961 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/features/add-browser-monitoring-your-go-apps.mdx @@ -0,0 +1,39 @@ +--- +title: Ajoutez monitoring des navigateurs à vos applications Go +tags: + - Agents + - Go agent + - Features +metaDescription: 'To enable browser monitoring for your Go app, use the copy and paste method, or use the Go agent''s browser API.' +freshnessValidatedDate: never +translationType: machine +--- + +Si vous avez installé agent Go de New Relic pour votre application, vous pouvez également utiliser [](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)pour monitorer les performances du navigateur. Pour installer l'agent de navigateur, utilisez la [méthode copier-coller](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#copy-paste-app), ou utilisez l'API d'agent Go. + +## Installer avec l'API du navigateur agent Go [#go-browser-api] + +Pour activer la prise en charge de monitoring des navigateurs, vos pages HTML doivent inclure un snippet JavaScript qui chargera l'agent de navigateur et le configurera avec le nom application correct. Cet snippet est disponible avec la méthode `Transaction.BrowserTimingHeader`. La prise en charge de monitoring des en-têtes de synchronisation des navigateurs est disponible avec [les versions 2.5.0 ou supérieures d'agent Go](/docs/release-notes/agent-release-notes/go-release-notes). + +Incluez la tranche d'octets renvoyée par `Transaction.BrowserTimingHeader().WithTags()` le plus tôt possible dans la section `` de votre code HTML et après toute balise `` . + +Le JavaScript renvoyé par `Transaction.BrowserTimingHeader` est spécifique à la demande. C'est pourquoi il faut l'appeler à chaque requête. + +```go +func indexHandler(w http.ResponseWriter, req *http.Request) { + io.WriteString(w, "") + + // The New Relic browser javascript should be placed as high in the + // HTML as possible. We suggest including it immediately after the + // opening tag and any tags. + txn := newrelic.FromContext(req.Context()) + hdr := txn.BrowserTimingHeader() + // BrowserTimingHeader() will always return a header whose methods can + // be safely called. + if js := hdr.WithTags(); js != nil { + w.Write(js) + } + + io.WriteString(w, "browser header page") +} +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/features/create-custom-events-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/features/create-custom-events-go.mdx new file mode 100644 index 00000000000..c9ff61df6cc --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/features/create-custom-events-go.mdx @@ -0,0 +1,85 @@ +--- +title: Créer un événement personnalisé (Go) +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: 'To track arbitrary event data in New Relic for apps monitored by your New Relic Go agent, use RecordCustomEvent.' +freshnessValidatedDate: never +translationType: machine +--- + +Les événements personnalisés sont utiles pour explorer les données d'un seul événement qui vous intéresse, y compris les données provenant de sources externes, à un moment donné. Pour suivre [les données d'événements](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#event-data) arbitraires pour le moniteur d'applications par votre agent New Relic Go, ajoutez `RecordCustomEvent` aux applications. Vous pouvez ensuite [interroger et visualiser les données de l'événement](/docs/query-your-data). + +## `RecordCustomEvent` [#recordCustomEvent] + +Pour ajouter `RecordCustomEvent` à votre application Go, utilisez ce format : + +```go +RecordCustomEvent(eventType string, params map[string]interface{}) +``` + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `eventType` + + *chaîne* + + Requis. Le nom du type d'événement à enregistrer. + + * Doit être composé de caractères alphanumériques, de traits de soulignement `_` ou de deux points `:`. + * Ne doit pas contenir plus de 255 octets. + * Doit suivre les exigences de données New Relic pour [les noms, les limites et les caractères restreints](/docs/insights/insights-data-sources/custom-data/data-requirements). +
+ `params map` + + `_number_`, `_string_`, ou `_boolean_` + + Requis. Spécifiez les paires valeur clé d'attribut pour annoter l'événement. + + * Chaque valeur dans `params map` doit être un nombre, une chaîne ou un booléen. + * Les clés doivent être inférieures à 255 octets. + * Le `params map` ne doit pas contenir plus de 64 attributs. +
+ +## Exemple + +Voici un exemple d’événement personnalisé pour une application Go : + +```go +func customEvent(w http.ResponseWriter, r *http.Request) { + io.WriteString(w, "recording a custom event") + + app.RecordCustomEvent("my_event_type", map[string]interface{}{ + "myString": "hello", + "myFloat": 0.603, + "myInt": 123, + "myBool": true, + }) +} +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/features/cross-application-tracing-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/features/cross-application-tracing-go.mdx new file mode 100644 index 00000000000..988e3019a12 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/features/cross-application-tracing-go.mdx @@ -0,0 +1,120 @@ +--- +title: Traçage inter-applications avec Go +tags: + - Agents + - Go agent + - Features +metaDescription: How to implement cross application tracing with the Go agent in order to connect transactions across APM-monitored apps. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Go prend en charge [le traçage inter-application (CAT)](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces). Les liens de traçage inter- relient les transactions entre lesapplication APMapplications de monitoring, ce qui est essentiel pour les applications mettant en œuvre une orientée services ou microservices architecture. + + + le traçage inter-applicationa été abandonné au profit du [traçage distribué](/docs/agents/go-agent/features/distributed-tracing-go) et sera supprimé dans une future version agent . + + +## Activer le traçage inter-applications avec Go [#enable] + +Vous pouvez activer ou désactiver le traçage inter-applications dans l'agent Go en utilisant [`CrossApplicationTracer.Enabled`](/docs/agents/go-agent/instrumentation/go-agent-configuration#cross-tracer-enabled) configuration l'indicateur . + +## Directives relatives aux transactions et aux requêtes HTTP avec Go [#guidelines] + +Même avec le traçage inter-applicationactivé, vous devez vous assurer que votre application suit quelques conventions simples lors de la réponse aux requests HTTP, de la création de ses propres requests HTTP ou [de la création de ses propres transactions](/docs/agents/go-agent/get-started/instrument-go-transactions). + + + + Si vous utilisez [`http.ServeMux`](https://golang.org/pkg/net/http/#ServeMux) de Go et souhaitez la prise en charge de CAT, vous devrez utiliser les wrappers `WrapHandle` et `WrapHandleFunc` de l'agent. Ces wrappers démarrent et terminent automatiquement les transactions avec le rédacteur de requêtes et de réponses, qui [ajoutera automatiquement les en-têtes CAT corrects](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces#security). Votre code devrait ressembler à ce qui suit : + + ```go + http.HandleFunc("/users", usersHandler) + http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler)) + ``` + + Vous pouvez en savoir plus sur ces wrappers dans [Instrumenter les transactions Go](/docs/agents/go-agent/get-started/instrument-go-transactions#http-handler-txns). + + + + Lorsque vous créez vos propres transactions avec `app.StartTransaction`, assurez-vous d'appeler également `Transaction.SetWebRequest` et `Transaction.SetWebResponse`. Par exemple, une transaction démarrée avec le code suivant aura CAT activé : + + ```go + txn := app.StartTransaction("transactionName") + // req is a *http.Request, this marks the transaction as a web transaction + txn.SetWebRequestHTTP(req) + + // writer is a http.ResponseWriter, use the returned writer in place of the original + writer = txn.SetWebResponse(writer) + writer.WriteHeader(500) + + defer txn.End() + ``` + + Cependant, une transaction démarrée sans les appels à `Transaction.SetWebRequest` et `Transaction.SetWebResponse` **will not** a CAT activé : + + ```go + // Cross application tracing not enabled + txn := app.StartTransaction("transactionName") + defer txn.End() + ``` + + De plus, si vous définissez des codes de réponse HTTP, utilisez la méthode `txn.WriteHeader` de l'agent Go plutôt que la méthode [`http.ResponseWriter.WriteHeader`](https://golang.org/pkg/net/http/#ResponseWriter) de la bibliothèque standard. + + ```go + // old code + // writer.WriteHeader(http.StatusInternalServerError) + + // replace with this + txn := app.StartTransaction("transactionName") + txn.SetWebRequest(req) + writer = txn.SetWebResponse(writer) + writer.WriteHeader(http.StatusInternalServerError) + ``` + + + + Pour que vos requests HTTP sortantes soient éligibles au CAT, vous devez [créer un segment externe](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments). + + Le moyen le plus simple de créer un segment externe pour votre requête HTTP sortante est d'utiliser la méthode `newrelic.NewRoundTripper` . Par exemple, ce code fera une demande à `http://api.example.com/` qui inclut les en-têtes CAT sortants. + + ```go + func useNewRoundTripper(txn *newrelic.Transaction) (*http.Response, error) { + client := &http.Client{} + client.Transport = newrelic.NewRoundTripper(client.Transport) + req, _ := http.NewRequest("GET", "http://api.example.com/", nil) + req = newrelic.RequestWithTransactionContext(req, txn) + return client.Do(req) + } + ``` + + Si vous avez une demande plus complexe qui utilise la `http.Request` de la bibliothèque standard Go, vous devrez utiliser la méthode `newrelic.StartExternalSegment` pour garantir que votre demande sortante est éligible pour CAT. + + ```go + func external(txn *newrelic.Transaction, req *http.Request) (*http.Response, error) { + s := newrelic.StartExternalSegment(txn, req) + response, err := http.DefaultClient.Do(req) + s.Response = response + s.End() + return response, err + } + ``` + + Bien qu'il soit également possible de créer un `ExternalSegment` via un littéral de structure, ce segment **will not** peut être éligible pour CAT. Pour cette raison, New Relic recommande d'utiliser [`newrelic.NewRoundTripper` ou `newrelic.ExternalSegment`](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments). + + ```go + func noGoodForCat(txn *newrelic.Transaction, url string) (*http.Response, error) { + // CAT headers not inserted + defer newrelic.ExternalSegment{ + StartTime: txn.StartSegmentNow(), + URL: url, + }.End() + + return http.Get(url) + } + ``` + + + +## Obtenir la distribution du traçage [#distributed-tracing] + +New Relic propose également [le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Le traçage distribué est une amélioration du traçage inter-applicationet est recommandé pour les grands systèmes distribués. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/features/go-runtime-page-troubleshoot-performance-problems.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/features/go-runtime-page-troubleshoot-performance-problems.mdx new file mode 100644 index 00000000000..ff784d3fbed --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/features/go-runtime-page-troubleshoot-performance-problems.mdx @@ -0,0 +1,98 @@ +--- +title: "Page d'exécution de Go\_: résoudre les problèmes de performances" +tags: + - Agents + - Go agent + - Features +metaDescription: How to use APM's Go runtime page for Golang applications to help troubleshoot performance issues. +freshnessValidatedDate: never +translationType: machine +--- + +L'utilisateur de l'interface [APM](/docs/apm) fournit une variété de données sur votre application, y compris une fonctionnalité spéciale pour l'[agent Go pour APM](/docs/agents/go-agent/get-started/new-relic-go). De plus, la page **Go runtime** fournit des données d'exécution importantes utiles pour le dépannage des problèmes de performances. + +## Afficher et filtrer les données d'exécution de Go [#find] + +Pour afficher la page **Go runtime**, accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & services > (select an app) > Go runtime**. + +Go runtime page + +## Graphiques d'exécution de Go [#data-charts] + +Ce tableau décrit les données du graphique de la page **Go runtime** . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom du graphique + + Description +
+ Goroutines + + Un décompte du nombre moyen de goroutines exécutées pendant une tranche horaire donnée. +
+ Temps de pause du GC + + Millisecondes passées à collecter les déchets pour arrêter le monde. +
+ Fréquence de pause GC + + appels par minute de collecte des déchets Stop-the-World. +
+ Le GC fait une pause + + Le pourcentage de temps d'horloge passé à la collecte des déchets pour arrêter le monde. +
+ Utilisation du processeur + + Utilisation du processeur en pourcentage du processeur disponible. +
+ mémoire + + Mémoire moyenne utilisée, en mébioctets, pendant une tranche horaire donnée. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/features/trace-asynchronous-applications.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/features/trace-asynchronous-applications.mdx new file mode 100644 index 00000000000..d26c5317a94 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/features/trace-asynchronous-applications.mdx @@ -0,0 +1,41 @@ +--- +title: tracer une application asynchrone +tags: + - Agents + - Go agent + - Features +metaDescription: How to trace async segments with the Go agent. +freshnessValidatedDate: never +translationType: machine +--- + +La possibilité de trace des segments asynchrones avec l'API `NewGoroutine` est disponible à partir de [la version 2.6.0 d'agent Go](/docs/release-notes/agent-release-notes/go-release-notes). Si vous ne disposez pas de la version 2.6.0 ou supérieure, mettez à jour votre agent Go vers la dernière version. + +## NewGoroutine [#enable] + +La méthode `Transaction.NewGoroutine() Transaction` permet aux transactions de créer des segments dans plusieurs goroutines. + +`NewGoroutine` renvoie une nouvelle référence au `Transaction`. Cela doit être appelé à chaque fois que vous passez le `Transaction` à un autre goroutine qui crée des segments. Chaque goroutine créant un segment doit avoir sa propre référence `Transaction` . Peu importe que vous appeliez ceci avant ou après que l&apos;autre goroutine ait commencé. + +Toutes les méthodes `Transaction` peuvent être utilisées dans n&apos;importe quelle référence `Transaction` . Le `Transaction` se terminera lorsque `End()` sera appelé dans n&apos;importe quel goroutine. + +Exemple de passage d'une nouvelle référence `Transaction` directement à une autre goroutine: + +```go +go func(txn *newrelic.Transaction) { + defer txn.StartSegment("async").End() + time.Sleep(100 * time.Millisecond) +}(txn.NewGoroutine()) +``` + +Exemple de passage d'une nouvelle référence `Transaction` sur un canal vers un autre goroutine: + +```go +ch := make(chan *newrelic.Transaction) +go func() { + txn := <-ch + defer txn.StartSegment("async").End() + time.Sleep(100 * time.Millisecond) +}() +ch <- txn.NewGoroutine() +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/apm-agent-security-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/apm-agent-security-go.mdx new file mode 100644 index 00000000000..c2b1dc59de5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/apm-agent-security-go.mdx @@ -0,0 +1,117 @@ +--- +title: 'Sécurité de l''agent APM : Go' +tags: + - Agents + - Go agent + - Get started +metaDescription: How to customize the security levels for data sent to New Relic from your Go app. +freshnessValidatedDate: never +translationType: machine +--- + +Les paramètres de sécurité par défaut de l'agent Go de New Relic assurent automatiquement [la sécurité de vos données APM ](/docs/using-new-relic/new-relic-security/security/apm-agent-data-security)afin de garantir la confidentialité des données et de limiter le type d&apos;informations que New Relic reçoit. Vous pouvez avoir des raisons commerciales de modifier ces paramètres. + +Si vous souhaitez restreindre les informations que New Relic reçoit, vous pouvez activer [le mode haute sécurité](#restricted). Si le mode haute sécurité ou les paramètres par défaut ne répondent pas aux besoins de votre entreprise, vous pouvez appliquer des paramètres [personnalisés](#custom) . + +Pour plus d'informations sur les mesures de sécurité de New Relic, consultez notre [documentation sur la sécurité et la confidentialité](/docs/using-new-relic/new-relic-security/security/security-matters-data-privacy-new-relic) ou visitez le [site Web de sécurité de New Relic](https://newrelic.com/security). + +## Paramètres de sécurité par défaut [#default] + +Par défaut, voici comment l'agent Go de New Relic gère les données potentiellement sensibles suivantes : + +* Paramètre de la requête : L'agent ne capture pas le paramètre de la requête HTTP. +* [HTTPS](/docs/agents/go-agent/instrumentation/go-agent-configuration#use-tls): L&apos;agent communique avec New Relic via HTTPS. + +## Paramètres du mode haute sécurité [#restricted] + +Lorsque vous [activez le mode haute sécurité](/docs/agents/go-agent/instrumentation/go-agent-configuration#high_security), les [paramètres de sécurité par défaut](#default) sont verrouillés afin que l&apos;utilisateur ne puisse pas les modifier. En outre: + +* Vous ne pouvez pas créer [d'événement personnalisé](/docs/agents/go-agent/features/create-custom-events-insights-go). +* L'agent supprime [les messages d'exception des erreurs](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#error-reporting). +* L'agent supprime `QueryParameters` des segments de base de données. + +## Paramètres de sécurité personnalisés [#custom] + + + Si vous personnalisez les paramètres de sécurité, cela peut avoir un impact sur la sécurité de votre application. + + +Si vous avez besoin de paramètres de sécurité différents du mode par défaut ou du mode haute sécurité, vous pouvez personnaliser ces paramètres : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Setting** + + + + **Effects on data security** + +
+ [`HighSecurity`](/docs/agents/go-agent/instrumentation/go-agent-configuration#high_security) + + *booléen* + + Défaut: `false` + + Pour activer [le mode haute sécurité](#restricted), définissez cette valeur sur `true` et [activez la haute sécurité (V2)](/docs/agents/manage-apm-agents/configuration/high-security-mode#version2enabled). Cela limite les informations que vous pouvez envoyer à New Relic. +
+ [`Attributes.Enabled`](https://github.com/newrelic/go-agent/blob/master/config.go#L220) + + *booléen* + + Défaut: `true` + + Par défaut, vous envoyez [certains attributs](/docs/agents/go-agent/instrumentation/go-agent-attributes#attributes) à New Relic. Si vous ne souhaitez pas envoyer ces attributs par défaut à New Relic, définissez `Attributes.Enabled` sur `false`. +
+ [`Attributes.Exclude`](/docs/agents/go-agent/instrumentation/go-agent-attributes#turn-attributes-on-off) + + *chaîne* + + Par défaut : (aucun) + + S'il existe des clés d'attribut spécifiques que vous ne souhaitez **pas** envoyer à New Relic dans la trace de transaction, identifiez-les à l&apos;aide de `Attributes.Exclude`. Cela restreint les informations envoyées à New Relic. + + Pour obtenir des exemples sur la façon de désactiver l'enregistrement de chaque attribut, consultez leurs descriptions sur la [page d'attribut d'agent Go](/docs/agents/go-agent/instrumentation/go-agent-attributes#attributes). +
+ [`CustomInsightsEvents.Enabled`](/docs/agents/go-agent/instrumentation/go-agent-configuration#custom-insights-events-enabled) + + *booléen* + + Défaut: `true` + + Par défaut, l'agent enregistre l'événement envoyé à l'API d'événement à l'aide de [`RecordCustomEvent`](/docs/agents/go-agent/features/create-custom-events-insights-go). Si vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement défini sur `false`. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/go-agent-compatibility-requirements.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/go-agent-compatibility-requirements.mdx new file mode 100644 index 00000000000..2331bf7987a --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/go-agent-compatibility-requirements.mdx @@ -0,0 +1,587 @@ +--- +title: Go compatibilité d'agent et exigences +tags: + - Agents + - Go agent + - Get started +metaDescription: A summary of the New Relic Go agent's system requirements and integrations with other New Relic features. +freshnessValidatedDate: never +translationType: machine +--- + +Si vous n'en avez pas déjà un, [créez un compte New Relic](https://newrelic.com/signup). C&apos;est gratuit, pour toujours. Avant d&apos;[installer New Relic for Go](/docs/agents/go-agent/installation/install-new-relic-go), assurez-vous que votre système répond à ces exigences. + +## Versions de Golang [#golang-release] + +New Relic prend en charge [Golang 1.19 ou supérieur](https://go.dev/doc/devel/release). + +## Environnements d'exploitation [#operating-systems] + +L'agent prend en charge Linux, macOS et Windows. Vous pouvez également utiliser l&apos;agent Go dans un [environnement flexible Google App Engine (GAE)](/docs/agents/go-agent/get-started/install-new-relic-go-agent-gae-flexible-environment). + +## intégration [#frameworks] + +Le package [d'intégration](https://godoc.org/github.com/newrelic/go-agent/_integrations) suivant étend le de [base newrelic](https://godoc.org/github.com/newrelic/go-agent) package pour prendre en charge d&apos;autres frameworks et bibliothèques. Si le framework et la base de données n&apos;ont pas de d&apos;intégration,package vous pouvez toujours les instrumenter à l&apos;aide des primitives de package [newrelic](https://godoc.org/github.com/newrelic/go-agent). Pour plus d&apos;informations sur l&apos;instrumentation de votre base de données à l&apos;aide de ces primitives, consultez la [documentation des segments datastore de l'agent Go sur GitHub](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#datastore-segments). + +Le package d'intégration suivant doit être importé avec le [newrelic](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic) package, comme indiqué dans l&apos;[exemple nrgin sur GitHub](https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrgin/example/main.go). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Projet + + packaged'intégration + + But +
+ [AWS/AWS-sdk-go](https://github.com/aws/aws-sdk-go) + + [v3/intégration/nrawssdk-v1](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrawssdk-v1) + + appels sortants d'instruments effectués à l'aide du kit SDK AWS Go +
+ [AWS/AWS-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) + + [v3/intégration/nrawssdk-v2](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrawssdk-v2) + + appels sortants d'instruments effectués à l'aide de Go AWS SDK v2 +
+ [pile de laboratoire/écho](https://github.com/labstack/echo) + + [v3/intégration/nrecho-v3](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrecho-v3) + + instrumenter requests entrantes via la version 3 du frameworkEcho +
+ [pile de laboratoire/écho](https://github.com/labstack/echo) + + [v3/intégration/nrecho-v4](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrecho-v4) + + instrumenter requests entrantes via la version 4 du frameworkEcho +
+ [gin-gonique/gin](https://github.com/gin-gonic/gin) + + [v3/intégration/nrgin](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrgin) + + instrumenter requests entrantes via le frameworkGin +
+ [gorille/mux](https://github.com/gorilla/mux) + + [v3/intégration/nrgorilla](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrgorilla) + + instrumenter requests entrantes via le frameworkGorilla +
+ [julienschmidt/httprouter](https://github.com/julienschmidt/httprouter) + + [v3/intégration/nrhttprouter](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrhttprouter) + + instrumenter requests entrantes via le frameworkHttpRouter +
+ [AWS/AWS-lambda-go](https://github.com/aws/aws-lambda-go) + + [v3/intégration/nrlambda](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrlambda) + + Instrumenter d'application AWS Lambda +
+ [sirupsen/logrus](https://github.com/sirupsen/logrus) + + [v3/intégration/nrlogrus](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrlogrus) + + Envoyer un message agent de log +
+ [rs/zérolog](https://github.com/rs/zerolog) + + [v3/intégration/logcontext-v2/zerologWriter](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/logcontext-v2/zerologWriter) + + Capture et envoi de données de logs en contexte à partir de logs écrits en zerolog +
+ [sirupsen/logrus](https://github.com/sirupsen/logrus) + + [v3/intégration/logcontext-v2/nrlogrus](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus) + + Capture et envoi de données de log en contexte à partir du log écrit en logrus +
+ [log](https://pkg.go.dev/log) + + [v3/intégration/logcontext-v2/logWriter](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/logcontext-v2/logWriter) + + Capture et envoi de données de log en contexte à partir du log écrit dans le de la bibliothèque standard log package +
+ [mgutz/logxi](https://github.com/mgutz/logxi) + + [v3/intégration/nrlogxi](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrlogxi) + + Envoyer un message agent de log +
+ [uber-go/zap](https://github.com/uber-go/zap) + + [v3/intégration/nrzap](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrzap) + + Envoyer un message agent de log à Zap +
+ [pkg/erreurs](https://github.com/pkg/errors) + + [v3/intégration/nrpkgerrors](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpkgerrors) + + Enveloppez les erreurs pkg/errors pour améliorer le suivi des appels et les informations sur la classe d'erreur +
+ [openzipkin/propagation-b3](https://github.com/openzipkin/b3-propagation) + + [v3/intégration/nrb3](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrb3) + + Ajouter des en-têtes B3 aux requestssortantes +
+ [base de données/sql](https://godoc.org/database/sql) + + Utiliser un pilote de base de données pris en charge ou [une instrumentation intégrée](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#InstrumentSQLConnector) + + Instrumenter base de données appels avec SQL +
+ [jmoiron/sqlx](https://github.com/jmoiron/sqlx) + + Utiliser un [pilote de base de données](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpq/example/sqlx) pris en charge ou [une instrumentation intégrée](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#InstrumentSQLConnector) + + Instrumenter base de données appels avec SQLx +
+ [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) + + [v3/intégration/nrmysql](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrmysql) + + Instrumenter base de données appels à MySQL +
+ [lib/pq](https://github.com/lib/pq) + + [v3/intégration/nrpq](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpq) + + Instrumenter base de données appelle Postgres à l'aide de la bibliothèque `database/sql` et `pq` +
+ [jackc/pgx](https://github.com/jackc/pgx) + + [v3/intégration/nrpgx](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpgx) + + Instrumenter base de données appelle Postgres à l'aide de la bibliothèque `database/sql` et `jackc/pgx` +
+ [jackc/pgx/v5](https://github.com/jackc/pgx/v5) + + [v3/intégration/nrpgx5](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpgx5) + + Instrumenter de base de données appels à Postgres en utilisant la bibliothèque `jackc/pgx/v5` pour les appels Postgres directs sans `database/sql`. +
+ [flocondeneigeb/gosnowflake](https://github.com/snowflakedb/gosnowflake) + + [v3/intégration/nrsnowflake](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrsnowflake) + + Instrumenter base de données appels à Snowflake +
+ [go-redis/redis](https://github.com/go-redis/redis) + + [v3/intégration/nrredis-v7](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrredis-v7) + + appels d'instruments à Redis Version 7 +
+ [go-redis/redis](https://github.com/go-redis/redis) + + [v3/intégration/nrredis-v8](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrredis-v8) + + appels d'instruments à Redis Version 8 +
+ [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) + + [v3/intégration/nrsqlite3](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrsqlite3) + + Instrumenter base de données appels à SQLite +
+ [pilote mongodb/mongo-go](https://github.com/mongodb/mongo-go-driver) + + [v3/intégration/nrmongo](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrmongo) + + appels d'instruments MongoDB +
+ [google.golang.org/grpc](https://github.com/grpc/grpc-go) + + [v3/intégration/nrgrpc](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrgrpc) + + Serveurs et clients gRPC instrumentés +
+ [micro/go-micro](https://github.com/micro/go-micro) + + [v3/intégration/nrmicro](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrmicro) + + serveurs d'instruments, clients, éditeurs et abonnés via le frameworkMicro +
+ [nats-io/nats.go](https://github.com/nats-io/nats.go) + + [v3/intégration/nrnats](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrnats) + + éditeurs et abonnés d'instruments utilisant le client NAT +
+ [nats-io/stan.go](https://github.com/nats-io/stan.go) + + [v3/intégration/nrstan](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrstan) + + éditeurs et abonnés d'instruments utilisant le client de streaming NAT +
+ [graphql-go/graphql](https://github.com/graphql-go/graphql) + + [v3/intégration/nrgraphqlgo](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrgraphqlgo) + + instrumenter requests entrantes à l'aide de graphql-go/graphql +
+ [graph-gophers/graphql-go](https://github.com/graph-gophers/graphql-go) + + [v3/intégration/nrgraphgophers](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrgraphgophers) + + instrumenter requests entrantes à l'aide `graph-gophers/graphql-go` +
+ +## base de données et performances au niveau de instance + +New Relic collecte [les détailsinstance pour une variété de bases de données et de pilotes de bases de données](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues). La possibilité d&apos;afficher une instance spécifique et les types d&apos;informations de base de données dans dépend de la version de votre agent . + +L'agent New Relic Go [version 1.4 ou supérieure](/docs/release-notes/agent-release-notes/go-release-notes/go-agent-14) prend en charge les détails instance pour tous les pilotes de base de données. + +## Connecter l'agent à d'autres fonctionnalités [#digital-intelligence-platform] + +L'agent Go s'intègre à d'autres fonctionnalités pour vous offrir une observabilité sur l'ensemble de votre stack: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Produit + + Capacité +
+ [Monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring) + + Si vous disposez de la version 3.31.0 ou supérieure d'agent Go, vous pouvez collecter des données d'IA à partir de certaines bibliothèques et infrastructures d'IA : + + * Versions 1.19.4 et supérieures [de la bibliothèque Go OpenAI](https://github.com/sashabaranov/go-openai) + * [AWS SDK pour Go v2](https://github.com/aws/aws-sdk-go-v2) versions 1.6.0 et supérieures +
+ [Monitoring de l'infrastructure](/docs/infrastructure/new-relic-infrastructure/getting-started/introduction-new-relic-infrastructure) + + Lorsque vous installez l'infrastructure et l'agent APM sur le même hôte, ils se détectent automatiquement. Vous pouvez ensuite afficher une liste d'hôtes dans l'UI APM et filtrer vos hôtes par APM application dans notre infrastructure UI. Pour plus d'informations, voir [les donnéesAPM dans monitoring d'infrastructure](/docs/infrastructure/new-relic-infrastructure/data-instrumentation/new-relic-apm-data-infrastructure). +
+ [Dashboard New Relic](/docs/insights/use-insights-ui/getting-started/introduction-new-relic-insights) + + L'agent Go envoie [l'événement et l'attribut par défaut à New Relic](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes) pour la requête NRQL . Vous pouvez également [enregistrer un événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) pour une analyse avancée. +
+ [Monitoring synthétique](/docs/synthetics/new-relic-synthetics/getting-started/introduction-new-relic-synthetics) + + [Synthétique trace de transaction](/docs/synthetics/new-relic-synthetics/using-monitors/collect-synthetic-transaction-traces) connecte requests du moniteur Synthétique à la transaction APM sous-jacente. +
+ [Monitoring de navigateurs](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser) + + L'agent Go dispose d'une [API permettant de renvoyer le JavaScript de agent du navigateur](/docs/agents/go-agent/features/install-new-relic-browser-go-apps) . Après avoir utilisé cette méthode API sur chaque requête, vous pouvez afficher les données du navigateur dans la [page Résumé APM ](/docs/apm/applications-menu/monitoring/apm-overview-page)et basculer rapidement entre l&apos;APM et les données du navigateur pour une application particulière. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/introduction-new-relic-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/introduction-new-relic-go.mdx new file mode 100644 index 00000000000..78ddfa44e81 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/get-started/introduction-new-relic-go.mdx @@ -0,0 +1,89 @@ +--- +title: Introduction à New Relic for Go +tags: + - Agents + - Go agent + - Get started +metaDescription: 'New Relic''s Go agent monitors your Golang apps and microservices, and helps you identify and solve performance issues.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic for Go monitore votre application et microservices en langage Go pour vous aider à identifier et à résoudre les problèmes de performances. Vous pouvez également utiliser vos données pour améliorer votre expérience client et prendre des décisions commerciales data-driven . + +Go est un langage compilé et n'utilise pas de machine virtuelle. La meilleure façon de monitorer une application Go est d'utiliser l'[API Go](/docs/agents/go-agent/api-guides/guide-using-go-agent-api). Notre API offre une flexibilité et un contrôle exceptionnels sur ce qui est instrumenté. + +Utilisez l'agent Go de New Relic pour résoudre les problèmes de performances de votre application avec notre [tutoriel Mon application est lente](/docs/journey-app-slow/root-causes/). + +## Commencez monitoring votre applicationGo [#install-new-relic] + +Pour utiliser New Relic for Go : + +1. Si vous n'en avez pas encore, [créez un compte New Relic gratuit](https://newrelic.com/signup). +2. Pour installer l'agent, utilisez notre lanceur ou suivez les [procédures d'installation et d'instrumentation](/docs/agents/go-agent/get-started/get-new-relic-go) de l&apos;agent New Relic Go. Attendez quelques minutes pour afficher les données de votre application Go dans l’interface utilisateur de votre compte New Relic. + + + + Lire la documentation d'installation + + + + Ajouter des données Go + + + +Nous vous recommandons [d'instrumenter votre code Go](/docs/apm/agents/go-agent/instrumentation/instrument-go-transactions) pour tirer le meilleur parti de l&apos;agent Go de New Relic. Mais nous facilitons l&apos;obtention de données de qualité de plusieurs manières : + +* Importez simplement l'agent et créez une application pour obtenir des informations d'exécution utiles sur votre nombre de goroutines, les statistiques de récupération de place et l'utilisation de la mémoire et du processeur. +* Utilisez nos nombreux [packages d'intégration](/docs/agents/go-agent/get-started/go-agent-compatibility-requirements#frameworks) pour une prise en charge prête à l&apos;emploi de nombreux frameworks et bibliothèques Web Go populaires. Nous continuons d&apos;ajouter des packages d&apos;intégration en fonction de vos commentaires. Vous pouvez donner votre avis sur une éventuelle intégration sur le [forum d'assistance](https://discuss.newrelic.com/tags/goagent) et sur notre projet [GitHub de l'agent Go de New Relic](https://github.com/newrelic/go-agent/issues) . + +## Monitoring des performances application et des microservices [#monitor-performance] + +Le langage de programmation Go, également appelé Golang, est devenu un choix de codage populaire pour sa facilité d'utilisation, sa simultanéité et sa vitesse impressionnante. + +Avec New Relic for Go, vous gagnerez un nouveau niveau de visibilité sur votre application Golang : + + + **See the big picture:** + + +* Monitorez le débit, le temps de réponse et les erreurs des transactions dans votre application et vos services. +* Comprenez l'état d'exécution de votre application en observant l'utilisation de la mémoire, le comportement du garbage collection et l'utilisation du processeur au fil du temps. +* Avec marqueur de déploiement, voyez comment les changements de code impactent les performances des applicationet leur santé. +* Utilisez [monitoring d'infrastructure](/docs/infrastructure/new-relic-infrastructure/getting-started/introduction-new-relic-infrastructure) pour visualiser les données détaillées de l&apos;hôte et du serveur. +* Utilisez [le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) pour comprendre comment vos services et microservices interagissent. + + + **Identify and fix errors:** + + +* Trouvez le goulot d'étranglement en consultant le temps passé sur les appels de base de données, les appels système externes et les blocs de code clés. +* Affichez les décomptes de Goroutine et identifiez les éventuelles fuites de Goroutine. +* Recevez [des alertes](/docs/alerts/alert-policies/understanding-alert-policies/alerting-new-relic) en cas de problèmes ou d’erreurs avant qu’ils n’affectent l’utilisateur. +* Créez personnalisés pour les métriques importantes. + + + **View logs for your APM and infrastructure data:** + + +Vous pouvez rassembler vos données de logs et d'application pour rendre le dépannage plus facile et plus rapide. Pas besoin de passer à une autre page UI . + +* Avec [les logs en contexte](/docs/logs/logs-context/configure-logs-context-go/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. +* Vous pouvez également voir les journaux en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. + + + **Analyze business data:** + + +* Requête des données liées à l'utilisateur et amélioration des processus métier. +* Créez [une requête personnalisée](https://learn.newrelic.com/live-webinar-introduction-to-the-new-relic-telemetry-data-platform) des données de votre application Go. +* Envoyez vos propres données personnalisées à New Relic. +* Créez et partagez des affichages visuels et interactifs de vos données. + +## instrumentationsupplémentaire [#extend-instrumentation] + +Après avoir installé l'agent, pensez au [SDK Go télémétrie](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic) + +## Vérifiez le code source [#source-code] + +L'agent Go est un logiciel open source . Cela signifie que vous pouvez [parcourir son code source](https://github.com/newrelic/go-agent) et envoyer des améliorations, ou créer votre propre fork et le construire. Pour plus d&apos;informations, consultez le [fichier README](https://github.com/newrelic/go-agent/blob/master/README.md). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-automation-new-relic-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-automation-new-relic-go.mdx new file mode 100644 index 00000000000..167fce7010b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-automation-new-relic-go.mdx @@ -0,0 +1,121 @@ +--- +title: Instrumentation facile Go +tags: + - Agents + - Go agent + - Installation +metaDescription: How to use a script to get code suggestions to instrument your Golang apps and services. +freshnessValidatedDate: '2024-08-20T00:00:00.000Z' +translationType: machine +--- + + + Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez ! + + Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos [politiques de pré-sortie](/docs/licenses/license-information/referenced-policies/new-relic-pre-release-policy). + + +Go est un langage compilé avec un environnement d'exécution opaque, ce qui le rend incapable de prendre en charge l'instrumentation automatique comme d'autres langages. Pour cette raison, l'agent Go de New Relic est conçu comme un SDK. Étant donné que l'agent Go est un SDK, sa configuration nécessite plus de travail manuel que celle de l'agent pour les langages prenant en charge instrumentation automatique. + +Afin de faciliter l'instrumentation, l’équipe agent Go a créé l’outil d'instrumentation facile Go qui est actuellement en version préliminaire. Cet outil effectue la majeure partie du travail à votre place en suggérant des modifications à votre source de code qui instrumente votre application avec l'agent Go de New Relic. + +Pour commencer, regardez cette [vidéo de quatre minutes](https://asciinema.org/a/r0Il7o2eMiZaLKHIlew3IL2nx) ou passez directement à [Comment ça marche](#how-it-works). + +## Avis de prévisualisation [#preview-notice] + + + + Cette fonctionnalité est actuellement fournie dans le cadre d'un aperçu du produit et est soumise à nos politiques expérimentales New Relic. Les modifications de code recommandées ne sont que des suggestions et doivent être soumises à un examen humain pour en vérifier l'exactitude, l'applicabilité et la pertinence pour votre environnement. Cette fonctionnalité ne doit être utilisée que dans des environnements non critiques, hors production, ne contenant pas de données sensibles. + + Ce projet, son code et l'UX sont en cours de développement intensif, vous devez donc vous attendre à ce qu'ils changent. Veuillez prendre cela en considération lorsque vous participez à cet aperçu. Si vous rencontrez des problèmes, veuillez les signaler à l'aide [de Github Issues](https://github.com/newrelic/go-easy-instrumentation) et remplissez autant que possible le modèle de problème afin que nous puissions améliorer cet outil. + + + +## Comment ça marche [#how-it-works] + +Cet outil n'interfère pas avec le fonctionnement de votre application et n'apporte aucune modification directe à votre code. Voici ce qui se passe : + +* Il analyse votre code et suggère des modifications qui permettent à l'agent Go de capturer des données télémétriques. +* Vous examinez les modifications dans le fichier `.diff` et décidez quelles modifications ajouter à votre code source. + +Dans le cadre de l'analyse, cet outil peut invoquer `go get` ou d&apos;autres commandes de la chaîne d&apos;outils du langage Go qui peuvent modifier votre fichier `go.mod`, mais pas votre code source réel. + + + Cet outil ne peut pas détecter si vous disposez déjà d'une instrumentation New Relic. Veuillez utiliser cet outil uniquement pour des applications sans aucune instrumentation. + + +## Qu'est-ce qui est instrumenté ? [#what-is-instrumented] + +La portée de ce que cet outil peut instrumenter dans votre application est limitée à ces actions : + +* Capture des erreurs dans toute fonction encapsulée ou tracée par une transaction +* Suivi des fonctions définies localement qui sont invoquées dans la méthode `main()` de l&apos;application avec une transaction +* Suivi des fonctions asynchrones et des littéraux de fonction avec un segment asynchrone +* Ajout d'un middleware à la bibliothèque prise en charge pour le traçage +* Injection de traçage distribué dans le trafic externe + +### Bibliothèque supportée [#supported-libraries] + +* bibliothèque standard +* réseau/http +* Gin +* gRPC + +## installation [#go-easy-install] + +Avant de commencer les étapes d'installation ci-dessous, assurez-vous que vous disposez d'une version de Go installée qui se trouve dans la fenêtre de support du [cycle de vie actuel du langage de programmation Go](https://endoflife.date/go). + +Installer l'instrumentation facile de Go : + +```sh +go install github.com/newrelic/go-easy-instrumentation@latest +``` + + + + Pour installer `go-easy-instrumentation` assurez-vous que `GOPATH` bin est dans votre `PATH`. + + + + Dans votre terminal, bashrc ou zshrc, la ligne suivante ajoute le chemin de votre bac `GOPATH` à votre `PATH`: + + ```sh + export PATH=$PATH:$(go env GOPATH)/bin + ``` + + + + Dans un terminal Windows ou une fenêtre PowerShell, la ligne suivante ajoutera le chemin d'accès à votre bac `GOPATH` à votre `PATH`: + + ```sh + go env -w GOPATH=c:\go-work + ``` + + + + + +## Générer des suggestions d'instrumentation [#generate-suggestions] + +Cet outil fonctionne mieux avec Git. Nous vous recommandons de vérifier que votre application se trouve sur une branche sans aucune modification non préparée avant d'appliquer l'une des modifications générées. Après avoir vérifié cela, suivez ces étapes pour générer et appliquer les modifications qui installent l'agent Go de New Relic dans une application: + +1. Exécutez la commande CLI suivante pour créer un fichier nommé `new-relic-instrumentation.diff` dans votre répertoire de travail : + ```sh + go-easy-instrumentation instrument ../my-application/ + ``` +2. Ouvrez le fichier `.diff` et vérifiez ou corrigez le contenu. +3. Lorsque vous êtes satisfait des suggestions d’instrumentation, enregistrez le fichier, puis appliquez les modifications : + ```sh + mv new-relic-instrumentation.diff ../my-application/ + cd ../my-application + git apply new-relic-instrumentation.diff + ``` + +Une fois les modifications appliquées, l'application devrait s'exécuter avec l'agent Go de New Relic installé. Si l'installation de l'agent ne fonctionne pas comme vous le souhaitez, vous pouvez facilement la récupérer en utilisant les commandes Git courantes. Par exemple, vous pouvez essayer l’une des solutions suivantes : + +* Rangez les modifications avec `git stash` +* Rétablir le code à un commit précédent + +## Quelle est la prochaine étape ? [#what-is-next] + +Si vous avez des suggestions ou rencontrez des problèmes, veuillez créer un [problème Github](https://github.com/newrelic/go-easy-instrumentation). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-go-agent-gae-flexible-environment.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-go-agent-gae-flexible-environment.mdx new file mode 100644 index 00000000000..d17d94cb21f --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-go-agent-gae-flexible-environment.mdx @@ -0,0 +1,102 @@ +--- +title: Installer l'agent Go dans l'environnement flexible GAE +tags: + - Agents + - Go agent + - Installation +metaDescription: How to install your New Relic's Go app in the Google App Engine (GAE) flexible environment. +freshnessValidatedDate: never +translationType: machine +--- + +Avec notre [agent Go](/docs/agents/go-agent/get-started/introduction-new-relic-go), vous pouvez monitorer les applications qui résident dans l&apos;[environnement flexible de Google App Engine (GAE)](https://cloud.google.com/appengine/docs/flexible/go/). L&apos;ajout de New Relic à votre application flex GAE vous donne des informations détaillées sur la santé et les performances de votre application et étend GAE avec des métriques que vous pouvez afficher dans [APM](/docs/apm/new-relic-apm/getting-started/introduction-new-relic-apm) et [](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser). + +Nous expliquons ici comment ajouter New Relic à votre application flex GAE en configurant un [runtime personnalisé](https://cloud.google.com/appengine/docs/flexible/custom-runtimes/about-custom-runtimes) et donnons un exemple de déploiement d&apos;une application Go avec Docker. + + + L'agent Go peut s'exécuter dans un environnement flexible GAE à l'aide d'un runtime personnalisé. En raison des limitations d'autres environnements, n'utilisez pas l'environnement standard GAE ou l'installation [en « mode natif »](/docs/accounts-partnerships/partnerships/google-cloud-platform-gcp/google-app-engine-environment#native-mode) de Google App Engine. + + +## Créer un environnement d'exécution personnalisé à l'aide de Docker [#build-runtime] + +Consultez [la documentation de Google pour créer des environnements d'exécution personnalisés](https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build). Cet exemple décrit comment ajouter New Relic à votre application GAE flex en installant l&apos;agent Go, en créant un runtime Go personnalisé pour Docker et en déployant une application golang. + +Pour plus d'informations sur le déploiement et la configuration de votre application Go dans l'environnement flexible GAE, consultez : + +* [Documentation de Google App Engine](https://cloud.google.com/appengine/docs/flexible/go/) pour Go +* [Tutoriels de Google App Engine](https://cloud.google.com/appengine/docs/flexible/go/tutorials) pour déployer une application Go + + + + 1. Suivez les procédures standard pour [installer l'agent Go](/docs/agents/go-agent/get-started/get-new-relic-go) pour votre serveur d&apos;applications spécifique, y compris votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key). + + 2. Suivez [les procédures Google App Engine pour Go](https://cloud.google.com/appengine/docs/flexible/go/quickstart) pour créer un nouveau projet de plateforme Cloud, créer une application App Engine, télécharger et installer [git](https://git-scm.com) et remplir d&apos;autres conditions préalables pour le [SDKGoogle Cloud ](https://cloud.google.com/sdk/docs/). + + Le SDK Google Cloud fournit l'outil de ligne de commande `gcloud` pour gérer et déployer des applications GAE. + + + + Le fichier de configuration `app.yaml` est requis pour une application d&apos;environnement flexible GAE avec un environnement d&apos;exécution personnalisé. Au minimum, assurez-vous qu&apos;il contient : + + ```yaml + runtime: custom + env: flex + ``` + + + + Le [Dockerfile](http://docs.docker.com/engine/reference/builder/) définit l&apos;image Docker à créer et est requis pour une application d&apos;environnement flexible GAE. L&apos;exemple de code Dockerfile suivant définit la version golang utilisée. + + ```dockerfile + FROM golang:1.8-onbuild + CMD go run main.go + ``` + + + + Pour créer l’image Docker, exécutez la commande suivante. Assurez-vous d'inclure le point à la fin du code, pour indiquer que le répertoire actuel contient les fichiers de construction. + + ```bash + docker build --rm -t Docker-image-name . + ``` + + + + 1. Pour déployer votre image Docker dans votre [environnement flexible GAE initialisé](https://cloud.google.com/sdk/docs/initializing), exécutez la commande suivante : + + ```bash + gcloud --project go-app-name app deploy + ``` + + 2. Attendez que le déploiement soit terminé. + + 3. Pour afficher les données de votre application GAE Flex dans New Relic, accédez à la [page APM **Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page). + + + + + +## Recommandation : désactiver les contrôles de santé [#health-checks] + +Google App Engine envoie [requestsde contrôle de santé périodiques](https://cloud.google.com/appengine/docs/flexible/go/configuring-your-app-with-app-yaml#health_checks) pour confirmer qu&apos;une instance a été déployée avec succès et pour vérifier qu&apos;une instance en cours d&apos;exécution conserve un état sain. Un contrôle de santé est une requête HTTP vers l&apos;URL `/_ah/health`. + +Si vous créez un environnement d'exécution personnalisé, votre application doit être capable de gérer un grand nombre de requests de contrôle de l'état. Dans le cas contraire, les données de votre application risquent de ne pas s’afficher correctement dans APM. + +Recommandation : configurez votre `app.yaml` pour désactiver les contrôles de santé en ajoutant : + +```yaml +health_check: + enable_health_check: False +``` + +## Obtenir le log de dépannage agent auprès de GAE [#agent-logs] + +Utilisez ces ressources pour dépanner votre application d'environnement flexible GAE : + +* Pour vous connecter à l'instance GAE et démarrer un shell dans le conteneur Docker exécutant votre code, consultez [la documentation de GAE pour le débogage d'une instance](https://cloud.google.com/appengine/docs/flexible/go/debugging-an-instance). + +* Pour rediriger le log d'agent Gode New Relic vers [Stackdriver](http://cloud.google.com/logging/docs/view/logs_viewer_v2) dans la [console de la plateforme Cloud](https://cloud.google.com/compute/docs/console), modifiez le fichier `newrelic.yml` en : + + ```yaml + log_file_name: STDOUT + ``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-new-relic-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-new-relic-go.mdx new file mode 100644 index 00000000000..56a998a1196 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/install-new-relic-go.mdx @@ -0,0 +1,69 @@ +--- +title: Installer New Relic for Go +tags: + - Agents + - Go agent + - Installation +metaDescription: How to install New Relic's Go agent to monitor performance of your Go language applications and microservices. +freshnessValidatedDate: never +translationType: machine +--- + +Notre agent Go auto-instrumente votre code afin que vous puissiez commencer monitoring vos applications et microservices en langage Go. Vous pouvez utiliser notre lanceur ou suivre les instructions de ce document pour terminer une installation de base d'agent Go. + +Si vous n'en avez pas déjà un, [créez un compte New Relic](https://newrelic.com/signup). C&apos;est gratuit, pour toujours. + + + Ajouter des données Go + + +## Compatibilité et exigences [#requirements] + +L'agent Go nécessite Golang 1.17 ou supérieur sur Linux, macOS ou Windows. Pour plus d'informations, voir [Compatibilité deagent et exigences Go](/docs/agents/go-agent/get-started/go-agent-compatibility-requirements). + +## Installer l'agent Go [#get-new-relic] + +Pour installer l'agent Go, vous avez besoin d'un . Ensuite, pour installer l’agent : + +1. Depuis [github.com/newrelic/go-agent](https://github.com/newrelic/go-agent), utilisez votre processus préféré ; par exemple : + + ```bash + go get github.com/newrelic/go-agent/v3/newrelic + ``` + +2. Importez le package `github.com/newrelic/go-agent/v3/newrelic` dans votre application. + + ```go + import "github.com/newrelic/go-agent/v3/newrelic" + ``` + +3. Initialisez l'agent Go en ajoutant ce qui suit dans la fonction `main` ou dans un bloc `init` : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("YOUR_NEW_RELIC_LICENSE_KEY") + ) + ``` + +4. [Instrumenter le transaction Web](/docs/agents/go-agent/get-started/instrument-go-transactions#http-handler-txns) en enveloppant requests HTTP standard dans le code de votre application. Par exemple: + + ```go + http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler)) + ``` + +5. [Instrumenter d'autres transactions](/docs/agents/go-agent/get-started/instrument-go-transactions) que vous souhaitez monitorer. + +6. Optionnel : [segments](/docs/agents/go-agent/get-started/instrument-go-segments) d&apos;instruments pour un niveau supplémentaire de détail de synchronisation. + +7. Compilez et diffusez votre application. + +## Afficher les données de votre application dans New Relic [#view-data] + +Attendez quelques minutes que votre application envoie des données à New Relic. Ensuite, vérifiez les performances de votre application dans l'[UI APM](/docs/apm/applications-menu/monitoring/apm-overview-page). Si aucune donnée n&apos;apparaît au bout de quelques minutes, suivez les [conseils de dépannage](/docs/agents/go-agent/troubleshooting/no-data-appears-go). + + + +## Tenez votre agent au courant [#update] + +Pour profiter pleinement des dernières fonctionnalités, améliorations et correctifs de sécurité importants de New Relic, maintenez [l'agent Go de votre application à jour](/docs/agents/go-agent/installation/update-go-agent). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/installation/uninstall-go-agent.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/uninstall-go-agent.mdx new file mode 100644 index 00000000000..3292bae8d36 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/uninstall-go-agent.mdx @@ -0,0 +1,19 @@ +--- +title: Désinstaller l'agent Go +tags: + - Agents + - Go agent + - Installation +metaDescription: How to uninstall New Relic for Go. +freshnessValidatedDate: never +translationType: machine +--- + +Lisez la suite pour savoir comment désinstaller l'agent Go de New Relic. Pour obtenir des instructions sur la façon de désactiver temporairement l'agent Go, voir [Désactiver l'agent](/docs/agents/manage-apm-agents/installation/disable-apm-agent#go). + +Pour désinstaller New Relic for Go : + +1. Désinstallez le package New Relic en utilisant votre méthode de désinstallation préférée. +2. Recompilez et redémarrez votre application. + +Une fois le package New Relic désinstallé, vous pourrez [supprimer l'application de votre compte New Relic](/docs/apm/new-relic-apm/maintenance/remove-applications-from-new-relic-ui). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/installation/update-go-agent.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/update-go-agent.mdx new file mode 100644 index 00000000000..5850bcf02a0 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/installation/update-go-agent.mdx @@ -0,0 +1,24 @@ +--- +title: Mettre à jour l'agent Go +tags: + - Agents + - Go agent + - Installation +metaDescription: 'How to update APM''''s Go agent so you can take advantage of the latest features, enhancements, and important security patches.' +freshnessValidatedDate: never +translationType: machine +--- + +Pour profiter pleinement des dernières fonctionnalités, améliorations et correctifs de sécurité importants de New Relic, mettez à jour l'agent Go de votre application vers la dernière version. Pour plus d'informations sur les mises à jour spécifiques agent, reportez-vous aux [notes de sortie d'agent Go](/docs/release-notes/agent-release-notes/go-release-notes). + +## Mettez à jour votre version d'agent Go [#update-go] + +Pour mettre à jour l'agent Go, suivez vos procédures standard pour exécuter le processus suivant en tant que commande de terminal ou en tant que script. + +1. Depuis [http://github.com/newrelic/go-agent](http://github.com/newrelic/go-agent), utilisez ce processus : + + ```bash + go get -u github.com/newrelic/go-agent/v3/newrelic + ``` + +2. Compilez et diffusez votre application. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/create-custom-metrics-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/create-custom-metrics-go.mdx new file mode 100644 index 00000000000..647f5f344f4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/create-custom-metrics-go.mdx @@ -0,0 +1,55 @@ +--- +title: Créer des métriques personnalisées dans Go +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: 'With New Relic Go monitoring, you can create custom metrics to time a component of your app that may not captured by default.' +freshnessValidatedDate: never +translationType: machine +--- + + + Nous vous recommandons d'utiliser l'[ APImétrique](/docs/data-apis/ingest-apis/metric-api/introduction-metric-api/) pour envoyer vos métriques personnalisées vers la plateforme New Relic . + + +[Les métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/collect-custom-metrics) vous permettent de signaler toute métrique qui passe par votre code. Par exemple, avec le [monitoring Go](/docs/agents/go-agent/get-started/get-new-relic-go) de New Relic , vous pouvez créer des métriques personnalisées pour chronométrer un composant de votre application qui peut ne pas être capturé par défaut. Une fois que vous avez capturé une métrique personnalisée, vous pouvez : + +* Unifiez votre monitoring au sein de New Relic grâce à l'[explorateur de métriques et d'événements](/docs/query-your-data/explore-query-data/data-explorer/introduction-data-explorer). +* Utilisez notre [API REST](/docs/apis/rest-api-v2/requirements/new-relic-rest-api-v2-getting-started) pour récupérer et utiliser par programmation des données métriques personnalisées en dehors de l&apos;UI. +* [Créez des conditions d'alerte de métriques personnalisées](/docs/alerts/new-relic-alerts/configuring-alert-policies/define-custom-metrics-alert-condition) pour vous avertir, vous ou votre équipe, lorsque vos métriques personnalisées dépassent des valeurs spécifiques. + +## Créer une métrique personnalisée [#create] + +1. Instanciez votre application en exécutant la commande suivante : + + ```go + app, err := newrelic.NewApplication( + newrelic.ConfigAppName("Your Application Name"), + newrelic.ConfigLicense("NEW_RELIC_LICENSE_KEY"), + newrelic.ConfigDebugLogger(os.Stdout), + ) + ``` + +2. Après avoir instancié votre application, créez une métrique personnalisée avec le code suivant : + + ```go + app.RecordCustomMetric( + "CustomMetricName", //name of your metric + 132, //time in ms + ); + ``` + + * `RecordCustomMetric`Le premier paramètre de est une chaîne qui nomme vos métriques personnalisées. + * La méthode `RecordCustomMetric` ajoutera automatiquement la chaîne `Custom/` au nom de votre métrique. Cela signifie que le code ci-dessus générera une métrique nommée `Custom/CustomMetricName`. + * `RecordCustomMetric`Le deuxième paramètre est le temps, en millisecondes, que vous souhaitez enregistrer pour votre transaction personnalisée. Cela signifie que le code ci-dessus produira une métrique de 0,132 secondes dans le système de New Relic. + * Pour utiliser une métrique personnalisée comme compteur, elle peut être incrémentée en effectuant l'appel comme décrit ci-dessus, et la valeur `count` pour cette métrique sera incrémentée de 1. La valeur que vous utilisez pour le deuxième paramètre (temps en ms) n&apos;a aucune importance si vous utilisez la métrique uniquement comme compteur, et vous pouvez donc utiliser un nombre statique, tel que 0 ou 1. + * Pour incrémenter un compteur d'un nombre supérieur à 1, appelez `app.RecordCustomMetric` plusieurs fois - chaque appel n&apos;incrémentera la métrique que de 1, quelle que soit la valeur du deuxième paramètre. + +## Nommer une métrique personnalisée [#name] + +Réfléchissez soigneusement à la manière dont vous nommez vos métriques personnalisées. Si votre programme crée trop de métriques portant un nom unique, vous risquez de vous retrouver avec un [problème de regroupement de métriques (MGI)](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues). + +Les MGI se produisent lorsque la granularité des noms métriques est trop fine, ce qui donne lieu à des centaines ou des milliers de noms métriques différents. L'une des causes courantes des MGI est le recours au nom complet de l'URL pour la dénomination métrique dans le Web des transactions. Quelques chemins de code majeurs peuvent générer de nombreux chemins d'URL complets différents vers des documents, articles, pages, etc. uniques. + +Si l'élément unique du chemin URL est inclus dans le nom de la métrique, chacun de ces chemins communs aura son propre nom de métrique unique. Si des problèmes de regroupement métrique surviennent, suivez les [procédures de dépannage](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-attributes.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-attributes.mdx new file mode 100644 index 00000000000..8337ce3fbd1 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-attributes.mdx @@ -0,0 +1,453 @@ +--- +title: Attribut de l'agent Go +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: 'Adjust default attributes collected by New Relic from your Go app, and create custom attributes.' +freshnessValidatedDate: never +translationType: machine +--- + +[Les attributs](/docs/features/agent-attributes) sont des paires valeur clé contenant des informations sur l&apos;événement de transaction, l&apos;événement d&apos;erreur et les erreurs de trace. Vous pouvez ajuster les destinations des attributs par défaut et créer des attributs personnalisés pour les attributs collectés par [l'agent Go de New Relic](/docs/agents/go-agent/get-started/new-relic-go), notamment : + +* Trace d'erreur +* Événement de transaction +* Pages vues + +Pour un niveau de détail monitoring supplémentaire, [créez un attribut personnalisé](/docs/agents/go-agent/go-agent-attributes#custom-attributes). + +## Attribut de l'agent Go [#attributes] + +L'agent Go reçoit l'[attribut par défaut](/docs/agents/manage-apm-agents/agent-metrics/agent-attributes) suivant de votre application. Vous pouvez ajuster ces paramètres par défaut et [activer ou désactiver l'attribut](#change-attribute-destination) pour certaines destinations. + + + + Le nom de l'hôte du serveur sous lequel le script actuel s'exécute, appelé avec `newrelic.AttributeHostDisplayName`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Désactivé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeHostDisplayName) + ``` + + + + Le code d'état de réponse pour une requête Web, appelé avec `newrelic.AttributeResponseCodeDeprecated` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseCodeDeprecated) + ``` + + + À partir de l'agent Go v3.0.0, cet attribut a été marqué comme obsolète et renommé en `http.statusCode`. L&apos;agent v3.x continuera à produire cet attribut, mais il sera supprimé dans la v4.0.0. + + + + + Le type tel que lu à partir de l'en-tête `Accept` de la requête HTTP, appelé avec `newrelic.AttributeRequestAccept` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestAccept) + ``` + + + + La taille de la requête entrante en octets telle que lue à partir de l'en-tête de requête `Content-Length`, appelée avec `newrelic.AttributeRequestContentLength`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestContentLength) + ``` + + + + Le type de contenu de la requête entrante tel que lu à partir de l'en-tête de requête `Content-Type`, appelé avec `newrelic.AttributeRequestContentType`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestContentType) + ``` + + + + Le nom de l'en-tête de la requête de l'hôte HTTP, appelé avec `newrelic.AttributeRequestHost`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestHost) + ``` + + + + Le référent de la requête entrante tel que lu à partir de l'en-tête de requête `Referer`, appelé avec `newrelic.AttributeRequestReferer`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Désactivé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestReferer) + ``` + + + + Le contenu de l'en-tête HTTP `User-Agent`, appelé avec `newrelic.AttributeRequestUserAgentDeprecated` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Désactivé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestUserAgentDeprecated) + ``` + + + À partir de l'agent Go v3.0.0, cet attribut a été marqué comme obsolète et renommé en `request.headers.userAgent`. L&apos;agent v3.x continuera à produire cet attribut, mais il sera supprimé dans la v4.0.0. + + + + + Le contenu de l'en-tête HTTP `User-Agent`, appelé avec `newrelic.AttributeRequestUserAgent` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Désactivé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestUserAgent) + ``` + + + Cet attribut a été ajouté dans la version 3.0.0 de l'agent et le `request.headers.User-Agent` d&apos;origine sera éventuellement supprimé. Par conséquent, l&apos;agent v3.x produira deux attributs représentant le contenu de l&apos;en-tête HTTP utilisateur-agent. Pour exclure complètement l&apos;attribut lors de l&apos;utilisation de l&apos;agent v3.x, vous devez inclure l&apos;ancien et le nouvel attribut. Par exemple: + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, + newrelic.AttributeRequestUserAgent, + newrelic.AttributeRequestUserAgentDeprecated, + ) + ``` + + + + + La méthode HTTP de la requête entrante, appelée avec `newrelic.AttributeRequestMethod` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeRequestMethod) + ``` + + + + La taille de la réponse sortante en octets telle que lue à partir de l'en-tête de réponse Content-Length, appelée avec `newrelic.AttributeResponseContentLength`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseContentLength) + ``` + + + + Le type de contenu de la réponse sortante tel que lu à partir de l'en-tête de réponse Content-Type, appelé avec `newrelic.AttributeResponseContentType`. + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseContentType) + ``` + + + + Le code d'état de réponse pour une requête Web, appelé avec `newrelic.AttributeResponseCode` + + Paramètres par défaut : + + * trace de transaction : Activé + + * Collecteur d'erreurs (trace des erreurs) : Activé + + * Événement de transaction : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseCode) + ``` + + + Cet attribut a été ajouté dans la version 3.0.0 de l'agent et le `httpResponseCode` d&apos;origine sera éventuellement supprimé. Par conséquent, l&apos;agent v3.x produira deux attributs représentant le code d&apos;état de réponse pour une requête Web. Pour exclure complètement l&apos;attribut lors de l&apos;utilisation de l&apos;agent v3.x, vous devez inclure l&apos;ancien et le nouvel attribut. Par exemple: + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, + newrelic.AttributeResponseCode, + newrelic.AttributeResponseCodeDeprecated, + ) + ``` + + + + +## Attribut Span et segment [#span-and-segment-attributes] + +Si vous disposez [d'agent Go v2.6.0 ou supérieur](/docs/release-notes/agent-release-notes/go-release-notes), vous pouvez configurer des attributs sur des étendues et des segments. L&apos;agent Go reçoit l&apos;[attribut par défaut](/docs/agents/manage-apm-agents/agent-metrics/agent-attributes) suivant de votre application. Ces attributs ne se trouvent que sur les segments span événement et trace de transaction. Vous pouvez ajuster ces paramètres par défaut et [activer ou désactiver l'attribut](#change-attribute-destination) pour certaines destinations. + + + + Pour [les segments de magasin de données](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments), il s&apos;agit de la collection utilisée et représente la table ou le groupe, appelé avec `newrelic.SpanAttributeDBCollection`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributeDBCollection) + ``` + + + + Pour [les segments de magasin de données,](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments) il s&apos;agit du nom de la base de données et représente le nom de la base de données dans laquelle la requête est exécutée, appelée avec `newrelic.SpanAttributeDBInstance`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributeDBInstance) + ``` + + + + Pour [les segments de banque de données,](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments) il s&apos;agit de la requête paramétrée en cours d&apos;exécution et représente la requête en cours d&apos;exécution, appelée avec `newrelic.SpanAttributeDBStatement`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributeDBStatement) + ``` + + + + Pour [les segments externes,](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments) il s&apos;agit de la méthode http de la requête sortante, appelée avec `newrelic.SpanAttributeHTTPMethod`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributeHTTPMethod) + ``` + + + + Pour [les segments externes,](/docs/agents/go-agent/get-started/instrument-go-segments#go-external-segments) il s&apos;agit de l&apos;URL de la requête sortante, appelée avec `newrelic.SpanAttributeHTTPURL`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributeHTTPURL) + ``` + + + + Pour [les segmentsdatastore ](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments)il s&apos;agit du nom d&apos;hôte plus le port de la base de données en cours de requête, appelé avec `newrelic.SpanAttributePeerAddress`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributePeerAddress) + ``` + + + + Pour [les segmentsdatastore ](/docs/agents/go-agent/get-started/instrument-go-segments#go-datastore-segments)il s&apos;agit du nom d&apos;hôte de la base de données interrogée, appelé avec `newrelic.SpanAttributePeerHostname`. + + Paramètres par défaut : + + * Segments de trace de transaction : activés + + * Événement de portée : Activé + + Exemple d'exclusion de cet attribut : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.SpanAttributePeerHostname) + ``` + + + +## Changer la destination de l'attribut + +Utilisez ces options pour modifier les destinations des attributs : + + + + Pour ouvrir ou fermer une destination entière à attribuer, définissez l'indicateur `.Enabled` sur `true` ou `false`. + + Par exemple, pour désactiver la collecte d'erreurs  : après la [configuration](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#config-and-application), ajoutez : + + ```go + config.ErrorCollector.Attributes.Enabled = false + ``` + + + + Pour activer ou désactiver un attribut spécifique, utilisez les méthodes `.Include` ou `.Exclude` . + + Par exemple, pour désactiver `AttributeResponseCode`: Après la [configuration](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#config-and-application), ajoutez : + + ```go + config.Attributes.Exclude = append(config.Attributes.Exclude, newrelic.AttributeResponseCode) + ``` + + + +## Créer un attribut personnalisé [#custom-attributes] + +Ajoutez un attribut personnalisé en utilisant cette méthode dans une transaction : + +```go +txn.AddAttribute("key", "value") +``` + +La variable `txn` est celle [instrumentée pour la transaction Go](/docs/agents/go-agent/get-started/instrument-go-transactions#go-txn). Par exemple: + +```go +txn.AddAttribute("product", "widget") +txn.AddAttribute("price", 19.99) +txn.AddAttribute("importantCustomer", true) +``` + +Paramètres par défaut pour l'attribut destinations personnalisées : + +* Collecteur d'erreurs (trace des erreurs) : Activé +* Événement de transaction : Activé \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument.mdx new file mode 100644 index 00000000000..78a2e9f1827 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/go-agent-code-level-metrics-instrument.mdx @@ -0,0 +1,183 @@ +--- +title: Instrumentation des métriques de l'agent Go au niveau du code +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: 'For the New Relic Go language agent, once you enable code-level metrics, you can fine-tune how your metrics are collected.' +freshnessValidatedDate: never +translationType: machine +--- + +Après avoir activé le niveau du code métriques en suivant les étapes de [configuration des métriques de l'Agent Go au niveau du code](/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config), vous pouvez affiner la façon dont vos métriques sont collectées à l&apos;aide instrumentation supplémentaires. + +## transactions instrumentées [#instrument-transactions-clm] + +Avec le niveau de code métrique activé, l'agent Go ajoutera des informations de contexte de source de code à toute transaction démarrée par un appel à la méthode `StartTransaction` de l&apos;application. Sans modifier aucun de vos codes d&apos;instrumentation existants, cela signifie que l&apos;emplacement du code source sera ajouté en fonction de la fonction qui a appelé `StartTransaction`. Ceci est vrai même si `StartTransaction` est appelé pour vous par un package d&apos;instrumentation. + +Toutefois, si vous souhaitez exercer un contrôle manuel sur la manière dont les métriques du niveau de code sont collectées pour une transaction particulière, vous pouvez ajouter un certain nombre de fonctions `newrelic.TraceOption` comme décrit ci-dessous : + +### Suppression du niveau du code métriques pour une seule transaction [#instrument-transactions-suppress-clm] + +Si vous ne voulez pas de métriques de niveau de code pour une transaction particulière (par exemple, pour éviter la surcharge liée à la collecte des informations lorsque vous savez que vous n'aurez pas besoin de ces données), ajoutez une fonction `WithoutCodeLevelMetrics` à la fin de l&apos;appel `StartTransaction` : + +```go +txn := app.StartTransaction("nothing-here-to-see", newrelic.WithoutCodeLevelMetrics()) +defer txn.End() +``` + +### Ajuster le préfixe du chemin d'accès au fichier [#instrument-transactions-path-prefix-clm] + +Par défaut, l'agent Go signalera les chemins d'accès complets (absolus) des fichiers sources référencés par les métriques de niveau de code. Le [guide de configuration](/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config) contient des informations sur la manière dont vous pouvez tronquer les chemins d&apos;accès aux fichiers globalement pour démarrer à partir du nom de répertoire de votre choix via le paramètre `ConfigCodeLevelMetricsPathPrefixes`, mais vous devrez peut-être spécifier un préfixe de chemin d&apos;accès aux fichiers différent pour les transactions individuelles. Si tel est le cas, ajoutez simplement une option `WithPathPrefixes` à la transaction : + +```go +txn := app.StartTransaction("mytransaction", newrelic.WithPathPrefixes("otherproject/lib/src")) +defer txn.End() +``` + +Cela signifie que, pour cette transaction uniquement, un chemin d'accès au fichier source, par exemple `"/usr/src/otherproject/lib/src/main.go"`, est raccourci en `"otherproject/lib/src/main.go"`. + +Si vous avez plusieurs préfixes de chemin que vous souhaitez utiliser, transmettez-les simplement comme paramètre supplémentaire à `WithPathPrefixes`: + +```go +txn := app.StartTransaction("mytransaction", newrelic.WithPathPrefixes("otherproject/lib/src", "myproject/src")) +defer txn.End() +``` + +### Ajuster le préfixe ignoré de l'heuristique de reconnaissance de fonction [#instrument-transactions-ignore-prefix-clm] + +Par défaut, l'agent Go contient une logique permettant de sauter les fonctions de la stack d'appels qui sont internes à l'agent lui-même, afin d'arriver à celle que vous êtes instrumenté. Le [guideconfiguration ](/docs/apm/agents/go-agent/configuration/go-agent-code-level-metrics-config)contient des informations sur la manière dont vous pouvez modifier globalement cette heuristique via le paramètre `ConfigCodeLevelMetricsIgnoredPrefixes`, mais vous souhaiterez peut-être fournir un préfixe d&apos;espace de nommage ignoré personnalisé pour une seule transaction. Vous pouvez le faire en ajoutant une option `WithIgnoredPrefixes` à la transaction : + +```go +txn := app.StartTransaction("mytransaction", newrelic.WithIgnoredPrefixes("github.com/ignore/this/")) +defer txn.End() +``` + +Vous pouvez spécifier plusieurs arguments de chaîne à `WithIgnoredPrefixes` s&apos;il existe plusieurs packages dont les fonctions doivent être ignorées : + +```go +txn := app.StartTransaction("mytransaction", newrelic.WithIgnoredPrefixes("github.com/ignore/this/", "github.com/ignore/that/")) +defer txn.End() +``` + +Avec ce changement, toutes les fonctions d'un package dont le nom commence par `github.com/ignore/this/` (ou `github.com/ignore/that/` dans le deuxième exemple) seront ignorées pour trouver la fonction instrumentée. + +### Marquer explicitement l'emplacement du code [#instrument-transactions-this-location-clm] + +Pour faciliter l'identification du point d'intérêt à signaler, ajoutez `WithThisCodeLocation` à la fin de l&apos;appel `StartTransaction` (par exemple, si la transaction est réellement démarrée dans un autre framework). Cela forcera les métriques du niveau du code à signaler l&apos;emplacement dans la source du code où `WithThisCodeLocation` a été invoqué. + +```go +txn := app.StartTransaction("mytransaction", newrelic.WithThisCodeLocation()) +defer txn.End() +``` + +### Marquer explicitement n’importe quel emplacement de code [#instrument-transactions-any-location-clm] + +Vous pouvez également contrôler entièrement l’emplacement dans votre code source à associer à une transaction. Essentiellement, vous pouvez marquer n'importe quel emplacement en appelant `ThisCodeLocation` pour obtenir un « marqueur » pour cet emplacement. Ensuite, utilisez ce marqueur enregistré avec l&apos;option `WithCodeLocation` pour un appel `StartTransaction` : + +```go +here := newrelic.ThisCodeLocation() +. +. +. +txn := app.StartTransaction("mytransaction", newrelic.WithCodeLocation(here)) +defer txn.End() +``` + +Si nécessaire, vous pouvez demander à `ThisCodeLocation` d&apos;ignorer un certain nombre de fonctions d&apos;appel afin que l&apos;emplacement signalé soit plus haut dans la stack d&apos;appels. Par exemple, pour ignorer 1 appelant, de sorte que `here` fasse référence à l&apos;appelant de la fonction qui appelle `ThisCodeLocation`, modifiez l&apos;exemple ci-dessus en : + +```go +here := newrelic.ThisCodeLocation(1) +. +. +. +txn := app.StartTransaction("mytransaction", newrelic.WithCodeLocation(here)) +defer txn.End() +``` + +### Marquer explicitement l'emplacement du code en fonction d'une valeur de fonction [#instrument-transactions-by-function-clm] + +Si le code que vous souhaitez instrumenter est disponible sous forme de valeur de type `func`, comme le nom d&apos;une fonction ou une valeur littérale de fonction, vous pouvez le spécifier comme emplacement pour le rapport des métriques du niveau de code en ajoutant une option `WithFunctionLocation` à `StartTransaction`, en passant la valeur `func` comme paramètre : + +```go +func myfunction() { ... } +. +. +. +txn := app.StartTransaction("myfunction", newrelic.WithFunctionLocation(myfunction)) +``` + +ou + +```go +someFunction := func() {...} +. +. +. +txn := app.StartTransaction("myfunction", newrelic.WithFunctionLocation(someFunction)) +``` + +Vous pouvez également obtenir une valeur `CodeLocation` à partir d&apos;une valeur `func` pour une utilisation ultérieure avec l&apos;option `WithCodeLocation` . Comparez ceci à [l'utilisation indiquée ci-dessus](#instrument-transactions-any-location-clm) pour enregistrer un emplacement de code avec `ThisCodeLocation` pour référence ultérieure avec `WithCodeLocation`. Cette fois, nous faisons la même chose mais avec une valeur `func` à la place : + +```go +func myFunc() {...} +. +. +. +locationOfMyFunc, err := newrelic.FunctionLocation(myFunc) +if err != nil { + // handle the case that the location could not be determined + // from the value passed to FunctionLocation. +} +. +. +. +txn := app.StartTransaction("mytransaction", newrelic.WithCodeLocation(locationOfMyFunc)) +``` + +Notez que `FunctionLocation` renvoie une erreur si la valeur qui lui est transmise n&apos;était pas une fonction valide ou si l&apos;emplacement du code source n&apos;a pas pu être obtenu à partir de celle-ci. En revanche, l&apos;option `WithFunctionLocation` définit le niveau du code métrique en fonction de la valeur transmise si possible, mais ne fait rien en silence si une erreur se produit. + +## Ajout d'options personnalisées aux gestionnaires encapsulés [#instrument-transactions-custom-wrappers-clm] + +Les mêmes options décrites ci-dessus qui peuvent être ajoutées à la fin de `StartTransaction` peuvent également être ajoutées à `WrapHandle` et `WrapHandleFunc` pour ajuster le niveau de collecte des codes métriques associés aux transactions démarrées par eux, si vous le souhaitez (bien que dans la plupart des cas, les fonctions `WrapHandle` et `WrapHandleFunc` identifieront correctement l&apos;emplacement du code instrumenté). Par exemple: + +```go +http.HandleFunc(newrelic.WrapHandleFunc(app, "/endpoint", endpointFunction, newrelic.WithThisCodeLocation())) +``` + +## Modification des options trace après le début d'une transaction [#instrument-transactions-set-options-clm] + +Parfois, vous n'avez pas le luxe de connaître l'emplacement du code jusqu'à ce que la transaction ait déjà été démarrée (peut-être par un framework ou une fonction d'intégration en votre nom). Vous pouvez modifier les options de transaction sur une transaction existante en appelant sa méthode `SetOption` . Les paramètres sont un ensemble de fonctions `TraceOption` telles que décrites ci-dessus. Par exemple: + +```go +txn := newrelic.FromContext(r.context) +txn.SetOption(newrelic.WithThisCodeLocation()) +``` + +## Améliorer les performances avec les fonctions de niveau du code métriques mises en cache [#instrument-transactions-cached-clm] + +Souvent, le moyen le plus pratique d'instrumenter une transaction avec des métriques de niveau de code est d'appeler `newrelic.WithThisCodeLocation()` (ou une fonction similaire à celle décrite ci-dessus) à l&apos;intérieur de la fonction instrumentée. Cependant, si cette fonction doit être appelée plusieurs fois au cours de l&apos;exécution de votre application, il serait préférable d&apos;éviter la surcharge liée au calcul répété de l&apos;emplacement du code source. Cela est particulièrement vrai si le code de transaction doit être exécuté simultanément dans plusieurs goroutines. + +Pour atténuer ce problème, l’agent Go fournit des versions *de mise en cache* de plusieurs de ces fonctions. Ils fonctionnent de la même manière que leurs homologues non mis en cache, sauf qu&apos;ils ne font que déterminer l&apos;emplacement du code source la *première* fois qu&apos;ils sont appelés, puis réutilisent simplement cette valeur à chaque fois suivante. + +Pour utiliser cette fonctionnalité, vous devez créer une variable de stockage de cache en appelant `NewCachedCodeLocation()` et la placer là où elle persistera entre les exécutions de la transaction instrumentée. Cette variable contiendra la valeur mise en cache pour cet emplacement de code. Utilisez ensuite simplement les méthodes `FunctionLocation(functionValue)` ou `ThisCodeLocation()` comme vous utiliseriez les fonctions autonomes du même nom, mais dans ce cas, ce sont des méthodes de votre variable `CachedCodeLocation` . Ces méthodes sont thread-safe, vous pouvez donc les utiliser dans des goroutines simultanées sans leur ajouter de contrôles de simultanéité supplémentaires. + +Par exemple, dans ce code, nous configurons une variable de cache qui est utilisée dans la fermeture assignée à la variable `myFunc` . + +```go +cache := newrelic.NewCachedCodeLocation() + +myFunc := func() { + txn := app.StartTransaction("mytransaction", cache.WithThisCodeLocation()) + defer txn.End() + // go on to perform the transaction +} +``` + +(Cet exemple suppose que `app` est la valeur `Application` de agent créée au démarrage de l&apos;agent et est visible dans cet snippet de code.) + +Nous pouvons maintenant appeler la fonction `myFunc` plusieurs fois. Chaque invocation (éventuellement simultanée) de `myFunc` a une référence à la variable `cache` . La première invocation pour exécuter `cache.WithThisCodeLocation()` calculera l&apos;emplacement de la source du code à ce stade et le stockera dans la variable `cache` . Les exécutions ultérieures de `myFunc` réutiliseront la valeur précédemment stockée dans `cache`. + +Notez que vous devez utiliser une variable de cache différente pour chaque emplacement de code que vous souhaitez utiliser, car le but est d'évaluer cet emplacement une seule fois, puis d'utiliser la valeur mise en cache à partir de là. La variable de cache n'est pas destinée à être copiée ou utilisée autrement que comme documenté ici et dans la documentation du package du module. + +Veuillez vous référer à la [documentation complète du package de modules](https://pkg.go.dev/github.com/newrelic/go-agent/v3/newrelic) Go pour plus de détails sur toutes les fonctions et méthodes de métriques au niveau du code mis en cache que vous pouvez utiliser. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-segments.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-segments.mdx new file mode 100644 index 00000000000..f1e83105993 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-segments.mdx @@ -0,0 +1,314 @@ +--- +title: Instrumenter les segments Go +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: 'With APM''s Go agent, you can set up segments, which measure the timing of specific blocks of code in your Golang app.' +freshnessValidatedDate: never +translationType: machine +--- + +Avec New Relic for Go, vous pouvez monitorer les segments spécifiques d'une [transaction](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) dans une application Go pour obtenir plus de détails sur des fonctions ou des blocs de code spécifiques. + +## Mesurer le temps pour les fonctions et les blocs de code [#go-segments] + +**Segments** sont les parties spécifiques d&apos;une [transaction](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) dans une application. Grâce aux segments instrumentés, vous pouvez mesurer le temps pris par les fonctions et les blocs de code, tels que les appels externes, les appels datastore, l&apos;ajout de messages aux files d&apos;attente et les tâches en arrière-plan. + +**Example:** Vous avez une transaction associée à un processus de paiement, qui traite à la fois les informations d&apos;expédition et les informations de carte de crédit. Vous pouvez instrumenter votre application pour diviser cette transaction en deux parties : un segment pour l&apos;expédition et un segment pour le paiement. + +## Segments de blocs de code [#segment-code-block] + +Une fois que vous avez instrumenté une [transaction](/docs/agents/go-agent/get-started/instrument-go-transactions), vous êtes prêt à instrumenter un ou plusieurs segments de cette transaction. + +Pour instrumenter un bloc de code arbitraire en tant que segment, utilisez le modèle suivant et incluez [`txn`](/docs/agents/go-agent/get-started/instrument-go-transactions) comme nom de variable défini pour la transaction : + +```go +segment := newrelic.Segment{} +segment.Name = "mySegmentName" +segment.StartTime = txn.StartSegmentNow() +// ... code you want to time here ... +segment.End() +``` + +`StartSegment` est une aide pratique. Il crée un segment et le démarre : + +```go +segment := txn.StartSegment("mySegmentName") +// ... code you want to time here ... +segment.End() +``` + +## Segments de fonction [#segment-function] + +instrumenter une fonction en tant que segment est essentiellement la même chose qu'instrumenter un bloc de code arbitraire en tant que segment. La principale différence est que, comme une fonction a une fin discrète, vous pouvez utiliser [l'instruction defer](https://gobyexample.com/defer) de Go. + +Pour instrumenter une fonction en tant que segment, ajoutez le code suivant au début de la fonction et incluez [`txn`](/docs/agents/go-agent/get-started/instrument-go-transactions) comme nom de variable défini pour la transaction : + +```go +defer txn.StartSegment("mySegmentName").End() +``` + +## Segments de nidification [#go-nesting-segments] + +Les segments peuvent être imbriqués. Le segment terminé doit être le segment le plus récemment démarré. + +Voici un exemple d'un segment commençant et se terminant à l'intérieur d'un autre segment : + +```go +s1 := txn.StartSegment("outerSegment") +s2 := txn.StartSegment("innerSegment") +// s2 must end before s1 +s2.End() +s1.End() +``` + +Un segment de valeur zéro peut être terminé en toute sécurité. Par conséquent, le code suivant est sûr même si la condition échoue : + +```go +var s newrelic.Segment +if recordSegment { + s.StartTime = txn.StartSegmentNow() +} +// ... code you wish to time here ... +s.End() +``` + +## segments de la banque de données [#go-datastore-segments] + +Vous pouvez instrumenter les application datastore appels Go. les segments de banque de données apparaissent dans la table APM **Transactions breakdown** et dans l&apos;onglet **Databases** de la [page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page)dans New Relic. + +Si vous utilisez un pilote de base de données MySQL, PostgreSQL ou SQLite, le moyen le plus simple d'ajouter des segments de banque de données est d'utiliser notre package d'intégration prédéfini. Sinon, vous pouvez créer manuellement des segments de banque de données pour chaque appel de base de données. + + + + Il existe un package d'intégration pour chaque pilote de base de données que nous prenons en charge : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ base de données bibliothèque prise en charge + + packaged'intégration +
+ [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) + + [v3/intégration/nrmysql](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrmysql) +
+ [lib/pq](https://github.com/lib/pq) + + [v3/intégration/nrpq](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrpq) +
+ [mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) + + [v3/intégration/nrsqlite3](https://godoc.org/github.com/newrelic/go-agent/v3/integrations/nrsqlite3) +
+ + Pour utiliser l'une de ces intégrations, remplacez d'abord le pilote par notre version d'intégration : + + ```go + import ( + // import our integration package in place of "github.com/go-sql-driver/mysql" + _ "github.com/newrelic/go-agent/v3/integrations/nrmysql" + ) + + func main() { + // open "nrmysql" in place of "mysql" + db, err := sql.Open("nrmysql", "user@unix(/path/to/socket)/dbname") + } + ``` + + Deuxièmement, utilisez les méthodes `ExecContext`, `QueryContext` et `QueryRowContext` de [sql.DB](https://golang.org/pkg/database/sql/#DB), [sql.Conn](https://golang.org/pkg/database/sql/#Conn), [sql.Tx](https://golang.org/pkg/database/sql/#Tx) et [sql.Stmt](https://golang.org/pkg/database/sql/#Stmt) et fournissez un contexte contenant la transaction. Les appels à `Exec`, `Query` et `QueryRow` ne sont pas instrumentés. + + ```go + ctx := newrelic.NewContext(context.Background(), txn) + row := db.QueryRowContext(ctx, "SELECT count(*) from tables") + ``` + + Si vous utilisez une [base de données/base de données SQL](https://golang.org/pkg/database/sql/) non répertoriée ci-dessus, vous pouvez écrire votre propre instrumentation à l&apos;aide de [InstrumentConnector](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#InstrumentConnector), [InstrumentDriver](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#InstrumentDriver) et [DriverSegmentBuilder](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#DriverSegmentBuilder). Le package d’intégration sert d’exemple pour montrer comment procéder. + + + Les packages d'intégration de magasin de données pour MySQL, PostgreSQL et SQLite ont été ajoutés dans l'agent Go v2.8.0 et nécessitent Go v1.10 ou supérieur. + +
+ + Utiliser + DatastoreSegment + + } + > + Tout comme les segments de base, les segments datastore commencent lorsque le champ `StartTime` est renseigné et se terminent lorsque la méthode `End` est appelée. Pour instrumenter un segment datastore, placez les éléments suivants au début de la fonction que vous souhaitez monitorer : + + ```go + s := newrelic.DatastoreSegment{ + Product: newrelic.DatastoreMySQL, + Collection: "users", + Operation: "INSERT", + ParameterizedQuery: "INSERT INTO users (name, age) VALUES ($1, $2)", + QueryParameters: map[string]interface{}{ + "name": "Dracula", + "age": 439, + }, + Host: "mysql-server-1", + PortPathOrID: "3306", + DatabaseName: "my_database", + } + s.StartTime = txn.StartSegmentNow() + // ... make the datastore call + s.End() + ``` + + Pour plus d'informations sur : + + * Affectation des `Collection` `Operation``DatabaseName`valeurs,, et autres paramètres : consultez la [New Relic datastore documentation du segment sur GoDoc](https://godoc.org/github.com/newrelic/go-agent#DatastoreSegment). + * Valeurs disponibles pour `Product`: consultez la [documentation New Relic sur GitHub](https://github.com/newrelic/go-agent/blob/master/datastore.go). + + Lorsque vous instrumentez un appel datastore qui couvre un appel de fonction entier, vous pouvez utiliser l'instruction defer pour simplifier instrumentation: + + ```go + s := newrelic.DatastoreSegment{ + StartTime: txn.StartSegmentNow(), + Product: newrelic.DatastoreMySQL, + Collection: "users", + Operation: "INSERT", + ParameterizedQuery: "INSERT INTO users (name, age) VALUES ($1, $2)", + QueryParameters: map[string]interface{}{ + "name": "Dracula", + "age": 439, + }, + Host: "mysql-server-1", + PortPathOrID: "3306", + DatabaseName: "my_database", + } + defer s.End() + ``` + +
+ +## Segments externes [#go-external-segments] + +Vous pouvez instrumenter les appels application Go vers des services externes, tels que des services Web, des ressources dans le cloud et tout autre appel réseau. Les segments externes apparaissent dans la table **Transactions breakdown** et la [page**External services** ](/docs/apm/applications-menu/monitoring/external-services-page)dans New Relic. + +Il existe deux manières d’ instrumenter des segments externes : + + + Utiliser + StartExternalSegment() + + } + > + Recommandation : utilisez l'assistant `StartExternalSegment`, car New Relic l&apos;utilise pour trace l&apos;activité entre vos applications à l&apos;aide [du traçage distribué](/docs/agents/go-agent/features/distributed-tracing-go). + + ```go + func external(txn *newrelic.Transaction, req *http.Request) (*http.Response, error) { + s := newrelic.StartExternalSegment(txn, req) + response, err := http.DefaultClient.Do(req) + s.Response = response + s.End() + return response, err + } + ``` + + + Utiliser + NewRoundTripper() + + } + > + `NewRoundTripper` renvoie un [http.RoundTripper](https://golang.org/pkg/net/http/#RoundTripper), qui vous permet d&apos; instrument des appels externes sans appeler `StartExternalSegment` en modifiant le champ `Transport` de votre `http.Client`. Le `RoundTripper` renvoyé recherchera un `Transaction` dans le contexte de la requête en utilisant [FromContext](https://godoc.org/github.com/newrelic/go-agent#FromContext). + + Voici un exemple d'instrumentation `NewRoundTripper` : + + ```go + client := &http.Client{} + client.Transport = newrelic.NewRoundTripper(client.Transport) + + request, _ := http.NewRequest("GET", "http://example.com", nil) + request = newrelic.RequestWithTransactionContext(request, txn) + + response, err := client.Do(request) + ``` + + + +## Segments producteurs de messages [#go-message-producer-segments] + +Vous pouvez instrumenter les appels application Go qui ajoutent des messages au système de mise en file d'attente comme RabbitMQ et Kafka. Les segments du producteur de messages apparaissent dans l'APM **Transactions breakdown** dans New Relic. + +Il n'existe qu'une seule façon d'instrumenter les segments producteurs de messages : + + + Utiliser + MessageProducerSegment + + } + > + Tout comme les segments de base, les segments producteurs de messages commencent lorsque le champ `StartTime` est renseigné et se terminent lorsque la méthode `End` est appelée. Pour instrumenter un segment producteur de messages, placez les éléments suivants au début de la fonction que vous souhaitez monitorer : + + ```go + s := newrelic.MessageProducerSegment{ + Library: "RabbitMQ", + DestinationType: newrelic.MessageExchange, + DestinationName: "myExchange", + DestinationTemporary: false, + } + s.StartTime = txn.StartSegmentNow() + // ... add message to queue + s.End() + ``` + + Pour plus d'informations sur l'attribution des champs `Library`, `DestinationType`, `DestinationName` ou `DestinationTemporary`, consultez la [documentation du segment du producteur de messages New Relic sur GoDoc](https://godoc.org/github.com/newrelic/go-agent#MessageProducerSegment). + + Lorsque vous instrumentez un appel de producteur de message qui s'étend sur un appel de fonction entier, vous pouvez utiliser l'instruction defer pour simplifier instrumentation: + + ```go + s := newrelic.MessageProducerSegment{ + StartTime: txn.StartSegmentNow(), + Library: "RabbitMQ", + DestinationType: newrelic.MessageExchange, + DestinationName: "myExchange", + DestinationTemporary: false, + } + defer s.End() + // ... add message to queue + ``` + + + Des segments de producteurs de messages ont été ajoutés dans la version 2.14.0 d'Agent Go. + + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-transactions.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-transactions.mdx new file mode 100644 index 00000000000..6c3b1f7f6fc --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/instrumentation/instrument-go-transactions.mdx @@ -0,0 +1,213 @@ +--- +title: Instrumenter Go transactions +tags: + - Agents + - Go agent + - Instrumentation +metaDescription: Learn how to set up New Relic monitoring of web and non-web transactions in your Golang application or microservice. +freshnessValidatedDate: never +translationType: machine +--- + +Monitorez votre [New Relic for Go](/docs/agents/go-agent/get-started/new-relic-go) application ou vos microservices en créant des [transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) associées à des activités spécifiques du serveur d&apos;applications, telles que des réponses HTTP ou des tâches en arrière-plan. Vous pouvez ensuite visualiser les performances de votre application dans New Relic, y compris la [page APM **Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page). + +## Identifier les transactions Web et non Web [#go-monitoring] + +Contrairement à de nombreux autres langages, les applications Go s'exécutent à partir d'un fichier binaire natif compilé. Cela signifie que la configuration de New Relic pour votre application Golang nécessite que vous ajoutiez manuellement des méthodes New Relic à votre code source. + +Dans APM, les transactions sont identifiées comme [des transactions Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) ou [des transactions non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions). + +* Lorsque vous instrumentez ou encapsulez une transaction qui dispose d'un rédacteur de requête et de réponse HTTP, New Relic la traite comme un réseau de transactions. +* Lorsque vous instrumentez ou encapsulez une transaction qui ne contient pas de données HTTP, New Relic la traite comme une transaction non Web. + +Les segments sont les fonctions et les appels qui composent une transaction. Vous pouvez également utiliser New Relic for Go pour [ajouter des détails au niveau du segment à vos transactions](/docs/agents/go-agent/get-started/instrument-go-segments). + +## Monitorer une transaction [#go-txn] + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + +Pour monitorer une transaction : placez le code suivant immédiatement après le début de la fonction que vous souhaitez monitorer. Par exemple: + +```go +txn := app.StartTransaction("transaction_name") +defer txn.End() +``` + +Dans cet exemple de code : + +* `app` fait référence à la variable attribuée lors du processus de configuration de New Relic. Pour plus d&apos;informations, consultez les [procédures installation de l'agent Go](/docs/agents/go-agent/installation/install-new-relic-go). +* L'instruction [`defer`](https://gobyexample.com/defer) diffère la fin du segment jusqu&apos;à la fermeture de la fonction. + +Pour monitorer une transaction Web, appelez l'API `Transaction.SetWebRequest` et éventuellement l&apos;API `Transaction.SetWebResponse` : + +```go +txn := app.StartTransaction("transaction_name") +defer txn.End() + +// req is a *http.Request, this marks the transaction as a web transaction +txn.SetWebRequestHTTP(req) + +// writer is a http.ResponseWriter, use the returned writer in place of the original +writer = txn.SetWebResponse(writer) +writer.WriteHeader(500) +``` + + + + Voici un exemple simple avant/après pour la création d'une transaction appelée `checkout_transaction`: + + Avant: + + ```go + func checkout() { + // function code here + } + ``` + + Après: + + ```go + func checkout() { + txn := app.StartTransaction("checkout_transaction") + defer txn.End() + // function code here + } + ``` + + + +## Monitorer une transaction avec plusieurs goroutines [#goroutines] + +Pour monitorer une transaction sur plusieurs goroutines, utilisez `Transaction.NewGoroutine()`. La méthode `NewGoroutine` renvoie une nouvelle référence à la transaction, qui est requise par chaque goroutine de création de segment. Peu importe que vous appeliez `NewGoroutine` avant ou après le démarrage de l&apos;autre goroutine. + +Toutes les méthodes `Transaction` peuvent être utilisées dans n&apos;importe quelle référence `Transaction` . Le `Transaction`se terminera lorsque `End()` sera appelé dans n&apos;importe quelle goroutine. + + + + L'exemple ci-dessous transmet une nouvelle référence `Transaction` directement à une autre goroutine : + + ```go + go func(txn *newrelic.Transaction) { + defer txn.StartSegment("async").End() + time.Sleep(100 * time.Millisecond) + }(txn.NewGoroutine()) + ``` + + L'exemple ci-dessous transmet une nouvelle référence `Transaction` sur un canal à une autre goroutine : + + ```go + ch := make(chan *newrelic.Transaction) + go func() { + txn := <-ch + defer txn.StartSegment("async").End() + time.Sleep(100 * time.Millisecond) + }() + ch <- txn.NewGoroutine() + ``` + + + +## Monitorer une transaction en enveloppant un gestionnaire HTTP [#http-handler-txns] + +Si vous utilisez le package de bibliothèque HTTP standard, vous pouvez créer des transactions en encapsulant requests HTTP, comme alternative à [l'instrumentation du code d'une fonction](/docs/agents/go-agent/get-started/new-relic-go-monitor-transactions#go-txn). + +Voici un exemple avant/après d'un gestionnaire HTTP en cours d'encapsulation : + +Avant: + +```go +http.HandleFunc("/users", usersHandler) +``` + +Après: + +Cela démarre et termine automatiquement une transaction avec le rédacteur de la demande et de la réponse. + +```go +http.HandleFunc(newrelic.WrapHandleFunc(app, "/users", usersHandler)) +``` + +Pour accéder à la transaction dans votre gestionnaire, utilisez l'API `newrelic.FromContext` . Notez que cela ne fonctionnera que pour les versions Go 1.7 et plus récentes. Par exemple: + +```go +func myHandler(w http.ResponseWriter, r *http.Request) { + txn := newrelic.FromContext(r.Context()) + txn.NoticeError(errors.New("my error message")) +} +``` + +## Erreurs de monitoring [#go-error-methods] + +New Relic for Go capture les erreurs de trois manières différentes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Suivez les erreurs et signalez toute combinaison de message, de classe et d'attribut + + [`Transaction.NoticeError()`](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#noticeerror) +
+ Suivez les erreurs attendues et signalez toute combinaison de message, de classe et d'attribut sans déclencher d'alertes ni affecter les mesures d'erreur. + + [`Transaction.NoticeExpectedError()`](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#noticeerror) +
+ Le rapport panique + + Les transactions terminées avec `defer` enregistrent automatiquement les paniques. [Consultez la documentation GitHub de New Relic for Go pour plus d'informations](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#panics). À partir de la version 3.0.0, cette fonctionnalité doit être spécifiquement activée en définissant la configuration `Config.ErrorCollector.RecordPanics` sur `true`. +
+ Signaler les codes de réponse d'erreur + + Les transactions enregistrent automatiquement les erreurs supérieures à 400 et inférieures à 100. [Consultez la documentation GitHub de New Relic for Go pour plus d'informations](https://github.com/newrelic/go-agent/blob/master/GUIDE.md#error-response-codes). +
+ +## Afficher les logs de vos données APM et infrastructure [#logs-context] + +Vous pouvez également rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/configure-logs-context-go/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. + +1. Depuis la page **Errors**, cliquez sur une trace pour accéder à la [page**Error details** ](/docs/apm/apm-ui-pages/error-analytics/errors-page-find-fix-verify-problems). +2. Dans la page des détails de l’erreur, cliquez sur **See logs**. +3. Pour afficher les détails relatifs à un message individuel du log, cliquez directement sur le message. + +Vous pouvez également voir les journaux en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. Pas besoin de passer à une autre UI. + +## Méthodes de transaction supplémentaires [#go-transactions-methods] + +L'objet `Transaction` dispose de plusieurs méthodes facultatives qui peuvent être utilisées pour contrôler le comportement des transactions, telles que `NoticeError`, `AddAttribute` et `Ignore`. Pour obtenir une liste des méthodes de transaction, consultez les [méthodes de transaction New Relic for Go sur Godoc](https://godoc.org/github.com/newrelic/go-agent/v3/newrelic#Transaction). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/go-agent/troubleshooting/no-data-appears-go.mdx b/src/i18n/content/fr/docs/apm/agents/go-agent/troubleshooting/no-data-appears-go.mdx new file mode 100644 index 00000000000..880bf7beb59 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/go-agent/troubleshooting/no-data-appears-go.mdx @@ -0,0 +1,26 @@ +--- +title: Aucune donnée n'apparaît (Aller) +type: troubleshooting +tags: + - Agents + - Go agent + - Troubleshooting +metaDescription: 'If your New Relic Go application isn''t reporting data, follow these troubleshooting tips.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous [avez installé l'agent Go de New Relic](/docs/agents/go-agent/get-started/install-new-relic-go) pour votre application Golang. Après avoir généré du trafic et attendu quelques minutes, votre application ne signale toujours pas de données dans New Relic. + +## Solution + +Après avoir envoyé une demande à votre application Web, les données devraient apparaître dans l'UI dans un délai de deux à trois minutes. Si vous ne voyez toujours aucune donnée sur [la page**Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page)de votre application, essayez ces conseils de dépannage : + +1. Vérifiez [le nom de l'application](/docs/agents/go-agent/instrumentation/go-agent-configuration#app-name) et [la clé de licence de](/docs/agents/go-agent/instrumentation/go-agent-configuration#license) dans la [structure `newrelic.Config`](/docs/agents/go-agent/instrumentation/go-agent-configuration) de votre configuration de l&apos;agent Go. +2. Utilisez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics) pour essayer d’identifier automatiquement le problème. +3. Assurez-vous d'avoir instrumenté les transactions de votre application avec [`newrelic.WrapHandleFunc` ou `Application.StartTransaction` et `Transaction.End`](/docs/agents/go-agent/get-started/instrument-go-transactions). +4. Redémarrez votre serveur Web. +5. Utilisez l'[interface Go enregistreur pour générer un log de niveau `Debug` ](/docs/agents/go-agent/instrumentation/go-agent-logging)et vérifiez si ces logs contiennent des erreurs. +6. Si nécessaire, effectuez une mise à niveau vers la [dernière sortie de l'agent Go de New Relic](/docs/release-notes/agent-release-notes/go-release-notes). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/aws-elastic-beanstalk-installation-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/aws-elastic-beanstalk-installation-java.mdx new file mode 100644 index 00000000000..c282f221bbd --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/aws-elastic-beanstalk-installation-java.mdx @@ -0,0 +1,75 @@ +--- +title: AWS Elastic Beanstalk installation pour Java +tags: + - Agents + - Java agent + - Additional installation +metaDescription: Directions for installing the New Relic Java agent with Elastic Beanstalk. +freshnessValidatedDate: never +translationType: machine +--- + +Si vous êtes un utilisateur [AWS Elastic Beanstalk](http://docs.amazonwebservices.com/elasticbeanstalk/latest/gsg/), l&apos;agent Java nécessite une configuration supplémentaire. + +## Prérequis + +Avant de terminer la configuration, vous devez d’abord : + +* Créez un [compte Amazon Web Services](http://aws.amazon.com/elasticbeanstalk/) pris en charge. +* Créez un [compte New Relic](http://newrelic.com/signup). +* [Téléchargez et installez l'agent Java](/docs/agents/java-agent/installation/java-agent-manual-installation). + +Pour terminer l'installation de l'agent Java sur AWS Elastic Beanstalk, suivez les étapes correspondant à votre plateforme : + +## Plateforme Tomcat + +Pour une application déployée avec la plateforme AWS Elastic Beanstalk Tomcat : + +1. Dans votre fichier WAR, ajoutez les fichiers `newrelic.jar` et `newrelic.yml` à `WEB-INF/lib/`. + +2. Reconditionnez et déployez votre nouveau fichier WAR en tant que nouvelle application ou mise à jour d'une application précédente. + +3. Localisez et connectez-vous à l'instancesous-jacente EC2. Une fois connecté, recherchez le chemin d'accès au fichier `newrelic.jar` à l&apos;aide de cette commande - assurez-vous de rechercher un répertoire à la fois. Utilisez `/var` ou `/usr` selon le cas. + + ```sh + sudo find /var -name "newrelic.jar" + sudo find /usr -name "newrelic.jar" + ``` + + Pour passer l’indicateur `-javaagent` à la JVM : + +4. Dans la console AWS, ouvrez Elastic Beanstalk. + +5. Sélectionnez la région concernée. + +6. Sélectionnez votre environnement. + +7. Dans le volet de gauche, sélectionnez **Configurations**. + +8. Faites défiler jusqu'à **Updates, monitoring, and logging** et sélectionnez **Edit** dans le coin supérieur droit. + +9. Faites défiler jusqu'à **Platform Software** et ajoutez la ligne suivante au champ **JVM Options** : + + ```sh + -javaagent:/full/path/to/newrelic.jar + ``` + +10. Sélectionnez **Apply** pour enregistrer. + +Votre Elastic Beanstalk mettra ensuite à jour votre environnement. + +## Plateforme Java SE + +Pour une application déployée avec la plateforme AWS Elastic Beanstalk Java SE : + +1. Ajoutez les fichiers `newrelic.jar` et `newrelic.yml` à votre projet, par exemple dans un sous-répertoire nommé `opt/newrelic`. + +2. Pour utiliser des arguments JVM personnalisés avec votre application Java SE, nous vous recommandons d'inclure un `Procfile` à la racine du bundle source de votre application. Consultez [la documentation Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html) pour plus de détails. + + Passez l'indicateur `-javaagent` comme argument JVM dans `Procfile`: + + ```makefile + web:java -javaagent:path/from/bundle/root/to/newrelic.jar -jar .jar + ``` + +3. Reconditionnez et déployez le bundle source sur votre Elastic Beanstalk. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/include-java-agent-jvm-argument.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/include-java-agent-jvm-argument.mdx new file mode 100644 index 00000000000..19c330f8851 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/include-java-agent-jvm-argument.mdx @@ -0,0 +1,635 @@ +--- +title: Inclure l'agent Java avec un argument JVM +tags: + - Agents + - Java agent + - Installation +metaDescription: Detailed instructions on how to set APM's Java agent startup argument for your JVM or framework. +tocUnlisted: true +freshnessValidatedDate: never +translationType: machine +--- + +Ce document décrit comment transmettre l'argument `-javaagent` à la JVM pour votre framework. Cette étape d&apos;installation garantit que l&apos;agent est inclus dans votre application. Pour tous les serveurs d’applications, assurez-vous de transmettre le chemin d’accès complet au fichier `newrelic.jar` . + +Ce document est simplement une référence sur la manière de transmettre l'argument. Pour les procédures d'installation détaillées, voir [Installation de l'agent Java](/docs/agents/java-agent/installation/java-agent-manual-installation). + +## ColdFusion [#Installing\_on\_ColdFusion][#Installing_on_ColdFusion] + +Pour passer l'argument `-javaagent` sur ColdFusion : + +1. Démarrez votre serveur ColdFusion et accédez à votre console d’administration ColdFusion . + +2. Dans le menu de gauche, sélectionnez **SERVER SETTINGS > Java and JVM**. + +3. Si vous utilisez l'API d'agent: Spécifiez le chemin vers `newrelic-api.jar` dans le champ **ColdFusion Class Path**. + +4. Dans le champ **JVM Arguments**, ajoutez l&apos;argument `-javaagent` : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + +5. Sélectionnez **Submit Changes**, puis redémarrez votre serveur ColdFusion. + +## Geronimo [#Installing\_on\_Geronimo][#Installing_on_Geronimo] + +Pour transmettre l'argument `-javaagent` sur Geronimo, reportez-vous au fichier jar de l&apos;agent New Relic dans la variable d&apos;environnement `JAVA_OPTS` lors de l&apos;exécution de la commande de démarrage : + +```sh +export JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" && geronimo run +``` + +## Glassfish [#Installing\_on\_Glassfish][#Installing_on_Glassfish] + +Pour passer l'argument `-javaagent` sur Glassfish : + +1. Depuis la console Glassfish, sélectionnez **Application Server > JVM Settings > JVM options**. + +2. Sur la page des options JVM, sélectionnez **Add JVM option**. + +3. Ajoutez une entrée pour l'argument `-javaagent` : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + +4. Enregistrez et redémarrez Glassfish. + +Si Glassfish ne démarre pas, l'argument `-javaagent` n&apos;a peut-être pas été défini correctement. Vous pouvez modifier les arguments JVM du serveur en modifiant le fichier `domain.xml` . + + + Un bogue dans Glassfish 2.1 empêche les classes du chargeur de classes d'amorçage (l'agent New Relic) d'utiliser l'API de logging Java. Cela semble être corrigé dans la version 2.1.1 ou supérieure. + + +## Grails [#Installing\_on\_Grails][#Installing_on_Grails] + +Pour passer l'argument `-javaagent` sur Grails : + + + + 1. Commencez avec une version décompressée de Grails. + + 2. Exécutez cette commande : + + ```sh + grails -noreloading -javaagent:/full/path/to/newrelic.jar run-app + ``` + + + + 1. Dans votre application Grails, ouvrez ce fichier avec votre éditeur de texte : + + ``` + grails-app/conf/BuildConfig.groovy + ``` + + 2. Ajoutez ou modifiez la ligne d’arguments JVM : + + ```ini + grails.tomcat.jvmArgs = ["-javaagent:/full/path/to/newrelic.jar"] + ``` + + + +## JBoss [#Installing\_on\_JBoss][#Installing_on_JBoss] + +Pour passer l’argument `-javaagent` sur JBoss : + + + + Utilisez le mode domaine pour les versions JBoss 6.x EAP et 7.0 AS ou supérieures : + + 1. Modifiez les propriétés JVM de votre groupe de serveurs, situées dans : + + ``` + domain/configuration/domain.xml + ``` + + 2. Modifiez les propriétés pour inclure l’argument `-javaagent` : + + ```xml + + + + + + ... + + ``` + + + Un [bogue JBoss dans 7.0.2.Final et 7.1.0.Alpha1](https://issues.jboss.org/browse/AS7-1868) ne permet pas de définir les options JVM dans `domain.xml`. Si vous rencontrez ce problème, mettez à niveau votre serveur application JBoss. + + + + + Utiliser le mode autonome pour les autres plateformes et versions : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ plateforme + + Instructions +
+ Unix ou macOS avec 6.x EAP ou 7.0.x AS et au-dessus + + Au bas de `bin/standalone.conf`, ajoutez : + + ```ini + JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` +
+ Windows avec EAP 6.x ou 7.0.x AS ou supérieur + + Dans `bin/standalone.bat`, avant la ligne : + + ```batch + set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed + ``` + + Ajouter: + + ```batch + set "JAVA_OPTS=-javaagent:C:/full/path/to/newrelic.jar %JAVA_OPTS%" + ``` +
+ Unix ou macOS avec 6.x ou version antérieure + + Au bas de `bin/run.conf`, ajoutez ceci : + + ```ini + JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` +
+ Windows avec 6.x ou version antérieure + + Dans `bin/run.bat`, avant la ligne : + + ```batch + set JBOSS_CLASSPATH=%RUN_CLASSPATH% + ``` + + Ajouter: + + ```batch + set "JAVA_OPTS=-javaagent:C:/full/path/to/newrelic.jar %JAVA_OPTS%" + ``` +
+
+
+ +## Jetty [#Installing\_on\_Jetty][#Installing_on_Jetty] + +Pour passer l'argument `-javaagent` sur Jetty : + + + Si vous définissez exec dans + jetty.sh + + } + > + Modifiez le `JAVA_OPTIONS` dans votre script `jetty.sh` : + + ```sh + export JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/full/path/to/newrelic.jar" + ``` + + + Si vous définissez exec dans + start.ini + + } + > + Ajoutez le chemin de l'agent à votre fichier de configuration `start.ini` : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + + + +## Play [#Installing\_on\_Play][#Installing_on_Play] + +Pour passer l'argument `-javaagent` sur Play : + + + + Ajoutez l’argument `-javaagent` lors de l’exécution de votre application Play : + + ```sh + play run your_app_name -javaagent:/full/path/to/newrelic.jar + ``` + + + + 1. Commencez avec une distribution **unzipped** contenant le script `start` : + + ```sh + play clean dist && unzip dist/*.zip + ``` + + 2. Ajoutez l’argument `-javaagent` lors du démarrage de votre application Play : + + ```sh + cd unzipped/folder; chmod a+x start; ./start -javaagent:/full/path/to/newrelic.jar + ``` + + + + 1. Commencez avec une distribution **unzipped** contenant le script `start` : + + ```sh + play clean dist && unzip target/directory/universal/*.zip + ``` + + 2. Ajoutez l’argument `-J-javaagent` lors du démarrage de votre application Play : + + ```sh + cd unzipped/folder; ./bin/scriptname -J-javaagent:/full/path/to/newrelic.jar + ``` + + + Pour activer le temps de chargement des pages, voir [Instrumentation manuelle avec Play 2.2](/docs/agents/java-agent/instrumentation/page-load-timing-java#manual-play-2-2). + + + + + 1. Commencez avec une distribution **unzipped** contenant le script `start` : + + ```sh + activator clean dist && unzip target/directory/universal/*.zip + ``` + + 2. Ajoutez l’argument `-J-javaagent` lors du démarrage de votre application Play : + + ```sh + cd unzipped/folder; ./bin/scriptname -J-javaagent:/full/path/to/newrelic.jar + ``` + + 3. Si vous utilisez Typesafe Activator avec Play 2.4, ajoutez cette ligne à votre `build.sbt`: + + ```scala + javaOptions ++= Seq("-javaagent:/full/path/to/newrelic.jar") + ``` + + + +## Resin [#Installing\_on\_Resin][#Installing_on_Resin] + +Java 8 + +* Option 1 : ajoutez l'argument `javaagent` via la propriété `jvmargs` dans le fichier `resin.properties` du serveur : + ```properties + jvm_args : -javaagent:/full/path/to/newrelic.jar + ``` +* Option 2 : spécifiez l'argument `-javaagent` en l&apos;ajoutant à la section `` de votre fichier `conf/resin.conf` ou `conf/resin.xml` : + ```xml + -javaagent:/full/path/to/newrelic.jar + ``` + +Java 9 ou supérieur + +Le système de modules introduit dans Java 9 peut conduire à l'exception `NoClassDefFoundError: java/sql/SQLException` si la propriété `-javaagent` est ajoutée aux fichiers `conf/resin.conf` ou `conf/resin.xml` . Si vous utilisez Java 9 ou supérieur, assurez-vous que la propriété `-javaagent` n&apos;est pas incluse dans ces fichiers. + +Resin peut être exécuté sur Java 9 ou supérieur, avec l'agent Java utilisant l'une des options suivantes : + +* Option 1 : ajoutez l'argument `javaagent` via la propriété `jvmargs` dans le fichier `resin.properties` du serveur : + + ```properties + jvm_args : -javaagent:/full/path/to/newrelic.jar + ``` + + Le serveur Resin peut alors être exécuté avec `./bin/resin.sh start`. + +* Option 2 : Exécutez le pot de résine avec la propriété `-javaagent` sur la ligne de commande : + + ```sh + java -javaagent:/path/to/newrelic.jar -jar lib/resin.jar start + ``` + + + L'agent ne fonctionnera pas avec Resin sous Windows lors de l'utilisation de Java 9 ou supérieur. + + +## Solr [#Installing\_on\_solr][#Installing_on_solr] + +Pour passer l'argument `-javaagent` sur Solr: + + + + Ajoutez la propriété `-javaagent` à `bin/solr.in.sh`: + + ```sh + SOLR_OPTS="$SOLR_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` + + + + Ajoutez le `-javaagent` avant le `start.jar`: + + ```sh + java -javaagent:/full/path/to/newrelic.jar -jar start.jar + ``` + + + + Lorsque vous exécutez Solr dans un **application server**, suivez les instructions de ce serveur application pour ajouter l’indicateur `-javaagent`. Assurez-vous également que JMX est activé pour le serveur application . Si vous ne voyez pas de données dans la page de l&apos;UI APM Solr, suivez les [procédures de dépannage pour Solr les](/docs/agents/java-agent/troubleshooting/solr-data-not-appearing-apm-solr-tab-java) données . + + + +## Spring Boot + +Pour transmettre l’argument `-javaagent` sur Spring Boot, ajoutez-le à la ligne de commande dans laquelle vous démarrez votre application. Assurez-vous de l&apos;ajouter avant l&apos;argument `-jar` : + +```sh +java -javaagent:/full/path/to/newrelic.jar -jar app.jar +``` + +## Emballage Tanuki + +Pour passer l'argument `-javaagent` sur Tanuki Wrapper, ajoutez une option wrapper `wrapper.conf`. Dans la ligne ci-dessous, remplacez `XXX` par un numéro inutilisé dans ce fichier : + +```ini +wrapper.java.additional.XXX=-javaagent:/full/path/to/newrelic.jar +``` + + + Sur le système Linux, aucun guillemet n'est requis lors de la définition de cette valeur. Ce comportement peut varier sur d'autres systèmes d'exploitation. + + +## Tomcat [#Installing\_on\_Tomcat][#Installing_on_Tomcat] + +Pour passer l'argument `-javaagent` sur Tomcat : + + + + Créez un script `CATALINA_BASE/bin/setenv.sh` s&apos;il n&apos;existe pas déjà. Configurez votre script `setenv.sh` pour utiliser l&apos;agent New Relic à l&apos;aide de la variable d&apos;environnement `CATALINA_OPTS` : + + ```sh + export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` + + + + Créez un script `CATALINA_BASE/bin/setenv.bat` s&apos;il n&apos;existe pas déjà. Configurez votre script `setenv.bat` pour utiliser l&apos;agent New Relic à l&apos;aide de la variable d&apos;environnement `CATALINA_OPTS` : + + ```batch + SET "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:/full/path/to/newrelic.jar" + ``` + + + + + Nous vous recommandons de ne définir aucune variable dans ce script. Au lieu de cela, placez-les dans un script `setenv.sh` dans `CATALINA_BASE/bin` pour garder vos personnalisations séparées. + + + Configurez votre fichier `catalina.sh` pour utiliser l&apos;agent New Relic à l&apos;aide de la variable d&apos;environnement `JAVA_OPTS` : + + ```sh + export JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` + + + + + Nous vous recommandons de ne définir aucune variable dans ce script. Au lieu de cela, placez-les dans un script `setenv.bat` dans `CATALINA_BASE/bin` pour garder vos personnalisations séparées. + + + Si vous utilisez `catalina.bat` pour lancer Tomcat, définissez la variable `JAVA_OPTS` en haut du fichier : + + ```batch + SET JAVA_OPTS=%JAVA_OPTS% -javaagent:/full/path/to/newrelic.jar + ``` + + + + 1. Sélectionnez **Start > Apache Tomcat X.Y.Z. > Configure Tomcat > Java**. + + 2. Dans la zone de texte **Java Options**, saisissez l’argument. Utilisez des barres obliques `/` comme séparateur de chemin. Pour Tomcat 6, ajoutez un saut de ligne après l&apos;argument `-javaagent` . + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + + 3. Sélectionnez **Apply**, puis redémarrez Tomcat. + + + + La version d'Apache Commons daemon (jsvc) incluse avec Tomcat 6 ne prend pas en charge l'argument `-javaagent` utilisé par New Relic. Cependant, une construction du daemon jsvc à partir de la source du trunk prendra en charge l&apos;argument `-javaagent` via le préfixe `-X` . Consultez le [suivi des bogues Apache pour connaître le problème](https://issues.apache.org/jira/browse/DAEMON-84). + + Il existe un correctif dans le référentiel source d'Apache Commons. Pour plus d'informations : + + * Consultez la [documentation du référentiel source Apache](https://commons.apache.org/svninfo.html). + * Accédez directement au [référentiel source SVN](https://subversion.apache.org/). + + + +## WebLogic [#Installing\_on\_WebLogic][#Installing_on_WebLogic] + +Pour passer l'argument `-javaagent` sur WebLogic : + + + + 1. Modifiez votre fichier `startWebLogic.sh`, situé dans le répertoire `bin` du domaine. + + 2. Au début du fichier, ajoutez : + + ```sh + export JAVA_OPTIONS="$JAVA_OPTIONS -javaagent:/full/path/to/newrelic.jar" + ``` + + + + 1. Modifiez votre fichier `startWebLogic.bat`, situé dans le répertoire `bin` du domaine. + + 2. Au début du fichier, ajoutez : + + ```batch + set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:"C:\full\path\to\newrelic.jar" + ``` + + + + Pour l'instance du serveur d'administration, suivez les instructions Linux/macOS ou Windows . Vous ne pouvez pas utiliser la console d’administration pour installer l’instance du serveur d’administration. + + Pour l'instance de serveur gérée, utilisez la console d'administration : + + 1. Depuis la console d’administration, accédez à **Environments > Servers > (select a server) > Server Start > Arguments**. + + 2. À partir de **Arguments**, ajoutez : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + + 3. Enregistrez la page, puis redémarrez votre instance de serveur. + + + +## WebSphere [#Installing\_on\_Websphere][#Installing_on_Websphere] + +Pour passer l’argument `-javaagent` sur WebSphere : + +1. Depuis la console d’administration, sélectionnez **Servers > Application servers > (select a server) > Configuration > Service Infrastructure > Java and Process Management**. + +2. Sélectionnez **Process Definition > Additional Properties**, puis sélectionnez **Java Virtual Machine**. + +3. Dans le champ **Generic JVM arguments**, ajoutez l&apos;argument `-javaagent` pour votre fichier `newrelic.jar` : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + +4. Sélectionnez **Apply**, puis sélectionnez **Save**. + +5. Redémarrez votre serveur. + +Pour plus d'informations, consultez la documentation sur [la collecte des métriques WebSphere PMI](/docs/agents/java-agent/features/jvm-metrics-page#default-pmi). + +## Communauté WebSphere [#Installing\_on\_Websphere\_Community\_Edition][#Installing_on_Websphere_Community_Edition] + +Pour transmettre l'argument `-javaagent` sur WebSphere Community Edition, reportez-vous au fichier jar de l&apos;agent New Relic dans la variable d&apos;environnement `JAVA_OPTS` lors de l&apos;exécution de la commande de démarrage : + +```sh +export JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" && startup +``` + +## Profil WebSphere Liberty [#Installing\_on\_WebSphere\_Liberty\_Profile][#Installing_on_WebSphere_Liberty_Profile] + +Pour transmettre l’argument `-javaagent` sur WebSphere Liberty Profile : + +1. Modifier `${server.config.dir}/jvm.options`. + +2. Ajoutez l'argument `-javaagent` pour pointer vers votre fichier `newrelic.jar` : + + ``` + -javaagent:/full/path/to/newrelic.jar + ``` + +3. Redémarrez votre serveur. + +## Wildfly [#Installing\_on\_WildFly][#Installing_on_WildFly] + +Pour passer l'argument `-javaagent` sur Wildfly (si vous utilisez Wildfly 11 ou supérieur, consultez [les instructions d'installation supplémentaires](/docs/agents/java-agent/additional-installation/wildfly-version-11-installation-java)) : + + + + 1. Modifiez les propriétés JVM de votre groupe de serveurs, situées dans : + + ``` + domain/configuration/domain.xml + ``` + + 2. Modifiez les propriétés pour inclure l’argument `-javaagent` : + + ```xml + + + + + + ... + + ``` + + + + + + + + + + + + + + + + + + + + + + + + + +
+ plateforme + + Instructions +
+ Unix ou macOS + + Au bas de `bin/standalone.conf`, ajoutez : + + ```ini + JAVA_OPTS="$JAVA_OPTS -javaagent:/full/path/to/newrelic.jar" + ``` +
+ Windows + + Dans `bin/standalone.bat`, recherchez cette ligne : + + ```batch + rem Setup JBoss specific properties + ``` + + Ajoutez ensuite : + + ```batch + set "JAVA_OPTS=-javaagent:C:/full/path/to/newrelic.jar %JAVA_OPTS%" + ``` +
+
+
+ +## Autres serveurs application [#other-app-servers] + +L'agent Java New Relic fonctionne sur n'importe quel [serveur d'applications pris en charge](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent). Si votre serveur d&apos;applications n&apos;est pas répertorié dans ce document, suivez les procédures standard pour que votre serveur d&apos;applications transmette cet argument à la JVM avant le fichier jar de l&apos;application : + +``` +-javaagent:/full/path/to/newrelic.jar +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-java-agent-java-2-security.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-java-agent-java-2-security.mdx new file mode 100644 index 00000000000..168bad781a0 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-java-agent-java-2-security.mdx @@ -0,0 +1,58 @@ +--- +title: Java de la sécurité 2 installation pour WebLogic et WebSphere +tags: + - Agents + - Java agent + - Additional installation +metaDescription: 'For WebLogic and WebSphere users with Java 2 Security or Administrative Security: Additional install steps for the New Relic Java agent.' +freshnessValidatedDate: '2023-06-02T00:00:00.000Z' +translationType: machine +--- + +Si vous êtes un utilisateur WebLogic ou WebSphere et utilisez le modèle de sécurité Java 2, notre agent Java nécessite une configuration en plus de l'[installation de l'agent Java](/install/java). + +## WebLogic : Sécurité Java 2 [#weblogic-java-2] + +Si vous utilisez la sécurité Java 2, ajoutez l'entrée suivante à `weblogic.policy` pour terminer l&apos;installation : + +```java +grant codeBase "file:YOUR_FULL_PATH_TO_FILE/newrelic/-" { + permission java.security.AllPermission; +}; +``` + +Spécifiez le répertoire contenant `newrelic.jar` dans `/full/path/to/newrelic`. L&apos;emplacement du fichier de politique par défaut est `weblogic_root/server/lib/weblogic.policy`. + +## WebSphere : Sécurité Java 2 ou sécurité administrative [#websphere-java-2] + +Si vous utilisez Java 2 Security ou WebSphere Admin Security, vous devez accorder à tous les fichiers JAR contenus dans le dossier d'installation de New Relic les autorisations appropriées. + +Pour activer New Relic pour tous les serveurs d'applications, modifiez le fichier `java.policy` : + +1. Ouvrez votre fichier `java.policy`, situé dans votre répertoire d&apos;installation WebSphere à l&apos;adresse : + + ``` + YOUR_WEBSPHERE_INSTALL_DIRECTORY/java/jre/lib/security/java.policy + ``` + +2. Ajoutez le texte suivant à votre fichier de stratégie, en personnalisant le chemin `file:` pour qu&apos;il pointe vers le dossier contenant `newrelic.jar`. Assurez-vous de conserver le tiret `-` à la fin du chemin, ce qui accorde à tous les fichiers JAR du dossier cible les autorisations nécessaires. + + ```java + grant codeBase "file:/YOUR_FULL_PATH_TO_NEW_RELIC_FOLDER/-" { + permission java.security.AllPermission; + permission java.net.NetPermission "specifyStreamHandler"; + permission java.net.SocketPermission "*.newrelic.com", "connect,accept,resolve"; + }; + ``` + + + La valeur `codeBase` doit utiliser des barres obliques, et non des barres obliques inverses, comme séparateur de répertoire, même sur le système Windows . + + +3. Redémarrez votre serveur application . + + + Pour chaque application, les autorisations de sécurité Java sont déterminées par l'union de `java.policy` et `server.policy`. Ne placez pas les mêmes paramètres d’autorisation dans plusieurs fichiers. + + +Pour plus d'informations sur la syntaxe du fichier de stratégie, consultez [Implémentation de stratégie par défaut et syntaxe du fichier de stratégie](http://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-docker.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-docker.mdx new file mode 100644 index 00000000000..f082fab8b64 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-docker.mdx @@ -0,0 +1,346 @@ +--- +title: Installer l'agent Java New Relic pour Docker +tags: + - Agents + - Java agent + - Additional installation +metaDescription: How to install New Relic's Java agent for APM on a Docker container. +freshnessValidatedDate: never +translationType: machine +--- + +Ce document explique une installation de base de l'agent pour l&apos;application Java dans un conteneur Docker . Nous discutons de la configuration requise et explorons également certaines configurations facultatives, notamment : + +* Comment utiliser des New Relic configuration fichiers identiques pour chaque conteneur, quel que soit l'environnement dans lequel les conteneurs sont utilisés +* Comment utiliser la couche Docker lorsque chaque agent dans chaque environnement nécessite des données de configuration légèrement différentes +* Comment désactiver l'agent New Relic dans certains environnements et l'activer dans d'autres + +Bien que nous ne discutions pas ici des options avancées, vous pouvez installer l'agent Java dans les volumes Docker et utiliser votre image de conteneur Docker dans d'autres logiciels tels que Swarm, ECS, AKS, EKS, OpenShift et Kubernetes. Nos exemples Docker font référence à Tomcat, donc si vous utilisez un autre serveur application, reportez-vous à la documentation de votre fournisseur. + +## Obtenir l'agent Java [#download-agent] + +Téléchargez `newrelic-java.zip` en `curl` utilisant, `Invoke-WebRequest` (PowerShell) ou l&apos;UI de New Relic : + + + Télécharger en utilisant + curl + + } + > + Complétez les éléments suivants : + + 1. Démarrer une session de ligne de commande. + + 2. Accédez à un répertoire temporaire dans lequel vous pouvez télécharger le fichier zip. + + 3. Exécutez cette commande `curl` : + + ```sh + curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip + ``` + + 4. Décompresser `newrelic-java.zip` + + + Télécharger en utilisant + Invoke-WebRequest + (PowerShell) + } + > + Complétez les éléments suivants : + + 1. Démarrez une session PowerShell. + + 2. Accédez à un répertoire temporaire dans lequel vous pouvez télécharger le fichier zip. + + 3. Exécutez cette commande PowerShell : + + ```powershell + Invoke-WebRequest -Uri https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip -OutFile newrelic-java.zip + ``` + + 4. Décompresser `newrelic-java.zip`: + + ```powershell + Expand-Archive -Path newrelic-java.zip -DestinationPath DESTINATION_PATH + ``` + + + + 1. Depuis **[one.newrelic.com](https://one.newrelic.com/all-capabilities)**, cliquez sur **Add more data** puis recherchez « Java ». + 2. Sélectionnez Java monitoring l’option de l’application et terminez le processus. + + + +## Configurer le répertoire d'installation [#install-directory] + +Vous pouvez décompresser le fichier `newrelic-java.zip` où bon vous semble. Dans les sections suivantes, nous supposons que vous l&apos;avez extrait dans le répertoire de travail actuel, ce qui place les fichiers dont nous avons besoin dans `./newrelic`. + +## Modifier le script de démarrage [#start-up-scripts] + +Le script de démarrage qui contient la commande pour démarrer votre serveur application doit inclure l'argument intégré de Java `-javaagent`. Nous vous recommandons de définir cet argument avec la variable d&apos;environnement `JAVA_OPTS` . La valeur de cet argument doit contenir l’emplacement où vous `ADD` le fichier jar de l’agent Java APM vers l’image. + +Par exemple, avec Tomcat, utilisez des commandes comme celles-ci dans le `Dockerfile`: + +```dockerfile +RUN mkdir -p /usr/local/tomcat/newrelic +ADD ./newrelic/newrelic.jar /usr/local/tomcat/newrelic/newrelic.jar +ENV JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/tomcat/newrelic/newrelic.jar" +``` + +## Définir la configuration agent [#agent-configs] + +Par défaut, le comportement de l'agent est contrôlé par les entrées de configuration dans `newrelic.yml`, qui se trouve généralement dans le même répertoire que l&apos;agent. Cette section explique comment remplacer ces `newrelic.yml` configurations en utilisant des variables d&apos;environnement ou des propriétés système Java dans le `Dockerfile`. + +Avant d'examiner une configuration spécifique, voici comment charger `newrelic.yml` en utilisant `Dockerfile`: + +```dockerfile +ADD ./newrelic/newrelic.yml /usr/local/tomcat/newrelic/newrelic.yml +``` + +Pour une de Docker installation base, complétez ces configurations : + +* [Nom de l'application](#app-name) +* [clé de licence](#license-key) +* [Logs](#logs) +* [Environnement](#environment) (optionnel) +* [Agent activé](#agent-enabled) (facultatif) + +### Nom de l'application [#app-name] + +Le nom de l'application est une configuration que vous définissez pour identifier votre application dans New Relic. + + + Vous pouvez réutiliser un nom d'application pour plusieurs applications remplissant le même rôle afin que toutes les données de ces applications soient regroupées dans la même application logique dans New Relic. Pour plus de détails sur les options de regroupement supplémentaires, voir [Utiliser plusieurs noms pour une application](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app). + + +Remplacez `MY_APP_NAME` par le nom de votre application dans l&apos;une de ces commandes `Dockerfile` : + + + + + + + + + + + + + + + + + + + + + + + +
+ Option + + Commande +
+ Variable d'environnement + + ```powershell + ENV NEW_RELIC_APP_NAME="MY_APP_NAME" + ``` +
+ Propriété du système Java + + ```powershell + ENV JAVA_OPTS="$JAVA_OPTS -Dnewrelic.config.app_name='MY_APP_NAME'" + ``` +
+ +Après avoir démarré le conteneur, le nom de votre application apparaît dans New Relic. + +### clé de licence + +Cette configuration est requise pour que vous puissiez signaler des données à votre compte New Relic. + +Pour copier votre clé de licence : + +1. Accédez à l'UI de clé d'API et obtenez un . + +2. Dans l'une de ces commandes `Dockerfile`, remplacez `MY_LICENSE_KEY` par votre clé de licence : + + + + + + + + + + + + + + + + + + + + + + + +
+ Option + + Commande +
+ Variable d'environnement + + ```dockerfile + ENV NEW_RELIC_LICENSE_KEY="MY_LICENSE_KEY" + ``` +
+ Propriété du système Java + + ```dockerfile + ENV JAVA_OPTS="$JAVA_OPTS -Dnewrelic.config.license_key='MY_LICENSE_KEY'" + ``` +
+ +### Logs + +Par défaut, les journaux sont écrits dans le répertoire des journaux par rapport à l'emplacement de `newrelic.jar`. Assurez-vous que le compte utilisateur qui démarre votre serveur application a également le droit d&apos;effectuer des tâches telles que : + +* Création du répertoire des journaux. +* Création et ajout au fichier de log dans ce répertoire. + +Voici un exemple de Dockerfile où `tomcat` est l&apos;utilisateur qui démarre Tomcat : + +```dockerfile +RUN mkdir -p /usr/local/tomcat/newrelic/logs +RUN chown -R tomcat:tomcat /usr/local/tomcat/newrelic/logs +``` + +Vous pouvez également envoyer le log à `STDOUT` en ajoutant l’un des éléments suivants au Dockerfile : + + + + + + + + + + + + + + + + + + + + + + + +
+ Option + + Commande +
+ Variable d'environnement + + ```dockerfile + ENV NEW_RELIC_LOG_FILE_NAME=STDOUT + ``` +
+ Propriété du système Java + + ```dockerfile + ENV JAVA_OPTS=-Dnewrelic.config.log_file_name=STDOUT + ``` +
+ +### Environnement (optionnel) [#environment] + +Vous pouvez transmettre une propriété Java ou une variable d'environnement pour déterminer laquelle des sections spécifiques à l'environnement l'agent utilise dans `newrelic.yml`. Utilisez cette approche si vous préférez que le fichier `newrelic.yml` contrôle la configuration spécifique à l&apos;environnement au lieu de transmettre toute la configuration via Docker. + +Voici un exemple `Dockerfile` de transmission de la propriété système Java `newrelic.environment` via Docker pour utiliser la valeur personnalisée `dev` dans la section d&apos;environnement de `newrelic.yml`: + +1. En utilisant la forme shell de l'instruction CMD, incluez une référence à une nouvelle variable d'environnement de votre choix (par exemple, `ENV`) : + + ```dockerfile + CMD java -Dnewrelic.environment=$ENV -jar myjar.jar + ``` + +2. Dans votre ligne de commande `docker run`, incluez un argument pour définir la variable d&apos;environnement dans le conteneur : + + ```sh + docker run -it -e "ENV=dev" myDockerImage + ``` + + + Si vous ne spécifiez pas de valeur pour `newrelic.environment`, l&apos;agent suppose qu&apos;il s&apos;exécute dans votre environnement de production et utilise les valeurs du corps principal du fichier de configuration. + + +### agent activé (facultatif) [#agent-enabled] + +Cette configuration contrôle si l'agent est activé. Disons que vous voulez la même image Docker pour chaque installation. Cependant, vous ne souhaitez pas exécuter l'agent de New Relic à chaque fois qu'un ingénieur lance une application de test, car vous ne souhaitez pas augmenter votre instance nombre . + +Ce problème peut être résolu en utilisant la propriété système Java `newrelic.environment` . + +1. Dans le corps principal de `newrelic.yml`, désactivez l&apos;agent Java en définissant `agent_enabled: false`. +2. Dans les sections d’environnement spécifiques de `newrelic.yml`, définissez `agent_enabled: true`. + +Ensuite, vous pouvez exécuter un agent spécifique en spécifiant l’environnement au moment de l’exécution. + +## Exemples supplémentaires de fichiers Dockerfile Tomcat [#code-samples] + + + + ```dockerfile + FROM tomcat:9 + # Add the newrelic.jar and -javaagent parameters + RUN mkdir -p /usr/local/tomcat/newrelic + ADD ./newrelic/newrelic.jar /usr/local/tomcat/newrelic/ + ENV JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/tomcat/newrelic/newrelic.jar" + # Add the configuration file + ADD ./newrelic/newrelic.yml /usr/local/tomcat/newrelic/ + # An example of setting a system property config + ENV JAVA_OPTS="$JAVA_OPTS -Dnewrelic.config.app_name='My Application'" + # An example of setting an Environment variable config + ENV NEW_RELIC_LICENSE_KEY="license_key" + # Config to include the agent logs in Docker's stdout logging + ENV JAVA_OPTS="$JAVA_OPTS -Dnewrelic.config.log_file_name=STDOUT" + EXPOSE 8080 + CMD ["catalina.sh", "run"] + ``` + + + + ```dockerfile + FROM openjdk:8 + ADD my-application.jar /app + ADD newrelic.jar /app + ADD newrelic.yml /app + ENV NEW_RELIC_APP_NAME="My Application" + ENV NEW_RELIC_LICENSE_KEY="license_key" + ENV NEW_RELIC_LOG_FILE_NAME="STDOUT" + ENTRYPOINT ["java","-javaagent:/app/newrelic.jar","-jar","/app/my-application.jar"] + ``` + + + +## Prochaines étapes [#what-is-next] + +Maintenant que vous disposez d’une installation d’agent de base dans Docker, voici quelques étapes supplémentaires à prendre en compte : + +* Consultez les autres [configurations](/docs/agents/java-agent/configuration/java-agent-configuration-config-file) de l’agent. +* Lisez un [article détaillé du forum d’assistance](https://discuss.newrelic.com/t/relic-solution-what-you-need-to-know-about-new-relic-when-deploying-with-docker/52492) sur Docker et New Relic. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-gae-flexible-environment.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-gae-flexible-environment.mdx new file mode 100644 index 00000000000..959896224b9 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/additional-installation/install-new-relic-java-agent-gae-flexible-environment.mdx @@ -0,0 +1,161 @@ +--- +title: Installer l'agent Java New Relic dans l'environnement flexible GAE +tags: + - Agents + - Java agent + - Additional installation +metaDescription: How to set up the New Relic Java agent with an app on the Google App Engine (GAE) flexible environment. +freshnessValidatedDate: never +translationType: machine +--- + +Avec l'[agent Java](/docs/agents/java-agent/getting-started/introduction-new-relic-java) d&apos;APM, vous pouvez monitorer les applications qui résident dans l&apos;[environnement flexible de Google App Engine (GAE) .](https://cloud.google.com/appengine/docs/flexible/java/) L&apos;ajout de New Relic à votre application GAE flex vous donne des informations détaillées sur la santé et les performances de votre application et étend GAE avec des métriques que vous pouvez afficher dans [](/docs/apm/new-relic-apm/getting-started/introduction-new-relic-apm), [](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)et [le dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards). + +Ce document explique comment ajouter New Relic à votre application GAE flex en configurant un [runtime personnalisé](https://cloud.google.com/appengine/docs/flexible/custom-runtimes/about-custom-runtimes) et donne un exemple de déploiement d&apos;une application Tomcat avec Docker. + + + L'agent Java New Relic peut s'exécuter dans un environnement flexible GAE à l'aide d'un environnement d'exécution personnalisé. En raison des limitations d'autres environnements, n'utilisez pas l'environnement standard GAE ou l'installation [en « mode natif »](/docs/accounts-partnerships/partnerships/google-cloud-platform-gcp/google-app-engine-environment#native-mode) de Google App Engine. + + +## Créer un environnement d'exécution personnalisé à l'aide de Docker [#build-runtime] + +Consultez [la documentation de Google pour créer des environnements d'exécution personnalisés](https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build). Il existe de nombreuses façons de créer un environnement d&apos;exécution personnalisé contenant l&apos;agent Java New Relic ([par exemple, à l'aide de Tomcat](#tomcat-example)). En général, pour créer un environnement d’exécution personnalisé : + +1. [Configurez votre application](#setup-gae) et installez les dépendances liées à GAE nécessaires pour les runtimes personnalisés. Inclure l&apos;agent Java New Relic dans le projet. +2. Configurez [Maven ou Gradle](#configure-pom-xml) selon le cas. +3. Configurez le [fichier`app.yaml` ](#configure-app-yaml). +4. Configurer le [Dockerfile](#configure-dockerfile). +5. [Construisez l'image Docker](#build-docker-image). +6. [déployer](#deploy-docker-image-to-gae) l&apos;image Docker dans l&apos;environnement flexible GAE initialisé. +7. Recommandation : [désactiver les contrôles de santé GAE](#health-checks). + +Pour plus d'informations sur le déploiement et la configuration de votre application Java dans l'environnement flexible GAE, consultez : + +* [Documentation de Google App Engine](https://cloud.google.com/appengine/docs/flexible/java/) pour Java +* [Tutoriels de Google App Engine](https://cloud.google.com/appengine/docs/flexible/java/tutorials) pour déployer une application Java + +## Exemple de GAE flex avec Tomcat [#tomcat-example] + +Cet exemple décrit comment ajouter New Relic à votre application GAE flex en installant l'agent Java New Relic, en créant un environnement d'exécution personnalisé et en déployant un WAR d'application sur Tomcat. Assurez-vous d’[installer l’agent Java](/docs/agents/java-agent/installation/include-java-agent-jvm-argument) selon les besoins de votre serveur d’applications spécifique. + + + + 1. Suivez les procédures standard pour [installer l'agent Java](/docs/agents/java-agent/installation/include-java-agent-jvm-argument) selon les besoins de votre serveur d&apos;applications spécifique et obtenez votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key). + + 2. Suivez [les procédures Google App Engine pour Java](https://cloud.google.com/appengine/docs/flexible/java/managing-projects-apps-billing#create) pour créer un nouveau projet de plateforme Cloud, créer une application App Engine et remplir d&apos;autres conditions préalables pour le [SDKGoogle Cloud ](https://cloud.google.com/sdk/gcloud/). + + 3. Installez toutes les dépendances nécessaires, telles que le plugin [Maven](https://cloud.google.com/appengine/docs/flexible/java/using-maven) ou [Gradle](https://cloud.google.com/appengine/docs/flexible/java/using-gradle) App Engine et [Java](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html). + + Le SDK Google Cloud fournit l'outil de ligne de commande `gcloud` pour gérer et déployer des applications GAE. + + + + Cet exemple utilise Maven pour créer le projet, une image Docker Tomcat pour l'exécuter et l'outil de ligne de commande `gcloud` pour déployer l&apos;image Docker dans un environnement flexible GAE. + + 1. Ajoutez la agent Java dépendance au répertoire du projet `target` lorsque le projet est construit, lorsque vous [téléchargez et décompressez tous les agent Java composants](/docs/agents/java-agent/frameworks/maven-installation-java#h2-zip). + + 2. Après avoir ajouté la dépendance agent Java au `pom.xml`, construisez votre application en exécutant : + + ```sh + mvn clean install + ``` + + 3. Vérifiez le répertoire `target` de votre projet pour trouver le fichier `WAR` de l&apos;application et un répertoire `newrelic` décompressé. + + Ces fichiers seront intégrés dans une image Docker. + + + Vous pouvez également ajouter le [plugin App Engine Maven ou Jetty Maven](http://cloud.google.com/appengine/docs/flexible/java/using-maven#adding_the_app_engine_maven_and_jetty_maven_plugins) à votre `pom.xml`. Cela vous permettra d&apos;utiliser Maven pour déployer votre application dans un environnement flexible GAE. + + + + + Le fichier de configuration [`app.yaml`](https://cloud.google.com/appengine/docs/flexible/java/configuring-your-app-with-app-yaml) est requis pour une application d&apos;environnement flexible GAE avec un environnement d&apos;exécution personnalisé. Au minimum, assurez-vous qu&apos;il contient : + + ```yml + env: flex + runtime: custom + ``` + + + + Le [Dockerfile](http://docs.docker.com/engine/reference/builder/) définit l&apos;image Docker à créer et est requis pour une application d&apos;environnement flexible GAE. Dans l&apos;exemple de code Dockerfile suivant, les fichiers `newrelic.yml` et `catalina.sh` ont été configurés localement pour remplacer ceux déjà copiés dans l&apos;image Docker. (Vous pouvez ajouter votre [clé de licence New Relic](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) directement à votre Dockerfile ou utiliser une variable d&apos;environnement dans votre commande `docker run` .) + + ```dockerfile + # base Tomcat image to build Docker image from + FROM tomcat:8.5.14-jre8 + + MAINTAINER Jane Doe + + # Tomcat directory to copy Java agent files to + ENV NEWRELIC_HOME /usr/local/tomcat/newrelic + + # copy application war from target to Tomcat webapps + ADD target/*.war /usr/local/tomcat/webapps + + # copy Java agent files from target to Tomcat NEWRELIC_HOME + ADD target/newrelic ${NEWRELIC_HOME} + + # update Java agent yml with license_key and app_name and copy to image + ADD newrelic.yml ${NEWRELIC_HOME} + + # update catalina.sh with -javaagent:/path/to/newrelic.jar and copy to image + ADD catalina.sh /usr/local/tomcat/bin/ + ``` + + + + Pour créer une Docker image qui exécute Tomcat avec agent Java de New Relic monitoring l'application votre WAR déployer, exécutez la commande suivante. Assurez-vous d'inclure le point à la fin du code, pour indiquer que le répertoire actuel contient les fichiers de construction. + + ```sh + docker build -f Dockerfile -t newrelic-tomcat . + ``` + + Après avoir exécuté cette commande, vérifiez que vous disposez d’une image Docker nommée `newrelic-tomcat`. + + + + 1. Pour déployer votre image Docker dans votre [environnement flexible GAE initialisé](https://cloud.google.com/sdk/docs/initializing), exécutez la commande suivante : + + ```sh + gcloud app deploy + ``` + + 2. Attendez que le déploiement soit terminé. + + 3. Pour ouvrir l'application dans le navigateur, exécutez la commande suivante : + + ```sh + gcloud app browse + ``` + + 4. Pour afficher les données de votre application GAE Flex dans New Relic, accédez à la [page APM **Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page). + + + +## Recommandation : désactiver les contrôles de santé [#health-checks] + +Google App Engine envoie [requestsde contrôle de santé périodiques](https://cloud.google.com/appengine/docs/flexible/java/how-instances-are-managed) pour confirmer qu&apos;une instance a été déployée avec succès et pour vérifier qu&apos;une instance en cours d&apos;exécution conserve un état sain. Un contrôle de santé est une requête HTTP vers l&apos;URL `/_ah/health`. + +Si vous créez un environnement d'exécution personnalisé, votre application doit être capable de gérer un grand nombre de requests de contrôle de l'état. Dans le cas contraire, les données de votre application risquent de ne pas s’afficher correctement dans APM. Pour éviter d'ajouter une surcharge d'instrumentation supplémentaire et de fausser le débit de votre application, nous vous recommandons de désactiver le contrôle d'intégrité. + +Recommandation : configurez votre `app.yaml` pour [désactiver les contrôles de santé](https://cloud.google.com/appengine/docs/flexible/java/configuring-your-app-with-app-yaml#health_checks) en ajoutant : + +```yml +health_check: + enable_health_check: False +``` + +## Récupérer le log de dépannage de agent Java auprès de GAE [#java-agent-logs] + +Utilisez ces ressources pour dépanner votre application d'environnement flexible GAE : + +* Pour vous connecter à l'instance GAE et démarrer un shell dans le conteneur Docker exécutant votre code, consultez [Débogage d'une instance](https://cloud.google.com/appengine/docs/flexible/java/debugging-an-instance). + +* Pour rediriger le log de l'agent Java de New Relic vers [Stackdriver](http://cloud.google.com/logging/docs/view/logs_viewer_v2) dans la console de la [plateforme Cloud](https://cloud.google.com/compute/docs/console), modifiez le fichier `newrelic.yml`en : + + ```yml + log_file_name: STDOUT + ``` + +* Pour visualiser le log, utilisez le [log Viewer de la Console de la plateforme Cloud](https://cloud.google.com/appengine/docs/flexible/php/writing-application-logs). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/ai-monitoring.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/ai-monitoring.mdx new file mode 100644 index 00000000000..0c91e0f73f0 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/ai-monitoring.mdx @@ -0,0 +1,82 @@ +--- +title: monitoring de l'APIIA +tags: + - Agents + - Java agent + - API guides +metaDescription: For information about customizing New Relic's Java agent for AI monitoring. +freshnessValidatedDate: never +translationType: machine +--- + +Lorsque vous avez instrumenté votre application avec monitoring de l'IA, vous pouvez accéder à certaines API pour collecter le nombre de jetons et les commentaires des utilisateurs. Pour utiliser monitoring l'de l'IA,API vérifiez que votre agent Java est mis à jour vers la version 8.12.0 ou supérieure. + +Ce document fournit des procédures de mise à jour de votre code pour accéder à l'[ API de comptage de jetons et de commentaires des utilisateurs](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/AiMonitoring.html#recordLlmFeedbackEvent). + +## Nombre record de jetons [#token-count] + +Si vous avez désactivé l'agent avec `ai_monitoring.record_content.enabled=false`, vous pouvez utiliser l&apos;API `setLlmTokenCountCallback(LlmTokenCountCallback llmTokenCountCallback)` pour calculer l&apos;attribut de nombre de jetons. Cela calcule le nombre de jetons pour les événements liés aux processus d&apos;incorporation (intégration) et d&apos;achèvement de LLM sans enregistrer le contenu des messages eux-mêmes. Si vous souhaitez collecter des jetons, suivez ces étapes : + +1. Implémentez le `LlmTokenCountCallback` afin qu&apos;il remplace la méthode `calculateLlmTokenCount(String model, String content)` . Cela calcule un nombre de jetons en fonction d&apos;un nom de modèle LLM donné et du contenu ou prompt du message LLM : + + ```java + class MyTokenCountCallback implements LlmTokenCountCallback { + @Override + public int calculateLlmTokenCount(String model, String content) { + // Implement custom token calculating logic here based on the LLM model and content. + // Return an integer representing the calculated token count. + return 0; + } + } + ``` + +2. Créez une instance de l'implémentation `LlmTokenCountCallback` pour enregistrer le rappel, puis transmettez-la à l&apos;API `setLlmTokenCountCallback` . Par exemple: + + ```java + LlmTokenCountCallback myTokenCountCallback = new MyTokenCountCallback(); + // The callback needs to be registered at some point before invoking the LLM model + NewRelic.getAgent().getAiMonitoring.setLlmTokenCountCallback(myTokenCountCallback); + ``` + +Pour utiliser le rappel, implémentez `LlmTokenCountCallback` afin qu&apos;il renvoie un entier qui représente le nombre de jetons pour une prompt, un message d&apos;achèvement ou une incorporation (incorporation) particulier. Si les valeurs sont inférieures ou égales à `0`, `LlmTokenCountCallbacks` ne sera pas attaché à un événement. Gardez à l’esprit que vous ne devez appeler cette API qu’une seule fois. L&apos;appel de cette API plusieurs fois remplacera chaque rappel précédent. + +## Enregistrer les commentaires des utilisateurs [#user-feedback] + +monitoring de l'IA permet de corréler les identifiants trace entre un message généré à partir de vos modèles LLM et le retour final d'un utilisateur. L'API `recordLlmFeedbackEvent` crée un argument avec une carte de la classe `LlmFeedbackEventAttributes.Builder` . Si vous souhaitez enregistrer les commentaires des utilisateurs, suivez ces étapes : + +1. Utilisez l'API [`TraceMetadata.getTraceId()`](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/TraceMetadata.html#getTraceId) pour acquérir l&apos;ID de trace des transactions au fur et à mesure de leur exécution : + + ```java + String traceId = NewRelic.getAgent().getTraceMetadata().getTraceId(); + ``` + +2. Ajoutez le [`recordLlmFeedbackEvent(Map llmFeedbackEventAttributes)`](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/AiMonitoring.html#recordLlmFeedbackEvent) pour corréler l’ID de trace avec un événement de rétroaction. Voici un exemple de la manière dont vous pourriez enregistrer un événement de rétroaction LLM : + + ```java + String traceId = ... // acquired directly from New Relic API or retrieved from some propagation mechanism + + Map metadata = new HashMap<>(); + metadata.put("interestingKey", "interestingVal"); + + LlmFeedbackEventAttributes.Builder llmFeedbackEvenAttrBuilder = new LlmFeedbackEventAttributes.Builder(traceId, ratingString); + + Map llmFeedbackEventAttributes = llmFeedbackEvenAttrBuilder + .category("General") + .message("Ok") + .metadata(metadata) + .build(); + + NewRelic.getAgent().getAiMonitoring().recordLlmFeedbackEvent(llmFeedbackEventAttributes); + ``` + +Si les commentaires de l'utilisateur enregistrent un thread différent ou un service différent de celui où le prompt ou la réponse LLM s'est produite, vous devez acquérir l'ID trace à partir du thread ou du service d'origine. Une fois que vous avez acquis l'ID de trace, propagez-le à l'endroit où l'événement de commentaires de l'utilisateur sera enregistré. + +Pour afficher le paramètre pris par la classe `LlmFeedbackEventAttributes.Builder`, [consultez les détails de la méthode dans notre documentation monitoring de l'API IA](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/AiMonitoring.html#recordLlmFeedbackEvent). + +## Ajouter un attribut LLM personnalisé [#custom-attributes] + +Vous pouvez ajuster votre agent pour collecter des attributs LLM personnalisés : + +* Tout attribut personnalisé ajouté avec l'[`NewRelic.addCustomParameter(...)`](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#addCustomParameter\(java.lang.String,boolean\)) API peut être préfixé par `llm.`. Cela copie automatiquement ces attributs dans `LlmEvent`. +* Si vous ajoutez un attribut personnalisé à `LlmEvent`avec l&apos;API `addCustomParameters`, assurez-vous que l&apos;appel de l&apos;API se produit avant d&apos;appeler le SDK Bedrock. +* Un attribut personnalisé facultatif avec une signification particulière est `llm.conversation_id`. Vous pouvez l&apos;utiliser pour regrouper les messages LLM dans des conversations spécifiques dans APM. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api.mdx new file mode 100644 index 00000000000..0163031a476 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api.mdx @@ -0,0 +1,738 @@ +--- +title: Guide d'utilisation de l'API de l'agent Java +tags: + - Agents + - Java agent + - API guides +metaDescription: 'A goal-focused guide to New Relic''s Java agent API, with links to relevant sections of the complete API documentation on GitHub.' +freshnessValidatedDate: never +translationType: machine +--- + +L'API de l'agent Java New Relic vous permet de contrôler, de personnaliser et d'étendre les fonctionnalités de l'[agent Java](/docs/agents/java-agent/getting-started/new-relic-java) . Cette API se compose de : + +* Méthodes statiques sur la classe `com.newrelic.api.agent.NewRelic` +* Une [annotation`@Trace` ](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-annotation)pour implémenter une instrumentation personnalisée +* Une hiérarchie d'objets API offrant des fonctionnalités supplémentaires + +Utilisez cette API pour configurer [une instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) de votre application Java et collecter des données plus approfondies. Pour des informations détaillées sur cette API, consultez la [Javadoc complète sur GitHub](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html). + +Une autre façon de configurer une instrumentation personnalisée est d’utiliser [l’instrumentation XML](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-xml). L&apos;option XML est plus simple et ne nécessite pas de modification du code de votre application, mais elle ne dispose pas de toutes les fonctionnalités de l&apos;API de l&apos;agent Java. + + + Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous que vous disposez de la [dernière version agent Java ](/docs/release-notes/agent-release-notes/java-release-notes). Plusieurs API utilisées dans les exemples nécessitent l’agent Java 6.4.0 ou supérieur. + + +Pour toutes les API New Relic disponibles, voir [Introduction aux API](/docs/apis/getting-started/introduction-new-relic-apis). + +## Utiliser l'API [#api] + +Pour accéder à l'API, téléchargez-la depuis Maven Central via un outil de build. + +Voici un exemple pour Gradle où vous pouvez remplacer `${agent.version}` par la version de votre agent : + +```groovy +implementation 'com.newrelic.agent.java:newrelic-api:${agent.version}' +``` + +Vous pouvez appeler l'API même sans que l'agent ne soit en cours d'exécution, mais les méthodes seront inopérantes jusqu'à ce que l'agent charge votre application. + +## Transactions + +Pour instrumenter [les transactions](/docs/apm/applications-menu/monitoring/transactions-page) dans votre application, utilisez l&apos;API suivante. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Créer un `Transaction` lorsque New Relic n&apos;en crée pas un automatiquement + + [`@Trace(dispatcher = true)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Trace.html) sur la méthode qui englobe le travail à signaler. Lorsque cette annotation est utilisée sur une méthode dans le contexte d&apos;une transaction existante, cela ne démarrera pas une nouvelle transaction, mais inclura plutôt la méthode dans la transaction existante. +
+ Capturez la durée d'une méthode que New Relic ne trace pas automatiquement + + [`@Trace()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Trace.html) sur la méthode que vous souhaitez chronométrer. +
+ Définir le nom du courant `Transaction` + + [`NewRelic.setTransactionName(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Démarrer le minuteur pour le temps de réponse du `Transaction` actuel et pour faire en sorte qu&apos;un `Transaction` que vous créez soit signalé comme une transaction `Web`, plutôt que comme une transaction `Other` + + [`NewRelic.setRequestAndReponse(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Ajoutez [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes) à `Transactions` et `TransactionEvents` + + [`NewRelic.addCustomParameter(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Ajoute [le suivi des utilisateurs](/docs/apm/agents/java-agent/attributes/java-agent-attributes#user-attributes) à `Transactions` en définissant l&apos;attribut agent `enduser.id`. + + [`NewRelic.setUserId()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Empêcher qu'un `Transaction` soit signalé à New Relic + + [`NewRelic.ignoreTransaction()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Exclure un `Transaction` lors du calcul du score [Apdex](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction) de votre application + + [`NewRelic.ignoreApdex()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ +## Voir le log associé [#logs] + +Pour voir le log directement dans le contexte des erreurs et des traces de votre application, utilisez ces appels d'API pour annoter votre log : + +* [`getTraceMetadata`](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Agent.html#getTraceMetadata\(\)) +* [`getLinkingMetadata`](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Agent.html#getLinkingMetadata\(\)) + +Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques, consultez notre documentation [sur les logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) . + +## Travail asynchrone de l'instrument [#async] + +Pour des informations détaillées, consultez [agent Java API pour l'application asynchrone](/docs/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ tracer une méthode asynchrone si elle est liée à une `Transaction` existante ... + + [`@Trace(async = true)`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Liez le `Transaction` associé au `Token` sur le thread actuel... + + [`Token.link()` ou `Token.linkAndExpire()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Token.html) +
+ Expirer un `Token` associé au `Transaction` actuel ... + + [`Token.expire()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Token.html) +
+ Arrêtez de chronométrer un `Segment` et faites-le signaler comme faisant partie de son parent `Transaction` + + [`Segment.end()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Segment.html) +
+ Arrêtez de chronométrer un `Segment` et **ne** le faites pas signaler comme faisant partie de son parent `Transaction` + + [`Segment.ignore()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Segment.html) +
+ +## Traçage distribué de l'utilisation API [#trace-calls] + +Ces API nécessitent [que le traçage distribué soit activé](/docs/enable-distributed-tracing). [agent Java configuration](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#distributed-tracing) Consultez pour toutes les options de configuration de traçage distribué. + +Le traçage distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Pour obtenir des instructions générales sur la façon d'utiliser les appels ci-dessous pour implémenter le traçage distribué, consultez [Utiliser API de traçage distribué](/docs/enable-distributed-tracing#agent-apis). Pour voir ces API en action, consultez [Utilisation de agent Java de traçage de distribution API avec Kafka](https://github.com/newrelic/newrelic-java-examples/tree/main/newrelic-java-agent/distributed-tracing/kafka-examples). + + + Avec [la version 6.4.0agent ](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-640), les API de traçage distribué suivantes ont été introduites, à l&apos;exception de `addCustomAttribute()`, qui a été introduite dans la version 6.1.0. Nous vous recommandons fortement d&apos;utiliser ces API plutôt que [celles obsolètes](#deprecated-trace-apis). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Découvrez les en-têtes spécifiques au type d’un message entrant ou sortant. + + ``` + Headers + ``` + + Pour une implémentation fournie de `Headers` utilisez `ConcurrentHashMapHeaders`. + + Voir un exemple d'implémentation des en-têtes de contexte de trace W3C dans [l'utilisation API DT avec Kafka](https://github.com/newrelic/newrelic-java-examples/tree/main/newrelic-java-agent/distributed-tracing/kafka-examples). +
+ Créez et insérez des en-têtes de traçage distribués dans une structure de données `Headers` . Cette API insérera les en-têtes `newrelic` et W3C Trace Context (`traceparent` et `tracestate`), sauf si l&apos;agent est explicitement [configuré pour exclure les en-têtes `newrelic` ](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#dt-exclude_newrelic_header). + + ``` + Transaction.insertDistributedTraceHeaders(Headers) + ``` + + Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez [Obtenir des références](#obtain-references). +
+ Acceptez les en-têtes de traçage distribués envoyés par le service appelant et liez ces services ensemble dans une trace distribuée. + + ``` + Transaction.acceptDistributedTraceHeaders(TransportType, Headers) + ``` + + Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez [Obtenir des références](#obtain-references). +
+ Comprendre une classe utilitaire qui fournit des constantes d’énumération pour définir le type de transport lors de l’acceptation du traçage des en-têtes distribués. + + ``` + TransportType + ``` +
+ Ajouter [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes) à `SpanEvents` dans les traces distribuées + + [`NewRelic.getAgent().getTracedMethod().addCustomAttribute(...)`](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/TracedMethod.html) +
+ + + Avec [la version 6.4.0agent ](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-640), l&apos;API de traçage distribué suivante a été déconseillée et remplacée par l&apos;API du tableau ci-dessus. Il est fortement recommandé de mettre à niveau l&apos;agent et d&apos;utiliser les nouvelles API au lieu de celles obsolètes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Créez une charge utile à envoyer à un service appelé. + + ``` + Transaction.createDistributedTracePayload() + ``` + + Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez [Obtenir des références](#obtain-references). + + + API obsolète à partir de l'agent 6.4.0 + +
+ Acceptez une charge utile envoyée par le premier service ; cela liera ces services ensemble dans une trace. + + ``` + Transaction.acceptDistributedTracePayload(...) + ``` + + Pour plus d'informations sur l'obtention de références à la transaction en cours et à d'autres classes API, consultez [Obtenir des références](#obtain-references). + + + API obsolète à partir de l'agent 6.4.0 + +
+ frais utilisés pour connecter les services. L'appel `text()` renvoie une représentation sous forme de chaîne JSON de la charge utile. + + `DistributedTracePayload.text()` + + + API obsolète à partir de l'agent 6.4.0 + +
+ frais utilisés pour connecter les services. L'appel `httpSafe()` renvoie une représentation de chaîne JSON codée en base64 de la charge utile. + + `DistributedTracePayload.httpSafe()` + + + API obsolète à partir de l'agent 6.4.0 + +
+ +## Utilisation de l'API de traçage inter-applications (CAT) [#trace-calls-cat] + + + Le traçage inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent. + + Au lieu d'utiliser le traçage inter-application, nous recommandons notre fonctionnalité [de traçage distribué](#distributed-tracing) . tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués. + + +Pour suivre les appels externes et ajouter [un traçage inter-applications](/docs/apm/transactions/cross-application-traces/cross-application-tracing), utilisez les API suivantes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ tracer via un canal de transport personnalisé que New Relic ne prend pas en charge par défaut, tel qu'un transport RPC propriétaire + + ``` + Transaction.getRequestMetadata(), .processRequestMetadata(...), .getResponseMetadata(), .processResponseMetadata(...) + ``` + + Consultez également les informations de ce document sur l’utilisation de `Transaction` pour [obtenir des références aux classes d’API New Relic](#). +
+ Afficher ou modifier le nom de la métrique ou le nom d'une métrique rollup d'un `TracedMethod` + + (Un nom de métrique rollup, tel que `OtherTransaction/all`, n&apos;est pas limité à une transaction spécifique. Il représente toutes les transactions en arrière-plan.) + + ``` + TracedMethod.getMetricName(), .setMetricName(...), .setRollupMetricName(...) + ``` + + Consultez également les informations de ce document sur l’utilisation de `TracedMethod` pour [obtenir des références aux classes d’API New Relic](#). +
+ Signaler un appel à un service HTTP externe, un serveur de base de données, un fichier d'attente de messages ou une autre ressource externe qui est tracée à l'aide de agent Java API [`@Trace` l&apos;annotation de](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-annotation)l&apos;de + + [`TracedMethod.reportAsExternal(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/TracedMethod.html) en passant des arguments construits à l&apos;aide du générateur [`ExternalParameters`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/ExternalParameters.html) . + + Consultez également les informations de ce document sur l’utilisation de `TracedMethod` pour [obtenir des références aux classes d’API New Relic](#). +
+ Activer et ajouter [le traçage inter-applications](/docs/apm/transactions/cross-application-traces/cross-application-tracing) lors de la communication avec un service HTTP ou JMS externe instrumenté par New Relic + + [`TracedMethod.addOutboundRequestHeaders(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/TracedMethod.html) avec `TracedMethod.reportAsExternal(...)` + + Consultez également les informations de ce document sur l’utilisation de `TracedMethod` pour [obtenir des références aux classes d’API New Relic](#). +
+ Ajouter une temporisation pour un serveur d'application ou un répartiteur qui n'est pas pris en charge automatiquement + + `Transaction.setRequest(...), Transaction.setResponse(...)`, ou `NewRelic.setRequestAndResponse(...)`, et `Transaction.markResponseSent()` + + Consultez également les informations de ce document sur l’utilisation de `Transaction` pour [obtenir des références aux classes d’API New Relic](#). +
+ +## Obtenir des références aux classes de l'API New Relic [#obtain-references] + +D'autres tâches nécessitent l'objet New Relic `Agent` . L&apos;objet `Agent` expose plusieurs objets qui vous offrent les fonctionnalités suivantes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Obtenez une référence à l'actuel `Transaction` + + [`NewRelic.getAgent().getTransaction()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Transaction.html) +
+ Obtenez un `Token` pour lier un travail asynchrone + + ``` + NewRelic.getAgent().getTransaction().getToken() + ``` +
+ Commencez et obtenez une référence à un `Segment` + + ``` + NewRelic.getAgent().getTransaction().startSegment() + ``` +
+ Obtenir une référence à la méthode en cours de traçage + + [`NewRelic.getAgent().getTracedMethod()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/TracedMethod.html) +
+ Obtenir une référence à l'enregistreur `Agent` + + [`NewRelic.getAgent().getLogger()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Logger.html) +
+ Obtenir une référence à la [configuration](/docs/agents/java-agent/configuration/java-agent-configuration-config-file) `Agent` + + [`NewRelic.getAgent().getConfig()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Config.html) +
+ Obtenir une référence à un agrégateur pour [les métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/custom-metrics) + + [`NewRelic.getAgent().getAggregator()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/MetricAggregator.html) +
+ Obtenez une référence à `Insights` (notre nom d&apos;origine pour la fonctionnalité qui régit l&apos;événement personnalisé) afin d&apos;enregistrer [l'événement personnalisé](/docs/insights/new-relic-insights/custom-events/inserting-custom-events-new-relic-apm-agents) + + [`NewRelic.getAgent().getInsights()`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Insights.html) +
+ +## Fonctionnalités API supplémentaires [#additional] + +L'API suivante fournit des fonctionnalités supplémentaires, telles que la définition des informations sur le serveur d'applications, le signalement des erreurs, l'ajout d'informations [sur la durée de chargement des pages](/docs/agents/java-agent/instrumentation/page-load-timing-java), l&apos;enregistrement [des métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/custom-metrics) et [l'envoi d'événements personnalisés](/docs/insights/new-relic-insights/custom-events/inserting-custom-events-new-relic-apm-agents). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Utilisez ceci +
+ Définissez explicitement les informations de port, de nom et de version pour un serveur application ou un répartiteur et le nom instance pour une JVM + + ``` + NewRelic.setAppServerPort(...), .setServerInfo(...), and .setInstanceName(...) + ``` +
+ Signaler une erreur que New Relic ne signale pas automatiquement + + [`NewRelic.noticeError(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) + + Lors d'une transaction, le dernier appel à `noticeError` l&apos;emporte. Une seule erreur sera signalée par transaction. +
+ Regroupez les erreurs avec votre propre empreinte digitale personnalisée définie, implémentez l'interface [`ErrorGroupCallback`](/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint) utilisée pour générer des clés de regroupement pour les erreurs qui seront envoyées à New Relic. L&apos;empreinte sera utilisée pour regrouper les messages d&apos;erreur dans l&apos;UI d&apos;Errors Inbox. + + ``` + public interface ErrorGroupCallback { + String generateGroupingString(ErrorData errorData); + }() + ``` +
+ Définissez votre propre empreinte d’erreur via une fonction de rappel. Pour enregistrer un [`ErrorGroupCallback`](/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint) utilisé pour générer une clé de regroupement pour l&apos;erreur fournie. + + [`NewRelic.setErrorGroupCallback(errorGroupCallback)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Ajoutez [le temps de chargement de la page](/docs/agents/java-agent/custom-instrumentation/java-agent-api-example-program#include-browser) du navigateur pour `Transactions` que New Relic n&apos;ajoute pas automatiquement à l&apos;en-tête + + ``` + NewRelic.getBrowserTimingHeader(), .getBrowserTimingFooter(), .setUserName(String name), .setAccountName(String name), and .setProductName(String name) + ``` +
+ Créer et accumuler [des métriques personnalisées](/docs/agents/manage-apm-agents/agent-data/custom-metrics) + + [`NewRelic.recordMetric(...)`, `.recordResponseTimeMetric(...)`, ou `.incrementCounter(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +
+ Enregistrer [un événement personnalisé](/docs/insights/new-relic-insights/custom-events/inserting-custom-events-new-relic-apm-agents) + + `Insights.recordCustomEvent(...)` + + Ou utilisez [`NewRelic.addCustomParameter(...)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) pour ajouter un attribut personnalisé au type `TransactionEvent` défini par New Relic . + + Consultez également les informations de ce document sur l’utilisation de `Insights` pour [obtenir des références aux classes d’API New Relic](#). +
+ Fournir des informations générales sur le compte du fournisseur de cloud à l'agent + + ```java + NewRelic.getAgent().getCloud().setAccountInfo(CloudAccountInfo.AWS_ACCOUNT_ID, "..."); + ``` + + Avec cette méthode, vous pouvez fournir le type d’informations de compte et sa valeur. L'agent utilise ces informations pour renseigner l'attribut `cloud.resource_id` dans les étendues de services cloud sélectionnées. + + AWS DynamoDB et Kinesis sont des services qui nécessitent cette valeur pour renseigner l'attribut `cloud.resource_id` . De même, AWS Lambda requiert cette valeur lorsque l’ID de compte ne fait pas partie du nom de la fonction. + + L'appel de cette méthode remplace la configuration cloud correspondante. L'appel affiché ci-dessus remplace `cloud.aws.account_id`. +
+ Fournir à l'agent des informations sur le compte du fournisseur de cloud spécifique au client SDK + + ```java + NewRelic.getAgent().getCloud().setAccountInfo(sdkClient, CloudAccountInfo.AWS_ACCOUNT_ID, "..."); + ``` + + Cet appel fournit les mêmes informations que la méthode précédente, mais il est spécifique au client SDK fourni. Lorsque le client SDK spécifié est utilisé, ces données seront utilisées à la place des données générales. +
+ +## Exemples d'utilisation d'API supplémentaires [#api-examples] + +Pour des exemples de code détaillés sur l'utilisation des API, consultez la documentation de New Relic sur l'instrumentation personnalisée pour : + +* [Appels externes, trace inter-application, messagerie, banques de données et infrastructure Web](/docs/agents/java-agent/custom-instrumentation/java-agent-api-overview-custom-instrumentation-external-calls-cat-messaging-datastore-web-frameworks) +* [traçage inter-applicationet appels datastore externes](/docs/agents/java-agent/custom-instrumentation/java-agent-api-example-application-using-custom-instrumentation-cross-application-tracing-cat) +* [Applications utilisant une instrumentation personnalisée avec annotation](/docs/agents/java-agent/custom-instrumentation/java-agent-api-example-program) +* [personnalisé framework instrumentation API](/docs/agents/java-agent/custom-instrumentation/java-agent-instrumentation-api) +* [Prévenir l'instrumentation indésirable](/docs/agents/java-agent/instrumentation/blocking-instrumentation-java) +* [Insérer l'attribut personnalisé](/docs/data-analysis/metrics/collecting-custom-attributes#java-att) +* [Insérer un événement personnalisé](/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents#java-att) +* [Collecte de métriques personnalisées](/docs/apm/other-features/metrics/custom-metrics) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-custom-instrumentation-annotation-example-app.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-custom-instrumentation-annotation-example-app.mdx new file mode 100644 index 00000000000..6896bae68a5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-custom-instrumentation-annotation-example-app.mdx @@ -0,0 +1,303 @@ +--- +title: "API d'agent Java\_: instrumentation personnalisée avec annotation d'un exemple d'application" +tags: + - Agents + - Java agent + - API guides +metaDescription: An example Java app that uses the New Relic Java agent API. +freshnessValidatedDate: never +translationType: machine +--- + +L'[API de l'agent Java New Relic](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html) vous permet de configurer une instrumentation personnalisée pour votre application Java. Ce document montre un exemple d’utilisation d’une instrumentation personnalisée avec annotation dans une application imaginaire. + + + Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous de disposer de la [dernière version agent Java ](/docs/release-notes/agent-release-notes/java-release-notes). + + +## Exemple d'application complète utilisant l'API [#all] + +Vous trouverez ci-dessous un exemple de servlet d'application de magasin imaginaire utilisant l'API de l'agent Java. + + + Si vous copiez et collez un exemple de code, assurez-vous d'utiliser un espacement approprié sur votre ligne de commande. + + + + + ```java + package test; + + import java.io.IOException; + import java.io.PrintWriter; + import java.util.Random; + import javax.servlet.ServletException; + import javax.servlet.http.HttpServlet; + import javax.servlet.http.HttpServletRequest; + import javax.servlet.http.HttpServletResponse; + // Java agent API imports + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + + public class TestServlet extends HttpServlet { + // instrumentation via annotation + @Trace(dispatcher = true) + protected void + processRequest(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + + saveNewRelicInfo(req); + doRequestWork(req); + writeResponse(resp); + } + + private void saveNewRelicInfo(HttpServletRequest req) { + String storeId = req.getParameter("storeId"); + if (storeId != null) { + // set the name of the Transaction + NewRelic.setTransactionName(null, "/store"); + + if (storeId.equals("betaStore")) { + // prevent the method from contributing to the Apdex score + NewRelic.ignoreApdex(); + } + } + + String userId = req.getParameter("userId"); + if (userId != null) { + // Tracks the user ID to the current transaction by setting the enduser.id agent attribute + NewRelic.setUserId(userId); + // set the user name to associate with the RUM JavaScript footer + // for the current web transaction + NewRelic.setUserName(userId); + // add a key/value pair to the current transaction + NewRelic.addCustomParameter("userId", userId); + } + + String promotionId = req.getParameter("promotionId"); + if (promotionId != null) { + // increment the metric counter for the given name + NewRelic.incrementCounter("Custom/Promotion"); + } + } + + protected void + doRequestWork(HttpServletRequest req) { + try { + long millisToSleep = new Random().nextInt(5000); + Thread.sleep(millisToSleep); + // record a response time in milliseconds for the given metric name + NewRelic.recordResponseTimeMetric("Custom/RandomSleep", + millisToSleep); + } catch (InterruptedException e) { + // report a handled exception + NewRelic.noticeError(e, false); + } + } + + protected void + writeResponse(HttpServletResponse resp) + throws IOException { + + resp.setContentType("text/html;charset=UTF-8"); + PrintWriter out = resp.getWriter(); + out.println(""); + out.println(""); + + // get the RUM JavaScript header for the current web transaction + out.println(NewRelic.getBrowserTimingHeader()); + out.println("NewRelic API example servlet"); + out.println(""); + out.println(""); + out.println("

API example

"); + // get the RUM JavaScript footer for the current web transaction + out.println(NewRelic.getBrowserTimingFooter()); + out.println(""); + out.println(""); + out.close(); + } + protected void doGet(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + processRequest(req, resp); + } + protected void doPost(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + processRequest(req, resp); + } + } + ``` +
+
+ +## Comment l'exemple utilise l'API [#app-broken-down] + +Voici le même exemple d'application divisé en sections qui décrivent comment l'API est utilisée : + + + + Cette partie de l'exemple montre les importations nécessaires pour l'exemple d'application et l'API de l'agent Java. + + ```java + package test; + + import java.io.IOException; + import java.io.PrintWriter; + import java.util.Random; + import javax.servlet.ServletException; + import javax.servlet.http.HttpServlet; + import javax.servlet.http.HttpServletRequest; + import javax.servlet.http.HttpServletResponse; + // Java agent API imports + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + ``` + + + + Cette partie de l'appel d'API fournit des instructions pour instrumenter cet appel à l'aide de l'annotation de trace de New Relic : `@Trace`. Toutes requests qui touchent `processRequest` afficheront désormais un segment dans le [graphique des appels de trace de transaction](/docs/apm/transactions/transaction-traces/viewing-transaction-traces) d&apos;APM. + + ```java + public class TestServlet extends HttpServlet { + // instrumentation via annotation + @Trace(dispatcher = true) + protected void + processRequest(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + saveNewRelicInfo(req); + doRequestWork(req); + writeResponse(resp); + } + ``` + + + + Cette partie de l'appel d'API indique à la transaction Web contenant une valeur `storeId` d&apos;apparaître dans la [page **Transactions** ](/docs/apm/applications-menu/monitoring/transactions-dashboard)d&apos;APM avec le nom de transaction personnalisé que vous avez défini. Toute demande adressée à un magasin apparaîtra sous le même nom global. + + ```java + private void + saveNewRelicInfo(HttpServletRequest req) { + String storeId = req.getParameter("storeId"); + if (storeId != null) { + // set the name of the Transaction + NewRelic.setTransactionName(null, "/store"); + } + } + ``` + + + + Cette partie de l'appel d'API exclut la version bêta non publique `storeID` de l&apos;impact sur le [score Apdex](/docs/apm/new-relic-apm/apdex/view-your-apdex-score). + + ```java + if (storeId.equals("betaStore")) { + // prevent the method from contributing to the Apdex score + NewRelic.ignoreApdex(); + } + ``` + + + + Cette partie de l'appel d'API insère des métadonnées supplémentaires dans la demande [de temporisation de chargement de la page](/docs/browser/new-relic-browser/page-load-timing-resources/page-load-timing-process) afin que la trace du navigateur puisse être liée au `userId`. Il enregistre également le `userId` comme paramètre personnalisé sur la transaction afin qu&apos;il apparaisse dans les [détails des paramètres d'une trace de transaction](/docs/apm/transactions/transaction-traces/transaction-traces-trace-details-page). (Le timing de chargement des pages est parfois appelé monitoring des utilisateurs réels ou RUM.) + + ```java + String userId = req.getParameter("userId"); + if (userId != null) { + // set the user name to associate with the RUM JavaScript footer + // for the current web transaction + NewRelic.setUserName(userId); + // add a key/value pair to the current transaction + NewRelic.addCustomParameter("userId", userId); + } + ``` + + + + Cette partie de l'appel d'API enregistre le nombre de fois qu'une promotion a été vue afin que les métriques puissent apparaître sur un dashboard personnalisé. + + + Pour les métriques que vous souhaitez représenter graphiquement dans [un dashboard personnalisé](/docs/dashboards/new-relic-dashboards/custom-dashboards/creating-custom-dashboards), assurez-vous de préfixer `Custom/` au nom de la métrique ; par exemple, `Custom/Promotion`. + + + ```java + String promotionId = req.getParameter("promotionId"); + if (promotionId != null) { + // increment the metric counter for the given name + NewRelic.incrementCounter("Custom/Promotion"); + } + ``` + + + + Cette partie de l'appel d'API envoie un ensemble d'instructions au gestionnaire pour traiter requests et gérer les exceptions. + + ```java + protected void + doRequestWork(HttpServletRequest req) { + try { + long millisToSleep = new Random().nextInt(5000); + Thread.sleep(millisToSleep); + // record a response time in milliseconds for the given metric name + NewRelic.recordResponseTimeMetric("Custom/RandomSleep", + millisToSleep); + } catch (InterruptedException e) { + // report a handled exception + NewRelic.noticeError(e, false); + } + } + protected void + writeResponse(HttpServletResponse resp) + throws IOException { + ``` + + + + Cette partie de l'appel d'API définit ce qu'il faut inclure dans le `HttpServletResponse`. Pour [instrumentation manuelle de ](/docs/agents/java-agent/instrumentation/page-load-timing-java)pour monitorer le temps de chargement des pages (parfois appelé monitoring des utilisateurs réels ou RUM) : + + * Définissez l'en-tête après le <head> tag. + + * Définissez le pied de page à la fin du <body> tag. + + ```java + resp.setContentType("text/html;charset=UTF-8"); + PrintWriter out = resp.getWriter(); + out.println(""); + out.println(""); + // get the RUM JavaScript header for the current web transaction + out.println(NewRelic.getBrowserTimingHeader()); + out.println("NewRelic API example servlet"); + out.println(""); + out.println(""); + out.println("

API example

"); + // get the RUM JavaScript footer for the current web transaction + out.println(NewRelic.getBrowserTimingFooter()); + out.println(""); + out.println(""); + out.close(); + } + ``` +
+ + + Cette partie de l'appel d'API définit les informations restantes à inclure dans la réponse `HttpServletResponse`. + + ```java + protected void + doGet(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + processRequest(req, resp); + } + protected void + doPost(HttpServletRequest req, + HttpServletResponse resp) + throws ServletException, IOException { + processRequest(req, resp); + } + } + ``` + +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks.mdx new file mode 100644 index 00000000000..547d612569a --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-external-calls-messaging-datastore-web-frameworks.mdx @@ -0,0 +1,619 @@ +--- +title: 'agent Java API: appels externes d''instrument, messagerie, datastore, infrastructure Web' +tags: + - Agents + - Java agent + - API guides +metaDescription: 'Use the New Relic Java API to instrument web and non-web transactions: external calls, cross app tracing, messaging, datastore, web frameworks, etc.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java de New Relic collecte et rapporte des informations sur les [transactions Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) [et non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions), telles que les tâches en arrière-plan. L&apos;agent doit instrumenter automatiquement le framework pris en charge, sans qu&apos;il soit nécessaire de modifier le code de votre application . Cependant, en plus du code personnalisé et du framework ou de la technologie non répertoriés dans la documentation [Compatibilité et exigences de l'agent Java](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent), certaines implémentations du framework pris en charge peuvent nécessiter [instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). + +Ce document décrit comment utiliser l'[API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api) pour instrumenter les appels externes, l&apos;infrastructure de messagerie, [le traçage distribué](/docs/distributed-tracing/), les magasins de données et l&apos;infrastructure Web. Pour de meilleurs résultats lors de l&apos;utilisation de l&apos;API, assurez-vous que vous disposez de la [dernière version agent Java ](/docs/release-notes/agent-release-notes/java-release-notes). Plusieurs API utilisées dans les exemples nécessitent l’agent Java 3.36.0 ou supérieur. + +## API externe [#external] + +Le **External API** permet à l&apos;application de signaler les appels de service externes à New Relic. Ces informations apparaissent sur la [page**External services** ](/docs/apm/applications-menu/monitoring/external-services-page)dans APM. Pour signaler une activité externe HTTP, créez simplement une instance de `ExternalParameters` à l&apos;aide du générateur `HttpParameters` et appelez `reportAsExternal(ExternalParameters parameters)` sur la méthode de trace que vous souhaitez signaler. + + + + ```java + String library = "HttpClient"; // a user-recognizable name for the library that is being used + URI uri = request.getURI(); // the URI that is being requested + String procedure = "execute"; // these are typically named after the method in the library that's being instrumented + + // construct external parameters + ExternalParameters params = HttpParameters + .library(library) + .uri(uri) + .procedure(procedure) + .inboundHeaders(inboundHeaders) + .build(); + + // report the current method as doing external activity + NewRelic.getAgent().getTracedMethod().reportAsExternal(params); + ``` + + + +## Générateurs de paramètres externes [#external-parameters] + +Il existe plusieurs constructeurs pour créer `ExternalParameters`: + +* `DatastoreParameters` +* `HttpParameters` +* `GenericParameters` +* `MessageConsumeParameters` +* `MessageProduceParameters` + +Ces constructeurs créent l'objet de paramètre d'entrée pour [`TracedMethod` ](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/TracedMethod.html)`reportAsExternal` l&apos;appel d&apos;API. Ces objets de paramètres sont utilisés pour des choses comme la liaison des appels externes HTTP via le traçage distribué, le traçage des appels externes vers un datastore, le traçage des appels externes vers un datastore avec un traitement de requête lente supplémentaire, ainsi que le traçage des appels entre les producteurs de messages et le consommateur. + + + Toutes les méthodes de cette classe ont le potentiel d’exposer des informations privées sensibles. Soyez prudent lors de la création des arguments, en accordant une attention particulière aux URI et aux valeurs de chaîne. + + +## API de traçage distribué [#distributed-tracing] + +L'API [de traçage distribué](/docs/distributed-tracing/) permet à l&apos;agent Java de New Relic de lier les transactions entre les applications qui sont instrumentées soit par l&apos;agent Java de New Relic, soit par un autre instrumentation outil standard ouvert. Il utilise un wrapper pour permettre à l&apos;agent de lire/écrire des en-têtes dans requests. + +### Enveloppe d'en-têtes + +L'agent utilise l'interface `Headers` pour lire/écrire les en-têtes d&apos;une requête. Le client et le serveur doivent tous deux implémenter cette interface en utilisant les classes de leur framework de communication. Par exemple: + + + + ```java + class HeadersWrapper implements Headers { + private final HttpMessage delegate; + + public HeadersWrapper(HttpMessage request) { + this.delegate = request; + } + + @Override + public void setHeader(String name, String value) { + delegate.setHeader(name, value); + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getHeader(String name) { + return delegate.getFirstHeader(name).getValue(); + } + + @Override + public Collection getHeaders(String name) { + return Arrays.stream(delegate.getHeaders(name)) + .map(NameValuePair::getValue) + .collect(Collectors.toList()); + } + + @Override + public void addHeader(String name, String value) { + delegate.addHeader(name, value); + } + + @Override + public Collection getHeaderNames() { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .collect(Collectors.toSet()); + } + + @Override + public boolean containsHeader(String name) { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .anyMatch(headerName -> headerName.equals(name)); + } + } + ``` + + + +### Implémentation du traçage distribué à l'aide de wrappers [#dt-implementation] + +À l’aide de l’objet wrapper décrit dans la section précédente, vous pouvez permettre à l’ agent Java de signaler les traces côté client et côté serveur. Par exemple: + + + + ```java + @Trace + public int makeExternalCall(URI uri) throws IOException { + HttpUriRequest request = RequestBuilder.get().setUri(uri).build(); + + // Wrap the outbound Request object + Headers outboundHeaders = new HeadersWrapper(request); + + // Obtain a reference to the current transaction + Transaction transaction = NewRelic.getAgent().getTransaction(); + // Add headers for outbound external request + transaction.insertDistributedTraceHeaders(outboundHeaders); + + CloseableHttpClient connection = HttpClientBuilder.create().build(); + CloseableHttpResponse response = connection.execute(request); + + return response.getStatusLine().getStatusCode(); + } + ``` + + + +Dans cet exemple de code, l'agent est configuré pour signaler un appel externe à l'aide du traçage distribué sur le client qui lance la demande. Ces étapes peuvent être résumées comme suit : + +1. Implémentez `Headers` à l’aide des classes framework sur le client. +2. Utilisez `insertDistributedTraceHeaders(Headers headers)` pour que l’agent ajoute les en-têtes appropriés à la demande sortante. + + + + ```java + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession request) { + // Obtain a reference to the current Transaction + Transaction tx = NewRelic.getAgent().getTransaction(); + + // Set the name of the current transaction + NewRelic.setTransactionName("Custom", "ExternalHTTPServer"); + + // Wrap the Request object + Headers req = new HeadersWrapper(request); + + // Set the request for the current transaction and convert it into a web transaction + tx.acceptDistributedTraceHeaders(TransportType.HTTP, req); + + queryDB(); + + return newFixedLengthResponse("

SuccessfulResponse

\n\n"); + } + ``` +
+
+ +Dans cet exemple de code, l'agent est configuré pour lire les en-têtes de la demande. Ces étapes peuvent être résumées comme suit : + +1. Implémentez `Headers` à l’aide des classes framework sur le serveur. +2. Utilisez `acceptDistributedTraceHeaders(TransportType transportType, Headers headers)` pour lier cette transaction à la transaction qui a effectué l’appel. + +## API de traçage inter-applications [#cat-api] + + + Le traçage inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent. + + Au lieu d'utiliser le traçage inter-application, nous recommandons notre fonctionnalité [de traçage distribué](#distributed-tracing) . tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués. + + +L'de [traçage inter- (CAT)application](/docs/apm/transactions/cross-application-traces/cross-application-tracing)API permet à l&apos;agent Java de New Relic de lier les transactions à travers le moniteur d&apos;applications par New Relic. L&apos;API utilise des wrappers client et serveur qui permettent à l&apos;agent de lire les en-têtes des requests et d&apos;ajouter des en-têtes aux réponses. + +### Enveloppes client + +Pour que l'agent écrive les en-têtes de requête sortante dans le client qui lance la requête, utilisez l'interface `OutboundHeaders` . Par exemple: + + + + ```java + class OutboundWrapper implements OutboundHeaders { + private final HttpUriRequest delegate; + + // OutboundHeaders is implemented by delegating to the library's request object + public OutboundWrapper(HttpUriRequest request) { + this.delegate = request; + } + + // This allows the agent to add the correct headers to the HTTP request + @Override + public void setHeader(String name, String value) { + delegate.addHeader(name, value); + } + + // New Relic CAT specifies different header names for HTTP and MESSAGE + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + } + ``` + + + +Pour que l'agent lise les en-têtes de réponse entrants dans le client recevant la réponse, implémentez `InboundHeaders`. Par exemple: + + + + ```java + class InboundWrapper implements InboundHeaders { + private final CloseableHttpResponse responseHeaders; + + // OutboundHeaders is implemented by delegating to the library's response object + public InboundWrapper(CloseableHttpResponse responseHeaders) { + this.responseHeaders = responseHeaders; + } + + // New Relic CAT specifies different header names for HTTP and MESSAGE + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + // this allows the agent to read the correct headers from the HTTP response + @Override + public String getHeader(String name) { + return responseHeaders.getFirstHeader(name).getValue(); + } + } + ``` + + + +### Enveloppeurs de serveur + +Pour que l'agent obtienne les en-têtes de requête Web, vous devez étendre la classe `ExtendedRequest` : + + + + ```java + // Extend ExtendedRequest class to create a wrapper for the Request object + class RequestWrapper extends ExtendedRequest { + private IHTTPSession session; + + public RequestWrapper(IHTTPSession session) { + super(); + this.session = session; + } + + @Override + public String getRequestURI() { + return session.getUri(); + } + + @Override + public String getHeader(String name) { + return session.getHeaders().get(name); + } + + @Override + public String getRemoteUser() { + return null; + } + + @SuppressWarnings("rawtypes") + @Override + public Enumeration getParameterNames() { + return Collections.enumeration(session.getParms().keySet()); + } + + @Override + public String[] getParameterValues(String name) { + return new String[] { session.getParms().get(name) }; + } + + @Override + public Object getAttribute(String name) { + return null; + } + + @Override + public String getCookieValue(String name) { + return null; + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getMethod() { + return session.getMethod().toString(); + } + } + ``` + + + +Pour que l'agent définisse les en-têtes de réponse Web, implémentez l'interface `Response` : + + + + ```java + // Implement Response interface to create a wrapper for the outgoing Response object + public class ResponseWrapper implements com.newrelic.api.agent.Response { + + private final Response httpResponse; + + public ResponseWrapper(Response httpResponse) { + this.httpResponse = httpResponse; + } + + @Override + public int getStatus() throws Exception { + return 200; + } + + @Override + public String getStatusMessage() throws Exception { + return null; + } + + @Override + public void setHeader(String name, String value) { + httpResponse.addHeader(name, value); + } + + @Override + public String getContentType() { + return ""; + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + } + ``` + + + +### Implémentation CAT à l'aide de wrappers [#cat-implementation] + +À l’aide des objets wrapper décrits dans les sections précédentes, vous pouvez permettre à l’agent Java d’effectuer un traçage inter-applications (CAT) côté client et côté serveur. Par exemple: + + + + ```java + @Trace + public int makeExternalCall(URI uri) throws IOException { + String library = "HTTPClient"; + String procedure = "Execute"; + HttpUriRequest request = RequestBuilder.get().setUri(uri).build(); + + // Wrap the outbound Request object + OutboundWrapper outboundHeaders = new OutboundWrapper(request); + // Obtain a reference to the method currently being traced + TracedMethod tracedMethod = NewRelic.getAgent().getTracedMethod(); + // Add headers for outbound external request + tracedMethod.addOutboundRequestHeaders(outboundHeaders); + + CloseableHttpClient connection = HttpClientBuilder.create().build(); + CloseableHttpResponse response = connection.execute(request); + + // Wrap the incoming Response object + InboundWrapper inboundHeaders = new InboundWrapper(response); + // Create an input parameter object for a call to an external HTTP service + ExternalParameters params = HttpParameters + .library(library) + .uri(uri) + .procedure(procedure) + .inboundHeaders(inboundHeaders) + .build(); + + // Report a call to an external HTTP service + tracedMethod.reportAsExternal(params); + + return response.getStatusLine().getStatusCode(); + } + ``` + + + +Dans cet exemple de code, l'agent est configuré pour signaler un appel externe à l'aide de CAT sur le client qui lance la demande. Ces étapes peuvent être résumées comme suit : + +1. Implémentez `OutboundHeaders` et `InboundHeaders` à l’aide des classes framework sur le client. +2. Utilisez `addOutboundRequestHeaders(OutboundHeaders outboundHeaders)` pour que l’agent ajoute les en-têtes appropriés à la demande sortante. +3. Créez l'objet `ExternalParameters` à l&apos;aide du générateur `HttpParameters` et fournissez des en-têtes de réponse entrants. +4. Signaler comme une demande externe en utilisant `reportAsExternal(ExternalParameters params)`. + + + + ```java + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession session) { + // Obtain a reference to the current Transaction + Transaction tx = NewRelic.getAgent().getTransaction(); + + // Set the name of the current transaction + NewRelic.setTransactionName("Custom", "ExternalHTTPServer"); + + // Wrap the Request object + ExtendedRequest req = new RequestWrapper(session); + + // Set the request for the current transaction and convert it into a web transaction + tx.setWebRequest(req); + + queryDB(); + Response res = newFixedLengthResponse("

SuccessfulResponse

\n\n"); + + // Set the response for the current transaction and convert it into a web transaction + tx.setWebResponse(new ResponseWrapper(res)); + + // Instruct the transaction to write the outbound response headers + tx.addOutboundResponseHeaders(); + + // Mark the time when the response left the server + tx.markResponseSent(); + + return res; + } + ``` +
+
+ +Dans cet exemple de code, l'agent est configuré pour signaler un appel externe à l'aide de CAT sur le serveur qui répond à la demande. Ces étapes peuvent être résumées comme suit : + +1. Implémentez `Response` et étendez la classe `ExtendedRequest` à l’aide de classes framework sur le serveur. + +2. Utilisez `setWebRequest(ExtendedRequest request)` et `setWebResponse(Response response)` pour convertir la transaction en un réseau de transactions et fournir ensemble à l&apos;agent les en-têtes de demande entrants et un emplacement pour enregistrer les en-têtes sortants. + + Il est important d'utiliser `setWebRequest(ExtendedRequest request)` et `setWebResponse(Response response)` ensemble, car le nom de la transaction dépend de l&apos;objet de demande et le code de réponse dépend de l&apos;objet de réponse. + +3. Utilisez `addOutboundResponseHeaders()` pour que l’agent ajoute les en-têtes appropriés à la réponse sortante. + +4. Marquez la fin de la réponse avec un appel à `markResponseSent()`. + +## API de messagerie + +L'API de messagerie permet aux applications de signaler l'interaction avec les courtiers du fichier d'attente des messages. Il s'appuie sur l'API externe en fournissant les `MessageConsumerParametersMessage` et `MessageConsumerParameters`. + +Cette API génère les métriques nécessaires pour identifier l'interaction du courtier de messages. L'UI utilisera ces métriques pour afficher les données de messagerie, y compris les segments dans les transactions avec l'action et le nombre appropriés (message placé ou message pris), un onglet de messages dédié dans la trace de transaction, et plus encore. La fourniture d'en-têtes entrants et sortants à l'API permet également à l'agent d'ajouter des en-têtes CAT et d'enregistrer les métriques CAT, ce qui permet à l'UI de dessiner [des cartes de service](/docs/data-analysis/service-maps/get-started/service-maps-visualize-monitor-your-apps-entire-architecture) qui montrent les connexions entre les applications. + + + L'API de messagerie repose sur une communication bidirectionnelle entre les producteurs et les consommateurs. Si votre producteur ne reçoit pas d'accusé de réception d'un consommateur, comme dans un modèle de type « fire-and-forget », l'API de messagerie ne reflétera pas avec précision l'interaction avec les courtiers du fichier d'attente des messages. + + +L'exemple suivant montre comment instrumenter une bibliothèque JMS fictive. + + + + ```java + public class MessageProducer { + // instrument the method that puts messages on a queue + @Trace + public void sendMessageToQueue(Message message) { + ExternalParameters messageProduceParameters = MessageProduceParameters.library("JMS") + .destinationType(DestinationType.NAMED_QUEUE) + .destinationName(message.getJMSDestination()) + .outboundHeaders(new OutboundWrapper(message)) + .build(); + + NewRelic.getAgent().getTracedMethod().reportAsExternal(messageProduceParameters); + } + } + ``` + + + +Pour simplifier les choses, l’agent suppose que `sendMessageToQueue` place toujours un message dans une file d’attente nommée. En réalité, un message peut être envoyé à différents types de destinations, notamment des files d&apos;attente nommées, des files d&apos;attente temporaires, des sujets et des sujets temporaires. L&apos;API fournit une énumération pour signaler des messages à différents types de destination : `NAMED_QUEUE`, `TEMP_QUEUE`, `NAMED_TOPIC`, `TEMP_TOPIC`. Il est important de spécifier le type de destination approprié car l&apos;UI affichera les noms des files d&apos;attente nommées et des rubriques nommées et omettra les noms des files d&apos;attente temporaires et des rubriques temporaires. + +Si la bibliothèque est capable de transmettre des en-têtes CAT, un objet `OutboundHeaders` sera fourni à l&apos;API afin que l&apos;agent puisse ajouter des en-têtes CAT. + + + + ```java + public class MessageConsumer { + @Trace + public Message messageReceive() { + ExternalParameters messageConsumeParameters = MessageConsumeParameters.library("JMS") + .destinationType(DestinationType.NAMED_QUEUE) + .destinationName(message.getJMSDestination()) + .inboundHeaders(new InboundWrapper(message)) + .build(); + + NewRelic.getAgent().getTracedMethod().reportAsExternal(messageConsumeParameters); + + return message; + } + } + ``` + + + +## API de la banque de données + +Lorsqu'une méthode de trace est signalée comme un appel externe, l'appel est affiché datastore dans la APM page [de base de données .](/docs/apm/applications-menu/monitoring/databases-slow-queries-page) Étant donné que les magasins de données sont externes à l’ application en cours d’exécution, la méthode est signalée comme activité datastore à l’aide de la méthode `reportAsExternal(ExternalParameters params)`. La seule différence est qu&apos;un constructeur différent, `DatastoreParameters`, est utilisé pour créer l&apos;objet `ExternalParameters` approprié. + + + + ```java + TracedMethod tracedMethod = NewRelic.getAgent().getTracedMethod(); + tracedMethod.reportAsExternal( + DatastoreParameters + .product("sqlite") // the datastore vendor + .collection("test.db") // the name of the collection (or table for SQL databases) + .operation("select") // the operation being performed, for example "SELECT" or "UPDATE" for SQL databases + .instance("localhost", 8080) // the datastore instance information - generally can be found as part of the connection + .databaseName("test.db") // may be null, indicating no keyspace for the command + .build()); + ``` + + + +## API de banque de données : requête lente [#datastore-slow-query] + +Cet appel d'API fournit le même comportement que l'[appel d'API du magasin de données](#datastore-api) et l&apos;étend pour permettre le suivi des informations [des requêtes lentes](/docs/apm/apm-ui-pages/monitoring/view-slow-query-details/) . La même méthode `reportAsExternal(ExternalParameters params)` et le même générateur sont utilisés, mais avec une méthode de générateur supplémentaire. + + + + La création de l’objet `ExternalParameters` approprié est illustrée ci-dessous : + + ```java + // Reporting a method as doing datastore activity + TracedMethod tracedMethod = NewRelic.getAgent().getTracedMethod(); + tracedMethod.reportAsExternal( + DatastoreParameters + .product("sqlite") // the datastore vendor + .collection("test.db") // the name of the collection (or table for SQL databases) + .operation("select") // the operation being performed, for example "SELECT" or "UPDATE" for SQL databases + .instance("localhost", 8080) // the datastore instance information - generally can be found as part of the connection + .databaseName("test.db") // may be null, indicating no keyspace for the command + .slowQuery(rawQuery, QUERY_CONVERTER) + .build()); + + private static QueryConverter QUERY_CONVERTER = new QueryConverter() { + + @Override + public String toRawQueryString(String statement) { + // Do work to transform raw query object to string + return statement; + } + + @Override + public String toObfuscatedQueryString(String statement) { + // Do work to remove any sensitive information here + return obfuscateQuery(statement); + } + }; + ``` + + + +## API WebFrameworks + +L'API WebFrameworks permet à l'agent de signaler [des informations d'identification supplémentaires sur l'application.](/docs/agents/java-agent/configuration/hostname-logic-java#unique-identifier) + +```java +// Set the dispatcher name and version which is reported to APM. +// The dispatcherName is intended to represent the type of server that this +// application is running on such as: Tomcat, Jetty, Netty, etc. +NewRelic.setServerInfo(String dispatcherName, String version) + +// Set the app server port which is reported to APM. +NewRelic.setAppServerPort(int port) + +// Set the instance name in the environment. +// A single host:port may support multiple JVM instances. +// The instance name is intended to help identify a specific JVM instance. +NewRelic.setInstanceName(String instanceName) +``` + + + Ces valeurs ne peuvent être définies qu'une seule fois. Les appels ultérieurs n'auront aucun effet. + + + + + ```java + public NewRelicApiClient() throws IOException, URISyntaxException { + super(8080); + + // Set Dispatcher name and version. + NewRelic.setServerInfo("NanoHttp", "2.3.1"); + + // Set Appserver port for jvm identification + NewRelic.setAppServerPort(8080); + + // Set JVM instance name + NewRelic.setInstanceName("Client:8080"); + + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("\nRunning on http://localhost:8080/ \n"); + } + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-using-annotation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-using-annotation.mdx new file mode 100644 index 00000000000..eb707fe10e5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-using-annotation.mdx @@ -0,0 +1,483 @@ +--- +title: 'API de l''agent Java : instrumenter utilisant l''annotation' +tags: + - Agents + - Java agent + - API guides +metaDescription: 'With New Relic monitoring for Java, you can use annotations in your app code to extend the default instrumentation of your app.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java de New Relic fournit plusieurs options pour [l'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). L’une de ces options consiste à ajouter les annotations `@Trace`, `@TraceLambda` ou `@TraceByReturnType` de l’API de l’agent Java à votre code d’application. Ce document décrit comment utiliser les annotations. + + + Pour utiliser les annotations, vous devez modifier le code source. Si vous ne pouvez pas ou ne voulez pas modifier votre source de code, consultez [instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) pour d&apos;autres options instrumentation . + + +## Les annotations sont activées par défaut [#configure] + +Par défaut, le paramètre de configuration `enable_custom_tracing` est défini sur `true` dans l&apos;agent Java, qui est le paramètre requis pour que les annotations @Trace fonctionnent. + +Ce paramètre **n'est pas** inclus dans `newrelic.yml` par défaut. Si vous souhaitez désactiver les annotations, définissez `enable_custom_tracing: false` (préfacé par deux espaces) dans la section `common` de votre `newrelic.yml`. + +## @Tracer [#trace] + +L'annotation d'une méthode avec `@Trace` indique à l&apos;agent Java que des mesures doivent être prises pour cette méthode. + +Pour ajouter un appel de méthode en tant que trace personnalisée, ajoutez des annotations `@Trace` à votre méthode. Assurez-vous que `newrelic-api.jar` apparaît dans votre classpath car il contient toutes ces annotations. + +```java +import com.newrelic.api.agent.Trace; + +... + + @Trace + public void run() { + // background task + } +``` + +### Créer une nouvelle transaction [#new-trans] + +Si les transactions n'apparaissent pas et que vous souhaitez démarrer une nouvelle transaction, incluez `dispatcher=true` avec l&apos;annotation `@Trace` : + +```java +@Trace (dispatcher=true) +public void run() { + // background task +} +``` + +### Ajoutez des détails à vos transactions [#detail] + +Si votre trace de transaction montre de grands blocs de temps non instrumentés et que vous souhaitez inclure d'autres méthodes dans la trace, vous pouvez utiliser l'annotation `@Trace` sans paramètre : + +```java +@Trace +protected void methodWithinTransaction() { + // work +} +``` + +### Convertir une transaction en requête Web [#web-request] + +Pour créer un rapport de tâche en arrière-plan sous forme de transaction de navigateur Web avec un appel [d'API d'agent Java](/docs/java/java-agent-api) : Dans la méthode annotée avec `@Trace(dispatcher=true)`, appelez : + +```java +NewRelic.setRequestAndResponse(Request request, Response response) +``` + +Les arguments sont des implémentations des interfaces `Request` et `Response` dans `newrelic-api.jar`. + + + Même si vos objets `Request` et `Response` sont déjà présents, vous devez quand même ajouter cet appel d&apos;API. + + +### Définissez votre propre classe d’annotation @Trace [#custom-class] + +Si vous définissez votre propre classe d'annotation `@Trace`, il n&apos;y a aucune dépendance sur `newrelic-api.jar`. Pour définir la classe : + +```java +package com.test; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) + +public @interface Trace { + public static final String NULL = ""; + String metricName() default NULL; + boolean dispatcher() default false; + String tracerFactoryName() default NULL; +} +``` + +Ensuite, configurez l'agent pour utiliser cette annotation dans la section `common` de `newrelic.yml`: + +```yml +class_transformer: + trace_annotation_class_name: com.test.Trace +``` + +### Propriétés pour @Trace [#properties] + +L'annotation `@Trace` prend en charge les propriétés suivantes. + + + répartiteur + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Si `true`, l&apos;agent démarrera une transaction lorsqu&apos;il atteindra une méthode avec cette annotation `@Trace` si une transaction n&apos;est pas déjà en cours. Si une transaction est déjà en cours, la méthode avec cette annotation sera incluse dans la transaction en cours, plutôt que d&apos;en démarrer une nouvelle. + + Si `false` (par défaut), aucune métrique ne sera enregistrée si l&apos;agent n&apos;a pas démarré de transaction avant que l&apos;annotation `@Trace` ne soit atteinte. Par exemple: + + ```java + @Trace(dispatcher=true) + ``` +
+ + async + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Si `true`, cette méthode est marquée comme asynchrone et l&apos;agent trace cette méthode si elle est liée à une transaction existante. Par exemple: + + ```java + @Trace(async=true) + ``` + + Si `false` (par défaut), la méthode n&apos;est pas marquée comme asynchrone. Si d&apos;autres annotations `@Trace` sont présentes et que la méthode ne s&apos;exécute pas de manière asynchrone, elle sera toujours tracée. +
+ + nom métrique + } + > + + + + + + + + + + + + + + +
+ Taper: + + Chaîne +
+ Défaut: + + (aucun) +
+ + Cette propriété affecte le suivi des transactions et les rapports d'erreurs. Par défaut, le nom de la métrique inclura le nom de la classe suivi du nom de la méthode. Si vous ne souhaitez pas que la classe soit suivie d'une méthode, vous pouvez utiliser cette propriété pour modifier le nom de la métrique. + + Si vous définissez `metricName`, comme dans `@Trace(metricName="YourMessageHere")`, le temps passé dans cette méthode apparaîtra sous la forme YourMessageHere dans toute trace de transaction. + + Si vous définissez `metricName` en plus du répartiteur, comme dans `@Trace(metricName="YourMessageHere", dispatcher=true)`, le nom de la transaction apparaîtra comme YourMessageHere dans la page APM **Transactions** mais le temps passé dans cette méthode n&apos;apparaîtra pas comme YourMessageHere dans aucune trace de transaction. + + Voici un exemple : + + ```java + @Trace(metricName="YourMetricName") + ``` + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + +
+ + exclure de la trace de transaction + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Si `true`, la méthode sera exclue de la trace de transaction. L&apos;agent continuera à collecter des métriques pour la méthode. Voici un exemple : + + ```java + @Trace(excludeFromTransactionTrace=true) + ``` +
+ + feuille + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Un traceur de feuille n'a pas de traceur enfant. Ceci est utile lorsque vous souhaitez que tout le temps soit attribué au traceur, même si d'autres points trace sont rencontrés lors de l'exécution du traceur. + + La base de données traceur agit souvent comme une feuille afin que tout le temps soit attribué à l'activité de la base de données, même si des appels externes instrumentés sont effectués. Voici un exemple : + + ```java + @Trace(leaf=true) + ``` + + Si un traceur feuille ne participe pas au suivi de transaction, l'agent peut créer un traceur avec une surcharge inférieure. Voici un exemple : + + ```java + @Trace(excludeFromTransactionTrace=true, leaf=true) + ``` +
+
+ +## @TraceLambda [#tracelambda] + +Cette fonctionnalité est désactivée par défaut et doit être explicitement activée (par exemple `-Dnewrelic.config.instrumentation.trace_lambda.enabled=true`) pour que les annotations prennent effet. La variable d’environnement équivalente est `NEW_RELIC_INSTRUMENTATION_TRACE_LAMBDA_ENABLED`. + +Si votre trace de transaction montre de grands blocs de temps non instrumentés et que vous souhaitez inclure des expressions lambda dans la trace, vous pouvez utiliser l'annotation `@TraceLambda` sans paramètre : + +```java +import com.newrelic.api.agent.TraceLambda; + +@TraceLambda +class ClassContainingLambdaExpressions() { + // work +} +``` + +Les expressions Lambda deviennent des méthodes statiques de la classe contenante après la compilation. Par défaut, les méthodes statiques dans les classes marquées avec l'annotation `@TraceLambda` correspondant au modèle d&apos;annotations seront marquées avec l&apos;annotation `@Trace` . + +### Propriétés pour @TraceLambda [#tracelambda-properties] + +L'annotation `@TraceLambda` prend en charge les propriétés suivantes. + + + modèle + } + > + + + + + + + + + + + + + + +
+ Taper: + + Chaîne +
+ Défaut: + + `^\$?(lambda\|anonfun)\$(?\.*)` +
+ + Si vous définissez `pattern`, comme dans `@TraceLambda(pattern="YourPattern")`, les noms de méthodes des classes marquées seront alors mis en correspondance avec le modèle regex `YourPattern`. Si elle correspond, la méthode associée sera marquée avec l&apos;annotation `@Trace` . + + Voici un exemple : + + ```java + @TraceLambda(pattern="YourPattern") + ``` +
+ + inclureNonstatique + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Si `true`, les classes marquées comme méthodes non statiques seront éligibles à l&apos;évaluation par rapport au modèle d&apos;instrumentation. + + Voici un exemple : + + ```java + @TraceLambda(includeNonstatic="true") + ``` +
+
+ +## @TraceByReturnType [#tracebyreturntype] + +Pour inclure des méthodes avec un type de retour particulier dans la trace, vous pouvez utiliser l'annotation `@TraceByReturnType` pour marquer une classe transmettant les types de retour en tant que propriété. Les méthodes des classes annotées qui correspondent à l’un des types de retour spécifiés seront marquées avec l’annotation `@Trace` . + +```java +@TraceByReturnType(traceReturnTypes={Integer.class, String.class}) +class ClassContainingMethods() { + // ... +} +``` + +### Propriétés pour @TraceByReturnType [#tracebyreturntype-properties] + +L'annotation `@TraceByReturnType` prend en charge les propriétés suivantes. + + + traceReturnTypes + } + > + + + + + + + + + + + + + + +
+ Taper: + + List<Class> +
+ Défaut: + + liste vide +
+ + Si vous définissez `traceReturnTypes`, comme dans `@TraceByReturnType(traceReturnTypes={String.class})`, les types de retour des méthodes de classes marquées seront mis en correspondance avec `String.class`. Toutes les méthodes correspondantes seront marquées avec l&apos;annotation `@Trace` . + + Voici un exemple : + + ```java + @TraceByReturnType(traceReturnTypes={Integer.class, String.class}) + class ClassContainingMethods() { + public String doSomething() { // matches + // ... + } + + public Long somethingElse() { // does not match + // ... + } + } + ``` +
+
+ +## Considérations relatives aux performances + +Lorsque l'agent Java est présent dans la JVM, il injectera du code sur les méthodes annotées. La baisse de performances est négligeable dans les opérations lourdes, telles que les appels de bases de données ou de services Web, mais est perceptible dans les méthodes appelées fréquemment, comme un accesseur appelé des milliers de fois par seconde. + + + N'instrumentez pas toutes vos méthodes, car cela peut entraîner une diminution des performances et un [problème de regroupement des métriques](/docs/apm/other-features/metrics/metric-grouping-issues). + + +## Plus de fonctions API [#other-api] + +Pour en savoir plus sur l'API de l'agent Java et ses fonctionnalités, consultez l'[introduction à l'API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrumenting-example-app-external-datastore-calls-dt.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrumenting-example-app-external-datastore-calls-dt.mdx new file mode 100644 index 00000000000..666d18b0093 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-instrumenting-example-app-external-datastore-calls-dt.mdx @@ -0,0 +1,855 @@ +--- +title: 'agent Java API: exemple d''application instrumentée pour les datastore appels et le traçage distribué externe' +tags: + - Agents + - Java agent + - API guides +metaDescription: 'For New Relic Java agent API, an example of using custom instrumentation in an app to monitor distributed tracing and external datastore calls.' +freshnessValidatedDate: never +translationType: machine +--- + +Ce document montre l'utilisation de [l'API de l'agent Java ](/docs/agents/java-agent/custom-instrumentation/java-agent-api)pour instrumenter des applications client et serveur simples. L&apos;instrumentation a ces objectifs : + +* Pour enregistrer les datastore [transactions HTTP externes](/docs/apm/applications-menu/monitoring/transactions-page) et les transactions . +* Pour lier des transactions externes entre deux applications exécutant l'agent New Relic (appelé [tracing distribué](/docs/distributed-tracing) ou DT). + +Consultez la [documentation Javadoc de l'API de l'agent Java](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) pour obtenir une description complète des classes et méthodes API disponibles. + + + Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous que vous disposez de la [dernière version agent Java ](/docs/release-notes/agent-release-notes/java-release-notes). Plusieurs API utilisées dans les exemples nécessitent l’agent Java 3.36.0 ou supérieur. + + +## Exemple côté client [#complete-client] + +Voici un exemple de code côté client pour une application client-serveur simple : + + + + ```java + package com.newrelic.example; + + import java.io.IOException; + import java.net.URI; + import java.net.URISyntaxException; + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.Statement; + import java.util.Arrays; + import java.util.Collection; + import java.util.stream.Collectors; + + // New Relic API imports + import com.newrelic.api.agent.ExternalParameters; + import com.newrelic.api.agent.HeaderType; + import com.newrelic.api.agent.Headers; + import com.newrelic.api.agent.HttpParameters; + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + import com.newrelic.api.agent.TracedMethod; + import com.newrelic.api.agent.Transaction; + + import fi.iki.elonen.NanoHTTPD; + import org.apache.http.HttpMessage; + import org.apache.http.NameValuePair; + import org.apache.http.client.methods.CloseableHttpResponse; + import org.apache.http.client.methods.HttpUriRequest; + import org.apache.http.client.methods.RequestBuilder; + import org.apache.http.impl.client.CloseableHttpClient; + import org.apache.http.impl.client.HttpClientBuilder; + + public class NewRelicApiExample extends NanoHTTPD { + + public NewRelicApiExample() throws IOException, URISyntaxException { + super(8080); + + // Set Dispatcher name and version + NewRelic.setServerInfo("NanoHttp", "2.3.1"); + // Set Appserver port for JVM identification + NewRelic.setAppServerPort(8080); + // Set JVM instance name + NewRelic.setInstanceName("Client"); + + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("Running at: http://localhost:8080/"); + } + + public static void main(String[] args) throws URISyntaxException { + try { + new NewRelicApiExample(); + } catch (IOException ioe) { + System.err.println("Unable to start the server:\n" + ioe); + } + } + + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession session) { + URI uri = null; + int status = 0; + + try { + createDB(); + Thread.sleep(1000); + uri = new URI("http://localhost:8081"); + status = makeExternalCall(uri); + } catch (URISyntaxException | InterruptedException | IOException e) { + e.printStackTrace(); + } + + if (status == 200) { + return newFixedLengthResponse("

Successful Response

\n\n"); + } else { + return newFixedLengthResponse("

Error\n" + status + "

\n\n"); + } + } + + @Trace + public int makeExternalCall(URI uri) throws IOException { + HttpUriRequest request = RequestBuilder.get().setUri(uri).build(); + + // Wrap the outbound Request object + Headers outboundHeaders = new HeadersWrapper(request); + + // Obtain a reference to the current transaction + Transaction transaction = NewRelic.getAgent().getTransaction(); + // Add headers for outbound external request + transaction.insertDistributedTraceHeaders(outboundHeaders); + + CloseableHttpClient connection = HttpClientBuilder.create().build(); + CloseableHttpResponse response = connection.execute(request); + + // Wrap the incoming Response object + Headers inboundHeaders = new HeadersWrapper(response); + + // Create an input parameter object for a call to an external HTTP service + ExternalParameters params = HttpParameters + .library("HttpClient") + .uri(uri) + .procedure("execute") + .inboundHeaders(inboundHeaders) + .build(); + + // Obtain a reference to the method currently being traced + TracedMethod tracedMethod = NewRelic.getAgent().getTracedMethod(); + // Report a call to an external HTTP service + tracedMethod.reportAsExternal(params); + + return response.getStatusLine().getStatusCode(); + } + + // Implement Headers interface to create a wrapper for the outgoing Request/incoming Response headers + static class HeadersWrapper implements Headers { + private final HttpMessage delegate; + + public HeadersWrapper(HttpMessage request) { + this.delegate = request; + } + + @Override + public void setHeader(String name, String value) { + delegate.setHeader(name, value); + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getHeader(String name) { + return delegate.getFirstHeader(name).getValue(); + } + + @Override + public Collection getHeaders(String name) { + return Arrays.stream(delegate.getHeaders(name)) + .map(NameValuePair::getValue) + .collect(Collectors.toList()); + } + + @Override + public void addHeader(String name, String value) { + delegate.addHeader(name, value); + } + + @Override + public Collection getHeaderNames() { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .collect(Collectors.toSet()); + } + + @Override + public boolean containsHeader(String name) { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .anyMatch(headerName -> headerName.equals(name)); + } + } + + @Trace + public void createDB() { + Connection c = null; + Statement stmt = null; + + try { + Class.forName("org.sqlite.JDBC"); + c = DriverManager.getConnection("jdbc:sqlite:/tmp/test.db"); + System.out.println("Opened database successfully"); + + stmt = c.createStatement(); + + String dropSql = "DROP TABLE IF EXISTS COMPANY;"; + stmt.executeUpdate(dropSql); + + String sql = "CREATE TABLE COMPANY " + + "(ID INT PRIMARY KEY NOT NULL," + + " NAME TEXT NOT NULL, " + + " AGE INT NOT NULL, " + + " ADDRESS CHAR(50), " + + " SALARY REAL)"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (1, 'Paul', 32, 'California', 20000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );"; + stmt.executeUpdate(sql); + + stmt.close(); + c.close(); + } catch (Exception e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + System.exit(0); + } + } + } + ``` +
+
+ +Voici le même code d'application client divisé en sections qui décrivent comment l'API est utilisée : + + + + Cette section appelle les agent Java API importations utilisées pour ajouter le traçage distribué à application l'cliente plus tard dans l'exemple de code. + + ```java + import java.io.IOException; + import java.net.URI; + import java.net.URISyntaxException; + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.Statement; + import java.util.Arrays; + import java.util.Collection; + import java.util.stream.Collectors; + + // New Relic API imports + import com.newrelic.api.agent.ExternalParameters; + import com.newrelic.api.agent.HeaderType; + import com.newrelic.api.agent.Headers; + import com.newrelic.api.agent.HttpParameters; + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + import com.newrelic.api.agent.TracedMethod; + import com.newrelic.api.agent.Transaction; + + import fi.iki.elonen.NanoHTTPD; + import org.apache.http.HttpMessage; + import org.apache.http.NameValuePair; + import org.apache.http.client.methods.CloseableHttpResponse; + import org.apache.http.client.methods.HttpUriRequest; + import org.apache.http.client.methods.RequestBuilder; + import org.apache.http.impl.client.CloseableHttpClient; + import org.apache.http.impl.client.HttpClientBuilder; + ``` + + + + Cette section démarre le serveur client sur le port 8080 et utilise la classe `NewRelic` de l&apos;API pour appeler les méthodes `setServerInfo`, `setAppServerPort` et `setInstanceName`. Ces appels d&apos;API affectent ce qui est affiché dans l&apos;UI de New Relic. + + ```java + public NewRelicApiExample() throws IOException, URISyntaxException { + super(8080); + + // Set Dispatcher name and version + NewRelic.setServerInfo("NanoHttp", "2.3.1"); + // Set Appserver port for jvm identification + NewRelic.setAppServerPort(8080); + // Set JVM instance name + NewRelic.setInstanceName("Client"); + + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("Running at: http://localhost:8080/"); + } + + public static void main(String[] args) throws URISyntaxException { + try { + new NewRelicApiExample(); + } catch (IOException ioe) { + System.err.println("Unable to start the server:\n" + ioe); + } + } + ``` + + + + Cette méthode crée un exemple de base de données, met le thread en veille et effectue un appel externe à l'application serveur à l'écoute sur le port 8081. L'annotation `@Trace(dispatcher = true)` indique à l&apos;agent de démarrer une nouvelle transaction lorsque la méthode `serve` est appelée, si elle n&apos;est pas appelée dans le cadre d&apos;une transaction existante (et dans ce cas, ce n&apos;est pas le cas). S&apos;il était appelé dans le cadre d&apos;une transaction existante, il serait simplement inclus dans cette transaction plutôt que d&apos;en démarrer une nouvelle. + + ```java + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession session) { + URI uri = null; + int status = 0; + + try { + createDB(); + Thread.sleep(1000); + uri = new URI("http://localhost:8081"); + status = makeExternalCall(uri); + } catch (URISyntaxException | InterruptedException | IOException e) { + e.printStackTrace(); + } + + if (status == 200) { + return newFixedLengthResponse("

Successful Response

\n\n"); + } else { + return newFixedLengthResponse("

Error\n" + status + "

\n\n"); + } + } + ``` +
+ + + Cette section contient le code qui initie le traçage distribué à l'application effectuant la demande. L'annotation `@Trace` indique à l&apos;agent de suivre cette méthode dans le cadre d&apos;une transaction existante démarrée par la méthode `serve` . + + L'objet de requête est enveloppé par une classe qui implémente l'interface `Headers` de l&apos;API de l&apos;agent Java, ce qui garantit que le `HeaderType` approprié est défini (dans ce cas `HTTP`). Un appel à `insertDistributedTraceHeaders` ajoute les en-têtes à `request` et la requête est envoyée au serveur. + + Lorsque le `response` est renvoyé, il est encapsulé par une classe implémentant l&apos;interface `InboundHeaders` de l&apos;API de l&apos;agent Java. `Headers` est une sous-interface de `InboundHeaders` et, dans ce cas, la classe wrapper pourrait être réutilisée. + + Les `inboundHeaders`, ainsi que les arguments `"library"`, `URI` et `"procedure"`, sont utilisés pour créer un objet `HttpParameters` . L&apos;objet `params` est ensuite passé en argument à la méthode `reportAsExternal`, qui signale le `TracedMethod` comme un appel HTTP externe. + + ```java + @Trace + public int makeExternalCall(URI uri) throws IOException { + HttpUriRequest request = RequestBuilder.get().setUri(uri).build(); + + // Wrap the outbound Request object + Headers outboundHeaders = new HeadersWrapper(request); + + // Obtain a reference to the current transaction + Transaction transaction = NewRelic.getAgent().getTransaction(); + // Add headers for outbound external request + transaction.insertDistributedTraceHeaders(outboundHeaders); + + CloseableHttpClient connection = HttpClientBuilder.create().build(); + CloseableHttpResponse response = connection.execute(request); + + // Wrap the incoming Response object + Headers inboundHeaders = new HeadersWrapper(response); + + // Create an input parameter object for a call to an external HTTP service + ExternalParameters params = HttpParameters + .library("HttpClient") + .uri(uri) + .procedure("execute") + .inboundHeaders(inboundHeaders) + .build(); + + // Obtain a reference to the method currently being traced + TracedMethod tracedMethod = NewRelic.getAgent().getTracedMethod(); + // Report a call to an external HTTP service + tracedMethod.reportAsExternal(params); + + return response.getStatusLine().getStatusCode(); + } + ``` + + + + Une implémentation de l'interface `Headers` de l&apos;API de l&apos;agent Java est utilisée pour encapsuler l&apos;objet de requête du serveur client, qui dans cet exemple est de type `HttpUriRequest`. La requête est transmise au constructeur de la classe `HeadersWrapper` et les implémentations des méthodes nécessaires sont fournies. + + La méthode `getHeaderType` renvoie une énumération `HeaderType` qui peut être `HeaderType.HTTP` ou `HeaderType.MESSAGE`, comme défini par l&apos;API de l&apos;agent Java. Dans cet exemple, le protocole d&apos;appel externe est HTTP, donc `HeaderType.HTTP` est renvoyé. + + ```java + // Implement Headers interface to create a wrapper for the outgoing Request/incoming Response headers + static class HeadersWrapper implements Headers { + private final HttpMessage delegate; + + public HeadersWrapper(HttpMessage request) { + this.delegate = request; + } + + @Override + public void setHeader(String name, String value) { + delegate.setHeader(name, value); + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getHeader(String name) { + return delegate.getFirstHeader(name).getValue(); + } + + @Override + public Collection getHeaders(String name) { + return Arrays.stream(delegate.getHeaders(name)) + .map(NameValuePair::getValue) + .collect(Collectors.toList()); + } + + @Override + public void addHeader(String name, String value) { + delegate.addHeader(name, value); + } + + @Override + public Collection getHeaderNames() { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .collect(Collectors.toSet()); + } + + @Override + public boolean containsHeader(String name) { + return Arrays.stream(delegate.getAllHeaders()) + .map(NameValuePair::getName) + .anyMatch(headerName -> headerName.equals(name)); + } + } + ``` + + + + Cette méthode crée simplement un exemple de base de données SQLite. L'annotation `@Trace` indique à l&apos;agent de suivre cette méthode dans le cadre d&apos;une transaction existante démarrée par la méthode `serve` . + + ```java + @Trace + public void createDB() { + Connection c = null; + Statement stmt = null; + + try { + Class.forName("org.sqlite.JDBC"); + c = DriverManager.getConnection("jdbc:sqlite:/tmp/test.db"); + System.out.println("Opened database successfully"); + + stmt = c.createStatement(); + + String dropSql = "DROP TABLE IF EXISTS COMPANY;"; + stmt.executeUpdate(dropSql); + + String sql = "CREATE TABLE COMPANY " + + "(ID INT PRIMARY KEY NOT NULL," + + " NAME TEXT NOT NULL, " + + " AGE INT NOT NULL, " + + " ADDRESS CHAR(50), " + + " SALARY REAL)"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (1, 'Paul', 32, 'California', 20000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );"; + stmt.executeUpdate(sql); + + sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );"; + stmt.executeUpdate(sql); + + stmt.close(); + c.close(); + } catch (Exception e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + System.exit(0); + } + } + ``` + +
+ +## Exemple côté serveur [#complete-server] + +Voici le code côté serveur pour cet exemple d'application : + + + + ```java + package com.newrelic.example; + + import java.io.IOException; + import java.net.URISyntaxException; + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.ResultSet; + import java.sql.Statement; + import java.util.Collection; + import java.util.Collections; + + // New Relic API imports + import com.newrelic.api.agent.DatastoreParameters; + import com.newrelic.api.agent.HeaderType; + import com.newrelic.api.agent.Headers; + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + import com.newrelic.api.agent.TracedMethod; + import com.newrelic.api.agent.Transaction; + import com.newrelic.api.agent.TransportType; + + import fi.iki.elonen.NanoHTTPD; + + public class NewRelicApiServer extends NanoHTTPD { + + public NewRelicApiServer() throws IOException, URISyntaxException { + super(8081); + + // Set Dispatcher name and version + NewRelic.setServerInfo("NanoHttp", "2.3.1"); + // Set Appserver port for jvm identification + NewRelic.setAppServerPort(8081); + // Set JVM instance name + NewRelic.setInstanceName("Server"); + + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("\nRunning on http://localhost:8081/ \n"); + } + + public static void main(String[] args) throws URISyntaxException { + try { + new NewRelicApiServer(); + } catch (IOException ioe) { + System.err.println("Unable to start the server:\n" + ioe); + } + } + + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession session) { + // Obtain a reference to the current Transaction + Transaction tx = NewRelic.getAgent().getTransaction(); + // Set the name of the current transaction + NewRelic.setTransactionName("Custom", "ExternalHTTPServer"); + + // Wrap the Request object + Headers req = new HeadersWrapper(session); + + // Set the request for the current transaction and convert it into a web transaction + tx.acceptDistributedTraceHeaders(TransportType.HTTP, req); + + queryDB(); + + return newFixedLengthResponse("

SuccessfulResponse

\n\n"); + } + + // Implement Headers interface to create a wrapper for the outgoing Request/incoming Response headers + static class HeadersWrapper implements Headers { + private final IHTTPSession delegate; + + public HeadersWrapper(IHTTPSession request) { + this.delegate = request; + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getHeader(String name) { + return delegate.getHeaders().get(name); + } + + @Override + public Collection getHeaders(String name) { + return Collections.singletonList(getHeader(name)); + } + + @Override + public void setHeader(String name, String value) { + delegate.getHeaders().put(name, value); + } + + @Override + public void addHeader(String name, String value) { + delegate.getHeaders().put(name, value); + } + + @Override + public Collection getHeaderNames() { + return delegate.getHeaders().keySet(); + } + + @Override + public boolean containsHeader(String name) { + return delegate.getHeaders().containsKey(name); + } + } + + @Trace + public void queryDB() { + Connection c = null; + Statement stmt = null; + try { + Class.forName("org.sqlite.JDBC"); + c = DriverManager.getConnection("jdbc:sqlite:/tmp/test.db"); + c.setAutoCommit(false); + System.out.println("Opened database successfully"); + + stmt = c.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;"); + while (rs.next()) { + int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary"); + System.out.println("ID = " + id); + System.out.println("NAME = " + name); + System.out.println("AGE = " + age); + System.out.println("ADDRESS = " + address); + System.out.println("SALARY = " + salary); + System.out.println(); + } + rs.close(); + stmt.close(); + c.close(); + } catch (Exception e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + System.exit(0); + } + // Obtain a reference to the method currently being traced + TracedMethod method = NewRelic.getAgent().getTracedMethod(); + + // Create a DatastoreParameters object and report a call to an external datastore service + method.reportAsExternal( + DatastoreParameters + .product("sqlite") + .collection("test.db") + .operation("select") + .instance("localhost", 8080) + .databaseName("test.db") + .build()); + } + } + ``` +
+
+ +Voici le même exemple de code serveur divisé en sections qui décrivent comment l'API est utilisée : + + + + Cette section présente les agent Java API importations pertinentes nécessaires pour ajouter le traçage distribué et la création de rapports sur les datastore appels externes à l'application serveur. + + ```java + import java.io.IOException; + import java.net.URISyntaxException; + import java.sql.Connection; + import java.sql.DriverManager; + import java.sql.ResultSet; + import java.sql.Statement; + import java.util.Collection; + import java.util.Collections; + + // New Relic API imports + import com.newrelic.api.agent.DatastoreParameters; + import com.newrelic.api.agent.HeaderType; + import com.newrelic.api.agent.Headers; + import com.newrelic.api.agent.NewRelic; + import com.newrelic.api.agent.Trace; + import com.newrelic.api.agent.TracedMethod; + import com.newrelic.api.agent.Transaction; + import com.newrelic.api.agent.TransportType; + + import fi.iki.elonen.NanoHTTPD; + ``` + + + + Cette section démarre le serveur sur le port 8081 et utilise la classe `NewRelic` de l&apos;API pour appeler les méthodes `setServerInfo`, `setAppServerPort` et `setInstanceName`. Ces appels d&apos;API affectent ce qui est affiché dans l&apos;UI APM. + + ```java + public NewRelicApiServer() throws IOException, URISyntaxException { + super(8081); + + // Set Dispatcher name and version + NewRelic.setServerInfo("NanoHttp", "2.3.1"); + // Set Appserver port for jvm identification + NewRelic.setAppServerPort(8081); + // Set JVM instance name + NewRelic.setInstanceName("Server"); + + start(NanoHTTPD.SOCKET_READ_TIMEOUT, false); + System.out.println("\nRunning on http://localhost:8081/ \n"); + } + + public static void main(String[] args) throws URISyntaxException { + try { + new NewRelicApiServer(); + } catch (IOException ioe) { + System.err.println("Unable to start the server:\n" + ioe); + } + } + ``` + + + + L'annotation `@Trace(dispatcher = true)` indique à l&apos;agent de démarrer une nouvelle transaction lorsque la méthode `serve` est appelée si elle n&apos;est pas appelée dans le cadre d&apos;une transaction existante (ce qui n&apos;est pas le cas dans ce cas). S&apos;il était appelé dans le cadre d&apos;une transaction existante, il serait simplement inclus dans cette transaction plutôt que d&apos;en démarrer une nouvelle. + + Une référence au `Transaction` actuel est obtenue via un appel à `getTransaction` et le nom de la transaction est défini via un appel à la méthode `setTransactionName` . + + L'objet de requête, qui dans cet exemple est de type `IHTTPSession`, est ensuite encapsulé à l&apos;aide d&apos;une classe étendant la classe `Headers` de l&apos;API de l&apos;agent Java. Le `Transaction` actuel est ensuite lié à la trace parent via un appel à `setWebRequest` qui prend le `ExtendedRequest` encapsulé comme argument. + + Un appel à la base de données est ensuite effectué et l’objet de réponse est renvoyé. + + ```java + @Trace(dispatcher = true) + @Override + public Response serve(IHTTPSession session) { + // Obtain a reference to the current Transaction + Transaction tx = NewRelic.getAgent().getTransaction(); + // Set the name of the current transaction + NewRelic.setTransactionName("Custom", "ExternalHTTPServer"); + + // Wrap the Request object + Headers req = new HeadersWrapper(session); + + // Set the request for the current transaction and convert it into a web transaction + tx.acceptDistributedTraceHeaders(TransportType.HTTP, req); + + queryDB(); + + return newFixedLengthResponse("

SuccessfulResponse

\n\n"); + } + ``` +
+ + + Une autre implémentation de la classe `Headers` de l&apos;API de l&apos;agent Java est utilisée pour encapsuler l&apos;objet de requête du serveur, qui dans cet exemple est de type `IHTTPSession`. La requête est transmise au constructeur de la classe `HeadersWrapper`, qui fournit des implémentations des méthodes `getRequestURI`, `getHeader`, `getRemoteUser`, `getParameterNames`, `getParameterValues`, `getAttribute`, `getCookieValue`, `getHeaderType` et `getMethod` . + + La méthode `getHeaderType` renvoie une énumération `HeaderType` qui peut être `HeaderType.HTTP` ou `HeaderType.MESSAGE`, comme défini par l&apos;API de l&apos;agent Java. Dans cet exemple, le protocole d&apos;appel externe est HTTP, donc `HeaderType.HTTP` est renvoyé. + + ```java + // Implement Headers interface to create a wrapper for the outgoing Request/incoming Response headers + static class HeadersWrapper implements Headers { + private final IHTTPSession delegate; + + public HeadersWrapper(IHTTPSession request) { + this.delegate = request; + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.HTTP; + } + + @Override + public String getHeader(String name) { + return delegate.getHeaders().get(name); + } + + @Override + public Collection getHeaders(String name) { + return Collections.singletonList(getHeader(name)); + } + + @Override + public void setHeader(String name, String value) { + delegate.getHeaders().put(name, value); + } + + @Override + public void addHeader(String name, String value) { + delegate.getHeaders().put(name, value); + } + + @Override + public Collection getHeaderNames() { + return delegate.getHeaders().keySet(); + } + + @Override + public boolean containsHeader(String name) { + return delegate.getHeaders().containsKey(name); + } + } + ``` + + + + Cette méthode effectue un appel externe à la base de données SQLite créée par le client. L'annotation `@Trace` indique à l&apos;agent de suivre cette méthode dans le cadre d&apos;une transaction existante démarrée par la méthode `serve` . + + Une référence au `TracedMethod` actuel est obtenue via un appel à `getTracedMethod`. Un objet `DatastoreParameters` est ensuite créé à l’aide du modèle de construction. L&apos;objet `ExternalParameters` est ensuite passé en tant qu&apos;argument à la méthode `reportAsExternal`, ce qui a pour effet de signaler le `TracedMethod` comme un appel datastore externe. + + ```java + @Trace + public void queryDB() { + Connection c = null; + Statement stmt = null; + try { + Class.forName("org.sqlite.JDBC"); + c = DriverManager.getConnection("jdbc:sqlite:/tmp/test.db"); + c.setAutoCommit(false); + System.out.println("Opened database successfully"); + + stmt = c.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;"); + while (rs.next()) { + int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary"); + System.out.println("ID = " + id); + System.out.println("NAME = " + name); + System.out.println("AGE = " + age); + System.out.println("ADDRESS = " + address); + System.out.println("SALARY = " + salary); + System.out.println(); + } + rs.close(); + stmt.close(); + c.close(); + } catch (Exception e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + System.exit(0); + } + // Obtain a reference to the method currently being traced + TracedMethod method = NewRelic.getAgent().getTracedMethod(); + + // Create a DatastoreParameters object and report a call to an external datastore service + method.reportAsExternal( + DatastoreParameters + .product("sqlite") + .collection("test.db") + .operation("select") + .instance("localhost", 8080) + .databaseName("test.db") + .build()); + } + ``` + +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint.mdx new file mode 100644 index 00000000000..6cc6306eb7e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint.mdx @@ -0,0 +1,87 @@ +--- +title: "API d'agent Java\_: regroupement d'erreurs avec une implémentation de rappel personnalisée" +tags: + - Agents + - Java agent + - API guides +metaDescription: A guide on using the New Relic Java agent API for error grouping with a custom callback implementation. +freshnessValidatedDate: never +translationType: machine +--- + +L'API de l'agent Java New Relic vous permet de configurer un regroupement d'erreurs personnalisé à l'aide d'une implémentation de rappel personnalisée dans votre application Java. Ce document montre un exemple d’utilisation du regroupement d’erreurs personnalisé avec une implémentation de rappel dans un exemple d’application. + + + Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous de disposer de la [dernière version agent Java ](/docs/release-notes/agent-release-notes/java-release-notes). + + +## Exemple : implémentation d'un rappel de regroupement d'erreurs personnalisé [#example] + +Vous trouverez ci-dessous un exemple d'application utilisant l'API de l'agent Java pour implémenter un regroupement d'erreurs personnalisé avec un rappel et enregistrer le rappel. + + + Si vous copiez et collez un exemple de code, assurez-vous d'utiliser un espacement approprié sur votre ligne de commande. + + +````java + +package test; +import java.io.IOException; +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.newrelic.api.agent.ErrorGroupCallback; +import com.newrelic.api.agent.NewRelic; + +public class MyServletContextListener implements ServletContextListener { + +@Override +public void contextDestroyed(ServletContextEvent arg0) { +// Do any cleanup if needed + } + +@Override +public void contextInitialized(ServletContextEvent arg0) { +// Register the error grouping callback on application startup +NewRelic.setErrorGroupCallback(new MyErrorGrouper()); + } +} + +public class MyErrorGrouper implements ErrorGroupCallback { + +public String generateGroupingString(ErrorData errorData) { +String clazz = errorData.getErrorClass(); +String txnName = errorData.getTransactionName(); + +return (clazz.isEmpty() || txnName.isEmpty()) ? null : clazz + "_" + txnName; + } +} + +public class TestServlet extends HttpServlet { + +private static final long serialVersionUID = 1L; + +protected void processRequest(HttpServletRequest req, HttpServletResponse resp) +throws ServletException, IOException { +// Simulate an exception + throw new ServletException("Simulated ServletException"); + } + +@Override +protected void doGet(HttpServletRequest req, HttpServletResponse resp) +throws ServletException, IOException { + processRequest(req, resp); + } + +@Override +protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + processRequest(req, resp); + } +} +``` +```` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/disable-scala-netty-akka-play-2-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/disable-scala-netty-akka-play-2-instrumentation.mdx new file mode 100644 index 00000000000..fec5e1e6159 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/disable-scala-netty-akka-play-2-instrumentation.mdx @@ -0,0 +1,103 @@ +--- +title: 'Désactiver l''instrumentation Scala, Netty, Akka et Play 2' +tags: + - Agents + - Java agent + - Async instrumentation +metaDescription: 'This document describes how to disable Java agent instrumentation on Scala, Netty, Akka, and Play2 frameworks' +freshnessValidatedDate: never +translationType: machine +--- + +Ce document décrit comment désactiver Java instrumentation d'agent sur ces frameworks asynchrones populaires : + +* Scala +* Netty +* Akka +* Play 2 + +Vous pouvez choisir de désactiver une partie ou la totalité de cette instrumentation si vous constatez que les mesures rapportées ne vous sont pas utiles ou si l'instrumentation entraîne plus de frais généraux que vous ne le souhaiteriez. Si vous désactivez de manière sélective une partie de l'instrumentation, certains segments d'activité ne seront pas signalés et votre temps total sera sous-estimé. + +## Versions d'agent Java 3.21 ou inférieures [#versions-3-22-or-lower] + +Si vous utilisez l'agent Java version 3.22 ou inférieure, ajoutez ce qui suit à la section `class_transformer` de vos paramètres **newrelic.yml** : + +```yml +# This section is for settings common to all environments. +# Do not add anything above this next line. +common: &default_settings + + class_transformer: + akka_instrumentation: + enabled: false + netty_instrumenation: + enabled: false + play2_instrumentation: + enabled: false + scala_instrumentation: + enabled: false +``` + +## Versions d'agent Java 3.22 ou supérieures [#versions-3-23-or-higher] + +Les anciens noms des frameworks de configuration d'instrumentation Scala, Netty, Akka et Play 2 sont obsolètes dans l'agent Java version 3.22 . Si vous utilisez l'agent Java 3.22 ou supérieur, ajoutez ce qui suit à la section `class_transformer` de vos paramètres **newrelic.yml** : + +```yml +common: &default_settings + + class_transformer: + # Disable all Akka instrumentations + com.newrelic.instrumentation.akka-2.0: + enabled: false + com.newrelic.instrumentation.akka-2.1: + enabled: false + # Disabling 2.2 also disables higher versions + com.newrelic.instrumentation.akka-2.2: + enabled: false + + # Disable all Netty instrumentations + com.newrelic.instrumentation.netty-3.4: + enabled: false + com.newrelic.instrumentation.netty-3.8: + enabled: false + com.newrelic.instrumentation.netty-4.0.0: + enabled: false + com.newrelic.instrumentation.netty-4.0.8: + enabled: false + + # Disable all Play 2 instrumentations + com.newrelic.instrumentation.play-2.1: + enabled: false + com.newrelic.instrumentation.play-2.2: + enabled: false + com.newrelic.instrumentation.play-2.3: + enabled: false + # New in Release 3.22, the Play 2.4 instrumentation does not respect + # the older play2_instrumentation configuration setting + com.newrelic.instrumentation.play-2.4: + enabled: false + + # Disable all Scala-language instrumentations + com.newrelic.instrumentation.scala-2.9.3: + enabled: false +``` + +Les noms instrumentation antérieurs à la version 3.22 seront respectés pendant un certain temps, mais ils seront supprimés lors des prochaines sorties. Si elle est désactivée par l'ancienne ou la nouvelle configuration d'instrumentation, l'instrumentation sera désactivée. + +## Rechercher les paramètres de configuration obsolètes [#check-deprecated-settings] + +Toute utilisation des noms instrumentation antérieurs à la version 3.22 sera enregistrée avec des messages similaires à : + +``` +INFO: Using deprecated configuration setting akka_instrumentation for instrumentation com.newrelic.instrumentation.akka-2.2 +``` + +OU + +``` +INFO: The configuration setting akka_instrumentation is deprecated, please update the class_transformer config to use com.newrelic.instrumentation.akka-2.2 instead +``` + +L'utilisation des paramètres obsolètes n'indique pas que l'instrumentation obsolète a été chargée ou est en cours d'utilisation. Ces messages indiquent à l'utilisateur qu'il est temps de mettre à jour vos paramètres de configuration. + +Play 2.4 ne respecte pas les anciens paramètres de configuration `play2_instrumentation`, car il s&apos;agit d&apos;une nouvelle instrumentation. Dans tous les cas, si vous utilisez agent Java version 3.22 ou supérieure, vous devez utiliser les nouveaux instrumentation noms pour les frameworks Scala Netty, Akka, et Play 2 dans leur newrelic.yml. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/introduction-java-async-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/introduction-java-async-instrumentation.mdx new file mode 100644 index 00000000000..7b1692cae46 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/introduction-java-async-instrumentation.mdx @@ -0,0 +1,58 @@ +--- +title: Introduction à l'instrumentation asynchrone Java +tags: + - Agents + - Java agent + - Async instrumentation +metaDescription: 'An explanation of what asynchronous application activity is, and how it impacts New Relic performance monitoring of Java applications.' +freshnessValidatedDate: never +translationType: machine +--- + +[New Relic pour Java](/docs/agents/java-agent/getting-started/introduction-new-relic-java) inclut un [ensemble de méthodes API](/docs/agents/java-agent/java-agent-api/java-agent-api-asynchronous-applications) pour l&apos;instrumentation personnalisée de l&apos;activité asynchrone. Ceci est particulièrement utile pour instrumenter l&apos;activité asynchrone dans [un framework non pris en charge](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent#frameworks), mais vous pouvez également utiliser l&apos;API pour ajouter instrumentation au framework pris en charge. Ce document explique comment l&apos;activité asynchrone se produit et comment fonctionne le moniteur asynchrone New Relic . + +## opérations asynchrones [#h2\_asynchronous\_basics][#h2_asynchronous_basics] + +Avec un modèle de programmation **synchronous**, les tâches de programmation sont généralement exécutées dans un ordre spécifique. Une tâche doit être terminée avant que la tâche suivante ne commence, et chaque tâche empêche la tâche suivante de se terminer. + +**Asynchronous** la programmation utilise un modèle non bloquant, de sorte que les tâches peuvent être exécutées en parallèle. Les tâches exécutées de manière asynchrone sont complètement indépendantes les unes des autres dans leur exécution et leur initialisation. Étant donné que le code asynchrone ne s&apos;exécute pas dans un ordre spécifique, toute la puissance de traitement du serveur peut être utilisée plus efficacement et le débit de l&apos;application augmente. + +## Asynchrone et commutation de thread [#thread\_switching][#thread_switching] + +Pour les applications qui utilisent le traitement asynchrone, **thread-switching** correspond au moment où un programme ou une tâche passe d&apos;un thread à un autre. Comprendre ces entrelacements asynchrones peut vous aider à décider quelles méthodes doivent être instrumentées. + +Voici un exemple de méthode avec un contrôleur qui effectue requests externes en parallèle. Ces requests s'exécutent de manière asynchrone, de sorte que chaque requête s'exécute indépendamment des autres et `getScoreAsync()` revient immédiatement après avoir été appelée. Cela permet au thread demandeur de continuer à faire requests pendant que `getScoreAsync()` effectue un appel externe et envoie une réponse. + +```java +@ResponseBody +@RequestMapping("getScores", method = RequestMethod.Get + produces = "text/plain") +public String getCreditScores(@RequestParam(name = "uids") uids) { + return Arrays.stream(uids.split(",")) + .parallel() + .map(Integer::valueOf) + .map(uid -> getScoreAsync(uid)) + .collect(Collectors.toList());} +``` + +Certaines de ces requests seront traitées avant d’autres. Certains pourraient même terminer après que le thread demandeur soit passé à d’autres tâches : + +async diagram + +Dans l'UI , sur la vue en cascade des détails trace, l&apos;UI affiche l&apos;activité asynchrone comme se chevauchant sur l&apos;axe x horizontal. + +## Asynchrone et temps de réponse [#response\_time][#response_time] + +**Response time** est défini comme la durée d&apos;une transaction du point de vue du demandeur. Pour les applications asynchrones, le temps de réponse est souvent inférieur au temps total de transaction. C&apos;est parce que les méthodes n&apos;ont pas besoin d&apos;attendre que toutes les méthodes précédentes soient terminées avant de revenir. Étant donné que les tâches peuvent être différées, l’application peut tirer parti de ses ressources limitées et traiter les choses plus rapidement. + +La ligne de temps de réponse du graphique vous donne plus d'informations détaillées sur le comportement perçu et la vitesse de votre application que le temps total de transaction Web : + +web_transaction_overview.png + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Summary**: Sur la page APM **Summary**, l&apos;activité asynchrone dans une application Java peut entraîner un temps de réponse (la ligne bleue) inférieur au temps de transaction total. C&apos;est parce que les méthodes n&apos;ont pas besoin d&apos;attendre que toutes les méthodes précédentes soient terminées avant de revenir. +
+ +## instrumentation personnalisée avec l'APIasync [#async-api] + +Pour implémenter l’instrumentation personnalisée du travail asynchrone, consultez le [guide de l’API asynchrone de l’agent Java](/docs/agents/java-agent/java-agent-api/java-agent-asynchronous-api-guide). Pour obtenir des informations générales sur l’utilisation de l’API de l’agent Java, consultez [le guide de l’API de l’agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api-guide). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications.mdx new file mode 100644 index 00000000000..10e6ec5f523 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications.mdx @@ -0,0 +1,165 @@ +--- +title: agent Java API pour les applications asynchrones +tags: + - Agents + - Java agent + - Async instrumentation +metaDescription: How to use the New Relic for Java API to instrument asynchronous application activity. +freshnessValidatedDate: never +translationType: machine +--- + +[New Relic pour Java](/docs/agents/java-agent/getting-started/introduction-new-relic-java) (version agent [3.37](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-3370) ou supérieure) inclut une API pour instrumenter l&apos;activité asynchrone. Pour [les frameworks pris en charge](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent), l&apos;agent effectue généralement un travail asynchrone automatiquement. Cependant, l&apos;API asynchrone peut toujours être utile pour ajouter des détails. Ce document fournit des exemples d&apos;utilisation de jeton et de segments pour instrumenter votre application. + +* Pour plus d'informations sur la manière dont l'instrument New Relic et l'affichage asynchrone fonctionnent dans l'UI , consultez [les considérations de monitoring pour l'application asynchrone](/docs/agents/java-agent/instrumentation/asynchronous-applications-monitoring-considerations). +* Pour plus de détails sur les classes et méthodes réelles, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html). +* Pour obtenir des informations générales sur l'API de l'agent Java, consultez le [guide de l'API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api-guide). +* Pour les problèmes courants de dépannage, voir [Dépannage Java asynchrone application](/docs/agents/java-agent/java-agent-api/troubleshooting-java-asynchronous-applications). + +## Outils de suivi asynchrone : jeton et segments [#tokens\_segments][#tokens_segments] + +L'agent Java API fournit deux manières de trace l'activité asynchrone : + +* **[Tokens](#tokens)**: les jetons sont transmis entre les threads pour lier l&apos;unité de travail asynchrone à une transaction spécifique. Ils n&apos;effectuent aucun chronométrage directement. +* **[Segments](#segments)**: Les segments sont utilisés pour mesurer un morceau arbitraire de code d&apos;application asynchrone, pas nécessairement associé à une méthode ou à un thread. Les segments sont généralement utilisés pour suivre les appels externes qui sont terminés par un mécanisme de rappel. + +## jeton : Connecter des threads asynchrones [#tokens] + +Utilisez jeton pour lier des unités de travail arbitraires qui se trouvent sur des threads séparés. Cette section décrit comment utiliser les appels liés à jeton ensemble pour instrumenter le travail asynchrone. Pour des informations détaillées sur les classes et les méthodes, consultez la Javadoc. + +Pour utiliser jeton, vous devez d’abord créer le jeton, puis lier un autre appel à la transaction d’origine. Vous devez lier le jeton dès que possible dans l’autre appel. Si vous ne liez pas le jeton immédiatement, vous risquez de perdre toutes les méthodes contenant un `@Trace` sous l&apos;appel que vous essayez de lier. Vous pouvez également faire expirer le jeton dans l’appel d’origine. L&apos;agent Java va ensuite lier le travail dans l&apos;UI de New Relic. Ces exemples illustrent comment utiliser ensemble les appels liés à jeton : + + + + Considérez la méthode `parallelStream()` dans l’ snippet de code ci-dessous. Étant donné que certains des appels à `requestItemAsync()` se produiront sur un thread distinct, un jeton est créé et transmis pour relier ce travail asynchrone au thread demandeur. + + ```java + /** + * Example showing multi-threaded implementation of requesting data using a parallel {@link Stream}. + */ + @RequestMapping("parallel_stream") + @Trace(dispatcher = true) // starts a transaction + public ResponseEntity parallelStream(@RequestParam("ids") List ids) { + final Token token = NewRelic.getAgent().getTransaction().getToken(); + List results = ids + .parallelStream() + .map(id -> requestItemAsync(id, token)) // requestItemAsync represents an example of work being passed to another thread. The token is passed along to allow linking the work on the new thread back to the thread that the token was originally created on. + .filter(item -> item != null) + .collect(Collectors.toList()); + token.expire(); + return formattedResponse("parallel_stream", results); + } + ``` + + Les API d'appelsagent dans cet exemple sont : + + * `@Trace(dispatcher = true)`: Indique à l&apos;agent de démarrer une transaction. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Trace.html). + * `getToken()`: Crée le jeton qui reliera les œuvres entre elles. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Transaction.html#getToken\(\)). + * `token.expire()`: Le jeton expire. Cela permet à la transaction de se terminer. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Token.html#expire\(\)). + + + + L'exemple de code suivant montre `requestItemAsync`, qui peut s&apos;exécuter sur un thread distinct du thread demandeur. Pour cette raison, le jeton qui a été créé dans l&apos;exemple de code précédent est lié à la transaction dans `requestItemAsync`. Notez que `requestItemAsync()` possède l&apos;annotation `@Trace(async=true)`, qui indique à l&apos;agent de trace cette méthode si elle est liée à une transaction existante. + + Une fois que `parallelStream()` a collecté tous les résultats, le jeton a expiré. Ceci est important car cela garantit que la transaction ne reste pas ouverte après la fin de `parallelStream()` . + + ```java + @Trace(async = true) + private Item requestItemAsync(long id, Token token) { + token.link(); + return requestItem(id); + } + ``` + + Les API d'appelsagent dans cet exemple sont : + + * `@Trace(async = true)`: Démarre une transaction. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Trace.html). + * `token.link()`: Lie le travail effectué dans `requestItemAsync()` (qui s&apos;exécute sur un thread différent) au thread demandeur. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Token.html#link\(\)). + + + + Pour afficher les détails de trace de la transaction, accédez à : **[one.newrelic.com](https://one.newrelic.com) APM &amp; services &gt; (select an app) &gt; Transactions &gt; Transaction trace &gt; Trace details**. + + L'activité asynchrone est représentée dans la vue en cascade trace par des segments qui se chevauchent horizontalement, dans la dimension temporelle. + + Il n'est pas nécessaire de lier les méthodes qui se trouvent sur le même thread, mais cela n'aura aucun effet négatif. Il arrive souvent qu'un seul jeton puisse être partagé, comme dans l'exemple `parallelStream()` . + + + + + Par défaut, une transaction peut créer un maximum de 3000 jetons et chaque jeton a un délai d'expiration par défaut de 180 s. Vous pouvez modifier l'ancienne limite avec l'option de configuration `token_limit` et la seconde avec l&apos;option de configuration [`token_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-token_timeout) . la trace des transactions qui dépassent le `token_limit` contiendra un attribut `token_clamp` . L’augmentation de l’une ou l’autre des options de configuration peut augmenter l’utilisation de la mémoire de l’agent. + + +## Segments : activité asynchrone arbitraire dans le temps [#segments] + +Les segments sont utilisés pour mesurer un morceau arbitraire de code d'application asynchrone, pas nécessairement associé à une méthode ou à un thread. Cette méthode est généralement utilisée pour chronométrer les connexions à des services externes. Utilisez des segments si vous souhaitez : + +* Code temporel qui se termine via un rappel +* Chronométrer un appel asynchrone qui s'étend sur plusieurs méthodes +* Mesurer le temps entre le moment où le travail est créé et celui où il est exécuté (par exemple, dans un pool de threads) + + + + La méthode ci-dessous effectue un appel à un service externe (dans ce cas une base de données) en utilisant la méthode `storeItem()`: + + ```java + /** + * Example showing single threaded implementation of inserting data into a datasource. + */ + @RequestMapping("insert") + @Trace(dispatcher = true) //starts a transaction + public ResponseEntity insert(@RequestParam("id") Long id) { + if (id != null) { + storeItem(id); + return new ResponseEntity<>("insert", HttpStatus.OK); + } else { + return new ResponseEntity<>("insert", HttpStatus.BAD_REQUEST); + } + } + ``` + + L'objectif dans ce cas est de déterminer combien de temps le `Callable` dans l&apos;instruction Lambda attend dans le pool de threads avant de s&apos;exécuter, plutôt que de déterminer combien de temps `storeItem()` s&apos;exécute. Pour cette raison, un segment est utilisé à la place d&apos;un jeton, et `@Trace(async = true)` n&apos;est pas nécessaire comme c&apos;était le cas pour un jeton. + + L'API d'appelagent dans cet exemple est : + + * `@Trace(dispatcher = true)`: Démarre une transaction. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Trace.html). + + + + L'exemple de code suivant montre un segment commençant par la méthode `storeItem` pour mesurer la durée d&apos;attente de l&apos;instruction Lambda dans le pool de threads. Pour arrêter le chronométrage du segment, vous devez appeler `.end()` ou `.ignore()`. Si vous **don't** souhaitez signaler le segment dans le cadre de sa transaction parent, appelez `.ignore()`. Sinon, pour signaler le segment comme faisant partie de sa transaction parent, appelez `.end()`. + + ```java + private void storeItem(long id) { + Segment segment = NewRelic.getAgent().getTransaction().startSegment("storeItem"); + + segment.reportAsExternal(DatastoreParameters + .product("H2") + .collection(null) + .operation("insert") + .instance("localhost", 8080) + .databaseName("test") + .build()); + + // fire and forget + DB_POOL.submit(() -> { + segment.end(); + insertData(id); + }); + } + ``` + + Les API d'appelsagent dans cet exemple sont : + + * `startSegment(...)`: Commence le segment qui chronométrera le code. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Segment.html). + * `reportAsExternal(DatastoreParameters())`: Associe l&apos;heure à un appel externe datastore Cela s&apos;affichera dans APM avec [les donnéesdatastore ](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues). Pour plus d&apos;informations, consultez [l'API reportAsExternal](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/TracedMethod.html). + * `segment.end()`: Arrête le chronométrage de ce segment. Pour en savoir plus sur cette méthode, consultez la [Javadoc](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/Segment.html#end\(\)). + + + + Une fois la méthode terminée, APM affiche une trace de transaction avec un appel externe. + + + + + Par défaut, l'agent peut suivre un maximum de 1000 segments au cours d'une transaction donnée. Vous pouvez modifier cette limite avec l'option de configuration [`segment_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-segment_timeout) . la trace des transactions qui dépassent cette limite contiendra un attribut `segment_clamp` . L’augmentation de cette limite peut augmenter l’utilisation de la mémoire de l’agent. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/troubleshoot-java-asynchronous-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/troubleshoot-java-asynchronous-instrumentation.mdx new file mode 100644 index 00000000000..6b62491d0e9 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/async-instrumentation/troubleshoot-java-asynchronous-instrumentation.mdx @@ -0,0 +1,118 @@ +--- +title: Dépannage de l'instrumentation asynchrone Java +tags: + - Agents + - Java agent + - Async instrumentation +metaDescription: 'Log your Java async work, and troubleshoot common issues with Java async instrumentation.' +freshnessValidatedDate: never +translationType: machine +--- + +Si vous rencontrez [agent Java API des problèmes lors de l'utilisation de l'pour les jetons et segments asynchrones](/docs/agents/java-agent/java-agent-api/java-agent-api-asynchronous-applications), utilisez ces techniques pour vous aider à trouver des réponses et à résoudre les problèmes. + +## Vérifiez votre instrumentation [#verify-instrumentation] + +L'API dispose d'un certain nombre de mécanismes de sécurité intégrés pour éviter les problèmes causés par une utilisation incorrecte de l'API, mais vous pouvez utiliser ces techniques pour vérifier que l'instrumentation de votre application est correcte : + +* Après avoir instrumenté votre code, vérifiez que le log indique qu'un nombre égal de jetons ont été créés et expirés. Pour plus d'informations sur le message de log à rechercher, voir [Utiliser le log pour résoudre les problèmes](#log-async). +* Vérifiez les statistiques de collecte des déchets sous [la page**JVMs** ](/docs/agents/java-agent/features/jvm-metrics-page)d&apos;APM pour déterminer si vos modifications ont ou non considérablement modifié les modèles de collecte des déchets. +* Vérifiez si des segments ou des jetons expirent en examinant votre [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) pour un attribut `timed_out` . Si tel est le cas, vous pouvez modifier la limite avec [`token_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-token_timeout) et [`segment_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-segment_timeout). + +## Utiliser le log pour résoudre les problèmes [#log-async] + +Pour personnaliser le logging de votre agent Java, voir [Génération du](/docs/agents/java-agent/troubleshooting/generating-logs-troubleshooting-java) log . Ensuite, vous pouvez examiner votre log pour rechercher ces messages courants : + +* Pour afficher le jeton créé, consultez le log à `FINEST` pour : + + ``` + Transaction com.newrelic.agent.Transaction@5a7cc8e: created active token com.newrelic.agent.TokenImpl@7db8d0e8 + ``` + +* Pour afficher les jetons expirés et l'heure à laquelle ils ont expiré, consultez le log à `FINEST` pour : + + ``` + Transaction com.newrelic.agent.Transaction@5a7cc8e: expired token com.newrelic.agent.TokenImpl@7db8d0e8 + ``` + +* Pour afficher les segments créés, consultez le log à `FINEST` pour : + + ``` + Transaction com.newrelic.agent.Transaction@486b7f04: startSegment(): com.newrelic.agent.Segment@2b7fdad3 created and started with tracer com.newrelic.agent.tracers.OtherRootTracer@4df4a953 + ``` + +* Pour afficher les segments terminés et l’heure à laquelle ils se sont terminés, consultez le log à `FINEST` pour : + + ``` + com.newrelic.agent.Transaction@486b7f04--finish segment(): com.newrelic.agent.Segment@2b7fdad3 async finish with tracer com.newrelic.agent.tracers.OtherRootTracer@4df4a953 + ``` + +## Problème : les délais de transaction sont trop longs [#problem-long-txns] + +Assurez-vous d'expirer le jeton et de terminer ou d'ignorer les segments ; sinon, les transactions peuvent prendre plus de temps à être signalées à New Relic. L'agent Java dispose d'un mécanisme de timeout pour les jetons et les segments qui ne se terminent pas correctement. Pour plus d'informations, voir [`token_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-token_timeout) et [`segment_timeout`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-segment_timeout). + +## Problème : Aucune trace des données de transaction [#problem-no-traces] + +Inspectez la trace de la transaction pour vous assurer que le travail asynchrone attendu est signalé. Si vous ne voyez aucune trace de transaction, assurez-vous que la durée de votre transaction dépasse le seuil de trace de transaction défini dans [`transaction_threshold`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#tt-transaction_threshold). + +## Problème : trop peu d'appels asynchrones [#problem-too-few-calls] + +Si trop peu d’appels sont signalés : + + + + Dans l'exemple défectueux ci-dessous, un flux parallèle est utilisé, ce qui signifie que le travail effectué à l'intérieur du lambda dans l'appel à `map()` peut être planifié sur un thread différent de celui qui gère la demande. Sans [créer un jeton](/docs/agents/java-agent/java-agent-api/java-agent-api-asynchronous-applications#tokens) pour lier tout ce travail ensemble, vous ne verrez aucun des travaux planifiés sur un thread différent à l&apos;intérieur de votre transaction. + + ```java + @RequestMapping("parallel_stream_bad") + @Trace(dispatcher = true) + public ResponseEntity parallelStreamBad(@RequestParam("ids") List ids) { + List results = ids + .parallelStream() + .map(i -> requestItem(i)) + .filter(item -> item != null) + .collect(Collectors.toList()); + return formattedResponse("parallel_stream_bad", results); + } + ``` + + + + L'exemple ci-dessous ne signalera qu'un sous-ensemble des appels à `requestItem()` car il est impossible de placer `@Trace(async = true)` autour des blocs de travail anonymes à l&apos;intérieur de l&apos;appel à `map()`. Au lieu de cela, vous devez passer le jeton dans `requestItem()` et le lier, puis ajouter `@Trace(async=true)` autour de lui. Ou utilisez une fonction d&apos;assistance comme `requestItemAsync()` pour faire cela sans modifier vos méthodes existantes. + + ```java + @RequestMapping("parallel_stream_bad2") + @Trace(dispatcher = true) + public ResponseEntity parallelStreamBad2(@RequestParam("ids") List ids) { + final Token token = NewRelic.getAgent().getTransaction().getToken(); + List results = ids + .parallelStream() + .map(id -> { + token.link(); + return requestItem(id); + }) + .filter(item -> item != null) + .collect(Collectors.toList()); + return formattedResponse("parallel_stream_bad2", results); + } + ``` + + Comparez ceci à l’exemple correct ci-dessous, dans lequel l’expression lambda est encapsulée par la classe wrapper `InstrumentedCallable`. Cette classe accepte un jeton et un lambda, puis encapsule le travail asynchrone dans `@Trace(async = true)` et utilise un jeton pour lier le travail au thread de demande. + + ```java + @RequestMapping("parallel_stream_wrap") + @Trace(dispatcher = true) + public ResponseEntity parallelStreamWrap(@RequestParam("ids") List ids) { + final Token token = NewRelic.getAgent().getTransaction().getToken(); + List results = ids + .parallelStream() + .map(id -> InstrumentedCallable.instrumentCallable(token, () -> requestItem(id))) + .map(c -> c.call()) + .filter(item -> item != null) + .collect(Collectors.toList()); + token.expire(); + return formattedResponse("parallel_stream_wrap", results); + } + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/attributes/java-agent-attributes.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/attributes/java-agent-attributes.mdx new file mode 100644 index 00000000000..f09a374b334 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/attributes/java-agent-attributes.mdx @@ -0,0 +1,832 @@ +--- +title: agent Java attribut +tags: + - Agents + - Java agent + - Attributes +metaDescription: 'How to include and exclude specific attributes for your New Relic Java agent, including properties and rules.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic Les [attributs sont des paires valeur/clé contenant des informations qui déterminent les propriétés d'un événement ou d'une transaction.](/docs/features/agent-attributes) Ces paires valeur-clé peuvent vous aider à obtenir des informations plus détaillées sur votre application et à annoter les données lorsque [vous les interrogez](/docs/query-your-data/explore-query-data/explore-data/introduction-querying-new-relic-data). Vous pouvez également [transmettre automatiquement les informations utilisateur à New Relic](#). + +Les attributs par défaut et [personnalisés](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes) sont visibles dans trace de transaction, traces distribuées et analyse des erreurs ; [APM événement](/docs/insights/explore-data/attributes/apm-default-attributes-insights) et [navigateur événement](/docs/insights/explore-data/attributes/browser-default-attributes-insights#browser-attributes-table) dans [le dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards). Vous pouvez personnaliser exactement quel attribut sera envoyé à chacune de ces destinations. + +Ce document décrit les attributs d'agent Java, détaille comment activer ou désactiver l'attribut et décrit les règles que l'suit agent pour déterminer quel attribut inclure ou exclure pour une [destination](/docs/features/agent-attributes#destinations). + + + Ces paramètres d'attribut s'appliquent à la version 3.7.0 ou supérieure de l'agent Java. Si vous utilisez une ancienne version de l'agent, consultez [legacy Mettre à jour des configuration](/docs/agents/java-agent/troubleshooting/update-legacy-attribute-configuration) attributs . + + +## Attribut spécifique à Java [#attributes] + +En plus de l'[attribut APM par défaut](/docs/insights/new-relic-insights/decorating-events/apm-default-attributes-insights#transaction-defaults), l&apos;agent Java collecte les attributs à partir de ces sources : + + + + Le code d'état de réponse pour une requête Web. La clé de cet attribut est `http.statusCode`. Remarque : les versions d’agent inférieures à 8.0.0 utilisaient l’attribut `httpResponseCode`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + * Analyse des erreurs : activée + * Événement APM : Activé + * navigateur événement: Disabled + + + + Le message d'état de réponse s'il est présent pour une demande Web. La clé de cet attribut est `http.statusText`. Remarque : les versions d’agent inférieures à 8.0.0 utilisaient l’attribut `httpResponseMessage`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + * Analyse des erreurs : activée + * Événement APM : Activé + * navigateur événement: Disabled + + + + Le nom du fil. La clé de cet attribut est `jvm.thread_name`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + * Analyse des erreurs : activée + * Événement APM : Désactivé + * navigateur événement: Unavailable + + + + Le nom d'un thread verrouillé. La clé de cet attribut est `jvm.lock_thread_name`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : indisponible + * Analyse des erreurs : activée + * Événement APM : Indisponible + * navigateur événement: Unavailable + + + + Attributs ajoutés par un appel de [NewRelic.addCustomParameter(...)](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#addCustomParameter-java.lang.String-java.lang.Number-) à l&apos;API de l&apos;agent Java. Le nom de clé de cet attribut dépend de ce que vous spécifiez lorsque vous appelez la méthode. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Désactivé + + * navigateur événement: Disabled + + + Avant de créer des attributs personnalisés, consultez la liste des [termes réservés utilisés par NRQL](/docs/insights/event-data-sources/custom-events/data-requirements-limits-custom-event-data/#reserved-words) de New Relic.Sinon, vous pourriez obtenir des résultats inattendus. + + + + + attribut ajouté par un appel à [l'de l'NewRelic.getAgent().getTracedMethod().addCustomAttribute(...)](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/TracedMethod.html) agent Java API. Le nom de clé de cet attribut dépend de ce que vous spécifiez lorsque vous appelez la méthode. + + Ces attributs sont ajoutés à span événement, que l'on retrouve dans l'[ UI de tracing distribué](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#trace-structure) ou directement requête dans le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder). + + + Avant de créer des attributs personnalisés, consultez la liste des [termes réservés utilisés par NRQL](/docs/insights/event-data-sources/custom-events/data-requirements-limits-custom-event-data/#reserved-words) de New Relic.Sinon, vous pourriez obtenir des résultats inattendus. + + + + + Attributs ajoutés à un appel [`NoticeError()`](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#noticeError-java.lang.String-) sur l&apos;API de l&apos;agent Java. Le nom de clé de cet attribut dépend de ce que vous spécifiez lorsque vous appelez la méthode. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : indisponible + * Analyse des erreurs : activée + * Événement APM : Indisponible + * navigateur événement: Unavailable + + + + L'agent Java peut capturer les en-têtes de réponse et de demande suivants en tant qu'attribut : + + En-têtes de requête HTTP capturés : + + * `request.headers.referer` + + * `request.headers.accept` + + * `request.headers.contentLength` + + * `request.headers.host` + + * `request.headers.userAgent` + + En-tête de réponse capturé : `response.headers.contentType` + + L'agent ne capture pas les autres en-têtes de requête. + + L'attribut système ne s'applique pas aux valeurs d'en-tête autres que celles répertoriées ci-dessus. Si vous souhaitez capturer des en-têtes de demande supplémentaires non répertoriés ici, vous devez utiliser l'option de configuration [custom\_request\_headers](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#tt-custom-request-headers) pour spécifier les en-têtes que l&apos;agent doit capturer. Alternativement, vous pouvez enregistrer directement les en-têtes vous-même à l&apos;aide de la méthode `addCustomParameter()` de l&apos;[API de l'agent Java](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes#api-java). + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Activé + + * navigateur événement: Disabled + + + + L'agent Java capture les méthodes de requête GET, POST et PUT par défaut dans le cadre de l'attribut `request.method` . + + Les paramètres de demande de la transaction ne sont pas capturés par défaut. Utilisez [`addCustomParameter()`](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#addCustomParameter-java.lang.String-java.lang.Number-)l&apos;API de l&apos;agent Java pour capturer les paramètres de requête. + + La clé de ces attributs est `request.parameters.*`. Si la capture d’informations sensibles est une préoccupation, vous pouvez utiliser ces options : + + * Évitez d’utiliser des caractères génériques dans `attributes.include`. Au lieu de cela, spécifiez explicitement chaque champ à capturer. + * Si vous souhaitez utiliser un caractère générique dans `attributes.include`, excluez explicitement les champs sensibles à l&apos;aide de `attributes.exclude`. + + + +## Collecter l'attribut utilisateur [#user-attributes] + +Avec l'agent Java d'APM, vous pouvez collecter automatiquement les informations utilisateur en modifiant votre fichier de configuration. Vous pouvez ensuite exécuter [une requête NRQL](/docs/insights/using-insights-ui/basic-ui-tasks/query-page-create-edit-nrql-queries) sur les informations de l&apos;utilisateur sans avoir à créer manuellement un attribut personnalisé. Cette fonctionnalité est disponible avec [l'agent Java 3.10.0](/docs/release-notes/agent-release-notes/java-release-notes) de New Relic ou supérieur. + + + Les attributs utilisateur Java sont incompatibles avec [le mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security). + + + + + Pour collecter l'attribut utilisateur `enduser.id` via l&apos;[API publique](/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api/#transactions) avec l&apos;agent Java 8.1.0 ou supérieur, appelez le : + + ```java + NewRelic.setUserId(String userId); + ``` + + Voici un exemple snippet de code définissant l'ID utilisateur : + + ```java + @Trace(dispatcher = true) + public void run() { + NewRelic.setUserId("example-user-id"); + } + ``` + + Pour collecter les attributs utilisateur via notre instrumentation de servlet avec agent Java 3.10.0 ou supérieur : + + 1. Ouvrez `newrelic.yml`, généralement situé dans le même répertoire que `newrelic.jar`. + + 2. Dans la section [`class_transformer`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Custom_Instrumentation), modifiez [`com.newrelic.instrumentation.servlet-user`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#servlet-user) pour définir `enabled` sur `true`: + + ```yml + class_transformer: + # This instrumentation reports the name of the user principal returned from + # HttpServletRequest.getUserPrincipal() when servlets and filters are invoked. + com.newrelic.instrumentation.servlet-user: + enabled: true + ``` + + 3. Redémarrez votre serveur Web. + + + + Si vous utilisez la [version 8.1.0](/docs/release-notes/agent-release-notes/java-release-notes/) sortie de l&apos;agent Java, ou supérieur, vous pouvez interroger l&apos;attribut `enduser.id` soit en activant [`com.newrelic.instrumentation.servlet-user`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#servlet-user), soit en utilisant l&apos;[API publique](/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api/#transactions) et en attendant quelques minutes. Par exemple, vous pouvez utiliser la [requête NRQL](/docs/query-your-data/nrql-new-relic-query-language/get-started/introduction-nrql-new-relics-query-language) suivante pour obtenir un décompte unique de tous les utilisateurs : + + ```sql + SELECT uniqueCount(enduser.id) FROM Transaction SINCE 1 day ago + ``` + + Ou si vous utilisez la [version 3.10.0](/docs/release-notes/agent-release-notes/java-release-notes/) sortie de l&apos;agent Java ou supérieur, et [`com.newrelic.instrumentation.servlet-user`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#servlet-user) activé, vous pouvez interroger l&apos;attribut `user` en quelques minutes : + + ```sql + SELECT uniqueCount(user) FROM Transaction SINCE 1 day ago + ``` + + Dans les deux cas, si des erreurs sont signalées, vous pouvez utiliser les attributs utilisateur pour voir [combien d'utilisateurs sont impactés dans un groupe d'erreurs donné](/docs/errors-inbox/error-users-impacted). + + + +## Configurer l'attribut : activer, inclure et exclure [#properties] + +Vous pouvez configurer les types d'attributs, ou les attributs spécifiques, que l'agent Java signale à New Relic. Cela est souvent fait pour des raisons de sécurité, lorsqu'il y a certains attributs sensibles que vous ne souhaitez pas signaler à New Relic. Pour savoir quels paramètres remplacent d’autres paramètres, consultez les [règles configuration des attributs](#attruls). + +options configuration des attributs : + + + destination.attributes.enabled + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-enabled) + + Vrai +
+ trace de transaction + + [`transaction_tracer.attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-tt-attributes-enabled) + + Vrai +
+ Segments de transaction + + [`transaction_segments.attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ts-attributes-enabled) + + Vrai +
+ Analyse des erreurs + + [`error_collector.attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-error-attributes-enabled) + + Vrai +
+ Événement APM + + [`transaction_events.attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-events-attributes-enabled) + + Vrai +
+ Browser events + + [`browser_monitoring.attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-browser-attributes-enabled) + + FAUX +
+ Événement de span + + `span_events.attributes.enabled` + + Vrai +
+ + Autres ressources : + + * Voir le [modèle de fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-config-file-template). + * Consultez [les règles régissant configuration des attributs, y compris les paramètres qui remplacent d'autres paramètres](#attruls). +
+ + destination.attributes.include + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-include) + + (aucun) +
+ trace de transaction + + [`transaction_tracer.attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-tt-attributes-include) + + (aucun) +
+ Segments de transaction + + [`transaction_segments.attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ts-attributes-include) + + (aucun) +
+ Analyse des erreurs + + [`error_collector.attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ec-attributes-include) + + (aucun) +
+ Événement APM + + [`transaction_events.attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-te-attributes-include) + + (aucun) +
+ Browser events + + [`browser_monitoring.attributes.include`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-bm-attributes-include) + + (aucun) +
+ Événement de span + + `span_events.attributes.include` + + (aucun) +
+ + Autres ressources : + + * Voir le [modèle de fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-config-file-template). + * Consultez [les règles régissant configuration des attributs, y compris les paramètres qui remplacent d'autres paramètres](#attruls). +
+ + destination.attributes.exclude + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-exclude) + + (aucun) +
+ trace de transaction + + [`transaction_tracer.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-tt-attributes-exclude) + + (aucun) +
+ Segments de transaction + + [`transaction_segments.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ts-attributes-exclude) + + (aucun) +
+ Analyse des erreurs + + [`error_collector.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ec-attributes-exclude) + + (aucun) +
+ Événement APM + + [`transaction_events.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-te-attributes-exclude) + + (aucun) +
+ Browser events + + [`browser_monitoring.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-bm-attributes-exclude) + + (aucun) +
+ Événement de span + + [`span_events.attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-span-events-attributes-exclude) + + (aucun) +
+ + Autres ressources : + + * Voir le [modèle de fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-config-file-template). + * Consultez [les règles régissant configuration des attributs, y compris les paramètres qui remplacent d'autres paramètres](#attruls). +
+
+ +## Règles d'attribut [#attruls] + +L'agent Java suit ces règles pour déterminer quel attribut inclure ou exclure pour une destination : + + + + Si vous définissez la propriété principale [`attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-enabled) sur `false`, l&apos;agent ne signale aucun attribut. + + + + configuration de l'agent : + + * `attributes.enabled: false` + + * `attributes.include: request.parameters.*` + + * `error_collector.attributes.enabled: true` + + Touches de saisie : + + * `foo` + + * `bar` + + * `request.parameters.foo` + + * `request.parameters.bar` + + Sortie de l'agent : + + * trace de transaction : Aucun attribut + + * Analyse des erreurs : aucun attribut + + * Événement APM : Aucun attribut + + * navigateur événement: No attribut + + + + + + Lorsque vous définissez [l'option activée](#cfg-attributes-enabled) sur `false` pour une destination, l&apos;agent ignore vos paramètres d&apos;inclusion/exclusion et ne signale aucun attribut pour cette destination. + + + + configuration de l'agent : + + * `transaction_tracer.attributes.enabled: false` + + * `attributes.include: one, two*` + + * `transaction_tracer.attributes.include: three, four` + + Touches de saisie : + + * `one` + + * `two` + + * `three` + + * `four` + + Sortie de l'agent : + + * trace de transaction : Aucun attribut + + * Analyse des erreurs : `one`, `two` + + * Événement APM : `one`, `two` + + * navigateur événement: No attribut + + + + + + Les propriétés `.exclude` remplacent les propriétés `.include` . + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: foo, myCustomAtt` + + * `attributes.exclude: password, myCustomAtt` + + Touches de saisie : + + * `foo` + + * `myCustomAtt` + + * `password` + + Sortie de l'agent : + + * trace de transaction: `foo` + + * Analyse des erreurs : `foo` + + * Événement APM : `foo` + + * événement du navigateur : `foo` + + + + + + Si plusieurs attributs d'inclusion ou d'exclusion affectent la même clé, le paramètre le plus spécifique aura la priorité. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: foo, myCustomAtt` + + * `attributes.exclude: password, myCustomAtt` + + * `browser_monitoring.attributes.enabled: true` + + Touches de saisie : + + * `food` + + * `food.bread` + + * `food.fruit.banana` + + * `food.fruit.apple` + + Sortie de l'agent : + + * trace de transaction: `food.fruit.apple` + + * Analyse des erreurs : `food.fruit.banana`, `food.fruit.apple` + + * Événement APM : `food.fruit.banana`, `food.fruit.apple` + + * événement du navigateur : `food.fruit.banana`, `food.fruit.apple` + + + + + + Les clés spécifiées dans les propriétés `.include` et `.exclude` sont sensibles à la casse. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.exclude: password, PaSsWoRd` + + Touches de saisie : + + * `password` + + * `Password` + + * `PASSWORD` + + * `PaSsWoRd` + + * `PassWORD` + + Sortie de l'agent : + + * trace de transaction : `Password`, `PASSWORD`, `PassWORD` + + * Analyse des erreurs : `Password`, `PASSWORD`, `PassWORD` + + * Événement APM : `Password`, `PASSWORD`, `PassWORD` + + * navigateur événement: `Password`, `PASSWORD`, `PassWORD` + + + + + + Vous pouvez utiliser un astérisque `*` à la fin d&apos;une clé comme caractère générique. Cela correspondra à un ensemble d’attributs avec le même préfixe. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: custom*` + + * `attributes.exclude: request.parameters.*` + + Touches de saisie : + + * `custom` + + * `custom.key1` + + * `custom.key2` + + * `request.parameters.` + + * `request.parameters.foo` + + * `request.parameters.bar` + + Sortie de l'agent : + + * trace de transaction : `custom`, `custom.key1`, `custom.key2` + + * Analyse des erreurs : `custom`, `custom.key1`, `custom.key2` + + * Événement APM : `custom`, `custom.key1`, `custom.key2` + + * navigateur événement: `custom`, `custom.key1`, `custom.key2` + + + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/automatic-application-naming.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/automatic-application-naming.mdx new file mode 100644 index 00000000000..ca92b72c69b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/automatic-application-naming.mdx @@ -0,0 +1,190 @@ +--- +title: Nommage automatique application +tags: + - Agents + - Java agent + - Configuration +metaDescription: How to configure New Relic's Java agent to report data for individual web apps to their own application in APM. +freshnessValidatedDate: never +translationType: machine +--- + +Les noms que vous donnez à votre application peuvent vous aider à organiser vos métriques de performances New Relic . + +L'agent Java de New Relic signale toutes les transactions et autres métriques dans une seule au JVM application nom spécifié dans `newrelic.yml` sous le paramètre `app_name` (pour plus d&apos;informations sur la application dénomination, voir [Nommez votre Java application](/docs/agents/java-agent/configuration/name-your-java-application)). En changeant `enable_auto_app_naming` dans `newrelic.yml` en `true`, l&apos;application sera nommée en fonction de son contexte, de son filtre, de son servlet ou de son attribut de requête. + +Ce paramètre vous permet d'exécuter plusieurs applications Web dans une seule JVM tout en signalant les transactions, les erreurs et les métriques à d'autres applications appropriées dans l'utilisateur de l'interface New Relic . Les tâches en arrière-plan utiliseront toujours le nom d’application par défaut de `newrelic.yml`. + + + Ces modifications de configuration nécessitent un redémarrage de la JVM pour prendre effet. + + Cette configuration ne fonctionne PAS avec Infinite Tracing activé. + + + + L'activation de la dénomination automatique des applications augmentera la quantité de données ingérées par l'agent. Il existe différentes méthodes pour [alerter et monitorer l'ingestion de données](/docs/data-apis/manage-data/manage-data-coming-new-relic/). + + +## Sources des noms d'application [#enable-auto-app-naming] + +Lorsque vous définissez `enable_auto_app_naming` sur `true`, New Relic utilise les sources d’informations suivantes pour nommer votre application : + + + + + + + + + + + + + + + + + + + + + + + +
+ + **App type** + + + + **Naming source** + +
+ Tâches d'arrière-plan + + Le nom de l'application par défaut de `newrelic.yml` +
+ transaction web + + Par ordre de priorité : + + * Attribut de la demande (priorité la plus élevée) + * Paramètre d'initialisation du servlet + * Paramètre d'initialisation du filtre + * Paramètres de contexte de l'application Web + * Nom du contexte de l'application Web (nom d'affichage) + * Chemin de contexte de l'application Web (priorité la plus basse) +
+ +## Demande d'attribut + +L'attribut de requête `APPLICATION_NAME` a priorité sur tous les paramètres du XML. Définissez cet attribut le plus tôt possible dans le Web de transaction. Si elle est appelée plusieurs fois, la dernière invocation détermine le nom de l&apos;application. + + + `APPLICATION_NAME` fonctionne uniquement avec ServletRequests. + + +Pour utiliser l'attribut de demande pour une dénomination d'application précise en fonction de l'URI de la demande : + +```java +protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + ... + String requestUri = httpServletRequest.getRequestURI(); + + if (requestUri.startsWith("/my-special-request/")) { + request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MySpecialWebApp"); + } + ... +``` + +## Paramètre d'initialisation du servlet [#servlet-init-param] + +Pour définir le nom de l'application pour les servlets individuels dans `web.xml` à l&apos;aide de **init parameters**: + +```xml + + SqlServlet + test.SqlServlet + + com.newrelic.agent.APPLICATION_NAME + MyServletApp + + +``` + +L'agent obtient la valeur de `init-param` en appelant + +```java +javax.servlet.ServletConfig#getInitParameter(String) +``` + +avec l'argument `com.newrelic.agent.APPLICATION_NAME`. + +Si une requête Web appelle plusieurs servlets, le `init-param` du premier servlet à se terminer a la priorité. Un servlet qui n’a pas de `init-param` utilise le nom d’application par défaut pour l’application Web. + +En plus de déclarer le nom de l'application en XML, vous pouvez également le définir dans le code de votre application en stockant un attribut dans le `javax.servlet.ServletRequest`: + +```java +protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + ... + request.setAttribute("com.newrelic.agent.APPLICATION_NAME", "MyWebApp"); + ... +``` + +## Paramètre d'initialisation du filtre [#filter-init-param] + +Si votre application Web ne dispose pas de servlets, vous pouvez utiliser un paramètre init pour un filtre : + +```xml + + SqlFilter + test.SqlFilter + + com.newrelic.agent.APPLICATION_NAME + MyFilterApp + + +``` + +L'agent obtient la valeur de `init-param` en appelant `javax.servlet.FilterConfig#getInitParameter(String)` avec l&apos;argument `com.newrelic.agent.APPLICATION_NAME`. Les servlets ont la priorité sur les filtres pour la dénomination application, donc le paramètre init d&apos;un filtre n&apos;est utilisé que si aucun servlet n&apos;a été invoqué. Le `init-param` du premier filtre à terminer a la priorité. + +## Paramètres de contexte [#context-param] + +Pour utiliser un paramètre de contexte pour définir le nom de l’application : + +```xml + + com.newrelic.agent.APPLICATION_NAME + MyWebApp + +``` + +L'agent obtient la valeur du paramètre de contexte en appelant `javax.servlet.ServletContext#getInitParameter(String)` avec l&apos;argument `com.newrelic.agent.APPLICATION_NAME`. Le paramètre de contexte a priorité sur l&apos;élément `display-name` . + +## Nom d'affichage + +Pour déterminer le nom de l'application en utilisant l'élément `display-name` dans `web.xml`: + +```xml +MyWebApp +``` + +L'agent obtient la valeur de l'élément `display-name` en appelant `javax.servlet.ServletContext#getServletContextName()`. + +## Chemin de contexte + +S'il n'y a pas d'élément `display-name` et qu&apos;aucune des autres méthodes de hiérarchie supérieure n&apos;est utilisée pour définir le nom de l&apos;application, le nom de l&apos;application provient du chemin de contexte de l&apos;application Web. L&apos;agent obtient le chemin de contexte en appelant `javax.servlet.ServletContext#getContextPath()`. + +Le chemin de contexte est la partie de l'URI de la demande qui est utilisée pour sélectionner le contexte de la demande. Le chemin de contexte vient toujours en premier dans un URI de requête. Par exemple: + +Considérez l’URL suivante : + +``` +http://example.com/newrelic-axis2-ws/getWeather +``` + +Dans cette URL : + +* L'URI de la demande est `/newrelic-axis2-ws/getWeather`. +* Le chemin de contexte est `/newrelic-axis2-ws`. +* L'application est nommée `newrelic-axis2-ws`. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/configuring-your-ssl-certificates.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/configuring-your-ssl-certificates.mdx new file mode 100644 index 00000000000..207dc74d3e5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/configuring-your-ssl-certificates.mdx @@ -0,0 +1,114 @@ +--- +title: Configurer votre certificat SSL +tags: + - Agents + - Java agent + - Configuration +metaDescription: 'Java: To communicate with the New Relic collector over SSL, include the list of trusted signers in the trust store on your app server.' +freshnessValidatedDate: never +translationType: machine +--- + +Pour communiquer avec le collecteur New Relic via HTTPS, vous devez disposer des [certificats](/docs/using-new-relic/welcome-new-relic/get-started/glossary#ssl-certificate) appropriés pour les signataires de confiance dans le magasin de confiance sur votre serveur d&apos;applications. Par défaut, la plupart des JRE contiennent un certificat racine valide qui permet à l&apos;agent de se connecter à newrelic.com. + +Pour les problèmes de connexion SSL, veuillez visiter [SSL ou erreurs de connexion (Java)](/docs/agents/java-agent/troubleshooting/ssl-or-connection-errors-java/). + +## Avis d'expiration du certificat SSL et suppression du certificat + + + Le certificat SSL fourni avec agent Java versions 6.1.0 à 6.4.2 ont expiré et ne sont plus valables. Cela signifie que les versions 6.1.0 de l'agent Java jusqu'à 6.4.2 ne peut plus utiliser les certificats fournis avec l'agent pour établir une connexion avec New Relic et vous devez fournir votre propre certificat SSL. + + Veuillez consulter [cette publication sur le forum communautaire](https://discuss.newrelic.com/t/important-upcoming-new-relic-server-certificate-update-will-impact-most-users-of-java-agent-version-6-1-and-a-few-users-of-java-agent-version-6-2-0-to-6-4-2/141711) pour plus de détails. + + + + agent Java les versions supérieures à 6.4.2 ne sont plus livrées avec le certificat SSL fourni avec agent l'. Vous devez fournir votre propre truststore SSL à l'agent en utilisant explicitement l'option de configuration [ca\_bundle\_path](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#ca_config_bundle) ou en utilisant le truststore par défaut fourni par le JDK/JRE (l&apos;agent cherchera à utiliser ce dernier par défaut). De plus, l&apos;option de configuration `use_private_ssl` a été supprimée des versions de l&apos;agent Java supérieures à 6.4.2. + + Les utilisateurs souhaitant ajouter le certificat global à leur magasin de confiance local peuvent télécharger le [DigiCert Global Root CA](https://www.digicert.com/kb/digicert-root-certificates.htm) à partir de DigiCert dans la section « Autres certificats racine ». + + +## agent Java versions 6.2.0 - 6.4.2 + +À partir de la agent Java version 6.2.0,[](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#use_private_ssl) configuration l&apos;option use\_private\_ssl a été réintroduite afin que vous puissiez utiliser le certificat SSL fourni dans le agent fichier jar . Les certificats SSL groupés suivants sont valables jusqu&apos;à un an après la sortie. + +``` +META-INF/certs/eu-newrelic-com.pem +META-INF/certs/eu01-nr-data-net.pem +META-INF/certs/newrelic-com.pem +``` + + + L'agent Java commencera à enregistrer un message d'avertissement au démarrage de l'application lorsqu'il restera moins de trois mois avant l'expiration du certificat fourni. + + Lorsque les certificats groupés expirent, l'agent Java ne pourra plus se connecter à New Relic et vous devrez soit effectuer une mise à jour vers la dernière version de l'agent, soit fournir un certificat valide à l'aide de la configuration [ca\_bundle\_path](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#ca_config_bundle) . + + l'utilisateur souhaitant ajouter le certificat global à son magasin de confiance local peut télécharger le [DigiCert Global Root CA](https://www.digicert.com/kb/digicert-root-certificates.htm) à partir de DigiCert. + + +Utilisation de la configuration basée sur YAML + +```yml +common: default_settings + ca_bundle_path: /path/to/digicert.pem + use_private_ssl: false + + # + # ============================== LICENSE KEY =============================== + + # You must specify the license key associated with your New Relic account + ... +``` + +Résumé + +Il existe deux paramètres de configuration qui déterminent les certificats utilisés par l'agent pour établir une connexion sécurisée à New Relic. Il s'agit de : `use_private_ssl` et `ca_bundle_path`. Voici comment ils fonctionnent ensemble : + +* **DEFAULT**: Aucune des options de configuration (`ca_bundle_path`/`use_private_ssl`) n&apos;est fournie, car les deux utilisent des valeurs par défaut. L&apos;agent utilisera le certificat SSL par défaut fourni avec le kit de développement Java (JDK). Si ces certificats ne sont pas présents ou n&apos;incluent pas de certificats faisant confiance à New Relic, l&apos;agent ne se connectera pas. Vous devrez [fusionner les certificats valides dans votre bundle de certificats JDK](/docs/agents/java-agent/troubleshooting/ssl-or-connection-errors-java). +* Seul `use_private_ssl` est configuré. L&apos;agent utilisera le certificat SSL qui lui est fourni. +* Seul `ca_bundle_path` est configuré. L&apos;agent tentera de se connecter à l&apos;aide du bundle de certificats SSL personnalisé sur le chemin configuré. Si le groupe de certificats personnalisés configuré n&apos;inclut pas de certificats faisant confiance à New Relic, l&apos;agent ne se connectera pas. Vous devrez [fusionner les certificats valides dans votre ensemble de certificats personnalisé](/docs/agents/java-agent/troubleshooting/ssl-or-connection-errors-java). +* `use_private_ssl` et `ca_bundle_path` sont tous deux configurés. Le paramètre de configuration `ca_bundle_path` est prioritaire et la configuration `use_private_ssl` est ignorée. Ce comportement est le même que si vous spécifiiez uniquement `ca_bundle_path`. + +## agent Java versions 6.0.0/6.1.0 + +À partir de la version 6.0.0, l’agent Java n’inclut plus la chaîne de certificats globale `nrcert` . l&apos;utilisateur souhaitant ajouter le certificat global à son magasin de confiance local doit télécharger le [DigiCert Global Root CA](https://www.digicert.com/kb/digicert-root-certificates.htm) à partir de DigiCert. + +Remarque : dans les versions 6.1.0+, l'agent Java utilisera un certificat New Relic fourni qui est valable jusqu'à un an après la sortie. Avant l'expiration du certificat, vous devez mettre à jour l'agent vers la dernière version ou fournir un certificat valide à l'aide de la configuration [ca\_bundle\_path](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#ca_config_bundle) . + + + L'agent Java commencera à enregistrer un message d'avertissement au démarrage de l'application lorsqu'il restera moins de trois mois avant l'expiration du certificat fourni. + + +### Utilisation de la configuration basée sur YAML + +```yml +common: default_settings + ca_bundle_path: /path/to/digicert.pem + + # + # ============================== LICENSE KEY =============================== + + # You must specify the license key associated with your New Relic account + ... +``` + +## Versions de l'agent Java antérieures à 6.0.0 (obsolètes) + +Pour les versions d'agent Java antérieures à 6.0.0, les applications qui nécessitent des certificats valides peuvent les ajouter de l'une des deux manières suivantes : + +* Utilisez une configuration basée sur YAML. +* Ajoutez la liste groupée des signataires de confiance New Relic au magasin local. + +### Utilisation de la configuration basée sur YAML [#yaml] + +L'agent Java New Relic regroupe la liste des signataires de confiance dans le fichier de l'agent `newrelic.jar` . Si vous ne souhaitez pas modifier le magasin de confiance local, vous pouvez l&apos;activer en définissant `use_private_ssl` sur `true` dans le fichier de configuration de l&apos;agent `newrelic.yml` : + +```yml +common: default_settings + use_private_ssl: true + + # + # ============================== LICENSE KEY =============================== + + # You must specify the license key associated with your New Relic account + ... +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/distributed-tracing-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/distributed-tracing-java-agent.mdx new file mode 100644 index 00000000000..e6cc06ef122 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/distributed-tracing-java-agent.mdx @@ -0,0 +1,221 @@ +--- +title: traçage distribué pour vos services Java +tags: + - Understand dependencies + - Distributed tracing + - Enable and configure +metaDescription: How to enable distributed tracing or Infinite Tracing for the APM Java agent. +freshnessValidatedDate: never +translationType: machine +--- + +le traçage distribué vous permet de voir l'intégralité du parcours de vos requests à travers un [systèmes distribués](/docs/distributed-tracing/concepts/introduction-distributed-tracing). Pour l&apos;agent Java, nous proposons deux types de traçage distribué (pour plus de détails, voir [Comment fonctionne l'échantillonnage de span](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#sampling)) : + +* Standard (échantillonnage en début de workflow) : Avant l'arrivée de toute trace, nous déterminons un pourcentage défini de trace à accepter et à analyser. Cela vous donne un point de départ solide pour voir comment le traçage peut vous aider. Il est activé par défaut dans l'agent Java 7.4.0 et supérieur. + +* Traçage infini (échantillonnage en fin de workflow) : Notre service basé sur le cloud accepte toutes vos traces puis les trie pour trouver les plus importantes. Le traçage infini analyse toutes vos traces et vous offre des options configuration pour échantillonner les traces qui comptent le plus pour vous. + +Que vous souhaitiez simplement tester le traçage standard distribué (échantillonnage en début de workflow) ou que vous souhaitiez également mettre en place un traçage infini (échantillonnage en fin de workflow), vous devez commencer par mettre en place le traçage standard. + +## Traçage standard distribué [#quick-start-apm] + +Il s’agit de la meilleure approche pour configurer [le traçage standard distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works/#head-based) si vous n’avez pas encore installé d’agent APM pour vos services. + + + Lorsque vous installez l'agent Java de New Relic, le traçage standard distribué est activé par défaut. Si vous préférez le désactiver, consultez notre [guide de configuration](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file). + + + + + ### Identifier les services [#identify] + + Déterminez quels services touchent à votre demande afin de pouvoir instrumenter chacun d'eux pour envoyer des données trace à New Relic. + + + + ### instrumenter chaque service avec un agent APM [#update-agents] + + Pour chaque service impliqué dans vos transactions, vous effectuerez une installation distincte de l'agent. Si certains de vos services utilisent d’autres langues, répétez simplement les [étapes d’installation](/docs/distributed-tracing/enable-configure/quick-start) pour ces langues. + + Pour démarrer la routine d'installation, cliquez sur la tuile ci-dessous. Une fois l'installation de chaque agent terminée, revenez ici pour voir des conseils pour [visualiser votre trace](#view-traces). + + + } /> + + + + + ### Afficher la trace [#view-traces] + + Après avoir instrumenté chacun de vos services avec agent, générez du trafic dans votre application afin que nous puissions capturer une trace. Voici quelques façons d&apos;afficher votre trace dans l&apos;UI: + + + + Voici une façon de voir la trace d’un service particulier : + + 1. Allez à **[one.newrelic.com](https://one.newrelic.com/all-capabilities)&gt; APM &amp; services**. + 2. Cliquez sur votre entité (service). + 3. Dans la section **Monitor** du volet de gauche, cliquez sur **Distributed tracing**. + 4. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 5. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Pour voir la trace de ces comptes croisés : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; Traces**. + 2. Sélectionnez votre entité (service) dans le volet de gauche. + 3. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 4. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Vous pouvez rassembler votre log et vos détails de traçage pour rendre le dépannage plus facile et plus rapide. Avec les [logs en contexte](/docs/logs/logs-context/configure-logs-context-apm-agents/), vous pouvez voir le message du à côté de log la trace dans l&apos;UI de New Relic. + + Après avoir localisé une trace intéressante en suivant les étapes décrites dans [Afficher la trace qui inclut un service spécifique](#entity-explorer) ou [Afficher la trace sur plusieurs comptes](#cross-acct-traces), procédez comme suit : + + 1. Si vous avez activé les journaux en contexte, cliquez sur l'onglet **Logs** (à côté de **Trace details**). + 2. Pour afficher les détails relatifs à un log individuel, cliquez directement sur le message. + + + + Pour plus d'aide pour trouver votre trace dans l'UI: + + * [Comprendre et utiliser l'UI de tracing distribué](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui) + * [Interroger les données de traces distribuées](/docs/understand-dependencies/distributed-tracing/ui-data/query-distributed-trace-data) + + + +## Traçage infini [#infinite-tracing] + +[Le traçage standard distribué](#quick-start-apm) pour l&apos;agent APM capture jusqu&apos;à 10 % de votre trace, mais si vous souhaitez que nous analysions toutes vos données et trouvions la trace la plus pertinente, vous pouvez configurer [le traçage infini](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing). + +Avant de commencer, assurez-vous d’abord de répondre [aux exigences](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing#requirements). + + + + ### Terminez la configuration pour le traçage standard distribué [#install-agents-first] + + La configuration Infinite Tracing s'appuie sur le traçage standard distribué. Assurez-vous donc d’avoir terminé les [étapes ci-dessus](#quick-start-apm), puis continuez avec la configuration de l’observateur de trace. + + + + ### Configurer l'observateur de trace [#provision-trace-observer] + + L'observateur de trace est un service New Relic basé sur AWSqui collecte et analyse toutes vos traces. Suivez les instructions dans [Configurer Trace Observer](/docs/understand-dependencies/distributed-tracing/infinite-tracing/set-trace-observer). Une fois que vous avez terminé, revenez ici avec les informations de votre observateur de trace et passez à l’étape suivante pour configurer l’agent. + + + + ### Configurer l'agent pour Infinite Tracing [#configure-agent-inf] + + Les paramètres configuration d'Infinite Tracing incluent le traçage standard distribué ainsi que des informations sur l'observateur de trace. Notez que la configuration côté serveur n'est pas disponible pour Infinite Tracing. + + + + Voici un aperçu des paramètres, vous aurez besoin de [`YOUR_TRACE_OBSERVER_HOST`](/docs/understand-dependencies/distributed-tracing/infinite-tracing/set-trace-observer) pour cette configuration. + + Pour plus d'aide sur la configuration, voir [Configuration de l'agent Java : Fichier de configuration](/docs/agents/java-agent/configuration/java-agent-configuration-config-file). + + + + + + + + + + + + + + + + + +
+ Taper + + configurationrequise +
+ Traçage infini + + Options de configuration : + + * Fichier de configuration (`newrelic.yml`) (en retrait de 2 espaces sous la section `common` ) : + + ```yml + distributed_tracing: + enabled: true + infinite_tracing: + trace_observer: + host: "YOUR_TRACE_OBSERVER_HOST" + ``` + + * Propriété du système Java : + + ```ini + -Dnewrelic.config.distributed_tracing.enabled=true + -Dnewrelic.config.infinite_tracing.trace_observer.host="YOUR_TRACE_OBSERVER_HOST" + ``` + + * Variables d'environnement : + + ```ini + NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true + NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST="YOUR_TRACE_OBSERVER_HOST" + ``` +
+
+
+ + + Si vous avez besoin d'aide avec la configuration du proxy, consultez [Assistance proxy](/docs/understand-dependencies/distributed-tracing/other-requirements/infinite-tracing-proxy-support). + +
+ + + ### (Facultatif) Personnaliser le traçage infini [#customize-inf] + + Après avoir ajouté les agent configuration paramètres, vous devriez commencer à voir les données dans l’UI de New Relic. Après avoir passé un certain temps à analyser vos données, vous souhaiterez peut-être ajuster certaines fonctionnalités d'Infinite Tracing : + + * [Configurer le monitoring de l'observateur de trace](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-trace-observer-monitoring) + * [Configurer le filtre de trace d’attribut span](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-span-attribute-trace-filter) + * [Configurer un filtre de trace aléatoire](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-random-trace-filter) + +
+ +## instrumentation manuelle (si instrumentation automatique ne fonctionne pas) [#manual-instrumentation] + +Recommandation : Avant de procéder à une instrumentation personnalisée, lisez : + +* [Comment fonctionne le traçage distribué](/docs/apm/distributed-tracing/getting-started/how-new-relic-distributed-tracing-works) +* [Résoudre les problèmes de données manquantes](/docs/apm/distributed-tracing/troubleshooting/troubleshooting-missing-trace-data) + +Si un service ne transmet pas l'en-tête de trace à d'autres services, vous pouvez utiliser l'API de charge de traçage distribué pour instrumenter le [service appelant](#calling-service) et le [service appelé](#called-service). Le service appelant utilise un appel d&apos;API pour générer une charge, qui est acceptée par le service appelé. + + + + Pour instrumenter le service appelant : + + 1. Assurez-vous que la [version de l'agent APM](#compatibility-requirements) qui monitore le service appelant prend en charge le traçage distribué. + + 2. Invoquer l'API d'appelagent pour générer une traces distribuée chargée : [Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api#trace-calls). + + + Pour maintenir l’ordre correct des étendues dans une trace, assurez-vous de **generate the payload in the context of the span that sends it**. + + + 3. Ajoutez cette charge utile à l’appel effectué au service de destination (par exemple, dans un en-tête). + + 4. (Facultatif) Identifiez l'appel comme un appel externe (voir [GitHub](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/TracedMethod.html)). + + + + Pour instrumenter le service appelé : + + 1. Assurez-vous que la [version de l'agent APM](#compatibility-requirements) qui monitore le service appelé prend en charge le traçage distribué. + 2. Si l'agent de New Relic sur le service appelé n'identifie pas une transaction New Relic, utilisez l'API d'agent pour déclarer une transaction. Voici une façon de savoir qu'une transaction n'est pas en cours : lorsque `Transaction.insertDistributedTraceHeaders(Headers)` est appelé, aucun en-tête n&apos;est inséré (cette API nécessite l&apos;agent 6.4.0+). Pour créer une transaction, consultez [les API liées aux transactions de l'agent Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api#transactions). + 3. Extrayez la charge utile de l’appel que vous avez reçu (par exemple, dans un en-tête). + 4. Invoquez l’appel pour accepter la charge utile : [Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api#trace-calls). + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/hostname-logic-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/hostname-logic-java.mdx new file mode 100644 index 00000000000..55a46270924 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/hostname-logic-java.mdx @@ -0,0 +1,54 @@ +--- +title: logique du nom d'hôte en Java +tags: + - Agents + - Java agent + - Configuration +metaDescription: The Java agent automatically assigns a hostname to your app. You can decorate this hostname with a display name in the New Relic UI. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java attribue automatiquement un nom `host:port` à vos JVM. Si le nom par défaut n&apos;est pas utile, vous pouvez [définir un nom d'affichage](#display-name) pour distinguer vos JVM dans l&apos;UI de New Relic. Pour le framework pris en charge, l&apos;agent Java utilise le [nominstance ](#instance-names)au lieu du nom d&apos;affichage. + +L'agent Java identifie de manière unique l'agent en cours d'exécution [par son hôte, son port et son répartiteur](#unique-identifier), quel que soit l&apos;environnement utilisé. + +## Noms d'affichage [#display-name] + +Si `host:port` l&apos;étiquette par défaut dans l&apos;UI APM n&apos;est pas utile, vous pouvez décorer ce nom dans l&apos;UI de New Relic avec un [nom d'affichage](/docs/apm/new-relic-apm/maintenance/add-rename-remove-hosts#display_name). Définissez le nom d&apos;affichage via [la configuration](/docs/agents/java-agent/configuration/java-agent-configuration-config-file), soit dans une variable d&apos;environnement, soit dans votre fichier de configuration **newrelic.yml** . La variable d&apos;environnement a priorité sur la valeur du fichier de configuration. Une fois la JVM redémarrée et l&apos;agent Java à nouveau opérationnel, le nom d&apos;affichage s&apos;affichera dans la liste JVM comme indiqué dans l&apos;exemple ci-dessous en plus de `host:port`. + +Pour définir un nom d’affichage : + +* Définissez la variable d’environnement [`NEW_RELIC_PROCESS_HOST_DISPLAY_NAME`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#NEW_RELIC_PROCESS_HOST_DISPLAY_NAME) .\ + OU +* Définissez [`process_host.display_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#display_name) dans votre **newrelic.yml**. + +Redémarrez JVM votre pour voir vos modifications dans l'UI de New Relic. + + + Vous pouvez également définir le nom d’affichage avec une [propriété système](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#System_Properties). + + +upload.png + +## Noms d'instance + +Pour les utilisateurs WebSphere et WebLogic, l'agent Java signale également le nom instance pour chaque instance de serveur d'applications active, qui est visible dans la page APM **Settings > Environment**. Généralement, ce nom est fourni par le serveur d&apos;applications. Si un instance nom est défini, il sera utilisé à la place du nom d&apos;affichage dans l&apos;UI de New Relic. + +## priorité logique du nom d'hôte [#precedence] + +S'il existe plusieurs paramètres de nom d'hôte (par exemple, vous utilisez WebSphere et définissez également la propriété `display_name`), l&apos;agent utilise cette priorité : + +* `display_name` remplace le nom par défaut et les noms d&apos;instance WebSphere et WebLogic. +* Les noms d'instance WebSphere et WebLogic remplacent le nom par défaut. +* Le nom par défaut (`host:port`) a la priorité la plus basse. + +## Hôtes et identifiant unique agent [#unique-identifier] + +L'agent Java utilise des hôtes, des ports et des répartiteurs pour identifier de manière unique plusieurs JVM faisant référence au même nom d'application. Plusieurs agents exécutés sur le même serveur sont donc signalés séparément, à condition que leurs ports ou leurs noms de répartiteur diffèrent. + +L'identifiant unique est basé sur les valeurs suivantes : + +* **Host**: Un identifiant pour le serveur parent de votre application qui est dérivé du système d&apos;exploitation. Cette valeur n&apos;est pas configurable par l&apos;agent Java. +* **Port**: Le port associé au serveur d&apos;applications. Si l&apos;agent ne peut pas déterminer le numéro de port ou si votre application ne s&apos;exécute pas sur un serveur d&apos;applications, la valeur par défaut est **0**. Cette valeur est configurable par l&apos;utilisateur. +* **Dispatcher Name**: Le nom du serveur d&apos;applications. Par exemple, Apache Tomcat, Glassfish ou WebLogic. S&apos;il n&apos;y a pas de serveur d&apos;applications actif, la valeur par défaut est **Unknown**. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-config-file-template.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-config-file-template.mdx new file mode 100644 index 00000000000..f80da0275a3 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-config-file-template.mdx @@ -0,0 +1,565 @@ +--- +title: Modèle de fichier de configuration de l'agent Java +tags: + - Agents + - Java agent + - Configuration +metaDescription: A template of the newrelic.yml file that New Relic's Java agent reads for configuration. +freshnessValidatedDate: never +translationType: machine +--- + +Ce document contient une version modèle du fichier `newrelic.yml` que l&apos;agent Java lit pour la configuration. Le format du fichier de configuration est YAML. Bien qu&apos;aucune connaissance de YAML ne soit nécessaire pour modifier le fichier, veillez à conserver une indentation appropriée. En savoir plus sur YAML sur [Wikipédia](http://en.wikipedia.org/wiki/yaml). + +Lorsque vous apportez des modifications au fichier `newrelic.yml`, utilisez un validateur YAML pour garantir l&apos;exactitude de la syntaxe et suivez ces règles : + +* Les fichiers YML sont sensibles à la casse. +* Toutes les indentations sont incrémentées de deux caractères. Les données d’une même section du fichier doivent utiliser le même niveau d’indentation. Indentez les sous-sections de deux espaces supplémentaires. + +Pour plus d'informations sur la structure, les répertoires et les paramètres, voir [Configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-configuration-config-file). + +```yaml +# This file configures the New Relic agent. New Relic monitors +# Java applications with deep visibility and low overhead. For more details and additional +# configuration options visit https://docs.newrelic.com/docs/agents/java-agent/configuration/java-agent-configuration-config-file. +# +# <%= generated_for_user %> +# +# This section is for settings common to all environments. +# Do not add anything above this next line. +common: &default_settings + + # ============================== LICENSE KEY =============================== + # You must specify the license key associated with your New Relic + # account. For example, if your license key is 12345 use this: + # license_key: '12345' + # The key binds your agent's data to your account in the New Relic UI. + license_key: '<%= license_key %>' + + # Agent enabled + # Use this setting to disable the agent instead of removing it from the startup command. + # Default is true. + agent_enabled: true + + # Set the name of your application as you'd like it to show up in the New Relic UI. + # If enable_auto_app_naming is false, the agent reports all data to this application. + # Otherwise, the agent reports only background tasks (transactions for non-web applications) + # to this application. To report data to more than one application + # (useful for rollup reporting), separate the application names with ";". + # For example, to report data to "My Application" and "My Application 2" use this: + # app_name: My Application;My Application 2 + # This setting is required. Up to 3 different application names can be specified. + # The first application name must be unique. + app_name: My Application + + # To enable high security, set this property to true. When in high + # security mode, the agent will use SSL and obfuscated SQL. Additionally, + # request parameters and message parameters will not be sent to New Relic. + high_security: false + + # Set to true to enable support for auto app naming. + # The name of each web app is detected automatically + # and the agent reports data separately for each one. + # This provides a finer-grained performance breakdown for + # web apps in New Relic. + # Default is false. + enable_auto_app_naming: false + + # Set to true to enable component-based transaction naming. + # Set to false to use the URI of a web request as the name of the transaction. + # Default is true. + enable_auto_transaction_naming: true + + # The agent uses its own log file to keep its logging + # separate from that of your application. Specify the log level here. + # This setting is dynamic, so changes do not require restarting your application. + # The levels in increasing order of verboseness are: + # off, severe, warning, info, fine, finer, finest + # Default is info. + log_level: info + + # Log all data sent to and from New Relic in plain text. + # This setting is dynamic, so changes do not require restarting your application. + # Default is false. + audit_mode: false + + # The number of backup log files to save. + # Default is 1. + log_file_count: 1 + + # The maximum number of kbytes to write to any one log file. + # The log_file_count must be set greater than 1. + # Default is 0 (no limit). + log_limit_in_kbytes: 0 + + # Override other log rolling configuration and roll the logs daily. + # Default is false. + log_daily: false + + # The name of the log file. + # Default is newrelic_agent.log. + log_file_name: newrelic_agent.log + + # The log file directory. + # Default is the logs directory in the newrelic.jar parent directory. + #log_file_path: + + # Provides the ability to forward application logs to New Relic, generate log usage metrics, + # and decorate local application log files with agent metadata for use with third party log forwarders. + # The application_logging.forwarding and application_logging.local_decorating should not be used together. + application_logging: + + # Provides control over all the application logging features for forwarding, local log + # decorating, and metrics features. Set as false to disable all application logging features. + # Default is true. + enabled: true + + # The agent will automatically forward application logs to New Relic in + # a format that includes agent metadata for linking them to traces and errors. + forwarding: + + # When true, application logs will be forwarded to New Relic. The default is true. + enabled: true + + # Application log events are collected up to the configured amount. Afterwards, + # events are sampled to maintain an even distribution across the harvest cycle. + # Default is 10000. Setting to 0 will disable. + #max_samples_stored: 10000 + + # Whether the log events should include context from loggers with support for that. + context_data: + + # When true, application logs will contain context data. + enabled: false + + # A comma separated list of attribute keys whose values should be sent to New Relic. + #include: + + # A comma separated list of attribute keys whose values should not be sent to New Relic. + #exclude: + + # The agent will generate metrics to indicate the number of + # application log events occurring at each distinct log level. + metrics: + + # When true, application log metrics will be reported. The default is true. + enabled: true + + # The agent will add linking metadata to each log line in your application log files. + # This feature should only be used if you want to use a third party log forwarder, instead + # of the agent's built-in forwarding feature, to send your application log events to New Relic. + #local_decorating: + + # When true, the agent will decorate your application log files with linking metadata. The default is false. + #enabled: false + + # Adds integration with CodeStream, introducing Code-Level Metrics! Golden Signals visible in your + # IDE through New Relic CodeStream. + code_level_metrics: + + # When true the agent will capture namespace and function information + # on spans to enable code level metrics in CodeStream. + enabled: true + + # Proxy settings for connecting to the New Relic server: + # If a proxy is used, the host setting is required. Other settings + # are optional. Default port is 8080. The username and password + # settings will be used to authenticate to Basic Auth challenges + # from a proxy server. Proxy scheme will allow the agent to + # connect through proxies using the HTTPS scheme. + #proxy_host: hostname + #proxy_port: 8080 + #proxy_user: username + #proxy_password: password + #proxy_scheme: https + + # Limits the number of lines to capture for each stack trace. + # Default is 30 + max_stack_trace_lines: 30 + + # Provides the ability to configure the attributes sent to New Relic. These + # attributes can be found in transaction traces, traced errors, + # transaction events, and page views. + attributes: + + # When true, attributes will be sent to New Relic. The default is true. + enabled: true + + #A comma separated list of attribute keys whose values should + # be sent to New Relic. + #include: + + # A comma separated list of attribute keys whose values should + # not be sent to New Relic. + #exclude: + + + # Defines which sets of http attributes the agent will send: standard, legacy or both (default). + # Having the agent send both sets will increase ingestion. + # Having the agent send only legacy may impact current or future functionality. + http_attribute_mode: both + + # Transaction tracer captures deep information about slow + # transactions and sends this to the New Relic service once a + # minute. Included in the transaction is the exact call sequence of + # the transactions including any SQL statements issued. + transaction_tracer: + + # Transaction tracer is enabled by default. Set this to false to turn it off. + # This feature is not available to Lite accounts and is automatically disabled. + # Default is true. + enabled: true + + # Threshold in seconds for when to collect a transaction + # trace. When the response time of a controller action exceeds + # this threshold, a transaction trace will be recorded and sent to + # New Relic. Valid values are any float value, or (default) "apdex_f", + # which will use the threshold for the "Frustrated" Apdex level + # (greater than four times the apdex_t value). + # Default is apdex_f. + transaction_threshold: apdex_f + + # When transaction tracer is on, SQL statements can optionally be + # recorded. The recorder has three modes, "off" which sends no + # SQL, "raw" which sends the SQL statement in its original form, + # and "obfuscated", which strips out numeric and string literals. + # Default is obfuscated. + record_sql: obfuscated + + # Set this to true to log SQL statements instead of recording them. + # SQL is logged using the record_sql mode. + # Default is false. + log_sql: false + + # Threshold in seconds for when to collect stack trace for a SQL + # call. In other words, when SQL statements exceed this threshold, + # then capture and send to New Relic the current stack trace. This is + # helpful for pinpointing where long SQL calls originate from. + # Default is 0.5 seconds. + stack_trace_threshold: 0.5 + + # Determines whether the agent will capture query plans for slow + # SQL queries. Only supported for MySQL and PostgreSQL. + # Default is true. + explain_enabled: true + + # Threshold for query execution time below which query plans will + # not be captured. Relevant only when `explain_enabled` is true. + # Default is 0.5 seconds. + explain_threshold: 0.5 + + # Use this setting to control the variety of transaction traces. + # The higher the setting, the greater the variety. + # Set this to 0 to always report the slowest transaction trace. + # Default is 20. + top_n: 20 + + # Error collector captures information about uncaught exceptions and + # sends them to New Relic for viewing. + error_collector: + + # This property enables the collection of errors. If the property is not + # set or the property is set to false, then errors will not be collected. + # Default is true. + enabled: true + + # Use this property to exclude specific exceptions from being reported as errors + # by providing a comma separated list of full class names. + # The default is to exclude akka.actor.ActorKilledException. If you want to override + # this, you must provide any new value as an empty list is ignored. + ignore_classes: + - "akka.actor.ActorKilledException" + + # Use this property to exclude specific http status codes from being reported as errors + # by providing a comma separated list of status codes. + # The default is to exclude 404s. If you want to override + # this, you must provide any new value because an empty list is ignored. + ignore_status_codes: 404 + + # Transaction events are used for histograms and percentiles. Non-aggregated data is collected + # for each web transaction and sent to the server on harvest. + transaction_events: + + # Set to false to disable transaction events. + # Default is true. + enabled: true + + # Events are collected up to the configured amount. Afterwards, events are sampled to + # maintain an even distribution across the harvest cycle. + # Default is 2000. Setting to 0 will disable. + max_samples_stored: 2000 + + # Distributed tracing lets you see the path that a request takes through your distributed system. + # This replaces the legacy Cross Application Tracing feature. + distributed_tracing: + + # Set to false to disable distributed tracing. + # Default is true. + enabled: true + + # Agent versions 5.10.0+ utilize both the newrelic header and W3C Trace Context headers for distributed tracing. + # The newrelic distributed tracing header allows interoperability with older agents that don't support W3C Trace Context headers. + # Agent versions that support W3C Trace Context headers will prioritize them over newrelic headers for distributed tracing. + # If you do not want to utilize the newrelic header, setting this to true will result in the agent excluding the newrelic header + # and only using W3C Trace Context headers for distributed tracing. + # Default is false. + exclude_newrelic_header: false + + # New Relic's distributed tracing UI uses Span events to display traces across different services. + # Span events capture attributes that describe execution context and provide linking metadata. + # Span events require distributed tracing to be enabled. + span_events: + + # Set to false to disable Span events. + # Default is true. + enabled: true + + # Determines the number of Span events that can be captured during an agent harvest cycle. + # Increasing the number of Span events can lead to additional agent overhead. A maximum value may be imposed server side by New Relic. + # Default is 2000 + max_samples_stored: 2000 + + # Provides the ability to filter the attributes attached to Span events. + # Custom attributes can be added to Span events using the NewRelic.getAgent().getTracedMethod().addCustomAttribute(...) API. + attributes: + + # When true, attributes will be sent to New Relic. The default is true. + enabled: true + + # A comma separated list of attribute keys whose values should be sent to New Relic. + #include: + + # A comma separated list of attribute keys whose values should not be sent to New Relic. + #exclude: + + # Thread profiler measures wall clock time, CPU time, and method call counts + # in your application's threads as they run. + # This feature is not available to Lite accounts and is automatically disabled. + thread_profiler: + + # Set to false to disable the thread profiler. + # Default is true. + enabled: true + + # New Relic Real User Monitoring (RUM) gives you insight into the performance real users are + # experiencing with your website. This is accomplished by measuring the time it takes for + # your users' browsers to download and render your web pages by injecting a small amount + # of JavaScript code into the header and footer of each page. + browser_monitoring: + + # By default the agent automatically inserts API calls in compiled JSPs to + # inject the monitoring JavaScript into web pages. Not all rendering engines are supported. + # See https://docs.newrelic.com/docs/agents/java-agent/instrumentation/new-relic-browser-java-agent#manual_instrumentation + # for instructions to add these manually to your pages. + # Set this attribute to false to turn off this behavior. + auto_instrument: true + + # Class transformer can be used to disable all agent instrumentation or specific instrumentation modules. + # All instrumentation modules can be found here: https://github.com/newrelic/newrelic-java-agent/tree/main/instrumentation + class_transformer: + + # This instrumentation reports the name of the user principal returned from + # HttpServletRequest.getUserPrincipal() when servlets and filters are invoked. + com.newrelic.instrumentation.servlet-user: + enabled: false + + com.newrelic.instrumentation.spring-aop-2: + enabled: false + + # This instrumentation reports metrics for resultset operations. + com.newrelic.instrumentation.jdbc-resultset: + enabled: false + + # Classes loaded by classloaders in this list will not be instrumented. + # This is a useful optimization for runtimes which use classloaders to + # load dynamic classes which the agent would not instrument. + classloader_excludes: + groovy.lang.GroovyClassLoader$InnerLoader, + org.codehaus.groovy.runtime.callsite.CallSiteClassLoader, + com.collaxa.cube.engine.deployment.BPELClassLoader, + org.springframework.data.convert.ClassGeneratingEntityInstantiator$ObjectInstantiatorClassGenerator, + org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer$ContextClassLoader, + gw.internal.gosu.compiler.SingleServingGosuClassLoader, + + # Enhanced Spring transaction naming. + # This feature will name any transaction that originates from a Spring controller after + # the defined route and HTTP method. For example: "/customer/v1/edit (POST)". + # This includes controllers that implement or extend interfaces/classes with WebMVC related + # annotations (@RestController, @Controller, @RequestMapping, etc). By default, this is configured + # to false, which will name transactions for those types of controllers based on the controller + # class name and method. For example; "CustomerController/edit". This is the naming logic carried + # over from previous agent versions. "Standard" controllers, with all relevant annotations + # present on the actual class, will still get named based on route and HTTP method. + enhanced_spring_transaction_naming: false + + # Actuator endpoint transaction naming + # By default, built-in actuator endpoints and custom actuator endpoints (using the @Endpoint annotation + # and its subclasses) will all be named as "OperationHandler/handle" in New Relic. Setting this + # to true will result in the transaction name reflecting the actual base actuator endpoint URI. + # For example, invoking "/actuator/loggers" or "actuator/loggers/com.newrelic" will result in the + # transaction name "actuator/loggers (GET)". This is to prevent MGI. + # Default is false. + name_actuator_endpoints: false + + # Real-time profiling using Java Flight Recorder (JFR). + # This feature reports dimensional metrics to the ingest endpoint configured by + # metric_ingest_uri and events to the ingest endpoint configured by event_ingest_uri. + # Both ingest endpoints default to US production but they will be automatically set to EU + # production when using an EU license key. Other ingest endpoints can be configured manually. + # Requires a JVM that provides the JFR library. + jfr: + + # Set to true to enable Real-time profiling with JFR. + # Default is false. + enabled: false + + # Set to true to enable audit logging which will display all JFR metrics and events in each harvest batch. + # Audit logging is extremely verbose and should only be used for troubleshooting purposes. + # Default is false. + audit_logging: false + + # The time interval, in seconds, of how often JFR data is sent to New Relic. + # The default is 10 seconds. + harvest_interval: 10 + + # The size of the queue used to store JFR events. Increasing this can reduce gaps in JFR reported data + # but can also cause resource issues in the agent or cause data to be dropped if backend pipeline + # limits are exceeded. + # See: https://docs.newrelic.com/docs/data-apis/ingest-apis/event-api/introduction-event-api/#limits + # https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/metric-api-limits-restricted-attributes/ + # Default is 250000 + queue_size: 250000 + + # User-configurable custom labels for this agent. Labels are name-value pairs. + # There is a maximum of 64 labels per agent. Names and values are limited to 255 characters. + # Names and values may not contain colons (:) or semicolons (;). + labels: + + # An example label + #label_name: label_value + + # New Relic Security vulnerability detection. + security: + # Determines whether the security data is sent to New Relic or not. When this is disabled and agent.enabled is + # true, the security module will run but data will not be sent. Default is false. + enabled: false + + # New Relic Security provides two modes: IAST and RASP + # Default is IAST. Due to the invasive nature of IAST scanning, DO NOT enable this mode in either a + # production environment or an environment where production data is processed. + mode: IAST + + # New Relic Security’s SaaS connection URL + validator_service_url: wss://csec.nr-data.net + + # To completely disable all security functionality, set this flag to false. This property is + # read only once at application start. Default is false. + agent: + enabled: false + + # This configuration allows users to specify a unique test identifier when running IAST Scan with CI/CD + iast_test_identifier: 'run-id' + + # Security controllers + scan_controllers: + # The scan_request_rate_limit configuration allows to specify maximum number of replay request played per minute. + # The maximum is 3600 and the minimum is 12 replay request per minute. + iast_scan_request_rate_limit: 3600 # Number of IAST replay request played per minute, Default is 3600 + # This configuration allows users to the number of application instances for a specific entity where IAST analysis is performed. + scan_instance_count: 0 # Values are 1 or 0, 0 signifies run on all application instances + + # The scan_schedule configuration allows to specify when IAST scans should be executed + scan_schedule: + # The delay field specifies the delay in minutes before the IAST scan starts. This allows to schedule the scan to start at a later time. + delay: 0 #In minutes, default is 0 min + # The duration field specifies the duration of the IAST scan in minutes. This determines how long the scan will run. + duration: 0 #In minutes, default is forever + + # The schedule field specifies a cron expression that defines when the IAST scan should start. + #schedule: "" #By default, schedule is inactive + + # Allow continuously sample collection of IAST events + always_sample_traces: false # Default is false + + # The exclude_from_iast_scan configuration allows to specify APIs, parameters, and categories that should not be scanned by Security Agents. + exclude_from_iast_scan: + # The api field specifies list of APIs using regular expression (regex) patterns that follow the syntax of Perl 5. The regex pattern should provide a complete match for the URL without the endpoint. + # Example: + # api: + # - .*account.* + # - .*/\api\/v1\/.*?\/login + api: [ ] + + # The parameters configuration allows users to specify headers, query parameters, and body keys that should be excluded from IAST scans. + # Example: + # http_request_parameters: + # header: + # - X-Forwarded-For + # query: + # - username + # - password + # body: + # - account.email + # - account.contact + http_request_parameters: + # A list of HTTP header keys. If a request includes any headers with these keys, the corresponding IAST scan will be skipped. + header: [ ] + # A list of query parameter keys. The presence of these parameters in the request's query string will lead to skipping the IAST scan. + query: [ ] + # A list of keys within the request body. If these keys are found in the body content, the IAST scan will be omitted. + body: [ ] + + # The iast_detection_category configuration allows to specify which categories of vulnerabilities should not be detected by Security Agents. + # If any of these categories are set to true, Security Agents will not generate events or flag vulnerabilities for that category. + iast_detection_category: + insecure_settings: false + invalid_file_access: false + sql_injection: false + nosql_injection: false + ldap_injection: false + javascript_injection: false + command_injection: false + xpath_injection: false + ssrf: false + rxss: false + + # Slow transaction detection will report an event to New Relic ("SlowTransaction") whenever a Transaction's + # time exceeds the threshold value (in ms). A transaction will only be reported once and by default, only + # transactions that are in-process during a harvest cycle will be checked. Only the slowest single transaction + # will be reported even if multiple transactions exceed the threshold. + slow_transactions: + enabled: true + threshold: 600000 + + # If this is set to true, every transaction will be checked for exceeding the defined threshold on + # transaction completion. Note that this can be computationally expensive since a stack trace is sent + # with every SlowTransaction event, if a large number of transaction exceed the threshold. + evaluate_completed_transactions: false + +# Application Environments +# ------------------------------------------ +# Environment specific settings are in this section. +# You can use the environment to override the default settings. +# For example, to change the app_name setting. +# Use -Dnewrelic.environment= on the Java startup command line +# to set the environment. +# The default environment is production. + +# NOTE if your application has other named environments, you should +# provide configuration settings for these environments here. + +development: + <<: *default_settings + app_name: My Application (Development) + +test: + <<: *default_settings + app_name: My Application (Test) + +production: + <<: *default_settings + +staging: + <<: *default_settings + app_name: My Application (Staging) +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file.mdx new file mode 100644 index 00000000000..e780e8cbf27 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file.mdx @@ -0,0 +1,5675 @@ +--- +title: "Configuration de l'agent Java\_: fichier de configuration" +tags: + - Agents + - Java agent + - Configuration +metaDescription: 'New Relic''s Java agent config settings for APM, including transaction tracer, errors, custom instrumentation, distributed tracing, system properties, etc.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java New Relic lit sa configuration à partir du fichier `newrelic.yml` . Par défaut, l&apos;agent recherche ce fichier dans le [répertoire](/docs/agents/manage-apm-agents/troubleshooting/find-agent-root-directory#java-agent) qui contient `newrelic.jar`. Vous pouvez remplacer l&apos;emplacement du fichier de configuration en définissant la propriété système [`newrelic.config.file`](#newrelic-config-file) sur un nom de fichier complet. + +Vous pourrez configurer notre agent Java en fonction de votre environnement après avoir [créé un compte New Relic](https://newrelic.com/signup) (c&apos;est gratuit, pour toujours) et [installé l'agent Java](/docs/apm/agents/java-agent/installation/install-java-agent/). + +## Structure du fichier de configuration [#Structure] + +Le fichier `newrelic.yml` comporte des sections distinctes pour différents environnements : + +* Test +* Développement +* simulation +* Production (par défaut) + +New Relic applique les paramètres de la section `common` à chacun de ces environnements. Vous pouvez sélectionner d’autres environnements par défaut en définissant la propriété système [`newrelic.environment`](#newrelic-environment) sur le nom de l’environnement. + + + Un [modèle`newrelic.yml` ](/docs/java/java-agent-config-file-template)est disponible. + + +Si vous éditez `newrelic.yml`, veillez à respecter le [format YAML](https://en.wikipedia.org/wiki/YAML). Utilisez un validateur YAML pour vous assurer que la syntaxe est exacte avant d&apos;utiliser le fichier avec l&apos;agent Java de New Relic et suivez ces règles : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Java agent newrelic.yml** + + + + **Requirements** + +
+ Format + + Les fichiers YML sont sensibles à la casse. +
+ Indentations + + Toutes les indentations doivent être incrémentées de deux caractères. D’autres indentations entraîneront une erreur `Unable to parse configuration file` au démarrage de l’agent. + + * Utilisez le même niveau d’indentation pour les données de la même section du fichier. + * Indentez chaque sous-section de deux espaces supplémentaires. +
+ Modifications apportées au fichier + + Vous devez redémarrer votre processus hôte JVM pour que les modifications prennent effet. + + **Exception:** Les modifications de propriété apportées à `log_level` et `audit_mode` ne nécessitent pas de redémarrage. Les modifications de propriété sous disjoncteur ne nécessitent pas de redémarrage. +
+ +## Priorité des paramètres de configuration [#config-options-precedence] + +Pour remplacer un paramètre dans le fichier de configuration, utilisez une [propriété système override](#System_Properties). Dans certains environnements, [les variables d'environnement](#Environment_Variables) peuvent également être utilisées pour remplacer à la fois le fichier de configuration et les propriétés système. Les variables d&apos;environnement existent principalement pour prendre en charge Heroku. Lorsqu&apos;elle est utilisée, [la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration) remplace tous les autres paramètres de configuration. + +java-config-order.png + +
+ Avec l'agent Java, la configuration côté serveur remplace tous les autres paramètres. Les variables d’environnement remplacent les propriétés du système Java. Les propriétés Java remplacent les paramètres de configuration utilisateur dans votre fichier `newrelic.yml` . Les paramètres utilisateur remplacent les paramètres par défaut `newrelic.yml` . +
+ +## Configuration du répertoire des extensions Java [#extensions-directory] + +L'agent Java lit les fichiers de configuration au démarrage du processus. Pour identifier le répertoire dans lequel se trouvent les fichiers, créez un nouveau répertoire d'extensions ou spécifiez un répertoire d'extensions existant : + + + + Pour créer le répertoire des extensions : + + 1. Accédez au répertoire où se trouvent `newrelic.jar` et `newrelic.yml` . Créez un répertoire nommé `extensions`. + 2. Dans `newrelic.yml`, vérifiez que la propriété [`extensions.dir`](#cfg-extensions-dir) n&apos;est pas définie. + + + + Pour utiliser un répertoire d’extensions Java existant : + + 1. Dans votre fichier `newrelic.yml`, recherchez la section `common` . + 2. Utilisez la propriété [`extensions.dir`](#cfg-extensions-dir) pour spécifier l’emplacement du fichier. + + + +## Paramètres de configuration générale [#General] + +Définissez ces options dans la section `common` . Pour [remplacer](#System_Properties) l’une de ces options, utilisez une propriété système préfixée par `newrelic.config` . + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Ce paramètre est **required**. Vous devez spécifier la [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) associée à votre compte New Relic. Cette clé lie les données de votre agent à votre compte dans le service New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Ce paramètre est **required**. Définit le [nom de l'application](/docs/site/naming-your-application) utilisé pour signaler les données à New Relic. + + Si [`enable_auto_app_naming`](#cfg-enable_auto_app_naming) est faux, l&apos;agent signale toutes les données à cette application. Dans le cas contraire, l&apos;agent signale uniquement les tâches d&apos;arrière-plan (transactions pour les applications non Web) à cette application. + + Pour signaler des données à [plusieurs application](/docs/java/multiple-application-names), séparez les noms application par un point-virgule. Par exemple, pour signaler des données à **My Application** et **My Application 2** utilisez ceci : + + ```yml + app_name: My Application;My Application 2 + ``` + + Pour plus de méthodes de dénomination de votre application, voir [Nommer votre application Java](/docs/agents/java-agent/configuration/name-your-java-application). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Drapeau pour activer l'agent. Utilisez ce paramètre pour forcer l’agent à s’exécuter ou non. +
+ + + + + + + + + + + + + + + + +
+ Taper + + virgule flottante +
+ Défaut + + `1.0` +
+ + Le seuil `apdex_t` en secondes pour le score [Apdex](/docs/site/apdex-measuring-user-satisfaction) de l&apos;application. Pour les versions agent Java 1.2.008 ou supérieures, la valeur `apdex_t` est définie dans l&apos;UI et la valeur dans `newrelic.yml` est ignorée. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + (aucun) +
+ + Numéro permettant de différencier les JVM pour la même application sur la même machine. New Relic [utilise l'hôte/port pour l'unicité](/docs/agents/java-agent/configuration/hostname-logic-java#unique-identifier), vous pouvez donc distinguer les JVM en plaçant un commutateur comme celui-ci dans les arguments de démarrage de chaque JVM : + + ```ini + -Dnewrelic.config.appserver_port=8081 + ``` + + Une fois que vous avez utilisé `appserver_port` pour nommer les JVM et les redémarrer, vous devriez pouvoir les voir individuellement dans la liste déroulante et dans l&apos;interface de profilage. + + + Il s'agit uniquement d'un changement pour New Relic ; cela n'affecte en rien le port sur lequel l'hôte communique. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Active le logging en texte brut de toutes les données envoyées à New Relic dans le fichier log de l'agent. Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Format de valeur + + `/path/to/ca/cert/bundle.pem` +
+ + Spécifie un chemin vers un ensemble de certificats SSL personnalisé qui sera utilisé par l'agent pour établir une connexion sécurisée à New Relic. Si votre ensemble de certificats SSL personnalisé n'inclut pas de certificats suffisants pour vous connecter à New Relic, vous devrez [fusionner les certificats requis dans votre ensemble de certificats personnalisé](/docs/agents/java-agent/troubleshooting/ssl-or-connection-errors-java). + + + Notre implémentation de Java Flight Recorder actuellement fournie avec l'agent Java utilise le SDK de télémétrie. La spécification d'un ca\_bundle\_path ne mettra pas à jour le certificat que notre option JFR utilise pour se connecter à New Relic. Si vous utilisez un truststore personnalisé et souhaitez utiliser l'implémentation JFR de l'agent Java, vous devrez ajouter les certificats requis dans votre truststore personnalisé. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Permet la création de rapports de données séparément pour chaque application Web. Définissez sur `true` pour activer la prise en charge de la dénomination automatique des applications. Le nom de chaque application Web est détecté automatiquement et l&apos;agent rapporte les données séparément pour chacune d&apos;elles. Cela fournit une répartition plus précise des performances des applications Web dans New Relic. + + Pour plus d'informations, voir [Nommage automatique des applications](/docs/agents/java-agent/configuration/automatic-application-naming). + + Pour plus de méthodes de dénomination de votre application, voir [Nommer votre application Java](/docs/agents/java-agent/configuration/name-your-java-application). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Permet la dénomination des transactions basée sur les composants. Définissez sur `true` pour activer la dénomination des transactions basée sur les composants. Définissez sur `false` pour utiliser l’URI d’une requête Web comme nom de la transaction. Pour plus d&apos;informations, voir [Nommage des transactions Web](/docs/agents/java-agent/instrumentation/naming-web-transactions). + + + À moins que vous n'implémentiez l'appel d'API pour nommer vos transactions, la désactivation de la dénomination automatique des transactions est très susceptible de provoquer [des problèmes de regroupement métrique](/docs/features/metric-grouping-issues). + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Active toute instrumentation [utilisant une annotation `@Trace` ](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-annotation). La désactivation de cette option entraîne l&apos;ignorance de `@Trace` annotations. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + [`https://insights-collector.newrelic.com/v1/accounts/events`](https://insights-collector.newrelic.com/v1/accounts/events) +
+ + Événement ingest URI utilisé par certaines fonctionnalités agent . La valeur par défaut est le point de terminaison d'ingestion de production américain. Peut être configuré manuellement pour envoyer l'événement à un autre point de terminaison d'ingestion (par exemple, production UE : [`https://insights-collector.eu01.nr-data.net/v1/accounts/events`](https://insights-collector.eu01.nr-data.net/v1/accounts/events)). + + Les clients conformes à FedRAMP doivent utiliser le [point de terminaison conforme à FedRAMP](/docs/security/security-privacy/compliance/fedramp-compliant-endpoints/#event-api): `https://gov-insights-collector.newrelic.com/v1/accounts/events` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définit l'emplacement du [répertoire des extensions](#extensions-directory) facultatives. Si cette propriété n&apos;est pas définie, l&apos;agent recherchera un sous-répertoire nommé `extensions` dans le même répertoire que `newrelic.jar` et `newrelic.yml`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Pour que [la haute sécurité](/docs/subscriptions/high-security) soit activée, cette propriété doit être définie sur `true` et la propriété de haute sécurité dans l&apos;interface utilisateur New Relic doit être activée. L&apos;activation de la haute sécurité signifie que SSL est activé, que les paramètres de demande et de fichier d&apos;attente des messages ne sont pas collectés et que la requête ne peut pas être envoyée à New Relic sous sa forme brute. + + + À partir de [l'agent Java 3.48.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-3480), SSL est activé par défaut et l&apos;option de configuration permettant de le désactiver est obsolète. À partir de [l'agent Java 4.0.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-400), la possibilité de désactiver SSL a été supprimée. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Fournit la possibilité de configurer un [point de terminaison compatible FedRAMP](/docs/security/security-privacy/compliance/fedramp-compliant-endpoints/) pour l&apos;agent à utiliser, avec la valeur `gov-collector.newrelic.com`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Une [clé API d'insertion](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#event-insert-key) valide pour votre compte. Ceci n&apos;est pas actuellement utilisé par l&apos;agent. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `""` +
+ + Attachez [une étiquette](/docs/apm/new-relic-apm/maintenance/labels-categories-organize-your-apps-servers) à cette application. + + Notez que cette option active désormais la balise, qui a remplacé la fonctionnalité d'étiquette. Vous pouvez toujours interroger vos [étiquettes](/docs/new-relic-one/use-new-relic-one/core-concepts/tagging-use-tags-organize-group-what-you-monitor#labels) historiques. Plusieurs balises peuvent être attachées en utilisant un point-virgule comme séparateur comme suit : + + ```ini + -Dnewrelic.config.labels="tagName1:tagValue1;tagName2:tagValue2;tagName3:tagValue3" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + FAUX +
+ + Dans de rares cas, une fuite de mémoire peut se produire avec instrumentation qui utilise l'legacy asynchrone API pour suivre le cycle de vie des servlets asynchrones ou des Jetty continuations . La fuite de mémoire se manifesterait par des transactions divulguées qui ont été suspendues mais jamais reprises. Cette configuration agit comme une solution de contournement pour empêcher qu'un tel scénario ne se produise. Il est conseillé d'activer cette solution de contournement uniquement en cas de fuite de mémoire. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `30` +
+ + Limite le nombre de lignes que l'agent collecte à partir de chaque trace d'appels. L’augmentation de cette valeur peut avoir un impact sur les performances, car elle augmente la quantité de mémoire utilisée par l’agent et la quantité de données envoyées à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + [`https://metric-api.newrelic.com/metric/v1`](https://metric-api.newrelic.com/metric/v1) +
+ + Métrique ingest URI utilisé par certaines fonctionnalités agent . La valeur par défaut est le point de terminaison d'ingestion de production américain. Peut être configuré manuellement pour envoyer des métriques à d'autres points de terminaison d'ingestion (exemple d'URI de production UE : [`https://metric-api.eu.newrelic.com/metric/v1`](https://metric-api.eu.newrelic.com/metric/v1)). + + Les clients conformes à FedRAMP doivent utiliser le [point de terminaison conforme à FedRAMP](/docs/security/security-privacy/compliance/fedramp-compliant-endpoints/#metric-api): `https://gov-metric-api.newrelic.com/metric/v1` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + L'hôte proxy via lequel se connecter au [collecteur New Relic](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector). Si un proxy est utilisé, le paramètre hôte est requis. Les autres paramètres proxy sont facultatifs. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Le mot de passe pour l'authentification proxy. Si un proxy est utilisé, le paramètre hôte est requis. Les autres paramètres proxy sont facultatifs. Les paramètres de nom d'utilisateur et de mot de passe seront utilisés pour s'authentifier auprès des défis d'authentification de base à partir d'un serveur proxy. + + + L'agent Java prend en charge l'authentification de base (texte clair). + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `8080` +
+ + Le numéro de port de l'hôte proxy. Si un proxy est utilisé, le paramètre hôte est requis. Les autres paramètres proxy sont facultatifs. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Le nom d'utilisateur pour l'authentification proxy, telle que l'authentification de base (texte clair). Si un proxy est utilisé, le paramètre hôte est requis. Les autres paramètres proxy sont facultatifs. Les paramètres de nom d'utilisateur et de mot de passe seront utilisés pour s'authentifier auprès des défis d'authentification de base à partir d'un serveur proxy. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Le schéma proxy utilisé. Le paramètre `proxy_scheme: "https"` permettra à l&apos;agent de se connecter via des proxys en utilisant le schéma HTTPS. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Si des erreurs sont signalées pour Reactor Netty. La valeur par défaut est faux. Si défini sur vrai, les erreurs Reactor Netty seront signalées. + + + Disponible uniquement dans [l'agent Java 6.3.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-630) et supérieur. + + Notez que la valeur par défaut a été modifiée sur false à partir de l'agent Java 6.5.0. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activez l’arrêt différé de la JVM pour donner à l’agent une chance d’envoyer les dernières données de métrique à New Relic avant l’arrêt de la JVM. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `60` +
+ + Le nombre de secondes après lequel l'agent utilisera le paramètre [`send_data_on_exit`](#cfg-send_data_on_exit) . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer la création de rapports sur les paramètres JVM vers New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Lorsqu'il est défini sur `true`, les propriétés JVM seront envoyées à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Nécessite des connexions au collecteur New Relic pour passer par SSL. + + L'agent communique avec New Relic via HTTPS par défaut, et New Relic [requiert HTTPS](/docs/apis/rest-api-v2/troubleshooting/301-response-rest-api-calls) pour tout le trafic vers et l&apos;API REST New Relic. + + Ce travail est effectué de manière asynchrone par rapport aux threads qui traitent le code de votre application, de sorte que les temps de réponse ne seront pas directement affectés par ce changement. + + + À partir de [l'agent Java 3.48.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-3480), SSL est activé par défaut et l&apos;option de configuration permettant de le désactiver est obsolète. À partir de [l'agent Java 4.0.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-400), la possibilité de désactiver SSL a été supprimée. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Permettez à l'agent de connecter le collecteur New Relic immédiatement au démarrage de l'application. +
+ + + + Ceci s'applique à l'agent Java [version 3.44.0 ou supérieure](/docs/release-notes/agent-release-notes/java-release-notes). + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Pour trace plus concis des détails de la transaction, l'agent ne signale pas les contrats à terme Scala comme des segments de transaction, et ces contrats à terme ne contribuent pas au [temps total de la transaction](/docs/data-analysis/user-interface-functions/view-your-data/response-time#response-time-total-time). + + L'activation de `scala_futures_as_segments` augmente vos frais généraux. Si vous souhaitez que Scala Futures génère des rapports sous forme de segments de transaction afin que vous puissiez les afficher dans une trace de transaction, vous pouvez l&apos;activer : + + ```yml + scala_futures_as_segments: + enabled: true + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Lorsque le temps exclusif d'un segment est inférieur à 2 % du temps total de transaction, la métrique pour cet appel de méthode sera agrégée sous `Java/other`. + + La définition de `trim_stats` sur `false` désactivera ce comportement, permettant aux métriques d&apos;être affichées individuellement. + + ```yml + trim_stats: false + ``` +
+
+ +## Variables d'environnement [#Environment\_Variables][#Environment_Variables] + +Les variables d'environnement ont la plus haute priorité et remplacent les propriétés système et les paramètres de configuration YML. + +* Pour définir des variables d’environnement, utilisez la commande `export VARNAME=value` . +* Pour définir de manière permanente les variables d'environnement, ajoutez la ligne d'exportation à un fichier tel que `~/.bashrc` ou `~/.bash_profile`. + +Vous pouvez remplacer n’importe quel paramètre d’une propriété système ou dans `newrelic.yml` en définissant une variable d’environnement. La variable d&apos;environnement correspondant à un paramètre donné dans le fichier de configuration est le nom du paramètre préfixé par `NEW_RELIC` avec tous les points (`.`) et les tirets (`-`) remplacés par des traits de soulignement (`_`). Par exemple, la variable d’environnement pour le paramètre `log_level` est `NEW_RELIC_LOG_LEVEL`. + +Pour les paramètres imbriqués dans des sections, ajoutez le nom de la section au nom du paramètre. Par exemple: + +```yml: + class_transformer: + com.newrelic.instrumentation.kafka-clients-spans-0.11.0.0: + enabled: true +``` + +La configuration ci-dessus se convertirait en la variable d'environnement suivante : `NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_KAFKA_CLIENTS_SPANS_0_11_0_0_ENABLED` + + + La configuration de l'agent via des variables d'environnement nécessite [l'agent Java version 4.10.0 ou supérieure](/docs/agents/java-agent/installation/upgrade-java-agent). + + +## Propriétés du système [#System\_Properties][#System_Properties] + +Vous pouvez remplacer n’importe quel paramètre du fichier `newrelic.yml` en définissant une propriété système. La propriété système correspondant à un paramètre donné dans le fichier de configuration est le nom du paramètre préfixé par `newrelic.config`. Par exemple, la propriété système pour le paramètre `log_level` est `newrelic.config.log_level`. + +Pour les paramètres imbriqués dans des sections, ajoutez le nom de la section au nom du paramètre. Par exemple, la propriété système pour le paramètre `enabled` dans la section transaction\_tracer est `newrelic.config.transaction_tracer.enabled`. + +En plus de remplacer les paramètres de configuration, l'agent reconnaît ces propriétés système : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + (aucun) +
+ + À partir de la version agent `8.7.0`, si elle est définie sur true et que l&apos;agent s&apos;exécute avec JBoss EAP / Wildfly, cela empêchera l&apos;agent d&apos;exiger qu&apos;une classe sous le package `javax.management` soit chargée par le chargeur de classes système. Ceci est ajouté pour aider à résoudre les problèmes de démarrage d&apos;application avec les modules JBoss lorsque l&apos;API de gestion J2EE/Jakarta est utilisée. Plus d&apos;informations sont fournies dans le [document de dépannage](/docs/apm/agents/java-agent/troubleshooting/classloading-issues-from-jboss-and-wildfly) JBoss / Wildfly. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + (aucun) +
+ + Drapeau expérimental qui permet à l'agent de s'exécuter avec des versions Java non prises en charge. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez un [nom](/docs/agents/java-agent/configuration/hostname-logic-java#display-name) d&apos;affichage pour décorer l&apos;étiquette « hôte : port » dans l&apos;UI de New Relic . Nécessite l&apos;agent Java 3.17 ou supérieur. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Chaîne contenant un chemin d'accès complet au fichier de configuration newrelic. Si vide, l'agent suppose que `newrelic.yml` se trouve dans le même répertoire que `newrelic.jar`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + (aucun) +
+ + Activer le logging de débogage. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Chaîne contenant la configuration de l'environnement que l'agent doit utiliser. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Chaîne contenant le répertoire personnel de l'agent. La valeur par défaut est le même répertoire que le fichier jar de l'agent. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `newrelic_agent.log` +
+ + Chaîne contenant le nom du agent fichier de log. +
+
+ +## Monitoring de l'IA [#ai-monitoring] + +Cette section détaille les agent Java configuration options pour [monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring). Cette fonctionnalité peut être configurée dans la strophe du fichier de configuration yaml `ai_monitoring`, avec des propriétés système préfixées `newrelic.config.ai_monitoring.` ou avec des variables d&apos;environnement préfixées `NEW_RELIC_AI_MONITORING_` . + + + Si le traçage distribué est désactivé ou si le mode haute sécurité est activé, monitoring de l'IA ne collectera pas de données AI. + + + + Lorsque cette option est activée, monitoring de l'IA enregistre une copie en continu des entrées et des sorties envoyées vers et depuis les modèles que vous choisissez de monitorer, y compris toutes les informations personnelles qu'ils contiennent. Vous êtes responsable d'obtenir le consentement de l'utilisateur de votre modèle pour que son interaction puisse être enregistrée par un tiers (New Relic) dans le but d'assurer la monitoring de la fonctionnalité IA. + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Lorsque défini sur `true`, active monitoring de l&apos;IA. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Si défini sur `false`, agent omettra le contenu d&apos;entrée et de sortie (comme les chaînes de texte de l&apos;invite et des réponses) capturées dans l&apos;événement LLM. Il s&apos;agit d&apos;un paramètre de sécurité facultatif si vous ne souhaitez pas enregistrer les données sensibles envoyées et reçues par vos LLM. +
+
+ +## attribut [#attributes] + +Pour définir ces options, utilisez la section `attributes` . Pour les [remplacer](#System_Properties), utilisez une propriété système préfixée par `newrelic.config.attributes` . + +Les attributs sont des paires valeur clé liées à la trace de transaction, aux erreurs de trace, à et à l&apos;événement de transaction. Il y a une section `attribute` sous chaque destination. Pour plus d&apos;informations, voir [agent Java Attribut](/docs/java/java-agent-attributes), [Activation et désactivation de](/docs/java/enabling-and-disabling-attributes) l&apos;attribut et [Exemples d'attribut](/docs/java/attribute-examples). + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs. + + + Pour des raisons de sécurité, la capture d'attribut personnalisé à l'aide de l'[éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui#options) est définie sur `false` par défaut. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés, les clés d'attribut trouvées dans cette liste seront envoyées à New Relic. Séparez les clés de la liste par une virgule ; par exemple : + + ``` + key1, key2, key3 + ``` + + Reportez-vous également aux [règles d’attributsagent ](/docs/subscriptions/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic. Séparez les clés de la liste par une virgule ; par exemple : + + ``` + key1, key2, key3 + ``` + + Reportez-vous également aux [règles d’attributsagent ](/docs/subscriptions/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + les deux +
+ + Les rapports d'attributs sont configurables via les moyens suivants. + + Fichiers YAML: + + ``` + attributes: + http_attribute_mode: both + ``` + + Propriété du système : + + ```properties + -Dnewrelic.config.attributes.http_attribute_mode=both + ``` + + Variable d'environnement : + + ```properties + NEW_RELIC_ATTRIBUTES_HTTP_ATTRIBUTE=both + ``` + + Les options de configuration sont : + + * `standard` : Les rapports utiliseront la norme (c.-à-d. Attribut OTEL). Cette configuration est encouragée. Cela minimisera l’impact sur la fonctionnalité et maintiendra le niveau d’ingestion le plus bas pour les rapports d’attributs. + * `legacy` : Le reporting sera effectué par l&apos;attribut HTTP réintroduit, cette configuration peut avoir un impact sur les fonctionnalités actuelles ou futures. + * `both` : Il s&apos;agit de la configuration par défaut, le reporting sera effectué par l&apos;attribut HTTP réintroduit et l&apos;attribut OTEL. Cette configuration augmentera également votre ingestion de données. + + + Disponible depuis [la version 8.8.0 de l'agent Java](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-880). La configuration par défaut, `both`, augmentera l&apos;ingestion de données. Pour éviter une augmentation de l&apos;ingestion de données, vous devez remplacer la valeur par défaut en définissant `http_attribute_mode` sur `legacy` ou `standard`. + +
+
+ +## instrumentationasynchrone [#async\_config][#async_config] + +Ces options sont définies directement dans la section `common` et peuvent être [remplacées](#System_Properties) en utilisant une propriété système préfixée. + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Par défaut (secondes) + + `180` +
+ + Le nombre de secondes après lequel l'agent expirera automatiquement un jeton asynchrone qui n'a pas été explicitement expiré avec `token.expire()`. Pour les instructions d&apos;utilisation, voir [jeton : Connecter des threads asynchrones](/docs/agents/java-agent/java-agent-api/java-agent-api-asynchronous-applications#tokens). + + + L'augmentation de cette valeur peut avoir un impact sur les performances, car elle augmente la quantité de mémoire utilisée par l'agent et empêche les transactions d'être signalées en raison d'un jeton non expiré. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Par défaut (secondes) + + `600` +
+ + Le nombre de secondes après lequel l'agent terminera automatiquement un segment qui n'a pas été explicitement terminé par `segment.end()` ou `segment.ignore()`. Pour les instructions d&apos;utilisation, voir [Segments : Activité asynchrone arbitraire temporelle](/docs/agents/java-agent/java-agent-api/java-agent-api-asynchronous-applications#segments). + + + L’augmentation de cette valeur peut avoir un impact sur les performances, car elle augmente la quantité de mémoire utilisée par l’agent et empêche les transactions d’être signalées en raison de segments non terminés. + +
+
+ +## Monitoring de navigateurs [#Browser\_Monitoring][#Browser_Monitoring] + +Ces options sont définies dans la section `browser_monitoring` et peuvent être [remplacées](#System_Properties) en utilisant une propriété système préfixée par `newrelic.config.browser_monitoring` . + +monitoring des navigateurs vous donne des informations détaillées sur les performances réelles des utilisateurs avec votre site Web. Cela se fait en mesurant le temps qu'il faut au navigateur de votre utilisateur pour télécharger et restituer vos pages Web en injectant une petite quantité de code JavaScript dans l'en-tête et le pied de page de chaque page. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Par défaut, l'agent insère automatiquement l'appel d'API dans les JSP compilés pour injecter le JavaScript monitoring dans les pages Web. Définissez cet attribut sur `false` pour désactiver ce comportement. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes séparées par des virgules +
+ Défaut + + (aucun) +
+ + Lorsque [`auto_instrument`](#bm-auto_instrument) est `true`, par défaut toutes les pages sont instrumentées. Listez ici toutes les pages que vous souhaitez que l’instrumentation automatique ignore. Vous pouvez toujours utiliser l&apos;instrumentation manuelle sur ces pages. + + Par exemple: + + ```yml + browser_monitoring: + disabled_auto_pages: /WEB-INF/jsp/testpage_1.jsp, /WEB-INF/jsp/testpage_2.jsp + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs de monitoring des navigateurs. Voici les [données que vous pouvez interroger](/docs/query-your-data/explore-query-data/explore-data/introduction-querying-new-relic-data). Si `attributes.enabled` est faux au niveau racine, aucun attribut ne sera envoyé dans monitoring des navigateurs, quelle que soit la manière dont cette propriété sous `browser_monitoring` est définie. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour `browser_monitoring`, toutes les clés d&apos;attribut trouvées dans cette liste seront envoyées à New Relic dans les vues de page. Pour plus d&apos;informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic dans les vues de page. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+
+ +## disjoncteur + +Ces paramètres personnalisent le comportement du [disjoncteur Java](/docs/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation). Ces paramètres ne sont pas inclus dans `newrelic.yml` par défaut. Vous n&apos;avez pas besoin de redémarrer votre JVM après les avoir modifiés. + +Si vous souhaitez personnaliser le disjoncteur, ajoutez-le sous la section `common` : + +```yml +common: &default_settings​ + OTHER_CONFIG_SETTINGS + circuitbreaker: + enabled: true + memory_threshold: 20 + gc_cpu_threshold: 10 +``` + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Si votre application se comporte comme prévu, vous souhaiterez peut-être désactiver le disjoncteur. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier (0 à 100) +
+ Défaut + + `20` +
+ + Personnalisez le pourcentage de mémoire de tas libre en dessous duquel le disjoncteur doit se déclencher. Lorsque le pourcentage de mémoire de tas libre est inférieur à `memory_threshold` et que le temps CPU consacré à la collecte des déchets est supérieur à `gc_cpu_threshold`, le disjoncteur se déclenche. Afin de réduire la probabilité de déclenchement du disjoncteur, diminuez `memory_threshold` et/ou augmentez `gc_cpu_threshold`. Ajustez ces valeurs selon vos besoins, en fonction des performances de fonctionnement et du comportement de votre application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier (0 à 100) +
+ Défaut + + `10` +
+ + Personnalisez le pourcentage de temps CPU de collecte des déchets au-dessus duquel le disjoncteur doit se déclencher. Lorsque le pourcentage de mémoire de tas libre est inférieur à `memory_threshold` et que le temps CPU consacré à la collecte des déchets est supérieur à `gc_cpu_threshold`, le disjoncteur se déclenche. Afin de réduire la probabilité de déclenchement du disjoncteur, diminuez `memory_threshold` et/ou augmentez `gc_cpu_threshold`. Ajustez ces valeurs selon vos besoins, en fonction des performances de fonctionnement et du comportement de votre application. +
+
+ +## configurationdu cloud + +Définissez les options liées au cloud, dans la section `cloud` du YAML de l&apos;agent. Vous pouvez remplacer ces paramètres par une [propriété système](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#System_Properties) préfixée `newrelic.config.cloud` ou une [variable d'environnement](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#Environment_Variables) préfixée `NEW_RELIC_CLOUD_` . + +Un exemple de configuration : + +```yml +cloud: + aws: + account_id: 123456789012 +``` + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Ce paramètre est lu par certaines de services cloud instrumentation afin que `cloud.resource_id` l&apos;attribut puisse être défini dans les étendues respectives. + + AWS DynamoDB et Kinesis sont des services qui nécessitent cette valeur pour pouvoir renseigner l'attribut `cloud.resource_id` . De même, AWS Lambda exige que cette valeur lorsque l’ID de compte ne fait pas partie du nom de la fonction. + + L'appel suivant remplacera ce paramètre : + + ```java + NewRelic.getAgent().getCloud().setAccountInfo(CloudAccountInfo.AWS_ACCOUNT_ID, "..."); + ``` +
+
+ +## Utilisation de la plateforme cloud [#utilization] + +Définissez les paramètres d’utilisation de la plateforme cloud dans la section `utilization` et pouvez les remplacer par la propriété système préfixée `newrelic.config.utilization` . + +L'agent collecte les informations d'utilisation et les envoie au service New Relic. L'agent peut collecter des informations à partir d'Amazon Web Services (AWS), Azure, Google Cloud Platform et d'une instance Pivotal Cloud Foundry. Il collectera également des informations liées au conteneur Docker et aux services Kubernetes . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge l'API de métadonnées AWS. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l’agent interroge l’API de métadonnées Azure. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge l'API de métadonnées Google Cloud Platform. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent signale la variable d'environnement `KUBERNETES_SERVICE_HOST` . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent lit les variables d'environnement Pivotal Cloud Foundry. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent lit les informations Docker à partir du système de fichiers. +
+
+ +## Métriques au niveau du code + +[niveau du code métriques](/docs/codestream/observability/code-level-metrics) vous donne des informations détaillées sur les performances de votre code au niveau de la méthode. Vous verrez des métriques pour chaque méthode qui a été instrumentée automatiquement, ou qui a été instrumentée par l&apos;annotation @Trace. + +Définissez les options de métriques au niveau du code dans la section `code_level_metrics` . Ils peuvent être [remplacés](#System_Properties) par une propriété système préfixée `newrelic.config.code_level_metrics` . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + [Les métriques au niveau du code](/docs/codestream/observability/code-level-metrics) sont désactivées par défaut dans la version 7.10.0 de l&apos;agent. Réglez ceci sur vrai pour l&apos;activer. À partir de la version 7.11.0 de l&apos;agent, la valeur par défaut est, comme indiqué ci-dessus, `true`. +
+
+ +## Erreurs configurationde la boîte de réception [#errors-inbox-configuration] + +La définition de l’une des balises suivantes vous aidera à identifier les versions de votre logiciel qui génèrent les erreurs. + +* `NEW_RELIC_METADATA_SERVICE_VERSION` créera `tags.service.version` sur les données d&apos;événement contenant la version de votre code qui est déployée, dans de nombreux cas une version sémantique telle que 1.2.3, mais pas toujours. +* `NEW_RELIC_METADATA_RELEASE_TAG `créera `tags.releaseTag` sur les données d&apos;événement contenant la tag de sortie (comme v0.1.209 ou sortie-209). +* `NEW_RELIC_METADATA_COMMIT` créera `tags.commit` sur les données d&apos;événement contenant le commit sha. Vous pouvez utiliser le SHA entier ou simplement les sept premiers caractères (par exemple, 734713b). + +Une prochaine version de la boîte de réception des erreurs suivra automatiquement les versions de votre logiciel qui génèrent des erreurs. Les données de version s'afficheront dans [CodeStream](/docs/codestream/how-use-codestream/performance-monitoring/#buildsha). + +## traceur inter-application [#Cross\_Application\_Tracer][#Cross_Application_Tracer] + + + Le traçage inter-applications est obsolète à partir de la version 7.4.0 de l'agent et sera supprimé dans une future version de l'agent. + + Au lieu d'utiliser le traçage inter-application, nous recommandons notre fonctionnalité [de traçage distribué](#distributed-tracing) . tracing distribué est une amélioration de la fonctionnalité de tracing inter-applicationet est recommandé pour les grands systèmes distribués. + + +Définissez les options de traçage inter-applications dans la section `cross_application_tracer` . Ces paramètres peuvent être [remplacés](#System_Properties) par une propriété système préfixée `newrelic.config.cross_application_tracer` . + +[Le traçage inter-application](/docs/apm/transactions/cross-application-traces/cross-application-tracing) ajoute des en-têtes de demande et de réponse aux appels externes à l&apos;aide de la bibliothèque Apache HttpClient. Cela fournit de meilleures données de performances lors de l&apos;appel du moniteur d&apos;application par un autre agent New Relic . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + [Le traçage inter-applications](/docs/apm/transactions/cross-application-traces/cross-application-tracing) est activé par défaut. Réglez ceci sur faux pour le désactiver. +
+
+ +## Événements personnalisés [#Custom\_Events][#Custom_Events] + +Définissez les paramètres de l'événement personnalisé dans la section `custom_insights_events` . Vous pouvez [remplacer](#System_Properties) ces paramètres par une propriété système préfixée par `newrelic.config.custom_insights_events` . + +APM vous [permet d'enregistrer des données d'événements personnalisés](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) via agent APIl&apos;de de langage New Relic, que [vous pouvez ensuite requêter .](/docs/query-your-data/explore-query-data/explore-data/introduction-querying-new-relic-data) + + + Pour les versions d'agent Java antérieures à 4.1.0, la configuration YAML suivante est reconnue : + + ```yml + custom_insights_events.enabled: true + custom_insights_events.max_samples_stored: 5000 + ``` + + Pour les versions d'agent 4.1.0 et au-dessus, la configuration YAML utilise le formatage de section imbriquée : + + ```yml + custom_insights_events: + enabled: false + max_samples_stored: 5000 + ``` + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Cela active le service événement personnalisé. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `255` +
+ + La taille maximale d'une valeur d'attribut, après laquelle la valeur sera tronquée. La valeur par défaut est `255` octets (dans le codage de jeu de caractères UTF-8) et la limite maximale est `4095`. + + Cette configuration existe dans l'agent Java version 8.9.0+. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `30000` +
+ + * Le nombre maximal d'événements personnalisés échantillonnés signalés toutes les 60 secondes. + * Lors de la configuration de l'agent pour [monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring), définissez la valeur maximale sur `100000`. Garantit que la quantité maximale d&apos;événements LLM est capturée. +
+
+ +## Transformateur de classe [#Class\_Transformer][#Class_Transformer] + +Définissez les paramètres liés à l’instrumentation dans la section `class_transformer` . Vous pouvez remplacer ces paramètres par une [propriété système](#System_Properties) préfixée `newrelic.config.class_transformer` ou une [variable d'environnement](#Environment_Variables) préfixée `NEW_RELIC_CLASS_TRANSFORMER_` . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + FAUX +
+ + Lorsque cette option est activée, la dénomination améliorée des transactions Spring nommera toute transaction provenant d'un contrôleur Spring d'après l'itinéraire défini et la méthode HTTP. Par exemple : `/customer/v1/edit (POST)`. Cela inclut les contrôleurs qui implémentent ou étendent les interfaces/classes avec des annotations liées à WebMVC (`@RestController`, `@Controller`, `@RequestMapping`, etc.). + + Par défaut, cette valeur est configurée sur `false`, ce qui nommera les transactions pour ces types de contrôleurs en fonction du nom de la classe et de la méthode du contrôleur. Par exemple ; `CustomerController/edit`. Il s’agit de la logique de dénomination reprise des versions précédentes de l’agent. Les contrôleurs « standard », avec toutes les annotations pertinentes présentes sur la classe réelle, seront toujours nommés en fonction de l&apos;itinéraire et de la méthode HTTP. + + Cette configuration existe dans l'agent Java version 8.9.0+. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + FAUX +
+ + Par défaut, le point de terminaison de l'actionneur intégré et le point de terminaison de l'actionneur personnalisé (utilisant l'annotation `@endpoint` et ses sous-classes) seront tous nommés `OperationHandler/handle` dans New Relic. L&apos;activation de ce paramètre entraînera que le nom de la transaction reflétera l&apos;URI du point de terminaison de l&apos;actionneur de base réel. Par exemple, l&apos;appel de `/actuator/loggers` ou `actuator/loggers/com.newrelic` entraînera le nom de transaction `actuator/loggers (GET)`. Ceci est pour empêcher le MGI. + + Pris en charge lors de l'utilisation de Spring Boot v3 et versions ultérieures. + + Cette configuration existe dans l'agent Java version 8.15.0+. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Chaîne contenant le nom complet de la classe d'annotation que l'agent utilise pour déterminer les méthodes spécifiées par l'utilisateur à instrument. Pour plus d'informations sur les annotations personnalisées, consultez [Collection de métriques personnalisées Java](/docs/java/java-custom-metric-collection). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activez cette option pour capturer le nom `userPrincipal` . Ce nom est inclus comme attribut de trace de transaction (avec les noms d&apos;attribut `user` et `enduser.id`) et [peut être interrogé](/docs/query-your-data/explore-query-data/explore-data/introduction-querying-new-relic-data). Cela vous permet également de voir dans [la boîte de réception des erreurs combien d'utilisateurs sont impactés par un groupe d'erreurs](/docs/errors-inbox/error-users-impacted/). +
+
+ +## Tracing distribué [#dt-main] + + + L'activation du traçage distribué désactive [le traçage inter-application](#Cross_Application_Tracer) et a d&apos;autres effets sur la fonctionnalité APM . Avant l&apos;activation, lisez le [guide de transition](/docs/transition-guide-distributed-tracing). + + Nécessite [l'agent Java version 4.3.0 ou supérieure](/docs/agents/java-agent/installation/upgrade-java-agent). + + +[Le traçage distribué](/docs/understand-dependencies/distributed-tracing/get-started/introduction-distributed-tracing) vous permet de voir le chemin emprunté par une requête lorsqu&apos;elle traverse un système distribué. Il est activé par défaut pour l&apos;agent Java version 7.4.0 ou supérieure. + +Dans le fichier de configuration, vous pouvez remplacer cela manuellement dans la section `distributed_tracing` . Vous pouvez également remplacer cela en utilisant une propriété système préfixée (`newrelic.config.distributed_tracing`) ou une variable d&apos;environnement (`NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`). Voir les exemples ci-dessous. + +Pour plus d'informations sur la configuration du traçage distribué, voir [Activer le traçage distribué pour votre application Java ](/docs/apm/agents/go-agent/instrumentation/distributed-tracing-go-agent). + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Définissez ceci sur `false` pour désactiver le traçage distribué. Par exemple, dans le fichier de configuration, vous utiliseriez : + + ```yml + distributed_tracing: + enabled: false + ``` + + Voici d’autres options pour désactiver le traçage distribué : + + [Propriété du système](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#System_Properties): + + ```ini + -Dnewrelic.config.distributed_tracing.enabled=false + ``` + + Variable environnementale : + + ```ini + NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Par défaut, les versions prises en charge de l'agent utilisent à la fois l'en-tête `newrelic` et les en-têtes W3C Trace Context pour le traçage distribué. L&apos;en-tête distribué de traçage `newrelic` permet l&apos;interopérabilité avec les agents plus anciens qui ne prennent pas en charge les en-têtes W3C Trace Context . les versions d&apos;agent qui prennent en charge les en-têtes W3C Trace Context les prioriseront par rapport aux en-têtes `newrelic` pour le traçage distribué. + + Si vous ne souhaitez pas utiliser l'en-tête `newrelic`, définissez-le sur `true` pour que l&apos;agent exclue l&apos;en-tête `newrelic` et utilise uniquement les en-têtes W3C Trace Context pour le traçage distribué. + + Par exemple, pour exclure les en-têtes `newrelic` dans le fichier de configuration, vous utiliseriez : + + ```yml + distributed_tracing: + exclude_newrelic_header: true + ``` + + Pour exclure les en-têtes `newrelic` à l&apos;aide d&apos;une [propriété système](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#System_Properties), vous devez utiliser : + + ```ini + -Dnewrelic.config.distributed_tracing.exclude_newrelic_header=true + ``` +
+
+ +## Erreur de collecte [#Error\_Collector][#Error_Collector] + +Définissez les paramètres du collecteur d’erreurs dans la section `error_collector` . Sauf indication contraire, vous pouvez [remplacer](#System_Properties) ces paramètres par une propriété système préfixée par `newrelic.config.error_collector` . Le collecteur d&apos;erreurs capture des informations sur les exceptions non détectées et les envoie à New Relic pour affichage. + + + Pour savoir comment configurer les erreurs pour l'agent Java, notamment comment configurer les erreurs via l'UI, consultez [agent Java des erreurs configuration](/docs/agents/java-agent/configuration/java-agent-error-configuration). + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer la collecte des erreurs. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Section contenant une liste de chaînes `class_name` entièrement qualifiées +
+ Défaut + + (aucun) +
+ + Les noms de classe d'exception spécifiés seront ignorés et n'affecteront pas le taux d'erreur ou le score Apdex, ni ne seront signalés à APM. **Cannot be specified by system property.** + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + ignore_classes: + - "com.example.MyException" + - "com.example.DifferentException" + ``` + + Une variable d'environnement peut être utilisée pour répertorier les noms de classes d'exception que vous souhaitez ignorer : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_IGNORE_CLASSES="[\"com.example.MyException\", \"com.example.DifferentException\"]" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Section contenant un `class_name` entièrement qualifié et une liste de `messages` par classe d&apos;erreur +
+ Défaut + + (aucun) +
+ + Spécifiez les noms de classe d’exception que l’agent doit ignorer. Les messages ignorés n'affecteront pas le taux d'erreur ou le score Apdex, et ne seront pas signalés à APM. Contient `yaml` paires constituées de : + + * Un nom de classe d'exception entièrement qualifié qui ne doit pas être signalé à APM + + ET + + * Une liste d'exceptions `message`à comparer (au moins une est obligatoire) + + Si le nom de la classe d'exception correspond à une erreur mais pas le message, alors cette erreur **will not** doit être ignorée. Les chaînes de message utilisent `contains` pour la correspondance. Un message ne peut pas être fourni seul et doit toujours être associé à un nom de classe complet. **Cannot be specified by system property.** + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + ignore_messages: + com.example.MyException: + - "Some error message to ignore" + - "Some other error message to ignore" + com.example.DifferentException: + - "Some different error message to ignore" + ``` + + Une variable d'environnement peut être utilisée pour répertorier les noms de classes d'exception et les messages que vous souhaitez ignorer : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_IGNORE_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes et de plages séparées par des virgules +
+ Défaut + + `404` +
+ + Une liste séparée par des virgules composée de plages individuelles et en pointillés de codes d'état HTTP qui ne doivent pas être traités comme des erreurs. + + Si cette propriété est placée en commentaire dans le fichier configuration `newrelic.yml`, alors le code d&apos;état 404 sera automatiquement ignoré. Lors de l&apos;utilisation [de la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration), le code d&apos;état 404 doit être spécifié pour qu&apos;il soit ignoré. + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + ignore_status_codes: 404,507-511 + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Section contenant une liste de chaînes `class_name` entièrement qualifiées +
+ Défaut + + (aucun) +
+ + Empêche les classes d'exception spécifiées d'affecter le taux d'erreur ou le score Apdex tout en signalant les erreurs à APM. **Cannot be specified by system property.** + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + expected_classes: + - "com.example.MyException" + - "com.example.DifferentException" + ``` + + Une variable d'environnement peut être utilisée pour répertorier les noms de classe d'exception attendus : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_EXPECTED_CLASSES="[\"com.example.MyException\", \"com.example.DifferentException\"]" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Section contenant un `class_name` entièrement qualifié et une liste de `messages` par classe d&apos;erreur +
+ Défaut + + (aucun) +
+ + Contient des paires yaml constituées d'un nom de classe d'exception entièrement qualifié qui doit être marqué comme prévu et ainsi empêché d'affecter le taux d'erreur ou le score Apdex et une liste d'exceptions `message`à comparer, dont au moins une est requise. Si le nom de la classe d&apos;exception correspond à une erreur mais pas le message, alors cette erreur **will not** sera marquée comme attendue et affectera donc le taux d&apos;erreur et le score Apdex. + + Les chaînes de message utilisent `contains` pour la correspondance. Un message ne peut pas être fourni seul et doit toujours être associé à un nom de classe complet. **Cannot be specified by system property.** + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + expected_messages: + com.example.MyException: + - "Some expected error message" + - "Some other expected error message" + com.example.DifferentException: + - "Some different expected error message" + ``` + + Une variable d’environnement peut être utilisée pour répertorier les noms de classe et les messages d’exception attendus : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_EXPECTED_MESSAGES="{\"com.example.MyException\": [\"Some error message to ignore\", \"Some other error message to ignore\"], \"com.example.DifferentException\": [\"Some different error message to ignore\"]}" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes et de plages séparées par des virgules +
+ Défaut + + (aucun) +
+ + Une liste séparée par des virgules composée de plages individuelles et en pointillés de codes d'état HTTP à marquer comme prévu et ainsi à empêcher d'affecter le taux d'erreur ou le score Apdex. + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . + + Par exemple: + + ```yml + error_collector: + expected_status_codes: 415,500-506 + ``` + + Les codes d'état attendus peuvent également être avec la variable d'environnement `NEW_RELIC_ERROR_COLLECTOR_EXPECTED_STATUS_CODES` . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs pour les erreurs de trace. Si `attributes.enabled` est `false` au niveau racine, alors aucun attribut ne sera envoyé pour tracer les erreurs, quelle que soit la manière dont cette propriété est définie sous `error_collector`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour les erreurs de trace, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans les erreurs de trace. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic en cas d'erreurs de trace. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Lorsque plusieurs erreurs sont constatées dans une transaction, seule la dernière erreur sera signalée par défaut. La définition de cette propriété sur `false` signalera uniquement la première erreur détectée. Pour plus d&apos;informations, consultez l&apos;[API noticeError](/docs/agents/java-agent/configuration/java-agent-error-configuration/). Par exemple: + + ```yml + error_collector: + ignoreErrorPriority: false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes séparées par des virgules +
+ Défaut + + (aucun) +
+ + Tous les noms de classe d’exception spécifiés ne seront pas traités comme des erreurs. Obsolète à partir de l'agent Java 3.40.0 et remplacé par [`ignore_classes`](#ec-ignore_classes). + + Par exemple: + + ```yml + error_collector: + ignore_errors: some.other.MyException + ``` +
+
+ +## Traceur externe [#External\_Tracer][#External_Tracer] + +Définissez les options de traçage externe dans la section `external_tracer` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.external_tracer` . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Ce paramètre peut être utilisé pour contrôler la collecte des URI de demande sortante pour les erreurs et le suivi des transactions. Définissez cette option sur vrai pour désactiver la collecte de ces informations. +
+
+ +## configurationdu nom d'hôte [#hostname\_configuration][#hostname_configuration] + +Définissez les options de configuration du nom d’hôte dans la section `process_host` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.process_host` . + +Utilisez ces propriétés pour configurer le nom d'hôte affiché dans l'UI: + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez un [nom](/docs/agents/java-agent/configuration/hostname-logic-java#display-name) d&apos;affichage pour décorer l&apos;étiquette « hôte : port » dans l&apos;UI de New Relic . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `4` +
+ + Si le nom d’hôte ne peut pas être déterminé, l’adresse IP de l’hôte sera utilisée. Cette propriété détermine si l'adresse IPv4 ou IPv6 doit être utilisée. La valeur par défaut est IPv4. +
+
+ +## Traçage infini + + + Exigences: + + * [agent Java 5.12.1 ou supérieur](/docs/agents/java-agent/installation/update-java-agent). + * Le traçage infini ne fonctionne pas si `enable_auto_app_naming` est activé. + + +Pour activer le traçage infini, activez le traçage distribué et ajoutez le paramètre supplémentaire ci-dessous. Pour un exemple, voir [Agent de langage : Configurer le traçage distribué](/docs/understand-dependencies/distributed-tracing/enable-configure/language-agents-enable-distributed-tracing#java-config). + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Pour obtenir de l'aide pour obtenir une entrée d'hôte d'observateur trace Infinite Tracing valide, consultez [rechercher ou créer un observateur de trace](/docs/understand-dependencies/distributed-tracing/enable-configure/language-agents-enable-distributed-tracing#provision-trace-observer). + + Vous pouvez configurer cela via YAML : + + ```yml + infinite_tracing: + trace_observer: + host: YOUR_TRACE_OBSERVER_HOST + ``` + + Vous pouvez également utiliser la propriété système `newrelic.config.infinite_tracing.trace_observer.host` ou la variable d’environnement `NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST`. +
+
+ +## Instrumentation + +Ces options sont définies dans la strophe `instrumentation` et peuvent être remplacées en utilisant une propriété système préfixée `newrelic.config.instrumentation` . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + FAUX +
+ + Par défaut, les annotations [@TraceLambda](/docs/apm/agents/java-agent/api-guides/java-agent-api-instrument-using-annotation/#tracelambda) sont désactivées. Pour utiliser la fonctionnalité d&apos;annotation pour le traçage des méthodes lambda, vous devez activer explicitement la fonctionnalité comme suit : + + Vous pouvez configurer cela via YAML : + + ```yml + instrumentation: + trace_lambda: + enabled: true + ``` + + Vous pouvez également utiliser la propriété système `newrelic.config.instrumentation.trace_lambda.enabled=true` ou la variable d’environnement `NEW_RELIC_INSTRUMENTATION_TRACE_LAMBDA_ENABLED`. +
+
+ +## Jar collecteur + +L'agent Java collecte des informations sur les fichiers JAR et leurs versions sur le chemin de classe de l'application. + +Définissez la configuration de la collection jar dans la section `jar_collector` . Ces options de configuration peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.jar_collector` . Les options incluent : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Utilisé pour activer/désactiver la collecte et la création de rapports jar. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Utilisé pour activer/désactiver la collecte de fichiers jar temporaires. Les fichiers JAR temporaires sont ceux résidant dans le répertoire spécifié par la propriété système `java.io.tmpdir`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `10` +
+ + Le nombre maximal de pots à traiter par seconde. Doit être positif. +
+
+ +## JFR (Profilage en temps réel) + +L'agent Java utilise Java Flight Recorder (JFR) pour collecter des données JVM haute fidélité pour [le profilage en temps réel](/docs/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics/). + +Configurez le profilage en temps réel dans la section `jfr` du YAML de l&apos;agent. Ces options de configuration peuvent être remplacées par [des propriétés système](#System_Properties) préfixées par `newrelic.config.jfr.` ou par [des variables d'environnement](#Environment_Variables) préfixées par `NEW_RELIC_JFR_`. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définissez sur `true` pour activer [le profilage en temps réel avec JFR](/docs/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics/). Ce paramètre s&apos;appliquera de manière dynamique et ne nécessite pas de redémarrage de la JVM. + + + Le profilage en temps réel avec JFR est activé par défaut dans [la version 7.1.0](/docs/release-notes/agent-release-notes/java-release-notes) de l&apos;agent Java. Si vous utilisez une autre version d&apos;agent 7.0.0 ou supérieure, vous pouvez activer JFR en modifiant la valeur sur `true`. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définissez sur `true` pour activer le logging d&apos;audit qui affichera toutes les métriques et événements JFR dans chaque lot de récolte. Le logging d&apos;audit est extrêmement détaillée et ne doit être utilisée qu&apos;à des fins de dépannage. + + + Ceci s'applique à l'agent Java [version 7.0.0 ou supérieure](/docs/release-notes/agent-release-notes/java-release-notes). + +
+
+ +## JMX + +Pour définir ces options, utilisez la section `jmx` . Pour les [remplacer](#System_Properties), utilisez une propriété système préfixée par `newrelic.config.jmx` . + +L'agent Java utilise JMX pour collecter les données JVM. De plus, l'agent peut exposer des métadonnées de liaison via JMX qui peuvent être utilisées par d'autres systèmes de traçage. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver toutes les fonctionnalités JMX. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Ce paramètre peut être activé pour permettre à l'agent Java d'exposer des métadonnées de liaison sur JMX distant. + + + Ceci s'applique à l'agent Java [version 6.1.0 ou supérieure](/docs/release-notes/agent-release-notes/java-release-notes). + +
+
+ +## JVM des propriétés obfuscation + +L'agent Java envoie les propriétés JVM à New Relic pour les afficher dans l'UI. À partir de la version `8.16.0` de l&apos;agent Java, les valeurs de la plupart des propriétés seront obscurcies. Par exemple : `-Dprop=12345` sera désormais envoyé sous la forme `-Dprop=obfuscated`. + +Définissez les options liées à l'obfuscation, dans la section `obfuscate_jvm_props` du YAML de l&apos;agent. Vous pouvez remplacer ces paramètres par une [propriété système](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#System_Properties) préfixée `newrelic.config.obfuscate_jvm_props` ou une [variable d'environnement](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#Environment_Variables) préfixée `NEW_RELIC_OBFUSCATE_JVM_PROPS_` . + +Par défaut, les valeurs des propriétés commençant par `-X` ne seront pas obscurcies. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Utilisé pour activer/désactiver obfuscation des propriétés JVM . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si obfuscation est activé, lorsque la clé de propriété correspond à une valeur dans cette liste, la valeur ne sera pas obscurcie. + + Les éléments de cette liste peuvent avoir des caractères génériques, `*` comme dernier caractère. Les conflits avec la liste de blocage sont résolus en suivant [les règles d'attribut](/docs/apm/agents/java-agent/attributes/java-agent-attributes/#attruls), où `allow` fonctionne comme `include`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si obfuscation est activé, lorsque la clé de propriété correspond à une valeur dans cette liste, la valeur sera obscurcie. + + Les éléments de cette liste peuvent avoir des caractères génériques, `*` comme dernier caractère. Les conflits avec la liste de domaines autorisés sont résolus en suivant [les règles d'attribut](/docs/apm/agents/java-agent/attributes/java-agent-attributes/#attruls), où `block` fonctionne comme `exclude`. +
+
+ +## Kafka fichier d'attente des messages [#kafka-message-queues] + +Des informations détaillées sur la configuration d'instrumentation Kafka peuvent être trouvées sur la page [Instrumenter les files d'attente des messages Kafka](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/). + +* [Collection d'événements Kafka](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-events) +* [Métriques des nœuds Kafka](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#kafka-node-metrics) +* [Événement de configuration Kafka](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#kafka-config) +* [Kafka diffuse les transactions](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-streams-transactions) +* [Transactions de connexion Kafka](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-connect-transactions) +* [Les traces de Kafka distribuées](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-distributed-traces) + +## Les logs en contexte [#logs-in-context] + +À partir de la version `7.6.0` agent Java, la prise en charge [des journaux en contexte](/docs/logs/logs-context/java-configure-logs-context-all) a été ajoutée à l&apos;agent, le rendant facile à utiliser pour le framework de logging pris en charge. Pour des conseils sur l&apos;utilisation de l&apos;agent Java pour les logs en contexte, voir [Java logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all). + +La modification de ces paramètres dans votre fichier de configuration d'agent local se produit de manière dynamique et ne nécessite pas de redémarrage de l'agent pour que ces modifications prennent effet. Un exemple de configuration : + +```yml +application_logging: + enabled: true + forwarding: + enabled: true + max_samples_stored: 10000 + context_data: + enabled: false + include: + exclude: + metrics: + enabled: true + local_decorating: + enabled: false +``` + +Définissez les journaux dans le contexte configuration dans la section `application_logging`. Cela peut être [remplacé](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file#System_Properties) par une propriété système préfixée par `newrelic.config.application_logging` . La seule option disponible est : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Définissez sur `true` pour activer les journaux principaux en fonction du contexte. Lorsque cette option est activée, de logging supplémentaire framework instrumentation est activée, que les journaux soient ou non décorés ou envoyés à New Relic. + + + l'agent sortie 7.7.0 et les versions supérieures ont cette fonctionnalité activée dans le agent configuration fichier par défaut. + + + Définissez sur `false` pour désactiver complètement cette fonctionnalité, y compris la collecte des métriques log . +
+
+ +### transfert de logs [#log-forwarding] + +Si vous utilisez un framework de logging pris en charge et que vous souhaitez utiliser l'agent pour envoyer votre log d'application à New Relic, vous pouvez contrôler cela via les paramètres de la section `forwarding`. Ces paramètres peuvent être remplacés par la propriété système préfixée `newrelic.config.application_logging.forwarding` . Les options disponibles sont : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Permet l'envoi du log d'application à New Relic. + + + l'agent sortie 7.7.0 et les versions supérieures ont cette fonctionnalité activée dans le agent configuration fichier par défaut. + + L'utilisation de la fonctionnalité de transfert de logaugmentera votre ingestion de données, ce qui peut affecter votre facturation. Pour plus d'informations, consultez notre documentation sur [le suivi de votre ingestion de données](/docs/apm/new-relic-apm/getting-started/get-started-logs-context#ingest). + + Si vous disposez déjà d'une solution de transfert de loget que vous mettez à jour votre agent pour utiliser les journaux automatiques dans ce contexte, assurez-vous de **disable your old log forwarder**. Sinon, votre application enverra des lignes log en double. Selon votre compte, cela peut entraîner une double facturation. Pour plus d&apos;informations, suivez les procédures pour désactiver votre [redirecteur de logspécifique](/docs/logs/forward-logs/enable-log-management-new-relic#log-forwarding). + + + Réglez ceci sur `true` pour que votre log décoré soit envoyé à New Relic. + + Réglez ceci sur `false` si vous ne souhaitez pas que votre log décoré soit envoyé à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `10000` +
+ + Un entier positif spécifiant le nombre maximal de lignes de log par minute à envoyer. + + Définissez cette valeur sur `0` pour désactiver efficacement l’envoi du log. + + + Ceci contrôle le nombre de journaux envoyés *par minute*. La définition de `max_samples_stored` sur `0` (ou toute valeur inférieure à `12`) *ne désactive pas* la fonctionnalité elle-même, bien qu&apos;elle n&apos;entraîne aucune ligne log envoyée à New Relic. + + + Définissez cette valeur sur une valeur inférieure pour réduire la quantité de lignes log envoyées (peut provoquer un échantillonnage log ). Définissez cette valeur sur une valeur plus élevée pour envoyer plus de lignes log . + + Chaque log reçoit la même priorité que sa transaction associée. Les logs qui se produisent en dehors d'une transaction recevront une priorité aléatoire. Certains logs peuvent ne pas être inclus car ils sont limités par `max_samples_stored`. Par exemple, si le logging `max_samples_stored` est définie sur 10 000 et que la transaction 1 comporte 10 000 entrées log, seules les entrées log de la transaction 1 seront enregistrées. Si la transaction 1 contient moins de 10 000 logs, vous recevez tous les logs de la transaction 1. S&apos;il reste de la place, vous recevez l&apos;intégralité du log de la transaction 2, et ainsi de suite. + + Si après tout le log des transactions échantillonnées est enregistré et qu'elles n'ont pas atteint la limite de `max_samples_stored`, alors les messages de log des transactions qui n&apos;étaient pas dans notre échantillonnage sont envoyés. S&apos;il en reste, les messages de log en dehors des transactions sont enregistrés. +
+
+ +#### données de contexte du log [#log-context-data] + +L'agent Java peut capturer des données de contexte (Mapped Diagnostic Context dans logback/slf4j, ThreadContext dans log4j2) et ajouter son contenu comme attribut dans le log transmis à New Relic. Vous pouvez contrôler cela via les paramètres de la section `context_data`, imbriquée sous la section `forwarding` . Ces paramètres peuvent être remplacés par la propriété système préfixée `newrelic.config.application_logging.forwarding.context_data` . Les options disponibles sont : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définissez ceci sur `true` pour l&apos;envoi de données de contexte en tant qu&apos;attribut log à New Relic. + + Définissez cette valeur sur `false` si vous ne souhaitez pas que les données de contexte du log soient envoyées à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si `context_data` est activé pour le transfert de log, toutes les clés d&apos;attribut trouvées dans cette liste seront envoyées à New Relic dans les enregistrements log . Si cette liste est vide, tous les attributs seront envoyés. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si `context_data` est activé pour le transfert de log, toutes les clés d&apos;attribut trouvées dans cette liste ne seront PAS envoyées à New Relic dans les enregistrements log . + + La liste d'inclusion et d'exclusion suit les règles `Exclude overrides include`, `More specific rules take priority`, `Keys are case-sensitive` et `Use an asterisk for wildcards` définies dans [les règles d'attribut](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file). +
+
+ +### logarithmes métriques [#log-metrics] + +En plus de vous permettre de décorer et d'envoyer des lignes log individuelles, l'agent Java peut capturer des données métriques de logging. Vous pouvez trouver ces données dans le graphique du log dans l'UI de New Relic. Vous pouvez configurer les paramètres des métriques log dans la section `metrics`. Vous pouvez remplacer ces paramètres avec la propriété système préfixée `newrelic.config.application_logging.metrics` . La seule option disponible est : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Permet la capture d'informations métriques sur votre log et votre niveau de log, qui sont affichées dans un graphique sur la page APM **Summary**. + + Laissez ce paramètre sur `true` pour permettre à l&apos;agent de capturer des informations métriques sur votre log. + + Réglez ceci sur `false` pour désactiver cette fonctionnalité. + + + Si vous désactivez la collecte des métriques log, le graphique log sur la page de résumé apparaîtra vide. + +
+
+ +### décoration de bûches [#log-decorating] + +Vous pouvez configurer les paramètres de décoration log dans la section `local_decorating`. Vous pouvez l&apos;utiliser pour contrôler la manière dont les lignes log locales sont décorées. Vous pouvez remplacer ces paramètres par une propriété système préfixée par `newrelic.config.application_logging.local_decorating` . La seule option disponible est : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Cela contrôle si les lignes log stockées localement sont décorées ou non. Ceci est indépendant du fait que le transfert de logsoit activé ou non et est utilisé pour aider les clients qui souhaitent utiliser une solution de transfert de logdistincte. + + Définissez cette valeur sur `true` pour que l&apos;agent ajoute des journaux en contexte liant les métadonnées aux lignes log stockées localement par l&apos;infrastructure prise en charge. + + + L'activation de la décoration log local ajoutera des liens cryptés à vos fichiers log d'application, ce qui entraînera une augmentation du stockage sur disque. Désactivez cette fonctionnalité si cela est inacceptable. + + Il n'est pas nécessaire d'utiliser la décoration log locaux lorsque le transfert de logest activé. Cela entraînerait l'ajout inutile de liens cryptés à votre message de log, ce qui pourrait être visuellement gênant. + + + Réglez ceci sur `false` pour désactiver la fonctionnalité de décoration locale. Cela *n'aura aucun* impact sur la décoration des lignes log envoyées à New Relic. +
+
+ +## configurationdu logging [#Logging-Configuration] + +Ceux-ci font partie des variables de configuration générales. Ils sont présentés ici car ils sont fréquemment modifiés à des fins de débogage. + +Certaines des variables de configuration de logging sont dynamiques et ne nécessitent pas de redémarrage de l'hôte pour prendre effet. Par instance, si les fichiers log augmentent trop rapidement, [`log_level`](#cfg-log_level) peut être défini sur un paramètre moins détaillé pour réduire le taux de rapports. + +Voici l'ordre de priorité et l'explication des variables configuration affectant la rotation log . + +* Si `log_daily` est `true`: + + * Une valeur `log_limit_in_kbytes` supérieure à zéro entraînera une politique de déclenchement composite, où le log sera renouvelé une fois par jour ou lorsque la taille définie sera atteinte, conservant jusqu&apos;à `log_file_count` fichiers + * Une valeur `log_limit_in_kbytes` de zéro entraînera un roulement du log une fois par jour conservant jusqu&apos;à `log_file_count` fichiers + +* Si `log_daily` est `false` et `log_limit_in_kbytes` &gt; 0, une politique basée sur la taille sera configurée, où le journal sera reconfiguré lorsque la taille définie sera atteinte, en conservant jusqu&apos;à `log_file_count` fichiers + +* Si `log_daily` est `false` et `log_limit_in_kbytes` = 0, aucune logique de roulement de fichier de log ne sera configurée + +En fonction du taux de croissance, il est possible que la taille du fichier log dépasse légèrement la valeur configurée. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Réglez sur `true` pour faire rouler le log quotidiennement. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `1` +
+ + Le nombre maximal de fichiers de log à conserver lors de l'utilisation de la rotation log . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `newrelic_agent.log` +
+ + Le nom non qualifié du fichier de log ou la chaîne `STDOUT` qui sera log à la sortie standard. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `logs` sous-répertoire où se trouve `newrelic.jar` +
+ + Le chemin du fichier de log . + + + Si `log_file_path` est spécifié, le répertoire doit déjà exister. Si la valeur par défaut est utilisée, l&apos;agent tentera de créer le répertoire. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `info` +
+ + Le niveau de verbosité log . Lorsque vous modifiez ce paramètre dans le fichier de configuration yaml de l'agent, il sera mis à jour de manière dynamique. Cependant, la variable d'environnement et la propriété système ne seront pas mises à jour de manière dynamique. + + L'agent utilise son propre fichier de log pour conserver son logging séparée de celle de votre application. Les options valides, par ordre de verbosité, sont : + + * `off` + + * `severe` + + * `warning` + + * `info` + + * `fine` + + * `finer` + + * `finest` + + + N'utilisez pas le logging `debug` ou `trace` à moins que le support New Relic ne vous demande de les utiliser. Ces niveaux de logging peuvent générer une surcharge excessive. Dans la plupart des situations, utilisez `info`. + + + Ce paramètre est dynamique, donc l'agent en cours d'exécution remarquera les modifications apportées à `newrelic.yml` sans redémarrage JVM . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `0` +
+ + La taille du fichier log en kilo-octets à laquelle les fichiers log sont tournés. Réglez sur `0` pour aucune limite. +
+
+ +## Traceur de messages [#Transaction\_Tracer][#Transaction_Tracer] + +Définissez les options du traceur de messages dans la section `message_tracer` . Vous pouvez [remplacer](#System_Properties) ces paramètres par une propriété système préfixée par `newrelic.config.message_tracer` . + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ajoute des propriétés de message à l'attribut traceur. Réglez ceci sur `false` pour le désactiver. +
+
+ +## SDK Open télémétrie Auto-configuration [#otel-sdk-autoconfiguration] + +Configuration pour l'instrumentation de configuration automatique du SDK de télémétrie ouvert sous la section : + +```yml + opentelemetry: + sdk: + autoconfigure: +``` + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Permet d'activer la fonctionnalité d'autoconfiguration du SDK OpenTelemetry de l'agent. Peut être défini via la propriété système : + + ```ini + -Dnewrelic.config.opentelemetry.sdk.autoconfigure.enabled=true + ``` + + La valeur par défaut est vrai. +
+
+ +## Agent de sécurité [#sec-agent] + +[New Relic sécurité agent interactif de test de sécurité](/docs/iast/introduction/) des (IAST) de New Relic Security teste votre application pour détecter toute vulnérabilité exploitable en rejouant la requête HTTP générée avec une charge vulnérable. + + + Exécutez IAST avec une déploiement de non-production uniquement pour éviter d'exposer les vulnérabilités de votre logiciel de production. + + +Vous pouvez définir la configuration de l'agent de sécurité New Relic dans la section `security` . Ces paramètres peuvent être [remplacés](#System_Properties) par une propriété système préfixée par `newrelic.config.security` . Les options incluent : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Pour désactiver complètement toutes les fonctionnalités de sécurité, définissez cet indicateur sur faux. Cette propriété est lue une seule fois au démarrage de l'application. La valeur par défaut est faux. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Détermine si les données de sécurité sont envoyées à New Relic ou non. Lorsque cette option est désactivée et que agent.enabled est vrai, le module de sécurité s'exécutera mais les données ne seront pas envoyées. La valeur par défaut est faux. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `IAST` +
+ + Mode de sécurité New Relic : IAST. La valeur par défaut est IAST. En raison de la nature invasive de l'analyse IAST, N'ACTIVEZ PAS ce mode dans un environnement de production ou dans un environnement où des données de production sont traitées. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `wss://csec.nr-data.net` +
+ + URL de connexion SaaS de New Relic Security. Il s’agit du point de terminaison auquel l’agent de sécurité envoie les données. Il doit correspondre à l’environnement que vous avez défini pour l’agent Java APM. + + Production américaine : wss\://csec.nr-data.net +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activez la détection des événements de sécurité RCI. La valeur par défaut est vrai. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activez la détection des événements de sécurité RXSS. La valeur par défaut est vrai. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer la détection des événements de sécurité de désérialisation. La valeur par défaut est vrai. +
+
+ + + Le mode Tests interactifs de sécurité des applications ( )New Relic Security nécessite agent IAST [agent Java version 8.4.0 ou supérieure .](/docs/agents/java-agent/installation/upgrade-java-agent) + + +## Détection de transaction lente + +L'agent peut désormais détecter les transactions lentes via l'événement `SlowTransaction` depuis la version Java de l&apos;agent `8.7.0`. Ces événements sont enregistrés lorsque la durée de la transaction dépasse un certain seuil. Par défaut, le seuil est de 600 000 millisecondes (10 minutes). + +La détection des transactions lentes est définie dans `slow_transactions` et peut être [remplacée](#System_Properties) en utilisant une propriété système préfixée `newrelic.config.slow_transactions` . Les options incluent : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Utilisé pour activer/désactiver la détection des transactions lentes. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `600000` +
+ + Détermine le temps en millisecondes nécessaire à une transaction pour qu'un événement `SlowTransaction` soit signalé. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Si cette option est définie sur vrai, chaque transaction sera vérifiée pour vérifier si elle dépasse le seuil défini à la fin de la transaction. Notez que si un grand nombre de transactions dépasse le seuil, cela peut être coûteux en termes de calcul puisqu'une trace d'appels est envoyée à chaque événement SlowTransaction. +
+
+ +## Événement de span + +[Span événement](/docs/apm/distributed-tracing/ui-data/span-event) sont signalés pour [traçage distribué](#distributed-tracing). Vous devez activer le traçage distribué pour signaler l&apos;événement span. + +Définissez configuration de l'événement span dans la section `span_events`. Ces paramètres peuvent être [remplacés](#System_Properties) par une propriété système préfixée par `newrelic.config.span_events` . Les options incluent : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Utilisé pour activer/désactiver les rapports d'événements SPAN. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `2000` +
+ Max + + `10000` +
+ + * Détermine le nombre d'événements span qui peuvent être capturés pendant un cycle de collecte agent . Disponible dans l'agent Java 7.4.0 et supérieur. + * Lors de la configuration de l'agent pour [monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring), définissez la valeur maximale sur `10000`. Garantit que la quantité maximale de traces soit capturée. + + + L'augmentation du nombre d'événements SPAN peut entraîner une surcharge supplémentaire agent . + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs d'un événement SPAN. Si `attributes.enabled` au niveau racine est `false`, aucun attribut ne sera envoyé à l&apos;événement span, quelle que soit la manière dont cette propriété (`span_events.attributes.enabled`) est définie. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour l'événement SPAN, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans `span_events`. Pour plus d&apos;informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic lors de l'événement SPAN. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+
+ + + Le filtrage des attributs Span événement nécessite [agent Java version 4.10.0 ou supérieure](/docs/agents/java-agent/installation/upgrade-java-agent). + + +## Exceptions aux bandes [#strip\_exceptions][#strip_exceptions] + +Définissez les options d’exceptions de bande dans la section `strip_exception_messages` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.strip_exception_messages` . Activez ce paramètre pour contrôler si les messages d’exception Java sont signalés à New Relic. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Par défaut, cette valeur est définie sur `false`, ce qui signifie que l&apos;agent envoie les messages de toutes les exceptions au [collecteur New Relic](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector). + + * Si vous définissez cette valeur sur `true`, l&apos;agent supprime les messages des exceptions afin d&apos;éviter de capturer par inadvertance des informations sensibles. + * Si vous activez [le mode haute sécurité](/docs/agents/manage-apm-agents/configuration/high-security-mode), celui-ci est automatiquement défini sur `true`. + * Si vous définissez `enabled` sur `true` mais que vous souhaitez que l&apos;agent capture les messages provenant d&apos;exceptions spécifiques, ajoutez les exceptions à votre [liste de domaines autorisés](#strip_exception_messages_whitelist). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + + Cette configuration est obsolète à partir de la version 5.10.0 de l'agent et sera supprimée dans une future version de l'agent. Utilisez plutôt `allowed_classes`. + + + Si vous définissez `enabled` sur `true` mais que vous souhaitez que l&apos;agent capture les messages pour des exceptions spécifiques, ajoutez chaque exception à `whitelist`, séparée par une virgule. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Si vous définissez `enabled` sur `true` mais que vous souhaitez que l&apos;agent capture les messages pour des exceptions spécifiques, ajoutez chaque exception à `allowed_classes`, séparée par une virgule. +
+
+ +## Profileur de filetage [#Thread\_Profiler][#Thread_Profiler] + +Définissez les options du profileur de thread dans la section `thread_profiler` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.thread_profiler` . + +Le profileur de thread mesure le temps d'horloge, le temps CPU et le nombre d'appels de méthode dans les threads de votre application pendant leur exécution. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer le profileur de thread. +
+
+ +## Événement de transaction [#Transaction\_Events][#Transaction_Events] + +Définissez les options de l’événement de transaction dans la section `transaction_events` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.transaction_events` . + +Les données d'événement de transaction sont utilisées pour afficher l'histogramme et le centile dans l'UI. + + + Auparavant, cette section s'appelait `analytics_events`. Si votre fichier de configuration utilise toujours `analytics_events`, mettez à jour votre agent pour utiliser `transaction_events`. + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activez le service transaction événement. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `2000` +
+ Max + + `10000` +
+ + Le nombre maximal d'événements de transaction échantillonnés signalés toutes les 60 secondes. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des cartes +
+ Défaut + + (aucun) +
+ + + Contrairement à d’autres paramètres, `custom_request_headers` doivent être associés et doivent être définis dans le fichier `newrelic.yml` . Ils ne peuvent pas être écrasés par des arguments de machine virtuelle Java (propriété système) ou des variables d&apos;environnement. + + + Une liste de cartes avec les clés appariées `header_name` et l&apos;optionnelle `header_alias`. Choisissez un ou plusieurs en-têtes de requête HTTP personnalisés à ajouter comme attribut de transaction. + + Vous pouvez répertorier plusieurs configurations d’en-tête : + + ```yml + transaction_events: + custom_request_headers: + - + header_name: "X-Custom-Header-1" + - + header_name: "X-Custom-Header-2" + header_alias: "CustomHeader2alias" + ``` + + Dans le premier ensemble de cartes, `X-Custom-Header-1` est capturé et signalé par l&apos;agent comme nom d&apos;en-tête pour une valeur correspondante de l&apos;objet de demande. Le `header_name` sera également le nom de l&apos;attribut envoyé à New Relic. + + Dans le deuxième ensemble de cartes, l'en-tête de la requête est `X-Custom-Header-2`, mais `CustomHeader2alias` est le nom envoyé à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs d'un événement de transaction. Si `attributes.enabled` est `false` au niveau racine, alors aucun attribut ne sera envoyé à l&apos;événement de transaction, quelle que soit la manière dont cette propriété est définie sous `transaction_events`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour l'événement de transaction, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans l'événement de transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic dans l'événement de transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+
+ +## Segments de transaction + +Définissez les options des segments de transaction dans la section `transaction_segments` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.transaction_segments` . + +Les segments de transaction représentent des éléments de travail discrets (généralement des appels de méthode) et sont affichés dans [la trace de transaction](/docs/traces/transaction-traces). + + + Le filtrage des attributs de segment de transaction nécessite [agent Java version 4.10.0 ou supérieure](/docs/agents/java-agent/installation/upgrade-java-agent). + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs des segments de transaction. Si `attributes.enabled` au niveau racine est `false`, aucun attribut ne sera envoyé aux segments de transaction, quelle que soit la manière dont cette propriété (`transaction_segments.attributes.enabled`) est définie. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour les segments de transaction, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans les segments de transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d’attribut trouvées dans cette liste ne seront pas envoyées à New Relic dans les segments de transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+
+ +## Traceur de transaction + +Définissez les options du traceur de transaction dans la section `transaction_tracer` . Ces options peuvent être [remplacées](#System_Properties) par une propriété système préfixée `newrelic.config.transaction_tracer` . + +[Le traçage des transactions](/docs/traces/transaction-traces) capture des informations détaillées sur les transactions lentes et les envoie au service New Relic. La transaction comprend la séquence d&apos;appel exacte des transactions, y compris toutes les instructions de requête émises. + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Le traceur de transaction est activé par défaut. Réglez ceci sur `false` pour le désactiver. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent capturera le plan `EXPLAIN` pour la requête lente. [Uniquement pris en charge pour MySQL et PostgreSQL.](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent#JDBC) +
+ + + + + + + + + + + + + + + + +
+ Taper + + virgule flottante +
+ Défaut + + `0.5` +
+ + seuil en secondes pour le temps d'exécution de la requête en dessous duquel la lente de la requête et le plan `EXPLAIN` ([si supporté](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent#JDBC)) ne seront pas capturés. Concerne la requête lente uniquement lorsque `record_sql` est défini sur `raw` ou `obfuscated`. Concerne les plans `EXPLAIN` uniquement lorsque `explain_enabled` est défini sur `true`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `2000` +
+ + La limite de caractères pour la chaîne de requête SQL. Si vous avez de nombreuses requêtes SQL lentes avec de gros morceaux d'informations, cela pourrait affecter négativement les performances ou la rapidité avec laquelle vous voyez vos données dans New Relic. Augmentez progressivement la valeur jusqu’à trouver le bon équilibre entre informations et performances. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définissez sur `true` pour activer le logging de la requête dans le agent fichier de au log lieu du téléchargement vers New Relic. les requêtes sont enregistrées en utilisant le mode `record_sql` . +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `obfuscated` +
+ + Lorsque le traceur de transaction est activé, les instructions de requête peuvent éventuellement être enregistrées. L'enregistreur dispose de trois modes : + + * `off`: N&apos;envoyez aucune requête. + * `raw`: Envoyez l&apos;instruction de requête dans sa forme originale. + * `obfuscated`: Supprime les littéraux numériques et les chaînes. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` + + Par défaut, la valeur était `true` jusqu&apos;à la version 3.12.1 de l&apos;agent Java, lorsqu&apos;il a été changé en `false`. +
+ + Cette option est réservée à Play 2.x+ uniquement. L'instrumentation Play/Scala peut utiliser `Thread.getStackTrace()` pour améliorer la dénomination du traceur, mais au prix d&apos;une surcharge accrue. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `0.5` +
+ + Définit un seuil (en secondes) pour collecter la trace d'appels d'un appel SQL. Lorsque les instructions SQL dépassent ce seuil, l'agent capturera la trace d'appels en cours. Cela est utile pour identifier l’origine des appels SQL longs. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `20` +
+ + Utilisez ce paramètre pour contrôler la variété de votre trace de transaction. `top_n` est un entier qui représente le nombre de transactions uniques et lentes pour lesquelles une trace sera créée. + + * Si vous souhaitez que le suivi des transactions reflète plus précisément les transactions les plus lentes de votre application, définissez cette valeur sur **lower**. + + * Si vous souhaitez échantillonner un éventail plus diversifié de transactions, définissez la valeur **higher**. + + Une valeur de `0` signifie que **only** la transaction la plus lente est toujours tracée. Cela n&apos;est toutefois pas considéré comme optimal, car vous pouvez avoir une ou deux transactions qui sont toujours les plus lentes, et voir à plusieurs reprises ces mêmes traces de transaction ne vous apportera probablement pas beaucoup de valeur. + + Si la même transaction est souvent la plus lente, le paramètre `top_n` permet à l&apos;agent Java (au fil du temps) d&apos;échantillonner les transactions `n` les plus lentes. Cela vous donne une plus grande variété et des informations plus détaillées dans votre application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Corde (virgule flottante) +
+ Défaut + + `apdex_f` +
+ + Le seuil de temps utilisé pour déterminer quand une transaction est éligible au traçage. Lorsque le temps de réponse de la transaction dépasse ce seuil, une [trace de transaction](/docs/apm/transactions/transaction-traces/transaction-traces) sera enregistrée et envoyée à New Relic. + + La valeur par défaut est `apdex_f` (par défaut), ce qui définit le seuil sur le [niveau Apdex](/docs/site/apdex-measuring-user-satisfaction) [« Frustré](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#apdex_f) » (quatre fois la `apdex_t` valeur ). Vous pouvez également définir un seuil de temps spécifique en saisissant une valeur de virgule flottante qui représente un nombre de secondes. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + + Cette configuration est obsolète à partir de la version 5.10.0 de l'agent et sera supprimée dans une future version de l'agent. Utilisez plutôt `collect_slow_queries_from`. + + + Par défaut, [le mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security) ne permet pas à l&apos;agent de collecter [les requêtes lentes](/docs/apm/applications-menu/monitoring/viewing-slow-query-details). Activez cette option pour collecter les requêtes Cassandra du pilote DataStax, même avec une sécurité élevée activée. Si vous n&apos;utilisez pas une sécurité élevée, l&apos;agent collecte automatiquement les requêtes lentes. + + Pour le pilote DataStax 2.1.2, ajoutez cette règle à votre liste de domaines autorisés : + + ```yml + transaction_tracer: + slow_query_whitelist: + 'com.newrelic.instrumentation.cassandra-datastax-2.1.2' + ``` + + Pour le pilote DataStax 3.0.0, ajoutez cette règle à votre liste de domaines autorisés : + + ```yml + transaction_tracer: + slow_query_whitelist: + 'com.newrelic.instrumentation.cassandra-datastax-3.0.0' + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Par défaut, [le mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security) ne permet pas à l&apos;agent de collecter [les requêtes lentes](/docs/apm/applications-menu/monitoring/viewing-slow-query-details). Activez cette option pour collecter les requêtes Cassandra du pilote DataStax, même avec une sécurité élevée activée. Si vous n&apos;utilisez pas une sécurité élevée, l&apos;agent collecte automatiquement les requêtes lentes. + + Pour le pilote DataStax 2.1.2, ajoutez cette règle à votre liste de domaines autorisés : + + ```yml + transaction_tracer: + collect_slow_queries_from: + 'com.newrelic.instrumentation.cassandra-datastax-2.1.2' + ``` + + Pour le pilote DataStax 3.0.0, ajoutez cette règle à votre liste de domaines autorisés : + + ```yml + transaction_tracer: + collect_slow_queries_from: + 'com.newrelic.instrumentation.cassandra-datastax-3.0.0' + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Ce paramètre peut être utilisé pour activer ou désactiver tous les attributs de suivi de transaction. Si `attributes.enabled` au niveau racine est `false`, aucun attribut ne sera envoyé pour tracer la transaction, quelle que soit la manière dont cette propriété (`transaction_tracer.attributes.enabled`) est définie. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste de chaînes +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés pour le suivi de transaction, toutes les clés d'attribut trouvées dans cette liste seront envoyées à New Relic dans le suivi de transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Liste des chaînes +
+ Défaut + + (aucun) +
+ + Toutes les clés d'attribut trouvées dans cette liste ne seront pas envoyées à New Relic lors de la trace de la transaction. Pour plus d'informations, consultez les [règles d'attribut de l'agent](/docs/apm/other-features/attributes/agent-attributes). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `3000` +
+ + Limite le nombre de jetons pouvant être créés par transaction. L’augmentation de cette valeur peut avoir un impact sur les performances, car elle augmente la quantité de mémoire utilisée par l’agent et la quantité de données envoyées à New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `3000` +
+ + Limite le nombre de segments pouvant être créés par transaction. L’augmentation de cette valeur peut avoir un impact sur les performances, car elle augmente la quantité de mémoire utilisée par l’agent et la quantité de données envoyées à New Relic. +
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-error-configuration.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-error-configuration.mdx new file mode 100644 index 00000000000..794771217df --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/java-agent-error-configuration.mdx @@ -0,0 +1,410 @@ +--- +title: agent Java des erreurs de configuration +tags: + - Agents + - Java agent + - Configuration +metaDescription: 'Use New Relic''s Java agent to prevent expected errors from affecting error rate or Apdex score, also to ignore or report errors not reported automatically.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java d'APM fournit des informations détaillées sur les erreurs qui se produisent dans votre application. Cela vous donne des informations détaillées sur les domaines problématiques qui peuvent affecter les performances de votre applicationou l'expérience finale de l'utilisateur. + +Avec [les versions d'agent Java 3.40.0 ou supérieures](/docs/release-notes/agent-release-notes/java-release-notes), plusieurs options de configuration vous permettent de contrôler la manière dont les erreurs sont signalées, notamment : + +* Configuration des erreurs attendues afin qu'elles n'affectent pas le taux d'erreur ou Apdex +* erreur ignorée +* Signaler des erreurs qui ne sont pas signalées automatiquement + +Pour plus d'informations sur l'affichage de vos données d'erreur, consultez [Analyse des erreurs](/docs/apm/applications-menu/error-analytics/introduction-error-analytics). Pour obtenir un aperçu des données d’erreur dans tous les agents, voir [Gérer les erreurs dans APM](/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-mark-expected). + +## Exemples d’erreurs fréquemment signalées [#examples] + +L'agent Java signale des erreurs dans les scénarios suivants : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Rapport d'erreur + + + **Comments** + +
+ Erreurs non gérées (inclut trace d'appels) + + Si une erreur non gérée se produit dans une transaction que l'agent Java traçait, l'erreur sera signalée avec la trace complète des appels. +
+ Codes d'état HTTP (aucune trace d'appels) + + Lorsqu'une transaction dans votre application génère un code d'état HTTP, par exemple, `400` pour une erreur client, elle signale l&apos;erreur sans laisser de trace d&apos;appels. Les raisons en sont les suivantes : + + * Le serveur application a détecté une condition d’erreur et a défini explicitement le code d’état. + + OU + + * La logique du programme a détecté la condition d'erreur, il n'y avait donc aucun objet d'exception ni stack. + + Afin d'inclure la trace d'appels avec ces types de transactions, vous devez utiliser un `noticeError(...)` appel d&apos;API. +
+ `noticeError(...)` appel d&apos;API + + Si l'agent Java effectue un appel explicite en utilisant l'appel d'API `noticeError(...)`, l&apos;erreur sera signalée, qu&apos;elle se produise ou non dans une transaction. Les informations rapportées dépendent du paramètre utilisé dans l&apos;appel d&apos;API `noticeError(...)`, comme décrit dans les [Javadocs](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html). +
+ Erreurs non couvertes signalées à plus de 100 % + + L'agent Java peut signaler des erreurs non limitées, qui sont des erreurs qui ne sont liées à aucune transaction. De ce fait, il est possible d’avoir une transaction dans une tranche de temps et plusieurs erreurs dans la même tranche de temps. Dans cette situation, New Relic afficherait alors un taux d’erreur **over 100%**. +
+ +## Configurer les rapports d'erreurs [#error-configuration] + + + Pour utiliser cette fonctionnalité, [effectuez une mise à niveau](/docs/agents/java-agent/installation/upgrade-java-agent) vers la [dernière version](/docs/release-notes/agent-release-notes/java-release-notes) (agent Java 3.40.0 ou supérieur). + + +L'agent Java fournit plusieurs options de configuration flexibles pour contrôler la manière dont les erreurs sont signalées. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Config options** + + + + **Details** + +
+ Configurer les erreurs via l'UI. + + Vous pouvez les ignorer ou les marquer comme attendus via [la configuration côté serveur](#server-side-config). +
+ Configurer comme erreur attendue via `newrelic.yml` + + Les erreurs signalées par ces versions de `noticeError` peuvent être configurées comme [erreurattendue](/docs/agents/java-agent/configuration/java-agent-error-configuration#expected-errors) dans `newrelic.yml`. Les appels à cette API seront remplacés si l’erreur est configurée comme [ignorée](/docs/agents/java-agent/configuration/java-agent-error-configuration#ignore-errors) dans `newrelic.yml`. Pour plus de détails, voir [Priorité de configuration des erreurs](/docs/agents/java-agent/configuration/java-agent-error-configuration#error-config-precedence). + + Utilisez ces `noticeError()` appels d&apos;API pour signaler les erreurs qui ne sont pas signalées automatiquement et configurez-les comme [erreur attendue](/docs/agents/java-agent/configuration/java-agent-error-configuration#enable-error-collector) dans `newrelic.yml`: + + * ``` + noticeError(Throwable throwable) + ``` + * ``` + noticeError(Throwable throwable, Map params) + ``` +
+ Remplacer l'erreur attendue via `newrelic.yml` + + Les erreurs signalées par ces versions de `noticeError` remplaceront la configuration [d'erreur attendue](/docs/agents/java-agent/configuration/java-agent-error-configuration#expected-errors) `newrelic.yml` . Les appels à cette API seront remplacés si l&apos;erreur est configurée comme [ignorée](/docs/agents/java-agent/configuration/java-agent-error-configuration#ignore-errors) dans le yml. Pour plus de détails, voir [Priorité de configuration des erreurs](/docs/agents/java-agent/configuration/java-agent-error-configuration#error-config-precedence). + + Utilisez ces `noticeError(...)` appels d&apos;API pour signaler les erreurs qui ne sont pas signalées automatiquement et configurez-les comme [erreurattendue](/docs/agents/java-agent/configuration/java-agent-error-configuration#enable-error-collector) avec l&apos;API (remplace configuration yml erreurattendue) : + + * ``` + noticeError(String message, boolean expected) + ``` + * ``` + noticeError(String message, Map params, boolean expected) + ``` + * ``` + noticeError(Throwable throwable, boolean expected) + ``` + * ``` + noticeError(Throwable throwable, Map params, boolean expected) + ``` +
+ Ignorer ou attendre des erreurs via le fichier de configuration + + Dans les versions 3.40.0 ou supérieures, vous pouvez contrôler la manière dont les erreurs sont signalées en utilisant la [configuration basée sur YAML](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Error_Collector). Cela vous permet d&apos;ignorer les erreurs ou d&apos;attendre des erreurs en fonction des codes d&apos;état HTTP **or** en fonction d&apos;une liste de noms de classes d&apos;exception plus un message d&apos;erreur facultatif. + + * **Ignoring errors** empêche que les classes ou codes d&apos;exception spécifiés soient signalés à . + + * **Expecting errors** empêche les classes ou codes d&apos;exception spécifiés d&apos;affecter le application [taux d'erreur](/docs/apis/rest-api-v2/application-examples-v2/application-error-rate-example-v2) et [le score Apdex](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction) de votre . Cela vous permet de conserver les informations d&apos;erreur à des fins de dépannage tout en évitant les alertes basées sur le taux d&apos;erreur ou le score Apdex. + + Ces paramètres sont dynamiques, donc l'agent en cours d'exécution remarquera les modifications apportées à **newrelic.yml** sans redémarrage JVM . Pour plus d&apos;informations et d&apos;exemples, consultez le [fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-configuration-config-file). +
+ +## configuration basée sur YAML pour la collecte des erreurs [#yml-config] + +configuration basée sur YAML pour la collecte des erreurs vous permet d'ignorer entièrement des erreurs spécifiques ou d'exempter erreurattendue d'affecter le taux d'erreur et le score Apdex de votre application . Vous pouvez marquer les erreurs comme ignorées ou attendues en fonction des critères suivants : + +* Une plage donnée de codes d'état HTTP, présentée sous forme de liste séparée par des virgules ou de plage en pointillés +* Une liste séparée par des virgules utilisant le nom complet d'un package/ classe **and** une chaîne de message d&apos;erreur fournie facultativement + + + + Par défaut, l'agent Java inclut une section `error_collector` sous laquelle se trouvent toutes les options [de configuration d'erreur basées sur YAML](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Error_Collector) . La collecte des erreurs peut être activée ou désactivée comme suit : + + ```yml + error_collector: + enabled: true + ``` + + + + Les erreurs qui ne présentent pas d’intérêt particulier peuvent être entièrement ignorées. En identifiant les erreurs à ignorer : + + * Ils ne seront pas signalés à l'APM. + + * Ils n'affecteront pas le taux d'erreur ou le score Apdex de votre application + + Voici un exemple montrant les options [configurationbasées sur YAML](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Error_Collector) pour erreur ignorée : + + ```yml + error_collector: + enabled: true + + ignore_classes: + - "com.example.ErrorClassToIgnore" + + ignore_messages: + com.example.OtherErrorClassToIgnore: + - "some error message to ignore" + + ignore_status_codes: 404,507-511 + ``` + + + + Les erreurs qui font **expected** partie de application la logique APM métier d&apos;une peuvent être empêchées d&apos;affecter le taux d&apos;erreur ou le score Apdex tout en étant signalées à . Cela vous permet de conserver les informations d&apos;erreur dans l&apos;UI à des fins de dépannage tout en évitant les alertes (basées sur le taux d&apos;erreur et le score Apdex) causées par ces erreurs. + + Voici un exemple montrant les options [configurationbasées sur YAML](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Error_Collector) pour erreur attendue : + + ```yml + error_collector: + enabled: true + + expected_classes: + - "com.example.ExpectedErrorClass" + + expected_messages: + com.example.OtherExpectedErrorClass: + - "some expected error message" + + expected_status_codes: 406,500-504 + ``` + + + +## Priorité de configuration des erreurs [#error-config-precedence] + +La priorité pour la configuration des erreurs est : + +1. [configuration côté serveur](#server-side-config) (superpose les valeurs sur le fichier YAML) +2. `ignore_*` configuration dans le YAML +3. `expected` paramètre dans l&apos;appel d&apos;API `noticeError(..)` +4. `expected_*` configuration dans le YAML + +Voici quelques exemples de résultats obtenus en combinant différents appels d'API et configurations YAML. + + + + configuration YAML : + + ```yml + error_collector: + ignore_classes: + - "com.example.ErrorClass" + ``` + + et + + appel d'API: + + ```java + noticeError(com.example.ErrorClass) + ``` + + Résultat: + + Le YAML `ignore_classes` remplace l&apos;appel d&apos;API `noticeError` et l&apos;erreur est ignorée. + + + + configuration YAML : + + ```yml + error_collector: + expected_classes: + - "com.example.ErrorClass" + ``` + + ET + + appel d'API: + + ```java + noticeError(com.newrelic.Exception) + ``` + + Résultat: + + Le paramètre `expected` dans l&apos;appel d&apos;API `noticeError` est vrai par défaut et la configuration YAML `expected_classes` contient une classe d&apos;erreur. Par conséquent, l&apos;erreur est signalée et marquée comme `expected`. + + + + Aucune configuration YAML + + ET + + appel d'API: + + ```java + noticeError(com.newrelic.Exception, expected = true) + ``` + + Résultat: + + L'erreur est signalée et marquée comme prévue. + + + + configuration YAML : + + ```yaml + error_collector: + ignore_classes: + - "com.example.ErrorClass" + ``` + + ET + + appel d'API: + + ```java + noticeError(com.newrelic.Exception, expected = true) + ``` + + Résultat: + + Le YAML `ignore_classes`remplace le paramètre `expected` dans l&apos;appel d&apos;API `noticeError`, donc l&apos;erreur est ignorée. + + + + configuration YAML : + + ```yaml + error_collector: + expected_classes: + - "com.example.ErrorClass" + ``` + + ET + + appel d'API: + + ```java + noticeError(com.newrelic.Exception, expected = false) + ``` + + Résultat: + + Le paramètre `expected` dans l&apos;appel d&apos;API `noticeError` remplace `expected_classes` dans le YAML. Par conséquent, l’erreur est signalée comme normale (non marquée comme `expected`). + + + + configuration YAML : + + ```yaml + error_collector: + ignore_classes: + - "com.example.ErrorClass" + ``` + + ET + + configuration YAML supplémentaire : + + ```yaml + error_collector: + expected_classes: + - "com.example.ErrorClass" + ``` + + Résultat: + + Le YAML `ignore_classes/ignore_messages` remplace le YAML `expected_classes/expected_messages`, donc l&apos;erreur est ignorée. Ce même principe s’applique à `ignore_status_codes` et `expected_status_codes`. + + + +## Examiner le log pour obtenir des détails sur les erreurs [#logs-context] + +Vous pouvez rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. + +1. Depuis la page **Errors**, cliquez sur une trace pour accéder à la [page**Error details** ](/docs/apm/apm-ui-pages/error-analytics/errors-page-find-fix-verify-problems/). +2. Dans la page des détails de l’erreur, cliquez sur **See logs**. +3. Pour afficher les détails relatifs à un message individuel du log, cliquez directement sur le message. + +## Configurer ignoré et erreur attendue via UI [#server-side-config] + +Pour configurer [l'erreur attendue](/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected#expected) via l&apos;UI APM : + +1. Si ce n'est pas déjà fait, [activez la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration#enable-ssc). +2. [Accédez au menu de configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration#customize-ssc) de l’application contenant les erreurs que vous souhaitez marquer comme attendues. +3. Sous **Error collection**, pour **Ignore** ou **Exclude expected errors**, entrez le code HTTP ou la classe d&apos;erreur pour les erreurs que vous souhaitez configurer. +4. Sélectionnez **Save**. + +Pour plus d'informations sur la façon d'afficher l'erreur attendue dans l'UI, consultez [Afficher l'erreur attendue](/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected#expected). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/name-your-java-application.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/name-your-java-application.mdx new file mode 100644 index 00000000000..1c1aff7ccaf --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/configuration/name-your-java-application.mdx @@ -0,0 +1,143 @@ +--- +title: Nommez votre application Java +tags: + - Agents + - Java agent + - Configuration +freshnessValidatedDate: never +translationType: machine +--- + +[L'agent Java de New Relic](/docs/agents/java-agent/getting-started/introduction-new-relic-java) vous offre plusieurs façons de modifier le nom de l&apos;application signalé et affiché dans APM. Ce document vous donne un aperçu de ces options de dénomination. + +Pour un aperçu général de la dénomination des applications (non spécifique à Java), voir [Nommez votre application](/docs/agents/manage-apm-agents/app-naming/name-your-application). + +## Définir ou modifier le nom de l'application [#naming-options] + +APM différencie les applications par le nom sous lequel elles sont signalées. La continuité des données est interrompue lorsque vous modifiez le nom de l'application. Pour modifier le nom d'une application sans interrompre la continuité des données, utilisez l'option UI alias-change. + +Voici les moyens de modifier le nom de votre application Java : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Méthode de dénomination + + Description +
+ Recommandé : Configurer `app_name` dans `newrelic.yml` + + [Configurez votre fichier `newrelic.yml` ](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name)pour définir le nom de votre application. C&apos;est l&apos;option recommandée et la plus couramment utilisée : + + ```yml + app_name: My Application + ``` +
+ Configurer `app_name` à l&apos;aide d&apos;arguments JVM + + [Définissez une propriété système avec des arguments JVM](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#System_Properties) pour définir des noms d&apos;application uniques pour plusieurs applications qui font rapport au même agent Java : + + ```ini + -Dnewrelic.config.app_name="My App" + ``` +
+ Définir le nom de l'application à l'aide de variables d'environnement + + [Définissez une variable d'environnement](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Environment_Variables) pour définir facilement les noms d&apos;application lors du déploiement du conteneur, ou pour garantir qu&apos;un nom d&apos;application reste le même à travers plusieurs itérations d&apos;un fichier `newrelic.yml` : + + ```sh + export NEW_RELIC_APP_NAME="My App" + ``` +
+ Nommage automatique application + + [Activez la dénomination automatique application ](/docs/agents/java-agent/configuration/automatic-application-naming)dans votre fichier `newrelic.yml` si vous souhaitez que les applications soient nommées en fonction de leur contexte, de leur filtre, de leur servlet ou de leur attribut de requête : + + ```yml + enable_auto_app_naming: true + ``` +
+ Changer l'alias via UI + + [Modifiez l'alias d'une application](/docs/agents/manage-apm-agents/app-naming/name-your-application#app-alias) pour modifier uniquement le nom affiché dans l&apos;UI. Cela ne change pas le nom sous lequel l&apos;application signale. + + Cela ne perturbe pas la continuité des données, contrairement à toutes les autres options. +
+ + + Notez que certaines méthodes [ont priorité sur d’autres](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#config-options-precedence). + + +## Utiliser plusieurs noms d’application [#multiple] + +Vous pouvez utiliser plusieurs noms d'application pour regrouper les données de plusieurs applications sous le même nom dans APM (parfois appelé « regroupement » de vos données). Pour en savoir plus sur le fonctionnement de plusieurs noms d’applications, consultez [Utiliser plusieurs noms d’applications](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app). + +En Java, vous pouvez définir jusqu'à trois noms d'application. Le nom principal de l'application est first, tandis que les deuxième et troisième noms sont utilisés pour les catégories d'agrégation de données plus générales. + + + + Voici un exemple de définition de plusieurs noms dans le [fichier`newrelic.yml` ](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name): + + ```yml + app_name: My Application;My Application 2;My application 3 + ``` + + + + Voici un exemple de définition de plusieurs noms comme [variable d'environnement](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Environment_Variables): + + ```sh + export NEW_RELIC_APP_NAME="My Application;My Application 2;My application 3" + ``` + + + + + Si vous définissez plusieurs noms application à l'aide des propriétés système sur la ligne de commande Java, pensez à citer le paramètre de la ligne de commande à cause du ; personnage. + + + Voici un exemple de définition de plusieurs noms en tant que [propriété système](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Environment_Variables): + + ```ini + -Dnewrelic.config.app_name="My Application;My Application 2;My application 3" + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation.mdx new file mode 100644 index 00000000000..14c542bd2dd --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation.mdx @@ -0,0 +1,69 @@ +--- +title: disjoncteur pour Java instrumentation personnalisé +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: New Relic's Java agent 3.16.1 or higher includes a circuit breaker that "trips" to protect apps from the effects of over-instrumentation. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java de New Relic inclut un disjoncteur qui protège l'application des effets d'une surinstrumentation. Lorsque le disjoncteur détecte les premiers symptômes d'épuisement de la mémoire, il « déclenche » automatiquement et limite l'instrumentation. L'agent arrête de collecter les données de transaction jusqu'à ce que le disjoncteur se réinitialise automatiquement après avoir décidé que la réinitialisation est sûre. + +Le disjoncteur prend en compte deux paramètres ([l'utilisation du tas et le temps passé dans la collecte des déchets](#cpu-thresholds)) pour déterminer quand il doit se déclencher. Les valeurs par défaut de ces seuils sont des pourcentages : + +* seuil de mémoire : 20% +* Seuil CPU du garbage collection : 10 % + +Lorsque le pourcentage de mémoire de tas libre est inférieur à `memory_threshold` et que le temps CPU consacré à la collecte des déchets est supérieur à `gc_cpu_threshold`, le disjoncteur se déclenche. Lorsque le disjoncteur se déclenche, l&apos;agent arrête de collecter les données de transaction. le débit signalé dans l&apos;UI sera sous-estimé et vous ne verrez pas de trace de transaction pendant un certain temps. + +## Raisons de l'épuisement de la mémoire [#when] + +Le disjoncteur se déclenche lorsqu'il détecte des signes d'épuisement de la mémoire. Cela peut se produire pour plusieurs raisons : + + + + Votre application montre les premiers signes d'épuisement de la mémoire en raison du déploiement récent de l'instrumentation personnalisée (à l'aide de XML, de l'appel d'API, des annotations des traces ou de l'[instrumentation éditeur personnalisée](/docs/apm/applications-menu/features/custom-instrumentation-editor-quickly-customize-your-java-instrumentation) de l&apos;agent Java) ou en raison de l&apos;instrumentation intégrée. + + + + Votre application a connu un pic de charge et a montré des signes d’épuisement de la mémoire. Dans ce cas, l'agent ne contribue pas au pic, mais le disjoncteur peut aider à conserver les ressources et garantir que l'agent ne contribue pas à `OutOfMemoryErrors`. + + + + Votre application est configurée pour fonctionner à une limite de mémoire proche de celle-ci. + + + +## Dépannage + +Si le disjoncteur se déclenche, essayez ces conseils de dépannage. + + + + Utilisez le tableau **Top methods by call count** sur la page disjoncteur **Events** pour trouver les méthodes qui pourraient être sur-instrumentées. Identifier et désactiver l’instrumentation personnalisée. + + En général, l’utilisation de la mémoire de l’agent est proportionnelle au nombre d’appels d’une méthode. L'instrumentation personnalisée doit être utilisée sur les méthodes qui ne sont pas appelées plus d'une dizaine de fois par transaction. Si l'instrumentation est intégrée à l'agent, consultez la documentation [de l'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) de New Relic pour Java. Si vous avez besoin d&apos;aide supplémentaire, obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com). + + + + Examinez attentivement l’historique d’utilisation de la mémoire de votre application et déterminez si l’augmentation de la taille maximale du tas Java est nécessaire. + + + + Si votre application se comporte comme prévu, vous souhaiterez peut-être désactiver le disjoncteur. Pour désactiver le disjoncteur, ajoutez `enabled: false` sous la section `circuitbreaker` de votre fichier de configuration `newrelic.yml` : + + ```yml + common: &default_settings + circuitbreaker: + enabled: false + ``` + + + + Pour détecter les premiers signes d’épuisement de la mémoire, le disjoncteur utilise une formule à deux variables : `memory_threshold` et `gc_cpu_threshold`. Lorsque le pourcentage de mémoire de tas libre est inférieur à `memory_threshold` et que le temps CPU consacré à la collecte des déchets est supérieur à `gc_cpu_threshold`, le disjoncteur se déclenche. Ajustez ces valeurs selon vos besoins, en fonction des performances de fonctionnement et du comportement de votre application. + + Pour les détails de configuration, voir `memory_threshold` et `gc_cpu_threshold`. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui.mdx new file mode 100644 index 00000000000..8d74d01ad9e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui.mdx @@ -0,0 +1,302 @@ +--- +title: "Éditeur instrumentation personnalisée\_: instrumenter depuis l'UI" +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: 'To instrument methods and frameworks in your Java app directly from the APM UI, use New Relic''s custom instrumentation editor.' +freshnessValidatedDate: never +translationType: machine +--- + +L'éditeur d'instrumentation personnalisée de New Relic permet à l'utilisateur de l'application Java d'implémenter une instrumentation personnalisée via l'interface utilisateur de New Relic. L'éditeur est le choix privilégié lorsque vous ne pouvez pas modifier le code de votre application et que vous n'avez pas beaucoup de méthodes à instrument. Consultez [l’instrumentation personnalisée Java](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) pour d’autres options d’instrumentation et les raisons d’utiliser chacune d’elles. + +Pour utiliser l'éditeur instrumentation personnalisée : Accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select a Java app) &gt; Settings &gt; Instrumentation**. Utilisez l&apos;éditeur instrumentation personnalisée pour : + +* Instrumenter un framework non pris en charge. +* Obtenez des informations supplémentaires détaillées sur les méthodes non instrumentées. +* [Ignorer les transactions particulières](/docs/agents/java-agent/instrumentation/blocking-instrumentation-java). + +## Exigences + +Pour utiliser l'éditeur instrumentation personnalisée, vous devez répondre aux exigences suivantes : + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Requirement** + + + + **Comments** + +
+ agent + + agent Java version 3.17.0 ou supérieure +
+ Sécurité + + l'utilisateur du [mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security) doit [exporter son instrumentation](#manual-deploy) et l&apos;importer manuellement sur son serveur d&apos;applications. +
+ +## Définir une instrumentation personnalisée [#defining] + +Pour définir instrumentation personnalisée à partir de l'interface utilisateur New Relic, utilisez une session de profilage de thread pour collecter des traces d'appels détaillées de chaque thread de votre application. Si possible, testez votre instrumentation personnalisée dans un pré-environnement de production avant de modifier les règles instrumentation dans votre application de production. + +Dans l'un ou l'autre environnement, utilisez l'éditeur instrumentation personnalisée pour définir les méthodes que vous souhaitez instrumenter et appliquez vos modifications : + +1. Créer une nouvelle [session de profileur de thread](/docs/apm/applications-menu/events/thread-profiler-dashboard#starting). Pour garantir la collecte d&apos;un ensemble de données suffisant, la durée de la session doit être d&apos;au moins deux minutes. + +2. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Settings &gt; Instrumentation**. Faites défiler la page jusqu’à ce que vous voyiez la liste **Recently collected thread profiles**, puis sélectionnez le profil de thread le plus récent. + +3. Développer des méthodes individuelles pour localiser les objets non instrumentés méthodes. + +4. Pour définir des règles d'instrumentation pour des nœuds particuliers, sélectionnez **Instrument** ou **Ignore** et [personnalisez les règles si nécessaire](#options). + +5. Pour enregistrer vos paramètres, sélectionnez **Confirm instrumentation changes**. + +6. déployez vos modifications depuis la [page**Instrumentation** ](#dashboard): + + * Pour déployer vos modifications automatiquement, sélectionnez **Deploy instrumentation changes**. + * Pour déployer vos modifications manuellement, sélectionnez **Export XML** et consultez [l'exportation de votre instrumentation](#manual-deploy). + + + Évitez autant que possible le sur-instrumentation. Avec chaque méthode supplémentaire instrumentée, l'agent utilisera plus de ressources et votre application subira plus de frais généraux. De plus, le déploiement de votre instrumentation entraînera une brève période de surcharge plus élevée. Cela peut ralentir sensiblement application requests pendant plusieurs secondes. + + +Si vous avez appliqué vos modifications depuis l'UI, l'agent commencera à instrumenter vos méthodes dans quelques [cycles de collecte](/docs/apm/new-relic-apm/getting-started/glossary#harvest-cycle) (généralement quelques minutes). + +## instrumentation manuelle à l'aide de l'éditeur [#manual-instrumentation] + +Vous pouvez également créer des points d'instrumentation directement dans l'éditeur sans utiliser de profil de filetage : + +1. Depuis l'éditeur instrumentation personnalisée, sélectionnez **Add manual instrumentation** pour saisir manuellement une classe et une méthode à instrumenter ou à ignorer. +2. Suivez l'[instrumentation personnalisée selon les règles XML lors de la définition de vos points d'instrumentation](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation-xml-examples#file-format). +3. déployez vos modifications depuis l'éditeur instrumentation . + +Utilisez cette méthode pour ajouter à l'exposant instrumentation des fonctionnalités supplémentaires au-delà de ce qui est disponible à partir d'un profil de thread. En plus de faire correspondre les méthodes par signature, vous pouvez également instrumenter les méthodes par type de retour, les méthodes sur les interfaces et par annotation Java . + +Ces types d’instrumentation plus complexes peuvent être créés et supprimés dans l’éditeur, mais pas modifiés. + + + Si une méthode est marquée `Instrumentation not allowed`, suivez [les procédures de dépannage de New Relic pour l'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation). + + +## annuler les modifications manuellement [#manual-deploy] + +Vous pouvez également utiliser l'éditeur instrumentation personnalisée pour créer un ensemble instrumentation personnalisée, puis exporter un fichier instrumentation et l'importer manuellement sur votre serveur d'applications. Ceci est requis pour les utilisateurs du [mode haute sécurité](/docs/accounts-partnerships/accounts/security/high-security). + +Pour exporter votre instrumentation, [définissez instrumentation personnalisée via l'UI](#defining). Sélectionnez ensuite **Export xml** sur la page **Instrumentation** et [importez le fichier sur votre serveur d’applications](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-xml#file-location). + +## Fonctions de page [#dashboard] + +La page **Instrumentation** prend en charge la fonctionnalité suivante : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Mettre en pause ou désactiver l'instrumentation personnalisée + + * Sélectionner **Disable instrumentation** pour désactiver temporairement UItoute instrumentation personnalisée définie . + * Sélectionnez **Enable instrumentation** pour réactiver vos paramètres d’instrumentation. +
+ Importer l'instrumentation existante + + * Vous pouvez importer un [fichier xmlinstrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-xml) existant en sélectionnant **Import xml**. + * Vous pouvez également **Export xml** si vous [ne souhaitez pas déployer vos modifications automatiquement](#manual-deploy). +
+ Modifier ou supprimer des points d'instrumentation + + Vous ne pouvez pas modifier [l'instrumentation manuelle](#manual-instrumentation), seulement la supprimer. + + * Sélectionnez **Remove** pour arrêter l&apos;instrumentation d&apos;une méthode particulière. + * Sélectionnez **Edit** pour modifier les règles d’instrumentation. +
+ Afficher l'historique de l'instrumentation + + * Vous pouvez visualiser chaque itération précédente de votre instrumentation personnalisée à partir de l'onglet **Instrumentation history**, y compris qui a déployé les modifications et quand. + * Vous pouvez restaurer une ancienne version en sélectionnant **export** pour télécharger une copie du fichier instrumentation personnalisée, puis [en l'important](#import) dans l&apos;éditeur instrumentation . +
+ +## Options d'instrumentation [#options] + +Vous pouvez définir les options suivantes avec l'éditeur instrumentation personnalisée : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Instrumentation options** + + + + **Comments** + +
+ méthodes instrumentales + + Commencer à instrumenter la méthode sélectionnée. Les méthodes instrumentées seront visibles dans l'UI de New Relic. **Instrument** prend en charge les options enfants suivantes : + + * **Name the transaction (transaction name)**: Remplacer le nom de transaction standard, défini par les [règles de dénomination automatique](/docs/agents/java-agent/instrumentation/naming-web-transactions). L&apos;UI utilisera plutôt le nom répertorié. + * **Start the transaction when this method executes**: Plutôt que d&apos;inclure les métriques de cette métrique dans sa transaction parent, créez une nouvelle transaction pour cette méthode. [Le comportement de l'agent](#start-results) avec cette option dépend de l&apos;existence ou non d&apos;une transaction préexistante sur le thread. +
+ Rapport d'attribut personnalisé + + Le paramètre de méthode peut être capturé comme attribut sur une transaction. New Relic signale ces attributs comme trace de transaction, erreurs de trace et `Transaction` événement. + + Pour des raisons de sécurité, la capture d'attributs personnalisés à l'aide de l'éditeur d'instrumentation personnalisée est **disabled** par défaut et ne peut pas être activée lorsque vous utilisez [le mode haute sécurité](/docs/agents/java-agent/getting-started/apm-agent-security-java). Si vous souhaitez signaler un attribut personnalisé à l&apos;aide de l&apos;éditeur instrumentation personnalisée et que vous ne souhaitez pas que l&apos;agent Java soit en mode Haute sécurité, désactivez le [mode Haute sécurité](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-enable_high_security) puis ajoutez le texte suivant dans le bloc `common:` de votre **newrelic.yml**: + + ```yml + reinstrument: + attributes_enabled: true + ``` +
+ Ignorer les transactions + + [Ignorez complètement cette méthode](/docs/agents/java-agent/instrumentation/blocking-instrumentation-java). L&apos;agent ne signalera pas les métriques de cette méthode et la méthode ne contribuera pas aux calculs Apdex. +
+ +## Résultats avec l'option "démarrer" [#start-results] + +Si vous sélectionnez **Instrument methods > Start the transaction when this method executes**, le comportement de l&apos;agent dépend de l&apos;existence ou non d&apos;une transaction préexistante sur le thread. + +Lorsque la classe ou la méthode est instrumentée : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ L'indicateur « **Start the transaction"** » est-il coché ? +
+ + **Yes** + + + + **No** + +
+ Si une transaction préexistante **is** sur ce thread et l&apos;indicateur **Start the transaction** **is** sont cochés : + + 1. L'agent ignore l'indicateur **Start the transaction** . + 2. L'agent inclut la classe/méthode dans la transaction préexistante. + + Si une transaction préexistante **is** existe sur ce thread et que l&apos;indicateur **Start the transaction** **n'est pas** coché, l&apos;agent inclut la classe/méthode dans la transaction préexistante. +
+ Si une transaction n'est **pas** sur ce thread et que l&apos;indicateur **Start the transaction** **is** est coché : + + 1. L'agent découvre qu'il n'y a aucune transaction en cours. + 2. L'agent crée une nouvelle transaction en commençant par la classe/méthode que vous avez instrumentée. + + Si une transaction **n'est pas** sur ce thread et que l&apos;indicateur **Start the transaction** **n'est pas** coché : + + 1. L'agent recherche une transaction sur ce thread et n'en trouve pas. + 2. La métrique est abandonnée. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-jmx-yaml-examples.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-jmx-yaml-examples.mdx new file mode 100644 index 00000000000..82ba759e926 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/custom-jmx-yaml-examples.mdx @@ -0,0 +1,244 @@ +--- +title: Exemples JMX YAML personnalisés +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: 'Example of a custom JMX YAML file for New Relic''s Java agent: value and definition, MBean, attributes, type, and names for metrics, objects, and attributes.' +freshnessValidatedDate: never +translationType: machine +--- + +Il s'agit d'un exemple de fichier JMX YAML personnalisé pour l'agent Java de New Relic, comprenant la valeur et la définition, le MBean, l'attribut, le type et les noms des métriques, des objets et des attributs. Pour plus d'informations, y compris une vidéo, consultez [Monitoring JMX personnalisée par YAML](/docs/java/custom-jmx-monitoring-by-yml). + +## Exemple YAML + +Voici un exemple de fichier JMX YAML personnalisé. Les fichiers YAML sont sensibles à l'espace. + +```yml +name: TomcatCustom +version: 1.0 +enabled: true +jmx: + - object_name: Catalina:type=Cache,host=localhost,path=/examples + metrics: + - attributes: accessCount, cacheSize, hitsCount + type: simple + - object_name: Catalina:type=Connector,port=8009 + metrics: + - attributes: bufferSize, maxHeaderCount + - object_name: java.nio:type=BufferPool,name=* + metrics: + - attributes: Count + type: monotonically_increasing +``` + +## Exemple d'explication [#initial\_info][#initial_info] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Value** + + + + **Definition** + +
+ `name` + + Un nom descriptif identifiant votre fichier instrumentation personnalisé YAML, en utilisant un espace avant le nom de la propriété. Dans l'exemple ci-dessus, le nom est `TomcatCustom`. +
+ `version` + + La version du fichier d'extension. Utilisez un double. Si deux extensions ont le même nom, seule l'extension avec la version la plus élevée sera utilisée. Utilisez un espace avant la version de la propriété. Dans l'exemple ci-dessus, la version est `1.0`. +
+ `enabled` + + Si `true`, l&apos;agent Java lira l&apos;extension. Si `false`, l’agent Java ignorera l’extension. Utilisez un espace avant la propriété activée. L&apos;exemple ci-dessus est activé. +
+
+ + + Chaque ligne du YAML commençant par `- object_name` représente un MBean. Par exemple, les lignes suivantes décrivent les informations à extraire du premier MBean : + + ```yml + - object_name: Catalina:type=Cache,host=localhost,path=/examples + metrics: + - attributes: accessCount, cacheSize, hitsCount + type: simple + ``` + + La propriété object\_name elle-même peut correspondre à un ou plusieurs MBeans. Par exemple, la ligne ci-dessous ne correspond qu’à un seul MBean : + + ```yml + - object_name: Catalina:type=Cache,host=localhost,path=/examples + ``` + + La ligne suivante peut correspondre à plusieurs MBeans : + + ```yml + - object_name: java.nio:type=BufferPool,name=* + ``` + + Le caractère générique astérisque (`*`) ne peut être utilisé qu&apos;avec JDK 1.6 et versions ultérieures. + + Les trois MBeans répertoriés dans l'exemple ci-dessus ont les noms d'objet suivants : + + ``` + Catalina:type=Cache,host=localhost,path=/examples + Catalina:type=Connector,port=8009 + java.nio:type=BufferPool,name=* + ``` + + + + L'exemple JMX récupère six attributs différents des trois MBeans. L'agent Java de New Relic extrait ces attributs du premier MBean : + + * `accessCount` + + * `cacheSize` + + * `hitsCount` + + L'agent extrait ces attributs du deuxième MBean : + + * `bufferSize` + + * `maxHeaderCount` + + L'agent extrait un attribut (`Count`) du troisième MBean. + + + + Pour `type`, utilisez `simple` ou `monotonically_increasing`. Lorsque `type` n&apos;est pas spécifié dans le fichier JMX YAML, la valeur par défaut est `monotonically_increasing`. + + + + + + + + + + + + + + + + + + + + + + + +
+ Valeur + + Définition +
+ `simple` + + La valeur exacte de l'attribut sera signalée à New Relic chaque minute. +
+ `monotonically_increasing` + + La différence positive sera signalée à New Relic chaque minute. +
+ + Dans l'exemple ci-dessus, les attributs `accessCount`, `cacheSize` et `hitsCount` seront signalés comme `simple`. Les attributs `bufferSize`, `maxHeaderCount` et `Count` seront signalés comme `monotonically_increasing`. + + * Si la valeur de l'attribut `hitsCount` est toujours `5`, New Relic signalera un `5` chaque minute. + * Si la valeur de l'attribut `Count` est toujours `5`, New Relic signalera un `0` pour la valeur chaque minute. + * Si la valeur de l'attribut `Count` passe de `5` à `7`, New Relic signalera un `2` pour cette minute. +
+ + + Lorsque vous sélectionnez des métriques personnalisées dashboard et que vous n'utilisez pas la propriété `root_metric_name`, utilisez le format suivant pour toutes les métriques JMX personnalisées : + + ``` + JMX/beginning_of_object_name/type/any_properties_in_object_name/attribute_name + ``` + + + Certains noms d’objet n’incluent pas de type. Dans ce cas, un null sera présent dans le nom de la métrique. + + + Le fichier de configuration n'utilise pas `root_metric_name`, donc les métriques suivantes seront créées : + + ``` + JMX/Catalina/Cache/localhost/examples/accessCount + JMX/Catalina/Cache/localhost/examples/cacheSize + JMX/Catalina/Cache/localhost/examples/hitsCount + JMX/Catalina/Connector/8009/bufferSize + JMX/Catalina/Connector/8009/maxHeaderCount + JMX/java.nio/BufferPool/direct/Count + JMX/java.nio/BufferPool/mapped/Count + ``` + + Si vous utilisez la propriété `root_metric_name`, la métrique sera le nom de votre métrique racine préfixé par JMX et suivi du nom de l&apos;attribut. Vous pouvez utiliser des valeurs de nom d&apos;objet en spécifiant la clé de nom d&apos;objet dans `root_metric_name` entre crochets `{}`. Par exemple: + + Partie d'un fichier de configuration : + + ```yml + - object_name: Catalina:type=Cache,host=localhost,path=/examples + root_metric_name: Tomcat/{host} + metrics: + - attributes: accessCount, cacheSize, hitsCount + type: simple + - object_name: mbean:type=Sample,host=localhost,path=* + root_metric_name: SampleMBean + metrics: + - attributes: attOne, attTwo + type: simple + ``` + + noms métriques : + + ``` + JMX/Tomcat/localhost/accessCount + JMX/Tomcat/localhost/cacheSize + JMX/Tomcat/localhost/hitsCount + JMX/SampleMBean/attOne + JMX/SampleMBean/attTwo + ``` + + Si un attribut n’existe pas réellement sur le MBean, la métrique n’apparaîtra jamais dans New Relic. + +
+ +## Recherche de noms d'objets et d'attributs [#finding\_names][#finding_names] + +Le moyen le plus simple de trouver les MBeans disponibles et leurs attributs associés est d'utiliser les [instructions JConsole pour JDK 1.6](http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-agent-custom-jmx-instrumentation-yaml.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-agent-custom-jmx-instrumentation-yaml.mdx new file mode 100644 index 00000000000..fbe6d4012cd --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-agent-custom-jmx-instrumentation-yaml.mdx @@ -0,0 +1,228 @@ +--- +title: 'agent Java: instrumentation JMX personnalisée par YAML' +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: How to monitor specific JMX metrics in your app without modifying code by using a custom instrumentation YAML file for your New Relic Java agent. +freshnessValidatedDate: never +translationType: machine +--- + +La plateforme Java SE comprend Java Management Extensions (JMX). JMX est un moyen de monitorer et de gérer les applications, les appareils et les services. En général, les serveurs application disposent de métriques JMX intégrées que vous pouvez monitorer. + +L'agent Java de New Relic offre la possibilité de monitorer des métriques spécifiques à partir de MBeans et d'attributs dans votre application sans modifier le code en utilisant un [instrumentation fichier YAML personnalisée](/docs/java/custom-jmx-yaml-examples). L&apos;agent Java lira le fichier YAML au démarrage et enregistrera les métriques spécifiques. + + + Vous pouvez également monitorer JMX avec l'[intégration d'infrastructure JMX](/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration). + + +## Exigences et accès [#requirements] + +L'agent Java ne voit que les métriques des MBeans dans votre JVM actuelle. Si les MBeans sont accessibles à distance ou existent dans une JVM distincte, ils ne seront pas disponibles pour l'agent Java New Relic. + +Les données JMX personnalisées ne seront pas affichées dans nos graphiques , mais vous pouvez [interroger les données](#display_metrics) et créer des graphiques personnalisés avec elles. + +Cette intégration ne rapporte que des valeurs numériques simples. Si vous souhaitez signaler d’autres types de valeurs, vous pouvez utiliser l’ [intégration de l’infrastructure JMX](/docs/integrations/host-integrations/host-integrations-list/jmx-monitoring-integration). + +## Règles de structure de fichier [#file\_structure][#file_structure] + +Le fichier instrumentation personnalisée doit être au [format YAML](https://en.wikipedia.org/wiki/YAML). Utilisez un validateur YAML pour vous assurer que la syntaxe est exacte avant d&apos;utiliser le fichier avec l&apos;agent Java de New Relic et suivez ces règles : + +* Les fichiers YAML sont sensibles à la casse. +* Toutes les indentations sont incrémentées de deux caractères. Les données dans les mêmes sections du fichier doivent utiliser le même niveau d'indentation. Mettez en retrait toutes les sous-sections avec deux espaces supplémentaires. +* Vous devez redémarrer votre processus hôte JVM pour que les modifications prennent effet. + +## Propriétés disponibles [#properties] + +Voici un résumé de chaque propriété du fichier JMX. Pour plus d'informations, consultez [Exemples JMX YAML personnalisés](/docs/java/custom-jmx-yaml-examples). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Value** + + + + **Definition** + +
+ `name` + + Le nom descriptif principal identifiant votre fichier instrumentation personnalisé YAML. Inclure un espace avant la propriété `name` . +
+ `version` + + La version du fichier d'extension. Si deux extensions ont le même nom, seule l'extension avec la version la plus élevée sera utilisée. Assurez-vous que la propriété de version est sur une ligne distincte de `name`. Inclure un espace avant la propriété de version. +
+ `enabled` + + Si `true`, l&apos;agent Java lira l&apos;extension. Si `false`, l’agent Java ignorera l’extension. Inclure un espace avant la propriété `enabled` . +
+ `jmx` + + Aucune valeur ne suit la propriété `jmx`. Utilisez zéro espace avant la propriété. +
+ `object_name` + + Correspond à l'objet MBean spécifique. Si vous utilisez la version 1.6 ou supérieure du JDK, le `object_name` peut inclure des astérisques (\*). Inclure deux espaces avant le tiret et un espace entre le tiret et `object_name`. +
+ `root_metric_name` + + Disponible avec l'agent Java version 3.7.0 ou supérieure de New Relic. Une propriété facultative qui offre la possibilité de nommer la métrique utilisée dans New Relic. Pour utiliser les valeurs de propriété `object_name`, spécifiez la clé de propriété entre parenthèses (`{}`). New Relic préfixera automatiquement le `root_metric_name` spécifié avec JMX et ajoutera le nom de l&apos;attribut à la fin de la métrique. Inclure quatre espaces avant `root_metric_name`. +
+ `metrics` + + Il n'y a aucune valeur sur la ligne métriques. Inclure quatre espaces avant les métriques. +
+ `attributes` + + Une liste séparée par des virgules des attributs du MBean. Le nom de l'attribut doit correspondre exactement. Inclure 6 espaces avant le tiret et un espace entre le tiret et le mot-clé `attributes` . +
+ `type` + + * Si `simple`, chaque valeur sera signalée au collecteur New Relic. + * Si `monotonically_increasing` (par défaut), la différence positive sera signalée au collecteur New Relic. +
+ +## Emplacement du fichier YAML [#file\_location][#file_location] + +L'agent Java lit le fichier YAML au démarrage du processus. Il existe deux manières de spécifier l'emplacement du fichier YAML : + + + + 1. Dans le répertoire où se trouvent `newrelic.jar` et `newrelic.yml`, créez un répertoire nommé `extensions`. + 2. Placez le fichier YAML dans ce répertoire avec une extension `.yml` . + 3. Dans `newrelic.yml`, vérifiez que la propriété `extensions.dir` n&apos;est pas définie. + + + + 1. Dans le fichier de configuration `newrelic.yml` sous la section commune, utilisez la propriété `extensions.dir` pour spécifier le répertoire où se trouve le fichier YAML. + 2. Assurez-vous que le fichier se trouve dans le répertoire spécifié et que le fichier a une extension `.yml` . + + + + + Les métriques personnalisées ne fonctionneront pas s'il y a plus d'un fichier YAML dans le même dossier que l'agent. Déplacez les sauvegardes et les copies vers un autre dossier lors de la personnalisation. + + +## Vérifiez que le fichier a été lu [#verify\_read][#verify_read] + +Pour vérifier que le fichier YAML a été lu par l'agent : + +1. Ouvrez le fichier de configuration `newrelic.yml` . + +2. Modifiez la propriété niveau de log sur `log_level: finer`. + +3. Démarrez l'application. + +4. Vérifiez que le fichier `logs/newrelic_agent.log` inclut une instruction indiquant que le fichier a été lu : + + ``` + Reading custom extension file /path/to/file/file.yml + ``` + +5. Si vous ne trouvez pas cette déclaration, vérifiez l’emplacement du fichier YAML. Assurez-vous également que le processus dispose d’un accès en lecture au fichier. + +6. Vérifiez que le fichier inclut cette déclaration : + + ``` + Adding extension with name NAME_FROM_YAML and version VERSION_FROM_YAML + ``` + +7. Si vous ne trouvez pas cette déclaration, vérifiez que le document a été analysé correctement. Vérifiez également s'il existe un autre fichier d'extension portant le même nom et un numéro de version supérieur. + +## requête et graphique des données JMX [#display\_metrics][#display_metrics] + +Vous pouvez exécuter une requête sur vos données JMX et les utiliser pour créer des graphiques personnalisés. Pour en savoir plus sur l'interrogation de ce type de données, consultez [requête APM métriques](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-apm-metric-timeslice-data-nrql). + +Voici comment rechercher **JMX** ou le chemin direct vers le compteur tel que défini dans votre fichier YAML. + + + + Exemple de fichier YAML + + ```yml + name: TomcatCustom + version: 1.0 + enabled: true + jmx: + - object_name: java.nio:type=BufferPool,name=* + metrics: + - attributes: Count + type: monotonically_increasing + ``` + + Vous pouvez trouver les compteurs de l'objet dans l'exemple de fichier YAML en recherchant dans l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents) les éléments suivants : + + ``` + JMX/java.nio/BufferPool/direct/Count + JMX/java.nio/BufferPool/mapped/Count + ``` + + + +Pour plus d'informations sur la manière dont les métriques sont nommées et stockées, consultez [Exemples JMX YAML personnalisés](/docs/agents/java-agent/custom-instrumentation/custom-jmx-yaml-examples#metric_names). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-custom-instrumentation.mdx new file mode 100644 index 00000000000..58ebdb58680 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-custom-instrumentation.mdx @@ -0,0 +1,88 @@ +--- +title: Java instrumentation personnalisée +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: An overview of the ways you can implement custom instrumentation for your New Relic-monitored Java application. +freshnessValidatedDate: never +translationType: machine +--- + +[APM pour Java](/docs/agents/java-agent/getting-started/introduction-new-relic-java) produira généralement automatiquement des données de performances utiles. Cependant, si New Relic ne prend pas [en charge votre framework](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent), ou si vous souhaitez mettre en place monitoring supplémentaire, vous souhaiterez implémenter instrumentation personnalisée. + +[instrumentation personnalisée](/docs/apm/agents/manage-apm-agents/agent-data/custom-instrumentation/) vous permet de suivre les interactions qui ne sont pas capturées par l&apos;instrumentation automatique de New Relic et vous permet d&apos;ajouter des détails à votre [trace de transaction](/docs/traces/transaction-traces), pour vous aider à identifier les problèmes clés. + +New Relic collecte automatiquement [les métriques et événements](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data) de nombreux frameworks. Si vous utilisez un [framework ou un composant pris en charge](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent), vous pouvez voir certaines informations de transaction prêtes à l&apos;emploi et une instrumentation personnalisée peut être utilisée pour compléter les informations signalées par défaut par l&apos;agent. + + + Si vous utilisez un framework pris en charge, mais que vous ne voyez pas [de transactions](/docs/apm/applications-menu/monitoring/transactions-page), obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com) pour vous assurer que l&apos;instrumentation du framework fonctionne. + + +## Quand choisir une instrumentation personnalisée [#choosing] + +Choisissez une instrumentation personnalisée dans ces situations : + +* New Relic ne prend pas en charge votre framework et les transactions n'apparaissent pas dans l'UI +* Vous souhaitez ajouter des détails à votre trace de transaction +* les traces de transaction incluent de gros blocs de temps `application code` sans suffisamment de détails + +## Mettre en œuvre une instrumentation personnalisée [#implementing] + +Vous pouvez implémenter une instrumentation personnalisée avec l’une de ces méthodes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Method** + + + + **Description** + +
+ L'UI de New Relic + + New Relic pour Java inclut une option dans l'UI pour instrumentation personnalisée appelée l'[éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation). Cette option ne nécessite aucune modification directe du code de votre application, c&apos;est donc un bon choix si vous ne souhaitez pas ou ne pouvez pas modifier votre code. L&apos;éditeur est cependant assez limité en termes de fonctionnalités par rapport à l&apos;API de l&apos;agent Java. +
+ Annotation API + + À l’aide de l’agent Java de New Relic API, vous pouvez [annoter les méthodes de votre application code](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-annotation) que vous souhaitez monitorer. La méthode d’annotation est robuste et facile à dépanner. Si vous souhaitez modifier votre code source, l&apos;annotation est la méthode recommandée. Si vous avez de nombreuses méthodes à instrument, vous préférerez peut-être [instrumentationXML](#xml). + + Pour en savoir plus sur l'API et ses autres fonctions, consultez [Introduction à l'API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api). +
+ XML + + Si vous ne pouvez pas modifier votre code, ou si vous avez besoin d'instrumenter de nombreuses méthodes, instrumentation XML est la meilleure méthode instrumentation personnalisée. Avec cette méthode, vous spécifiez les classes que vous souhaitez instrumenter dans un fichier XML externe. + + Bien que l’instrumentation XML soit puissante, elle est également plus difficile à utiliser que les autres méthodes d’instrumentation. Pour des besoins instrumentation plus simples, New Relic recommande [l'annotation](#annotation) ou [instrumentation via l'UI](#instrument-ui). Pour plus d&apos;informations, voir [Instrumentation Java par XML](/docs/java/custom-instrumentation-by-xml). +
+ +Vous pouvez également monitorer Java Management Extensions (JMX) via instrumentation personnalisée. JMX est un moyen de monitorer et de gérer les applications, les appareils et les services. Vous pouvez implémenter monitoring JMX via un [fichier **YAML** externe](/docs/java/custom-jmx-instrumentation-by-yml). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-instrumentation-xml.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-instrumentation-xml.mdx new file mode 100644 index 00000000000..3d8abf83a07 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-instrumentation-xml.mdx @@ -0,0 +1,163 @@ +--- +title: Java instrumentation par XML +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: Use a custom XML file to monitor specific methods in your Java app without modifying code in New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +Pour votre application Java monitorée par New Relic, une méthode d'instrumentation personnalisée consiste à utiliser un fichier XML pour spécifier les méthodes de votre application qui doivent être instrumentées. L'agent Java lira le fichier XML et instrumentera les classes pertinentes au démarrage ; les fichiers XML ajoutés au [répertoire`extensions` ](#file-location)après le démarrage ne nécessitent pas de redémarrage de JVM pour être détectés. + +Consultez [l’instrumentation personnalisée de l’agent Java](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) pour obtenir une description des options d’instrumentation personnalisée et les raisons de leur utilisation. + +## Accéder à votre fichier XML [#ui-options] + +Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Settings &gt; Instrumentation**. À partir d&apos;ici vous pouvez : + +* Téléchargez un exemple de fichier XML. (Vous pouvez le faire à partir de la fenêtre contextuelle qui apparaît lorsque vous cliquez sur `Import an XML file`.) +* Sélectionnez un fichier XML existant ou modifiez-le. +* Rechercher l'historique de l'instrumentation. + +## Structure du fichier XML [#file-structure] + +Votre package de téléchargement d'agent New Relic (`newrelic_agent.zip`) contient deux modèles pour l&apos;utilisation de l&apos;instrumentation XML : + +* Le modèle `extension.xsd` est la définition de schéma XML que toutes les extensions personnalisées doivent suivre. +* Le modèle `extension-example.xml` est un exemple. Ce fichier instrumente certaines des méthodes de base du JDK. Si vous modifiez et renommez ce fichier, assurez-vous de modifier l&apos;attribut `name="extension-example"` pour qu&apos;il corresponde au nouveau nom de fichier. + +Pour plus d'informations sur les propriétés du modèle `extension.xsd`, consultez la [présentation du format de fichier XML](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation-xml-examples#file-format). + +## Validation du fichier XML [#file-validation] + +Avant de démarrer votre application, validez votre fichier XML à l'aide de l'outil de ligne de commande de New Relic. L'outil de ligne de commande ne peut être utilisé que lorsque vos classes sont dans un fichier jar. Il existe deux manières de valider votre instrumentation XML : + + + + Le moyen le plus simple de le faire pour les versions Java inférieures à Java 10 est d'utiliser cette commande : + + ```bash + java -Djava.ext.dirs=/path/to/jarred/classes -jar newrelic.jar instrument -file /path/to/file.xml -debug true + ``` + + + + + Pour les versions Java inférieures à Java 10, consultez la [procédure recommandée](#pre-java-10). Cette procédure n&apos;est pas possible avec Java 10 ou supérieur car ces versions ne permettent plus de définir `java.ext.dirs` . + + + Pour toutes les versions Java, vous pouvez définir le `classpath` manuellement : + + ```bash + java -cp /path/to/your-app.jar:/path/to/newrelic.jar com.newrelic.bootstrap.BootstrapAgent instrument -file /path/to/file.xml -debug true + ``` + + + +L'application est exécutée avec le `newrelic.jar`. L&apos;appel doit contenir le mot-clé `instrument` suivi de l&apos;indicateur `-file` avec le chemin vers votre fichier XML. La propriété `-debug` est facultative et peut être définie sur `true` pour fournir plus d&apos;informations lors de la validation. + +L'outil permettra de : + +* Valider la syntaxe XML. +* Vérifiez que chaque classe à instrumenter est présente sur le chemin de classe. +* Vérifiez que chaque méthode est contenue dans la classe appropriée. + +Si le fichier XML est valide, vous verrez une instruction de réussite imprimée sur le terminal : + +``` +PASS: The extension at file.txt was successfully validated. +``` + +Si la validation du XML échoue, vous verrez un message d'échec imprimé sur le terminal : + +``` +FAIL: reason +``` + +## Emplacement du fichier XML [#file-location] + +L'agent Java lit tous les fichiers XML dans le répertoire `extensions` au démarrage du processus. Le répertoire `extensions` est également lu à chaque [cycle de collecte](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#harvest-cycle). Les fichiers XML ajoutés à ce répertoire pendant l&apos;exécution seront lus en quelques minutes, ils ne nécessitent donc pas de redémarrage de la JVM. + +Il existe deux manières de spécifier l'emplacement du fichier XML : + + + + + + + + + + + + + + + + + + + + + + + +
+ + **XML file location options** + + + + **Procedure** + +
+ Créer un répertoire d'extensions + + 1. Dans le répertoire où se trouvent newrelic.jar et newrelic.yml, créez un répertoire nommé `extensions`. + 2. Placez le fichier XML dans ce répertoire avec une extension `.xml` . + 3. Dans `newrelic.yml`, vérifiez que la propriété `extensions.dir` n&apos;est pas définie. +
+ Spécifier un répertoire d'extensions existant + + 1. Dans le fichier de configuration `newrelic.yml` sous la section commune, utilisez la propriété `extensions.dir` pour spécifier le répertoire où se trouve le fichier XML. + 2. Assurez-vous que le fichier se trouve dans le répertoire spécifié et que le fichier a une extension `.xml` . +
+ +## Vérifiez que le fichier a été lu [#verifying-read] + +Pour vérifier que l'agent a lu le fichier XML, [définissez d'abord la gestion des logs sur `finer`](/docs/java/java-kb-101): + +1. Modifiez le fichier de configuration `newrelic.yml` et modifiez la propriété `log_level` : + + ```yml + log_level: finer + ``` + +2. Démarrez ou redémarrez l'application. + +Si la lecture a réussi, `logs/newrelic_agent.log` l&apos;indiquera dans une instruction similaire à : + +``` +Reading custom extension file /path/to/file.xml +``` + +Si aucune instruction n'apparaît dans `logs/newrelic_agent.log`, alors le fichier XML n&apos;a pas été trouvé. Vérifiez l’emplacement du fichier XML et assurez-vous que le processus New Relic dispose d’un accès en lecture au fichier. + +## Plusieurs fichiers XML [#multiplying-files] + +Bien que l’utilisation d’un seul fichier XML soit préférable, vous pouvez utiliser plusieurs fichiers XML personnalisés. Ces fichiers seront tous instrumentés à condition que le nom d'extension dans les fichiers soit unique. + +* Si deux fichiers XML personnalisés contiennent le même nom d'extension, celui avec la version la plus élevée sera implémenté et l'autre sera ignoré. +* Si les deux fichiers ont le même nom et la même version, alors le premier fichier lu par l'agent sera implémenté et l'autre sera ignoré. + +## XML et YAML + +Avant la version 2.10.0, Les fichiers YAML peuvent être utilisés pour une instrumentation personnalisée. Ces fichiers YAML legacy sont toujours pris en charge. Cependant, les nouveaux utilisateurs doivent utiliser des fichiers XML pour instrumentation personnalisée. + +**Legacy users:** Si un fichier YAML et un fichier XML existent avec le même nom d&apos;extension, seul le fichier XML sera instrumenté. Le fichier YAML sera ignoré. Si vous souhaitez que les fichiers YAML et XML soient instrumentés, donnez à chaque fichier un nom d&apos;extension différent. + +## Exemple de fichier XML [#example] + +Pour un exemple de fichier XML instrumentation personnalisée, voir [Exemples XMLJava ](/docs/java/custom-xml-examples). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-xml-instrumentation-examples.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-xml-instrumentation-examples.mdx new file mode 100644 index 00000000000..30e894fb597 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/java-xml-instrumentation-examples.mdx @@ -0,0 +1,445 @@ +--- +title: Exemples d'instrumentation XML Java +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: 'With New Relic monitoring for Java, you can use XML files to set up custom instrumentation of your Java application.' +freshnessValidatedDate: never +translationType: machine +--- + +Pour votre application Java monitorée par New Relic, une méthode d'[instrumentation](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) personnalisée consiste à utiliser un fichier XML qui répertorie les méthodes et les classes que vous souhaitez . Cette documentation montre un exemple de fichier d&apos;instrumentation XML. Pour plus d&apos;informations, voir [Instrumentation Java par XML](/docs/agents/java-agent/custom-instrumentation/java-instrumentation-xml). + +## Modifier le fichier XML dans UI [#ui] + +Pour modifier votre fichier XML directement depuis l’UI de New Relic : accédez **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Settings &gt; Instrumentation** à. À partir d&apos;ici vous pouvez : + +* Téléchargez un exemple de fichier XML. +* Sélectionnez un fichier XML existant ou modifiez-le. +* Rechercher l'historique de l'instrumentation. + +## Format de fichier XML [#file-format] + +Le format de fichier XML inclut les nœuds racine et enfants. + + + N'instrumenter pas toutes vos méthodes, car cela peut entraîner un [problème de regroupement métrique](/docs/apm/other-features/metrics/metric-grouping-issues). + + + + + Le nœud racine d’un fichier XML est `extension`. Il peut avoir trois attributs différents : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Valeur + + Définition +
+ `name` + + Un nom unique mais descriptif identifiant votre extension XML. +
+ `enabled` + + Identifie si l'extension sera lue par l'agent Java. La valeur par défaut est `true`. Si `false`, New Relic ignorera l&apos;extension. +
+ `version` + + La version de l'extension. Si deux extensions ont le même nom, seule l'extension avec la version la plus élevée sera utilisée. +
+
+ + + Le nœud `instrumentation` est un enfant de `extension`. Il peut avoir un attribut : `metricPrefix`. Il s&apos;agit du préfixe utilisé pour les noms métriques lorsque le nœud `nameTransaction` n&apos;est pas spécifié. La valeur par défaut est `CUSTOM`. + + + + Le `pointcut` est un nœud enfant de `instrumentation` et peut avoir plusieurs attributs. De plus, un `pointcut` peut avoir plusieurs [nœuds enfants](#pointcut-children) différents. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Valeur + + Définition +
+ `transactionStartPoint` + + Si une transaction n'est pas déjà en cours lorsque ce point de coupure est atteint, alors une transaction sera démarrée. Si une transaction est déjà en cours, cette transaction continuera. Une nouvelle transaction ne sera pas créée. +
+ `metricNameFormat` + + Le format de nom à utiliser pour une métrique. S'il n'est pas présent, la valeur par défaut sera le nom de la classe suivi du nom de la méthode. Vous ne pouvez définir le `metricNameFormat` que sur les coupes ponctuelles où `transactionStartPoint` est défini sur `false`. +
+ `excludeFromTransactionTrace` + + Lorsque `true` la trace de transaction ne sera pas fournie si ce pointcut initie la transaction. Si le point de coupure est atteint au milieu d&apos;une transaction, la trace de transaction sera toujours présente, mais cette méthode sera exclue du graphique d&apos;appel. +
+ `ignoreTransaction` + + Lorsque `true` la transaction entière sera ignorée. +
+ `transactionType` + + Définit le type de transaction. Les valeurs possibles sont `background` (par défaut, signalé comme une [transaction non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions)) et `web` (signalée comme une [transaction Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm)). +
+
+ + + Un `pointcut` peut avoir plusieurs nœuds enfants différents : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Valeur + + Définition +
+ `nameTransaction` + + Si cet élément est présent, l'agent nommera la transaction en utilisant le nom de la classe et la ou les méthodes instrumentées par ce pointcut. +
+ `methodAnnotation` + + Le nom complet sensible à la casse d'une classe d'annotation, y compris le nom du package. Toutes les méthodes marquées avec cette annotation seront mises en correspondance. +
+ `className` + + Le nom sensible à la casse de la classe à faire correspondre, y compris le nom du package. Associez ce nœud au nœud de méthode. Si ce nœud est présent sur un point de coupe, alors le nœud `interfaceName` ne peut pas être présent sur le même nœud de point de coupe. + + Le nœud `className` a l’attribut `includeSubclasses`. Si `true` les méthodes sur la classe avec le nom correspondant seront instrumentées avec les méthodes correspondantes sur n&apos;importe quelle classe enfant de cette classe. Si `false` (par défaut), seules les méthodes sur la classe exacte spécifiée seront instrumentées. + + Le `className` doit suivre ces règles : + + * Les classes internes peuvent être instrumentées. + * La structure complète package avec des points entre les packages doit être utilisée. + * Pour faire correspondre les sous-classes de la classe spécifiée, définissez l'attribut `includeSubclasses` sur `true`. +
+ `interfaceName` + + Le nom sensible à la casse d'une interface, y compris le nom du package, dont les classes d'implémentation seront mises en correspondance. Associez ce nœud au nœud de méthode. Si ce nœud est présent sur un point de coupe, alors le nœud `className` ne peut pas être présent sur le même nœud de point de coupe. + + Le `interfaceName` doit suivre cette règle : la structure complète package avec des points entre les packages doit être utilisée. +
+ `method` + + Une méthode sur la classe pour instrument. Associez ce nœud à un nœud `className` . De plus, le nœud `method` peut avoir [des enfants](#method-children). +
+ `traceByReturnType` + + Le nom de la classe, y compris le package, au format utilisé dans le bytecode, par exemple `Ljava/lang/String;`. + + Toutes les méthodes qui renvoient un objet de cette classe seront mises en correspondance. +
+ `traceLambda` + + Un booléen indiquant s'il faut faire correspondre les lambdas. + + Le nœud `traceLambda` a l&apos;attribut : + + * `includeNonstatic` - un booléen indiquant s&apos;il faut faire correspondre les méthodes non statiques (la valeur par défaut est false) ; + * `pattern` - une chaîne avec le modèle pour rechercher les méthodes lambda. +
+
+ + + Le nœud `method` peut avoir plusieurs enfants. Pour plus d&apos;informations et d&apos;exemples, voir [dépannage Java instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation#separate-transaction). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Valeur + + Définition +
+ `name` + + Le nom exact, sensible à la casse, de la méthode à faire correspondre. + + Un nœud de méthode `name` doit suivre ces règles : + + * Les méthodes publiques, protégées, privées et package peuvent toutes être instrumentées. + * Les méthodes statiques et instance peuvent être instrumentées. + * Les constructeurs ne peuvent pas être instrumentés. +
+ `parameters` + + Les types de paramètres de la méthode spécifiés dans l'ordre. Si l'élément `parameters` n&apos;est pas présent, toutes les méthodes correspondant au nom seront mises en correspondance. Cela inclut les déclarations privées et protégées. + + Un nœud de méthode `parameters` contient une liste des paramètres de la méthode, spécifiés par les éléments `type` . Voici les principales règles pour les éléments `type` : + + * Les primitives sont spécifiées en utilisant leur nom normal : int, virgule flottante, double, long, byte, short, boolean, char. + * Les objets nécessitent une structure de package complète. Par exemple, n'utilisez pas `String` dans le XML ; utilisez plutôt `java.lang.String`. + * N'utilisez pas de génériques avec des objets de collection. Par exemple, écrivez `java.util.List` au lieu de `java.util.List`. + * Inclure des parenthèses pour l'éventail. Par exemple, un éventail d’entiers sera `int[ ]` et un éventail de chaînes sera `java.lang.String[ ]`. + * Inclure deux jeux de supports pour un éventail d'éventail. Par exemple, un éventail d'éventails de longs serait `long[ ][ ]`. + * Pour envoyer le paramètre en tant qu'événement analytique à New Relic, ajoutez un attribut XML à l'élément de type appelé `attributeName`. + * Pour utiliser une méthode sans paramètre, le nœud `parameters` doit être présent pour correspondre à une méthode « sans arguments ». +
+ `returnType` + + Le nom sensible à la casse d'une classe indiquant un type de retour à faire correspondre. Toutes les méthodes qui renvoient ce type de classe seront mises en correspondance. +
+
+
+ +## Exemple + +Voici un exemple de classe et un fichier XML qui pourraient être utilisés pour instrumenter cette classe. + + + + ```java + package test; + + import java.util.HashMap; + import java.util.Map; + import java.util.concurrent.Executors; + import java.util.concurrent.ScheduledExecutorService; + import java.util.concurrent.TimeUnit; + + public class SampleTester { + + private String configName; + private Map maxSampleTimes; + + public SampleTester(String pConfigName) { + configName = pConfigName; + maxSampleTimes = new HashMap<>(); + } + + public void checkSample(String name, long[] times) { + if (times != null) { + maxSampleTimes.put(name, getFirst(times)); + } else { + maxSampleTimes.put(name, (long) getFirst()); + } + } + + private Long getFirst(long[] times) { + return times[0]; + } + + private int getFirst() { + return 0; + } + + public void printMaxRepeat(final long max) throws Exception { + Runnable myRunnable = new Runnable() { + public void run() { + try { + printMax(max); + } catch (Exception e) { + e.printStackTrace(); + } + } + }; + + ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(1); + scheduledExecutor.scheduleWithFixedDelay(myRunnable, 0, 10000, TimeUnit.MILLISECONDS); + } + + private void printMax(long max) { + System.out.println("max is " + max); + } + } + ``` + + + + ```xml + + + + + + + + test.SampleTester + + checkSample + + java.lang.String + long[] + + + + + getFirst + + + run + + + + + + test.SampleTester + + printMaxRepeat + + + printMax + + + + + + ``` + + Le premier bloc du fichier XML spécifie le nom et la version de l'extension. Comme l'extension XML par défaut est `enabled`, cet attribut n&apos;est pas spécifié. + + Le deuxième bloc spécifie les méthodes dans `SampleClass` qui doivent être instrumentées. Une transaction est démarrée au début du bloc. Il convient de noter que dans la classe d&apos;exemple, il existe deux méthodes qui partagent un nom (`getFirst`) mais ont des signatures différentes. Ceux-ci sont instrumentés avec un seul nœud de méthode. En supprimant le nœud `parameters`, toutes les méthodes portant le même nom peuvent être associées sous un seul nœud de méthode. + + Dans le troisième bloc, les méthodes spécifiées n’ont pas de transaction démarrée sur elles. C'est parce que la transaction a déjà été démarrée dans `run`. La transaction ne sera pas ignorée et sera incluse dans la trace de transaction. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/messaging-framework-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/messaging-framework-instrumentation.mdx new file mode 100644 index 00000000000..a91cdd1d15a --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/messaging-framework-instrumentation.mdx @@ -0,0 +1,121 @@ +--- +title: de messagerie framework instrumentation +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: An overview of the ways you can implement custom instrumentation for your New Relic-monitored Java application. +freshnessValidatedDate: never +translationType: machine +--- + +Il existe certains frameworks de messagerie que New Relic ne prend pas en charge par défaut. Si vous êtes intéressé à instrumenter ce framework avec notre API voici quelques lignes directrices à suivre. + +## Messagerie typique [#typical] + +Dans le cas typique, il y a un processus qui produit un message et un processus qui consomme le message. Voici quelques choses utiles que vous pourriez faire ici. Veuillez noter que vous devez être dans une transaction pour que ces informations soient signalées. + +### Déclarer la production/consommation comme externe [#report-ext] + +Vous pouvez créer MessageProduceParameters et MessageConsumeParameters avec des données pertinentes, puis appeler reportAsExternal(Params) pour signaler les appels comme externes. + +Par exemple, lors de la production d'un message, cela ressemblerait à : + +```java +MessageProduceParameters params = MessageProduceParameters + .library("libraryName") + .destinationType(NAMED_TOPIC) + .destinationName("topicName") + .inboundHeaders(null).build(); +NewRelic.getAgent().getTransaction().getTracedMethod().reportAsExternal(params); +``` + +Une solution similaire fonctionnerait du côté du consommateur. + +### Ajouter un message métriques/paramètre personnalisé à la transaction en cours [#add-metrics] + +Si vous souhaitez ajouter des informations utiles à votre transaction actuelle concernant le message, vous pouvez le faire facilement en appelant notre API addCustomParameter(). Cela ressemble à ceci : + +```java +NewRelic.addCustomParameter("topic-name", topic); +``` + +### Passer une traces distribuées en charge [#dt-payload] + +Afin de suivre le travail sur les différents processus/services, le framework de messagerie doit disposer d'un moyen de transmettre des métadonnées avec le message, que ce soit via des en-têtes ou un autre mécanisme. Vous pouvez créer une tracedes charges distribuées côté producteur qui peut être jointe au message et lue côté consommateur. Vous devez être dans une transaction pour que cela fonctionne. Pour ce faire, vous suivrez un modèle comme celui-ci : + +```java +@Trace(dispatcher = true) +public void sendData(Producer producer){ + NewRelic.getAgent().getTransaction().insertDistributedTraceHeaders(headers); + data = new ProducerRecord("topic", "key", "value", headers); + producer.send(data); +} +``` + +Et du côté du consommateur : + +```java +@Trace(dispatcher = true) +public void processData(ConsumerRecord record){ + NewRelic.getAgent().getTransaction().acceptDistributedTraceHeaders(TransportType.Kafka, record.headers()); +} +``` + +Cet exemple utilise Kafka, que vous pouvez instrument. [Instrumenter les message de file d'attente Kafka](/docs/agents/java-agent/instrumentation/use-kafka-message-queues) fournit des informations sur l&apos;instrumenté. + +## Cas limites [#edge-case] + +Il existe certains cas limites qui nécessitent une attention particulière. Vous trouverez ci-dessous des suggestions sur la meilleure façon de les résoudre. + +### Créez une traces distribuées et recevez ensuite un message [#create-payload] + +Le problème ici est que vous ne pouvez pas créer une trace de frais distribués, puis accepter une tracede frais distribués dans la même transaction dans cet ordre. Cela signifie qu'il y a deux tentatives de traçage distribué et que vous devez choisir celle que vous voulez. Si vous souhaitez accepter la deuxième charge utile plutôt que de créer la première, vous devez empêcher la création de la première charge utile. Vous pouvez supprimer l'instrumentation personnalisée (si c'est ce qui crée la charge utile) ou désactiver l'instrumentation via notre [configuration](/docs/agents/java-agent/async-instrumentation/disable-scala-netty-akka-play-2-instrumentation) + +### Lecture par lots de messages [#batch-messages] + +Pour la consommation par lots de messages, il existe un problème de répartition des frais de traçage que vous acceptez. Si vous acceptez de lier une seule des charges des traces distribuées, vous pouvez accepter n'importe quelle charge du lot, mais le reste de la charge sera perdu. Cependant, si vous souhaitez voir toutes les traces distribuées, vous devrez créer une transaction par message. La deuxième solution pourrait entraîner des frais généraux, alors prenez-le en considération lorsque vous prenez une décision. Une solution comme celle-ci ressemblerait à ceci : + +```java +public void processMessages(ConsumerRecords records) { + for(ConsumerRecord record: records) { + processRecord(record); + } +} + +@Trace(dispatcher = true) +private void processRecord(ConsumerRecord record) { + final Iterator
nrHeaders = record.headers().headers("newrelicDTPayload").iterator(); + if (nrHeaders.hasNext()) { + final Header nrHeader = nrHeaders.next(); + final String payload = new String(nrHeader.value(), StandardCharsets.UTF_8); + NewRelic.getAgent().getTransaction().acceptDistributedTracePayload(payload); + } +} +``` + +Cela ne fonctionnera que s'il n'y a pas encore de transaction démarrée sur le thread à ce moment. S'il y en a un, accepter une seule charge utile du lot est votre seule solution. + +### Capture du temps de traitement du message [#process-time] + +Si vous souhaitez capturer le temps de traitement d'un message, vous devrez déplacer le travail de traitement dans une méthode, puis trace cette méthode. Par exemple: + +```java +public void getMessages(){ + KafkaConsumer consumer = new KafkaConsumer(props); + consumer.subscribe(Arrays.asList("topic")); + while (true) { + ConsumerRecords recs = consumer.poll(10000); + if (recs.count() > 0) { + for (ConsumerRecord rec : recs) { + processRec(rec); + } + } + } +} + +@Trace(dispatcher = true) +private void processRec(ConsumerRecord rec) { + // some processing +} +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation.mdx new file mode 100644 index 00000000000..dca57d88469 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/custom-instrumentation/troubleshooting-java-custom-instrumentation.mdx @@ -0,0 +1,85 @@ +--- +title: dépannage Java instrumentation personnalisée +tags: + - Agents + - Java agent + - Custom instrumentation +metaDescription: Troubleshooting tips when using custom instrumentation with your New Relic Java agent. +freshnessValidatedDate: never +translationType: machine +--- + +Voici quelques conseils de dépannage pour [l'instrumentation personnalisée avec l'agent Java de New Relic](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). + +## Options UI + +Vous pouvez utiliser l'UI de New Relic pour [instrumentation définir des règles](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation) avec l&apos;éditeur d&apos;instrumentation personnalisée ou modifier votre fichier XML via le de votre application Java **Settings**. + +**Java apps only:** Pour modifier votre fichier XML directement depuis l’UI de New Relic : accédez **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select a Java app) &gt; Settings &gt; Live Instrumentation** à. À partir d&apos;ici vous pouvez : + +* Téléchargez un exemple de fichier XML. +* Sélectionnez un fichier XML existant ou modifiez-le. +* Rechercher l'historique de l'instrumentation. + +## Transactions imbriquées dans le profileur de thread [#thread-profiler] + +L'instrumentation personnalisée est utile pour les transactions imbriquées. Dans le profileur de thread, les méthodes avec des icônes grises à côté d'elles ne peuvent pas être instrumentées car cela entraînerait une surcharge inacceptable. Cependant, les enfants de ces méthodes peuvent généralement être instrumentés. + +Thread profiler: Nested transactions colors + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Events &gt; Thread profiler:** Une icône grise signifie qu&apos;elle ne peut pas être instrumentée. Une icône blanche signifie qu&apos;il n&apos;est pas instrumenté mais peut être instrumenté. Une icône bleue signifie qu&apos;il est actuellement instrumenté. +
+ +Pour identifier les méthodes que vous pouvez instrument, développez l'arborescence du profil de thread jusqu'à ce que vous trouviez une méthode appropriée : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Events &gt; Thread profiler**. +2. Développez l’arborescence du profil de thread jusqu’à ce que vous trouviez une méthode appropriée. +3. Suivez [les procédures standard](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation) pour définir et déployer une instrumentation personnalisée. + +## Classes et méthodes [#classes-methods] + +Lors du dépannage instrumentation personnalisée pour votre agent Java, comparez les informations `pointcut` dans votre fichier de configuration `newrelic.yml` avec les messages de confirmation dans votre [fichier de log](/docs/agents/java-agent/troubleshooting/generating-logs-troubleshooting-java). Vérifiez que les classes et les méthodes correspondent. + +Voici un exemple : + +```xml +# This is a pointcut example in your newrelic.yml config file: + + com.example.class.name + + exampleMethod + + +``` + +Si cela est correctement instrumenté, vous pouvez voir un message similaire à celui-ci dans le fichier de log: + +``` +# This is a confirmation example in your log file: +Oct 1, 2015 10:58:52 -0700 [9805 1] com.newrelic FINER: Instrumenting com/example/class/name +``` + +Si la classe et la méthode du fichier de log ne correspondent pas aux valeurs personnalisées de votre instrumentation, vérifiez-les et ajustez-les si nécessaire. (Vous ne verrez peut-être pas toujours une confirmation dans votre fichier log indiquant si le chargement instrumentation personnalisée a réussi ou échoué.) + +## Transaction séparée en XML [#separate-transaction] + +Voici un exemple de pointcut avec plusieurs valeurs `method` . Le `nameTransaction` a été ajouté au XML pour décomposer la méthode en une transaction distincte plutôt qu&apos;en un segment dans la [table de répartition APM**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-page). + +```xml +# This is a pointcut example to identify a specific transaction with XML custom instrumentation: + + + com.examplename.client.actionflow.impl.exampleActionFlow + + requestNAME + + boolean + + + +``` + +## transactions asynchrones [#async] + +Si votre application utilise des processus asynchrones, il peut être possible de connecter l'activité de travail asynchrone à la transaction parent à l'aide de l'API Java. Par défaut, ces transactions ne sont pas liées. Pour plus d’informations, voir [Instrumentation asynchrone Java](/docs/agents/java-agent/async-instrumentation/introduction-java-async-instrumentation). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/features/java-codestream-integration.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/features/java-codestream-integration.mdx new file mode 100644 index 00000000000..e0b0186ecb2 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/features/java-codestream-integration.mdx @@ -0,0 +1,82 @@ +--- +title: Métriques au niveau du code +tags: + - Agents + - Java agent + - Features +metaDescription: Code-level metrics for Java can be displayed in your IDE using the New Relic CodeStream extension. +freshnessValidatedDate: never +translationType: machine +--- + +Les métriques au niveau du code permettent aux développeurs utilisant l'[extension New Relic CodeStream](/docs/codestream/observability/code-level-metrics) de voir les données APM affichées contextuellement dans leur IDE, aux côtés des méthodes individuelles dans le code. Cela permet aux développeurs d’être plus proactifs dans la résolution des problèmes de performances lorsqu’ils écrivent et révisent le code. + +## Bien démarrer + +Tout d’abord, [installez](/docs/codestream/start-here/install-codestream) l’extension New Relic CodeStream dans l’IDE pris en charge de votre choix et log -vous. + + + Les métriques au niveau du code sont disponibles pour l'agent Java version 7.10.0 ou supérieure et activées par défaut pour la version 7.11.0 et supérieure. Consultez [la configuration de l'agent Java : fichier de configuration](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#code-level-metrics) pour obtenir des instructions sur la façon de l&apos;activer ou de le désactiver. + + +## attribut de l'agent + +L'agent Java signale et attache l'attribut suivant aux spans produits par votre application: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Name** + + + + **Description** + + + + **Example** + +
+ `code.function` + + Le nom de la fonction instrumentée (méthode Java ). + + retrieveData +
+ `code.namespace` + + L'espace de nommage (nom de classe entièrement qualifié) dans lequel `code.function` est défini + + com.example.MyService +
+ + + Les étendues créées à l'aide de la méthode API `NewRelic.getAgent().getTransaction().startSegment()` ne contiendront pas ces attributs. Pour créer une étendue contenant ces attributs, annotez une méthode avec `@Trace` ou utilisez instrumentation XML. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/features/jvms-page-java-view-app-server-metrics-jmx.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/features/jvms-page-java-view-app-server-metrics-jmx.mdx new file mode 100644 index 00000000000..80309672de9 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/features/jvms-page-java-view-app-server-metrics-jmx.mdx @@ -0,0 +1,3041 @@ +--- +title: "Page JVM (Java)\_: Afficher les métriques du serveur d'applications à partir de JMX" +tags: + - Agents + - Java agent + - Features +metaDescription: 'APM''s JVM page for Java: Thread pools, HTTP sessions, and transactions; WebSphere PMI and WebLogic JMX metrics.' +freshnessValidatedDate: never +translationType: machine +--- + +Vous pouvez utiliser l'agent Java de New Relic pour collecter et afficher des métriques supplémentaires fournies par les serveurs les plus application courants via JMX. Les métriques collectées varient selon le serveur d'applications et incluent des mesures des pools de threads, des sessions HTTP et des transactions. + +## Afficher les métriques JVM [#dashboard] + +les serveurs d'applications collectent et signalent différentes métriques, qui apparaissent sur la page **JVMs** d&apos;APM. (Pour les applications utilisant New Relic via Heroku, la page **JVMs** est nommée **[Instances](/docs/accounts-partnerships/partnerships/heroku-new-relic/heroku-instances-dashboard)**.) + +Au minimum, chaque serveur d'applications collecte et rapporte des données métriques sur la mémoire. Pour obtenir des instructions sur l'activation des métriques JMX, reportez-vous à la documentation de votre serveur d'applications. + +Pour afficher les métriques JVM : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitoring &gt; JVMs &gt; (select a JVM)**. +2. À partir de la page **Memory** de la JVM sélectionnée, utilisez l&apos;une des [fonctions d'interface utilisateur](/docs/accounts-partnerships/education/getting-started-new-relic/standard-dashboard-features) standard de New Relic pour accéder aux informations détaillées. +3. Pour afficher d’autres métriques, sélectionnez n’importe quel [onglet disponible](#dashboard-tabs). +4. Facultatif : pour utiliser le [profileur de thread](/docs/applications-menu/thread-profiler) pour rechercher des goulots d&apos;étranglement dans les données sur les threads en cours d&apos;exécution, sélectionnez **Profile this JVM**. + +APM Java JVMs page + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitoring &gt; JVMs**: En fonction des métriques signalées par votre serveur d’applications, un ou plusieurs onglets apparaissent sur votre page JVM . +
+ +## Onglets disponibles par serveur d'applications [#dashboard-tabs] + +Ce tableau répertorie les onglets qui apparaissent sur la page JVM pour les serveurs d’applications. Si votre serveur d’applications ne signale pas un type particulier de données métriques, l’onglet n’apparaît pas sur votre page JVM . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Serveur d'applications + + mémoire + + Pools de threads + + Sessions HTTP + + Transactions du serveur d'applications + + Sources de données +
+ Glassfish + + + + + + + + + +
+ JBoss 5AS + + + + + + + + + + +
+ JBoss 6AS + + + + + + + + + + +
+ JBoss 6EAP + + + + + + + + + + +
+ JBoss 7EAP + + + + + + + + + +
+ JBoss 7AS + + + + + + + + + + +
+ Jetty + + + + + + + + + +
+ Resin 3 + + + + + + + + + + +
+ Resin 4 + + + + + + + + + + +
+ Tomcat + + + + + + + + + + +
+ TomEE + + + + + + + + + +
+ WebLogic + + + + + + + + + + +
+ Websphere Liberty + + + + + + + + + + +
+ Websphere Traditionnel + + + + + + + + + +
+ Vol sauvage + + + + + + + + + +
+ +## Métriques disponibles par onglet [#tab-metrics] + +Voici un résumé des métriques disponibles sur la page JVM. Si le serveur d’applications ne prend pas en charge une métrique particulière, cet onglet n’apparaît pas sur votre page JVM. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ JMX + + cartes métriques +
+ mémoire + + * **Heap memory usage:** Chaque graphique montre l&apos;espace de tas utilisé et engagé en Mo pour un tas donné. + * **Non-heap memory pool usage for the JVM:** Le cache de code utilisé et le CMS Perm Gen utilisé en Mo. + * **Garbage collection:** Le temps CPU du ramassage des déchets. + * **Class count:** Le nombre de classes chargées et déchargées pour la JVM. +
+ Fils + + * **Thread count:** Le nombre actuel de threads actifs dans la JVM. + * **Thread pool:** Le nombre de threads actifs et inactifs pour le pool. Sur les serveurs d&apos;applications pris en charge, un graphique affiche chaque pool de threads présent sur le serveur d&apos;applications, ainsi que le rapport entre le nombre de threads actifs et le nombre maximal de threads pour chaque pool de threads. +
+ Sessions HTTP + + * **Session:** Les comptes de sessions HTTP actives, invalidées par dépassement de délai et invalidées pour l&apos;application. Sur les serveurs d’applications pris en charge, un graphique affiche chaque application présente sur le serveur d’applications. +
+ Transactions du serveur d'applications + + * **Active transaction:** Le nombre de transactions actives dans le gestionnaire de transactions du serveur d&apos;applications. + * **Created transaction:** L&apos;évolution du nombre total de transactions créées par serveur d&apos;applications. Certains serveurs d&apos;applications séparent les transactions de niveau supérieur et les transactions imbriquées. + * **Finished transaction:** L&apos;évolution du nombre total de transactions terminées par serveur d&apos;applications. Certains serveurs d&apos;applications les séparent en transactions interrompues et validées. +
+ Sources de données + + Les métriques de l’onglet source de données varient selon le serveur d’applications. Pour plus de détails, voir [Métriques de source de données par serveur d'applications](#metrics-by-app-server). Pour plus de détails sur les métriques de source de données de WebLogic, voir [WebLogic JMX métriques](#weblogic-jmx). +
+ +## Métriques de source de données par serveur d'application [#metrics-by-app-server] + +Pour les serveurs d’applications pris en charge, l’agent collecte les métriques de la source de données JMX. Vous pouvez consulter ces métriques à l'**[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitoring &gt; JVMs &gt; Data sources**. Pour voir ces métriques, assurez-vous que votre source de données a été correctement configurée pour monitoring JMX de votre serveur d&apos;applications. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Serveur d'applications + + Métriques +
+ Tomcat + + * **Max connections:** Le nombre maximal de connexions disponibles pour une source de données. Il s’agit généralement d’un paramètre configurable. + * **Active connections:** Le nombre actuel de connexions actives dans une source de données. + * **Idle connections:** Le nombre actuel de connexions inactives dans une source de données. +
+ WebSphere Liberty + + * **Max connections:** Le nombre maximal de connexions disponibles pour une source de données. Il s’agit généralement d’un paramètre configurable. + * **Active connections:** Le nombre actuel de connexions actives dans une source de données. + * **Idle connections:** Le nombre actuel de connexions inactives dans une source de données. + * **Wait time:** Le temps moyen pendant lequel une connexion doit attendre avant d&apos;être traitée. + * **Destroyed connections:** Le nombre de connexions détruites. +
+ Resin + + * **Max connections:** Le nombre maximal de connexions disponibles pour une source de données. Il s’agit généralement d’un paramètre configurable. + * **Active connections:** Le nombre actuel de connexions actives dans une source de données. + * **Idle connections:** Le nombre actuel de connexions inactives dans une source de données. + * **Created connections:** Le nombre de connexions créées. +
+ +## Activer pour Spring Boot 2.2 et supérieur avec Tomcat + +Pour permettre à New Relic d'accéder aux métriques Tomcat JMX lors de l'exécution avec Spring Boot 2.2 et versions ultérieures, la propriété système `server.tomcat.mbeanregistry.enabled` doit être définie sur `true`. Voir les [notes de sortie de Spring Boot 2.2](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.2-Release-Notes#tomcats-mbean-registry). + +## Activer les métriques WebSphere PMI [#default-pmi] + +Pour permettre à New Relic d'accéder aux métriques WebSphere PMI, vous devez configurer WebSphere pour monitorer les ensembles de statistiques nécessaires. + + + + L'approche la plus simple consiste à permettre la collecte de tous les ensembles de statistiques : + + 1. Si vous utilisez Java 2 Security, assurez-vous d'avoir [accordé les autorisations appropriées à New Relic](/docs/agents/java-agent/installation/install-java-agent-java-2-security). + 2. Depuis la console d’administration WebSphere, sélectionnez **Monitoring and Tuning > Performance Monitoring Infrastructure (PMI) > (your server name)**. + 3. Cochez la case **Enable Performance Monitoring Infrastructure (PMI)** . + 4. Dans la section **Currently monitored statistic set**, sélectionnez **All**, puis enregistrez vos modifications. + + + + Vous pouvez également collecter uniquement les métriques PMI que New Relic monitore par défaut. Pour collecter uniquement quelques métriques PMI : + + 1. Si vous utilisez Java 2 Security, assurez-vous d'avoir [accordé les autorisations appropriées à New Relic](/docs/agents/java-agent/installation/install-java-agent-java-2-security). + + 2. Depuis la console d’administration WebSphere, sélectionnez **Monitoring and Tuning > Performance Monitoring Infrastructure (PMI) > (selected app server)**. + + 3. Cochez la case **Enable Performance Monitoring Infrastructure (PMI)** . + + 4. Sélectionnez **Custom**. Dans la liste des statistiques personnalisées, activez les métriques suivantes : + + * Dans la catégorie **ThreadPool**, cochez les cases **ActiveCount** et **PoolSize** . + * Dans la catégorie **Servlet Session Manager**, cochez les cases **ActiveCount** et **LiveCount** . + * Dans la catégorie **Transaction Manager**, cochez les cases **CommittedCount**, **RolledbackCount** et **GlobalTimeoutCount** . + + 5. Dans le panneau **Messages**, sélectionnez **Save directly to the master configuration**. + + + +## Métriques WebSphere PMI collectées [#collected-pmi] + +Lorsque cette option est activée, New Relic collecte les métriques WebSphere PMI suivantes. Si vous souhaitez que d'autres métriques PMI en plus de celles-ci soient collectées et affichées dans le dashboard personnalisé New Relic, utilisez [instrumentationJMX](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + stats.ActiveCount +
+ Modèle de nom d'objet + + ``` + WebSphere:type=ThreadPool,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/ThreadPool/WebContainer/Active + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + taille maximale +
+ Modèle de nom d'objet + + ``` + WebSphere:type=ThreadPool,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/ThreadPool/WebContainer/Max + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + statistiques.CommittedCount +
+ Modèle de nom d'objet + + ``` + WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/TransactionService/Committed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + stats.RolledbackCount +
+ Modèle de nom d'objet + + ``` + WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/TransactionService/Rolled Back + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + stats.GlobalTimeoutCount +
+ Modèle de nom d'objet + + ``` + WebSphere:j2eeType=JTAResource,type=TransactionService,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/TransactionService/Timed Out + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebSphere PMI metrics** + + + + **Details** + +
+ Attribut + + stats.LiveCount +
+ Modèle de nom d'objet + + ``` + WebSphere:type=SessionManager,name=*,process=*,platform=*,node=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/Session/DefaultApplication#DefaultWebApplication.war/Active + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+
+ +## Métriques JMX WebLogic [#weblogic-jmx] + +Dans WebLogic, JMX est activé par défaut. New Relic collecte les **mbeans** métriques suivantes. + + + Pour collecter des métriques JMX supplémentaires, utilisez un [fichier YAML personnalisé](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de fils +
+ Modèle de nom d'objet + + ``` + java.lang:type=Threading + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/Threads/Thread Count + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de threads démarrés +
+ Modèle de nom d'objet + + ``` + java.lang:type=Threading + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/Threads/TotalStartedCount + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de classes chargées +
+ Modèle de nom d'objet + + ``` + java.lang:type=ClassLoading + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/Classes/Loaded + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de classes déchargées +
+ Modèle de nom d'objet + + ``` + java.lang:type=ClassLoading + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/Classes/Unloaded + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de threads accaparants +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/ThreadPool/{Name}/Active + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + ExécuterThreadIdleCount +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/ThreadPool/{Name}/Idle + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de threads en veille +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=ThreadPoolRuntime,Type=ThreadPoolRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/ThreadPool/{Name}/Standby + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/{Name}/Count + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions engagées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/{Name}/Committed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions annulées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/{Name}/Rolled Back + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions abandonnées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=JTARuntime,Type=JTARuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/JTA/{Name}/Abandoned + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + NombreDisponible +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Connections/Available + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Capacité actuelle +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Connections/PoolSize + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de connexions +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Connections/Created + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre actuel de connexions actives +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Connections/Active + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre de connexions ayant fui +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Connections/Leaked + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + PrepStmtCacheCurrentSize +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Statement Cache/Size + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + En attente de connexion Nombre actuel +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Requests/Currently Waiting + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + En attente de connexion totale +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Requests/Count + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + En attente de réussite de la connexion +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Requests/Successful + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + En attente d'échec de connexion +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,Type=JDBCDataSourceRuntime + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/DataSources/{Name}/Requests/Failed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + AccessTotalCount - Nombre total de manques +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Attempts/Successful + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de Miss +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Attempts/Failed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre actuel de serveurs +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,*> + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Threads/Waiting + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de destructions +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Destroyed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre actuel de haricots utilisés +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Active + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre actuel de Beans mis en commun +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBPoolRuntime,EJBComponentRuntime=*,* + ``` +
+ + **New Relic metric** + + + ``` + JmxBuiltIn/EJB/Pool/Bean/{ApplicationRuntime}/{EJBComponentRuntime}/{Name}/Beans/Available + ``` +
+ [**Type**](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Simple +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions engagées + Nombre total de transactions annulées + Nombre total de transactions expirées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Count + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions engagées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Committed + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + Nombre total de transactions annulées +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Rolled Back + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **WebLogic JMX metrics** + + + + **Details** + +
+ Attribut + + TransactionsTimedOutTotalCount +
+ Modèle de nom d'objet + + ``` + com.bea:ServerRuntime=*,Name=*,ApplicationRuntime=*,Type=EJBTransactionRuntime,EJBComponentRuntime=*,* + ``` +
+ New Relic métrique + + ``` + JmxBuiltIn/EJB/Transactions/Application/{ApplicationRuntime}/Timed Out + ``` +
+ [Taper](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml#attribute-type) + + Monotone +
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics.mdx new file mode 100644 index 00000000000..f22278668a9 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics.mdx @@ -0,0 +1,127 @@ +--- +title: Profilage en temps réel pour Java à l'aide de métriques JFR +tags: + - Agents + - Java agent + - Features +metaDescription: 'APM for Java: Real-time Java profiling using Java Flight Recorder (JFR) metrics.' +freshnessValidatedDate: never +translationType: machine +--- + +Avec le profilage en temps réel de New Relic pour Java à l'aide des métriques Java Flight Recorder (JFR), vous pouvez exécuter un profilage continu et permanent de votre code Java dans un environnement de production. La vue chronologique du cluster JVM qui l'accompagne fournit un moyen rapide et intuitif de diagnostiquer les problèmes de performances à l'échelle du cluster. Par exemple, vous pouvez rapidement voir comment le déploiement d’une application affecte la santé globale du cluster. + +## Retrouvez les spectacles goulot d'étranglement [#feature] + +Dépannage des performances du goulot d'étranglement dans votre Java application ou service peut vous aider à mieux comprendre les éléments suivants : + +* Où vous gaspillez des ressources +* Lorsqu'un incident se produit +* Que s'est-il passé lors d'un incident +* Quels problèmes de performances ont conduit à un incident + +Pour rendre le dépannage plus rapide et plus simple, vous devez voir les caractéristiques d'exécution haute fidélité de votre code exécuté sur la JVM, et vous avez besoin de ces données en temps réel. + +## JFR daemon [#about] + +Le [daemon JFR](https://github.com/newrelic/newrelic-jfr-core) est un exportateur d&apos;événement JFR qui vous permet d&apos;exploiter la puissance de la plateforme New Relic pour [visualiser](#find-data) le comportement de votre JVM. En utilisant le [Java SDK de télémétrie](https://github.com/newrelic/newrelic-telemetry-sdk-java) de New Relic comme implémentation sous-jacente, le daemon JFR convertit l&apos;événement JFR en New Relic types de télémétrie et les rapporte à New Relic d&apos;ingestion de métrique et d&apos;événement de API. + +Il existe trois scénarios d'utilisation différents pour le daemon JFR : + +* [New Relic Java agent JFR service](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#new-relic-java-agent-jfr-service) (RECOMMANDÉ) - JFR monitoring intégrée à [agent Java de New Relic](/docs/agents/java-agent/) l&apos;phare . Aucune configuration supplémentaire n&apos;est nécessaire, [installez simplement l'agent Java](/docs/agents/java-agent/installation/install-java-agent/), assurez-vous que le [service JFR est activé](/docs/agents/java-agent/configuration/java-agent-configuration-config-file/#jfr-real-time-profiling) et les données JFR circuleront dans la même application que l&apos;agent Java. Nécessite [l'agent Java de New Relic version 7.0.0+](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-700/). + * **Note**: Le profilage en temps réel JFR peut être activé via [la configuration côté serveur de l'agent](/docs/apm/agents/manage-apm-agents/configuration/server-side-agent-configuration/). Cela permet de basculer entre les profils sans avoir besoin de redémarrer l&apos;application cible. +* [Processus autonome](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#standalone-process) - Exécutez `jfr-daemon` en tant que processus autonome et configurez-le pour monitorer un processus Java existant à l&apos;aide de JMX distant. +* [agent Javaautonome](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#standalone-java-agent) - Attachez le `jfr-daemon` à votre processus Java en tant agent Java. Une alternative légère à l&apos;agent Java New Relic. + +## Versions Java prises en charge [#supported-java-versions] + +Bien que le daemon JFR prenne en charge toutes les versions de Java 11 et supérieures, nous ne recommandons pas d'utiliser une version non LTS de Java dans un environnement de production. + +Certains fournisseurs ont rétroporté JFR vers leurs binaires Java 8. Par instance, OpenJDK a rétroporté JFR sur la version 8u262. Le daemon JFR est compatible avec ces versions Java. + +## Exigences et instructions d'utilisation [#requirements-and-usage-instructions] + +Les exigences et les instructions varient pour chaque scénario d’utilisation. Pour plus de détails, veuillez consulter les liens correspondant à votre scénario d'utilisation spécifique : + +* Service JFR de l'agent Java New Relic - [Exigences](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#requirements-for-new-relic-java-agent-jfr-service), [configuration](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#configuration-for-new-relic-java-agent-jfr-service) et [instructions d'utilisation](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#usage-for-new-relic-java-agent-jfr-service) +* Processus autonome - [Exigences](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#requirements-for-standalone-process), [configuration](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#configuration-for-standalone-usage) et [instructions d'utilisation](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#usage-for-standalone-process) +* agent autonome Java - [Exigences](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#requirements-for-standalone-java-agent), [configuration](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#configuration-for-standalone-usage) et [instructions d'utilisation](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#usage-for-standalone-java-agent) + + + Les applications exécutées avec le daemon JFR doivent s'attendre à ce que le sous-système JFR utilise de la mémoire supplémentaire. + + + + Avec agent Java sortie 8.0.0 ou supérieur, vous pouvez modifier dynamiquement votre configuration de profilage JFR sans redémarrer vos JVM. Pour ce faire, basculez le paramètre dans **Settings > Application > Java Flight Recorder** ou en modifiant la configuration `jfr.enabled` . + + +## Visualisez vos données [#find-data] + +Pour visualiser vos données, accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; Services &gt; (select service) &gt; More views &gt; Realtime Profiling Java**. + +## Comprendre le comportement du cluster JVM au fil du temps [#ui] + +La vue chronologique du cluster JVM montre le comportement de la JVM sur l’ensemble de votre cluster. Cette chronologie permet un dépannage et une détection des problèmes plus rapides ; par exemple, en un coup d'œil, vous pouvez voir : + +* Comment un déploiement récent a affecté le reste du cluster JVM +* Lorsqu'une JVM a redémarré +* Comment une instance individuelle a été affectée par son voisin bruyant + +Pour faciliter le dépannage, vous devez voir les caractéristiques d’exécution haute fidélité de votre code exécuté sur la JVM, et vous avez besoin de ces données en temps réel. + +New Relic Java Flight Recorder (JFR) UI + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; Services &gt; (select service) &gt; Realtime Profiling Java**: La vue chronologique du cluster JVM montre le comportement de la JVM sur le cluster. +
+ +Chaque ligne de la chronologie représente une JVM spécifique au fil du temps. À l'intérieur de chaque ligne, une case représente une période de 5 minutes de la vie de cette JVM. Du moins grave au plus grave, les feux tricolores jaune, orange et rouge indiquent un comportement anormal d'une JVM, ce qui vous permet d'explorer en détail cette instance et la bonne période lors de l'examen des erreurs ou d'autres problèmes de performances. + +How JVM health is measured + +
+ Sélectionnez **How is JVM health determined?** pour une analyse détaillée de la manière dont l’état de la JVM est calculé. +
+ +## Détails de la JVM [#details] + +Pour trouver la page des détails de la JVM, accédez à : **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; Services &gt; (select service) &gt; Realtime Profiling Java &gt; (select JVM)**. + +Le panneau de détails de chaque JVM fournit plusieurs vues critiques : + +* Pourcentage d'utilisation du processeur par l'utilisateur +* Pourcentage d'utilisation du processeur de la machine +* Tailles de tas +* Durée de la collecte des déchets +* La plus longue pause de collecte des déchets +* Utilisation du processeur par thread utilisateur +* Utilisation du processeur par le thread système +* Allocation de petits objets par thread +* Allocation d'objets volumineux par thread +* Lecture réseau par thread +* Écriture réseau par thread +* Taille d'allocation de tampon par thread +* Allocation totale de threads +* Allocation totale d'objets par thread +* Métaespace + +## Identifiez les chemins de code gourmands en ressources avec des graphiques de flammes [#flamegraph] + + + La fonctionnalité de graphique de flamme est uniquement compatible avec le scénario d'utilisation [du service JFR de l'agent Java New Relic](https://github.com/newrelic/newrelic-jfr-core/blob/main/README.md#new-relic-java-agent-jfr-service) . + + +Un « graphique de flamme » est un moyen de visualiser l’arbre d’appel. Chaque bloc du graphique représente une fonction. Plus une méthode consomme de temps CPU et de ressources mémoire, plus ce bloc est large. + +Utilisez des graphiques de flammes pour identifier les classes et méthodes Java les plus fréquemment exécutées dans le code de votre application. En utilisant des graphiques de flammes pour optimiser les points chauds de votre code, vous pouvez réduire la consommation de ressources et augmenter les performances globales de votre application. + +Voici quelques détails sur les couleurs du graphique de flamme : + +* Dégradé gris : nous appliquons le dégradé gris aux méthodes d’un package Java SE. Les nombres d'appels inférieurs ont des nuances plus claires, passant progressivement à des nuances plus foncées à mesure que le nombre d'appels augmente. +* Dégradé jaune-orange : Nous appliquons le dégradé jaune-orange aux méthodes d'autres bibliothèques. Les nombres d'appels inférieurs ont davantage de couleurs jaunes, passant progressivement à des couleurs plus orange à mesure que le nombre d'appels augmente. + +Screenshot of New Relic Java flame graph. + +
+ **[one.newrelic.com](https://one.newrelic.com/) &gt; APM &amp; Services &gt; (select service) &gt; Realtime Profiling Java &gt; (select JVM)**: Vous pouvez voir les détails de chaque JVM, y compris les graphiques de flammes. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-akka-http-core.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-akka-http-core.mdx new file mode 100644 index 00000000000..dc007a1015d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-akka-http-core.mdx @@ -0,0 +1,39 @@ +--- +title: Scala Akka de base HTTP instrumentation +tags: + - Agents + - Java agent + - Scala instrumentation + - Custom instrumentation +metaDescription: Supplemental directions for instrumenting the New Relic Java agent with Scala applications using the Akka HTTP Core framework. +freshnessValidatedDate: never +translationType: machine +--- + +Avec l'introduction de agent Java sortie 7.8.0, des modifications ont été apportées à **remove** l&apos;instrumentation par défaut de la méthode `bindAndHandle` , afin d&apos;éliminer les scénarios qui pourraient entraîner la déclaration de transactions dupliquées par erreur. Dans certaines situations, il peut être nécessaire d&apos;effectuer des appels de méthode explicites pour compenser ce changement. + +## Contexte : instrumentationHttpExt [#background] + +L'instrumentation pour Akka HTTP Core est réalisée dans la classe `akka.http.scaladsl.HttpExt` qui sert de point d&apos;entrée principal pour un serveur. Deux méthodes pratiques de `HttpExt` qui peuvent être utilisées pour démarrer un serveur HTTP ont été instrumentées : + +* `bindAndHandleAsync`: Une méthode pratique qui démarre un nouveau serveur HTTP au point de terminaison donné et utilise un gestionnaire qui est une fonction recevant un `HttpRequest` et renvoyant un `Future[HttpResponse]` +* `bindAndHandleSync`: Une méthode pratique qui démarre un nouveau serveur HTTP au point de terminaison donné et utilise un gestionnaire qui est une fonction recevant un `HttpRequest` et renvoyant un `HttpResponse` + +Pour éliminer la duplication erronée des transactions signalées, l'instrumentation est **no longer** appliquée à la méthode `bindAndHandle` , qui démarre un nouveau serveur HTTP à l&apos;aide d&apos;une instance `akka.stream.scaladsl.Flow` . + +La duplication des transactions est due à un conflit dans l'instrumentation DSL Akka Http Routing. + +## Solution - appeler explicitement bindAndHandleAsync [#solution] + +Si vous souhaitez démarrer un serveur HTTP à partir d'un `akka.stream.scaladsl.Flow`, vous devez appeler explicitement la méthode `bindAndHandleAsync` . Par exemple: + +```scala +val flow: Flow[HttpRequest, HttpResponse, NotUsed] = ??? +val asyncHandler: HttpRequest => Future[HttpResponse] = request => Source.single(request).via(flow).runWith(Sink.head) + +Http().bindAndHandleAsync(asyncHandler, host, port) +``` + + + Une solution de contournement similaire, appelant `bindAndHandle` lors du démarrage d&apos;un serveur HTTP à partir d&apos;un `akka.http.scaladsl.Route` à l&apos;aide du DSL de routage HTTP Akka, n&apos;est **pas** nécessaire. instrumentation de l&apos;agent fonctionnera normalement lorsqu&apos;elle sera appelée à partir d&apos;autres méthodes pratiques. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-zio.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-zio.mdx new file mode 100644 index 00000000000..0defd7079a2 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/frameworks/scala-zio.mdx @@ -0,0 +1,195 @@ +--- +title: Scala ZIO instrumentation +tags: + - Agents + - Java agent + - Scala instrumentation + - Custom instrumentation + - ZIO +metaDescription: Directions for instrumenting the New Relic Java agent with Scala applications using the ZIO libreary. +freshnessValidatedDate: '2024-03-28T00:00:00.000Z' +translationType: machine +--- + +ZIO est une bibliothèque Scala utilisée pour exécuter des opérations asynchrones. Afin de tirer pleinement parti de la structure évaluée paresseusement de ZIO, nous proposons une API ZIO pour créer des transactions et des segments. + +## Installer l'API ZIO [#install-zio-api] + +Pour accéder à la classe API, ajoutez les informations suivantes à votre fichier de configuration Scala en fonction de la version de ZIO que vous utilisez. + + + Configurer ZIO 1.X à l'aide du fichier project/build.scala + } + > + Ajoutez la ligne suivante (en remplaçant `S.V` par la version Scala et `X.Y.Z` par la [version de l'agent Java](/docs/agents/java-agent/installation/update-java-agent#procedures) que vous utilisez) à la méthode `appDependencies` dans le fichier `project/build.scala` de votre application : + + ```scala + "com.newrelic.agent.java" % "newrelic-scala-zio-api_S.V" % "X.Y.Z" + ``` + + + Configurer ZIO 2.0.0 ou supérieur à l'aide du fichier project/build.scala + } + > + Ajoutez la ligne suivante (en remplaçant `S.V` par la version Scala et `X.Y.Z` par la [version de l'agent Java](/docs/agents/java-agent/installation/update-java-agent#procedures) que vous utilisez) à la méthode `appDependencies` dans le fichier `project/build.scala` de votre application : + + ```scala + "com.newrelic.agent.java" % "newrelic-scala-zio2-api_S.V" % "X.Y.Z" + ``` + + + +Les versions de Scala prises en charge sont 2.11, 2.12 et 2.13. Scala 3.0 utilisateur peut utiliser le pot 2.13. La version minimale de Scala pour ZIO v2 est 2.12. + + + Pour de meilleurs résultats lors de l'utilisation de l'API, assurez-vous que vous disposez de la dernière version agent Java . + + * L'API New Relic ZIO v1 nécessite l'agent Java 7.2.0 ou supérieur. + * L'API New Relic ZIO v2 nécessite l'agent Java 8.10.0 ou supérieur. + + +## Utiliser l'API ZIO [#use-zio-api] + +Vous devez d’abord créer votre déclaration d’importation, puis vous pouvez créer des transactions et des segments. + +### Faire une déclaration d'importation [#import-statements] + +Pour tirer parti de l'API ZIO, effectuez l'instruction d'importation suivante pour votre version : + +**API ZIO v1** + +```scala +import com.newrelic.zio.api.TraceOps +``` + +**API ZIO v2** + +```scala +import com.newrelic.zio2.api.TraceOps +``` + +L'API pour les deux est la même, à l'exception des noms package . + +### Créer des transactions [#transactions] + +Vous pouvez créer des transactions paresseusement en utilisant la méthode `TraceOps.txn` . Si une transaction existe déjà avant l&apos;appel de la méthode, cette méthode fera partie de la transaction existante. + + + Contrairement à la [méthode de transaction de l'API Scala](/docs/apm/agents/java-agent/frameworks/scala-installation-java/#transactions), cette méthode ne crée pas de transaction avec empressement. Au lieu de cela, vous transmettez un bloc `ZIO` dans lequel un effet est créé dans une instance renvoyée qui crée paresseusement un traceur de transaction. Cela se termine lorsque toutes les opérations ZIO se terminent. Par conséquent, tout code exécuté en dehors de toute instance ou opération ZIO ne sera pas capturé dans la nouvelle transaction. + + +Par exemple: + +```scala +import com.newrelic.zio.api.TraceOps.{txn, traceFun, trace} +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.{txn, traceFun, trace} + + +val x = txn { + // The segment named "not-captured" will not be + // captured in the transaction because it is not ran within Zio. + trace("not-captured") { + println("hello") + } + + // The segment named "trace map UIO" will be + // captured as part of the transaction because it is ran within Zio. + ZIO.succeed(1).map(traceFun("trace map UIO")(i => i + 1)) +} +``` + +### Créer des segments [#create-segments] + +Pour créer un segment pour un bloc de code synchrone, utilisez `TraceOps.trace`. Par exemple: + +```scala +import com.newrelic.zio.api.TraceOps.trace +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.trace + +trace("statement segment") { + val i = 1 + val j = 2 + println(i + j) +} +// trace can also be used as an expression +val x: Int = trace("expression segment") { + val i = 1 + val j = 2 + i + j +} +println(x) // 2 +``` + + + `TraceOps.trace` fonctionne uniquement avec du code synchrone. Toutes les opérations effectuées via un effet ZIO, une opération ou les deux doivent plutôt utiliser `TraceOps.asyncTrace` (voir ci-dessous). + + +Si vous souhaitez créer un segment pour un bloc de code asynchrone à l'aide de ZIO, utilisez `TraceOps.asyncTrace`. Cela garantira que le timing du segment inclut le temps nécessaire à l&apos;achèvement de l&apos;effet ou de l&apos;opération ZIO. + +```scala +import zio.ZIO +import com.newrelic.zio.api.TraceOps.asyncTrace +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.asyncTrace + +val x: ZIO[_, _, Int] = asyncTrace("segment name") { + ZIO.succeed(1) <* + ZIO.sleep(zio.duration.Duration.fromMillis(1.second.toMillis)) +}.debug // prints 1 after the completion of the segment. + +``` + +Vous pouvez également utiliser `asyncTrace` en Scala pour les compréhensions : + +```scala +import zio.ZIO +import com.newrelic.zio.api.TraceOps.asyncTrace +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.asyncTrace + + val x: ZIO[_, _, Int] = for { + one <- asyncTrace("segment one")(ZIO.succeed(1)) + two <- asyncTrace("segment two")(ZIO.succeed(one + 1)) + three <- asyncTrace("segment three")(ZIO.succeed(two + 1)) + } yield three + +val x2 = x.debug // prints 3 on completion of the segments in x +``` + +Si vous souhaitez créer un segment pour une fonction anonyme synchrone, utilisez `TraceOps.traceFun`. Par exemple: + +```scala +import zio.ZIO +import com.newrelic.zio.api.TraceOps.asyncTraceFun +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.asyncTraceFun + +val x: ZIO[_, _, Int] = ZIO.succeed(1) + .map(traceFun("statement segment")(i => i + 1)) + .debug // prints 2 + +``` + +Si vous souhaitez créer un segment pour une fonction asynchrone qui renvoie une instance ZIO,\ +utiliser `TraceOps.asyncTraceFun`. Cela garantira que le timing du segment inclut le temps nécessaire à la réalisation des opérations ZIO. Par exemple: + +```scala +import zio.ZIO +import com.newrelic.zio.api.TraceOps.asyncTraceFun +// or if using ZIO 2, comment out the line above and uncomment the line below +// import com.newrelic.zio2.api.TraceOps.asyncTraceFun + +val x: ZIO[_, _, Int] = ZIO.succeed(1) + .flatMap(asyncTraceFun("statement segment")(i => ZIO.succeed(i + 1))) + .debug // prints 2 on completion of the zio operations +``` + +## Plus de fonctions API [#other-api] + +Pour en savoir plus sur l'API de l'agent Java et ses fonctionnalités, consultez l'[introduction à l'API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/apm-agent-security-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/apm-agent-security-java.mdx new file mode 100644 index 00000000000..31b10718439 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/apm-agent-security-java.mdx @@ -0,0 +1,215 @@ +--- +title: 'Sécurité de l''agent APM : Java' +tags: + - Agents + - Java agent + - Getting started +metaDescription: Increasing levels of security allow you to customize how your New Relic Java agent sends data to New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +Les paramètres de sécurité par défaut de l'agent Java New Relic assurent automatiquement [la sécurité de vos données APM](/docs/using-new-relic/new-relic-security/security/apm-agent-data-security) afin de garantir la confidentialité des données et de limiter le type d&apos;informations que New Relic reçoit. Vous pouvez avoir des raisons commerciales de modifier ces paramètres. + +Si vous souhaitez restreindre les informations que New Relic reçoit, vous pouvez activer [le mode haute sécurité](#restricted). Si le mode haute sécurité ou les paramètres par défaut ne répondent pas aux besoins de votre entreprise, vous pouvez appliquer des paramètres [personnalisés](#custom) . + +Pour plus d'informations sur les mesures de sécurité de New Relic, consultez notre [documentation sur la sécurité et la confidentialité](/docs/using-new-relic/new-relic-security/security/security-matters-data-privacy-new-relic) ou visitez le [site Web de sécurité de New Relic](https://newrelic.com/security). + +## Paramètres de sécurité par défaut [#default] + + + la trace des appels ne peut pas être obscurcie et peut contenir des informations sensibles, y compris des requêtes SQL. Pour plus d'informations sur les erreurs ignorées, voir [agent Java des erreurs configuration](/docs/agents/java-agent/configuration/java-agent-error-configuration). + + +Par défaut, voici comment l'agent Java New Relic gère les données potentiellement sensibles suivantes : + +* Paramètre de la requête : L'agent ne capture pas le paramètre de la requête HTTP. +* [HTTPS](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-ssl): L&apos;agent communique avec New Relic via HTTPS. +* [SQL](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#tt-record_sql): l&apos;agent définit l&apos;enregistrement SQL sur `obfuscated`, ce qui supprime les valeurs littérales numériques et de chaîne potentiellement sensibles. + +## Paramètres du mode haute sécurité [#restricted] + +Lorsque vous [activez le mode haute sécurité](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-enable_high_security), les [paramètres par défaut](#default) sont verrouillés afin que l&apos;utilisateur ne puisse pas les modifier. En outre: + +* L'agent ne collecte pas les paramètres du fichier d'attente des messages. +* Vous ne pouvez pas créer [d'événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#java-att). +* Vous ne pouvez pas implémenter [instrumentation personnalisée à l'aide de l'éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui). +* Vous ne pouvez pas collecter [l'attribut utilisateur](/docs/insights/insights-data-sources/custom-attributes/collect-user-attributes-java). + +## Paramètres de sécurité personnalisés [#custom] + + + Si vous personnalisez les paramètres de sécurité, cela peut avoir un impact sur la sécurité de votre application. + + +Si vous avez besoin de paramètres de sécurité différents du mode par défaut ou du mode haute sécurité, vous pouvez personnaliser ces paramètres : + +* [Fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-configuration-config-file) +* [Les attributs personnalisés](/docs/agents/java-agent/attributes/enabling-disabling-attributes-java#NRaddCustomParameter) +* [API d'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Setting** + + + + **Effects on data security** + +
+ [`audit_mode`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-audit_mode) + + *booléen* + + Défaut: `false` + + Par défaut, l'agent Java pas log toutes les données envoyées à New Relic dans le agent fichier de log. + + Si vous définissez cette valeur `true` sur, les agent données du log de envoyées au New Relic collecteur sont dans le agent fichier de log. Vous pouvez ensuite évaluer les informations envoyées par l&apos;agent en examinant le agent fichier log pour voir s&apos;il contient des informations sensibles. +
+ [`high_security`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-enable_high_security) + + *booléen* + + Défaut: `false` + + Pour activer [le mode haute sécurité](#restricted), définissez cette valeur sur `true` et [activez la haute sécurité dans New Relic](/docs/agents/manage-apm-agents/configuration/high-security-mode#version2enabled). Cela limite les informations que vous pouvez envoyer à New Relic. +
+ [`proxy_host`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-proxy_user) + + *chaîne* + + Par défaut : (aucun) + + Certains proxys utilisent par défaut HTTP, qui est un protocole moins sécurisé. +
+ [`attributes.enabled`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-enabled) + + *booléen* + + Défaut: `true` + + Par défaut pour l'[éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-instrument-ui#options): `false` + + Par défaut, vous envoyez [l'attribut](/docs/agents/java-agent/attributes/enabling-disabling-attributes-java) à New Relic, à l&apos;exception des méthodes instrumentées utilisant l&apos;éditeur d&apos;instrumentation personnalisée. Si vous ne souhaitez pas envoyer d&apos;attribut à New Relic, définissez cette valeur sur `false`. +
+ [`attributes.exclude`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-attributes-exclude) + + *chaîne* + + Par défaut : (aucun) + + S'il existe des clés d'attribut spécifiques que vous ne souhaitez **pas** envoyer à New Relic dans la trace de transaction, identifiez-les à l&apos;aide de `attributes.exclude`. Cela restreint les informations envoyées à New Relic. + + Déterminez si vous souhaitez exclure ces attributs potentiellement sensibles à l'aide de `attributes.exclude` ou si vous avez besoin que les informations soient envoyées à New Relic: + + * `request.headers.*`: Supprime tous les en-têtes de requête. + + (Notez que les en-têtes HTTP contenant des données sensibles telles que `cookie` et `authorization` ne sont jamais collectés.) + + * `response.headers.*`: Supprime tous les en-têtes de réponse. + + * `request_uri`: Supprime le chemin d&apos;accès à la demande entrante de la transaction. +
+ [`log_sql`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#tt-log_sql) + + *booléen* + + Défaut: `false` + + Par défaut, vous envoyez une requête à New Relic en utilisant `record_sql`. log Si agent vous log souhaitez les requêtes dans le fichier de et les envoyer à New Relic, définissez cette `true` valeur sur. +
+ [`record_sql`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#tt-record_sql) + + *chaîne* + + Défaut: `obfuscated` + + Par défaut, `record_sql` est défini sur `obfuscated`, ce qui supprime les littéraux numériques et de chaîne. + + * Si vous ne souhaitez pas que l'agent capture les informations de requête, définissez cette valeur sur `off`. + * Si vous souhaitez que l'agent capture toutes les informations de requête dans leur forme d'origine, définissez cette valeur sur `raw`. + * Lorsque vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement défini sur `obfuscated`. +
+ [`strip_exception_messages`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#strip_exception_messages) + + *booléen* + + Défaut: `false` + + Par défaut, cette valeur est définie sur `false`, ce qui signifie que l&apos;agent envoie les messages de toutes les exceptions au collecteur New Relic. Si vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement modifié en `true` et l&apos;agent supprime les messages des exceptions. + + Si vous n'utilisez pas le mode haute sécurité mais que vous souhaitez néanmoins supprimer les messages de toutes les exceptions à l'exception de celles de votre [liste de domaines autorisés](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#strip_exception_messages_whitelist), définissez cette valeur sur `true`. +
+ [`custom_insights_events.enabled`](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#java-att) + + *booléen* + + Défaut: `true` + + Par défaut, l'agent enregistre l'événement envoyé à l'API d'événement via `recordCustomEvent()`. Si vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement défini sur `false`. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent.mdx new file mode 100644 index 00000000000..890b0a50f3d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent.mdx @@ -0,0 +1,507 @@ +--- +title: Compatibilité et exigences pour l'agent Java +tags: + - Agents + - Java agent + - Getting started +metaDescription: 'The New Relic APM Java agent: compatibility and requirements.' +freshnessValidatedDate: never +translationType: machine +--- + +[L'agent Java de New Relic](/docs/agents/java-agent/getting-started/introduction-new-relic-java) inclut l&apos;instrumentation intégrée des parties les plus populaires de l&apos;écosystème Java, notamment les serveurs d&apos;applications, le framework, la base de données et le système de mise en file d&apos;attente des messages. Pour le framework et la bibliothèque qui ne sont pas instrumentés par défaut, vous pouvez étendre l&apos;agent avec [instrumentation personnalisée Java](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). + +Vous souhaitez tester l'agent Java de New Relic ? [Créez un compte New Relic](https://newrelic.com/signup) gratuitement ! Aucune carte de crédit requise. + +## Conditions requises pour installer l'agent [#java-requirements] + +Avant d’installer l’agent Java, assurez-vous que votre système répond aux exigences suivantes : + + + + L'agent Java est compatible avec n'importe quel langage basé sur JVM, notamment : Java, Scala, Kotlin et Clojure. Pour la prise en charge instrumentation pour les fonctionnalités spécifiques au langage, consultez la section [Framework et bibliothèque instrumentés automatiquement](#auto-instrumented) ci-dessous. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Version Java + + Versions d'agent Java compatibles +
+ Java 7 + + v3.0.0 à v6.5.0, v6.5.2, v6.5.3 et v6.5.4 +
+ Java 8 + + v3.10.0 à la version actuelle +
+ Java 11 + + v4.7.0 à la version actuelle +
+ Java 17 + + v7.4.0 à la version actuelle +
+ Java 21 + + v8.7.0 à la version actuelle +
+ Java 23 + + v8.15.0 à la version actuelle +
+ + Certaines versions d'agent Java dans ce tableau ne sont plus prises en charge, mais sont toujours répertoriées pour référence. La liste des versions d'agent Java prises en charge se trouve dans [la politique EOL de l'agent Java](/docs/apm/agents/java-agent/getting-started/java-agent-eol-policy/). +
+ + + En tant que [mesure de sécurité standard pour la collecte de données](/docs/accounts-partnerships/accounts/security/data-security), votre serveur d&apos;applications doit prendre en charge SHA-2 (256 bits). SHA-1 n&apos;est pas pris en charge. + + + + Si votre application utilise d'autres logiciels monitoring d'applicationen plus de notre agent, nous ne pouvons pas garantir que notre agent fonctionnera correctement et nous ne pouvons pas offrir de support technique. Pour plus d'informations, consultez [Erreurs lors de l'utilisation d'autres logiciels monitoring ](/docs/apm/new-relic-apm/troubleshooting/errors-while-using-new-relic-apm-alongside-other-apm-software). + +
+ +## instrumentationintégrée [#auto-instrumented] + +Après avoir [installé l'agent Java](/docs/agents/java-agent/installation/install-java-agent), il instrumente automatiquement de nombreux frameworks et bibliothèques populaires. Grâce à instrumentation automatique, l&apos;agent collecte des données riches prêtes à l&apos;emploi et les données s&apos;afficheront dans votre dashboard New Relic quelques minutes après installation. Même si votre bibliothèque n&apos;est pas automatiquement instrumentée, vous pouvez toujours collecter des données avec [instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation) et [agent Java API](/docs/agents/java-agent/api-guides/guide-using-java-agent-api) l&apos;. + +L'agent instrumente automatiquement ces framework et bibliothèque : + + + + L'agent instrumente automatiquement les serveurs d'applications/Web suivants. Pour installer l'agent Java sur les serveurs d'applications/Web pris en charge, voir [Installer l'agent Java](/docs/agents/java-agent/installation/java-agent-manual-installation). + + * ColdFusion 10 + * Glassfish 3.0 à la dernière version + * JBoss 7.0 à la version la plus récente + * JBoss EAP 6.0 à la version la plus récente + * Jetty 9.3.0.M1 à la dernière version + * Mule ESB 3.4 à 3.9.x + * Netty 3.3.0.Alpha1 à 5.0.0.Alpha1 + * Resin 3.1.9 à 4.0.x + * Spray-can 1.3.1 à la version la plus récente + * Tomcat 7.0.0 à la version la plus récente + * TomEE 1.5 à la version la plus récente + * WebLogic 12.1.2.1 à 14.1.1 + * WebSphere 8.5.x à 9.x + * WebSphere Liberty Profile 8.5 à la version la plus récente + * WildFly 8.0.0.De la version finale à la version la plus récente + + + + L'agent instrumente automatiquement le cadre suivant. Pour installer l'agent Java sur un framework pris en charge, voir [Installer l'agent Java](/docs/agents/java-agent/installation/java-agent-manual-installation). + + * Akka 2.2.0-RC1 à la dernière version + + * Kit de développement logiciel (SDK) Amazon Firehose 2.1.0 au plus tard + + * SDK Amazon Kinesis v1 et v2 + + * Amazon Lambda SDK 1.11.280 à la version la plus récente + + * Client AmazonS3 1.2.13 à la version la plus récente + + * Clients AmazonSNS et AmazonSNSAsync 1.11.12 à la version la plus récente + + * Clients AmazonSQS et AmazonSQSAsync 1.3.22 à la version la plus récente + * le traçage distribué pour l'envoi de messages est pris en charge à partir de la version 2.1.0 au plus tard + + * Effet Chats v2 + + * Scala 2.12 : de la version 2.1 à la version la plus récente + * Scala 2.13 : de la version 2.1 à la version la plus récente + + * Effet Chats v3 + + * Scala 2.12 : 3.2.x + * Scala 2.13 : 3.2.x + + * CXF 2.1.3 au plus tard + + * Glassfish JUL (Java util logging) extension bibliothèque + + * Grails 1.3.7 à 2.3.x + + * GraphQL 16.0 - dernière version + + * Hibernate 3.3.0.CR1 à 6.0.0.Alpha2 + + * Hystrix 1.3.15 à la version la plus récente + + * Jakarta RESTful WS API 2.1.x à 3.1.x + + * JAX-RS 1.0 à 3.x + + * JBoss Logging 1.3.0.Final au dernier (pour nos fonctionnalités [de logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) ) + + * [API JCache](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-3200) 1.0.0 à la version la plus récente + + * Jersey 1.0.1 à la dernière version + + * JSF (Visages du serveur Java) + + * JUL (Java util logging) (pour nos [logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) fonctionnalité) + + * Log4j1 1.2.17 au dernier (pour nos [logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) fonctionnalité) + + * Log4j2 2.6 au dernier (pour nos fonctionnalités [de logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) ) + + * Logback 1.1 au dernier (pour nos [logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/) fonctionnalité) + + * Tâches Monix + + * Scala 2.11 : 3.0.0 à 3.2.x + * Scala 2.12 : de la version 3.0.0 à la version la plus récente + * Scala 2.13 : de la version 3.0.0 à la version la plus récente + * Scala 3 : de la version 3.0.0 à la version la plus récente + + * Pekko 1.0.0 à la dernière version + + * Pekko-Http 1.0.0 à la version la plus récente + + * Scala 2.13 + * Scala 3 + + * Play Server 2.3.0 à la version la plus récente /\* La prise en charge de Play sera étendue à la version la plus récente une fois que nous aurons pris en charge Pekko-Http \*/ + + * Quartz Job Scheduler 1.8.3 à 2.2.x + + * RESTEasy 2.2-RC-1 à la dernière version + + * S3Client 2.1.0 au plus tard + + * SnsClient 2.1.0 au plus tard + + * Spray 1.3.1 vers la dernière version + + * Spring 3.0.0.sortie vers la dernière version + + * Spring Batch 4.0.0 à la version la plus récente + + * Spring Boot Actuator v3 vers la dernière version (nommage des transactions) + + * Spring Web Services de la version 1.5.7 à la version la plus récente + + * Spring Webflux 5.0.0.sortie vers la dernière version + + * SqsClient 2.1.0 au plus tard + + * Struts 2.0 à la dernière version + + * Thrift 0.8.0 à la dernière version + + * Vert.x 3.2.0 à 4.5.x + + * ZIO + * Scala 2.13 : de la version 1.0.9 à la version la plus récente + + + + L'agent instrumente automatiquement les clients HTTP et les services de messagerie suivants. Pour obtenir des instructions, voir [Installer l'agent Java](/docs/agents/java-agent/installation/java-agent-manual-installation). + + * Akka HTTP 2.4.5 à la version la plus récente + + * Akka Http Core de 0.4 à la version la plus récente + + * AsyncHttpClient 2.0.0-RC1 à la version la plus récente + + * gRPC 1.4.0 à la version la plus récente + + * Client Blaze HTTP4s + + * Scala 2.12 : 0.21 - 0.23.0-M1 + * Scala 2.13 : 0.21 - 0.23.0-M1 + + * Serveur Blaze HTTP4s + + * Scala 2.12 : 0.21 - 0.22.0-M8 + * Scala 2.13 : 0.21 - 0.22.0-M8 + + * HttpAsyncClient 4.1 à la version la plus récente + + * Apache Httpclient de 3.1 à 5.x + + * java.net.HttpURLConnection + + * JMS de la version 1.1 à la version la plus récente + + * [Kafka Client Node Métriques](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 au dernier (pour les métriques) + + * [Kafka Client Métriques](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 0.10.0.0 au dernier (pour les métriques) + + * [Kafka Span Client](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 0.11.0.0 à la version la plus récente (pour le traçage distribué) + + * [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 à la version la plus récente (pour les métriques) + + * [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 à la version la plus récente (pour le suivi des données de traçage distribué et transactionnelles) + + * [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 à la version la plus récente (pour les métriques) + + * [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 à la version la plus récente (pour le suivi des données de traçage distribué et transactionnelles) + + * OkHttp 3.6.0 à la version la plus récente + + * Client HTTP asynchrone Ning 1.x + + * Play à WS + + * Scala 2.11 : de la version 2.6.0 à la version la plus récente + * Scala 2.12 : de la version 2.6.0 à la version la plus récente + * Scala 2.13 : de la version 2.7.3 à la version la plus récente + + * RabbitMQ 1.7.2 à la version la plus récente (AMQP et JMS) + + * Spray-client 1.3.1 à la version la plus récente + + * Spring JMS 1.1 à la version la plus récente + + * Spring webclient de 5.0.0.sortie à la dernière version + + * Protocole STTP v2 + + * Scala 2.12 : de la version 2.2.3 à la version 2.x la plus récente + * Scala 2.13 : 2.2.3 à la dernière version 2.x, 3.0.0 à la dernière version 3.x + + + + New Relic prend actuellement en charge MySQL et PostgreSQL pour capturer et expliquer les plans de requête de base de données lente. + + * Amazon v1 DynamoDB 1.11.106 à la version la plus récente + + * Amazon v2 DynamoDB 2.1.0 au plus tard + + * Anorm de 2,0 à 2,5 + + * DataStax Cassandra 3.0.0 au dernier (Si vous utilisez [la haute sécurité](/docs/accounts-partnerships/accounts/security/high-security), consultez la [documentationconfiguration pour la liste de domaines autorisés](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#tt-slow_query_whitelist).) + + * DB2 9.1 à la version la plus récente + + * Derby 10.11.1.1 à la version la plus récente + + * Événement de migration Flyway pour Flyway v8.0.0 vers la dernière version + + * JDBC générique (tout pilote compatible JDBC) + + * H2 1.0.57 au plus tard + + * HikariCP 2.4.0 à la version la plus récente + + * Disponible dans la version 8.13.0 de l'agent et les versions ultérieures + * Remplace le module incubateur HikariCP. Veuillez supprimer le fichier jar de l'incubateur HikariCP (hikaricp-2.4.0.jar) du dossier des extensions de l'agent s'il est utilisé. + + * HSQL 1.7.2.2 à la version la plus récente + + * Pilote Oracle INet (Oranxo) 3.06, 3.14 + + * INet MERLIA 7.0.3, 8.04.03 et 8.06 + + * Jedis Redis driver 1.4.0 à 2.10.x, 3.0.0 à 4.x, 5.x à la version la plus récente + + * jTDS 1.2 à la version la plus récente + + * Pilote Redis de Lettuce 4.3 à la version la plus récente + + * MariaDB 1.1.7 ou supérieur + + * Microsoft SQL Server 1.2 à 12.6.x + + * MongoDB + + * Clients synchrones : 3.1.0-rc0 au plus tard + * Clients asynchrones : 3.4.0 à 4.1.x + * Clients de flux réactifs : 4.2.0 à la version la plus récente + + * MySQL MySQL-connecteur-java 3.0.8 à la version la plus récente + + * Oracle ojdbc5, ojdbc6, ojdbc7, ojdbc8, ojdbc10, ojdbc14 + + * Postgres 8.0-312.jdbc3 à la version la plus récente + + * R2DBC H2 0.8.x à 0.9.x + + * R2DBC MariaDB 1.0.2 à la version la plus récente + + * R2DBC MySQL 0.8.x à la version la plus récente + + * R2DBC MSSQL 0.8.0 à la version la plus récente + + * R2DBC Oracle 0.x à la version la plus récente + + * R2DBC Postgres 0.9.x à la version la plus récente + + * Slick 3.0.0 à 3.3.x + + * Solr 4.0 à la dernière version + + * Spymemcached 2.11 à la dernière version + + * Pilote JDBC 3 Sybase (jConnect) 6.0 à la version la plus récente + + * Vert.x SQL Client 4.4.2 à la version la plus récente + + + + New Relic collecte [les détailsinstance pour une variété de bases de données et de pilotes de bases de données](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues). La possibilité d&apos;afficher une instance spécifique et les types d&apos;informations de base de données dans APM dépend de la version de votre agent New Relic. + + [Les versions 3.33.0 ou supérieures](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-3330) de l&apos;agent Java de New Relic prennent en charge les éléments suivants : + + * Tout [pilote JDBC compatible](#JDBC) + + * Amazon DynamoDB 1.11.106 ou version ultérieure + + * Amazon v2 DynamoDB 2.1.0 au plus tard + + * Pilote DataStax Cassandra 3.0.0 à la version la plus récente + + * Jedis Redis driver 1.4 à 2.10.x, 3.0.0 à 4.x, 5.x à la version la plus récente + + * MongoDB + + * Clients synchrones : 3.1.0-rc0 au plus tard + * Clients de flux asynchrones/réactifs : 3.4.0 jusqu'à 4.1.2 + + * Spymemcached 2.11.0 à la version la plus récente + + **Exception:** Les informations au niveau de l&apos;instance ne sont pas signalées pour les appels à la méthode API `getBulk()` . + + L'agent Java rapporte le nom de la base de données et l'attribut serveur/identifiant de la base de données sur la requête lente trace et la trace de transaction pour ces pilotes de base de données. Pour demander des informations au niveau de l'instance à partir de magasins de données supplémentaires, obtenez de l'aide sur [support.newrelic.com](https://support.newrelic.com). + + + + Vous pouvez installer l'agent Java sur divers services d'hébergement, y compris ceux non répertoriés ci-dessous. Voici des guides d’installation détaillés pour des services d’hébergement particuliers : + + * [Environnement flexible de Google App Engine (GAE)](/docs/agents/java-agent/additional-installation/google-app-engine-flexible-installation-java#tomcat-example) + * [Heroku](/docs/agents/java-agent/heroku/java-agent-heroku) + + + + Pour les frameworks pris en charge, l'agent Java [effectue généralement un travail asynchrone automatiquement](/docs/agents/java-agent/async-instrumentation/asynchronous-applications-monitoring-considerations). Cependant, vous pouvez utiliser l’API de l’agent Java pour [étendre cette instrumentation](/docs/agents/java-agent/async-instrumentation/java-agent-api-asynchronous-applications). + + + + * Beans de session EJB 3.0 ou supérieur + * JMX + * JSP (Java Server Pages) 2.0 à la version la plus récente + * [Scala](/docs/agents/java-agent/frameworks/scala-installation-java) 2.9.3 à la version la plus récente + + + +## Connectez l'agent à d'autres produits New Relic [#digital-intelligence-platform] + +L'agent Java s'intègre à d'autres produits New Relic pour vous offrir une visibilité de bout en bout : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Produit + + Capacité +
+ [Monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring) + + Si vous disposez de la version 8.12.0 ou supérieure de agent Java, vous pouvez collecter des données d'IA à partir de certaines bibliothèques et infrastructures d'IA : + + * [AWS SDK pour Java v2 Bedrock Runtime Client](https://github.com/aws/aws-sdk-java-v2/) versions 2.20.157 et supérieures +
+ [Monitoring de navigateurs](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser) + + L'agent Java injecte automatiquement l'agent JavaScript du navigateur lorsque vous [activez auto-instrumentation](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#select-apm-app). Après avoir activé injection du navigateur, vous pouvez afficher les données du navigateur dans la [page RésuméAPM ](/docs/apm/applications-menu/monitoring/apm-overview-page)et basculer rapidement entre l&apos;APM et les données du navigateur pour une application particulière. Pour les options de configuration et l&apos;instrumentation manuelle, voir [et l&apos;agent Java](/docs/agents/java-agent/instrumentation/page-load-timing-java). +
+ [Monitoring de l'infrastructure](/docs/infrastructure/new-relic-infrastructure/getting-started/introduction-new-relic-infrastructure) + + Lorsque vous installez l'infrastructure et l'agent APM sur le même hôte, ils se détectent automatiquement. Vous pouvez ensuite afficher une liste d'hôtes dans l'UI APM et filtrer vos hôtes par APM application dans notre infrastructure UI. Pour plus d’informations, consultez [APM les données dans l’ infrastructure UI](/docs/infrastructure/new-relic-infrastructure/data-instrumentation/new-relic-apm-data-infrastructure). +
+ [Dashboard New Relic](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) + + L'agent Java envoie l'événement et l'attribut par défaut au dashboard, ou vous pouvez [exécuter une requête NRQL dans le générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data). Vous pouvez également [enregistrer un événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) pour une analyse avancée. +
+ [Monitoring synthétique](/docs/synthetics/new-relic-synthetics/getting-started/introduction-new-relic-synthetics) + + [Synthétique trace de transaction](/docs/synthetics/new-relic-synthetics/using-monitors/collect-synthetic-transaction-traces) connecte requests du moniteur Synthétique à la transaction APM sous-jacente. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/introduction-new-relic-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/introduction-new-relic-java.mdx new file mode 100644 index 00000000000..ca1d5eb5182 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/introduction-new-relic-java.mdx @@ -0,0 +1,162 @@ +--- +title: Introduction à New Relic pour Java +tags: + - Agents + - Java agent + - Getting started +metaDescription: 'For an overview of New Relic''s Java agent (compatibility, requirements, installation, configuration), start here.' +freshnessValidatedDate: never +translationType: machine +--- + +Avec l'agent Java de New Relic, vous pouvez suivre tout, des problèmes de performances aux petites erreurs dans votre code. Chaque minute, l'agent publie [des données d'intervalle de temps métrique et d'événement](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data) sur l&apos;interface utilisateur New Relic , où le propriétaire de ces données peut se connecter et utiliser les données pour voir les performances de son site Web. + +Utilisez l'agent Java New Relic pour résoudre les problèmes de performances de votre application avec notre [didacticiel Mon application est lente](/docs/journey-app-slow/root-causes/). + + + Êtes-vous curieux des tendances Java ? Consultez notre rapport [2024 État de l'écosystème Java](https://newrelic.com/resources/report/2024-state-of-the-java-ecosystem). + + +## installation [#java-installation] + +Pour utiliser l’agent Java : + +1. Assurez-vous que votre système répond [à la compatibilité et aux exigences de l'agent Java](/docs/compatibility-requirements-java-agent). + +2. Inscrivez-vous pour votre compte gratuit si vous ne l'avez pas déjà fait. + + + +3. Installez l'agent Java à l'aide de notre lanceur ou en suivant les [documents d'installation](/install/java/). + + + + Lire la documentation d'installation + + + + Ajouter des données Java + + + +Pour [afficher les performances de votre application dans l'UI de New Relic](/docs/apm/applications-menu/monitoring/apm-overview-page), accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Summary**. L&apos;interface utilisateur APM comprend une [page **JVM metrics**](/docs/agents/java-agent/features/jvm-metrics-page) dédiée, des détails [sur les transactions](/docs/apm/transactions) et [les erreurs](/docs/apm/applications-menu/error-analytics/introduction-error-analytics) , un [outil de profileur de thread](/docs/apm/applications-menu/events/thread-profiler-tool) pour échantillonner les threads Java et signaler les traces d&apos;appels, et bien plus encore. + +Vous pouvez également [étendre votre instrumentation d'agent](#extend-instrumentation) et explorer vos données avec d&apos;autres New Relic fonctionnalités , notamment notre [explorateur et tableau de](/docs/query-your-data/explore-query-data/data-explorer/introduction-data-explorer) [bord](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) de métriques et d&apos;événements . + +## configurationde démarrage [#h2-startup] + +L'agent Java lit la configuration de démarrage à partir du fichier `newrelic.yml` , qui doit se trouver dans le même répertoire que `newrelic.jar`. Vous pouvez également remplacer les paramètres à l’aide des propriétés système Java. + +L'agent a besoin des paramètres `license_key` et `app_name` au démarrage (bootstrap). Vous pouvez [personnaliser](/docs/agents/java-agent/configuration/java-agent-configuration-config-file) l&apos;emplacement du fichier de log et d&apos;autres paramètres dans votre fichier `newrelic.yml`. De plus, vous pouvez ajuster la configuration de dénomination si votre serveur d’applications exécute [plusieurs applications dans la même JVM](/docs/agents/java-agent/configuration/automatic-application-naming). + +## Options de configuration [#h2-configuration] + +Vous pouvez configurer les rapports d'application à partir de l'interface Web New Relic à l'aide [de la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration). Les modifications seront appliquées à tous les rapports d’agent de votre application lorsque la JVM redémarre. Cependant, si vous utilisez la configuration côté serveur, vous devez toujours conserver les paramètres requis (`license_key` et `app_name`) dans le fichier de configuration local. + +Les traces de transaction et les instantanés d'erreur peuvent éventuellement enregistrer les paramètres HTTP. Parfois, les paramètres HTTP contiennent des informations sensibles, comme un numéro de carte de crédit. L'agent dispose de plusieurs [optionsconfiguration pour assurer la sécurité des données](/docs/agents/java-agent/getting-started/apm-agent-security-java), comme la collecte des paramètres HTTP mais l&apos;exclusion de certains paramètres nommés. + +## Afficher les logs de vos données APM et infrastructure [#logs-context] + +Vous pouvez également rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/java-configure-logs-context-all/), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. Vous pouvez également voir les logs en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. Pas besoin de passer à une autre page UI . + +## instrumentationsupplémentaire [#extend-instrumentation] + +Après avoir installé l’agent Java, utilisez l’une de ces méthodes pour étendre votre instrumentation : + +* [instrumentation personnalisée :](/docs/agents/manage-apm-agents/agent-metrics/custom-instrumentation) implémentez Java instrumentation personnalisée via une annotation ou XML. +* [Activer le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing)[:](/docs/agents/manage-apm-agents/agent-metrics/collect-custom-attributes) visualisez les chemins de vos requests à mesure qu&apos;elles se propagent dans une architecture distribuée à services multiples. +* [Collecter l'attribut personnalisé :](/docs/agents/manage-apm-agents/agent-metrics/collect-custom-attributes) Collecter l&apos;attribut personnalisé via API ou fichier XML. +* [API de l'agent Java :](/docs/agents/java-agent/custom-instrumentation/java-agent-api) utilisez l&apos;API pour contrôler, personnaliser ou étendre les fonctionnalités de l&apos;agent Java. +* [instrumentation du navigateur :](/docs/browser/new-relic-browser/page-load-timing-resources/page-load-timing-process) Intégrez l&apos;agent Java avec [](/docs/browser/new-relic-browser/getting-started/new-relic-browser)pour obtenir une visibilité sur l&apos;activité finale de l&apos;utilisateur. +* [disjoncteur pour Java instrumentation personnalisé :](/docs/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation) utilisez un disjoncteur pour protéger l&apos;application contre lainstrumentation. +* [instrumentation JMX personnalisée par YAML :](/docs/agents/java-agent/custom-instrumentation/custom-jmx-instrumentation-yaml) affichez des métriques JMX personnalisées avec un fichier d&apos;instrumentation YAML personnalisé. +* [Page métriquesJVM :](/docs/apm/applications-menu/monitoring/jvm-metrics-page) Collectez les métriques des serveurs application les plus courants via JMX. +* [télémétrie open source :](/docs/integrations/open-source-telemetry-integrations/get-started/introduction-new-relics-open-source-telemetry-integrations) Nous proposons une variété d&apos;outils, tels que [Kamon Reporter](/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/kamon-reporter), [OpenTelemetry exportateur](/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-opentelemetry-integration), [Micrometer métriques Registry](/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-micrometer-integration) et [Java télémétrie SDK](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic). + +## Quand redémarrer votre JVM [#jvm\_restart][#jvm_restart] + +Lorsque vous apportez une modification à votre configuration ou à votre XML personnalisé, dans presque tous les cas, vous devez redémarrer votre JVM. Il n'y a que quatre situations dans lesquelles un redémarrage **n'est pas** nécessaire : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **JVM restart is not required for...** + + + + **Comments** + +
+ Changements de niveau de logging ou de mode d'audit + + Si vous modifiez simplement `log_level` ou `audit_mode` dans le [fichier de configuration de l'agent Java](/docs/agents/java-agent/configuration/java-agent-configuration-config-file), vous n&apos;avez pas besoin de redémarrer la JVM. +
+ Fichier XML d'instrumentation personnalisée + + Le redémarrage de la JVM dépend de la version de votre agent Java : + + * 3.15.0 ou supérieur : si vous mettez à jour un fichier XML instrumentation personnalisée dans le dossier des extensions, les mises à jour seront rechargées automatiquement dans un délai d'une minute. + * Versions de l'agent Java inférieures à 3.15.0 : Si vous utilisez une version d'agent antérieure à 3.15.0, vous devez redémarrer la JVM. +
+ changements de disjoncteur + + Si vous [modifiez le disjoncteur](/docs/agents/java-agent/custom-instrumentation/circuit-breaker-java-custom-instrumentation#troubleshooting) pour l&apos;instrumentation personnalisée Java, un redémarrage de la JVM n&apos;est pas requis. +
+ Ignoré ou erroné + + Si vous ignorez ou attendez des erreurs en configurant le fichier `newrelic.yml` , un redémarrage de la JVM n&apos;est pas nécessaire. Cela inclut l&apos;ajout de codes d&apos;état ou de classes au fichier `newrelic.yml` lors de l&apos;utilisation de l&apos;agent Java version 3.40.0 ou supérieure. Par exemple: + + * `ignore_status_codes` + * `expected_status_codes` + * `ignore_classes` + * `ignore_messages` + * `expected_classes` + * `expected_messages` +
+ +Toutes les autres modifications nécessitent un redémarrage de l’agent, ce qui signifie le redémarrage de la JVM. + +## Conformité à la norme JSR 163 [#jvm] + +L'agent Java de New Relic monitore les transactions Web, reçoit des informations à leur sujet et communique ces informations à New Relic l'utilisateur de l'interface avec de fortes [mesures de sécurité des données](/docs/accounts-partnerships/accounts/security/data-security) en place. L&apos;agent est empaqueté sous la forme d&apos;un `javaagent` conforme à JSR 163 qui est activé par la JVM via des modifications au lancement de la JVM . Une fois activé, l&apos;agent s&apos;insère dans le flux de chargement de classe et instrumente les méthodes de classe à l&apos;aide de instrumentation de byte code (bci). + +Conçues pour avoir un impact minimal sur votre application Web, toutes les classes sont dans le package `newrelic` espace de nommage afin qu&apos;elles n&apos;entrent pas en conflit avec vos propres classes. L&apos;agent utilise le moteur ASM bci pour insérer des sondes logicielles. + +L'agent reçoit des informations de base sur votre environnement hôte, telles que le système d'exploitation, Java la version , les propriétés du système et votre New Relic configuration fichier . L'agent interroge également les données de la JVM et de JMX. + +## Procédures de dépannage [#troubleshoot] + +Si vous rencontrez des problèmes, consultez [Aucune donnée n'apparaît](/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java) et d&apos;autres documents de dépannage dans cette section. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/migration-8x-guide.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/migration-8x-guide.mdx new file mode 100644 index 00000000000..7c201a4d623 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/getting-started/migration-8x-guide.mdx @@ -0,0 +1,152 @@ +--- +title: Guide de migration de l'agent Java 7.x vers 8.x +tags: + - Agents + - Java agent + - Getting started +freshnessValidatedDate: never +translationType: machine +--- + +Ce guide couvre les principaux changements entre les séries 7.x et 8.x de l'agent Java. Il couvre les problèmes que vous pouvez rencontrer lors de la mise à niveau et comment migrer avec succès vers la version 8.x. Les principaux changements incluent : + +* [Attribut de transaction et d'étendue modifié et supprimé](#changed_and_removed_attributes) +* [instrumentationsupprimée](#removed_instrumentation) + + + les attributs supprimés dans les versions 8.0 à 8.7 sont réintroduits dans la version 8.8.0. Cela offre une compatibilité descendante pour les clients qui utilisent toujours ces attributs pour ou le dashboard. + + +## Attribut de transaction et d'étendue modifié et supprimé [#changed\_and\_removed\_attributes][#changed_and_removed_attributes] + +Pour assurer la cohérence de notre APM d'agent et mieux nous aligner sur les normes du secteur, nous avons modifié les attributs de transaction et d'étendue dans l'agent Java. À partir de la version 7.6.0 de l'agent Java, nous avons introduit le nouvel attribut standard **http.statusCode** et **http.statusText** et marqué **httpResponseCode**, **response.status** et **response.statusMessage** comme obsolètes. + +| Attribut obsolète | Nouvel attribut | Changement de type de données | +| ------------------------------------- | ------------------------------ | ----------------------------- | +| **httpResponseCode** | **http.statusCode** | **String to INT** | +| **response.status** | **http.statusCode** | **String to INT** | +| **response.statusMessage** | **http.statusText** | **N/A** | + +## Actions recommandées + +* Si vous avez des alertes ou un dashboard utilisant l'attribut obsolète et utilisez la version agent 8.0 - 8.7, vous devez soit mettre à jour votre agent vers la version 8.8, soit mettre à jour les références à l'attribut supprimé. Si vous avez mis à jour toutes les alertes ou le dashboard avec le nouvel attribut standard, vous pouvez désactiver l'indicateur de compatibilité pour utiliser uniquement le nouvel attribut standard. Pour en savoir plus sur le paramètre d'indicateur de compatibilité, consultez la configuration `http_attribute_mode` . +* Mettre à jour les alertes et le dashboard qui utilisent un attribut obsolète. + +### Recherche d'une requête d'alerte impactée + +Pour rechercher et corriger les alertes affectées : + +1. Utilisez [NerdGraph Explorer](https://one.newrelic.com/nerdgraph-graphiql) et recherchez des alertes à l&apos;aide de l&apos;opérateur `queryLike` pour chaque attribut que vous recherchez. Par exemple: + + ``` + { + actor { + user { + name + } + account(id: ) { + alerts { + nrqlConditionsSearch(searchCriteria: {queryLike: "httpResponseCode"}) { + nrqlConditions { + nrql { + query + } + id + name + policyId + } + } + } + } + } + } + ``` + +2. Pour chaque alerte renvoyée, vous pouvez utiliser l'ID ou le nom dans l'UI **Alerts> [Alerts Conditions](https://one.newrelic.com/alerts-ai/condition-builder/condition-list)** pour trouver l&apos;alerte. + +3. Vérifiez l’état d’alerte et la couverture du signal pour confirmer tout impact sur l’alerte. + +4. Utilisez les instructions de la section [Correction des alertes impactées et des instructions NRQL du dashboard](#fixing_nrql) pour mettre à jour les instructions NRQL . + +### Recherche des requêtes dashboard impactées + +Pour trouver la requête impactée pour un dashboard: + +1. En utilisant l'explorateur NerdGraph et l'entité GUID située dans la métadonnées d'un dashboard, vous pouvez obtenir toutes les requêtes NRQL pour un dashboard. + + ``` + { + actor { + entity(guid: "[ENTITY GUID]") { + ... on DashboardEntity { + guid + name + pages { + widgets { + rawConfiguration + } + } + } + } + } + } + ``` + +2. La requête NRQL renverra l'élément `rawConfiguration`. Vous pouvez utiliser la recherche de texte pour trouver l&apos;attribut supprimé. + +3. Utilisez les instructions de la section [Correction des alertes impactées et des instructions NRQL du dashboard](#fixing_nrql) pour mettre à jour les instructions NRQL . + +Vous pouvez également obtenir la liste des GUID d'entité pour tous les tableaux de bord avec la requête suivante : + +``` + { + actor { + entitySearch(query: "domain IN ('VIZ')") { + results { + entities { + guid + accountId + } + } + } + } +} +``` + +### Correction des alertes impactées et des déclarations NRQL du dashboard [#fixing\_nrql][#fixing_nrql] + +**http.statusCode** remplacerait les références à **httpResponseCode** ou **response.status**, qui ont également un type de données différent. Auparavant, vous auriez utilisé une référence comme : + +`[...] WHERE (Numeric(response.status)\>399 [...]` + +pour convertir le type de données chaîne en un nombre. Vous n'avez plus besoin de faire cela et pouvez à la place utiliser des opérations numériques simples telles que : + +`[...] WHERE (http.statusCode \>399) [...]` + +**http.statusText** remplacerait les références à **response.statusMessage**. Le type de données de cet attribut n&apos;a pas changé. + +## instrumentationsupprimée [#removed\_instrumentation][#removed_instrumentation] + +Nous avons supprimé les modèles d'instrumentation suivants pour les versions de bibliothèque qui ne sont plus prises en charge par leurs responsables respectifs : + +* cassandra-datastax-2.1.2 +* httpclient-3.0 +* jdbc-embedded-derby-10.2.1.6 +* jdbc-embedded-derby-10.10.1.1 +* jetée-7 +* jetée-7.6 +* jetée-9 +* jetée-9.0.4 +* jetée-9.1 +* mongodb-2.12 +* mongodb-2.14 +* mongodb-3.0 +* khttp-3.0.0 +* khttp-3.4.0 +* khttp-3.5.0 + +Si votre application utilise l'une des bibliothèques, vous ne recevrez plus les métriques et transactions produites par l'instrumentation pour cette bibliothèque lors de la mise à jour vers un agent Java version v8.x. + +## Actions recommandées + +Si possible, mettez à jour la bibliothèque impactée vers une version prise en charge par le mainteneur et New Relic et mettez à jour votre agent. Si la mise à jour de la bibliothèque EOLed n'est pas une option, vous pouvez toujours mettre à jour votre agent, mais nous vous recommandons de le tester et de l'examiner pour déterminer si les données supprimées entraînent des lacunes dans des domaines critiques. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-heroku.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-heroku.mdx new file mode 100644 index 00000000000..c513b57cde4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-heroku.mdx @@ -0,0 +1,165 @@ +--- +title: agent Java et Heroku +tags: + - Agents + - Java agent + - Heroku +metaDescription: 'Heroku users: How to configure the Java agent for your New Relic add-on.' +freshnessValidatedDate: never +translationType: machine +--- + +[Heroku](https://devcenter.heroku.com/articles/newrelic) est une solution de plate-forme en tant que service (PaaS) pour l&apos;hébergement d&apos;applications Web dans divers langages agent , dont Java. Avec New Relic, vous pouvez étendre Heroku avec des métriques d&apos;[APM](/docs/apm/new-relic-apm) ou [](/docs/browser/new-relic-browser). + + + Si vous utilisez Scala, consultez [les procédures de l'agent Java Scala pour Heroku](/docs/agents/java-agent/heroku/java-agent-scala-heroku). + + +## Compatibilité et exigences [#requirements] + +* Java 7 ou supérieur +* [Maven 3](http://maven.apache.org/download.cgi) ou supérieur (si vous utilisez Maven) +* Dernière [version de l'agent Java](/docs/release-notes/agent-release-notes/java-release-notes)New Relic + +## 1. Activez le module complémentaire de l'agent New Relic dans Heroku [#enable] + +Après vous être assuré que vous [répondez aux exigences](#requirements), activez le module complémentaire de l&apos;agent New Relic dans Heroku. + + + Vous devez [déployer votre Java application sur Heroku](https://devcenter.heroku.com/articles/getting-started-with-java#introduction), en suivant les Heroku instructions au moins jusqu&apos;à l&apos;étape [de déploiement de l'application](https://devcenter.heroku.com/articles/getting-started-with-java#deploy-the-app) , avant de pouvoir activer le module d&apos;agent complémentaire de New Relic. + + +1. Connectez-vous à votre compte Heroku . +2. Depuis la [page du module complémentaire APM](https://elements.heroku.com/addons/newrelic#pricing), sélectionnez un plan d’abonnement. +3. Sélectionnez **Install APM**, puis sélectionnez votre application cible dans la liste déroulante. + +L'installation du module complémentaire crée automatiquement un compte New Relic et configure l'accès aux serveurs Heroku. + +## 2. Indiquez le chemin d'accès au fichier jar [#provide-path] + +Après avoir [activé le module complémentaire de l'agent New Relic](#enable), transmettez l&apos;indicateur `javaagent` au processus `java` et indiquez le chemin d&apos;accès au fichier jar en modifiant votre `Procfile`. + + + + Si vous utilisez Heroku, l'emplacement du fichier jar pour Maven et configuration manuelle se trouve dans le dossier racine de l'application dans un répertoire appelé `newrelic`. + + Exemple: + + ``` + web: java -javaagent:/app/newrelic/newrelic.jar -jar target/HELLOWORLD.jar + ``` + + + + Si vous le faites localement, votre fichier jar peut se trouver dans un répertoire différent. Si c'est le cas, remplacez `PATH/TO/NEWRELIC.JAR` par le chemin d&apos;accès au fichier jar dans votre répertoire local. + + Exemple: + + ``` + web: java -javaagent:PATH/TO/NEWRELIC.JAR -jar target/HELLOWORLD.jar + ``` + + + +## 3. Configurez votre environnement Heroku pour New Relic [#configure-heroku-environment] + +Après avoir [fourni le chemin d'accès au fichier jar](#provide-path), configurez votre environnement Heroku pour New Relic, en fonction de votre plateforme : + + + + 1. Donnez à votre application un [nom significatif](/docs/agents/manage-apm-agents/app-naming/name-your-application) avec cette commande de la ceinture d&apos;outils Heroku : + + ```bash + heroku config:set NEW_RELIC_APP_NAME="APP_NAME" + ``` + + 2. Ajoutez votre : + + ```bash + heroku config:set NEW_RELIC_LICENSE_KEY="LICENSE_KEY" + ``` + + 3. Dans votre `pom.xml`, ajoutez la dépendance `newrelic-agent` , en remplaçant `X.Y.Z` par la [dernière version de l'agent Java](/docs/agents/java-agent/getting-started/java-release-notes). Recommandé : pour garantir que le formatage approprié est appliqué et que le contenu ne contient pas d&apos;informations sensibles, formatez la syntaxe à l&apos;aide de [http://codebeautify.org/xmlviewer](http://codebeautify.org/xmlviewer). + + ```xml + + + com.newrelic.agent.java + newrelic-java + X.Y.Z + provided + zip + + + ``` + + 4. Dans l'élément `` de `pom.xml`, personnalisez la build afin qu&apos;elle télécharge l&apos;agent : + + ```xml + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.2 + + + unpack-newrelic + package + + unpack-dependencies + + + com.newrelic.agent.java + newrelic-java + false + false + true + ${project.basedir} + newrelic + + + + + ``` + + + + 1. connectez-vous au [dashboard.Heroku.com](https://dashboard.heroku.com). + 2. Sélectionnez votre application. + 3. Sélectionnez **Add-ons > APM**. + 4. [Obtenez l'agent Java New Relic.](/docs/agents/java-agent/installation/install-java-agent/#download-agent) + 5. Décompressez le fichier dans la racine de votre application. + 6. Modifiez `newrelic.yml` pour personnaliser le paramètre [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name) avec un [nom d'application descriptif](/docs/agents/manage-apm-agents/app-naming/name-your-application). + 7. Également dans `newrelic.yml`, ajoutez votre [clé de licence](/docs/accounts/install-new-relic/account-setup/license-key) au paramètre [`license_key`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-license_key) . + + + +## 4. Appliquez vos modifications et ouvrez l'application [#push-changes] + +Après avoir [configuré votre environnement Heroku pour New Relic](#configure-heroku-environment), appliquez vos modifications et ouvrez l&apos;application pour la monitorer avec New Relic. + +1. Envoyez vos modifications au dyno avec cette commande de la ceinture à outils Heroku : + + ```bash + git add . + git commit -m 'YOUR COMMIT MESSAGE' + git push heroku master + ``` + +2. Ouvrez votre application dans votre navigateur avec cette commande de la ceinture d'outils Heroku : + + ```bash + heroku open + ``` + +3. Générez du trafic vers votre application et attendez quelques minutes. + +4. Vérifiez les performances de votre application dans Heroku en sélectionnant votre application, puis en sélectionnant le module complémentaire New Relic. + +Si aucune donnée n'apparaît ou si vous rencontrez des problèmes, suivez les conseils [de dépannage](#troubleshooting) . + +## Dépannage [#troubleshooting] + +Voici quelques conseils pour vous aider à résoudre le problème : + +* Si vous ne voyez pas le module complémentaire New Relic après avoir généré du trafic, accédez à Heroku, sélectionnez **Find More Add Ons** et ajoutez le module complémentaire APM. +* Si aucune donnée n'apparaît après quelques minutes d'attente, suivez les [procédures de dépannage pour Heroku (Java)](/docs/agents/java-agent/heroku/no-data-appears-heroku-java). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-scala-heroku.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-scala-heroku.mdx new file mode 100644 index 00000000000..10ff30abb8f --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/java-agent-scala-heroku.mdx @@ -0,0 +1,123 @@ +--- +title: agent Java avec Scala sur Heroku +tags: + - Agents + - Java agent + - Heroku +metaDescription: 'Scala with Heroku users: How to install and configure the Java agent for your APM add-on.' +freshnessValidatedDate: never +translationType: machine +--- + +[Heroku](https://devcenter.heroku.com/articles/newrelic) est une solution de plate-forme en tant que service (PaaS) pour l&apos;hébergement d&apos;applications Web dans divers langages agent , y compris Scala. Avec New Relic, vous pouvez étendre Heroku avec des métriques d&apos;[APM](/docs/apm/new-relic-apm) et [](/docs/browser/new-relic-browser). + + + Pour une installation non Scala, voir [agent Java et Heroku](/docs/agents/java-agent/heroku/java-agent-heroku). + + +## Compatibilité et exigences [#requirements] + +* Java 7 ou supérieur +* Dernière [version de l'agent Java](/docs/release-notes/agent-release-notes/java-release-notes)New Relic + +## 1. Activer le module complémentaire New Relic [#enable-add-on] + +Après vous être assuré que vous [répondez aux exigences](#requirements), activez le module complémentaire de l&apos;agent New Relic dans Heroku. + + + Vous devez [déployer votre Java application sur Heroku](https://devcenter.heroku.com/articles/getting-started-with-java#introduction), en suivant les Heroku instructions au moins jusqu&apos;à l&apos;étape [de déploiement de l'application](https://devcenter.heroku.com/articles/getting-started-with-java#deploy-the-app) , avant de pouvoir activer le module d&apos;agent complémentaire de New Relic. + + +1. Connectez-vous à votre compte Heroku . +2. Depuis la [page du module complémentaire APM](https://elements.heroku.com/addons/newrelic#pricing), sélectionnez un plan d’abonnement. +3. Sélectionnez **Install APM**, puis sélectionnez votre application cible dans la liste déroulante. + +L'installation du module complémentaire crée automatiquement un compte New Relic et configure l'accès aux serveurs Heroku. + +## 2. Configurez votre environnement Heroku pour New Relic [#configure-heroku-environment] + +Une fois les [exigences](#requirements) remplies et [le module complémentaire New Relic activé](#enable-add-on), configurez votre environnement Scala Heroku pour New Relic : + +1. Modifiez votre `Procfile` pour qu&apos;il pointe vers le fichier jar de l&apos;agent dans le dossier racine de votre application. Remplacez le contenu du fichier en remplaçant `X.Y.Z` par la [dernière version de l'agent](/docs/agents/java-agent/getting-started/java-release-notes): + + ```procfile + web: target/universal/stage/bin/play-getting-started -Dhttp.port=${PORT} -J-javaagent:/app/target/universal/stage/lib/com.newrelic.agent.java.newrelic-agent-X.Y.Z.jar -J-Dnewrelic.config.file=conf/newrelic.yml + ``` + + OU + + Identifiez le chemin vers `newrelic.jar` avec la [variable d’environnement](https://devcenter.heroku.com/articles/config-vars) `JAVA_OPTS` . + +2. Modifiez votre `build.sbt`. Appelez l&apos;agent en remplaçant `X.Y.Z` par la [dernière version de l'agent Java](/docs/agents/java-agent/getting-started/java-release-notes): + + + + ```scala + name := """play-getting-started""" + version := "1.0-SNAPSHOT" + lazy val root = (project in file(".")).enablePlugins(PlayScala) + scalaVersion := "2.11.7" + libraryDependencies ++= Seq( + jdbc, + cache, + "org.postgresql" % "postgresql" % "9.4-1201-jdbc41", + ws + ) + libraryDependencies <+= scalaVersion("org.scala-lang" % "scala-compiler" % _ ) + libraryDependencies ++= Seq("com.newrelic.agent.java" % "newrelic-agent" % "X.Y.Z") + libraryDependencies ++= Seq("com.newrelic.agent.java" % "newrelic-api" % "X.Y.Z") + ``` + + + +3. Téléchargez un fichier `newrelic.yml` personnalisé à partir des paramètres de votre compte APM : + + + Comment télécharger un fichier personnalisé + newrelic.yml + + } + > + 1. connectez-vous au [dashboard.Heroku.com](https://dashboard.heroku.com). + 2. Sélectionnez votre application. + 3. Sélectionnez **Add-ons > APM**. + 4. [Obtenez l'agent Java New Relic.](/docs/agents/java-agent/installation/install-java-agent/#download-agent) + 5. Décompressez le fichier téléchargé. + 6. Copiez `newrelic.yml` dans le répertoire `scala-getting-started/conf` : + + + +4. Modifiez `newrelic.yml` pour personnaliser le paramètre [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name) avec un [nom d'application descriptif](/docs/agents/manage-apm-agents/app-naming/name-your-application). + +5. Également dans `newrelic.yml`, ajoutez votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) au paramètre [`license_key`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-license_key) . + +## 3. Appliquez vos modifications et ouvrez l'application [#push-changes] + +Après avoir [configuré votre environnement Heroku pour New Relic](#configure-heroku-environment), appliquez vos modifications et ouvrez l&apos;application pour la monitorer avec New Relic. + +1. Envoyez vos modifications au dyno avec cette commande de la ceinture à outils Heroku : + + ```bash + git add . + git commit -m 'YOUR COMMIT MESSAGE' + git push heroku master + ``` + +2. Ouvrez votre application dans votre navigateur avec cette commande de la ceinture d'outils Heroku : + + ```bash + heroku open + ``` + +3. Générez du trafic vers votre application et attendez quelques minutes. + +4. Vérifiez les performances de votre application dans Heroku en sélectionnant votre application, puis en sélectionnant le module complémentaire New Relic. + +Si aucune donnée n'apparaît ou si vous rencontrez des problèmes, suivez les conseils [de dépannage](#troubleshooting) . + +## dépannage de votre installation [#troubleshooting] + +* Si vous ne voyez pas le module complémentaire New Relic après avoir généré du trafic, accédez à Heroku, sélectionnez **Find more add ons** et ajoutez le module complémentaire APM. +* Si aucune donnée n'apparaît après quelques minutes d'attente, consultez [Aucune donnée n'apparaît avec Heroku (Java)](/docs/agents/java-agent/heroku/no-data-appears-heroku-java). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/no-data-appears-heroku-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/no-data-appears-heroku-java.mdx new file mode 100644 index 00000000000..ec18e06ed4a --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/heroku/no-data-appears-heroku-java.mdx @@ -0,0 +1,30 @@ +--- +title: Aucune donnée n'apparaît avec Heroku (Java) +tags: + - Agents + - Java agent + - Heroku +metaDescription: 'For Heroku/Java users, see this troubleshooting doc for installation problems' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir attendu quelques minutes, les données n'apparaissent pas sur [la page APM**Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page)de votre application Heroku. + +## Solution + +1. Vérifiez le log Heroku pour les erreurs avec cette commande de la ceinture à outils Heroku : + + ``` + heroku logs --tail + ``` + +2. Vérifiez que les fichiers de votre dyno Heroku correspondent aux modifications de fichiers des procédures d'installation [de Java sur Heroku](/docs/agents/java-agent/heroku/java-agent-heroku) ou [Java avec Scala sur Heroku](/docs/agents/java-agent/heroku/java-agent-scala-heroku) . Utilisez cette commande de la ceinture à outils Heroku : + + ``` + heroku run bash + ``` + +3. Essayez les étapes décrites dans [Aucune donnée n'apparaît (Java)](/docs/agents/java-agent/troubleshooting/no-data-appears-java). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/installation/uninstall-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/installation/uninstall-java-agent.mdx new file mode 100644 index 00000000000..77d915213ea --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/installation/uninstall-java-agent.mdx @@ -0,0 +1,23 @@ +--- +title: Désinstaller l'agent Java +tags: + - Agents + - Java agent + - Installation +metaDescription: 'To uninstall New Relic''s Java agent, delete the newrelic folder from root and the Java options variable from your startup script, then restart your app.' +freshnessValidatedDate: never +translationType: machine +--- + +Ce document explique comment désinstaller l'agent Java New Relic. Pour obtenir des instructions sur la façon de désactiver temporairement l'agent, voir [Désactiver l'agent](/docs/agents/manage-apm-agents/installation/disable-apm-agent#java). + +Pour supprimer l’agent Java : + +1. Supprimez le dossier `newrelic` du répertoire racine de votre serveur d’applications. +2. Supprimez l’ [argument JVM](/docs/agents/java-agent/installation/include-java-agent-jvm-argument) que vous avez utilisé pour inclure l’agent dans votre script de démarrage. +3. Le cas échéant, renommez votre script de démarrage sauvegardé avec son nom d'origine. +4. Une fois ces étapes terminées, [redémarrez](/docs/agents/manage-apm-agents/installation/uninstall-agent#restart) votre application. + + + Vous souhaiterez peut-être également [supprimer votre application](/docs/apm/new-relic-apm/maintenance/remove-applications-from-new-relic-ui) de l&apos;UI APM. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/installation/update-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/installation/update-java-agent.mdx new file mode 100644 index 00000000000..325948a9d93 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/installation/update-java-agent.mdx @@ -0,0 +1,36 @@ +--- +title: Mettre à jour l'agent Java +tags: + - Agents + - Java agent + - Installation +metaDescription: 'How to update your APM Java agent, and notes on EOL support for early agent versions.' +freshnessValidatedDate: never +translationType: machine +--- + +Pour profiter pleinement des dernières fonctionnalités, améliorations et correctifs de sécurité importants de New Relic, nous vous recommandons de mettre à jour votre agent Java vers la dernière version. Pour plus d'informations sur agent les mises à jour spécifiques , reportez-vous aux [agent Java notes de sortie et au](/docs/release-notes/agent-release-notes/java-release-notes) document sur la [Java compatibilité et les](/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent) exigences . + +Ces procédures de mise à jour décrivent comment remplacer une partie du contenu actuel de votre [agent répertoire racine](/docs/agents/manage-apm-agents/troubleshooting/find-agent-root-directory#java-agent), qui contient l&apos;agent Java New Relic (`newrelic.jar`), par le contenu nouvellement téléchargé depuis l&apos;UI de New Relic. + +## Mise à jour vers la dernière version [#procedures] + +Pour identifier la version de l’agent Java que vous utilisez actuellement, exécutez `java -jar newrelic.jar -v`. Votre version d&apos;agent Java sera imprimée sur votre console. + +Ensuite, pour mettre à jour vers la dernière version de l'agent Java : + +1. Sauvegardez le [répertoire racine de l’agent Java](/docs/agents/manage-apm-agents/troubleshooting/find-agent-root-directory#java-agent) **entire** vers un autre emplacement. Renommez ce répertoire en `NewRelic_Agent#.#.#`, où `#.#.#` est le numéro de version de l&apos;agent. + +2. [Téléchargez l'agent.](/docs/release-notes/agent-release-notes/java-release-notes) + +3. Décompressez le nouveau fichier de téléchargement de l'agent, puis copiez `newrelic-api.jar` et `newrelic.jar` dans le [répertoire racine de l'agent Java](/docs/agents/manage-apm-agents/troubleshooting/find-agent-root-directory#java-agent) d&apos;origine. + +4. (Facultatif) Si vous utilisez l'une des API d'agent comme notre [agent Java API](/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api/) ou une , nous vous recommandons de mettre à niveau [Scala API](/docs/apm/agents/java-agent/frameworks/scala-installation-java/#using-the-scala-api) votre API dépendance vers la dernière version. La nouvelle version agent prendra toujours en charge l&apos;API, mais il se peut que vous manquiez de nouvelles fonctionnalités. Si vous utilisez un outil de build comme Maven, mettez à niveau les versions de l&apos;API vers les plus récentes. Par exemple, si vous utilisez l&apos;Java API de l&apos;agent avec Gradle, remplacez `${agent.version}` par la dernière version : + + ```groovy + implementation 'com.newrelic.agent.java:newrelic-api:${agent.version}' + ``` + +5. Redémarrez votre processus Java. + +Si vous rencontrez des problèmes après la mise à jour de l'agent Java, effectuez la restauration à partir du répertoire de l'agent New Relic sauvegardé. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/extension-additional-instrumentation-modules.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/extension-additional-instrumentation-modules.mdx new file mode 100644 index 00000000000..71b328a633b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/extension-additional-instrumentation-modules.mdx @@ -0,0 +1,864 @@ +--- +title: Modules d'extension et d'instrumentation supplémentaires +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: 'New Relic Java agent: How to install experimental instrumentation with incubator modules, and instrument older libraries with archived modules.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java est une bibliothèque complète qui collecte automatiquement des données à partir de nombreux serveurs, frameworks, bibliothèques et magasins de données populaires (pour une liste complète, voir [Compatibilité et exigences](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent)). Il dispose également d’un ensemble de fonctionnalités importantes. Cependant, il existe toujours requests supplémentaires en matière de fonctionnalités et instrumentation de la nouvelle bibliothèque. L&apos;agent Java fournit **extension modules** à cet effet. + +Les modules d'extension se répartissent en trois catégories générales : + +* [Modules instrumentation d'incubateur](#incubator-modules-list): Nouveau support expérimental pour collecter des données à partir de bibliothèques spécifiques +* [Modules instrumentation archivés](#archived-modules-list): instrumentation pour bibliothèque que la société ou l&apos;auteur d&apos;origine ne maintient ou ne met plus à jour. +* [modules d'extension de fonctionnalités](#feature-extension-modules): Code qui ajoute un nouveau comportement à l&apos;agent, indépendamment de toute bibliothèque spécifique. + +Si votre bibliothèque n'est pas couverte par l'instrumentation automatique ou par un module d'instrumentation, vous pouvez toujours collecter des données avec [une instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). + + + Si vous avez des commentaires, des questions ou des problèmes avec cette instrumentation, créez un message dans [le forum d'assistance de New Relic](https://discuss.newrelic.com/tags/javaagent) et tag votre message avec `java_incubator`. + + +## Installer des modules d'extension [#install] + +Nous vous recommandons [de mettre à jour vers la dernière version de l'agent Java](/docs/agents/java-agent/installation/upgrade-java-agent) avant d&apos;installer un module d&apos;extension. Pour installer un module d’extension : + +1. Téléchargez le fichier `.jar` approprié à partir des listes de modules ci-dessous. +2. Localisez le répertoire contenant vos fichiers `newrelic.jar` et `newrelic.yml` . Dans ce répertoire, créez un sous-répertoire nommé `extensions` (s’il n’y en a pas déjà un). +3. Copiez le module d'extension `.jar` que vous avez téléchargé dans le répertoire `extensions` . +4. Pour les modules d'extension de fonctionnalités, mettez à jour votre `newrelic.yml` avec configuration spécifique aux fonctionnalités. +5. Redémarrez votre serveur. +6. Envoyez du trafic vers le serveur ou l’hôte qui exercera la fonctionnalité ou l’instrumentation. + + + Les modules d'extension d'agent Java sont soumis aux [licences d'agent Java New Relic](/docs/licenses/license-information/agent-licenses/java-agent-licenses), qui sont incluses dans le fichier `LICENSE` de chaque module jar. + + +## modules d'extension de fonctionnalités + +Les modules d'extension sont des bibliothèques supplémentaires qui ajoutent des fonctionnalités fréquemment demandées. + +Pour utiliser un module d'extension, téléchargez-le et placez-le dans le [répertoire Extensions](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#extensions-directory). + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://repo1.maven.org/maven2/com/newrelic/agent/extension/class-histogram-extension/) +
+ + L'extension Class histogramme exécute [jmap](https://docs.oracle.com/javase/7/docs/technotes/tools/share/jmap.html) périodiquement et génère des données `ClassHistogramRowEvent` et `ClassHistogramStatsEvent` que [vous pouvez interroger et représenter graphiquement](/docs/using-new-relic/data/understand-data/query-new-relic-data). L&apos;interrogation de ces données peut être utile lors du dépannage des fuites de mémoire, car vous pouvez voir les valeurs au fil du temps. + + Vous configurez l'extension Histogramme de classe de la même manière que vous configurez l'agent Java: en utilisant des variables d'environnement, des propriétés système ou `newrelic.yml`. Voici les propriétés disponibles, avec les valeurs par défaut : + + ```yml + extensions: + class_histogram: + enabled: true # true is the default if the extension is present + classes_per_histogram: 50 # 50 is the default, and memory leak issues are usually in the highest 50 classes by bytes + jmap_path: /your/jdk/bin # The folder where the jmap binary lives. The default is $JAVA_HOME/bin. + delay_between_calls_seconds: 60 # Length of the delay between executions to avoid frequent pauses + ``` +
+
+ +## Modules d'instrumentation pour incubateur [#incubator-modules-list] + +Les modules d'incubation sont expérimentaux instrumentation que nous pourrions intégrer à agent instrumentation l'automatique de à l'avenir. + +Voici les modules d'incubation actuellement disponibles : + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/camel-2.12.jar) +
+ + Ce module d'instrumentation intercepte les éléments suivants : + + ```java + org.apache.camel.component.http.CamelServlet.resolve + ``` + + Pour nommer la transaction de sorte que le site Web de transaction ait un nom plus précis que le nom du servlet Camel, il utilise ceci : + + ```java + org.apache.camel.component.http.HttpConsumer.getPath() + ``` + + Pour afficher le bytecode, utilisez cette commande de terminal : + + ```bash + javap -verbose -cp camel-2.12-FILENAME.jar org.apache.camel.component.http.CamelServlet + ``` +
+ + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/c3p0-0.9.jar) +
+ Version de l'agent Java + + 3.12.0 ou supérieur +
+ + Ce module d'instrumentation échantillonne les pools de connexions C3P0 et signale les nombres d'occupation et d'inactivité dans des métriques qui commencent par ceci : + + ``` + Custom/Database Connection/C3P0/METRIC_NAME + ``` + + Vous pouvez visualiser les métriques avec l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). +
+ + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/metrics-2.jar) +
+ + Ce module d'instrumentation s'intègre au `MetricRegistry` et commence à échantillonner les métriques enregistrées toutes les minutes. Les métriques rapportées sont préfixées par ceci : + + ``` + Custom/CodaHale/Metrics2/METRIC_NAME + ``` + + Vous pouvez visualiser les métriques avec l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). +
+ + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/metrics-3.jar) +
+ + Ce module d'instrumentation s'intègre au `MetricRegistry` et commence à échantillonner les métriques enregistrées toutes les minutes. Les métriques rapportées sont préfixées par ceci : + + ``` + Custom/CodaHale/Metrics3/METRIC_NAME + ``` + + Vous pouvez visualiser les métriques avec l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). +
+ + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/hikaricp-2.3.5.jar) +
+ Version de l'agent Java + + 3.12.0 ou supérieur +
+ + Ce module d'instrumentation échantillonne les pools de connexions à la base de données HikariCP et signale les nombres d'occupation et d'inactivité dans des métriques qui commencent par ceci : + + ``` + Custom/Database Connection/HikariCP/METRIC_NAME + ``` + + Vous pouvez visualiser les métriques avec l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). +
+ + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/hikaricp-2.4.0.jar) +
+ Version de l'agent Java + + 3.12.0 ou supérieur +
+ + + Ce module d'incubateur est obsolète. Il a été ajouté en tant que module d'instrumentation dans l'agent. + + + Ce module d'instrumentation échantillonne les pools de connexions à la base de données HikariCP et signale les nombres d'occupation et d'inactivité dans des métriques qui commencent par ceci : + + ``` + Custom/Database Connection/HikariCP/METRIC_NAME + ``` + + Vous pouvez visualiser les métriques avec l'[explorateur métrique](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). +
+ + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/ratpack-1.6.0.jar) +
+ Version de l'agent Java + + 3.29 ou supérieur +
+ + Ce module d'instrumentation ajoute la prise en charge de la liaison asynchrone des primitives d'exécution de Ratpack. Il monitore également l’exécution du gestionnaire. Vous devez nommer les transactions manuellement à l’aide de l’ [API de l’agent Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api). +
+ + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://download.newrelic.com/newrelic/java-agent/extensions/ratpack-http-1.4.0.jar) +
+ + Cette instrumentation capture requests et réponses du client HTTP de Ratpack. +
+
+ +## Modules d'instrumentation archivés [#archived-modules-list] + +Les modules archivés sont instrumentation pour la bibliothèque qui ne sont plus maintenues par la société ou l'auteur d'origine. Étant donné que la bibliothèque cible n'est pas mise à jour, notre support pour les modules archivés a des dates de fin désignées. + +Voici les modules archivés qui sont actuellement disponibles : + + + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/akka-2.0/SNAPSHOT/akka-2.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.22.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module fournit une instrumentation de lien entre les acteurs qui envoient et reçoivent des messages. Il trace également les messages diffusés ou transmis aux acteurs. Afin d'éviter une sur-instrumentation, cette instrumentation ne démarre pas de transactions. Si vous souhaitez qu'un appel d'acteur donné marque le début d'une transaction, utilisez l'annotation [`@Trace(dispatcher=true)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Trace.html) ou une autre forme d&apos;[instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/akka-2.1/SNAPSHOT/akka-2.1-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.22.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module fournit une instrumentation de lien entre les acteurs qui envoient et reçoivent des messages. Il trace également les messages diffusés ou transmis aux acteurs. Afin d'éviter une sur-instrumentation, cette instrumentation ne démarre pas de transactions. Si vous souhaitez qu'un appel d'acteur donné marque le début d'une transaction, utilisez l'annotation [`@Trace(dispatcher=true)`](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/Trace.html) ou une autre forme d&apos;[instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/akka-http-1.0/SNAPSHOT/akka-http-1.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) à partir des appels HTTP Akka. Il instrumente également les transferts entre les acteurs Akka et les appels d&apos;Akka vers d&apos;autres bases de données et services. + + Pour appeler système, cette instrumentation collecte [les traces inter-application](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces). Si vous utilisez une version Akka prise en charge, vous pouvez afficher l&apos;activité de vos applications HTTP Akka à partir des transactions jusqu&apos;à votre système d&apos;acteur. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/akka-http-2.0/SNAPSHOT/akka-http-2.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) à partir des appels HTTP Akka. Il instrumente également les transferts entre les acteurs Akka et les appels d&apos;Akka vers d&apos;autres bases de données et services. + + Pour appeler système, cette instrumentation collecte [les traces inter-application](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces). Si vous utilisez une version Akka prise en charge, vous pouvez afficher l&apos;activité de vos applications HTTP Akka à partir des transactions jusqu&apos;à votre système d&apos;acteur. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/akka-http-2.4.2/SNAPSHOT/akka-http-2.4.2-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) à partir des appels HTTP Akka. Il instrumente également les transferts entre les acteurs Akka et les appels d&apos;Akka vers d&apos;autres bases de données et services. + + Pour appeler système, cette instrumentation collecte [les traces inter-application](/docs/apm/transactions/cross-application-traces/introduction-cross-application-traces). Vous pouvez utiliser cette instrumentation avec notre support de sortie précédemment construit pour Akka, pour afficher l&apos;activité de vos applications HTTP Akka depuis les transactions jusqu&apos;à votre système d&apos;acteur. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/hystrix-1.0.2/SNAPSHOT/hystrix-1.0.2-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.23.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module fournit des informations de synchronisation liées à chaque commande Hystrix. L'agent reliera les commandes Hystrix chaînées en une seule [transaction](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/hystrix-1.2/SNAPSHOT/hystrix-1.2-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.23.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module fournit des informations de synchronisation liées à chaque commande Hystrix. L'agent reliera les commandes Hystrix chaînées en une seule [transaction](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/hystrix-1.3.0/SNAPSHOT/hystrix-1.3.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.23.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module fournit des informations de synchronisation liées à chaque commande Hystrix. L'agent reliera les commandes Hystrix chaînées en une seule [transaction](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/play-2.0/SNAPSHOT/play-2.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée et nomme [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) en fonction de vos classes de contrôleur Play. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/play-2.1/SNAPSHOT/play-2.1-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée et nomme [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) en fonction de vos classes de contrôleur Play. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/play-2.2/SNAPSHOT/play-2.2-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.24.1 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module crée et nomme [des transactions](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) en fonction de vos classes de contrôleur Play. +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/solr-3.1.0/SNAPSHOT/solr-3.1.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.34.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module instrumente la base de données des appels aux serveurs Solr et collecte des informations détaillées sur le serveur Solr lui-même. Il fournit également le serveur de base de données et le nom de la base de données pour la requête affichée dans [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) et [requête lente trace](/docs/apm/applications-menu/monitoring/view-slow-query-details). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/solr-3.5.0/SNAPSHOT/solr-3.5.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.34.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module instrumente la base de données des appels aux serveurs Solr et collecte des informations détaillées sur le serveur Solr lui-même. Il fournit également le serveur de base de données et le nom de la base de données pour la requête affichée dans [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) et [requête lente trace](/docs/apm/applications-menu/monitoring/view-slow-query-details). +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Lien de téléchargement + + [Télécharger le module](https://oss.sonatype.org/service/local/repositories/snapshots/content/com/newrelic/agent/java/archive/solr-3.6.0/SNAPSHOT/solr-3.6.0-SNAPSHOT.jar) +
+ Version de l'agent Java + + 3.34.0 ou supérieur +
+ Le support se termine le + + Décembre 2019 +
+ + Ce module instrumente la base de données des appels aux serveurs Solr et collecte des informations détaillées sur le serveur Solr lui-même. Il fournit également le serveur de base de données et le nom de la base de données pour la requête affichée dans [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) et [requête lente trace](/docs/apm/applications-menu/monitoring/view-slow-query-details). +
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/ignore-transactions-using-api.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/ignore-transactions-using-api.mdx new file mode 100644 index 00000000000..803ab5cfec7 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/ignore-transactions-using-api.mdx @@ -0,0 +1,74 @@ +--- +title: Ignorer les transactions spécifiques +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: How to set up New Relic's Java agent to ignore specific web transactions (including Apdex scores) using the API. +freshnessValidatedDate: never +translationType: machine +--- + +New Relic for Java vous propose plusieurs méthodes pour ignorer des transactions spécifiques. Ce document explique comment utiliser les [annotations de l'API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api) et `ServletRequest` pour ignorer les transactions. + +Il est également possible d'utiliser l'[appel d'API](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) `ignoreTransaction()` et [les fichiers instrumentation XML](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation-xml-examples#file-format) pour ignorer les transactions. + + + Ignorer les transactions implique de modifier le code source de votre application et de recompiler votre application dans tous les **unless** où vous utilisez un [fichier d'instrumentation XML](/docs/agents/java-agent/custom-instrumentation/java-custom-instrumentation-xml-examples#file-format). Si vous ne pouvez pas manipuler votre code, utilisez XML pour ignorer les transactions. + + +## Ignorer la transaction Web avec ServletRequest [#servlet] + +Pour ignorer une transaction Web, définissez un attribut [`ServletRequest`](http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html) nommé `com.newrelic.agent.IGNORE` sur `true` lors de la requête : + +```java +request.setAttribute("com.newrelic.agent.IGNORE", true); +``` + +Pour spécifier les URL à ignorer, créez un [filtre](http://docs.oracle.com/javaee/6/api/javax/servlet/Filter.html) de servlet qui définit cet attribut et appliquez le filtre au servlet que vous souhaitez ignorer. Le filtre aura accès à l&apos;URI de la demande si vous devez ignorer des URL spécifiques. + +## Ignorer les transactions avec annotation [#annotation] + +Pour indiquer à l’agent Java d’ignorer les transactions à l’aide d’annotations : + +1. Définissez une annotation appelée `NewRelicIgnoreTransaction` dans le code de votre application ou une bibliothèque que vous pouvez intégrer à votre application : + + ```java + @Target(ElementType.METHOD) + @Retention(RetentionPolicy.RUNTIME) + public @interface NewRelicIgnoreTransaction { + } + ``` + +2. Appliquez l’annotation aux méthodes ou classes que vous souhaitez ignorer. Par exemple: + + ```java + @NewRelicIgnoreTransaction + public void methodToBeIgnored() { + } + ``` + +Si une transaction appelle une méthode ou une classe annotée avec `@NewRelicIgnoreTransaction`, la transaction est ignorée. Cela signifie qu&apos;il ne contribue pas au score Apdex global ; et les données trace des transactions et de performances ne sont pas rapportées. + +## Ignorer apdex mais ne pas tracer [#apdex] + +Vous pouvez également empêcher la transaction de contribuer au score Apdex tout en la laissant utilisée dans la transaction. Cela peut empêcher une transaction particulièrement longue de fausser votre score Apdex. Pour empêcher une transaction de contribuer à votre score Apdex : + +1. Définissez une annotation appelée `NewRelicIgnoreApdex` dans le code de votre application ou une bibliothèque que vous pouvez intégrer à votre application : + + ```java + @Target(ElementType.METHOD) + @Retention(RetentionPolicy.RUNTIME) + public @interface NewRelicIgnoreApdex { + } + ``` + +2. Appliquez l’annotation aux méthodes ou classes que vous souhaitez ignorer. Par exemple: + + ```java + @NewRelicIgnoreApdex + public void ignoreApdexOfThisMethod() { + } + ``` + +Si une transaction appelle une méthode ou une classe annotée avec `@NewRelicIgnoreApdex`, la transaction est signalée, mais ne contribue pas au score Apdex global. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-aws-sqs-message-queues.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-aws-sqs-message-queues.mdx new file mode 100644 index 00000000000..c0ce2bef8ee --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-aws-sqs-message-queues.mdx @@ -0,0 +1,141 @@ +--- +title: Utiliser Amazon SQS pour le fichier d'attente des messages +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: How to improve instrumentation of the Amazon SQS SDK for Java applications using New Relic's APM +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java prend en charge instrumentation pour le fichier d'attente des messages AWS SQS. Bien que notre instrumentation SQS génère une trace de courtier de messages, vous souhaiterez peut-être des informations supplémentaires sur l'utilisation du SDK SQS. + +Pour voir toutes les bibliothèques SQS prises en charge, reportez-vous à [la page de compatibilité et d'exigencesJava ](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent). + +## Afficher le traçage distribué SQS + +AWS L'SQS SDK inclut instrumentation automatiquement les traceen-têtes distribués comme attribut de message pour les messages SQS. Cette fonctionnalité est disponible à partir de la version 2.1.0. Cependant, pour les opérations de récepteur de messages, il n'existe pas de méthode intégrée pour traiter ces en-têtes. Nous vous proposons de mettre en œuvre instrumentation personnalisée pour lire les en-têtes des tracedistribuées. + +Voici un exemple de lecture des en-têtes tracedistribués à partir d'un message SQS à l'aide du SDK V2 : + +```java + // This method will call the SDK to receive messages and then process them + public void readMessages(SqsClient sqsClient, String queueUrl) { + List msgs = receiveMessages(queueUrl); + for (Message msg : msgs) { + handleMessage(msg); + } + } + + // Since calling the SDK to recieve messages is a batch call, it is not recommended to accept distributed trace headers + // in the same transaction as the SDK call. Distributed traces can only have one parent span. + @Trace(dispatcher = true, metricName = "v2/receiveMessages") + public List receiveMessages(SqsClient sqsClient, String queueUrl) { + ReceiveMessageRequest request = ReceiveMessageRequest.builder() + .queueUrl(queueUrl) + .maxNumberOfMessages(10) + .build(); + + List messages = sqsClient.receiveMessage(request).messages(); + if (messages.isEmpty()) { + logger.info("[v2 API] No messages received"); + } + return messages; + } + + // Here we accept distributed trace headers in a seperate transaction from the SDK call. + @Trace(dispatcher = true, metricName = "v2/handleMessage") + public void handleMessage(Message msg, SqsClient sqsClient, String queueUrl) { + // We use a wrapper class that helps extract the distributed trace headers + SQSReceivedMessageHeaders headers = new SQSReceivedMessageHeaders(msg); + // Here we accept the distributed trace headers + NewRelic.getAgent().getTransaction().acceptDistributedTraceHeaders(TransportType.Other, headers); + + + // Process your message here + + DeleteMessageRequest deleteMessageRequest = DeleteMessageRequest.builder() + .queueUrl(queueUrl) + .receiptHandle(msg.receiptHandle()) + .build(); + sqsClient.deleteMessage(deleteMessageRequest); + } +``` + +Voici la classe wrapper `SQSReceivedMessageHeaders` qui extrait les en-têtes tracedistribués du message SQS : + +```java +import com.newrelic.api.agent.HeaderType; +import com.newrelic.api.agent.Headers; +import software.amazon.awssdk.services.sqs.model.Message; +import software.amazon.awssdk.services.sqs.model.MessageAttributeValue; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +public class SQSReceivedMessageHeaders implements Headers { + + private Message message = null; + + public SQSReceivedMessageHeaders(Message msg) { + message = msg; + } + + @Override + public HeaderType getHeaderType() { + return HeaderType.MESSAGE; + } + + @Override + public String getHeader(String name) { + String value = null; + Map msgAttributes = message.messageAttributes(); + MessageAttributeValue msgAttributeValue = msgAttributes.get(name); + if(msgAttributeValue != null) { + if(msgAttributeValue.dataType().equalsIgnoreCase("string")) { + value = msgAttributeValue.stringValue(); + } + } + return value; + } + + @Override + public Collection getHeaders(String name) { + List list = new ArrayList(); + String value = getHeader(name); + if(value != null && !value.isEmpty()) { + list.add(value); + } + return list; + } + + @Override + public void setHeader(String name, String value) { + // Not supported + } + + @Override + public void addHeader(String name, String value) { + // Not supported + } + + @Override + public Collection getHeaderNames() { + if(message != null) { + Map attributes = message.messageAttributes(); + if(attributes != null) return attributes.keySet(); + } + return Collections.emptyList(); + } + + @Override + public boolean containsHeader(String name) { + return getHeaderNames().contains(name); + } + +} +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-browser-monitoring-java-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-browser-monitoring-java-agent-api.mdx new file mode 100644 index 00000000000..1f3e0865643 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/instrument-browser-monitoring-java-agent-api.mdx @@ -0,0 +1,261 @@ +--- +title: des instruments monitoring des navigateurs avec agent Java API +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: How to use manual instrumentation to set up New Relic's Java agent to monitor your end users' browser experience with your app. +freshnessValidatedDate: never +translationType: machine +--- + +La fonctionnalité vous donne une visibilité sur la manière dont vos utilisateurs interagissent avec [](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)votre Java application en utilisant un de code JavaScript snippet (ou «agent») pour instrumenter les pages Web de votre application. Pour installer l&apos;agent de navigateur via l&apos;UI, suivez les procédures pour [installer l'agent de navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent). Par exemple, vous pouvez : + +* Activer une application de monitoring APM . +* Activer avec la méthode copier/coller. +* Activer en utilisant l'API REST. + +Vous pouvez également [manuellement instrument](#manual_instrumentation) vos pages Web en utilisant l&apos;agent Java API, comme expliqué dans ce document. + +## Utiliser l'API de l'agent Java [#manual\_instrumentation][#manual_instrumentation] + +Si votre framework ne vous permet pas d'activer monitoring des navigateurs depuis notre UI, avec la méthode copier/coller, ou en utilisant notre API REST, vous pouvez instrumenter manuellement monitoring de vos pages Web. Pour ce faire, utilisez notre [API d'agent Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api). + +1. Assurez-vous que vous utilisez la [dernière version de l'agent Java](/docs/release-notes/agent-release-notes/java-release-notes). + +2. Désactiver l'auto-instrumentation. + + + + 1. Définissez l'indicateur [`auto_instrument`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#bm-auto_instrument) sous `browser_monitoring` sur `false` dans votre `newrelic.yml`. + + ```yml + browser_monitoring: + auto_instrument: false + ``` + + 2. Redémarrez votre application. + + 3. Vider le cache de travail du serveur d'applications. + + Le vidage du cache de travail force le serveur d'applications à recompiler les JSP, c'est à ce moment-là que l'auto-instrumentation se produit. + + + + Utilisez l’indicateur `disabled_auto_pages` sous la section `browser_monitoring` . Par exemple, pour désactiver auto-instrumentation sur `testpage_1.jsp` et `testpage_2.jsp`, utilisez ce qui suit : + + ```yml + browser_monitoring: + disabled_auto_pages: /WEB-INF/jsp/testpage_1.jsp, /WEB-INF/jsp/testpage_2.jsp + ``` + + + +3. [Accédez à la classe API de l’agent Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api#api) en ajoutant `newrelic-api.jar` au chemin de classe de votre application. + +4. Ajoutez la méthode `com.newrelic.api.agent.NewRelic.getBrowserTimingHeader()` pour activer le suivi du temps. Voir ci-dessous les procédures pour un cadre spécifique. + + + À partir de [l'agent Java 8.9.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-890), l&apos;appel de méthode [API getBrowserTimingFooter()](https://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) est obsolète. L&apos;intégralité du script du navigateur est désormais inclus lors de l&apos;appel de `getBrowserTimingHeader()`. + + + Trouvez les méthodes appropriées en fonction du framework que vous utilisez : + + + + Insérez l'en-tête aussi près que possible du haut de tag ``, mais après la balise méta. + + ```html + + + + + EXAMPLE + + ; + <%= com.newrelic.api.agent.NewRelic.getBrowserTimingHeader() %> + + + + + + + ``` + + + + Pour instrumenter manuellement à l'aide de HTML brut, [incluez le code de temporisation de chargement de la page dans la réponse HTTP](/docs/agents/java-agent/custom-instrumentation/java-agent-api-example-program#include-browser). + + + + ```html + + ... +
+ + + + ... + + ``` +
+ + + ```html + + + #header# + ... + #footer# + ``` + + + + L'instrumentation manuelle n'est pas disponible avec JSF. Pour insérer le snippet JavaScript du navigateur dans les pages Web de votre application, utilisez la [méthode copier/coller](/docs/browser/new-relic-browser/installation-configuration/add-apps-new-relic-browser#copy-paste-app). + + + + ```groovy + ${com.newrelic.api.agent.NewRelic.getBrowserTimingHeader().raw()} + ... + ``` + + + + Ajoutez ce qui suit à `build.sbt`, en remplaçant la [dernière version de l'agent](/docs/release-notes/agent-release-notes/java-release-notes) par 8.xx : + + ```scala + libraryDependencies += "com.newrelic.agent.java" % "newrelic-api" % "8.x.x" + ``` + + Dans `main.scala.html`, ajoutez ce qui suit : + + ```java + @Html(com.newrelic.api.agent.NewRelic.getBrowserTimingHeader()) + ... + ``` + + + + Ajoutez ce qui suit à `Build.scala`, en remplaçant la [dernière version de l'agent](/docs/release-notes/agent-release-notes/java-release-notes) par 8.xx : + + ```scala + appDependencies += "com.newrelic.agent.java" % "newrelic-api" % "8.x.x" + ``` + + Dans `main.scala.html`, ajoutez ce qui suit : + + ```java + @Html(com.newrelic.api.agent.NewRelic.getBrowserTimingHeader()) + ... + ``` + + + + Si vous utilisez Velocity Tools, définissez un outil `NewRelic` dans `toolbox.xml`: + + ```xml + + + NewRelic + application + com.newrelic.api.agent.NewRelic + + + ``` + + Appelez l'API `NewRelic` dans votre modèle de vélocité : + + ```java + $NewRelic.getBrowserTimingHeader() + ... + ``` + + + + 1. Pour garantir que toutes les pages vues de votre navigateur ne sont pas regroupées sous une seule transaction `/velocity` (et pour éviter [les problèmes de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues)), désactivez votre paramètre `enable_auto_transaction_naming` dans votre fichier `newrelic.yml` : + + ```yml + enable_auto_transaction_naming: false + ``` + + 2. Ajoutez `newrelic-api.jar` au classpath de Tomcat, généralement dans `.../tomcat/bin/setenv.sh`: + + ```sh + CLASSPATH=$CLASSPATH:/opt/newrelic/newrelic-api.jar + ``` + + OU + + Ajoutez la référence à ce fichier jar à la fin d’une ligne `CLASSPATH=...` existante dans ce fichier. + + 3. Dans chaque application, recherchez `WEB-INF/tools.xml` et ajoutez la tag suivante : + + ```xml + + + + ``` + + Si une tag `` existe déjà, placez le `` dans la tag. + + 4. Dans chaque application, modifiez le modèle Velocity utilisé par les autres pages de l'application. Ajoutez cette tag dans la section `` avant toute déclaration `` et ` + + May 17, 2011 9:43:23 AM NewRelic FINEST: Got browser timing footer in NewRelic API: + ``` + +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues.mdx new file mode 100644 index 00000000000..3f1daae8829 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues.mdx @@ -0,0 +1,265 @@ +--- +title: 'Agent Java: instrumenter les message de file d''attente Kafka' +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: 'New Relic for Java includes built-in Kafka monitoring, as well as advanced event and distributed tracing data collection.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Java New Relic collecte automatiquement les données de la bibliothèque de clients Java de [Kafka](https://kafka.apache.org/documentation/). Étant donné que Kafka est un système de messagerie hautes performances qui génère beaucoup de données, vous pouvez personnaliser l&apos;agent en fonction du débit et des cas d&apos;utilisation spécifiques de votre application. + +Ce document explique comment collecter et visualiser trois types de données Kafka : + +* [Métriques Kafka](#view-kafka-metrics) +* [L'événement Kafka](#collect-kafka-events) +* [Activer les transactions Kafka Streams](#collect-kafka-streams-transactions) +* [Les traces de Kafka distribuées](#collect-kafka-distributed-traces) + + + Nous avons également une intégration Kafka. Pour plus de détails à ce sujet, voir [Intégration monitoring Kafka](/docs/integrations/host-integrations/host-integrations-list/kafka-monitoring-integration). + + +## Exigences [#requirements] + +L'instrumentation des clients Kafka est disponible dans les versions d'agent Java 4.12.0 ou supérieures. instrumentation des flux Kafka est disponible dans les versions 8.1.0 de l'agent Java ou supérieur. Pour voir toutes les bibliothèques Kafka prises en charge, consultez la [page de compatibilité et d'exigencesJava ](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent). Notez que Kafka Streams s&apos;exécute sur les clients Kafka, donc toute l&apos;instrumentation qui s&apos;applique aux clients Kafka s&apos;applique également à Streams. + +## Afficher les métriques Kafka + +Après [installation](/docs/agents/java-agent/installation/install-java-agent), l&apos;agent génère automatiquement des statistiques Kafka enrichies avec des informations sur les taux de messagerie, la latence, le décalage, etc. L&apos;agent Java collecte toutes [les métriques Kafka consommateur et producteur](https://kafka.apache.org/documentation/#monitoring) (mais pas les métriques connect ou stream). + +Pour visualiser ces métriques, créez un dashboard personnalisé : + +1. Accédez à l'[explorateur métriqueNew Relic ](/docs/insights/use-insights-ui/explore-data/metric-explorer-search-chart-metrics-sent-new-relic-agents). + +2. Utilisez l'explorateur de métriques pour localiser vos métriques. Voici quelques dossiers dans lesquels vous pouvez trouver des métriques : + + * Métriques Kafka : + + ``` + MessageBroker/Kafka/Internal/KafkaMetricName + ``` + + Par exemple, la métrique `request-rate` : + + ``` + MessageBroker/Kafka/Internal/consumer-metrics/request-rate + ``` + + * Flux Kafka : + + ``` + Kafka/Streams/KafkaStreamsMetricName + ``` + + Par exemple, la métrique `poll-latency-avg` : + + ``` + Kafka/Streams/stream-thread-metrics/poll-latency-avg + ``` + + * Kafka Connect : + + ``` + Kafka/Connect/KafkaConnectMetricName + ``` + + Par exemple, la métrique `connector-count` : + + ``` + Kafka/Connect/connect-worker-metrics/connector-count + ``` + +3. Ajoutez les métriques que vous souhaitez monitorer à un dashboard en cliquant sur **Add to dashboard**. + + + Pour une liste complète des métriques du consommateur, du producteur et des flux Kafka, consultez la [documentation Kafka](https://kafka.apache.org/documentation/#remote_jmx). Les métriques de ces documents sont consultables via JMX. Gardez à l’esprit que toutes les métriques mentionnées dans la documentation ne seront pas exportées dans New Relic. Cela pourrait être dû à l’une de ces raisons : + + * La métrique n'est pas réellement générée par les clients Kafka ou Kafka Streams. Cela peut être dû à l'utilisation d'une ancienne version des clients ou de Streams ou à la façon dont vous configurez et utilisez votre bibliothèque Kafka. + * La métrique n'est pas numérique ou sa valeur est `NaN`. New Relic accepte uniquement les métriques avec une valeur numérique. + + +## Activer la collection d'événements Kafka [#collect-kafka-events] + +Vous pouvez configurer l'agent pour collecter des données d'événement au lieu des données d'intervalle de temps métrique (pour la différence entre l'intervalle de temps métrique et les données d'événement, voir [collecte de données](/docs/using-new-relic/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#overview)). Cela vous permet d&apos;utiliser [NRQL](/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) pour filtrer et facetter les métriques Kafka par défaut. Lorsque cette option est activée, l&apos;agent collecte un événement Kafka toutes les 30 secondes. Cet événement contient toutes les données de [Kafka consommateur et produit les métriques](https://kafka.apache.org/documentation/#monitoring) capturées depuis l&apos;événement précédent. + +Si vous utilisez Kafka Streams, l'agent génère un événement distinct qui contient toutes les données des [métriques de flux Kafka](https://kafka.apache.org/documentation/#remote_jmx) capturées depuis l&apos;événement précédent. L&apos;événement est également collecté toutes les 30 secondes. + + + L'agent enregistre jusqu'à 2000 événements par [cycle de collecte](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#harvest-cycle), bien que vous puissiez modifier cette valeur avec [`max_samples_stored`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#ae-max_samples_stored). Les données d’événement Kafka sont incluses dans ce pool. Si vous utilisez l&apos;appel d&apos;API `recordCustomEvent()` pour envoyer [des événements personnalisés](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) à New Relic et que vous envoyez plus de 2000 événements, l&apos;agent rejettera certains événements Kafka ou personnalisés. + + +Pour activer la collection d'événements Kafka : + +1. Ajoutez l'élément `kafka.metrics.as_events.enabled` à votre fichier de configuration `newrelic.yml` : + + ```yml + kafka.metrics.as_events.enabled: true + ``` + +2. Redémarrez votre JVM. + +3. Utilisez l'[explorateur d'événements](/docs/insights/use-insights-ui/explore-data/event-explorer-query-chart-your-event-data) pour afficher votre événement Kafka, situé dans le type d&apos;événement `KafkaMetrics` . Ou utilisez [NRQL](/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql) pour requêter directement votre événement. Par exemple: + + ```sql + SELECT average('producer-metrics.record-send-rate') from KafkaMetrics SINCE 30 minutes ago timeseries + ``` + + Si vous interrogez les métriques Kafka Streams, utilisez le type d'événement `KafkaStreamsMetrics` pour accéder aux métriques spécifiques aux flux. + + + Gardez à l’esprit que les limitations concernant le type de métriques Kafka que vous pouvez envoyer à New Relic en tant que métriques de tranche de temps s’appliquent également à événement. Autrement dit, les mesures non numériques et NaN ne sont pas incluses comme attribut d'événement. + + +## Activer les métriques du nœud Kafka [#kafka-node-metrics] + +Il existe un module d'instrumentation alternatif pour les clients Kafka qui fournira plus de granularité pour les métriques Kafka. Ce module d'instrumentation est disponible depuis l'agent 8.6.0 et est désactivé par défaut. + +Pour activer ce module d'instrumentation, vous devez désactiver le module d'instrumentation existant et activer le nouveau en ajoutant ce qui suit à votre fichier de configuration `newrelic.yml` : + +```yml +class_transformer: + kafka-clients-metrics: + enabled: false + kafka-clients-node-metrics: + enabled: true +``` + +## Activer l'événement de configuration Kafka [#kafka-config] + +Le module instrumentation `kafka-clients-config` enverra périodiquement un événement avec le contenu de votre configuration client Kafka. Ce module est disponible depuis l&apos;agent 8.6.0 et est désactivé par défaut. + +Pour activer `kafka-clients-config` ajoutez ce qui suit à votre fichier de configuration `newrelic.yml` : + +```yml +class_transformer: + kafka-clients-config: + enabled: true +``` + +## Activer les transactions Kafka Streams [#collect-kafka-streams-transactions] + +Si vous utilisez Kafka Streams, par défaut, nous n'activons pas les transactions. Cela permet d'éviter des frais généraux inutiles, car les applications Kafka ont tendance à avoir un débit élevé. + +Contrairement aux transactions JMS, les transactions Kafka Streams ne sont pas traitées par enregistrement. Au lieu de cela, une transaction commence lorsqu'un consommateur Kafka interroge les enregistrements, puis les données résultantes sont traitées. + +Si vous souhaitez créer des transactions, vous devez activer un module `kafka-streams-spans` : + +```yml +class_transformer: + kafka-streams-spans: + enabled: true +``` + +## Activer la transaction Kafka Connect [#collect-kafka-connect-transactions] + +Si vous utilisez Kafka Connect, par défaut, nous n'activons pas les transactions. Cela permet d'éviter des frais généraux inutiles, car les applications Kafka ont tendance à avoir un débit élevé. + +Les transactions Kafka Connect sont enregistrées pour chaque itération de la tâche sink/source. Pour une tâche sink, une transaction consiste à interroger un consommateur Kafka, à convertir chaque message et à envoyer des données à la cible. Pour une tâche source, une transaction consiste à lire la cible, à convertir les données en messages et à envoyer chaque message avec un producteur Kafka. + +Si vous souhaitez collecter ces transactions, vous devez activer un module `kafka-connect-spans` : + +```yml +class_transformer: + kafka-connect-spans: + enabled: true +``` + +## Activer les traces distribuées Kafka [#collect-kafka-distributed-traces] + +L'agent Java peut également collecter [des traces distribuées](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) à partir des clients Kafka. Étant donné que Kafka Streams s’exécute sur des clients Kafka, les étapes de gestion du traçage distribué s’appliquent également. L&apos;activation de la trace n&apos;affecte pas les opérations normales de l&apos;agent; il continuera à signaler les données métriques ou d&apos;événements de Kafka. + +Impacts et exigences à prendre en compte avant d’activer : + +* **The instrumentation adds a 150 to 200 byte payload to message headers.** Si vos messages Kafka sont très petits, la trace peut ajouter une surcharge de traitement et de stockage importante. Cette taille de charge utile supplémentaire peut amener Kafka à supprimer des messages s&apos;ils dépassent votre limite de taille de messagerie Kafka. Pour cette raison, nous recommandons de tester les traces distribuées Kafka dans un environnement de développement avant de les activer en production. +* Le traçage distribué n'est disponible que pour les versions client Kafka 0.11.0.0 ou supérieures. +* Si vous n’avez **pas** encore activé le traçage distribué pour votre application, lisez le [guide de transition](/docs/apm/distributed-tracing/getting-started/transition-guide-distributed-tracing) avant de l’activer. +* Pour propager le contexte de trace W3C via les en-têtes de message Kafka, consultez le [guide d'utilisation d'API de traçage distribué](/docs/agents/java-agent/api-guides/guide-using-java-agent-api#trace-calls) pour plus de détails sur API qui ont été publiées dans agent Java 6.4.0. Notez que l’ajout d’en-têtes supplémentaires aux messages Kafka augmentera encore la taille de la charge utile. Pour voir ces API en action, consultez [Utilisation des API de trace d’agent Java avec Kafka](https://github.com/newrelic/newrelic-java-examples/tree/main/newrelic-java-agent/distributed-tracing/kafka-examples). +* Si vous utilisez Kafka Streams, vous devez activer un module d'instrumentation SPAN (reportez-vous à la [section Transaction Kafka Streams](#collect-kafka-streams-transactions)). Étant donné qu&apos;une transaction n&apos;est pas enregistrée par enregistrement, l&apos;acceptation des en-têtes tracedistribués ne fonctionnera que pour un seul enregistrement. + +Le processus complet d'activation de cette fonction est décrit ci-dessous, mais à un niveau élevé, il implique les étapes de base suivantes : 1) activer le traçage via la configuration de l'agent et 2) appeler [l'API de l'agent Java](/docs/agents/java-agent/api-guides/guide-using-java-agent-api) pour instrumenter les transactions du côté du producteur et du côté du consommateur. + +Pour collecter les traces distribuées à partir de Kafka : + + + + Si vous n’avez pas encore activé le traçage distribué pour votre application, lisez le [guide de transition du traçage distribué](/docs/apm/distributed-tracing/getting-started/transition-guide-distributed-tracing) avant de l’activer. + + Pour activer le traçage distribué Kafka, ces deux paramètres doivent être activés dans votre [fichier de configuration`newrelic.yml` ](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#Structure): + + * Assurez-vous que l'élément [`distributed_tracing`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#distributed-tracing) est activé : + + ```yml + distributed_tracing: + enabled: true + ``` + + * Activez la fonctionnalité de traçage distribué spécifique à Kafka en ajoutant ce qui suit à votre fichier de configuration : + + ```yml + class_transformer: + com.newrelic.instrumentation.kafka-clients-spans-0.11.0.0: + enabled: true + ``` + + + + Pour instrumenter votre producteur Kafka, vous devrez démarrer une transaction avant tout appel à `Producer.send(ProducerRecord record)`. Pour ce faire, ajoutez l’annotation de l’agent Java `@Trace(dispatcher = true)` à la méthode. + + Par exemple: + + ```java + @Trace(dispatcher = true) + public static void createAndSend(KafkaProducer producer){ + ProducerRecord data = new ProducerRecord("topic", "key", "value"); + producer.send(data); + } + ``` + + + Si vous utilisez Kafka Streams, vous n'avez pas besoin de démarrer directement une transaction ou d'envoyer des données à un producteur. + + + + + Pour instrumenter votre consommateur Kafka, vous devrez démarrer une transaction lorsque le message est en cours de traitement. L'agent stocke l'en-tête de charge de traçage distribué sous la clé `newrelic` ou sous les clés `traceparent` et `tracestate` du W3C. Récupérez l’en-tête, puis appelez l’API de transaction New Relic pour accepter la charge utile. + + Par exemple: + + ```java + @Trace(dispatcher = true) + private static void processMessage(ConsumerRecord rec) { + // create a distributed trace headers map + Headers dtHeaders = ConcurrentHashMapHeaders.build(HeaderType.MESSAGE); + + // Iterate through each record header and insert the trace headers into the dtHeaders map + for (Header header : rec.headers()) { + String headerValue = new String(header.value(), StandardCharsets.UTF_8); + + // using the newrelic key + if (header.key().equals("newrelic")) { + dtHeaders.addHeader("newrelic", headerValue); + } + + // or using the W3C keys + if (header.key().equals("traceparent")) { + dtHeaders.addHeader("traceparent", headerValue); + } + + if (header.key().equals("tracestate")) { + dtHeaders.addHeader("tracestate", headerValue); + } + } + + // Accept distributed tracing headers to link this request to the originating request + NewRelic.getAgent().getTransaction().acceptDistributedTraceHeaders(TransportType.Kafka, dtHeaders); + } + ``` + + + Si vous avez activé les transactions avec Kafka Streams (reportez-vous à la [section Transaction Kafka Streams](#collect-kafka-streams-transactions)), même si une transaction s&apos;applique à plusieurs enregistrements, l&apos;acceptation des en-têtes tracedistribués ne s&apos;appliquera qu&apos;à un seul enregistrement. + + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/monitor-deployments-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/monitor-deployments-java-agent.mdx new file mode 100644 index 00000000000..ed8fd74ac5b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/monitor-deployments-java-agent.mdx @@ -0,0 +1,121 @@ +--- +title: moniteur déployé (agent Java) +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: 'For your New Relic-monitored Java application: how to track and monitor deployment data.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic vous permet d'envoyer des informations sur le déploiement application depuis la ligne de commande. Ensuite, vous pouvez visualiser les informations de déploiement sur la [page**Deployments** ](/docs/apm/applications-menu/events/deployments-page)de l&apos;UI: Accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; Applications &gt; (select an app) &gt; Events &gt; Deployments**. + +## installation [#Installation] + +Une partie du processus [d'installation](/docs/agents/java-agent/installation/java-agent-manual-installation) consiste à remplacer le [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name) de votre fichier `newrelic.yml` par un nom significatif. Lorsque vous exécutez le script de téléchargement de déploiement, il utilisera le nom de l&apos;application pour associer toutes les instances de l&apos;application au déploiement. Chaque fois que vous exécutez le script, il signalera un nouveau déploiement à New Relic. + +Par exemple, si vous définissez le marqueur de déploiement et exécutez le script pour envoyer 100 instances de l'application, la page **Deployments** affichera un déploiement pour l&apos;instance 100. Si vous exécutez à nouveau le script, il affichera un autre déploiement. + +Dans le cadre du processus d'installation, après avoir modifié le [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name), ajoutez cette entrée à `newrelic.yml` dans la section `common` : + +```yml +api_host: rpm.newrelic.com +``` + +les clients se connectant au data center de la région UE devront utiliser l'entrée suivante à la place : + +```yml +api_host: rpm.eu.newrelic.com +``` + +## ligne de commande [#Manual] + +Pour envoyer des informations de déploiement à New Relic depuis l'agent Java `jar`, exécutez la commande suivante depuis la ligne de commande : + +```bash +java -jar newrelic.jar deployment DEPLOYMENT_OPTIONS +``` + +Vous pouvez inclure ces valeurs facultatives avec la commande de déploiement : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Option de déploiement + + Description +
+ `--appname=NAME` + + Définissez le nom de l'application. La valeur par défaut est le paramètre [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name) de `newrelic.yml`. +
+ `--environment=NAME` + + Remplacez la propriété système [`NEW_RELIC_ENVIRONMENT`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#newrelic-environment) ou `newrelic.environment` . +
+ `--user=USER` + + Précisez l'utilisateur qui déploie le changement. +
+ `--revision=REV` + + Spécifiez la révision en cours de diffusion. +
+ `--changes` + + Lire un log des modifications à partir de l'entrée standard. Par exemple, vous pouvez canaliser le log des modifications : + + ```bash + echo "get SHA-1 34837888734" | java -jar newrelic.jar deployment DEPLOYMENT_OPTIONS --changes + ``` +
+ +## Configuration du proxy [#proxy] + +L'agent Java ne récupère pas la configuration du proxy à partir du fichier `newrelic.yml`. Recommandation : Si vous utilisez un proxy dans votre application, utilisez l’une de ces options pour enregistrer le déploiement : + +* Transmettez manuellement la configuration du proxy dans la commande Java. +* Utilisez l'[API REST New Relic v2](/docs/apm/new-relic-apm/maintenance/recording-deployments). + +## REST API [#Other] + +En plus d'utiliser la ligne de commande, vous pouvez [enregistrer le déploiement avec New Relic API ](/docs/apm/new-relic-apm/maintenance/recording-deployments)l&apos;REST v2 . \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/transaction-naming-protocol.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/transaction-naming-protocol.mdx new file mode 100644 index 00000000000..2ae88dd73d4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/transaction-naming-protocol.mdx @@ -0,0 +1,104 @@ +--- +title: Protocole de dénomination des transactions +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: An explanation of how New Relic for Java names and groups transactions in the APM UI. +freshnessValidatedDate: never +translationType: machine +--- + +Si vous utilisez New Relic pour Java avec [un framework pris en charge](/docs/java/new-relic-for-java#h2-compatibility), New Relic regroupe les transactions en fonction des noms de transaction obtenus à partir du framework. Sinon, New Relic regroupe les transactions en fonction de leur composant. Les composants sont les JSP, les servlets et les filtres invoqués pendant la transaction. + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + +## Regroupement des transactions [#components] + +L'agent Java New Relic regroupe les transactions similaires sous un seul nom. Si New Relic ne regroupait pas les transactions, chaque URI unique générerait un nom unique. Par exemple, votre application Web peut produire des URI comme : + +``` +/user/123/control_panel.jhtml +/user/456/control_panel.jhtml +/user/789/control_panel.jhtml +``` + +Sans regroupement, cela produirait trois métriques individuelles (assez dénuées de sens). C'est pourquoi New Relic tente de regrouper les transactions sous une étiquette significative. Pour plus d'informations sur le regroupement métrique, consultez [Problèmes de regroupement métrique](/docs/features/metric-grouping-issues). + +Les noms de transaction utilisent le format URI. Par exemple: + +``` +MyTransactionName +/MyTransactionName +/MyServlet/MyTransactionName +``` + +Si vous utilisez [un framework pris en charge](/docs/java/new-relic-for-java#h2-compatibility), New Relic obtient le nom de la transaction à partir du framework. Par exemple, pour Spring, le nom de la transaction provient généralement de l&apos;appel de `getViewName` sur l&apos;objet `org.springframework.web.servlet.ModelAndView` . + +Si vous n'utilisez pas un framework pris en charge, New Relic nomme une transaction en fonction de ses composants. Le nom exact de la transaction est déterminé par le composant ayant la [priorité la plus élevée](#priority). Si plusieurs composants partagent la priorité, l&apos;agent utilise le premier composant qui a été appelé. + +## Priorité de dénomination [#priority] + +New Relic attribue à chaque transaction un nom en fonction de la priorité suivante, de la priorité la plus élevée à la plus basse : + + + + L'attribut de demande et l'appel d'API ont la priorité de dénomination la plus élevée. Si une transaction possède un attribut de requête ou un appel d'API, la transaction prendra son nom à partir de là. + + Vous pouvez définir l’attribut de demande à tout moment pendant la demande Web. Si vous définissez plusieurs attributs lors d'une requête, le prénom sera utilisé. + + Cet exemple définit le nom de la transaction à l'aide d'un attribut de requête dans le `doGet` d&apos;un servlet : + + ```java + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + ... + request.setAttribute("com.newrelic.agent.TRANSACTION_NAME", "MyTransactionName"); + ... + } + ``` + + + + Vous pouvez également définir le nom de la transaction en appelant la méthode `setTransactionName` à partir de l&apos;[API de l'agent Java](/docs/java/java-agent-api). Un appel d&apos;API a la même priorité qu&apos;un attribut de requête. Si vous définissez plusieurs attributs ou faites plusieurs appels d&apos;API lors d&apos;une requête, le nom le plus récent sera utilisé. + + + + S'il n'y a pas d'attribut de demande ou d'appel d'API et que vous utilisez [un frameworkpris en charge](/docs/java/new-relic-for-java#h2-compatibility), New Relic obtient le nom de transaction à partir des composants framework . + + + + Après le framework,l'agent Java de New Relic utilisera JavaServer Pages (JSP). Un JSP obtient le nom de la transaction à partir de son nom de classe. Par exemple, si le nom de la classe du servlet JSP est `org.apache.jsp.ShowBrowser_jsp` , le nom de la transaction est `ShowBrowser.jsp`. + + + + Après les JSP, l'agent Java New Relic utilisera des servlets. Un servlet définit le nom de la transaction à partir d'un paramètre init ou du nom du servlet. Le paramètre init a une priorité plus élevée, donc les servlets avec un paramètre init ont priorité sur les servlets sans. + + Le nom du servlet et le paramètre init sont définis dans le descripteur de déploiement. Par exemple: + + SqlServlet test.SqlServlet com.newrelic.agent.TRANSACTION\_NAME MyTransactionName + + + + Les filtres de servlet ont la priorité la plus basse. Un filtre obtient le nom de la transaction soit à partir d'un paramètre init, soit à partir du nom du filtre. Le paramètre init a une priorité plus élevée, donc les filtres avec un paramètre init ont priorité sur les filtres sans. + + Le nom du filtre et le paramètre init sont définis dans le descripteur de déploiement. Par exemple: + + SqlFilter test.SqlFilter com.newrelic.agent.TRANSACTION\_NAME MyTransactionName + + Le nom du filtre est la valeur de l'élément `filter-name` . Le paramètre init est la valeur de l&apos;élément `param-value` d&apos;un élément `init-param` avec un élément `param-name` de `com.newrelic.agent.TRANSACTION_NAME`. + + + +## Désactiver la dénomination basée sur les composants [#reverting] + +Pour certaines applications, vous souhaiterez peut-être désactiver la dénomination des transactions basée sur les composants. [Définissez cette valeur dans votre fichier **newrelic.yml** ](/docs/java/java-agent-configuration#cfg-enable_auto_transaction_naming): + +```yml +enable_auto_transaction_naming: false +``` + + + À moins que vous n'implémentiez l'appel d'API pour nommer vos transactions, la désactivation de la dénomination automatique des transactions est très susceptible de provoquer [des problèmes de regroupement métrique](/docs/features/metric-grouping-issues). + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/use-rabbitmq-or-jms-message-queues.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/use-rabbitmq-or-jms-message-queues.mdx new file mode 100644 index 00000000000..16a7ecfd059 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/instrumentation/use-rabbitmq-or-jms-message-queues.mdx @@ -0,0 +1,111 @@ +--- +title: Utilisez RabbitMQ ou JMS pour le fichier d'attente des messages +tags: + - Agents + - Java agent + - Instrumentation +metaDescription: 'To troubleshoot queue operations'' performance problems, use RabbitMQ with New Relic APM for Java applications.' +freshnessValidatedDate: never +translationType: machine +--- + +Notre agent Java version 3.9.0 ou supérieure prend en charge à la fois l' [API Java Message Service (JMS) 1.1](https://docs.oracle.com/javaee/7/api/javax/jms/package-summary.html#package.description) et la [bibliothèque client Java RabbitMQ](https://www.rabbitmq.com/java-client.html). Cela vous donne des informations détaillées sur les performances de votre traitement de messages, tant pour les messages entrants que sortants. + +L'UI affichera les transactions initiées via la réception de messages JMS 1.1 ou RabbitMQ comme des tâches d&apos;arrière-plan **Message**. La création de messages via JMS ou RabbitMQ apparaît également dans la trace de transaction. + +## Exigences [#installation] + +Pour monitorer l'activité de votre client RabbitMQ , assurez-vous d'avoir téléchargé et installé [agent Java version 3.9.0 ou supérieure](/docs/release-notes/agent-release-notes/java-release-notes) de New Relic. + +Pour monitorer JMS, assurez-vous d'avoir téléchargé et installé [agent Java version 3.3.1 ou supérieure](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-331) de New Relic. + + + Pour plus RabbitMQ monitoring approfondie, nous recommandons [notre RabbitMQ intégration sur hôte](/docs/infrastructure/host-integrations/host-integrations-list/rabbitmq-monitoring-integration). + + +## Améliorations des performances avec les tâches en arrière-plan [#background] + +Une façon d’augmenter la réactivité d’une application Web est de déléguer le travail aux processus d’arrière-plan. Les fichiers d'attente des messages sont couramment utilisés pour cette communication interprocessus. + +Dans le contexte d'un système de mise en file d'attente de messages, les applications interagissent généralement avec des courtiers de messages pour envoyer et recevoir des messages. La RabbitMQ Java bibliothèque cliente permet aux Java applications de s'interfacer avec les courtiers de messages qui implémentent le protocole Advanced Message Queueing Protocol (AMQP) 0.9. + +L'agent Java de New Relic affiche les messages envoyés et reçus à l'aide de la bibliothèque client RabbitMQ et de JMS. Grâce à cette visibilité, vous pouvez voir des détails tels que : + +* Nombre de messages traités par votre application +* Temps que votre application passe à publier des messages +* Temps consacré par votre application au traitement des messages « retirés de la file d'attente » + +[Les APM](#view-queue) regroupent et signalent de manière pratique les opérations qui interagissent avec les files d&apos;attente temporaires. En analysant ces informations, vous pouvez plus facilement identifier les domaines dans lesquels les processus prennent trop de temps et peuvent être mieux traités en tant que messages d&apos;arrière-plan. + +## Opérations de file d'attente [#queue-ops] + +Les points d'entrée pris en charge pour les opérations de file d'attente apparaissent sous la forme `Put` (publier un message) ou `Take` (recevoir un message) dans l&apos;interface utilisateur d&apos;APM. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Queue operations** + + + + **Publish a message (`Put` in UI)** + + + + **Receive a message (`Take` in UI)** + +
+ RabbitMQ + + `basicPublish` + + `basicGet`, `nextDelivery`, et `handleDelivery` +
+ JMS + + `send` + + `receive`, `receiveNoWait`, et `onMessage` +
+ +## Afficher le fichier d'attente des opérations de messages [#view-queue] + +Les opérations de file d'attente apparaissent sur [la page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-dashboard)d&apos;APM pour l&apos;application sélectionnée. Les métriques `Put` et `Take` apparaissent dans **Breakdown table** et sont classées comme métriques `MessageBroker` . [Le suivi de la transaction](/docs/apm/transactions/transaction-traces/transaction-traces) peut fournir des détails supplémentaires. + +Breakdown table inside the transaction details page + +
+ Accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services** et cliquez sur votre application. Sous la section **Monitor** , cliquez sur **Transaction**, sélectionnez une transaction pour voir le tableau de répartition. +
+ +Autres endroits où les informations RabbitMQ peuvent apparaître : + +* La [page de **Transaction trace summary** ](/docs/apm/transactions/transaction-traces/transaction-traces-trace-details-page)peut afficher les opérations `Put` et `Take` dans la section **Slowest components** . +* La page de **Transaction trace** peut inclure un onglet **Messages** dédié. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/dropwizard/dropwizard-reporter.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/dropwizard/dropwizard-reporter.mdx new file mode 100644 index 00000000000..56b2e919691 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/dropwizard/dropwizard-reporter.mdx @@ -0,0 +1,27 @@ +--- +title: Journaliste Dropwizard +tags: + - Integrations + - Open source telemetry integrations + - Dropwizard +metaDescription: New Relic offers an integration that exports data from your DropWizard and sends it to your New Relic account. +freshnessValidatedDate: never +translationType: machine +--- + +[Dropwizard](https://www.dropwizard.io/en/latest/) est un Java framework permettant de développer des services Web RESTful performants et conviviaux en fournissant métrique instrumentation prête à l&apos;emploi. Le rapporteur DropWizard de New Relic envoie vos métriques Dropwizard à votre compte New Relic. + +Vous souhaitez tester notre reporter Dropwizard ? [Créez un compte New Relic](https://newrelic.com/signup) gratuitement ! Aucune carte de crédit requise. + +Ressources pour notre reporter Dropwizard : + +* [README](https://github.com/newrelic/dropwizard-metrics-newrelic) +* [Spécifications d'intégration](https://github.com/newrelic/newrelic-exporter-specs/tree/master/dropwizard) + +## Trouvez vos données + +Pour retrouver vos données, rendez-vous sur **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; All entities**. Recherchez votre service par nom. À partir de là, vous pouvez explorer vos métriques à l’aide de **Metrics and events** et créer un dashboard à l’aide de vos métriques. + +Pour en savoir plus sur la façon d'interroger vos données une fois qu'elles sont dans New Relic, consultez [Interroger vos données](/docs/using-new-relic/data/understand-data/query-new-relic-data) et [Introduction à NRQL](/docs/query-data/nrql-new-relic-query-language/getting-started/introduction-nrql). + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/kamon/kamon-reporter.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/kamon/kamon-reporter.mdx new file mode 100644 index 00000000000..57496aecc67 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/kamon/kamon-reporter.mdx @@ -0,0 +1,44 @@ +--- +title: Journaliste Kamon +tags: + - Integrations + - Open source telemetry integrations + - Kamon +metaDescription: New Relic's Kamon reporter can send telemetry data from your Kamon-instrumented applications to your New Relic account. +freshnessValidatedDate: never +translationType: machine +--- + +[Kamon](https://kamon.io/) fournit une boîte à outils instrumentation spécialisée dans instrumentation automatique des applications Scala et Akka . Il se compose d&apos;API pour l&apos;instrumentation de métrique et de traçage et de modules d&apos;instrumentation automatique qui créent des métriques d&apos;application et des traces distribuées. + +Kamon fournit également des modules reporter pour transférer les données télémétriques vers un backend de votre choix. Le reporter Kamon de New Relic est inclus dans le bundle Kamon, et vous pouvez le configurer pour envoyer des données télémétriques depuis votre application instrumentée Kamon vers votre compte New Relic . + +## Activer le reporter Kamon [#install] + +Pour activer notre reporter Kamon : + +1. Si vous ne l'avez pas déjà fait, [créez un compte New Relic](https://newrelic.com/signup). C&apos;est gratuit, pour toujours. + +2. Suivez les [instructions d'installation du reporter Kamon](https://kamon.io/docs/latest/reporters/newrelic/). + +3. Optionnel : Au lieu d'utiliser l'échantillonnage de tracenatif de Kamon, vous pouvez activer notre fonctionnalité [Infinite Tracing](/docs/introduction-infinite-tracing) . Si vous utilisez cette option, vous souhaiterez généralement configurer Kamon pour nous envoyer toutes les données de trace ([en savoir plus sur l'échantillonnage](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works)). Pour activer le traçage infini : + + 1. Dans l’UI de New Relic, [configurez un observateur de trace](/docs/infinite-tracing-set-trace-observer#set-up). + 2. Configurez notre reporter Kamon pour envoyer des données à l'observateur de trace : définissez la valeur [`span-ingest-uri`](https://kamon.io/docs/latest/reporters/newrelic/) sur [YOUR\_TRACE\_OBSERVER\_URL](/docs/infinite-tracing-set-trace-observer#ui-endpoints) dans votre bloc de configuration `kamon.newrelic` . + + + +## Trouvez vos données + +Pour retrouver vos données, rendez-vous sur **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; All entities**. Recherchez votre service par nom. Nous fournissons un aperçu prêt à l&apos;emploi qui comprend des graphiques pour certaines des métriques les plus utiles fournies par instrumentation Kamon. Si vous envoyez également des données de traçage distribué, la fonctionnalité **Distributed tracing** est disponible pour interroger et afficher la trace. + +Vous pouvez utiliser l’aperçu prêt à l’emploi comme point de départ pour créer votre propre dashboard. Cliquez sur l'icône `...` dans un graphique pour ajouter ce graphique à un dashboard ou affichez la requête derrière le graphique pour le modifier et l&apos;ajouter à votre dashboard. + +Pour en savoir plus sur la façon d'interroger vos données une fois qu'elles sont dans New Relic, consultez [Interroger vos données](/docs/using-new-relic/data/understand-data/query-new-relic-data) et [Introduction à NRQL](/docs/query-data/nrql-new-relic-query-language/getting-started/introduction-nrql). + +## Ressources + +Nos ressources pour les reporters de Kamon comprennent : + +* [Guide d'installation et de configuration](https://kamon.io/docs/latest/reporters/newrelic/) (site Kamon) +* [Spécifications d'intégration](https://github.com/newrelic/newrelic-exporter-specs/tree/master/kamon) (New Relic GitHub) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/micrometer/micrometer-metrics-registry.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/micrometer/micrometer-metrics-registry.mdx new file mode 100644 index 00000000000..e79a83f11ef --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/micrometer/micrometer-metrics-registry.mdx @@ -0,0 +1,141 @@ +--- +title: Transférer les données du micromètre vers New Relic avec OpenTelemetry +metaDescription: New Relic offers an integration that sends your Micrometer telemetry data to your New Relic account. +freshnessValidatedDate: never +translationType: machine +--- + +New Relic prend en charge [les données Micrometer](https://micrometer.io/) afin que vous puissiez visualiser toutes vos métriques d&apos;observabilité sur une seule plateforme. Vous configurerez le [pont OpenTelemetry Micrometer](https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/micrometer/micrometer-1.5/library) avec le SDK OpenTelemetry, puis utiliserez le protocole OpenTelemetry (OTLP) pour transmettre vos données Micrometer à New Relic. + +A screenshot of the Micrometer summary page when instrumented with OpenTelemetry + +
+ Accédez à **[one.newrelic.com](https://one.newrelic.com) &gt; All Capabilities &gt; APM &amp; Services**, puis recherchez la section **Services - OpenTelemetry** : Affichez vos données Micrometer dans New Relic lorsqu&apos;elles sont reliées via OpenTelemetry +
+ +## Compatibilité et exigences [#requirements] + +Avant de suivre ces procédures, vous devez : + +* Configurer le SDK OpenTelemetry Métriques pour [exporter des données vers New Relic via OTLP](/docs/more-integrations/open-source-telemetry-integrations/opentelemetry/opentelemetry-introduction/#how-it-works) +* Installer le pont micrométrique OpenTelemetry + +## Transférer les données du micromètre vers New Relic [#forward-data-OpenTelemetry] + +Voici les étapes généralisées pour configurer le transfert des métriques Micrometer. Vous souhaiterez peut-être mettre à jour l'extrait de code si nécessaire pour l'adapter à votre environnement spécifique. + + + + ### Ajouter l'instrumentation OpenTelemetry Micrometer + + Ajoutez l'instrumentation OpenTelemetry Micrometer à la section des modules alpha de votre fichier `build.gradle` : + + ```groovy + //Alpha modules + implementation 'io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5' + ``` + + + + ### Ajouter la dépendance OpenTelemetry + + Dans la section `dependencies` , ajoutez le SDK OpenTelemetry et l&apos;exportateur OTLP : + + ```groovy + dependencies { + implementation 'io.opentelemetry:opentelemetry-sdk' + implementation 'io.opentelemetry:opentelemetry-exporters-otlp' + } + ``` + + Un exemple de fichier avec des modules alpha et des dépendances ajoutés pourrait ressembler à ceci : + + ```groovy + plugins { + id 'java-library' + id 'org.springframework.boot' + } + + bootRun { + mainClass.set 'io.opentelemetry.example.micrometer.Application' + } + + dependencies { + implementation platform("io.opentelemetry:opentelemetry-bom-alpha:JAVA_OTEL_VERSION") + implementation 'io.opentelemetry:opentelemetry-sdk' + implementation 'io.opentelemetry:opentelemetry-exporters-otlp' + + implementation platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:OTEL_JAVA_INSTRUMENTATION_VERSION") + implementation 'io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5' + } + ``` + + Gardez à l’esprit que vous devrez mettre à jour l’ snippet avec le versionnement correct. + + + + ### Configurer Micrometer pour transférer des données vers New Relic + + Vous trouverez ci-dessous un exemple de snippet de code qui indique à Micrometer d'utiliser le pont OpenTelemetry Micrometer. + + Cet snippet met à jour votre code afin OpenTelemetry puisse détecter les données Micrometer, puis transmettre ces données à New Relic: + + ```java + public OpenTelemetry openTelemetry() { + return OpenTelemetrySdk.builder() + .setMeterProvider( + SdkMeterProvider.builder() + .setResource( + Resource.getDefault() + .toBuilder() + .put("service.name", "micrometer-shim") + // Include instrumentation.provider=micrometer to enable + // micrometer metrics experience in New Relic + .put("instrumentation.provider", "micrometer") + .build()) + .registerMetricReader( + PeriodicMetricReader.builder( + OtlpHttpMetricExporter.builder() + .setEndpoint("https://otlp.nr-data.net/v1/metrics") + .addHeader("api-key", + Optional + .ofNullable(System.getenv("NEW_RELIC_LICENSE_KEY")) + .filter(str -> !str.isEmpty() && !str.isBlank()) + .orElseThrow()) + // IMPORTANT: New Relic exports data using delta + // temporality rather than cumulative temporality + .setAggregationTemporalitySelector( + AggregationTemporalitySelector + .deltaPreferred()) + // Use exponential histogram aggregation for + // histogram instruments to produce better data + // and compression + .setDefaultAggregationSelector( + DefaultAggregationSelector.getDefault().with( + InstrumentType.HISTOGRAM, + Aggregation.base2ExponentialBucketHistogram())) + .build()) + // Match default micrometer collection interval of 60 + // seconds + .setInterval(Duration.ofSeconds(60)) + .build()) + .build()) + .build(); + } + ``` + + + + ### Retrouvez vos données dans New Relic + + Attendez quelques minutes, déclenchez des données de test, puis accédez à **[one.newrelic.com](https://one.newrelic.com) &gt; All Capabilities &gt; APM &amp; Services**, puis recherchez **Services - OpenTelemetry** pour choisir le service instrumenté avec Micrometer. + + + +## Quelle est la prochaine étape ? [#whats-next] + +Pour en savoir plus sur l'utilisation de New Relic avec les données Micrometer, nous vous recommandons ces documents : + +* Apprenez à créer [des visualisations personnalisées avec un dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards) +* [Configurer des alertes](/docs/tutorial-create-alerts/create-an-alert) pour suivre les performances du système +* [Interrogez vos données avec NRQL](/docs/nrql/get-started/introduction-nrql-how-nrql-works) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-eventbus-integration.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-eventbus-integration.mdx new file mode 100644 index 00000000000..0b322284916 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-eventbus-integration.mdx @@ -0,0 +1,164 @@ +--- +title: Java Vert.x événement Intégration de bus +tags: + - nrlabs + - nrlabs-data + - apm + - java + - vertx + - vert.x + - eventbus + - expert services +metaDescription: Provides instrumentation for monitoring the Vert.x Event Bus. +freshnessValidatedDate: never +translationType: machine +--- + +[Java Vert.x événement L'intégration de Bus](https://github.com/newrelic/newrelic-java-vertx/tree/main) fournit instrumentation pour monitoring le (Vert.x)\[[https://vertx.io/](https://vertx.io/)] événement Bus, permettant le suivi du flux d&apos;événements à travers le bus. Spécialement conçu pour Vert.x Verticles qui étendent` AbstractVerticle`, cet instrument d&apos;extension déploie chaque classe pour monitorer toutes les méthodes sauf celles spécifiquement définies par `AbstractVerticle`. + +## Méthodes prises en charge + +L'intégration suit ou exclut les métriques. Voici une liste de chacun : + +Méthodes suivies : + +* Méthodes facilitant le suivi du flux d'événements +* Méthodes qui améliorent la visibilité sur le comportement et les performances application . + +Méthodes exclues : + +* Méthodes spécifiques de cycle de vie et de configuration (`start`, `stop`, `rxStart`, `rxStop`, `config`, `deploymentID`, `getVertx`, `init`, `processArgs`) + +## Installer l'agent Java + +L'agent Java APM doit être installé pour configurer les extensions Java Vert.x.Suivez les instructions pour [installer l'agent Java APM](https://docs.newrelic.com/install/java/). + +Une fois l'agent Java APM installé et configuré pour votre application, créez un dossier `extensions` sous le répertoire `newrelic` s&apos;il n&apos;existe pas déjà : + +```bash +# Open your Java APM Agent installation location and create 'extensions' folder ( if it is not existing) +cd path/to/newrelic +mkdir extensions +``` + +## Installer et configurer Java Vert.x événement Intégration de bus [#install] + + + + + curl + + + + Powershell + + + + Web + + + + + + Pour installer et configurer Java Vert.x événement Bus intégration, suivez ces étapes : + + * Mettez à jour l’emplacement du dossier `extensions` de l’agent Java APM dans le script bash fourni. + * Copiez les commandes mises à jour dans un script bash `install_vertx_integration.sh`. + * Exécutez le script pour intégrer Java Vert.x événement monitoring du bus avec New Relic APM. + + ```sh + #!/bin/bash + + # Define variables + apiUrl="https://api.github.com/repos/newrelic/newrelic-java-vertx/releases/latest" + tempZipPath="/tmp/latest.zip" + tempExtractPath="/tmp/Extracted" + extensionsDir="/path/to/newrelic/extensions" + + # Retrieve the download URL for the latest release ZIP file + downloadUrl=$(curl -s "$apiUrl" | grep -o "browser_download_url.*\.zip" | cut -d '"' -f 3) + + echo $downloadUrl + + # Check if the download URL is empty or invalid + if [ -z "$downloadUrl" ]; then + echo "Failed to retrieve download URL. Exiting." + exit 1 + fi + + # Download the latest release ZIP file + curl -L -o "$tempZipPath" "$downloadUrl" + + # Check if the ZIP file was downloaded successfully + if [ ! -f "$tempZipPath" ]; then + echo "Failed to download the ZIP file. Exiting." + exit 1 + fi + + # Create a temporary extraction folder + mkdir -p "$tempExtractPath" + + # Extract the contents of the ZIP file to the temporary folder + unzip -q "$tempZipPath" -d "$tempExtractPath" + + # Check if the extraction was successful + if [ $? -ne 0 ]; then + echo "Failed to extract the ZIP file. Exiting." + exit 1 + fi + + # Copy all .jar files to the Java APM Agent 'extensions' directory + find "$tempExtractPath" -name "*.jar" -exec cp {} "$extensionsDir" \; + + # Clean up temporary files + rm "$tempZipPath" + rm -r "$tempExtractPath" + + echo "Installation completed successfully." + ``` + + + + Pour installer et configurer Java Vert.x événement Bus intégration, suivez ces étapes : + + * Mettez à jour l’emplacement du dossier « extensions » de l’agent Java APM dans les commandes PowerShell fournies. + + ```sh + # Define variables + $apiUrl = "https://api.github.com/repos/newrelic/newrelic-java-vertx/releases/latest" + $tempZipPath = "C:\Temp\latest.zip" + $tempExtractPath = "C:\Temp\Extracted" + $extensionsDir = "C:\Path\To\newrelic\extensions" + + # Download the latest release ZIP file from GitHub + $response = Invoke-WebRequest -Uri $apiUrl + $downloadUrl = ($response.Content | ConvertFrom-Json).assets[0].browser_download_url + Invoke-WebRequest -Uri $downloadUrl -OutFile $tempZipPath + + # Extract the contents of the ZIP file to a temporary folder + New-Item -ItemType Directory -Path $tempExtractPath -Force + Expand-Archive -Path $tempZipPath -DestinationPath $tempExtractPath + + # Copy all .jar files to the Java APM Agent 'extensions' directory + Get-ChildItem -Path $tempExtractPath -Filter "*.jar" | Copy-Item -Destination $extensionsDir + + # Clean up temporary files + Remove-Item -Path $tempZipPath -Force + Remove-Item -Path $tempExtractPath -Recurse -Force + + ``` + + + + Depuis [Java Vert.x événement Bus intégration sortie](https://github.com/newrelic/newrelic-java-vertx/releases/), téléchargez `vertx-instrumentation-vx.y.z.zip` dans un répertoire temporaire et décompressez-le.Copiez tous les fichiers « jar » dans le dossier « extensions » de l&apos;agent New Relic Java APM. + + + + +## Vérifiez votre intégration + +Après avoir configuré Java Vert.x événement Intégration Bus, vous pouvez visualiser le de application votre Vert.x événement Transactions de bus et trace directement dans New Relic APM et Services. + +## Problèmes d'intégration des rapports + +Si vous rencontrez des problèmes avec Java Vert.x événement Bus intégration, merci de les signaler sur le [référentiel GitHub](https://github.com/newrelic/newrelic-java-vertx/issues). Vos commentaires nous aident à identifier et à résoudre rapidement les problèmes, garantissant ainsi une expérience monitoring fluide et fiable pour Vert.x application. Merci de contribuer à l&apos;amélioration de notre intégration. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-extensions-integration.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-extensions-integration.mdx new file mode 100644 index 00000000000..ff01feb0c47 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/related-integrations/vertx/vertx-extensions-integration.mdx @@ -0,0 +1,163 @@ +--- +title: New Relic Java Instrumentation pour Vert.x Extensions +tags: + - nrlabs + - nrlabs-data + - apm + - java + - vertx + - vert.x + - sql + - kafka + - mssql + - postgres + - oracle + - db2 + - cassandra + - jdbc + - redis + - rabbitmq + - rxjava + - mongodb + - reactive + - coroutines + - expert services +metaDescription: 'provides instrumentation for monitoring the Vert.x Cassandra, JDBCClient, Coroutines, Kafka, RxJava, SQL Clients, Redis, MongoDB, Reactive and Service Proxy.' +freshnessValidatedDate: never +translationType: machine +--- + +[L'instrumentationJava pour les extensions Vert.x ](https://github.com/newrelic/newrelic-java-vertx-extensions/tree/main)fournit instrumentation pour monitoring Vert.x Cassandra, JDBCClient, Coroutines, Kafka, RxJava, Clients SQL, Redis, MongoDB, Reactive et Service Proxy. + +## Installer l'agent Java + +L'agent Java APM doit être installé pour configurer les extensions Java Vert.x Suivez les instructions pour [installer l'agent Java APM](https://docs.newrelic.com/install/java/) + +Une fois l'agent Java APM installé et configuré pour votre application, créez un dossier `extensions` sous le répertoire `newrelic` s&apos;il n&apos;existe pas déjà : + +```bash +# Open your Java APM Agent installation location and create 'extensions' folder ( if it is not existing) +cd path/to/newrelic +mkdir extensions +``` + +## Installer et configurer l'instrumentation Java pour Vert.x Extensions [#install] + + + + + curl + + + + Powershell + + + + Web + + + + + + Pour installer et configurer l'instrumentation Java pour Vert.x Extensions, suivez ces étapes : + + * Mettez à jour l’emplacement du dossier `extensions` de l’agent Java APM dans le script bash fourni. + * Copiez les commandes mises à jour dans un script bash, `install_vertx_integration.sh`. + * Exécutez le script pour intégrer l'instrumentation Java pour Vert.x Extensions avec New Relic APM. + + ```sh + #!/bin/bash + + # Define variables + apiUrl="https://api.github.com/repos/newrelic/newrelic-java-vertx-extensions/releases/latest" + tempZipPath="/tmp/latest.zip" + tempExtractPath="/tmp/Extracted" + extensionsDir="/path/to/newrelic/extensions" + + # Retrieve the download URL for the latest release ZIP file + downloadUrl=$(curl -s "$apiUrl" | grep -o "browser_download_url.*\.zip" | cut -d '"' -f 3) + + echo $downloadUrl + + # Check if the download URL is empty or invalid + if [ -z "$downloadUrl" ]; then + echo "Failed to retrieve download URL. Exiting." + exit 1 + fi + + # Download the latest release ZIP file + curl -L -o "$tempZipPath" "$downloadUrl" + + # Check if the ZIP file was downloaded successfully + if [ ! -f "$tempZipPath" ]; then + echo "Failed to download the ZIP file. Exiting." + exit 1 + fi + + # Create a temporary extraction folder + mkdir -p "$tempExtractPath" + + # Extract the contents of the ZIP file to the temporary folder + unzip -q "$tempZipPath" -d "$tempExtractPath" + + # Check if the extraction was successful + if [ $? -ne 0 ]; then + echo "Failed to extract the ZIP file. Exiting." + exit 1 + fi + + # Copy all .jar files to the Java APM Agent 'extensions' directory + find "$tempExtractPath" -name "*.jar" -exec cp {} "$extensionsDir" \; + + # Clean up temporary files + rm "$tempZipPath" + rm -r "$tempExtractPath" + + echo "Installation completed successfully." + ``` + + + + Pour installer et configurer l'instrumentation Java pour Vert.x Extensions, suivez ces étapes : + + * Mettez à jour l'emplacement du dossier « extensions » de l'agent Java APM dans les commandes PowerShell fournies : + + ```sh + # Define variables + $apiUrl = "https://api.github.com/repos/newrelic/newrelic-java-vertx-extensions/releases/latest" + $tempZipPath = "C:\Temp\latest.zip" + $tempExtractPath = "C:\Temp\Extracted" + $extensionsDir = "C:\Path\To\newrelic\extensions" + + # Download the latest release ZIP file from GitHub + $response = Invoke-WebRequest -Uri $apiUrl + $downloadUrl = ($response.Content | ConvertFrom-Json).assets[0].browser_download_url + Invoke-WebRequest -Uri $downloadUrl -OutFile $tempZipPath + + # Extract the contents of the ZIP file to a temporary folder + New-Item -ItemType Directory -Path $tempExtractPath -Force + Expand-Archive -Path $tempZipPath -DestinationPath $tempExtractPath + + # Copy all .jar files to the Java APM Agent 'extensions' directory + Get-ChildItem -Path $tempExtractPath -Filter "*.jar" | Copy-Item -Destination $extensionsDir + + # Clean up temporary files + Remove-Item -Path $tempZipPath -Force + Remove-Item -Path $tempExtractPath -Recurse -Force + ``` + + + + À partir de [l'instrumentationJava pour les extensions Vert.x sortie](https://github.com/newrelic/newrelic-java-vertx-extensions/releases/), téléchargez `vertx-instrumentation-vx.y.z.zip` dans un répertoire temporaire et décompressez-le. Copiez tous les fichiers `jar` dans le dossier `extensions` de l&apos;agent New Relic Java APM. + + + + +## Vérifiez votre intégration + +Après avoir configuré l'instrumentation Java pour Vert.x Extensions, vous pouvez visualiser application Vert.x les transactions des extensions de votre et les tracer directement dans New Relic APM et Services. + +## Problèmes d'intégration des rapports + +Si vous rencontrez des problèmes avec l'instrumentation Java pour Vert.x Extensions, merci de les signaler sur le [référentiel GitHub](https://github.com/newrelic/newrelic-java-vertx-extensions/issues). Vos commentaires nous aident à identifier et à résoudre rapidement les problèmes, garantissant ainsi une expérience monitoring fluide et fiable pour Vert.x application. Merci de contribuer à l&apos;amélioration de notre intégration ! \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/all-hosts-appear-localhost.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/all-hosts-appear-localhost.mdx new file mode 100644 index 00000000000..7b128cf8571 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/all-hosts-appear-localhost.mdx @@ -0,0 +1,19 @@ +--- +title: Tous les hôtes apparaissent comme localhost +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'If all your hosts appear as localhost in New Relic, try adding a host entry for each machine in /etc/hosts for your Java configuration.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Tous vos hôtes apparaissent comme `localhost`. + +## Solution + +Essayez d’ajouter une entrée d’hôte pour chaque machine dans `/etc/hosts` pour votre configuration Java. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/application-server-jmx-setup.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/application-server-jmx-setup.mdx new file mode 100644 index 00000000000..0e9f193fce9 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/application-server-jmx-setup.mdx @@ -0,0 +1,104 @@ +--- +title: configuration du serveur d'applications JMX +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Dans APM, l'onglet **Threads** de la [page**JVMs** ](/docs/agents/java-agent/features/jvm-metrics-page)affiche différentes métriques JMX prises en charge par votre serveur application , telles que les threads actifs, inactifs et totaux. Pour voir les métriques dans l&apos;onglet **Threads**, vous devez activer les rapports JMX sur votre serveur application . + +Si le reporting JMX n'est pas activé, vous verrez un onglet **Threads** vide avec un lien vers la documentation pertinente pour votre serveur application pour activer JMX. + +## Solution + +Pour résoudre le problème, lisez les sections suivantes en fonction de votre serveur application : + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications JBoss. Si vous avez modifié les paramètres par défaut, consultez : + + * [JBoss EAP 6.0](https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Administration_and_Configuration_Guide/index.html) + * [JBoss AS 7.1](https://docs.jboss.org/author/display/AS71/Admin%20Guide.html#8094211_AdminGuide-JMX) + * [JBoss AS 6](https://docs.jboss.org/jbossas/6/Admin_Console_Guide/en-US/html/) + + + + Pour activer la prise en charge locale de JMX sur les serveurs d’applications Jetty , configurez le MBeanContainer avec le fichier **etc/jetty-jmx.xml**. Pour plus d&apos;informations, voir : + + * [Jetty 7 et 8](http://wiki.eclipse.org/Jetty/Tutorial/JMX) + * [Jetty 9](http://www.eclipse.org/jetty/documentation/current/jmx-chapter.html) + + + + Bien que la prise en charge locale de JMX soit activée par défaut sur les serveurs d'applications Glassfish , les MBeans qui fournissent réellement des informations métriques sont définis par défaut sur `OFF`. Pour que les métriques appropriées soient collectées par le serveur application , les composants suivants doivent être définis dans le **Monitoring Service**: + + * [Glassfish 4.x](https://glassfish.java.net/docs/4.0/administration-guide.pdf): les composants Conteneur Web, Service HTTP et Service de transaction doivent être définis sur le niveau monitoring ÉLEVÉ. + * [Glassfish 3.1](http://docs.oracle.com/cd/E18930_01/html/821-2416/ablur.html): les composants Conteneur Web, Service HTTP et Service de transaction doivent être définis sur le niveau monitoring ÉLEVÉ. + * [Glassfish 3.0](http://docs.oracle.com/cd/E19798-01/821-1751/ablvr/index.html): les composants Conteneur Web, Pool de threads et Service de transaction doivent être définis sur le niveau monitoring BAS. + * [Glassfish 2.1](http://docs.oracle.com/cd/E19879-01/820-4335/ablur/index.html): les composants Conteneur Web, Pool de threads et Service de transaction doivent être définis sur le niveau monitoring BAS. + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications Resin . Si vous avez modifié les paramètres par défaut, consultez : + + * [Resin 3.1](http://www.caucho.com/resin-3.1/doc/resin-admin.xtp#JMXInstrumentingBeans) + * [Resin 4.0](http://www.caucho.com/resin-4.0/admin/advanced-jmx.xtp) + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications Tomcat . Si vous avez modifié les paramètres par défaut, consultez : + + * [Tomcat 5.5](http://tomcat.apache.org/tomcat-5.5-doc/monitoring.html) + * [Tomcat 6](http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html) + * [Tomcat 7](http://tomcat.apache.org/tomcat-7.0-doc/monitoring.html) + * [Tomcat 8](https://tomcat.apache.org/tomcat-8.0-doc/monitoring.html) + * [Tomcat 9](http://tomcat.apache.org/tomcat-9.0-doc/monitoring.html) + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications TomEE. Si vous avez modifié les paramètres par défaut, consultez : + + * [TomEE 1.5](http://tomee.apache.org/documentation.html) + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications WebLogic. Si vous avez modifié les paramètres par défaut, consultez : + + * [WebLogic 12](http://docs.oracle.com/cd/E24329_01/web.1211/e24415/toc.htm) + * [WebLogic 11](http://docs.oracle.com/cd/E23943_01/web.1111/e13728/toc.htm) + * [WebLogic 10](http://docs.oracle.com/cd/E12840_01/wls/docs103/jmx/index.html) + + + + La prise en charge locale de JMX est **disabled** sur les serveurs d’applications WebSphere par défaut. Pour plus d&apos;informations, voir : + + * [WebSphere 9](https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.0/com.ibm.websphere.base.doc/ae/csec_rsecmgr2.html) + + * [WebSphere 8.5](https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/csec_rsecmgr2.html) + + * [WebSphere 7](https://www.ibm.com/support/knowledgecenter/SSEQTP_7.0.0/com.ibm.websphere.base.doc/info/aes/ae/csec_rsecmgr2.html) + + Et la documentation New Relic associée : + + * [Activer les métriques WebSphere PMI](/docs/agents/java-agent/features/jvm-metrics-page#default-pmi) + + + + La prise en charge locale de JMX est **disabled** sur les serveurs d&apos;applications WebSphere Liberty par défaut. Pour plus d&apos;informations, voir : + + * [WebSphere 16+](https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/cwlp_java2security.html) + * [WebSphere 8.5](https://www.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/cwlp_java2security.html) + + + + La prise en charge locale de JMX est activée par défaut sur les serveurs d'applications WildFly. Si vous avez modifié les paramètres par défaut, consultez : + + * [WildFly 21.0.0](https://docs.wildfly.org/21/Admin_Guide.html#JMX) + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/classloading-issues-from-jboss-and-wildfly.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/classloading-issues-from-jboss-and-wildfly.mdx new file mode 100644 index 00000000000..effd8d8d745 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/classloading-issues-from-jboss-and-wildfly.mdx @@ -0,0 +1,186 @@ +--- +title: Problèmes de chargement de classe de JBoss et Wildfly +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'If you are running an app using JBoss/Wildfly, you may get incomplete or incorrect telemetry due to classloading issues with classes the agent use if you use Finest level logs. Your application may even fail to start up. Usually this is resolved by upgrading the agent, setting certain system properties, or through manually configuring module dependencies.' +freshnessValidatedDate: '2023-09-07T00:00:00.000Z' +translationType: machine +--- + +Ce document vous guide à travers deux problèmes associés à leurs solutions liés au chargement de classes à partir de JBoss EAP/Wildfly. + +## Télémétrie incomplète de l'agent [#problem-incomplete-telemetry] + +### Problème [#incomplete-telemetry-desc] + +Vous remarquez une télémétrie incomplète provenant d'une application utilisant JBoss EAP 7.4 (ou supérieur) ou Wildfly 23 (ou supérieur). Une télémétrie incomplète pourrait ressembler à : + +* requests Web sont traduites en transactions non Web +* Votre nom de répartiteur est incorrect + +Si vous définissez votre log à l'aide du niveau de log `Finest` et trouvez `NoClassDefFoundError` et `ClassNotFoundException` traces d&apos;appels, cela indique un problème avec le fonctionnement du chargement de classe avec JBoss EAP et Wildfly. + +L'agent peut instrumenter une classe spécifique dans une application à l'aide de JBoss, mais les classes modifiées peuvent utiliser des packages et des modules qui ne sont pas reconnus par JBoss EAP/Wildfly. Le résultat est que le chargeur de classe du module de JBoss ne peut pas trouver de classes spécifiques, ce qui génèrera un `NoClassDefFoundError`. + +Même si votre application fonctionne toujours, les données envoyées par l'agent seront incorrectes ou incomplètes. Depuis la version 8.6 agent , l'agent Java peut faire reconnaître par JBoss certains packages en les faisant charger par le classloader système. Cela permet à l'instrumentation Wildfly/JBoss EAP de fonctionner immédiatement, mais le ClassLoader peut toujours renvoyer `ClassNotFoundException` ou `NoClassDefFoundError`. + +### Solution [#solution-incomplete] + +Lorsque vous définissez le agent niveau de log `Finest`sur, recherchez les traces d&apos;appels contenant `NoClassDefFoundError` dans votre agent fichier de log. + +Voici un exemple de cette erreur apparaissant dans le package `java.util.logging` même si cet exemple a été corrigé dans la version 8.6 : + +``` +2022-02-01T11:59:16,167-0800 [97709 221] com.newrelic.agent.instrumentation.ClassTransformerServiceImpl FINEST: An error was thrown from instrumentation library com.newrelic.instrumentation.servlet-2.4 +java.lang.NoClassDefFoundError: java/util/logging/Level + at com.nr.instrumentation.servlet24.ServletHelper.setTxNameUsingServletName(ServletHelper.java:187) ~[?:?] + at com.nr.instrumentation.servlet24.ServletHelper.setTransactionName(ServletHelper.java:96) ~[?:?] + at javax.servlet.http.HttpServlet.service(HttpServlet.java) ~[?:?] + at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[?:?] + at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[?:?] + at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[?:?] + at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[?:?] + at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) ~[?:?] + at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[?:?] + at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) ~[?:?] + at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[?:?] + at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[?:?] + at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) ~[?:?] + at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) ~[?:?] + at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) ~[?:?] + at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[?:?] + at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105) ~[?:?] + at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?] + at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?] + at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?] + at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530) ~[?:?] + at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99) [undertow-servlet-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841) [undertow-core-2.2.5.Final-redhat-00001.jar!/:2.2.5.Final-redhat-00001] + at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001] + at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001] + at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001] + at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377) [jboss-threads-2.4.0.Final-redhat-00001.jar!/:2.4.0.Final-redhat-00001] + at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280) [xnio-api-3.8.4.Final-redhat-00001.jar!/:3.8.4.Final-redhat-00001] + at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312] +Caused by: java.lang.ClassNotFoundException: java.util.logging.Level from [Module "io.undertow.servlet" version 2.2.5.Final-redhat-00001 from local module loader @7ce85af2 (finder: local module finder @316acbb5 (roots: /Users/obenmeir/AppServers/jboss-eap-7.4/modules,/Users/obenmeir/AppServers/jboss-eap-7.4/modules/system/layers/base))] + at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255) ~[?:?] + at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410) ~[?:?] + at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) ~[?:?] + at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116) ~[?:?] + ... 22 more +``` + +Vous trouverez ci-dessous trois solutions potentielles pour cette erreur. + +#### Correction 1 : mettez à niveau votre agent [#telemetry-fix-1] + +Assurez-vous que votre agent Java est en version `8.6` ou supérieure. + +#### Correction 2 : marquer le package à charger par le chargeur de classes système » [#telemetry-fix-2] + +Étant donné que la classe `java.util.logging.Level` est à l’origine de l’erreur, nous devons définir une propriété système appelée `jboss.modules.system.pkgs`. Cela permet à JBoss de reconnaître toutes les classes du package `java.util.logging` comme un package système. De telles classes sous le package espace de nommage seront chargées par un chargeur de classes système plutôt que par le chargeur de classes de JBoss. + +Pour résoudre ce problème, définissez la propriété système en ajoutant une liste séparée par des virgules des packages Java que vous souhaitez que JBoss reconnaisse. Par exemple : `Djboss.modules.system.pkgs=java.util.logging,javax.management`. + +#### Correction 3 : configurer manuellement les modules JBoss [#telemetry-fix-3] + +L’un des problèmes avec les correctifs précédents est que certains packages ne sont pas disponibles via le chargeur de classes système. Un cas ici est celui du package `javax.management` . Par conséquent, votre application peut ne pas démarrer ou ne pas fonctionner correctement en raison de cas de `ClassNotFoundException` . + +Dans ce cas, vous devez configurer manuellement les modules JBoss concernés qui sont mentionnés dans le log de votre agent . Pour notre scénario, nous continuerons avec `java.util.logging`, qui fait partie du module `java.logging` . D&apos;après la stacktrace, nous voyons que le module JBoss affecté est `io.undertow.servlet`. + +Nous pouvons trouver le fichier de configuration d'un module JBoss spécifique sur votre serveur JBoss en procédant comme suit : + +1. Allez dans le chemin relatif `modules/system/layers/base`. +2. Entrez le chemin du fichier en fonction du nom du module. Dans le cas de `io.undertow.servlet`, cela se traduit par `io/undertow/servlet`. +3. Allez dans le fichier sous le chemin `main/module.xml`. Le chemin relatif complet du fichier de configuration `io.undertow.servlet` est `modules/system/layers/base/io/undertow/servlet/main/module.xml`. +4. Dans le fichier XML, modifiez le corps de la tag `` à l&apos;intérieur de la tag ``. Si la tag n&apos;est pas là, ajoutez-la. +5. À l'intérieur de la tag ``, ajoutez l&apos;élément ``. Pour `java.util.logging`, l&apos;élément devient ``. + +Vous trouverez ci-dessous un exemple XML pour `io.undertow.servlet`: + +```xml lineHighlight=7 + + + + + + + + + + + + + + + + + + +``` + +Répétez ces étapes pour tous les modules concernés. + +## L'application ne démarre pas ou présente d'autres problèmes de chargement de classe [#problem-application-runtime] + +### Problème [#start-up-fails] + +Il s'agit de la solution si votre agent Java est en version `8.6` ou supérieure et que vous utilisez l&apos;API de gestion Jakarta/J2EE (JSR-777), mais que votre application ne parvient pas à démarrer. Dans ce instance, vous verrez des cas de `ClassNotFoundException` où le nom package inclus dans la classe est `javax.management.j2ee` + +### Solution [#solution-runtime] + +Si vous avez mis à niveau l'agent Java vers `8.6` ou une version supérieure, votre application risque de ne pas démarrer si vous utilisez l&apos;API de gestion Jakarta/J2EE. La solution à ce problème consiste à mettre à niveau votre agent vers `8.7` ou une version supérieure, puis à ajouter la propriété système : + +``` +-Dcom.newrelic.jboss.jsr77.fix=true +``` + +La conséquence de la définition de la propriété système sur `true` est que l’agent n’étiquetera pas `javax.management` comme une classe système. Par conséquent, vous aurez besoin d&apos;une configuration supplémentaire. Suivez ces étapes : + +1. Modifiez le fichier XML en allant dans `modules/system/layers/base/io/undertow/servlet/main/module.xml`. +2. Recherchez le corps de la tag `` à l&apos;intérieur de la tag ``. Si la tag n&apos;est pas là, ajoutez-la. +3. À l'intérieur de la tag ``, ajoutez l&apos;élément ``. + +Voici un exemple snippet XML pour JBoss EAP 7.4 : + +```xml lineHighlight=16 + + + + + + + + + + + + + + + + + + +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/determine-permissions-requirements-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/determine-permissions-requirements-java.mdx new file mode 100644 index 00000000000..669c992aaa8 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/determine-permissions-requirements-java.mdx @@ -0,0 +1,31 @@ +--- +title: Déterminer les exigences en matière d'autorisations (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: System permissions you need to install and use the New Relic PHP agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous devez déterminer les autorisations système dont vous avez besoin pour installer et utiliser l'agent Java New Relic. + +## Solution + +Le propriétaire du processus doit répondre aux exigences d’autorisation suivantes pour Java : + +1. Le propriétaire du processus Java auquel l'option `-javaagent` sera transmise doit disposer des autorisations de lecture pour le JAR de l&apos;agent Java. C&apos;est parce que **Java** est ce qui est **executed**, et Java a besoin de **read** le `newrelic.jar`. + +2. Le propriétaire du processus requiert des autorisations d'écriture/d'exécution pour le répertoire dans lequel le répertoire log sera créé et des autorisations d'exécution pour tous les répertoires parents du répertoire log . Ce répertoire parent peut être l'un des suivants : + + * Le répertoire dans lequel se trouve le `newrelic.jar` . Il s&apos;agit de l&apos;emplacement par défaut dans lequel l&apos;agent Java de New Relic créera son répertoire de journaux. + * L'emplacement spécifié par la propriété système [`log_file_path`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-log_file_path) est également transmis à la JVM + * `StdOut` si vous avez spécifié cet emplacement avec la variable d&apos;environnement [`NEW_RELIC_LOG`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#ev-NEW_RELIC_LOG) + + Si le New Relic répertoire Logs **already exists** est, le propriétaire du processus doit avoir un accès en écriture/exécution dans ce répertoire afin que le processus Java puisse traverser le répertoire et créer le agent fichier de Java log. + +3. Le propriétaire du processus doit disposer d'un accès en écriture/exécution au répertoire temporaire du processus Java. Il peut s'agir du répertoire par défaut pour les fichiers Java temporaires (spécifiés à l'échelle du système), ou il peut s'agir d'un répertoire spécifique au processus, en particulier si vous exécutez un serveur application , car ceux-ci spécifient et configurent souvent un emplacement de répertoire temporaire discret. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/error-bootstrapping-new-relic-java-agent.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/error-bootstrapping-new-relic-java-agent.mdx new file mode 100644 index 00000000000..c253b652d34 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/error-bootstrapping-new-relic-java-agent.mdx @@ -0,0 +1,111 @@ +--- +title: Erreur de démarrage de l'agent Java de New Relic +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: Troubleshooting tips if you see an "Error bootstrapping New Relic agent" message with your Java app. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous démarrez un Java processus exécuté avec l'agent Java de New Relic, mais les [données ne parviennent pas à être signalées](/docs/agents/java-agent/troubleshooting/no-data-appears-java) à l&apos;UI APM. Vous voyez un message `Error bootstrapping New Relic agent` dans la trace d&apos;appels dans votre log d&apos;application. + + + Le message `Error bootstrapping New Relic agent` peut indiquer plusieurs modes de défaillance. La trace d&apos;appels est également essentielle pour diagnostiquer ce problème. + + + + + ``` + Error bootstrapping New Relic agent: java.lang.RuntimeException: java.io.IOException: No such file or directory + + java.lang.RuntimeException: java.io.IOException: No such file or directory + + at com.newrelic.bootstrap.BootstrapLoader.load(BootstrapLoader.java:136) + + at com.newrelic.bootstrap.BootstrapAgent.startAgent(BootstrapAgent.java:100) + + at com.newrelic.bootstrap.BootstrapAgent.premain(BootstrapAgent.java:68) + + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) + + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + + at java.lang.reflect.Method.invoke(Method.java:606) + + at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:382) + + at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:397) + + Caused by: java.io.IOException: No such file or directory + + at java.io.UnixFileSystem.createFileExclusively(Native Method) + + at java.io.File.createNewFile(File.java:1006) + + at java.io.File.createTempFile(File.java:1989) + + at com.newrelic.bootstrap.EmbeddedJarFilesImpl$1.load(EmbeddedJarFilesImpl.java:36) + + at com.newrelic.bootstrap.EmbeddedJarFilesImpl$1.load(EmbeddedJarFilesImpl.java:26) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache.get(LocalCache.java:3953) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957) + + at com.newrelic.agent.deps.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875) + + at com.newrelic.bootstrap.EmbeddedJarFilesImpl.getJarFileInAgent(EmbeddedJarFilesImpl.java:66) + + at com.newrelic.bootstrap.BootstrapLoader.addBridgeJarToClassPath(BootstrapLoader.java:73) + + at com.newrelic.bootstrap.BootstrapLoader.load(BootstrapLoader.java:129) + + ... 8 more + ``` + + + +## Solution + +Si l'agent Java ne peut pas créer les fichiers temporaires `jar`, il ne démarrera pas et renverra la ligne `Error bootstrapping New Relic agent` précédant la trace d&apos;appels à `System.err`. Si vous utilisez un serveur d’applications, cela apparaît généralement dans le log des erreurs de votre serveur d’applications. + +Voici les raisons courantes de cet échec et la solution. + + + + Cette échec peut se produire lorsque vous spécifiez un emplacement de répertoire temporaire pour le processus Java qui n'est pas l'emplacement par défaut spécifié par `java.io.tmpdir`. Pour résoudre ce problème, transmettez la propriété système `-Dnewrelic.tempdir=/path/to/tmpdir` à la JVM au démarrage. + + L'agent Java de New Relic tentera d'utiliser l'emplacement du répertoire temporaire par défaut pour Java (`java.io.tempdir`) à moins que cette propriété système ne soit transmise. Si vous avez spécifié un emplacement de répertoire temporaire différent à utiliser par la JVM, il se peut que l&apos;emplacement de répertoire par défaut n&apos;existe pas ou que l&apos;agent Java n&apos;y ait pas accès en écriture. + + + + Cette échec peut se produire si le répertoire temporaire n’existe pas au démarrage de la JVM. L'agent Java démarre très tôt dans le cycle de vie de la JVM. L'agent ne tentera pas de créer le répertoire temporaire s'il n'existe pas déjà. + + Par exemple, une partie du cycle de vie de votre processus peut consister à supprimer le répertoire temporaire Java lorsque votre processus se termine. Dans cette situation, assurez-vous que le répertoire temporaire Java sera recréé avant le prochain démarrage de l'agent Java. + + + + Cette échec peut se produire si le répertoire temporaire existe mais qu'il ne peut pas être écrit par l'utilisateur qui démarre le processus Java. Cela empêche l'agent Java de démarrer correctement. + + Pour résoudre ce problème, vérifiez les autorisations de l’utilisateur qui démarre le processus Java qui exécute l’agent Java. Assurez-vous que l’utilisateur dispose des autorisations **write** et **execute** pour l’emplacement du répertoire temporaire. + + + + Si aucun de ces conseils de dépannage ne fonctionne, consultez les informations sur [la fourniture d'informations Java pour le dépannage](/docs/agents/java-agent/troubleshooting/providing-troubleshooting-information-java). + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/errors-starting-java-app-server.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/errors-starting-java-app-server.mdx new file mode 100644 index 00000000000..26b38b02ad4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/errors-starting-java-app-server.mdx @@ -0,0 +1,31 @@ +--- +title: Erreurs lors du démarrage du serveur d'applications Java +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'Troubleshooting steps if you see errors (zip file, initialization, agent library) at app server startup with your New Relic Java agent.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous voyez un message d'erreur lors du démarrage du serveur d'applications pour votre Java application. Par exemple: + +``` +Error opening zip file: newrelic.jar +Error occurred during initialization of VM +Agent library failed to init: instrument +``` + +## Solution + +Le chemin d'accès au fichier de l'agent Java `jar` doit être entièrement qualifié dans le commutateur JVM `-javaagent` . Si le chemin n&apos;est pas correctement spécifié, des erreurs seront générées au démarrage du serveur d&apos;applications et la JVM se fermera. + +Pour corriger ce problème, spécifiez le chemin d’accès complet au fichier `newrelic.jar` dans le commutateur `-javaagent` . Par exemple, si le fichier `newrelic.jar` se trouve dans un répertoire nommé `newrelic` à l&apos;intérieur du répertoire personnel de Tomcat **/home/tomcat**, spécifiez le commutateur comme ceci : + +``` +-javaagent:/home/tomcat/newrelic/newrelic.jar +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/firewall-or-traffic-connectivity-failures.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/firewall-or-traffic-connectivity-failures.mdx new file mode 100644 index 00000000000..33c8e1b3377 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/firewall-or-traffic-connectivity-failures.mdx @@ -0,0 +1,102 @@ +--- +title: Pannes de pare-feu ou de connectivité du trafic +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'If your Java app''s logs show INFO messages about connectivity failures with New Relic, follow these troubleshooting steps based on frequency of the message.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Les [donnéeslog ](/docs/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java)de votre application Java indiquent des échecs de connexion à New Relic. Vous souhaitez vérifier si les messages `INFO` sont dus à la connectivité du trafic ou aux règles de pare-feu, ou s&apos;ils sont dus à des problèmes plus graves. + +## Solution + +Les échecs occasionnels de connexion au [collecteur New Relic](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector) ne devraient pas être une source d&apos;inquiétude. Ces échecs ne devraient pas affecter les métriques de performances disponibles dans l&apos;utilisateur de l&apos;interface New Relic de votre application. + +L'agent Java de New Relic tente de se connecter environ une fois par minute. Pour résoudre le problème : + +1. Recherchez dans votre fichier de log [`INFO` messages concernant les échecs de connexion](#info-messages). +2. Vérifiez [la fréquence à laquelle les messages apparaissent](#message-frequency). + +Par exemple, recherchez des messages tels que : + +``` +Jul 31, 2017 21:37:14 +0000 NewRelic 10 +INFO: Failed to connect to collector.newrelic.com.:443 for My Application:java.net. +ConnectException: Connection refused:connect +``` + +ou + +``` +Jul 31, 2017 21:37:14 +0000 NewRelic 40 +INFO: The data collector is temporarily unavailable. +This can happen periodically. In the event that availability of our servers +is not restored after a period of time, +then please report this to New Relic. +java.net.SocketException: Connection reset +``` + +Selon la fréquence à laquelle le message apparaît, procédez comme suit pour résoudre le problème : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Frequency of INFO message** + + + + **Comments** + +
+ Quelques minutes + + L'agent Java de New Relic peut mettre en cache une quantité importante de données métriques lorsqu'il ne peut pas se connecter. Même si la panne dure quelques minutes, en général, cela n'entraînera aucune perte d'informations dans l'UI . Vous pouvez ignorer ces messages en toute sécurité. +
+ Par intermittence sur quelques jours + + Des problèmes de connexion intermittents peuvent parfois provoquer l'apparition de plusieurs de ces messages en peu de temps. Si cela ne se produit qu'une fois tous les quelques jours et que toutes les données de votre application apparaissent dans l'UI de New Relic , vous pouvez ignorer ces messages en toute sécurité. +
+ Toutes les minutes pendant plusieurs minutes + + Si des échecs se produisent toutes les minutes pendant plus de quelques minutes, l'agent Java n'est pas en mesure de recevoir des données de votre application et aucune donnée ne peut être signalée. Dans cette situation : + + 1. Vérifiez si New Relic rencontre des problèmes de disponibilité : vérifiez le statut de New Relic sur [status.newrelic.com](https://status.newrelic.com). + 2. Si New Relic ne signale aucun problème, [collectez des informations de dépannage](/docs/agents/java-agent/troubleshooting/gather-troubleshooting-information-java) pour votre application. +
+ +## Cause + +Malgré le texte log , cette erreur est généralement causée par une défaillance de connectivité ou de trafic protégé par un pare-feu plutôt que par l'indisponibilité réelle du collecteur New Relic . Pour plus d'informations, consultez les listes de [plages IP](/docs/apm/new-relic-apm/getting-started/networks) utilisées par tous les services de New Relic. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/gather-troubleshooting-information-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/gather-troubleshooting-information-java.mdx new file mode 100644 index 00000000000..e33d4409287 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/gather-troubleshooting-information-java.mdx @@ -0,0 +1,65 @@ +--- +title: Recueillir des informations de dépannage (Java) +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: What to include before contacting New Relic Support for help with your Java agent. +freshnessValidatedDate: never +translationType: machine +--- + +Si les procédures de dépannage de l'agent Java(comme [Aucune donnée n'apparaît](/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java) et d&apos;autres documents dans cette catégorie) n&apos;ont pas résolu votre problème, utilisez le [fichier de log](#logfiles) pour résoudre le problème. Si vous avez besoin d&apos;aide supplémentaire, contactez [support.newrelic.com](https://support.newrelic.com). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Include with support request** + + + + **Notes** + +
+ fichier de log + + Est-ce que des fichiers de log apparaissent pour votre agent Java? + + * Si oui, incluez le [log de niveau`finest` ](/docs/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java), en commençant par le démarrage de votre JVM et en l&apos;exécutant pendant plusieurs minutes. + * Si ce n'est pas le cas, incluez le log de démarrage de votre JVM qui indique que la JVM ouvre le fichier `newrelic.jar`. +
+ Link + + Incluez l’URL de la page où vous ne voyez pas les données attendues. Si les données de votre application n'apparaissent pas du tout, envoyez l'URL de la [page APM **Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page)de l&apos;application. +
+ Votre application `newrelic.yml` + + [Le fichier de configuration`newrelic.yml` ](/docs/agents/java-agent/troubleshooting/no-log-file-java)de votre application contient votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) et vos informations de proxy (si nécessaire). Supprimez ces informations avant de les partager. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java.mdx new file mode 100644 index 00000000000..d5ce4f29f89 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java.mdx @@ -0,0 +1,55 @@ +--- +title: Générer un log de débogage pour le dépannage (Java) +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'When troubleshooting your New Relic Java agent, change the newrelic_agent.log level temporarily to FINEST, then collect about 5 minutes of log data.' +freshnessValidatedDate: never +translationType: machine +--- + +Lors du dépannage de votre agent Java de New Relic, générez `finest` un log pour rechercher et étudier les erreurs. Une fois le dépannage terminé, assurez-vous de redéfinir le fichier de log sur un paramètre moins détaillé, tel que `info`. + +## Exigences [#requirement] + +Si vous modifiez uniquement le paramètre du fichier de log dans votre fichier `newrelic.yml`, vous n&apos;avez pas besoin de redémarrer le serveur ou JVM. Cependant, si vous apportez d’autres modifications, vous **must** redémarrez votre serveur ou JVM. + +Assurez-vous de conserver l'indentation de ligne d'origine dans votre fichier `newrelic.yml` . YAML est « sensible à l&apos;espace » et nécessite une indentation appropriée. + +Le paramètre `audit_mode` (lorsqu&apos;il est défini sur `true` ) log également la communication entre l&apos;agent Java et New Relic dans le fichier de log. Le support New Relic peut occasionnellement demander [des journaux en mode audit](/docs/agents/manage-apm-agents/configuration/log-audit-all-data-your-new-relic-agent-transmits) pour un dépannage supplémentaire. + +## Générer un fichier de log [#finer] + +Pour générer un fichier log `finest` détaillé : + +1. Modifiez votre fichier `newrelic.yml` et remplacez [`log_level`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-log_level) par `finest`. Assurez-vous de garder ces lignes [en retrait **two spaces**](#requirements). + + ``` + # The agent uses its own log file to keep its logging + # separate from that of your application. Specify the log level here. + # This setting is dynamic, so changes do not require restarting your application. + # The levels in increasing order of verboseness are: + # off, severe, warning, info, fine, finer, finest + # Default is info. + log_level: finest + + # Log all data sent to and from New Relic in plain text. + # This setting is dynamic, so changes do not require restarting your application. + # Default is false. + audit_mode: false + ``` + +2. Exercez votre application Web pendant environ cinq minutes pour générer suffisamment de données de logging. + +3. Après le test, remplacez [`log_level`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-log_level) par un niveau moins verbeux, tel que `info` (par défaut). + +4. Ouvrez votre fichier de log et examinez-le pour détecter les erreurs. + +## Examiner le fichier de log [#logfile] + + + Le paramètre log `finest` est un niveau de logging très détaillé. Pour réduire la consommation d&apos;espace disque après le test, remettez le `log_level` à son paramètre d&apos;origine. + + +Par défaut, les fichiers de log sont stockés dans un sous-répertoire `logs`, à l&apos;intérieur du même répertoire que `newrelic.jar`. Si nécessaire, suivez les [procédures de dépannage si aucun fichier de log n'apparaît](/docs/agents/java-agent/troubleshooting/no-log-file-java). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/host-links-missing-java-apps-apm-summary.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/host-links-missing-java-apps-apm-summary.mdx new file mode 100644 index 00000000000..bef2a69de39 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/host-links-missing-java-apps-apm-summary.mdx @@ -0,0 +1,101 @@ +--- +title: Liens d'hôte manquants dans Java de l'application APM Résumé +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: How to control how the hostname is reported by the New Relic Java agent on Linux systems. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + + + La modification de vos paramètres de nom d'hôte, en particulier les paramètres FQDN, peut désactiver l'accès réseau de votre serveur. Testez soigneusement toutes les modifications avant de les déployer dans un environnement de production. + + +Vous ne pouvez pas afficher les liens vers vos hôtes Linux à partir de [la page APM **Summary** ](/docs/apm/applications-menu/monitoring/applications-overview-dashboard)de votre application Java. + +## Solution + +Configurez les paramètres du nom d'hôte afin que l'agent Infrastructure de New Relic dans un agent environnement Linux renvoie exactement la même chaîne de nom que l'agent Java de New Relic . Recommandation : modifiez les paramètres du nom de domaine complet (FQDN). L'agent lit son nom d'hôte à partir des paramètres FQDN du système d'exploitation. Par conséquent, la définition du nom d'hôte à cet endroit garantira que les deux agents partagent un seul nom d'hôte. + + + L'interface utilisateur New Relic utilise le nom d'hôte pour lier une application à son serveur hôte. La modification du nom d'hôte entraînera l'affichage d'un nom différent pour le serveur d'applications par rapport à celui signalé par les applications de monitoring. Si le lien de l'application fonctionne actuellement, changer le nom d'hôte peut rompre les liens hôte-serveur. + + + + + Cet exemple configure le serveur pour utiliser les valeurs FQDN suivantes : + + * Adresse IP: `1.2.3.4` + + * Nom de domaine complet : `myhost.example.com` + + * Nom d'hôte court : `myhost` + + La plupart des distributions Linux stockent les paramètres du nom d’hôte dans deux fichiers, généralement : + + * `/etc/hosts` + + * `/etc/sysconfig/network` (Ce chemin peut ne pas exister dans votre distribution Linux.) + + Pour configurer le nom d’hôte que vous souhaitez appliquer au prochain démarrage de l’hôte ou du serveur : + + 1. Ajoutez l'adresse IP, le FQDN et le nom d'hôte court aux données existantes dans `/etc/hosts`; par exemple : + + ``` + 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 + ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 + 1.2.3.4 myhost.example.com myhost + ``` + + 2. Si `/etc/sysconfig/network` est présent, ajoutez le FQDN aux données existantes dans `/etc/sysconfig/network`. Par exemple: + + ``` + NETWORKING=yes + HOSTNAME=myhost.example.com + ``` + + 3. Utilisez la ligne de commande pour définir le nom d’hôte actuel, afin que les modifications prennent effet sans redémarrer le serveur : + + ``` + sudo hostname myhost.example.com + ``` + + 4. Redémarrez l'agent Java et agent d'infrastructure pour enregistrer le nouveau nom d'hôte. + + + + Vous pouvez également configurer le nom d'hôte pour qu'il soit un FQDN au démarrage en utilisant un script shell. Dans cet exemple, [`cloud-init`](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) transmet un script shell à l&apos;[image machine Amazon](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html#launch-instance-console) (AMI) au démarrage, à l&apos;aide de la variable `UserData`. Un script `cloud-init` s&apos;exécute avant le démarrage de l&apos;agent Java et de l&apos;agent d&apos;infrastructure , de sorte que l&apos;agent hérite des paramètres du nom d&apos;hôte du script `cloud-init`. + + Cet exemple script configure tous les paramètres du nom d'hôte. Selon votre distribution Linux, la commande `echo` à `/etc/sysconfig/network` peut ne pas être requise. + + ``` + #!/bin/sh + + # Set the hostname so the infrastructure agent + # and Java agent see the same names. + + SHORT_HOSTNAME=`hostname -s` + IP=`hostname -I` + DOMAIN="example.com" + HOSTNAME="${SHORT_HOSTNAME}.${DOMAIN}" + + hostname "${HOSTNAME}" + echo "${IP} ${HOSTNAME}" >> /etc/hosts + echo "HOSTNAME=${HOSTNAME}" >> /etc/sysconfig/network + ``` + + + +## Cause + +New Relic relie l'application et l'hôte ou le serveur ensemble en faisant correspondre la chaîne du nom d'hôte rapporté par l'agent Java et notre agent d'infrastructure pour Linux. Si ces deux chaînes de nom d’hôte ne sont pas identiques, New Relic ne peut pas connecter l’application et le serveur dans la [page APM **Summary** ](/docs/apm/applications-menu/monitoring/applications-overview-dashboard). + +Il y a plusieurs raisons pour lesquelles cela peut se produire. Par exemple: + +* Il se peut que la JVM signale l'adresse IP et non le nom d'hôte. +* La JVM peut signaler une adresse IPv6, tandis que l'agent Linux signale une adresse IPv4. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-agent-identified-with-security-vulnerabilities.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-agent-identified-with-security-vulnerabilities.mdx new file mode 100644 index 00000000000..40b06e207ef --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-agent-identified-with-security-vulnerabilities.mdx @@ -0,0 +1,40 @@ +--- +title: agent Java identifié avec des failles de sécurité +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Lorsqu'une analyse de sécurité est effectuée, elle signale des vulnérabilités pour l'agent Java New Relic (`newrelic.jar`). + +## Cause + +Bien que tout produit logiciel puisse potentiellement présenter des vulnérabilités de sécurité, l’agent Java New Relic peut être identifié par erreur par les produits de sécurité. Les produits de sécurité qui recherchent certains modèles de chaîne dans les fichiers peuvent signaler par erreur les modules instrumentation qui font partie de l'agent comme bibliothèque vulnérable. + +Ces modules instrumentation sont des fichiers JAR nommés d'après le framework logiciel conçu pour instrumenter et leurs versions. Ils ne contiennent pas de code du framework mais peuvent contenir des classes portant le même nom. Certains outils d'analyse de sécurité détectent ces noms/versions et les interprètent comme étant le véritable framework logiciel lui-même, alors qu'il s'agit simplement d'un module d'instrumentation. + +Ils se trouvent à l'intérieur de `newrelic.jar` sous le package `instrumentation` , ou à l&apos;intérieur de `newrelic-security-agent.jar` sous le package `instrumentation-security` . + +Les avertissements pour tous les fichiers jar compris entre `newrelic.jar` ou `newrelic-security-agent.jar` sont des faux positifs et doivent être supprimés. + +## Solution + +Supprimez les faux avertissements positifs provenant du `instrumentation` package dans `newrelic.jar` et du `instrumentation-security` package dans `newrelic-security-agent.jar` avec votre outil d&apos;analyse, y compris tous les fichiers JAR dont les noms correspondent aux modules répertoriés dans l&apos;[agent Java de New Relic référentiel](https://github.com/newrelic/newrelic-java-agent/tree/main/instrumentation) ou dans [New Relic SecurityAgent for Java](https://github.com/newrelic/csec-java-agent/tree/main/instrumentation-security). + +Par exemple, un faux positif découvert par le projet `DependencyCheck` sur [github.com/jeremylong/DependencyCheck](https://github.com/jeremylong/DependencyCheck) peut être supprimé avec : + +```jar + + + .*newrelic.*\.jar[\\\/]instrumentation.*\.jar + .* + +``` + +Consultez votre fournisseur d’analyse de sécurité pour connaître la configuration appropriée pour supprimer les faux positifs. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-solr-data-does-not-appear.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-solr-data-does-not-appear.mdx new file mode 100644 index 00000000000..fd4372ecd92 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/java-solr-data-does-not-appear.mdx @@ -0,0 +1,23 @@ +--- +title: Les données Java Solr n'apparaissent pas +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'If your Java app''s Solr data is missing or not reporting to New Relic, follow these troubleshooting steps to ensure Solr is configured correctly.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous utilisez la [plateformeSolr ](http://lucene.apache.org/solr/)dans votre application Web, mais les données Solr n&apos;apparaissent pas dans l&apos;UI de votre application à partir de **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select a Java app) &gt; Monitor**. + +## Solution + +Pour vous assurer que Solr est correctement [configuré](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent#other) et que les données sont transmises à New Relic, procédez comme suit : + +* **JMX:** Assurez-vous que JMX est activé dans votre Solr configuration dans en `solrconfig.xml` utilisant `` tag la. Le fichier `solrconfig.xml` est le fichier configuration contenant le plus de paramètres affectant Solr lui-même. +* **Jetty:** Si vous êtes un utilisateur Jetty, [activez manuellement JMX pour Jetty](https://wiki.eclipse.org/Jetty/Tutorial/JMX#Enabling_JMXConnectorServer_for_Remote_Access). +* **Solr metrics:** Consultez la console JMX pour les métriques Solr. Le cache et les mises à jour Solr proviennent des MBeans. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-browser-data-appears-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-browser-data-appears-java.mdx new file mode 100644 index 00000000000..1f5bc8f9c21 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-browser-data-appears-java.mdx @@ -0,0 +1,27 @@ +--- +title: Aucune donnée de navigateur n'apparaît (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'If your Java app is not reporting data to browser monitoring, follow these troubleshooting steps.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous [avez installé l'agent ](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent)pour votre application Java , mais l&apos;application ne signale pas de données dans l&apos;[ UIdu navigateur](/docs/browser/new-relic-browser/getting-started/browser-overview-page-website-performance-summary). + +## Solution + +Si votre serveur application n'utilise pas le compilateur Jasper JSP (par exemple, vous utilisez WebSphere ou WebLogic), auto-instrumentation n'est pas disponible. Au lieu de cela, vous devez [instrumenter manuellement le navigateur](/docs/java/page-load-timing-in-java#manual_instrumentation). + +Si votre serveur d’applications utilise le compilateur JSP et que vous ne recevez toujours pas de données de navigateur, vous avez peut-être un conflit de configuration. L'agent Java de New Relic vous permet de définir un nom d'application soit dans le fichier de configuration `newrelic.yml` , soit automatiquement avec votre `web.xml` `display-name`. + +Pour vérifier que votre application renvoie le nom correct : + +1. Générer temporairement [un log de niveau`finest` ](/docs/agents/java-agent/troubleshooting/generating-logs-troubleshooting). +2. Rechercher dans le fichier de log pour `"enabled for"`. Vérifiez que le nom de votre application apparaît dans la liste des applications qui signalent [des données de synchronisation du navigateur](/docs/agents/java-agent/instrumentation/page-load-timing-java). +3. Si le nom de l'application répertorié ne correspond pas au nom attendu, vérifiez que vous définissez le même nom d'application dans `newrelic.yml` et dans le paramètre `web.xml` `display-name` . \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java.mdx new file mode 100644 index 00000000000..3afdb3f8c6a --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-data-appears-java.mdx @@ -0,0 +1,64 @@ +--- +title: Aucune donnée n'apparaît (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: Troubleshooting procedures if you do not see data for your app in the New Relic UI after installing the Java agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic pour votre application et attendu quelques minutes que les données apparaissent dans l'UI de New Relic, votre Java application ne signale pas de données. + +## Solution + +Après avoir envoyé une demande à votre application Web, les données devraient apparaître dans l'UI APM dans un délai de deux à trois minutes. Si aucune donnée n'apparaît après quelques minutes : + +1. Redémarrez votre serveur Web. + +2. Utilisez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics) pour essayer d’identifier automatiquement le problème. + +3. Vérifiez que le fichier `newrelic.jar` a été correctement installé et que l&apos;argument `-javaagent` a été correctement transmis à la JVM : + + 1. Démarrez votre serveur Web s’il n’est pas déjà en cours d’exécution. + + 2. Dans votre terminal ou votre console, exécutez la commande appropriée : + + Linux ou macOS : + + ``` + ps -ef | grep java + ``` + + Windows: + + ``` + wmic process where "name='java.exe'" get ProcessID, Commandline /format:list + ``` + + 3. Recherchez le processus pour le service que vous essayez de monitorer et voyez si l'argument `-javaagent` est présent : + + * Si vous voyez un argument `-javaagent` : le problème se situe soit au démarrage de l&apos;agent, soit l&apos;agent est incapable de communiquer via votre pare-feu avec [la plage d'adresses IP de notre collecteur](/docs/using-new-relic/cross-product-functions/install-configure/networks). + * Si vous ne voyez pas d’argument `-javaagent` : l’argument n’a pas été transmis à votre JVM. Vérifiez votre script de démarrage ou d’autres ressources pour vous assurer que rien n’empêche sa transmission. Pour plus d&apos;informations sur la façon de transmettre l&apos;argument pour votre environnement, consultez [Inclure l'agent Java avec un argument JVM](/docs/agents/java-agent/installation/include-java-agent-jvm-argument). + + 4. Si aucune des deux solutions ne fonctionne, continuez à lire. + +4. Vérifiez que vos fichiers `newrelic.jar` et `newrelic.yml` se trouvent dans le même [répertoire](/docs/agents/manage-apm-agents/troubleshooting/find-agent-root-directory#java-agent). Si vous avez spécifié un emplacement non par défaut pour le fichier de configuration à l&apos;aide de la propriété système `newrelic.config.file` , assurez-vous que le fichier de configuration existe à cet emplacement et qu&apos;il est correctement formaté. + +5. [Générez un log de niveau `finest` ](/docs/agents/java-agent/troubleshooting/generating-logs-troubleshooting)et vérifiez les erreurs dans le log. Dans l&apos;événement aucun fichier de log ne peut être trouvé, voir [No fichier de log (Java)](/docs/agents/java-agent/troubleshooting/no-log-file-java). + +6. Vérifiez le application log du serveur pour les erreurs liées à l’agent Java de New Relic . Vous pouvez consulter les pages de dépannage [Erreur d'amorçage d'agent Java](/docs/agents/java-agent/troubleshooting/error-bootstrapping-new-relic-java-agent) et [Erreurs de démarrage du serveur d'applications Java ](/docs/agents/java-agent/troubleshooting/errors-starting-java-app-server)pour des exemples d&apos;erreurs observable dans le log du serveur application qui empêchent les données agent Java de se signaler. + +7. Vérifiez que votre application renvoie le nom attendu : dans vos fichiers journaux New Relic , recherchez `"reporting to"`, puis sélectionnez le lien dans le message. Par exemple: + + ``` + {"message":"Reporting to: https://rpm.newrelic.com/accounts/000/applications/000000"} + ``` + + Si vous faites rapport à [plusieurs noms d'application](/docs/apm/new-relic-apm/installation-configuration/using-multiple-names-app), recherchez plusieurs lignes avec ce message. + +8. Si le lien du message ne renvoie pas à l'application attendue, assurez-vous que les paramètres de nom de votre application sont les mêmes dans `newrelic.yml` et dans le paramètre `web.xml` `display-name` . \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-log-file-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-log-file-java.mdx new file mode 100644 index 00000000000..10ffed2f948 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-log-file-java.mdx @@ -0,0 +1,61 @@ +--- +title: Aucun fichier de log (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'How to ensure your New Relic Java agent has been configured to generate log files, by checking the log file directory, config files, and boot logs.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Votre agent Java de New Relic ne génère pas de fichier de log. + +## Solution + +Assurez-vous que votre agent Java New Relic est configuré pour générer des fichiers `newrelic_agent.log` en vérifiant les éléments suivants : + + + + L'agent Java de New Relic stocke le fichier de log dans le répertoire `logs`. L&apos;agent Java crée ce répertoire au même emplacement utilisé pour le `newrelic.jar` dans le commutateur `-javaagent` . Si vous ne trouvez pas `newrelic_agent.log`, assurez-vous que le processus JVM dispose des autorisations pour écrire dans le répertoire `logs` . + + La gestion des autorisations varie considérablement selon l’environnement. Travaillez donc avec votre administrateur système pour vérifier qu’il ne s’agit pas d’un problème. Si les autorisations ne sont pas le problème, vérifiez que vous n’avez pas personnalisé l’emplacement du répertoire `logs` . + + + Vous pouvez spécifier un répertoire et un nom différents avec les paramètres `log_file_path` et `log_file_name` . + + + + + Assurez-vous que le format YAML dans `newrelic.yml` est valide en utilisant un [validateur YAML](http://yamllint.com/). Cet outil vérifie que votre YAML est valide. Il vous donne également une version interprétée épurée de commentaires. + + Si votre YAML n'est pas valide, utilisez un éditeur qui conserve les espaces sur les lignes, comme Sublime Text. Cela vous aidera à apporter des modifications à votre `newrelic.yml` avec le nombre correct d&apos;espaces. + + + + Vous pouvez démarrer votre serveur d’applications afin qu’il imprime sur la console. Voici quelques exemples d'endroits où ces données sont stockées : + + * **JBoss**: `log/boot.log` + + * **Glassfish**: `domain-dir/logs/server.log` + + * **Tomcat**: `catalina.out` (si spécifié dans `catalina.sh`) ou `catalina.bat` + + * **WebLogic**:[`server_name.log`](http://docs.oracle.com/cd/E17904_01/web.1111/e13739/logging_services.htm#i1179712) + + * **WebObjects**: `/var/log/webobjects.log` + + Lors du démarrage de votre JVM, vérifiez que le log généré indique que le fichier `newrelic.jar` s&apos;est ouvert et que l&apos;agent Java a interprété le fichier configuration `newrelic.yml`. Les échecs de recherche d&apos;un fichier ou d&apos;ouverture correcte de celui-ci apparaîtront dans le log. + + Le chargement réussi de l'agent ressemblera à ceci : + + ``` + Aug 29, 2017 15:02:49 -0700 NewRelic 1 INFO: Agent is using Logback + Aug 29, 2017 15:02:49 -0700 NewRelic 1 INFO: Loading configuration file + "/path/on/your/host/newrelic/.newrelic.yml" + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-stack-traces-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-stack-traces-java.mdx new file mode 100644 index 00000000000..3d947dfe464 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/no-stack-traces-java.mdx @@ -0,0 +1,44 @@ +--- +title: Aucune trace d'appels (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: Troubleshooting steps for situations when stack traces are missing for error traces with your New Relic Java app. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Selon la situation, vous pouvez trouver [des traces d'erreur](/docs/apm/applications-menu/error-analytics/error-analytics-manage-error-traces) dans l&apos;UI APM qui n&apos;incluent pas de trace d&apos;appels pour votre Java application . + +## Solution + +Selon la situation, suivez ces procédures de dépannage. + + + + Lorsqu'une erreur est générée dans une séquence répétée rapidement, le compilateur Java peut optimiser la trace des appels pour améliorer les performances. Pour désactiver cette optimisation : Dans vos indicateurs JVM, incluez : + + ``` + -XX:-OmitStackTraceInFastThrow + ``` + + + + Il s’agit d’ [un comportement normal](#cause) de la manière dont l’agent Java gère les erreurs 500. Pour forcer le suivi des appels à être signalé, appelez New Relic Java API l&apos; à partir de votre propre code. L&apos;exécution de la méthode `NewRelic.noticeError (Throwable t)` entraînera le signalement d&apos;une erreur ainsi que la trace stack représentée par `Throwable`. Pour plus d&apos;informations sur cette méthode et ses surcharges, consultez [l'API de l'agent Java de New Relic sur GitHub.](https://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#noticeError-java.lang.Throwable-) + + + +## Cause + +Le renvoi d'une erreur `500` signifie que le serveur d&apos;application lui-même a détecté une erreur et défini le code d&apos;état HTTPS `500` . + +* Si la condition d'erreur a été détectée et gérée par la logique application , il n'y avait aucun objet d'exception et donc aucune stack. +* S'il y avait un objet d'exception à un moment donné, mais qu'il était géré en interne par le code d'application qui définissait le statut `500` sur la réponse, alors l&apos;exception n&apos;est jamais devenue visible pour l&apos;agent Java. Il n&apos;y a pas stack disponible pour que l&apos;agent Java puisse effectuer un rapport. + +Lorsque des traces d'appels sont signalées, l'erreur résulte d'une exception qui n'a pas été détectée et gérée dans la logique du serveur application . L'agent Java voit l'exception non gérée lors d'une transaction du moniteur, il signale donc la trace d'appels. + +Cependant, aucune trace d'appel n'apparaît pour les erreurs `500` car le serveur application gère les erreurs et définit ensuite le code d&apos;état. Le code application lui-même ne conserve aucune trace d&apos;appels. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/nullpointerexception-issues-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/nullpointerexception-issues-java.mdx new file mode 100644 index 00000000000..469c44980da --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/nullpointerexception-issues-java.mdx @@ -0,0 +1,32 @@ +--- +title: Problèmes NullPointerException (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'What to do if you see NullPointerException issues with SEVERE: or ERROR: in your New Relic Java agent''s log files.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Si vos [données de log](/docs/agents/java-agent/troubleshooting/no-log-file-java) affichent `SEVERE:` ou `ERROR:` avec `NullPointerException` problèmes, il se peut que des problèmes interfèrent avec la création de rapports. + +## Solution + +Avant de commencer ces conseils de dépannage, assurez-vous que vous disposez de la [version la plus récente](/docs/agents/java-agent/installation/upgrade-java-agent) de l&apos;agent Java de New Relic. + +1. Utilisez les recherches sensibles à la casse de votre agent Java fichier de log pour les lignes avec `SEVERE:` et.`ERROR: NullPointerException` +2. Si vous trouvez des lignes contenant ces messages, [rassemblez des informations de dépannage](/docs/agents/java-agent/troubleshooting/providing-troubleshooting-information-java) pour obtenir de l&apos;aide auprès de New Relic. + +## Cause + +L'agent Java de New Relic entre les versions 3.0.0 et 3.2.3 log incorrectement le message d'erreur. Par exemple: + +``` +ERROR: javax/servlet/ServletOutputStream is marked as a weaved class, but no methods are matched to be weaved. +``` + +C’était totalement erroné et cela ne constitue pas un motif d’inquiétude. Cependant, n'utilisez pas ces versions. Au lieu de cela, mettez à jour vers la [version la plus récente](/docs/agents/java-agent/installation/upgrade-java-agent) de l&apos;agent Java de New Relic. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/resolve-metric-grouping-issues-java-apps.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/resolve-metric-grouping-issues-java-apps.mdx new file mode 100644 index 00000000000..578f59fbbaa --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/resolve-metric-grouping-issues-java-apps.mdx @@ -0,0 +1,53 @@ +--- +title: Résoudre les problèmes de regroupement métrique avec les applications Java +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: Troubleshooting procedures if your app uses New Relic's Java agent and metric grouping issues have occurred. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Votre application utilise l'agent Java de New Relic et vous rencontrez un [problème de regroupement de métriques](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues). + +## Solution + +Essayez ces procédures de dépannage avant que les problèmes de regroupement métrique ne deviennent trop importants. + + + + Par défaut, l'agent Java [nomme les transactions](/docs/agents/java-agent/instrumentation/naming-web-transactions) en fonction de votre framework et des différents composants de votre application. Cependant, si l&apos;agent Java est configuré pour désactiver la dénomination basée sur les composants, il ne pourra pas nommer correctement ces transactions. Cela entraînera souvent un problème de regroupement métrique. + + Pour résoudre les problèmes de configuration de votre agent Java : si [la dénomination basée sur les composants](/docs/agents/java-agent/instrumentation/naming-web-transactions#reverting) a été désactivée, réactivez-la. + + + + Certains problèmes de regroupement métrique peuvent être résolus simplement en [mettant à niveau votre agent de New Relic](/docs/agents/java-agent/installation/upgrade-java-agent). À moins que vous n&apos;ayez une bonne raison de ne pas le faire, New Relic vous recommande de toujours mettre à niveau vers la version la plus récente. + + Pour dépanner votre agent Java version , reportez-vous aux [agent Java notes de sortie](/docs/release-notes/agent-release-notes/java-release-notes). Les notes de sortie résument les correctifs et les modifications, y compris les situations dans lesquelles les problèmes de regroupement métrique liés à agentont été corrigés. + + + + Si la agent Java version de votre est à jour et correctement configurée, mais que vous rencontrez toujours un problème de regroupement métrique, vous devrez [peut-être nommer manuellement vos transactions](/docs/agents/java-agent/instrumentation/naming-web-transactions). Pour vous aider à démarrer, reportez-vous à [l'exemple de programme de New Relic utilisant l'API Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api-example-program). + + L' [API de l'agent Java](/docs/agents/java-agent/custom-instrumentation/java-agent-api) vous permet de [définir un nom de transaction](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#setTransactionName%28java.lang.String,%20java.lang.String%29) dans votre application. Cela permet d&apos;éliminer les noms et identifiants uniques dans les noms métriques. + + + + Après avoir détecté un problème de regroupement métrique, New Relic applique automatiquement une limite métrique à votre application. Cela empêche l'arrivée de nouveaux noms de métriques dans votre application. + + La limite métrique empêche le problème de s’aggraver. Cependant, avant que New Relic puisse supprimer la limite, la cause du problème de regroupement métrique doit être résolue. + + Une fois le problème sous-jacent résolu, [le support New Relic](https://support.newrelic.com) vérifiera votre application pour s&apos;assurer que : + + * Votre agent Java mis à niveau n’envoie plus les anciennes métriques qui causaient des problèmes de regroupement. + + * Vos nouveaux [noms de transaction](/docs/agents/java-agent/instrumentation/naming-web-transactions) excluent correctement les parties uniques du nom. + + Après avoir confirmé que le problème de regroupement métrique est résolu, le support New Relic mettra à jour manuellement votre application afin que les nouveaux noms métriques soient à nouveau autorisés. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/ssl-or-connection-errors-java.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/ssl-or-connection-errors-java.mdx new file mode 100644 index 00000000000..ad35b0d5fd8 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/ssl-or-connection-errors-java.mdx @@ -0,0 +1,116 @@ +--- +title: Erreurs SSL ou de connexion (Java) +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: What to do if you see SSL or connection errors in your New Relic Java app's logs. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème A : Erreurs SSL/connexion dans le log [#ssl-error-logs] + +Vos [données de log](/docs/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java) de votre agent Java de New Relic indiquent des erreurs SSL ou de connexion. + + + Consultez [Configuration de votre certificat SSL](/docs/agents/java-agent/configuration/configuring-your-ssl-certificates) pour obtenir des instructions sur la façon de communiquer avec le collecteur New Relic via HTTPS. + + +### Solution A [#ssl-error-logs-solution] + +Les échecs de connexion via SSL apparaissent généralement au début du agent Java fichier de l'log. Par exemple: + +``` +PKIX path building failed: java.security.cert.CertPathBuilderException: PKIXCertPathBuilderImpl could not build a valid CertPath +``` + +``` +INFO: connection error: java.net.SocketException: java.lang.ClassNotFoundException: +Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory +``` + +Si vous voyez l’une de ces erreurs, votre instance JDK utilise probablement un magasin de confiance personnalisé. + +Recommandation : ajoutez l'autorité de certification racine globale DigiCert (CA), à partir de laquelle le certificat de New Relic est dérivé, à votre magasin de confiance. + +Vous pouvez télécharger le [DigiCert Global Root CA](https://www.digicert.com/kb/digicert-root-certificates.htm) depuis DigiCert dans la section « Autres certificats racine » (choisissez l&apos;option « Télécharger PEM »). + +Pour importer le certificat dans votre magasin de confiance, utilisez cette commande ou consultez [la documentation Java SE d'Oracle pour keytool](https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html): + +``` +keytool -importcert -alias ca_alias -file ca_file.pem -keystore truststore.ts -storepass ts_password +``` + +Les paramètres incluent : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `ca_alias` + + L'alias que vous souhaitez utiliser dans votre magasin de confiance pour le certificat importé. +
+ `ca_file` + + Le fichier contenant le certificat que vous ajoutez. +
+ `truststore.ts` + + Le magasin de confiance auquel le certificat sera ajouté. +
+ `ts_password` + + Le mot de passe utilisé par `truststore.ts`. +
+ +## Problème B : exception d'affichage du log [#log-exception] + +Les [données de log](/docs/agents/java-agent/troubleshooting/generate-debug-logs-troubleshooting-java) de votre agent Java de New Relic affichent les éléments suivants : `CertificateException`. + +``` +java.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Illegal header: -----BEGIN CERTIFICATE----- +``` + +Ceci est probablement lié à ce [problème JDK](https://bugs.openjdk.java.net/browse/JDK-8208602). + +### Solution B [#log-exception-solution] + +Vérifiez et validez que l’en-tête et le pied de page de vos certificats ne comportent pas d’espaces de fin. Si c'est le cas, modifiez ou utilisez des certificats différents. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/update-java-config-legacy-agent-versions.mdx b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/update-java-config-legacy-agent-versions.mdx new file mode 100644 index 00000000000..5d97d549341 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/java-agent/troubleshooting/update-java-config-legacy-agent-versions.mdx @@ -0,0 +1,120 @@ +--- +title: Mettre à jour la configuration Java pour legacy versions agent +type: troubleshooting +tags: + - Agents + - Java agent + - Troubleshooting +metaDescription: 'New Relic Java agent versions earlier than 3.16.1: How to update your newrelic.yml file to the latest version of agent attribute configuration.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous utilisez agent Java version 3.16.1 ou inférieure et devez effectuer une mise à niveau vers la [dernière version](/docs/release-notes/agent-release-notes/java-release-notes), mais vous utilisez des options configuration obsolètes pour configurer l&apos;attribut agent . + +## Solution + +Dans `newrelic.yml`, modifiez les propriétés de configuration que vous utilisez pour la compatibilité avec les dernières versions : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Deprecated property** + + + + **New property** + +
+ `analytics_events` + + `transaction_events` + + La section du fichier de configuration **newrelic.yml** appelée `analytics_events` est obsolète. Utilisez plutôt la section `transaction_events` . +
+ `capture_params` + + `attributes.include: request.parameters.*` + + Par défaut, les paramètres de requête ne sont pas envoyés à New Relic. Ajoutez `request.parameters.*` à la liste `attributes.include` pour activer tous les paramètres de demande. La propriété `capture_params` est obsolète. +
+ `ignored_params` + + `attributes.exclude: request.parameters.{name}` + + Ajoutez chaque clé de paramètre de demande à la liste `attributes.exclude` . Assurez-vous de préfixer la clé avec `request.parameters`. La propriété `ignored_params` est obsolète. +
+ `capture_messaging_params` + + `attributes.include: message.parameters.*` + + Par défaut, les fichiers d'attente des paramètres des messages ne sont pas envoyés à New Relic. Auparavant, définir `capture_messaging_params` sur `true` permettait d&apos;activer le fichier d&apos;attente des paramètres des messages. Vous devez maintenant ajouter `message.parameters.*` à la liste `attributes.include` . +
+ `ignored_messaging_params` + + `attributes.exclude: message.parameters.{name}` + + Auparavant, vous pouviez définir `ignored_messaging_params` sur une liste de clés de paramètres de fichier d&apos;attente des messages à exclure. Vous devez maintenant ajouter chaque clé de paramètre de fichier d&apos;attente des messages à la liste `attributes.exclude` . Assurez-vous de préfixer la clé avec `message.parameters`. +
+ `capture_attributes` + + `attributes.enabled` + + L'ancien indicateur `capture_attributes` désactiverait la collecte d&apos;attributs utilisateur. Ceci est obsolète. Utilisez plutôt `attributes.enabled` . +
+ +Dans cet exemple, l'agent Java collecte les paramètres de la requête et les enregistre dans les destinations du traceur de transaction et du collecteur d'erreurs. Cela émule l'activation des options de configuration legacy [configuration serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration) pour `Capture attributes` ou `Capture parameters`. + +Pour personnaliser l’élément [`attributes`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#attributes) dans votre fichier de configuration d’agent Java : + +```yml +attributes.enabled: true +attributes.include: request.parameters.* +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/agent-attributes.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/agent-attributes.mdx new file mode 100644 index 00000000000..e96e184238f --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/agent-attributes.mdx @@ -0,0 +1,207 @@ +--- +title: attribut de l'agent +tags: + - Agents + - Manage APM agents + - Agent data +metaDescription: 'How attributes are used in New Relic, including types, destinations, and limits.' +freshnessValidatedDate: never +translationType: machine +--- + +Les attributs sont des paires valeur clé contenant des informations qui déterminent les propriétés d'un événement ou d'une transaction. Vous pouvez afficher ces paires valeur-clé à certains endroits de l'UI ou en interrogeant ces données à l'aide de NRQL. New Relic donne à l'utilisateur la possibilité de personnaliser exactement quel attribut sera envoyé à chacune de ces [destinations](#destinations). + +Vous pouvez également collecter [des attributs personnalisés](/docs/apm/other-features/attributes/collecting-custom-attributes) pour envoyer des données supplémentaires à New Relic. + +## Flux de destination d'attribut [#destination-flow] + +Ce diagramme illustre comment un agent décide d'envoyer [un attribut](#types) à chaque [destination](#destinations). + +nr attribute collection diagram.png + +
+ **Agent attribute collection:** Un agent prend trois décisions différentes lors de l&apos;envoi d&apos;un attribut à n&apos;importe quelle destination New Relic en fonction des paramètres de propriété pertinents. Les noms de propriété et la syntaxe varient selon l&apos;agent. (Les propriétés de ce diagramme sont spécifiques à l&apos;agent PHP, mais le flux général est le même pour tous les agents. (Les noms de propriété et la syntaxe varient selon l&apos;agent.) +
+ +## Types d'attributs [#types] + +L'attribut peut être collecté de diverses manières : + +* **Message property attributes:** Ce sont les propriétés définies sur un message reçu d&apos;une file d&apos;attente ou d&apos;une rubrique. +* **HTTP request attributes:** Ce sont les paramètres d&apos;une requête HTTP. +* **User attributes:** Il agent APIs&apos;agit d&apos;attributs fournis par l&apos;utilisateur via de chaque . +* **Agent attributes:** Il s&apos;agit d&apos;attributs capturés par l&apos;agent; par exemple, `http.statusCode` et `httpResponseMessage`. + +## Destinations pour l'attribut [#destinations] + +Les attributs collectés apparaissent à ces emplacements : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Collected attributes** + + + + **Location** + +
+ [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) + + Chaque minute, la trace de transaction collecte des données pour vos requests HTTP individuelles les plus lentes. Ces traces signaleront les attributs collectés lors de la transaction. +
+ [erreurs de trace](/docs/apm/applications-menu/error-analytics/error-analytics-manage-error-traces) + + Si une transaction entraîne une erreur, ces erreurs de trace seront signalées à APM. Une erreur de trace contiendra l'attribut collecté pendant la transaction. +
+ [Événement de transaction](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes) + + Les transactions APM contiendront [les attributs](/docs/insights/new-relic-insights/decorating-events/insights-attributes) collectés pendant la transaction. +
+ [Browser events](/docs/insights/insights-data-sources/default-events-attributes/browser-default-events-attributes-insights) + + monitoring de navigateurs événement contiendra [l’attribut](/docs/insights/new-relic-insights/decorating-events/insights-attributes) collecté lors de la transaction. Cependant, l&apos;attribut collecté à la fin d&apos;une transaction peut ne pas apparaître sur l&apos;événement `PageView` . Cette destination est également appelée monitoring de navigateurs. +
+ [Événement de span](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) + + L'événement Span collecté pour le traçage distribué contiendra les attributs collectés pendant le span. + + L'agent suivant prend en charge l'ajout d'un attribut utilisateur personnalisé à l'événement span : + + * [agent Java 5.13.0 et supérieur](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-5130) + * [Agent Go 3.6.0 et au dessus](/docs/release-notes/agent-release-notes/go-release-notes/go-agent-360) + * [Agent .NET 8.25 et versions ultérieures](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-8252140) + * [Agent Node.js 6.10.0 et versions ultérieures](/docs/release-notes/agent-release-notes/nodejs-release-notes/node-agent-6-10-0/) + * [agent PHP 9.12.0.268 et supérieur](/docs/release-notes/agent-release-notes/php-release-notes/php-agent-9120268) + * [Python agent 5.8.0.136 et versions ultérieures](/docs/release-notes/agent-release-notes/python-release-notes/python-agent-580136) + * [Agent Ruby 6.8.0 et supérieur](/docs/release-notes/agent-release-notes/ruby-release-notes/ruby-agent-680360) +
+ [Segments de transaction](/docs/apm/transactions/transaction-traces/transaction-traces-trace-details-page) + + Chaque segment d'une trace de transaction contiendra un attribut enregistré pour ce segment. +
+ +## Attribut de demande de visualisation [#viewing] + +Les attributs de demande sont associés à une trace de transaction spécifique, à une trace de navigateur et à des erreurs dans APM et dans le dashboard. Vous pouvez voir l'attribut enregistré avec une demande lors de la visualisation de [trace](/docs/apm/transactions/transaction-traces/introduction-transaction-traces#find-view) ou [de l'erreur](/docs/apm/applications-menu/error-analytics/error-analytics-explore-events-behind-errors) individuelle. L&apos;attribut personnalisé peut être [requête via NRQL](/docs/insights/nrql-new-relic-query-language/nrql-resources/nrql-syntax-components-functions#syntax) exactement comme n&apos;importe quel autre attribut. + +screen-tx-trace-attributes.png + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitoring &gt; Transactions &gt; (select a transaction) &gt; (select a trace):** Voici un exemple de l&apos;agent Ruby des **Request attributes** et **Custom attributes** pour une trace de transaction. L&apos;attribut exact dépend de votre agent et de votre configuration d&apos;attribut. +
+ +## Limites [#attlimits] + +L'attribut utilisateur, l'attribut de demande et le fichier d'attente des paramètres des messages sont limités en nombre et en taille. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Parameter** + + + + **Limitations** + +
+ Transaction + + Limité à 64 attributs utilisateur +
+ Clé d'attribut + + Limité à 256 octets chacun + + Si la clé est supérieure à 256 octets, l'attribut ne sera pas enregistré. +
+ Valeur de l'attribut + + Limité à 256 octets chacun + + Si la valeur est supérieure à 256 octets, la valeur de l'attribut sera tronquée. +
+ +## attribut spécifique à l'agent [#agent-specific] + +Chaque agent APM [collecte l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes). L&apos;attribut pris en charge dépend de l&apos;agent spécifique : + +* [Go](/docs/agents/go-agent/instrumentation/go-agent-attributes) +* [Java](/docs/agents/java-agent/attributes/enabling-disabling-attributes-java) +* [.NET](/docs/agents/net-agent/attributes/net-agent-attributes) +* [Node.js](/docs/agents/nodejs-agent/attributes/nodejs-agent-attributes) +* [PHP](/docs/agents/php-agent/attributes/php-agent-attributes) +* [Python](/docs/agents/python-agent/attributes/python-agent-attributes) +* [Ruby](/docs/agents/ruby-agent/attributes/ruby-agent-attributes) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/collect-custom-metrics.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/collect-custom-metrics.mdx new file mode 100644 index 00000000000..c679bf94887 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/collect-custom-metrics.mdx @@ -0,0 +1,95 @@ +--- +title: 'Collecter des métriques personnalisées (APM, navigateur, mobile)' +metaDescription: 'For an overview of custom metrics, including examples, best practices, and a quick reference by New Relic agent, start here.' +freshnessValidatedDate: never +translationType: machine +--- + +agent APM, agent de navigateur et agent mobile rapportent un type de données métriques appelé [intervalle de temps métrique data](/docs/using-new-relic/data/understand-data/new-relic-data-types#timeslice-data). Ces agents vous permettent de signaler des données d&apos;intervalle de temps métrique personnalisées à partir de votre application et de les voir à côté des données New Relic par défaut. Créez des métriques personnalisées pour enregistrer des données de performances arbitraires via un appel d&apos;API, telles que : + +* Données de synchronisation +* Données sur les ressources informatiques +* Abonnement ou achat de données + +Après avoir signalé ces données, vous pouvez [les explorer et les interroger](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-apm-metric-timeslice-data-nrql). + +## Nommez les métriques personnalisées [#naming] + +Commencez tous les noms de métriques personnalisées par `Custom/`; par exemple, `Custom/MyMetric/My_label`. Le préfixe `Custom/` est requis pour toutes les métriques personnalisées. + +Tous les noms de métriques personnalisées qui ne commencent pas par `Custom/` sont soumis à toutes les autres règles de regroupement. Il se peut qu&apos;ils ne soient pas visibles lors de l&apos;interrogation ou qu&apos;ils n&apos;apparaissent pas comme prévu dans l&apos;UI. + +custom-metric-syntax.png + +Un nom métriques personnalisées se compose du préfixe `Custom/`, du nom de la catégorie ou de la classe et d&apos;une méthode ou d&apos;une étiquette, chacun séparé par une barre oblique. + +## Outil métriques personnalisé [#implementing] + +La mise en œuvre de métriques personnalisées nécessite un appel d'API. Les détails exacts de l'appel d'API varient selon agent. + + + Si vous testez votre implémentation de métriques personnalisées, exécutez l'agent pendant au moins 10 minutes pour vous assurer que l'appel d'API est signalé à New Relic. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Agent de New Relic + + Mise en œuvre +
+ agent APM + + * **C SDK:** [`newrelic_record_custom_metric()`](https://newrelic.github.io/c-sdk/libnewrelic_8h.html#aee71182588ace508cc816044d2024ff3) + * **Go:** [`app.RecordCustomMetric`](/docs/agents/go-agent/instrumentation/create-custom-metrics-go) + * **Java:** [`recordMetric`](http://newrelic.github.io/java-agent-api/javadoc/com/newrelic/api/agent/NewRelic.html#recordMetric\(java.lang.String,%20float\)) + * **.NET:** [`RecordMetric`](/docs/agents/net-agent/net-agent-api/recordmetric-net-agent) + * **Node.js:** [`recordMetric`](/docs/agents/nodejs-agent/supported-features/nodejs-custom-metrics) + * **PHP:** [`newrelic_custom_metric`](/docs/agents/php-agent/php-agent-api/newrelic_custom_metric) + * **Python:** [`record_custom_metric` et `register_data_source`](/docs/python/python-custom-metrics) + * **Ruby:** [`record_metric` et `increment_metric`](/docs/ruby/ruby-custom-metrics) +
+ Agent mobile New Relic + + [Enregistrer des métriques personnalisées SDK](/docs/mobile-monitoring/new-relic-mobile/mobile-sdk/record-custom-metrics/) +
+ New Relic de navigation agent + + Le navigateur ne prend pas en charge les métriques personnalisées. Pour les options d'ajout de données personnalisées au navigateur, consultez [l'instrumentation du navigateur](/docs/browser/new-relic-browser/page-load-timing-resources/instrumentation-browser-monitoring). +
+ +## Évitez les problèmes de regroupement [#best\_practices][#best_practices] + +La collecte d'un trop grand nombre de tranches de temps métriques peut avoir un impact sur les performances de votre application et New Relic. Par exemple, si vous avez des milliers d'utilisateurs individuels, évitez de créer des métriques pour suivre les performances de leurs identifiants d'utilisateur uniques. Cela pourrait donner lieu à un nombre de mesures tellement important qu’il deviendrait presque impossible de naviguer ou de donner un sens aux données. Utilisez plutôt un espace réservé, tel qu’un astérisque (\*), au lieu d’identifiants d’utilisateur individuels. + + + Pour éviter d'éventuels problèmes de données, essayez de maintenir le nombre total de tranches de temps métriques uniques introduites par les métriques personnalisées sous 2000. + + +Lorsque le nombre total de noms de métriques uniques dépasse 5 000, des limites commencent à s'appliquer automatiquement, affectant la manière dont les données s'affichent dans l'interface utilisateur, comme dans les graphiques et les tableaux. Pour plus d'informations, consultez [Problèmes de regroupement métrique](/docs/features/metric-grouping-issues). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/custom-instrumentation.mdx new file mode 100644 index 00000000000..59cdb11476c --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/custom-instrumentation.mdx @@ -0,0 +1,95 @@ +--- +title: instrumentation personnalisée +tags: + - Agents + - Manage APM agents + - Agent data +metaDescription: 'For an overview of custom instrumentation, including examples, best practices, and a quick reference by New Relic agent, start here.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic collecte et rapporte des informations sur [les transactions Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) et [non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions), telles que les tâches en arrière-plan. New Relic produit normalement des informations complètes automatiquement, sans qu&apos;il soit nécessaire de modifier le code de votre application. Cependant, si vous n’utilisez pas un [framework pris en charge](/docs/agents/manage-apm-agents/installation/compatibility-requirements), vous devrez peut-être ajouter une instrumentation personnalisée. + +L'instrumentation personnalisée est également utile pour : + +* Ajoutez des détails à votre [trace de transaction](/docs/apm/transactions/transaction-traces/introduction-transaction-traces#find-view). +* Bloquez instrumentation sur les transactions sélectionnées que vous ne souhaitez pas instrumenter. +* instrumentez une partie de votre code que New Relic ne capte tout simplement pas. + +instrumentation personnalisée qui crée une nouvelle transaction collecte à la fois des données [d'intervalle de temps métrique](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#timeslice-data) et [d'événement](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#event-data) . instrumentation personnalisée pour les transactions déjà instrumentées ne collecte que des données d&apos;intervalle de temps métrique. + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + +## Quand utiliser une instrumentation personnalisée [#choosing] + +L'instrumentation personnalisée vous permet de suivre les interactions qui ne sont pas capturées par l'instrumentation automatique de New Relic. L'instrumentation personnalisée peut également ajouter des détails à votre [trace de transaction](/docs/traces/transaction-traces), pour vous aider à identifier les problèmes clés. + +New Relic collecte automatiquement les données de nombreux frameworks. Si vous utilisez un [frameworkpris en charge](/docs/agents/manage-apm-agents/installation/compatibility-requirements), vous ne devriez pas avoir besoin instrumentation personnalisée pour collecter les tranches de temps métriques, les événements et les traces. + +Cependant, si vous rencontrez l’une de ces situations, vous aurez peut-être besoin d’une instrumentation personnalisée : + +* Les transactions n'apparaissent pas dans l'UI. +* Les traces de transaction incluent de gros blocs de code application sans détails complets. + +Si vous utilisez un [framework pris en charge](/docs/agents/manage-apm-agents/installation/compatibility-requirements), mais que vous ne voyez pas de transaction sur la [page APM**Transactions** ](/docs/applications-menu/transactions-dashboard), obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com) pour vous assurer que l&apos;instrumentation du framework fonctionne. + +## Mettre en œuvre une instrumentation personnalisée [#implementing] + +Chaque agent implémente l'instrumentation personnalisée différemment : + + + + Étant donné que les applications Golang s'exécutent à partir d'un fichier binaire natif compilé, toute l'instrumentation New Relic doit être effectuée manuellement. Consultez [Instrumenter les transactions Go](/docs/agents/go-agent/get-started/instrument-go-transactions) et [Instrumenter les segments Go](/docs/agents/go-agent/get-started/instrument-go-transactions) pour savoir comment configurer l&apos;instrumentation dans votre application Go. + + + + L'agent Java de New Relic prend en charge deux méthodes d'instrumentation personnalisée : + + * [Annotation](/docs/java/custom-instrumentation-by-annotation): ajoutez des annotations **@Trace** à votre code pour garantir des méthodes spécifiques à l&apos;instrument New Relic . L&apos;annotation est facile à mettre en œuvre, si vous n&apos;êtes instrumenté que de quelques méthodes. Pour une instrumentation plus complexe, ou si vous ne parvenez pas à modifier votre code, utilisez XML. + + * [XML](/docs/java/custom-instrumentation-by-xml): définissez les méthodes que vous souhaitez que New Relic monitore dans un fichier XML. L&apos;instrumentation XML est flexible et ne nécessite pas de modification de votre code, mais elle est plus difficile à résoudre que l&apos;annotation. + + Pour plus d'informations, consultez [Java instrumentation personnalisée](/docs/java/custom-instrumentation-for-java). + + + + L'agent .NET de New Relic prend en charge deux méthodes d'instrumentation personnalisée : + + * attribut : Annotez votre code avec des appels API d'agent pour instrumenter des méthodes spécifiques. L'annotation est facile à mettre en œuvre, mais nécessite la modification de votre code source. + + * XML : définissez les méthodes que vous souhaitez que New Relic instrumente dans un fichier XML. L'instrumentation XML ne nécessite pas de modifier votre code source, mais est plus compliquée à créer et à maintenir à jour que l'instrumentation d'attribut. + + Pour plus d’informations, consultez [Introduction à l’instrumentation personnalisée .NET](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation). + + + + L'agent Node.js de New Relic utilise l'appel d'API pour une instrumentation personnalisée. Pour plus d'informations, consultez [l'instrumentation personnalisée Node.js.](/docs/agents/nodejs-agent/supported-features/nodejs-custom-instrumentation) + + + + L'agent PHP de New Relic utilise des appels API pour l'instrumentation personnalisée. Pour plus d'informations, consultez [instrumentation PHP personnalisée](/docs/php/php-custom-instrumentation). + + + + L'agent Python de New Relic prend en charge deux méthodes d'instrumentation personnalisée : + + * [fichier de configuration](/docs/python/python-instrumentation-by-config-file): Utilisez le agent configuration fichier pour spécifier les fonctions et méthodes que vous souhaitez instrumenter. Le fichier de configuration de l&apos;agent est facile à configurer et ne nécessite pas de modifier votre code. Il est cependant moins flexible que l&apos;appel d&apos;API. + + * [Appels d'API](/docs/python/python-instrumentation-by-api): Modifiez votre code pour appeler l&apos;API Python de New Relic. L&apos;API est plus flexible que l&apos;instrumentation via le fichier de configuration, mais elle nécessite de modifier votre code. + + Pour plus d'informations, consultez [Python instrumentation personnalisée](/docs/python/python-custom-instrumentation). + + + + L'agent Ruby de New Relic utilise l'appel d'API pour définir les méthodes cibles et leur ajouter un traceur de transaction. Pour plus d'informations, consultez [instrumentation Ruby personnalisée](/docs/ruby/ruby-custom-instrumentation). + + + +## Problèmes de regroupement [#mgi] + +Un [problème de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues) se produit lorsqu&apos;un compte envoie trop de tranches de temps métriques nommées différemment à New Relic et que ces transactions Web individuelles ne sont pas correctement agrégées. Par exemple, au lieu d’un seul nom de métrique `/user/controlpanel/` , vous pourriez voir `/user/controlpanel/alice`, `/user/controlpanel/bob` et `/user/controlpanel/carol`. + +instrumentation personnalisée peut entraîner des problèmes de regroupement métrique si vous introduisez trop de tranches de temps métriques nommées de manière unique que New Relic ne peut pas regrouper efficacement. Si vous envoyez des milliers de métriques, New Relic peut appliquer des règles pour réduire le nombre de transactions. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/link-your-applications-kubernetes.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/link-your-applications-kubernetes.mdx new file mode 100644 index 00000000000..38fb3d816aa --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/link-your-applications-kubernetes.mdx @@ -0,0 +1,14 @@ +--- +title: Liez votre application à Kubernetes +tags: + - Agents + - Manage APM agents + - Agent data +metaDescription: Information on how to link APM agents and Kubernetes. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent peut être configuré pour collecter les variables d'environnement liées à Kuberneteset les ajouter à l'événement Transaction pour fournir un contexte entre votre cluster Kubernetes et vos services. Pour plus de détails sur les avantages, consultez [cet article de blog](https://blog.newrelic.com/engineering/monitoring-application-performance-in-kubernetes/). + +Pour plus d'informations sur la compatibilité deagent et les instructions installation , consultez notre [documentationKubernetes ](/docs/integrations/kubernetes-integration/metadata-injection/kubernetes-apm-metadata-injection). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected.mdx new file mode 100644 index 00000000000..eb58c62149c --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected.mdx @@ -0,0 +1,112 @@ +--- +title: "Gérer les erreurs dans APM\_: collecter, ignorer ou marquer comme prévu" +tags: + - Agents + - Manage APM agents + - Agent data +metaDescription: 'We provide a variety of configuration tools and API calls to create, ignore, or mark errors as expected.' +freshnessValidatedDate: never +translationType: machine +--- + +l'agent APM signale automatiquement les données d'erreur pour [le framework pris en charge](/docs/agents/manage-apm-agents/installation/compatibility-requirements). Pour optimiser les rapports d&apos;erreurs et les alertes, vous pouvez gérer davantage les erreurs afin de : + +* Détectez les erreurs que nous n'instrumentons pas par défaut. +* erreur ignorée que vous ne souhaitez pas du tout signaler. +* Filtrez le bruit des erreurs attendues afin de pouvoir vous concentrer sur les erreurs qui affectent les performances. (Agent Java, Ruby, Node, Python et .NET uniquement) + + + Consultez notre [didacticiel de suivi des erreurs](/docs/tutorial-error-tracking/respond-outages) en trois parties. Le didacticiel utilise un exemple de scénario pour une panne d&apos;application afin de vous guider dans la réponse et la résolution des erreurs critiques. + + +## Collecter les erreurs non instrumentées par défaut [#error-collection] + +L'agent APM inclut l'appel d'API pour signaler (ou « remarquer ») des erreurs. Ils sont utiles lorsque APM n'instrumente pas votre framework automatiquement ou lorsqu'il existe des erreurs particulières qui ne sont pas détectées pour votre framework pris en charge. + +Pour savoir comment demander à un agent APM de signaler une erreur, consultez la documentation de l'API spécifique à l'agent : + +* **Go**: [`NoticeError()`](https://github.com/newrelic/go-agent/blob/master/transaction.go) +* **Java**: [`NoticeError()`](http://newrelic.github.io/java-agent-api/javadoc/index.html?com/newrelic/api/agent/NewRelic.html) +* **.NET**: [`NoticeError()`](/docs/agents/net-agent/net-agent-api/notice-error) +* **Node.js**: [`noticeError()`](/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api/#noticeError) +* **PHP**: [`newrelic_notice_error()`](/docs/agents/php-agent/php-agent-api/newrelic_notice_error) +* **Python**: [`notice_error()`](/docs/agents/python-agent/python-agent-api/noticeerror-python-agent-api/) +* **Ruby**: [`notice_error()`](https://www.rubydoc.info/gems/newrelic_rpm/NewRelic/Agent#notice_error-instance_method) + +## erreur ignorée [#ignore] + +Parfois, l'agent APM génère une erreur que vous ne souhaitez pas signaler, comme des erreurs contenant des informations sensibles comme des erreurs de connexion d'utilisateur. Si vous ne souhaitez pas qu'une erreur soit signalée à notre [collecteur](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector), vous pouvez ignorer l&apos;erreur et l&apos;agent APM supprime entièrement l&apos;erreur. + + + Pour Java, .NET, Ruby, Node.js, Go et Python: si vous souhaitez signaler des erreurs à APM mais que vous ne voulez pas que ces erreurs affectent votre Apdex ou votre taux d'erreur, [marquez-les plutôt comme attendues](#expected) . + + +Il existe deux manières d'ignorer l'erreur : via la agent configuration ou via configuration côté serveur dans UI l': + + + + Cette option dépend du fait que l'agent prenne en charge [la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration). + + 1. Si ce n'est pas déjà fait, [activez la configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration#enable-ssc). + 2. [Accédez au menu **Server-side configuration** ](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration#customize-ssc)de l’application qui comporte des erreurs que vous souhaitez ignorer. + 3. Sous **Error collection**, recherchez **Ignore from error collection**. Ajoutez le **HTTP code** ou le **Error class** pour les erreurs que vous souhaitez ignorer. + 4. Sélectionnez **Save server-side configuration**. + + + + Pour ignorer une erreur à l’aide de la configuration de l’agent, consultez la documentation de configuration de votre agent : + + * **Go**: [`ErrorCollector.IgnoreStatusCodes`](/docs/agents/go-agent/instrumentation/go-agent-configuration#error-ignore-status). + * **Java**: `error_collector.ignore_classes`, `error_collector.ignore_classes.message` ou `error_collector.ignore_status_codes`. Pour plus d&apos;informations, voir [Configuration des erreurs de l'agent Java](/docs/agents/java-agent/configuration/java-agent-error-configuration). + * **.NET**: [`ignoreErrors`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#error-ignoreErrors) ou [`ignoreStatusCodes`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#error-ignoreStatusCodes). + * **Node.js**: `ignore_status_codes`, [`ignore_classes`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#error_ignore) ou [`ignore_messages`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#error_ignore). + * **PHP**: [`error_collector.ignore_exceptions`](/docs/apm/agents/php-agent/configuration/php-agent-configuration/#inivar-err-ignore-exceptions) ou [`error_collector.ignore_errors`](/docs/apm/agents/php-agent/configuration/php-agent-configuration/#inivar-err-ignore-errors). + * **Python**: [`error_collector.ignore_classes`](/docs/agents/python-agent/configuration/python-agent-configuration/#error-ignore) ou [`error_collector.ignore_status_codes`](/docs/agents/python-agent/configuration/python-agent-configuration/#error-ignore-status-codes). + * **Ruby**: [`error_collector.ignore_errors`](/docs/agents/ruby-agent/configuration/ruby-agent-configuration#error_collector-ignore_errors). + + + +## Erreur attendue (Java, Node.js, (Python, Ruby, Go et .NET uniquement) [#expected] + +Pour l'agent APM ci-dessous, vous pouvez marquer les erreurs comme prévues. Ces erreurs seront signalées à APM et pourront être visualisées, mais elles n'affecteront pas l'[Apdex](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction) ou [le taux d'erreur](/docs/apm/applications-menu/error-analytics/error-analytics-explore-events-behind-errors) (ou [la condition d'alerte](/docs/alerts/new-relic-alerts/defining-conditions/define-alert-conditions) basée sur le taux d&apos;erreur). + +Pour configurer les erreurs comme prévu, consultez la documentation spécifique à l'agent : + +* [Java](/docs/agents/java-agent/configuration/java-agent-error-configuration) +* [Ruby](/docs/agents/ruby-agent/configuration/ruby-agent-configuration/#error-collector) +* [Node.js](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration) +* [.NET](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#error_collector) +* [Go](/docs/apm/agents/go-agent/configuration/go-agent-configuration/#error-collector) +* [Python](/docs/agents/python-agent/configuration/python-agent-configuration/#error-collector-settings) + +Si des erreur attendues sont activées, la page [**Error analytics**](/docs/apm/applications-menu/error-analytics/error-analytics-explore-events-behind-errors) d&apos;APM aura, par défaut, un filtre appliqué avec `error.expected` l&apos;attribut défini `false` sur, ce qui signifie qu&apos;erreur attendue ne sera pas affichée. Pour afficher l&apos;erreur attendue, désactivez le filtre `error.expected` . + +Pour visualiser l'erreur attendue, [requêtez vos données](/docs/using-new-relic/data/understand-data/query-new-relic-data): + +* Pour afficher les graphiques des erreurs attendues, créez une requête pour l'attribut [`error.expected`](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes#transerror-expected) . +* Pour créer [une condition d'alerte pour une requête NRQL ](/docs/alerts/new-relic-alerts/defining-conditions/create-alert-conditions-nrql-queries), utilisez l&apos;attribut `error.expected`. + +## Empreintes d'erreur avec la boîte de réception des erreurs [#error-fingerprinting] + +La boîte de réception des erreurs regroupe intelligemment les occurrences d'erreurs pour réduire le bruit et mettre en évidence les erreurs importantes. + +Les événements d'erreur sont regroupés dans un groupe d'erreurs lorsqu'ils partagent la [même empreinte](/docs/errors-inbox/errors-inbox/#how-groups-work). Bien que nos règles gérées soient capables de fournir un regroupement automatique des erreurs en fonction d&apos;un ensemble prédéfini de modèles, il est impossible de reconnaître toutes les combinaisons possibles. Pour cette raison, les clients peuvent également définir leur propre empreinte digitale via une fonction de rappel s&apos;ils constatent que nos règles gérées ne regroupent pas les occurrences avec précision. + +Pour configurer une logique d’empreinte digitale personnalisée, consultez la documentation spécifique à l’agent : + +* [Go](/docs/apm/agents/go-agent/api-guides/guide-using-go-agent-api/#error-fingerprinting) +* [Java](/docs/apm/agents/java-agent/api-guides/java-agent-api-register-error-group-callback-to-set-fingerprint) +* [Node.js](/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api/#errors) +* [.Net](/docs/apm/agents/net-agent/net-agent-api/seterrorgroupcallback-net-agent-api) +* [PHP](/docs/apm/agents/php-agent/php-agent-api/newrelic_set_error_group_callback) +* [Python](/docs/apm/agents/python-agent/python-agent-api/seterrrorgroupcallback-python-agent-api) +* [Ruby](/docs/apm/agents/ruby-agent/api-guides/sending-handled-errors-new-relic/#error-fingerprinting) + +## Afficher les erreurs dans l'UI [#view-errors] + +Entre autres endroits, les données d'erreur apparaissent dans ces parties de l'UI: + +* [Page d'analyse des erreurs](/docs/apm/applications-menu/error-analytics/introduction-error-analytics): affiche des graphiques détaillés et une analyse visuelle des erreurs. +* [Page APM **Overview** ](/docs/apm/applications-menu/monitoring/apm-overview-page): affiche une vue d&apos;ensemble de votre application, qui inclut les erreurs. +* [condition d'alerte](/docs/alerts/new-relic-alerts/defining-conditions/define-alert-conditions): peut être basée sur le taux d&apos;erreur. +* L'événement [`transactionError`](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes#transactionerror-event) : contient des données d&apos;erreur sous-jacentes, qui peuvent être utilisées dans [une requête NRQL ](/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/real-time-streaming.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/real-time-streaming.mdx new file mode 100644 index 00000000000..00fe7dd9712 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/real-time-streaming.mdx @@ -0,0 +1,98 @@ +--- +title: Détails sur le streaming en temps réel d'APM +tags: + - Agents + - Manage APM agents + - Agent data +metaDescription: 'For APM, query and visualize data for transactions, errors, and custom events in near real time.' +freshnessValidatedDate: never +translationType: machine +--- + +Avec le streaming en temps réel, vos données d'événement APM sont envoyées à New Relic toutes les cinq secondes. Vous pouvez requêter et visualiser vos données pour les transactions, les erreurs et les événements personnalisés en temps réel. Les frais moins élevés permettent des rafraîchissements de graphiques plus rapides et une requête plus rapide des données les plus importantes pour vous. + +Pour plus de détails sur les agents qui prennent en charge cette fonctionnalité, voir [les versions d'agent](#enable). + +Vous souhaitez diffuser vos données New Relic vers le cloud ? Voir [les données de streaming export](/docs/apis/nerdgraph/examples/nerdgraph-streaming-export). + +## Pourquoi c'est important [#benefits] + +Le streaming temps réel n'entraîne pas l'envoi d'événements supplémentaires. La combinaison de publications plus fréquentes, avec un nombre plus petit d'événements par publication, donne environ le même nombre d'événements par minute qu'il y en aurait sans le streaming en temps réel. + +L'image suivante montre une comparaison entre les données envoyées à New Relic avec et sans streaming en temps réel. Notez que 10 000 est un exemple de nombre d'événements ; certains agents ont des limites par défaut inférieures. + +Real time streaming diagram + +Les limites globales du nombre d'événements pouvant être envoyés par minute n'ont pas changé. De plus, les données non liées à l'événement (spans, trace et métriques) ne sont pas affectées ; ils sont toujours envoyés toutes les minutes. + +Utilisez le streaming en temps réel pour comprendre rapidement l'impact lorsque quelque chose a changé, comme le déploiement d'une nouvelle version d'application. + +* Examinez les indicateurs de performances clés (débit, taux d'erreur, cartographie, etc.) en temps réel proche. +* Réagissez rapidement aux conditions de défaillance et aux anomalies. +* Tirez le meilleur parti de notre [dashboard](#create). +* Réduisez le temps moyen de détection grâce au rapport d'événement APM toutes les cinq secondes. + +## requête temps réel données de streaming [#nrql] + +Lors de la création de graphiques, incluez les éléments suivants dans votre requête NRQL : + + + + + + + + + + + + + + + + + + + + + + + +
+ Clause NRQL + + Commentaires +
+ `SINCE 5 minutes ago` + + Assurez-vous d'ajouter une [clause`SINCE 5 minutes ago` ](/docs/query-data/nrql-new-relic-query-language/getting-started/nrql-syntax-components-functions#sel-since)à votre requête NRQL afin de profiter de l&apos;intervalle d&apos;actualisation du graphique de 5 secondes. Cela est dû au fait que l’ [intervalle d’actualisation du graphique](/docs/insights/use-insights-ui/manage-dashboards/insights-chart-refresh-intervals) est basé sur la fenêtre temporelle. +
+ `TIMESERIES` seau + + Pour définir l'intervalle d'actualisation des graphiques de séries chronologiques, vous pouvez également spécifier la taille du bucket comme argument facultatif de la [clause`TIMESERIES` ](/docs/query-data/nrql-new-relic-query-language/getting-started/nrql-syntax-components-functions#sel-timeseries). Par exemple, `SINCE 30 minutes ago TIMESERIES 5 seconds` affichera une fenêtre de 30 minutes avec une résolution de 5 secondes. Vous pouvez avoir un maximum de 366 buckets. +
+ +## Créer des graphiques de streaming en temps réel [#create] + +Vous pouvez visualiser les résultats de votre requête NRQL via des graphiques en temps réel : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; Query builder**. +2. Utilisez l'[explorateur Métriques & événement](/docs/query-your-data/explore-query-data/browse-data/introduction-data-explorer) pour commencer à construire un graphique. +3. Pour la requête applicable, passez la souris sur la requête et cliquez sur **Edit in query builder** pour affiner votre requête. +4. Dans votre requête NRQL, ajustez les [clauses`SINCE` et `TIMESERIES` ](#nrql)pour profiter des intervalles d&apos;actualisation de 5 secondes. + +## Versions d'agent avec cette fonctionnalité [#enable] + +le streaming temps réel est pris en charge par tous les agents APM. Voici les versions minimales agent : + +* **Go:** [v2.8.0 ou supérieur](/docs/release-notes/agent-release-notes/go-release-notes) +* **Java:** [v5.5.0 ou supérieur](/docs/release-notes/agent-release-notes/java-release-notes) +* **.NET:** [v8.23.107.0 ou supérieur](/docs/release-notes/agent-release-notes/net-release-notes) +* **Node.js:** [v5.13.0 ou supérieur](/docs/release-notes/agent-release-notes/nodejs-release-notes) +* **PHP:** [v9.5.0.252 ou supérieur](/docs/release-notes/agent-release-notes/php-release-notes) +* **Python:** [v5.2.0.127 ou supérieur](/docs/release-notes/agent-release-notes/python-release-notes) +* **Ruby:** [v6.7.0.359 ou supérieur](/docs/release-notes/agent-release-notes/ruby-release-notes) + + + Si la création de rapports sur les événements de transaction est [désactivée](/docs/insights/use-insights-ui/manage-account-data/data-summary-page-manage-apps-reporting-insights#enable-disable), cela peut affecter certains éléments UI dans New Relic. Vous pouvez voir des graphiques vides sur certaines pages UI qui s’appuient sur ces données. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/triage-run-diagnostics.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/triage-run-diagnostics.mdx new file mode 100644 index 00000000000..2d9cd07b357 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/agent-data/triage-run-diagnostics.mdx @@ -0,0 +1,203 @@ +--- +title: Dépannage avec la page de résumé APM +tags: + - APM + - Triage + - Diagnostics +metaDescription: 'With the New Relic APM summary page, run diagnostics with application monitoring tools to quickly resolve incidents.' +freshnessValidatedDate: never +translationType: machine +--- + +Nos outils peuvent vous aider à résoudre les incidents lorsque vous disposez de peu de temps. Avec la page de résumé APM , vous pouvez voir un aperçu des défaillances potentielles de vos applications et obtenir des mesures importantes sur chacun de vos services. C&apos;est le premier endroit où vous irez pour vérifier l&apos;état de votre service, comprendre les problèmes dans un contexte plus large et prendre les mesures nécessaires pour résoudre le problème. + +A screenshot depicting the APM summary page. + +Ce document vous présente un exemple *fictif* d&apos;utilisation des outils APM de New Relic pour déterminer la cause première de la dégradation du service. Vous allez explorer une situation dans laquelle vous travaillez pour une entreprise de commerce électronique fictive qui vend des chaussures. Vous êtes responsable ingénierie au sein de l&apos;équipe caisse. Les clients se plaignent de devoir attendre trop longtemps avant de payer. + +Une fois qu'un client a placé une paire de chaussures dans son panier et décide qu'il est temps de passer à la caisse, il appuie sur le bouton `Pay Now` . `Checkout-service` est l&apos;entité qui gère la fonctionnalité du bouton `Pay Now` . + +Pour comprendre pourquoi les clients ne peuvent pas cliquer sur le bouton `Pay Now` , ouvrez APM et sélectionnez votre `Checkout-service`. + + + + ## Identifiez les points sensibles avec des tuiles récapitulatives + + Avant de plonger dans les détails, il est important de regarder d’abord les tuiles récapitulatives en haut de la page. Ces vignettes vous alertent immédiatement de tout problème, vulnérabilité ou panne de déploiement de votre système. Si les tuiles en haut de votre page affichent un état vide, cliquez sur `Set up now` pour activer chaque tuile. + + A screenshot depicting the apm summary tiles + + ### Problèmes [#issues] + + Un moyen important de suivre les comportements inhabituels de votre système consiste à utiliser des alertes. Disons que vous souhaitez savoir quand le taux d’erreur de transaction pour `Checkout-service` dépasse 10 %. Vous créeriez une [condition d’alerte](/docs/alerts-applied-intelligence/new-relic-alerts/get-started/your-first-nrql-condition/) et définiriez les règles qui déclencheront un incident. Un ou plusieurs incidents créent un problème. Cette tuile affichera tous les problèmes de votre service. + + Dans cet exemple, vous avez déjà configuré votre condition d'alerte afin que lorsque vous scannez vos tuiles récapitulatives, vous voyiez immédiatement que votre système présente deux problèmes critiques. Cliquez sur la tuile pour afficher les détails de chaque problème critique, l’incident qu’ils contiennent et leur entité associée. + + A screenshot depicting the issues summary tile + + ### Dernier déploiement [#last-deployment] + + Le marqueur de déploiement vous aide à monitorer les résultats de chaque mise à jour que vous apportez à votre service. Cette mosaïque montre le changement du taux d’erreur et du temps de réponse déclenché par votre dernier déploiement. + + À partir de 15 minutes après un déploiement, cette mosaïque affichera une comparaison entre les données collectées avant et après le déploiement. Si vous avez activé une nouvelle fonctionnalité il y a 45 minutes, cette vignette affichera une comparaison entre les 45 minutes avant et 45 minutes après. Pendant les trois premières heures suivant un déploiement, cette mosaïque affichera uniquement une comparaison du temps écoulé depuis l'activation avec le temps correspondant avant l'activation. Après trois heures, la tuile utilise la comparaison standard de 3 heures. + + Pour une plage horaire personnalisée, cliquez sur la tuile pour accéder à la page principale de déploiement et utilisez le sélecteur d'intervalle de temps qui s'y trouve. + + Pour cet exemple, [votre dernier déploiement](/docs/apm/apm-ui-pages/events/record-deployments/) a déclenché une augmentation de 27 % du taux d’erreur et une augmentation de 5 % du temps de réponse. Cliquez sur la tuile pour afficher votre dernier déploiement et toutes les erreurs, journaux, alertes et tendances associés. + + A screenshot showing the deployment summary tile + + ### Niveaux de service [#service-levels] + + Les niveaux de service permettent de mesurer les performances d'un service du point de vue de l'utilisateur final. Lorsqu'un budget d'erreur d'un niveau de service est dépassé, vous verrez ces types incident : + + * **Non-compliant** signifie que vous avez consommé tout le budget d&apos;erreur pour cette période. Soyez donc prudent si vous devez déployer et prévoyez du travail pour améliorer vos SL. + * **At risk** Cela signifie que votre budget d&apos;erreur est presque épuisé et que vous devez être plus prudent pour le reste de la période. + + Pour cet exemple, vous avez déjà [configuré votre niveau de service](/docs/service-level-management/intro-slm/) et vous avez dépassé votre budget d&apos;erreur dans deux cas. Cliquez sur la tuile pour voir quelles entités ne sont pas conformes et approfondir votre budget d&apos;erreur. + + A screenshot depicting the service levels summary tile + + ### vulnérabilités [#vulnerabilities] + + La gestion des vulnérabilités fournit une vue d'ensemble de toutes les vulnérabilités de votre logiciel. Chacun de vos agents ou services intégrés, comme Java, .Net ou Github [Dependabot](https://newrelic.com/instant-observability/github-dependabot) détectera automatiquement les vulnérabilités connues de New Relic à suivre. + + Ici, vous pouvez voir que vous avez activé [la gestion des vulnérabilités](/docs/vulnerability-management/overview/) et que 3 `Critical` et 9 `High` vulnérabilités ont été détectées pour votre service de monitoring. Cliquez sur la tuile pour visualiser l&apos;impact de vos vulnérabilités. + + A screenshot depicting the apm vulnerabilities summary tile + + + + ## Passez en revue vos indicateurs clés + + Y a-t-il un problème avec votre `Checkout-service`? Quels systèmes sont concernés et comment ? + + ### Apdex [#apdex] + + A screenshot depicting a sample Apdex score in APM + + Le premier élément à prendre en compte lors de l’enquête sur une panne de service est votre score Apdex. Votre moniteur de score Apdex mesure la satisfaction globale des clients avec votre application. Votre score recherche une combinaison de performances, comme le temps de réponse ou le débit, et le taux d'erreur. + + Apdex est une norme industrielle qui mesure la satisfaction de vos utilisateurs vis-à-vis des temps de réponse de votre application/ service Web. Il est représenté par un score de 0 à 1. Plus votre score est proche de 1, meilleures sont les performances de votre application. La valeur par défaut pour une expérience satisfaisante est de 0,5 seconde, mais vous pouvez définir un objectif différent dans Paramètres. + + Votre score Apdex est généralement divisé selon les couleurs suivantes : + + * **< 0.5 - Gray:** Les performances de votre application sont plus que critiques et nécessitent une action immédiate. + * **0.5-0.7 - Red:** Il y a des problèmes de performances critiques dans votre application et une action immédiate est nécessaire. + * **0.7-0.85 -Orange:** Votre application évolue dans une direction négative et nécessite une enquête plus approfondie. + * **0.85-0.95 - Blue:** C&apos;est la gamme Apdex idéale. Ce score signifie que vous avez parfaitement ajusté votre Apdex T à votre application et que vos performances sont saines. + * **> 0.95 - Blue:** Si votre score Apdex se situe dans cette plage, cela signifie que votre Apdex T est peut-être réglé un peu trop haut et que vous n&apos;obtenez pas une lecture précise des performances de votre application. Vous devriez envisager de réduire votre Apdex T. + + + Si vous avez un score Apdex de 0, cela peut être dû au fait qu'une requête a été renvoyée avec une erreur. Chaque requête comportant une erreur obtient automatiquement un score de 0 sur Apdex. + + + Pour cet exemple, après avoir ouvert votre entité `Checkout-service` dans APM, vous voyez que votre score Apdex a chuté et oscille autour de 0,6. Le graphique est rouge. + + Vous savez maintenant avec certitude que les plaintes de vos clients sont fondées : il y a un problème quelque part dans votre stack. + + Pour en savoir plus sur la façon de comprendre votre score, consultez [Apdex : mesurer la satisfaction des utilisateurs](/docs/apm/new-relic-apm/apdex/apdex-measure-user-satisfaction/). + + ### transaction web + + A screenshot depicting web transactions in the APM summary page + + D'après les rapports des clients, vous savez que le bouton `Pay now` échoue dans votre application, mais vous n&apos;êtes pas sûr de la cause réelle de l&apos;erreur. Vous avez vérifié Apdex et il montre une faible satisfaction des utilisateurs. + + L'étape suivante consiste à déterminer quelle partie du processus de paiement est défectueuse en examinant le **Web-transactions** de votre application. + + Chez New Relic, une transaction est définie comme une unité de travail logique dans une application logicielle. Plus précisément, il fait référence aux appels de fonctions et aux appels de méthodes qui composent cette unité de travail. Pour APM, il s'agira souvent d'un Web de transactions, qui représente l'activité qui se produit à partir du moment où l'application reçoit une demande Web jusqu'au moment où la réponse est envoyée. + + Le temps de transaction Web est divisé en trois parties : + + * Segment bleu : toutes les transactions + * Segment jaune : opérations de base de données + * Segment vert : services externes + + + Si vous essayez de monitorer une application asynchrone, votre temps de réponse (la ligne bleu foncé) pourrait éventuellement être inférieur au temps de réponse de chaque segment individuel (transactions, base de données et externes). Cela peut se produire car une application asynchrone peut traiter plusieurs requests en même temps. Il est donc possible qu’une transaction se « termine » alors que certaines requests sont encore « ouvertes ». + + + Une transaction lente peut être un indicateur fort que quelque chose se comporte de manière anormale, alors jetez un œil au graphique et voyez si certains domaines de votre service prennent plus de temps que la normale pour répondre. Les transactions lentes ressembleront à des pics sur le graphique. + + Vous pouvez également utiliser notre [outil de marqueur de déploiement](/docs/apm/apm-ui-pages/events/record-deployments/) pour vérifier si votre équipe a constaté un changement au moment où les clients ont commencé à se plaindre du fait que le bouton `Pay Now` prenait beaucoup de temps à charger. + + Un marqueur de déploiement apparaît sous la forme d’une épingle grise sur chaque graphique. Vous pouvez survoler l'épingle pour obtenir des informations générales ou cliquer sur le marqueur pour un aperçu plus approfondi du déploiement. + + ### débit + + A screenshot depicting throughput in APM. + + En examinant les temps de réponse pour `Checkout-service` vous pouvez également étudier le débit. **Throughput** est un moyen de mesurer la quantité de travail gérée par votre application. Le débit vous aide à comprendre si le travail est réparti uniformément entre vos hôtes et votre conteneur. Les problèmes de performances peuvent souvent être le symptôme d’un manque de ressources. + + Pour les besoins de cet exemple, vous voyez que le débit est un peu plus élevé que d’habitude. Si votre débit est très élevé pendant une période de dégradation du service, cela peut indiquer que votre application traite plus de travail qu'elle ne peut en gérer. + + D'un autre côté, un faible débit pourrait indiquer que votre application ne gère pas beaucoup requests. Cela pourrait simplement signifier qu'il n'est pas beaucoup utilisé ou qu'un service qui appelle votre application est défectueux et requests ne sont pas traitées. + + ### Erreurs + + A screenshot showing errors in APM. + + Maintenant que vous avez identifié les transactions lentes et analysé votre débit, il est temps d'examiner les erreurs. Le graphique **Errors** vous montre le pourcentage de transactions qui ont entraîné une erreur. + + Dans le contexte de APM, les erreurs représentent les événements `TransactionError` et `ErrorTrace`. + + Dans ce cas, vous voyez un pic dans `Web errors` à peu près au même moment où le temps de réponse Web de votre transaction a augmenté. Vous voyez également un marqueur de déploiement vous alertant d’une modification apportée par votre équipe à votre système. + + Vous voyez maintenant une tendance autour de cette récente déploiement : diminution de la satisfaction des utilisateurs, augmentation du temps de réponse, du débit et des erreurs. + + Utilisez la liste déroulante pour passer à une vue des utilisateurs impactés. Pour savoir comment suivre les utilisateurs impactés, consultez [la boîte de réception des erreurs](/docs/errors-inbox/error-users-impacted/). + + Pour en savoir plus sur la gestion des erreurs, consultez [Gérer les erreurs.](/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/) + + + + ## Situer le problème dans un contexte plus large + + Quelles parties de votre stack sont en difficulté ? Le problème a-t-il été causé par des changements dans l'entité qui appelle votre service ou qui est appelée par votre service ? + + ### Logs + + A screenshot showing logs in apm + + Le graphique du log vous donne une vue récapitulative du log de votre application signalé via notre fonctionnalité [de logs en contexte](/docs/logs/logs-context/get-started-logs-context/) . En cliquant sur **Logs**, vous accédez à l&apos;[UI complète du log](/docs/logs/ui-data/use-logs-ui/). + + Pour cet exemple, après avoir examiné vos métriques clés, vous savez que vous avez un problème avec un déploiement récent qui a affecté `Web-transaction` fois, ce qui a entraîné un pic d&apos;erreurs et une faible satisfaction des utilisateurs. Maintenant, vous voulez savoir comment cela a affecté le reste de votre service. + + Avec les logs en contexte, vos logs individuels sont étiquetés avec l'entité ou le service auquel ils sont liés. Sur le graphique du log, vous pouvez sélectionner **Log patterns (top 10)** pour afficher des groupes de logs identiques jusqu&apos;à la chaîne unique identifiant. + + Pour en savoir plus sur le fonctionnement log patterns , consultez [Modèles de journaux](/docs/logs/ui-data/find-unusual-logs-log-patterns/). + + ### Tracing distribué [#distributed-tracing] + + A screenshot depicting distributed tracing information on the APM summary page + + Le graphique **Distributed tracing insights** montre les entités en amont et en aval susceptibles d&apos;entraîner une augmentation du temps de réponse, du taux d&apos;erreur ou du débit de votre service. + + Par exemple, supposons que vous souhaitiez étudier une augmentation du temps de réponse pour un service, mais que le pic soit lié à un appel externe. Si le traçage distribué a enregistré une entité en aval qui a provoqué une latence pour votre service, vous pouvez afficher ce changement dans les performances dans cette liste. Cliquez sur le bouton **View trace** pour voir une traces distribuée qui montre les changements de performances. + + Vous pouvez en savoir plus dans nos [docs traçage distribué informations détaillées](/docs/distributed-tracing/ui-data/related-trace-entity-signals/). + + ### infrastructure [#infrastructure] + + A screenshot depicting the infrastructure section of the apm summary page. + + Faites maintenant défiler jusqu’à la section **Infrastructure** de la page de résumé de l’APM. Ici, vous verrez un tableau qui répertorie chaque hôte connecté à l&apos;application `Checkout Service` et un enregistrement de leur temps de réponse, débit, taux d&apos;erreur, pourcentage CPU. et le pourcentage de mémoire. + + Pour cet exemple, nous suggérons de vérifier s'il y a eu des changements dans le pourcentage du processeur autour du même déploiement récent qui ont entraîné une augmentation des temps de réponse et un taux d'erreur élevé. + + Apprenez-en davantage sur la manière d’étudier les données d’infrastructure sur la page de résumé de l’APM [ici](/docs/infrastructure/manage-your-data/data-instrumentation/apm-data-infrastructure-monitoring/). + + + + ## Faites passer votre enquête au niveau supérieur + + + + + + + + + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/name-your-application.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/name-your-application.mdx new file mode 100644 index 00000000000..a3bc957ee24 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/name-your-application.mdx @@ -0,0 +1,219 @@ +--- +title: Nommez ou modifiez le nom de votre application +tags: + - Agents + - Manage APM agents + - App naming +metaDescription: 'After deploying your app in New Relic, change the default app name to something descriptive. You can also add an alias for your app.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic connecte les métriques à l'application individuelle en utilisant votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) et le nom application principale. Vous pouvez modifier le nom de l&apos;application dans votre fichier de configuration ou attribuer un alias à l&apos;application pour modifier son apparence dans l&apos;UI de New Relic . + + + Si vous ne spécifiez pas le nom de l'application dans votre New Relic configuration fichier , la plupart des agents de New Relic fournissent un application nom générique par défaut. Pour garantir que toutes [les données agrégées](/docs/accounts-partnerships/accounts/account-billing-usage/data-retention-components#components-aggregate-metrics) pour la même application sont signalées avec précision, assurez-vous [de donner à chaque application un nom descriptif](#app-name). + + +## Changer le nom ou l'alias [#differences] + +Vous pouvez attribuer un nouveau nom d’application ou modifier l’alias de l’application. Ceux-ci ont deux effets différents : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Terme + + + **How to change it** + + + + **Effect** + +
+ Nom + + [Attribuez le nom dans votre fichier de configuration](#assigning) + + La modification du nom de l'application dans le fichier de configuration de l'agent entraînera l'envoi de l'application vers un nouvel en-tête dans l'interface utilisateur New Relic, avec une discontinuité totale des données. + + Cela est utile, par exemple, si vous souhaitez recommencer et signaler de nouvelles données. Si aucun autre agent ne fait rapport à l'ancien nom d'application, l'ancien nom d'application apparaîtra en gris et pourra être supprimé. +
+ Alias + + [Modifier l'alias dans l'des APM paramètres UI](#app-alias) + + [La création d'un **alias** pour le nom](/docs/apm/new-relic-apm/maintenance/rename-your-application#app-alias) de l&apos;application modifie uniquement la manière dont le nom de l&apos;application apparaît dans l&apos;UI de New Relic. La modification de l’alias n’affecte pas la manière dont les données sont signalées. Il vous aide simplement à garder une trace de vos données avec un alias utile. +
+ +## Donnez à chaque application un nom descriptif [#app-name] + +Par défaut, la plupart des agents New Relic fournissent un nom application par défaut, tel que **My Application** ou **PHP Application**, pour chaque application liée à votre compte. + + + Nous vous recommandons de modifier le nom par défaut d'une application par un nom plus descriptif avant le déploiement, et il peut comporter jusqu'à 128 caractères. + + +Chaque nom d'application unique crée un nouvel application enregistrement dans votre UI de New Relic, ce qui vous permet de : + +* Exécutez une application sur plusieurs hôtes et faites en sorte que toutes les données soient agrégées (collectées) sous le même nom. +* Exécutez plusieurs applications sur un seul hôte et ayez toutes les données agrégées (collectées) sous des noms différents. + +## Attribuez le nom dans votre fichier de configuration [#assigning] + +Pour modifier le nom de l'application, définissez la valeur du nom de l'application dans le fichier de configuration de l'agent. Si vous avez déployé une application via un agent APM, puis déployé une autre application avec le même nom via un agent APM différent, New Relic ajoutera automatiquement le nom de la langue agent à la fin du nom de la deuxième application. Par exemple, si vous lancez une application Node.js nommée `New-App`, puis une application .NET nommée `New-App`, New Relic ajoutera automatiquement le nom de la deuxième application sous la forme `New-App (DOTNET)`. + +Afin de garantir le respect des conventions de dénomination, veuillez noter que les symboles `<` et `>` ne sont pas autorisés dans le nom de l&apos;application. Si ces symboles sont inclus, ils seront automatiquement supprimés. Veuillez vous assurer que le nom de votre application respecte cette exigence. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Agent** + + + + **Configuration file value** + +
+ C + + Identifiez un maximum de trois noms séparés par un point-virgule `;`dans votre [`newrelic_app_config_t* config;`](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code#app-name). +
+ Go + + Définissez [`AppName`](/docs/agents/go-agent/instrumentation/go-agent-configuration#app-name) sur un maximum de trois noms séparés par un point-virgule. +
+ Java + + Consultez les options permettant de [nommer votre application Java](/docs/agents/java-agent/configuration/name-your-java-application). +
+ .NET + + Utilisez l’une des options disponibles pour [nommer votre application .NET](/docs/agents/net-agent/installation-and-configuration/naming-your-net-application). +
+ Node.js + + Définissez [`app_name`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#app_name) sur un maximum de trois noms séparés par une virgule. Entourez les noms de guillemets simples ou doubles. (Ou, modifiez la variable d’environnement [`NEW_RELIC_APP_NAME`](/docs/agents/nodejs-agent/installation-configuration/configuring-nodejs-environment-variables#app_name).) +
+ PHP + + Voir les options pour [nommer votre application PHP](/docs/agents/php-agent/configuration/name-your-php-application). +
+ Python + + Définissez [`app_name`](/docs/agents/python-agent/installation-configuration/python-agent-configuration#app_name) sur un maximum de trois noms séparés par un point-virgule. N&apos;ajoutez pas d&apos;espace après le point-virgule, sinon le nom suivant sera interprété comme un commentaire. +
+ Ruby + + Définissez [`app_name`](/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration#app_name) sur un maximum de trois noms séparés par un point-virgule. +
+ +## Changer l'alias de l'application [#app-alias] + +Le nom de l’application que vous définissez dans l’interface utilisateur New Relic est un **alias** lisible par l’homme. Si vous renommez votre application, le nom visible est mis à jour partout dans l&apos;UI de New Relic, y compris [dans les applications de navigateur liées .](/docs/browser/new-relic-browser/installation-configuration/rename-browser-apps) + +Initialement, cet alias est le même que le nom de l'identifiant de l'application dans le fichier de configuration de l'agent New Relic. Cependant, la modification de l'alias UI **does not** affecte le nom de l&apos;application sous-jacente utilisé pour rollup des données, qui est défini dans le fichier de configuration agent . L&apos;application doit signaler activement des données pour modifier l&apos;alias. La modification de l&apos;alias UI entraînera le redémarrage de tous les agents qui relèvent de l&apos;identifiant de l&apos;application. + +Pour modifier le **alias** du nom de votre application dans l&apos;interface utilisateur New Relic : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Settings &gt; Application**. +2. Dans le champ **Application alias** , saisissez un nouveau nom (alias) pour l’application sélectionnée. +3. Sélectionnez **Save application settings**. + +Vous pouvez également modifier l'alias de l'application [avec l'API REST New Relic](/docs/apm/apis/application-examples-v2/changing-alias-your-application-api-v2). + + + Lorsque vous effectuez une modification via **Application settings**, la modification enregistrée redémarre l&apos;agent. Seul l&apos;agent de ce service spécifique redémarrera, mais l&apos;action ne redémarrera pas vos pools d&apos;applications ou vos serveurs Web. + + +## Utiliser plusieurs noms pour une application [#multiple-names] + +En [donnant plusieurs noms à votre application](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app), vous pouvez agréger plusieurs agents sur l&apos;ensemble d&apos;une application ou d&apos;un service. + + + Si vous utilisez plusieurs noms pour une application, le dernier nom attribué est le nom le moins spécifique que New Relic utilise pour regrouper les données. Pour obtenir les meilleurs résultats, affichez à la fois les données au niveau instanceet les données agrégées, l'ordre des noms rollup de votre application, du plus spécifique au moins spécifique, dans votre fichier configuration . + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/use-multiple-names-app.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/use-multiple-names-app.mdx new file mode 100644 index 00000000000..961fc954679 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/app-naming/use-multiple-names-app.mdx @@ -0,0 +1,282 @@ +--- +title: Utiliser plusieurs noms pour une application +tags: + - Agents + - Manage APM agents + - App naming +metaDescription: Aggregate your app's data under a maximum of three different names by editing your New Relic agent's config file. +freshnessValidatedDate: never +translationType: machine +--- + +Lorsque vous travaillez avec vos données APM dans New Relic, vous souhaiterez peut-être afficher des données agrégées et « cumulées » pour une application qui s'étend sur plusieurs clusters, environnements ou centres de données, mais également pouvoir afficher séparément chacune des données de l'instance d'application. Vous pouvez le faire en définissant plusieurs noms d’application pour vos applications de monitoring APM . + +## Avant de commencer [#important-notes] + +Voici quelques mises en garde importantes à prendre en compte lorsque vous utilisez plusieurs noms d’applications. + +### Solutions alternatives [#alt-options] + +Étant donné que l'ajout de plusieurs noms d'application entraîne [la création de rapports de données en double](#duplicate), vous pouvez envisager ces autres options. + +Si votre objectif est de pouvoir filtrer plus facilement vos données télémétriques par attribut (par exemple, filtrer par région agent ), nous vous recommandons plutôt l'une de ces options : + +* Ajouter [une balise](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data) via le fichier de configuration agent (par exemple, [cette configuration Java ](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#labels)) +* Ajouter [un attribut personnalisé](/docs/data-apis/custom-data/custom-events/collect-custom-attributes/#enabling-custom) + +Comme autre option pour organiser les données de votre application, vous pouvez définir des seuils de performances distincts pour chaque environnement à l'aide d'[une condition d'alerte](/docs/alerts-applied-intelligence/new-relic-alerts/learn-alerts/introduction-alerts) et [d'une clé de transaction](/docs/apm/transactions/key-transactions/create-update-key-transactions). Ces seuils s&apos;appliqueront aux applications individuelles, tandis que l&apos;application globale n&apos;aura pas son propre seuil. L&apos;application globale traitera les données entrantes en fonction du seuil de l&apos;environnement concerné. + +### Données en double [#duplicate] + +L'utilisation de plusieurs noms d'application entraîne la génération d'événements et de métriques en double, qui sont comptabilisés comme des données ingérées. Par exemple, si votre application New Relic-monitorer possède trois noms d'application définis, elle signalera trois fois l'événement et les métriques. + +Si vous souhaitez utiliser plusieurs noms d'application et non l'une des solutions alternatives ci-dessous, vous pouvez utiliser [des règles de suppression de données](/docs/data-apis/manage-data/drop-data-using-nerdgraph) pour supprimer un événement spécifique dont vous n&apos;avez pas besoin. + +### Priorité des noms [#priority] + +L’ordre des noms d’application dans la configuration de l’agent est important. Pour plus d'informations, voir [Définir les noms d'applications](#most-least-specific). + +## Comment fonctionne l'utilisation de plusieurs noms d'applications [#rollup] + +Normalement, lorsque deux rapports d'instance avec le même nom d'application, la même langue agent et [la même clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key), New Relic regroupe leurs données dans une seule application de monitoring New Relic . Vous pouvez également afficher les données des hôtes et des instances individuels à partir de la page New Relic [APM **Overview** ](/docs/apm/applications-menu/monitoring/apm-overview-page#infra-server)de l&apos;application. + +Pour segmenter votre application d'une manière différente ou pour travailler avec chaque en tant qu'application instance individuelle tout en conservant la vue globale des données, utilisez le [fichier de configuration](#agent) de votre agent New Relic pour attribuer à une application jusqu&apos;à trois rollup noms différents. New Relic signalera ensuite les données de l&apos;application séparément à chaque application répertoriée dans le fichier de configuration. + +Par exemple, vous souhaiterez peut-être séparer les données collectées pour votre application exécutée en développement, en simulation et dans un environnement de production, mais également avoir une vue commune de l'application dans chaque environnement. Ou, si vous avez deux centres de données exécutant le même code, vous pouvez nommer une application `EastCoastApp;AggregateApp` et la seconde application `WestCoastApp;AggregateApp`. + +## Roll up données du navigateur [#browser-rollup] + +Lorsque vous utilisez plusieurs noms pour signaler application des données , toutes les données de cette application seront également regroupées dans plusieurs applications utilisant la même configuration. + + + Les données de relecture et trace de session, qui renvoient au point de terminaison des blobs, ne prennent pas en charge plusieurs rapports d'application. Seule l'application principale, ou la première répertoriée, recevra les données. D'autres données du navigateur seront renseignées dans chacune des trois applications. + + +## Définir les noms des applications du plus spécifique au moins spécifique [#most-least-specific] + +Vous pouvez donner à chaque application jusqu'à trois noms, que New Relic utilise pour regrouper les données du plus spécifique au moins spécifique. Vous pouvez ensuite utiliser l'UI de New Relic pour afficher les données de chaque nom d'application individuellement, ainsi que dans leur ensemble pour les performances globales des application . Ce faisant, l’ordre dans lequel vous spécifiez les noms des applications est important. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Using multiple names** + + + + **Comments** + +
+ Le plus spécifique + + Un nom rollup unique. +
+ [Moins spécifique](#example1) + + Un rollup nom partagé pour agréger les données dans l'UI de New Relic. Cela permet une organisation plus générale. +
+ Facultatif, [le moins spécifique](#example2) + + Un nom rollup supplémentaire et partagé. S'il est utilisé, il s'agit du nom le plus général que New Relic utilise pour regrouper des données dans une seule application. +
+ +## Nommer l'instance d'application via le fichier de configuration agent [#agent] + +La convention de dénomination que vous utilisez dans votre fichier de configuration dépend de votre agent New Relic. Définissez l'ordre des noms de votre application afin que le premier nom rollup soit le plus unique. + +Les deuxième et troisième noms peuvent être uniques ou identiques. Le deuxième nom est plus général pour les données agrégées, et le troisième nom (s'il est utilisé) est le plus général. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Agent** + + + + **Configuration file value** + +
+ C + + Identifiez un maximum de trois noms séparés par un point-virgule `;` dans votre [configuration newrelic\_app\_config\_t\* ;](/docs/agents/c-sdk/install-configure/install-c-sdk-compile-link-your-code#app-name). +
+ Go + + Définissez [`AppName`](/docs/agents/go-agent/instrumentation/go-agent-configuration#app-name) sur un maximum de trois noms séparés par un point-virgule. +
+ Java + + Définissez [`app_name`](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#cfg-app_name) sur un maximum de trois noms séparés par un point-virgule. +
+ .NET + + Utilisez l’une des options disponibles pour [nommer votre application .NET](/docs/agents/net-agent/installation-configuration/name-your-net-application). +
+ Node.js + + Définissez [`app_name`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#app_name) sur un maximum de trois noms séparés par une virgule. Entourez la chaîne de noms de guillemets simples ou doubles. (Ou, modifiez la variable d’environnement [`NEW_RELIC_APP_NAME`](/docs/agents/nodejs-agent/installation-configuration/configuring-nodejs-environment-variables#app_name).) +
+ PHP + + Utilisez l'une des options disponibles pour [nommer votre application PHP](/docs/agents/php-agent/configuration/name-your-php-application). Utilisez trois noms séparés par un point-virgule. +
+ Python + + Définissez [`app_name`](/docs/agents/python-agent/installation-configuration/python-agent-configuration#app_name) sur un maximum de trois noms séparés par un point-virgule. N&apos;ajoutez pas d&apos;espace après le point-virgule, sinon le nom suivant sera interprété comme un commentaire. +
+ Ruby + + Définissez [`app_name`](/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration#app_name) sur un maximum de trois noms séparés par un point-virgule. +
+ +Pour plus d'informations, reportez-vous à la [documentation du fichier de configuration](/docs/agents/manage-apm-agents/configuration/configure-agent) de votre agent. + +## Exemples + +Voici quelques exemples de la manière dont vous pouvez utiliser plusieurs noms rollup pour une seule application. + + + + Une application Java collectant des données d'enquête s'exécute sur trois clusters. Modifiez la valeur du nom de l’application dans votre fichier de configuration d’agent en lui donnant trois noms différents, un pour chaque cluster. + + Cluster 1 : + + ```yml + app_name: SurveyCluster1;Survey Data + ``` + + Cluster 2 : + + ```yml + app_name: SurveyCluster2;Survey Data + ``` + + Cluster 3 : + + ```yml + app_name: SurveyCluster3;Survey Data + ``` + + Cela fera état de quatre applications dans APM: + + * Le nom de l'application pour les données agrégées des trois clusters est `Survey Data`. + * Trois applications individuelles nommées `SurveyCluster1`, `SurveyCluster2` et `SurveyCluster3`. + + + + Un agent PHP monitoring une application de commerce électronique exécutée sur deux clusters dans chacun des deux centres de données, et vous souhaitez afficher les données de chaque sous-groupe ainsi que les données agrégées globales. + + Cluster A : + + ```ini + newrelic.appname="EcomClusterA;EcomEast;EcomAll" + ``` + + Cluster B : + + ```ini + newrelic.appname="EcomClusterB;EcomEast;EcomAll" + ``` + + Cluster C : + + ```ini + newrelic.appname="EcomClusterC;EcomWest;EcomAll" + ``` + + Cluster D : + + ```ini + newrelic.appname="EcomClusterD;EcomWest;EcomAll" + ``` + + Cet exemple configuration signalera sept applications dans l'UI APM : + + * Quatre applications : une pour chacun des quatre clusters (`A B C D`) + * Deux applications : une pour chaque data center (`East` et `West`) + * Une application pour l'ensemble des données du cluster et du centre de données (`EcomAll`) + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/azure/monitoring-azure-app-service.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/azure/monitoring-azure-app-service.mdx new file mode 100644 index 00000000000..ab8d515995d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/azure/monitoring-azure-app-service.mdx @@ -0,0 +1,94 @@ +--- +title: Monitoring d’Azure App Service +tags: + - Azure + - Agents + - Manage APM agents +metaDescription: Information on how to monitor Azure app services with New Relic agents. +freshnessValidatedDate: never +translationType: machine +--- + +Azure App Service est une offre de plateforme en tant que service (PaaS) entièrement gérée de Microsoft Azure qui permet aux développeurs de créer, déployer et faire évoluer des applications Web, un backend mobile et API rapidement et efficacement dans divers langages de programmation et framework. + +En intégrant les agents de monitoring des performances des applications (APM) de New Relic avec Azure App Service, vous pouvez obtenir le monitoring et une optimisation complèts de votre application. New Relic APM fournit des informations détaillées et des données exploitables en temps réel pour vous aider à garantir que votre application fonctionne au mieux. Le tableau suivant fournit des détails sur toute le monitoring d'Azure App Service avec New Relic + +## New Relic APM monitoring Fonctionnalité pour Azure App Service [#app-services] + +New Relic prend en charge le monitoring Azure App Service pour certains de nos agents de monitoring des applications (APM). Vous trouverez les installation procédures pour configurer Azure App Service monitoring dans le tableau ci-dessous. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Durée d'exécution + + Système d'exploitation + + Type d'application +
+ Java + + Windows et Linux + + [Application Web](/install/java/) +
+ .NET + + Windows et Linux + + [Application Web](/install/dotnet/?deployment=azure&azure=azuresiteextension) +
+ Node.js + + Windows et Linux + + [Installation standard](/docs/apm/agents/nodejs-agent/installation-configuration/install-nodejs-agent-azure-site-extension) de l&apos;application Web ou avec [Docker](/docs/apm/agents/nodejs-agent/installation-configuration/install-nodejs-agent-docker) +
+ Python + + Linux + + [Applications Web et conteneurisées](/docs/apm/agents/python-agent/hosting-services/python-azure-containerapps-appservice) ou avec [intégration Touchless](/docs/apm/agents/python-agent/hosting-services/python-azure-touchless-integration) +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/add-rename-remove-hosts.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/add-rename-remove-hosts.mdx new file mode 100644 index 00000000000..a32902dcd2c --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/add-rename-remove-hosts.mdx @@ -0,0 +1,127 @@ +--- +title: 'Ajouter, renommer et supprimer des hôtes' +tags: + - Agents + - Manage APM agents + - Configuration +metaDescription: 'To add a host, install the New Relic agent and start your app. To remove a host, uninstall or disable the agent first.' +freshnessValidatedDate: never +translationType: machine +--- + +Vous pouvez ajouter et supprimer des hôtes pour votre application. Vous ne pouvez pas renommer un hôte existant, mais vous pouvez créer une application nommée d'après un hôte ou cluster. Vous pouvez également [attribuer une étiquette cosmétique à l'hôte](#display_name), pour différencier les hôtes sans modifier le paramètre nom d&apos;hôte sous-jacent. + +## Ajouter des hôtes [#adding\_hosts][#adding_hosts] + +Pour ajouter un hôte à monitoring, installez l'agent et démarrez votre application. L'hôte exécutant l'application sera identifié auprès de New Relic et apparaîtra automatiquement sur le site après quelques minutes. + +## Renommer les hôtes [#renaming\_hosts][#renaming_hosts] + +Il n'est pas possible de changer le nom d'hôte. Cependant, vous pouvez [créer une application nommée d'après un hôte ou cluster](/docs/site/renaming-applications). Par exemple, si les hôtes `ey01-s00057` et `ey01-s00058` font tous deux partie d&apos;un [niveau](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#tier) de production, vous pouvez créer une application appelée `App - Production` et faire en sorte que ces deux hôtes lui rendent compte. + +## Modifier le nom d'affichage des hôtes [#display\_name][#display_name] + +Vous pouvez également attribuer un nom d’affichage à un hôte, pour distinguer facilement les hôtes attribués dynamiquement. Ce nom d’affichage n’affecte pas le lien entre une application et son hôte parent. Le nom d’affichage apparaît dans l'UI APM pour décorer le `host:port` nom attribué automatiquement. + +Dans l'exemple suivant, `QA Server` et `Local Dev Server` sont des noms d&apos;affichage : + +crop-cosmetic-label-hostname.png + +Pour définir un nom d’affichage : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Agent de New Relic + + Définir le nom d'affichage de l'hôte +
+ Go + + Modifiez le [paramètre configuration de l'agent Go`HostDisplayName`.](/docs/agents/go-agent/instrumentation/go-agent-configuration#host-display-name) +
+ Java + + [Modifiez votre fichier de configuration ou vos variables d’environnement](/docs/agents/java-agent/configuration/hostname-logic-java#display-name). Cependant, si l&apos;agent Java [détecte un nom d'instance](/docs/agents/java-agent/configuration/hostname-logic-java#instance-names), APM utilise ce nom au lieu du nom d&apos;affichage. +
+ .NET + + Modifiez l’attribut `displayName` dans l’élément `processHost` du fichier de configuration de l’agent .NET ou [des variables d’environnement](http://docs.newrelic.com/docs/agents/net-agent/configuration/net-agent-configuration#host-name). +
+ Node.js + + Modifiez `display_name` dans la section `process_host` de votre fichier de configuration. +
+ PHP + + Modifiez `process_host.display_name` dans votre fichier **newrelic.ini** . +
+ Python + + Modifiez `process_host.display_name` dans votre fichier de configuration. +
+ Ruby + + Modifiez `process_host.display_name` dans votre fichier de configuration. +
+ +## Supprimer les hôtes [#removing\_hosts][#removing_hosts] + +Pour supprimer un hôte, utilisez l’une des options suivantes : + +* [Désinstaller](/docs/agents/manage-apm-agents/installation/uninstall-agent) l&apos;agent. +* Désactivez-le en modifiant ou en supprimant le fichier de configuration de l'agent. Assurez-vous que toutes les instances d'hôte application (Passenger, Jetty, etc.) ont été entièrement redémarrées après la désactivation de l'agent. + +Parfois, des processus de serveur d'application malveillants continuent de signaler des données. Dans cette situation, [l'indicateur d'état de santé de votre application](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#health-status) apparaîtra en vert, même si vous avez arrêté l&apos;agent et vérifié qu&apos;aucune donnée n&apos;est signalée. Vérifiez si votre serveur Web contient des processus parasites ou obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com "Le lien s'ouvre dans une nouvelle fenêtre"). + +Une fois que vous avez désinstallé un agent APM d'une instance d'hôte, il peut falloir jusqu'à 75 minutes pour que l'ancien hôte disparaisse de la vue APM. Si vous avez supprimé un hôte en désinstallant l'agent d'infrastructure, sa disparition peut prendre jusqu'à 24 heures. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/high-security-mode.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/high-security-mode.mdx new file mode 100644 index 00000000000..f49127454e5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/high-security-mode.mdx @@ -0,0 +1,410 @@ +--- +title: Mode haute sécurité +tags: + - Agents + - Manage APM agents + - Configuration +metaDescription: An overview of New Relic's high-security mode feature for APM agents. +freshnessValidatedDate: never +translationType: machine +--- + +Nos paramètres d'agent APM par défaut offrent un niveau de sécurité élevé. Cependant, vous devrez peut-être garantir que même si les paramètres par défaut de l'agent APM sont remplacés pour être plus permissifs, aucune donnée sensible ne sera jamais signalée à New Relic par l'agent APM. Si tel est le cas, vous souhaiterez alors activer le mode haute sécurité APM (également appelé mode de sécurité d’entreprise). + +Pour plus d'informations sur nos mesures de sécurité par défaut, consultez notre [documentation sur la sécurité et la confidentialité](/docs/using-new-relic/new-relic-security/security/security-matters-data-privacy-new-relic) ou visitez le [site Web de sécurité New Relic](https://newrelic.com/security). + +## Exigences [#requirements] + +Le mode haute sécurité nécessite [l'édition Enterprise](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/new-relic-one-pricing-billing/#editions). + +Le mode haute sécurité est un paramètre par compte et non par organisation. Cela signifie que si votre [organisation contient plusieurs comptes](/docs/accounts/accounts-billing/account-structure/new-relic-account-structure), vous devez activer ce mode pour chaque compte. + +Vous avez des questions sur l’accès à cette fonctionnalité ? Parlez à votre représentant de compte New Relic. + +## Versions [#overview] + +Il existe deux versions du mode haute sécurité. [La version 1](#version1description) est obsolète et n&apos;est disponible que si vous la possédez déjà. Si vous activez le mode haute sécurité pour la première fois, la seule option est la version 2 (v2). Pour plus de détails sur la prise en charge de l&apos;agent pour la version 2, voir [prise en charge des versions](#version-support). + +## Activer le mode haute sécurité (version 2) [#version2enabled] + +Pour activer une sécurité élevée, vous devez mettre à jour à la fois la configuration locale sur votre serveur **and** et la configuration à distance dans l&apos;UI. + +Avant de faire cela, notez que : + +* Une fois que vous avez activé la haute sécurité pour un compte, **high security cannot be turned off** sans l&apos;aide du [support New Relic](https://support.newrelic.com). +* Il s'agit d'un [paramètre par compte](#requirements), ce qui signifie que vous devez le définir pour chaque compte auquel vous souhaitez accorder le mode haute sécurité. + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Setting location** + + + + **Description** + +
+ Définir dans UI + + * Pour les utilisateurs de [notre nouveau modèle d'utilisateur](/docs/accounts/original-accounts-billing/original-product-based-pricing/overview-changes-pricing-user-model/#user-model) (presque tous les clients) : obtenez l&apos;[ID de compte](/docs/accounts/accounts-billing/account-structure/account-id) pour le compte que vous souhaitez activer. Utilisez ensuite cela pour accéder à cette URL : `https://one.newrelic.com/admin-portal/apm-agents/hsm?account=YOUR_ACCOUNT_ID`. Sur cette page, vous pouvez configurer le mode haute sécurité. + + * Pour l'utilisateur sur [notre modèle d'utilisateur d'origine](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model): Seul le propriétaire du compte peut configurer ceci. Allez sur **[one.newrelic.com](https://one.newrelic.com/all-capabilities)**, cliquez sur le [menu utilisateur](/docs/accounts/accounts-billing/general-account-settings/intro-account-settings) et cliquez sur **Administration**. Sur cette page, sélectionnez **High-security mode**. + + Si l'agent est configuré pour une sécurité élevée via l'UI mais pas localement, les connexions agent sont rejetées et l'agent s'arrête. Cependant, cela ne fermera pas votre application. +
+ Local, via agent + + Activez le mode haute sécurité dans votre fichier de configuration d'agent. Le mode haute sécurité est désactivé par défaut et la procédure exacte pour l'activer varie selon l'agent : + + * [Go](/docs/agents/go-agent/instrumentation/go-agent-configuration#high_security) + + * [Java](/docs/java/java-agent-configuration#cfg-enable_high_security) + + * [.NET](/docs/dotnet/dotnet-agent-configuration#high_security_mode) + + * [Node.js](/docs/nodejs/customizing-your-nodejs-config-file#high_security) + + * [PHP](/docs/php/php-agent-phpini-settings#inivar-high-security) + + * [Python](/docs/python/python-agent-configuration#high_security) + + * [Ruby](/docs/ruby/ruby-agent-configuration#high_security) + + Si l'agent est configuré pour une sécurité élevée localement mais pas via l'UI, les connexions agent seront rejetées et l'agent s'arrêtera. Cela ne fermera pas votre application. +
+ +## Résultats de l'activation du mode haute sécurité (version 2) [#version2description] + +Une fois activé, le mode haute sécurité (v2) garantit les éléments suivants pour votre compte : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Feature** + + + + **Comments** + +
+ Nécessite que l'agent utilise une connexion sécurisée (HTTPS) + + Le mode haute sécurité nécessite une connexion sécurisée (HTTPS). Les tentatives de connexion non sécurisées seront rejetées. La dernière version de tous les agents New Relic prend en charge HTTPS. Si la configuration n'est pas définie de manière appropriée, l'agent remplacera la propriété pour garantir que toutes les données en transit sont conformes aux dernières normes du secteur. +
+ Empêche la capture des paramètres HTTP + + Le mode haute sécurité ne permet pas l'envoi de paramètres HTTP, qui peuvent contenir des données clients sensibles, au collecteur New Relic . Si l'agent est configuré pour envoyer des paramètres HTTP localement ou via [une configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration), le mode haute sécurité remplacera la configuration pour ne jamais capturer les paramètres HTTP. +
+ Empêche la capture des paramètres du fichier d'attente des messages + + Le mode haute sécurité ne permet pas d'envoyer le fichier d'attente des paramètres des messages, qui peut contenir des données clients sensibles, au collecteur New Relic . Si l'agent est configuré pour envoyer le fichier de paramètres d'attente des messages localement ou via [configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration), alors le mode haute sécurité remplacera la configuration pour ne jamais capturer le fichier de paramètres d&apos;attente des messages. +
+ Empêche la capture d'instructions de requête brutes + + Le mode haute sécurité ne permet pas de capturer les instructions brutes de requête de base de données, qui peuvent contenir des données clients sensibles. Si l'agent est configuré pour capturer les requêtes brutes localement ou via [configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration), alors le mode haute sécurité remplacera la configuration pour ne jamais capturer les requêtes brutes. +
+ Empêche la capture des attributs utilisateur + + Le mode haute sécurité ne permet pas de capturer l'ensemble d'attributs utilisant de chaque agent API, car ceux-ci peuvent contenir des données clients sensibles. + + Par exemple, dans l'agent Java, l'attribut transmis via l'API `NewRelic` d&apos;appels d&apos;agent suivants sera bloqué : + + ```java + NewRelic.addCustomParameter(String key, String value) + ``` + + ```java + NewRelic.addCustomParameter(String key, Number value) + ``` + + ```java + NewRelic.setUserId(String name) + ``` + + ```java + NewRelic.setAccountName(String name) + ``` + + ```java + NewRelic.setProductName(String name) + ``` +
+ Empêche la capture de l'attribut `noticeError` + + Le mode haute sécurité ne permet pas de capturer les attributs définis à l'aide de l'appel d'API `noticeError` de chaque agent, car ils peuvent contenir des données client sensibles. + + Par exemple, dans l'agent Java, l'attribut transmis via l'API `NewRelic` d&apos;appels d&apos;agent suivants sera bloqué : + + ```java + NewRelic.noticeError(String message, Map params) + ``` + + ```java + NewRelic.noticeError(Throwable throwable, Map params) + ``` +
+ Empêche événement personnalisé + + Le mode haute sécurité ne permet pas de créer des événements personnalisés à l'aide de l'API d'agent, car ceux-ci peuvent contenir des données clients sensibles. + + Par exemple, dans l'agent.NET, l'appel d'API `RecordCustomEvent` sera bloqué. +
+ Empêcheagent l'événement de log transfert in + + Le mode haute sécurité ne permet pas de transmettre les événements de log à APM à l'aide de l'option configuration `application_logging.forwarding.enabled` car les messages de log peuvent contenir des données clients sensibles. +
+ Empêche la déploiement d'instrumentation personnalisée via [CIE](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation) + + Le mode haute sécurité ne permet pas de déployer instrumentation personnalisée lors de l'utilisation de l'[éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation). Si le mode haute sécurité est activé, vous devez [exporter l'instrumentation](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation#manual-deploy) et l&apos;importer manuellement sur votre serveur d&apos;applications. +
+ +## Prise en charge de la version 2 [#version-support] + +Voici les détails sur les versions d'agent qui prennent en charge le mode haute sécurité version 2 : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Agent** + + + + **Version 2 support** + +
+ [Go](/docs/agents/go-agent/instrumentation/go-agent-configuration#high_security) + + Toutes les versions +
+ [Java](/docs/java/java-agent-configuration#cfg-enable_high_security) + + 3.7 ou supérieur +
+ [.NET](/docs/dotnet/dotnet-agent-configuration#high_security_mode) + + 3.3 ou supérieur +
+ [Node.js](/docs/nodejs/customizing-your-nodejs-config-file#high_security) + + 1.7.0 ou supérieur +
+ [PHP](/docs/php/php-agent-phpini-settings#inivar-high-security) + + 4.9 ou supérieur +
+ [Python](/docs/python/python-agent-configuration#high_security) + + 2.22.0.0 ou supérieur +
+ [Ruby](/docs/ruby/ruby-agent-configuration#high_security) + + 3.9.1 ou supérieur +
+ +## Résultats de l'activation du mode haute sécurité v1 (obsolète) [#version1description] + +La version 1 du mode haute sécurité est obsolète et n'est disponible que si vous l'avez activé avant que la version 2 ne soit disponible. Le mode haute sécurité version 1 garantit les éléments suivants pour votre compte : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Feature** + + + + **Comments** + +
+ Nécessite que l'agent utilise une connexion sécurisée (HTTPS) + + Le mode haute sécurité nécessite une connexion cryptée (HTTPS). Les tentatives de connexion non sécurisées seront rejetées. La dernière version de tous les agents New Relic prend en charge HTTPS. Si la configuration n'est pas définie de manière appropriée, l'agent remplacera la propriété pour garantir que toutes les données en transit sont cryptées conformément aux dernières normes du secteur. +
+ Empêche la capture des paramètres HTTP + + les agents configurés pour capturer les paramètres HTTP, qui peuvent contenir des données clients sensibles, ne sont pas autorisés à se connecter à New Relic. Si la configuration locale est définie pour capturer le paramètre de demande, le collecteur de New Relic rejettera la connexion et l'agent s'arrêtera. +
+ Empêche la capture d'instructions de requête brutes + + les agents configurés pour capturer les instructions de requête de base de données brutes, qui peuvent contenir des données clients sensibles, ne sont pas autorisés à se connecter à New Relic. Si l'agent est configuré pour capturer la requête brute localement ou via [configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration), le collecteur de New Relic rejettera la connexion et l&apos;agent s&apos;arrêtera. +
+ Empêche la déploiement d'instrumentation personnalisée via [CIE](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation) + + Le mode haute sécurité ne permet pas de déployer instrumentation personnalisée lors de l'utilisation de l'[éditeur d'instrumentation personnalisée](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation). Si le mode haute sécurité est activé, vous devez [exporter l'instrumentation](/docs/agents/java-agent/custom-instrumentation/custom-instrumentation-editor-quickly-customize-your-java-instrumentation#manual-deploy) et l&apos;importer manuellement sur votre serveur d&apos;applications. +
+ +## Migrer de la version 1 à la version 2 [#migrating] + +Voici les principales différences entre les deux versions de haute sécurité : + +* Afin de rendre la haute sécurité encore plus sûre, la haute sécurité doit être activée dans l'interface utilisateur New Relic **and** dans le fichier de configuration New Relic local. La haute sécurité v1 nécessitait uniquement la définition d&apos;une haute sécurité dans l&apos;UI de New Relic. +* L'attribut utilisateur, l'attribut `noticeError` et le paramètre du fichier d&apos;attente des messages sont désactivés avec haute sécurité dans la version 2, mais pas dans la version 1. + +Pour mettre à jour de la v1 à la v2, ajoutez `high_security: true` à votre fichier de configuration d&apos;agent local. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/server-side-agent-configuration.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/server-side-agent-configuration.mdx new file mode 100644 index 00000000000..23225d4e0f2 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/server-side-agent-configuration.mdx @@ -0,0 +1,73 @@ +--- +title: côté serveur agent configuration +tags: + - Agents + - Manage APM agents + - Configuration +metaDescription: 'New Relic APM server-side config lets you manage some agent settings from the New Relic side, instead of the agent config file.' +freshnessValidatedDate: never +translationType: machine +--- + +La configuration côté serveur transfère certains paramètres de base du fichier de configuration de votre agent de langage vers le [collecteur New Relic](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#collector). Selon l&apos;agent linguistique, les paramètres disponibles peuvent inclure : + +* Traçage des transactions +* log de transfert d'application (agent Java uniquement) +* SQL lent +* Enregistrement et logging SQL +* Plans de requêtes SQL +* Collecte d'erreurs +* Profilage de filetage +* Tracing distribué +* Traçage multi-applications +* Profilage en temps réel (agent Java uniquement) + +## Exigences [#requirements] + +La configuration côté serveur n'est pas disponible pour notre agent PHP. + +## Centralisation et sécurité [#features] + +La configuration côté serveur offre un moyen simple de gérer les paramètres disponibles côté serveur New Relic. Les paramètres de configuration centralisés peuvent également vous aider à garantir la conformité aux normes et la gestion de la sécurité de vos paramètres. + +Toute modification apportée à une application de monitoring s'applique automatiquement à tous les agents APM monitoring cette application, même s'ils s'exécutent sur plusieurs hôtes. L'agent suit toujours les [configurations locales](/docs/agents/manage-apm-agents/configuration/configure-agent) pour tous les paramètres qui ne peuvent pas être définis. + +## Priorité de la configuration côté serveur [#precedence] + +Cette fonctionnalité offre la commodité de gérer les paramètres configuration disponibles directement depuis le côté New Relic , sans nécessiter de déploiement ou de redémarrage. Les options disponibles pour modifier les paramètres et l’ordre de priorité qu’ils prennent lorsque vous utilisez des variables d’environnement ou d’autres options de configuration dépendent de l’agent de langage utilisé. + +Pour plus d'informations sur la hiérarchie des paramètres, consultez l'illustration de l'agent spécifique : + +* [Hiérarchie Go](/docs/agents/go-agent/instrumentation/go-agent-configuration#options) +* [Hiérarchie Java](/docs/agents/java-agent/configuration/java-agent-configuration-config-file#config-options-precedence) +* [Hiérarchie .NET](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence) +* [Hiérarchie de Node.js](/docs/agents/nodejs-agent/installation-configuration/configuring-nodejs#hierarchy) +* [Hiérarchie PHP](/docs/agents/php-agent/configuration/php-agent-configuration#config-options-precedence) (configuration côté serveur non prise en charge) +* [Hiérarchie Python](/docs/agents/python-agent/installation-configuration/python-agent-configuration#options) +* [Hiérarchie Ruby](/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration#Options) + +## Configurer à partir de l'UI [#enable-ssc] + +L'agent PHP ne prend pas en charge la configuration côté serveur. Pour activer les paramètres de configuration côté serveur pour les applications de monitoring depuis l'UI: + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM**. +2. Cliquez sur votre application. Cliquez ensuite sur **Settings > Application > Server-side agent configuration**. + +Après avoir activé configuration côté serveur, vous pouvez accéder et modifier les paramètres depuis l'UI. Sélectionnez vos options souhaitées parmi les **server-side agent configuration**. + +Screen capture showing the server side agent configuration. + +## Configurer à partir de l'API NerdGraph [#enable-nerdgraph] + +Pour savoir comment activer cela avec NerdGraph, consultez le [didacticiel NerdGraph](/docs/apis/nerdgraph/examples/apm-config-nerdgraph). + +## Afficher ou modifier les paramètres de configuration côté serveur [#customize-ssc] + +Si vous utilisez une configuration côté serveur, vous devez toujours inclure vos `license_key` et `app_name` dans le fichier de configuration local. Ces paramètres sont requis pour que l&apos;agent communique avec le collecteur New Relic. + +L'agent PHP ne prend pas en charge la configuration côté serveur. Pour afficher ou modifier les paramètres configuration côté serveur disponibles via l'UI pour les applications qui utilisent un autre agent New Relic : + +1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM**. +2. Cliquez sur votre application. Cliquez ensuite sur **Settings > Application > Server-side agent configuration**. + +Une fois que vous avez défini l'une de ces options à partir de UI l', elles remplaceront toutes les options conflictuelles dans le [agent configuration fichier de .](#precedence) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/support-arm-graviton-x86-64.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/support-arm-graviton-x86-64.mdx new file mode 100644 index 00000000000..74f2de9f891 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/support-arm-graviton-x86-64.mdx @@ -0,0 +1,198 @@ +--- +title: support d'agent pour ARM64/Graviton et x86_64 +tags: + - Agents + - support + - Configuration +metaDescription: null +freshnessValidatedDate: never +translationType: machine +--- + +L'agent New Relic suivant prend en charge le processeur AWS Graviton utilisant ARM64, ainsi que x86\_64. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Produit New Relic + + Prise en charge ARM64/Graviton + + Prise en charge x86\_64 + + Version ARM64/Graviton +
+ Agent Python + + Oui + + Oui + + Version [6.8.0.163](/docs/release-notes/agent-release-notes/python-release-notes/python-agent-60800163/) et suivantes +
+ Agent Ruby + + Oui + + Oui + + Version [8.0.0](/docs/release-notes/agent-release-notes/ruby-release-notes/ruby-agent-800/) et ultérieures +
+ Agent Node.js + + Oui + + Oui + + Version [8.5.0](/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent/) et ultérieures +
+ Agent .NET + + Oui + + Oui + + Version [9.1.0](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/) et plus tard +
+ Agent Go + + Oui + + Oui + + Version [3.15.1](/docs/release-notes/agent-release-notes/go-release-notes/go-agent-3-15-1/) et ultérieures +
+ Agent PHP + + Oui + + Oui + + Version [9.18.1](/docs/apm/agents/php-agent/installation/php-agent-installation-arm64/) et ultérieures +
+ Agent Java + + Oui + + Oui + + Version [7.4.0](/docs/release-notes/agent-release-notes/java-release-notes/java-agent-740/) et ultérieures +
+ Agent d'infrastructure + + Oui + + Oui + + Version [1.20.6](/docs/infrastructure/install-infrastructure-agent/get-started/requirements-infrastructure-agent/) et ultérieures +
+ Intégrations sur hôte + + Oui + + Oui + + Support pour ARM64/Graviton, sauf [Oracle base de données OHI](/docs/integrations/host-integrations/host-integrations-list/oracle-database-monitoring-integration/) +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/view-config-values-your-app.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/view-config-values-your-app.mdx new file mode 100644 index 00000000000..3ff61bc56e4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/configuration/view-config-values-your-app.mdx @@ -0,0 +1,19 @@ +--- +title: Afficher les valeurs de configuration de votre application +type: troubleshooting +tags: + - Agents + - Manage APM agents + - Configuration +metaDescription: 'To view the agent configuration settings for your app without having to open the config file itself, use APM''s agent initialization page.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous avez besoin d’un moyen simple d’obtenir des informations sur les paramètres de configuration de votre application. + +## Solution + +Si vous ne souhaitez pas configuration afficher votre fichier lui-même, vous pouvez afficher les configuration paramètres dans l'UI APM, accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM**. Cliquez sur votre application, puis sur **Settings > Environment > Agent initialization**. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/agent-nrintegrationerrors-appear-insights.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/agent-nrintegrationerrors-appear-insights.mdx new file mode 100644 index 00000000000..2382c58e140 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/agent-nrintegrationerrors-appear-insights.mdx @@ -0,0 +1,75 @@ +--- +title: Problème de non-concordance de configuration de l'agent APM NrIntegrationError +type: troubleshooting +tags: + - Agents + - Manage APM agents + - Troubleshooting +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Un [événement`NrIntegrationError` ](/docs/telemetry-data-platform/manage-data/nrintegrationerror)est généré avec le message suivant : + +``` +Configuration mismatch: Agent configured harvest limit for EVENT TYPE +exceeds maximum limit; limit adjusted to LIMIT +``` + +## Solution + +Ceci est dû à une incompatibilité de configuration avec l'agent. Consultez la solution d’agent appropriée pour résoudre votre incompatibilité de configuration : + + + + Dans votre `newrelic.Config`: + + * Pour l'événement de transaction, ajustez la valeur de [`TransactionEvents.MaxSamplesStored`](/docs/agents/go-agent/configuration/go-agent-configuration#transaction-events-settings). + + + L'agent Go ne prend actuellement pas en charge le réglage de cette valeur pour l'événement personnalisé. + + + + + Dans votre `newrelic.yml`: + + * Pour l'événement de transaction, ajustez la valeur de `transaction_events.max_samples_stored`. + * Pour un événement personnalisé, ajustez la valeur de `custom_events.max_samples_stored`. + + + + Dans votre `newrelic.config`: + + * Pour l'événement de transaction, ajustez la valeur de l'attribut `maximumSamplesStored` sous l&apos;élément `transactionEvents` . + * Pour un événement personnalisé, ajustez la valeur de l'attribut `maximumSamplesStored` sous l&apos;élément `customEvents` . + + + + * Pour l'événement de transaction, dans la section `transaction_events: {` de `newrelic.js` de votre application, ajustez la valeur de `max_samples_per_minute`. + * Pour un événement personnalisé, dans la section `custom_insights_events: {` du `newrelic.js` de votre application, ajustez la valeur de `max_samples_stored`. + + + + Dans votre `newrelic.ini`: + + * Pour l'événement de transaction, ajustez la valeur de `event_harvest_config. harvest_limits.analytic_event_data`. + * Pour un événement personnalisé, ajustez la valeur de `event_harvest_config.harvest_limits.custom_event_data`. + * Pour un événement d'erreur, ajustez la valeur de `event_harvest_config.harvest_limits.error_event_data`. + * Pour l'événement span, ajustez la valeur de `event_harvest_config.harvest_limits.span_event_data`. + + + + Dans votre `newrelic.yml`: + + * Pour l'événement de transaction, ajustez la valeur de `analytics_events.max_samples_stored`. + * Pour un événement personnalisé, ajustez la valeur de `custom_events.max_samples_stored`. + * Pour un événement d'erreur, ajustez la valeur de `error_collector.max_event_samples_stored`. + + + + + Cette erreur ne s'applique pas à l'agent PHP. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/get-environment-data-about-your-apm-app.mdx b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/get-environment-data-about-your-apm-app.mdx new file mode 100644 index 00000000000..5840d56c7a4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/manage-apm-agents/troubleshooting/get-environment-data-about-your-apm-app.mdx @@ -0,0 +1,36 @@ +--- +title: Obtenez des données environnementales sur votre application APM +type: troubleshooting +tags: + - Agents + - Manage APM agents + - Troubleshooting +metaDescription: 'To get information about your application''''s services, agent versions, and other settings, use APM''s Environment snapshot page.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous avez besoin d'un moyen simple d'obtenir des informations sur l'environnement de votre application, telles que : + +* Quels services une version particulière de l'agent utilise-t-elle ? +* Quelles applications ont des versions d'agent obsolètes +* Quels hôtes utilisent quel agent +* Quelles valeurs s'appliquent aux paramètres d'agent spécifiques + +## Solution + +Pour voir quels services et paramètres s'appliquent à un agent, ou pour voir quel agent utilise un service ou un paramètre spécifique, accédez à **[one.newrelic.com](https://one.newrelic.com/all-capabilities)**. Cliquez sur votre application dans la liste, puis cliquez sur **Settings > Environment > Environment snapshot**. + +La page **Environment snapshot** vous aide à connecter les frais de l&apos;agent qui incluent les données d&apos;environnement, afin que vous ayez une idée des données monitoring enregistrées. Cela vous aide également à identifier plus facilement les divergences entre vos services et à déterminer ce qui pourrait devoir être mis à jour. + +Dans l’exemple suivant, l’utilisateur passe la souris sur le deuxième agent de la liste. La plupart des paramètres de cet agent sont cohérents avec ceux des autres, mais il est facile de voir les paramètres d'hôte spécifiques pour le processeur logique, les cœurs physiques et les niveaux de correctifs Ruby . Notez également que cet agent utilise une version antérieure de Ruby. + +Screenshot showing how to troubleshoot apm agent. + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; Settings &gt; Environment &gt; Environment snapshot:** Pour voir les paramètres spécifiques qui s&apos;appliquent à un agent et à ses services, ou pour voir quelles valeurs d&apos;un paramètre s&apos;appliquent à un agent spécifique, passez la souris sur n&apos;importe quel agent ou valeur. +
+ +Les informations sur la page **Environment snapshot** dépendent de l&apos;agent APM que vous utilisez. Par exemple, les applications utilisant l&apos;agent Ruby affichent les paramètres des gemmes, tandis que les applications utilisant l&apos;agent Java affichent les paramètres des fichiers JAR. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/custom-attributes-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/custom-attributes-net.mdx new file mode 100644 index 00000000000..50d6bbd81c2 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/custom-attributes-net.mdx @@ -0,0 +1,106 @@ +--- +title: Attribut .NET personnalisé +tags: + - Agents + - NET agent + - Attributes +metaDescription: 'APM''s .NET agent: how custom attribute values are processed and how they will appear in APM.' +freshnessValidatedDate: never +translationType: machine +--- + +[Les attributs](/docs/features/agent-attributes) sont des paires valeur clé contenant des informations qui déterminent les propriétés d&apos;un événement ou d&apos;une transaction. Vous pouvez créer des attributs personnalisés en utilisant l&apos;[API`AddCustomAttribute` ](/docs/agents/net-agent/net-agent-api/itransaction/#addcustomattribute). + +Lors de l'ajout de valeurs d'attribut personnalisé aux transactions, aux événements personnalisés, aux délais et aux erreurs, l'API accepte un `object`. Ceci décrit comment ces valeurs sont traitées et comment elles apparaîtront dans APM. Dans tous les cas, les valeurs `NULL` ne sont pas enregistrées. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type .NET + + Comment la valeur sera représentée +
+ `byte, Int16, Int32, Int64` + + `sbyte, UInt16, UInt32, UInt64` + + En tant que valeur intégrale +
+ `float, double, decimal` + + Un nombre décimal +
+ `string` + + Une chaîne tronquée après 255 octets. + + Les chaînes vides sont prises en charge. +
+ `bool` + + Vrai ou faux +
+ `DateTime` + + Une représentation de chaîne suivant le format ISO-8601, incluant des informations sur le fuseau horaire : + + `2020-02-13T11:31:19.5767650-08:00` +
+ `TimeSpan` + + Un nombre décimal représentant le nombre de secondes. +
+ tout le reste + + La méthode `ToString()` sera appliquée. Les types personnalisés doivent avoir une implémentation de `Object.ToString()` sinon ils généreront une exception. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net.mdx new file mode 100644 index 00000000000..b273fdf70c4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net.mdx @@ -0,0 +1,345 @@ +--- +title: Activer et désactiver l'attribut (.NET) +tags: + - Agents + - NET agent + - Attributes +metaDescription: 'How to include and exclude specific attributes for your New Relic .NET agent, including properties and rules.' +freshnessValidatedDate: never +translationType: machine +--- + +Ceci décrit les règles New Relic utilise pour déterminer quel attribut inclure ou exclure pour une [destination](/docs/features/agent-attributes#destinations). Cela inclut également un résumé des propriétés de l&apos;agent .NET qui n&apos;étaient plus disponibles avec la publication des attributs de l&apos;agent New Relic dans les versions 9.0 ou supérieures. + +## Règles d'attribut [#attruls] + +New Relic suit ces règles pour déterminer quel attribut inclure ou exclure : + + + + Le champ `attributes.enabled` remplace tous les autres paramètres. Lorsque `false`, aucun attribut ne sera signalé à New Relic. + + Exemple de configuration : + + ```xml + + foo + bar + + + + + ``` + + Exemple de sortie : + + ``` + Keys passed in: foo, bar, bat + Keys included for all destinations: + Keys excluded for all destinations: foo, bar, bat + ``` + + + + Les indicateurs `{destination}.attributes.enabled` ont priorité sur les clés d&apos;inclusion et d&apos;exclusion. + + Exemple de configuration : + + ```xml + + one + two + + + + three + four + + + ``` + + Exemple de sortie : + + ``` + Keys passed in: one, two, three, four + Keys included for transaction traces: + Keys excluded for transaction traces: one, two, three, four + ``` + + + + Si une destination est activée, tous les attributs utilisateur sont envoyés à cette destination par défaut. + + Tous les attributs utilisateur sont par défaut `true`. Cependant, par défaut, l&apos;attribut de demande et le paramètre de message sont désactivés pour toutes les destinations. + + Exemple de configuration : + + ```xml + + myAttKey + + ``` + + Exemple de sortie : + + ``` + Keys passed in: foo, bar, myAttKey + Keys included: foo, bar + Keys excluded: myAttKey + ``` + + + + Si la même clé est répertoriée dans les listes d'inclusion et d'exclusion, l'attribut avec la clé spécifiée sera exclu. + + Exemple de configuration : + + ```xml + + foo + myCustomAtt + password + myCustomAtt + + ``` + + Exemple de sortie : + + ``` + Keys passed in: foo, myCustomAtt, password + Keys included: foo + Keys excluded: password, myCustomAtt + ``` + + + + Les clés sont sensibles à la casse. + + Exemple de configuration : + + ```xml + + password + PaSsWoRd + + ``` + + Exemple de sortie : + + ``` + Keys passed in: password, Password, PASSWORD, PaSsWoRd, PassWORD + Keys included: Password, PASSWORD, PassWORD + Keys excluded: password, PaSsWoRd + ``` + + + Utilisez un astérisque + \* + pour les caractères génériques. + } + > + Vous pouvez utiliser un astérisque `*` à la fin d&apos;une clé comme caractère générique. Cela correspondra à tous les attributs avec le même préfixe. + + Exemple de configuration : + + ```xml + + custom* + request.parameters.* + + ``` + + Exemple de sortie : + + ``` + Keys passed in: custom, custom.key1, custom.key2, request.parameters., request.parameters.foo, request.parameters.bar + Keys included: custom, custom.key1, custom.key2 + Keys excluded: request.parameters., request.parameters.foo, request.parameters.bar + ``` + + + + Si plusieurs attributs d'inclusion ou d'exclusion affectent la même clé, le paramètre le plus spécifique aura la priorité. + + Exemple de configuration : + + ```xml + + request.parameters.foo + request.parameters.* + + ``` + + Exemple de sortie : + + ``` + Keys passed in: request.parameters., request.parameters.foo, request.parameters.bar + Keys included: request.parameters.foo + Keys excluded: request.parameters., request.parameters.bar + ``` + + + + Si l'attribut `include` ou `exclude` est spécifié sur une destination, il n&apos;impacte que cette destination. + + Exemple de configuration : + + ```xml + + foo + + + + foo + + + ``` + + Exemple de sortie : + + ``` + Keys passed in: foo + Keys included for transaction events: + Keys included for other destinations: foo + Keys excluded for transaction events: foo + ``` + + + +## Propriétés obsolètes [#deprecated] + +Les propriétés suivantes ne sont pas disponibles dans l’agent .NET v9.0. Veuillez visiter la page [du guide de migration de l'agent .NET 8.x vers 9.x](/docs/agents/net-agent/getting-started/8x-to-9x-agent-migration-guide) pour connaître les propriétés de remplacement lors de la mise à niveau de votre agent .NET. + + + + L'élément `analyticsEvents` dans **newrelic.config** est obsolète. Activer l&apos;élément [`transactionEvents`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#transaction_events) dans **newrelic.config**: + + ```xml + + ``` + + + + Par défaut, les paramètres de requête ne sont pas envoyés à New Relic. Ajoutez `request.parameters.*` à la liste `attributes.include` pour activer la collecte des paramètres de demande. + + ```xml + + request.parameters.* + + ``` + + + + La valeur `parameterGroups` et ses paramètres `enabled` et `ignore` sont obsolètes. Par défaut, `customParameters` et `responseHeaderParameters` sont instrumentés, tandis que `serviceRequestParameters` ne le sont pas. Pour personnaliser ces paramètres : + + * Utilisez l’indicateur [`enabled`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#agent-attributes-enabled) pour activer l’instrumentation. + + * Utilisez [`include`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#agent-attributes-include) et [`exclude`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#agent-attributes-exclude) pour basculer instrumentation pour un attribut spécifique. + + Par exemple: + + ```xml + + service.request.* + response.headers.* + myCustomApiKey.* + + ``` + + Pour plus d'informations sur la configuration des attributs, consultez les [exemples d'attributs](/docs/agents/net-agent/attributes/net-attribute-examples). + + + + L'attribut de capture sur `browserMonitoring`, `transactionTracer`, `transactionEvents` et `errorCollector` est obsolète. Utilisez plutôt le sous-élément `attributes` pour configurer les paramètres d’attribut pour chacune de ces destinations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **New property** + + + + **Example** + +
+ [`browserMonitoring`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#browser-attributes) + + ```xml + + + myKey.* + myKey.foo + + + ``` +
+ [`transactionTracer`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#tracer-attributes) + + ```xml + + + myKey.* + myKey.foo + + + ``` +
+ [`transactionEvents`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#paragrp-attributes) + + ```xml + + + myKey.* + myKey.foo + + + ``` +
+ [`errorCollector`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#error-attributes) + + ```xml + + + myKey.* + myKey.foo + + > + ``` +
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/net-attribute-examples.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/net-attribute-examples.mdx new file mode 100644 index 00000000000..86946ae20b2 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/attributes/net-attribute-examples.mdx @@ -0,0 +1,145 @@ +--- +title: Exemples d'attributs .NET +tags: + - Agents + - NET agent + - Attributes +metaDescription: Examples of using attributes with the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +Voici quelques exemples d’utilisation d’attributs avec l’agent .NET de New Relic. + +## Désactiver tous les attributs [#example1] + +Dans cet exemple, les attributs sont désactivés. Les listes `include` et `exclude` seront ignorées et tous les attributs seront filtrés. + + + **Configuration:** + + +```xml + +``` + + + **Input keys:** + + +``` +foo, bar, request.parameters.foo, request.parameters.bar +``` + + + **Output for destinations:** + + +```yml +transaction_tracer: none +error_collector: none +transaction_events: none +browser_monitoring: none +``` + +## Sélectionnez des destinations spécifiques [#example2] + +Dans cet exemple : + +* les attributs sont désactivés pour le suivi de la transaction. Les listes `include` et `exclude` seront ignorées et tous les attributs seront filtrés pour cette destination. +* les attributs sont désactivés pour par défaut. +* Les paramètres de demande (préfixés par `request.parameters.`) sont désactivés par défaut pour toutes les destinations. + +Par conséquent, seul `bar` est envoyé dans les erreurs de trace et les événements de transaction. + + + **Configuration:** + + +```xml + + foo + + + + +``` + + + **Input keys:** + + +``` +foo, bar, request.parameters.foo, request.parameters.bar +``` + + + **Output for destinations:** + + +```yml +transaction_tracer: none +error_collector: bar +transaction_events: bar +browser_monitoring: none +``` + +## Sélectionner les valeurs et les destinations [#example3] + +Dans cet exemple, des clés d’entrée spécifiques sont sélectionnées pour certaines destinations de sortie et exclues d’autres. + +* La clé `food.fruit.banana` sera exclue uniquement de la trace de transaction. +* Les clés `food` et `food.bread` seront exclues de toutes les destinations. + + + **Configuration:** + + +```xml + + food* + food.fruit.* + + + + food.fruit.banana + + +``` + + + **Input keys:** + + +``` +food, food.bread, food.fruit.banana, food.fruit.apple +``` + + + **Output for destinations:** + + +```yml +transaction_tracer: food.fruit.apple +error_collector: food.fruit.banana, food.fruit.apple +transaction_events: food.fruit.banana, food.fruit.apple +browser_monitoring: food.fruit.banana, food.fruit.apple +``` + +## Émulation du comportement des attributs legacy côté serveur [#emulating] + +Dans cet exemple, l'agent collecte les paramètres de la demande et les enregistre dans les destinations du traceur de transaction et du collecteur d'erreurs. Cela émule l'activation des paramètres de configuration legacy [configuration serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration) pour les options `Capture attributes` ou `Capture parameters`. Personnalisez les [``](/docs/agents/net-agent/installation-configuration/net-agent-configuration#agent-attributes) éléments suivants dans votre fichier de configuration d’agent .NET : + +```xml + + + request.parameters* + + + + + + request.parameters* + + +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-cloud-services-no-data-appears.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-cloud-services-no-data-appears.mdx new file mode 100644 index 00000000000..ff5d8e97f52 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-cloud-services-no-data-appears.mdx @@ -0,0 +1,20 @@ +--- +title: 'Dépannage cloud des services Azure : Aucune donnée n''apparaît' +tags: + - Agents + - NET agent + - Azure troubleshooting +metaDescription: What to do if no data appears after you install the New Relic .NET agent through Microsoft Azure Cloud Services. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous avez installé l'agent .NET de New Relic via [Microsoft Azure Cloud Services](/docs/agents/net-agent/azure-installation/install-app-azure-cloud-services), puis vous avez installé le package NuGet. Après avoir généré du trafic et attendu quelques minutes que les données commencent à être collectées pour votre application, les données n&apos;apparaissent toujours pas dans l&apos;interface utilisateur APM. + +## Solution + +Pour que l'agent .NET démarre et se connecte à votre application, au moins une métrique doit être collectée. Si vous avez un appel externe ou un appel de base de données instrumenté par New Relic, votre application signalera les données à votre [page APM **Summary** ](/docs/apm/applications-menu/monitoring/apm-overview-page). De plus, les informations sur les appels externes apparaîtront sur [les cartes de service](/docs/data-analysis/user-interface-functions/view-your-data/service-maps-visualize-monitor-apps-entire-architecture) de votre application. + +Sans instrumentation personnalisée, les rôles `Worker` signalent uniquement les appels de base de données et les appels externes. (instrumenté à `Worker` Le rôle est similaire à [instrumenté à une applicationpersonnalisée](/docs/agents/net-agent/instrumentation/instrumenting-non-iis-apps).) Pour afficher d&apos;autres détails, vous devez collecter des métriques personnalisées à l&apos;aide de [de l'API .NET](/docs/agents/net-agent/features/net-agent-api) de New Relic et les afficher dans un [dashboard personnalisé](/docs/dashboards/new-relic-dashboards/custom-dashboards/custom-dashboards). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx new file mode 100644 index 00000000000..6682febe3be --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx @@ -0,0 +1,75 @@ +--- +title: "Dépannage Azure Web Apps\_: problème avec le pipeline Azure" +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps if data does not appear in your app after you installed the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Pour les applications Web Azure utilisant `NewRelic.Azure.WebSites.Extension` et déployées avec le pipeline Azure , les répertoires `newrelic` sont supprimés, donc aucune instrumentation ne se produit. D&apos;autres tentatives de déploiement à l&apos;aide d&apos;Azure Pipeline indiquent que `NewRelic.Azure.WebSites.Extension` est déjà installé, donc l&apos;extension ne peut pas être réinstallée à l&apos;aide d&apos;Azure Pipeline. + +## Solution + +Pour contrôler la conservation du dossier `newrelic` , utilisez les options suivantes pour WebDeploy : + + + + + + + + + + + + + + + + + +
+ + **Basic solutions** + + + + **Comments** + +
+ Activer `skipAction=Delete` arguments WebDeploy. + + Excluez explicitement des dossiers spécifiques de la suppression, tels que les dossiers `newrelic` , avec les éléments suivants : + + UI de Azure Pipelines : + + Ajoutez ces arguments à la **Azure App Service deploy -> Additional Deployment Options -> Additional Arguments** + + ``` + -skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic$' -skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic_core$' + ``` + + OU + + `Pipeline.yml` déposer: + + ajoutez le `input` suivant à la tâche WebDeploy : + + ```yml + AdditionalArguments: '-skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic$'' -skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic_core$''' + ``` + + **Note** les guillemets simples échappés. +
+ +Screenshot showing skipAction + +## Cause + +Si l’option `Remove additional files at destination` est sélectionnée pour la tâche `AzureRmWebAppDeployment` dans Azure Pipeline, les répertoires `newrelic` et `newrelic_core` sont supprimés de `wwwroot`, mais l’extension n’est pas considérée comme désinstallée par Azure. Par conséquent, la prochaine fois que le pipeline s’exécute et tente d’installer l’extension, le pipeline affiche le message `Extension 'NewRelic.Azure.WebSites.Extension' already installed.` L’extension ne peut pas s’exécuter sans ses dossiers et Azure ne la réinstallera pas car il considère qu’elle est toujours installée. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-profiler-dll-locks-during-deployment.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-profiler-dll-locks-during-deployment.mdx new file mode 100644 index 00000000000..1e20b44f8c7 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-profiler-dll-locks-during-deployment.mdx @@ -0,0 +1,40 @@ +--- +title: 'Dépannage Azure Web Apps : profileur .dll se verrouille pendant le déploiement' +tags: + - Agents + - NET agent + - Azure troubleshooting +metaDescription: 'New Relic .NET agent: Options if your profiler dll locks when deploying your Azure Web App.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Lorsque vous exécutez une nouvelle version de l'agent .NET de New Relic (`NewRelic.Profiler.dll`) pour votre [application web Microsoft Azure](/docs/agents/net-agent/azure-installation/install-app-azure-web-apps), un message d&apos;erreur vous empêche de continuer jusqu&apos;à ce que vous arrêtiez ou redémarriez le processus. + +## Solution + +Normalement, le processus s'arrête, puis les ressources sont écrasées par les ressources que New Relic regroupe dans la racine du site (située à `D:\Home\site\wwwroot\newrelic`) lors d&apos;un déploiement. Pour résoudre le problème, essayez l’une de ces solutions. + + + + Cette solution est disponible pour votre application Web Azure si vous essayez de déployer une nouvelle version de l'agent .NET sur une version existante : + + 1. Arrêtez votre application Web pour sortir le fichier `.dll` . + 2. Autoriser la mise à jour à se poursuivre. + 3. Une fois le lever terminé, redémarrez l'instance. + + + + Vous pouvez installer l’agent .NET de New Relic dans votre application Web Azure à l’aide de l’ [extension de site New Relic](https://www.siteextensions.net/packages/NewRelic.Azure.WebSites/). (Vous ne devriez avoir besoin d&apos;installer l&apos;extension qu&apos;une seule fois.) + + 1. Accédez à **[https://yoursite.scm.azurewebsites.net/](https://yoursite.scm.azurewebsites.net/)** et sélectionnez **Site Extensions**. + + 2. À partir du **Gallery**, sélectionnez l&apos;ajout icône, puis sélectionnez **New Relic**. + + 3. Suivez les instructions pour [ajouter manuellement les clés de configuration](/docs/agents/net-agent/azure-installation/install-app-azure-web-apps) à votre application Web et utilisez l’option qui correspond le mieux à vos besoins. + + Pour mettre à jour l’extension de site : dans le [portail Azure](https://portal.azure.com), sélectionnez **WebApps > (select your site) > All Settings > Extensions > New Relic**. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-unable-open-log-file.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-unable-open-log-file.mdx new file mode 100644 index 00000000000..b9c68aa1f07 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-unable-open-log-file.mdx @@ -0,0 +1,18 @@ +--- +title: "Dépannage Azure Web Apps\_: Impossible d'ouvrir le fichier de log" +tags: + - Agents + - NET agent + - Azure troubleshooting +metaDescription: 'New Relic .NET agent: If a profile log exists for your Azure Web App but you cannot view it, restart your web app.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous vous connectez via FTP à votre [application Web Microsoft Azure](/docs/agents/net-agent/azure-installation/install-app-azure-web-apps). Vous pouvez voir un fichier `NewRelic.Profiler.####.log` dans **LogFiles\NewRelic**, mais lorsque vous essayez d&apos;accéder au fichier de log, un message d&apos;erreur apparaît. + +## Solution + +Redémarrez votre application Web pour extraire le fichier et créer un nouveau log de profil. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-using-always-no-data-appears.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-using-always-no-data-appears.mdx new file mode 100644 index 00000000000..710b8af5e1b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/azure-web-apps-using-always-no-data-appears.mdx @@ -0,0 +1,80 @@ +--- +title: "Dépannage Azure Web Apps\_: problème avec Always On" +tags: + - Agents + - NET agent + - Azure troubleshooting +metaDescription: Workarounds if you have problems after installing New Relic's .NET agent on a Windows Azure Web App. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous avez installé l’agent .NET de New Relic via [Microsoft Azure Web Apps](/docs/agents/net-agent/azure-installation/install-app-azure-web-apps) et utilisez le paramètre `Always On` d’Azure. Après avoir généré du trafic et attendu quelques minutes que la collecte de données démarre pour votre application, les données n&apos;apparaissent toujours pas dans l&apos;interface utilisateur APM. + +## Solution + +À partir de la version [8.22.181.0](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-8221810) de l&apos;agent .NET, Le paramètre `Always On` d’Azure peut être activé sans interférer avec l’agent. Si vous souhaitez utiliser `Always On`, mettez simplement [à jour l'agent](/docs/agents/net-agent/azure-installation/install-net-agent-azure-web-apps). + +## Solutions de contournement pour .NET Framework 4.0 ou version antérieure [#4-0-framework] + +Si votre application cible [.NET Framework 4.0 ou une version antérieure](/docs/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower), [le paramètre`Always On` ](https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/)d’Azure interférera avec l’agent. Cette fonctionnalité est uniquement disponible dans les modes **Basic** et **Standard** d’Azure. + +Le paramètre `Always On` empêche la définition de la variable d&apos;environnement `APP_POOL_ID` . L&apos;agent .NET de New Relic a besoin de cette variable d&apos;environnement pour obtenir le nom de l&apos;application. Si l&apos;agent ne peut pas déterminer le nom d&apos;une application, il ne démarrera pas. + +Si vous utilisez toujours .NET Framework 4.0 ou une version antérieure, essayez les solutions de contournement suivantes : + +Si vous utilisez le niveau **Standard** ou **Basic** de Microsoft avec le portail Azure , assurez-vous que le paramètre `Always On` est désactivé. + +1. Dans le portail Azure, sélectionnez **(your app) > Settings > Application Settings**. +2. Réglez la bascule `Always On` sur `Off`. + +Voici quelques autres options que vous pouvez essayer. Si cela ne fonctionne pas, vous **must** [désactivez le paramètre `Always On` ](#4-0-framework). + + + + Pour nommer votre application dans le **`newrelic.config`** local en utilisant Kudu : + + 1. Depuis le portail Microsoft Azure, sélectionnez **(your app) > Tools > Kudu**, puis **Go**. + + 2. Sélectionnez **Debug Console > CMD**. + + 3. Sélectionnez **Site > wwwroot > newrelic**. + + 4. Sélectionnez l'édition icône pour `newrelic.config` et ajoutez : + + ```xml + + Your app's name + + ``` + + 5. Enregistrez et redémarrez votre application. + + + + + Cette option s’est avérée n’être qu’une solution temporaire. L'agent .NET peut cesser de générer des rapports par intermittence. + + + Pour nommer votre application dans son fichier `app/web.config` : + + 1. Ajoutez la clé suivante à `appSettings`: + + ```xml + + + + ``` + + 2. Redémarrez votre instance. + + + + En fonction de votre utilisation de `Always On`, vous pouvez essayer d&apos;utiliser [monitoring Synthétique](/docs/synthetics/new-relic-synthetics/getting-started/introduction-new-relic-synthetics) pour garder votre site Web actif. + + * Si vous **are not** utilisez le `Always On` paramètre, vous pouvez essayer d&apos;utiliser notre monitoring [pinger moniteur](/docs/synthetics/new-relic-synthetics/using-monitors/add-edit-monitors#monitor-type-ping) gratuit Synthétique . + * Si vous **are** utilisez le paramètre `Always On`, monitoring Synthétique doit pouvoir atteindre un point de terminaison pour vos rôles de travail. Si ce n&apos;est pas le cas, vous pouvez essayer d&apos;utiliser un [moniteur scripté Synthétique](/docs/synthetics/new-relic-synthetics/scripting-monitors/write-scripted-browsers) à exécuter sur votre site. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx new file mode 100644 index 00000000000..d914712189e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx @@ -0,0 +1,191 @@ +--- +title: Débogage de l'agent .NET dans Azure Web Apps +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting tips to debug New Relic .NET agent in Azure Web Apps. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après [avoir installé l'agent .NET de New Relic pour Azure](/install/dotnet/?deployment=azure), vous rencontrez un ou plusieurs des problèmes suivants : + +* Vous ne voyez aucune donnée. +* Vous remarquez que le nom de l'application apparaît dans New Relic, mais il manque des données. + +## Solution + +Choses importantes à vérifier et à comprendre : + +* Assurez-vous que les [étapes d'installation et d'exécution ont été suivies](/install/dotnet/?deployment=azure), y compris le redémarrage de votre application Web. +* Vous **must** [désactivez Application Insights](/docs/agents/net-agent/azure-troubleshooting/net-profiler-conflict-microsoft-application-insights/) pour que l&apos;agent .NET fonctionne correctement. +* L'application **must** reçoit du trafic pour le démarrage de l&apos;agent .NET. +* À partir de la version 8.22.181.0 de l'agent .NET, Le paramètre `Always On` d’Azure peut être activé sans interférer avec l’agent. Si votre application cible .NET Framework 4.0 ou une version antérieure, `Always On` interférera avec l&apos;agent et les solutions de contournement [ici](/docs/agents/net-agent/azure-troubleshooting/azure-web-apps-using-always-no-data-appears) sont toujours applicables. + +## Étape 1 : vérifier le log agent de l'application [#step-one] + + + Vous pouvez utiliser [Kudu](https://github.com/projectkudu/kudu/wiki) pour vérifier le log agent , qui est un site qui s&apos;exécute en parallèle avec votre site Web et fournit divers outils qui peuvent être utilisés pour examiner les processus, consulter le système de fichiers et télécharger des fichiers et des répertoires. + + Si l'URL de votre site Web est `example.azurewebsites.net`, alors le site Kudu est `example.scm.azurewebsites.net`. Utilisez les informations d&apos;identification de déploiement de votre site pour log au site Kudu. + + +Conseils importants lors de la vérification du log : + +* Lorsque New Relic Azure vous utilisez l’extension de site , en supposant que votre Azure application Web utilise une `D:` racine système de fichiers,log l’emplacement par défaut `D:\home\LogFiles\NewRelic` est. Si votre site Web Azure utilise une racine `C:` , vous devrez utiliser la lettre de lecteur correcte. +* Si vous avez installé l'agent avec le package NuGet `NewRelic.Agent` ou `NewRelic.Azure.WebSites` , vous trouverez le dossier `logs` dans le répertoire où l&apos;agent a été extrait dans votre projet. Il s’agit souvent du dossier `newrelic` dans le dossier `wwwroot` . + +Pour vérifier le log agent : + +1. Assurez-vous de consulter les données actuelles. Supprimez ou déplacez tous les fichiers existants dans le répertoire du log afin d'être sûr que le log que vous générez reflète l'état actuel de votre système. +2. Redémarrez votre application. +3. Exercez votre application pendant au moins quelques minutes d'une manière qui générerait le trafic que vous vous attendez à voir sur votre compte New Relic. +4. Notez l'ID de processus (PID) sous lequel votre application s'exécute, afin de pouvoir vérifier si un log est créé pour ce processus. Vous pouvez trouver le PID en utilisant le **Process Explorer** intégré de Kudu. +5. Revenez au répertoire du log de agent et recherchez un fichier de log avec un nom contenant l'ID de processus de votre application, par exemple, `NewRelic.Profiler.[PID].log`. +6. Si vous voyez ce fichier de du profileur log dans le répertoire des logs, vérifiez également s'il existe un agent log correspondant. Le agent log contient le `newrelic_agent` préfixe. Si vous exécutez plusieurs applications .NET sur votre hôte, il peut y en avoir plusieurs. Si vous en voyez un ou plusieurs, vous devez déterminer celui qui correspond à l&apos;application que vous essayez de monitorer. +7. Recherchez dans le agent log la `(pid [your PID])` chaîne, par `(pid 1573)` exemple. Si vous trouvez cette chaîne dans le fichier de log, vous savez agent log alors application qu&apos;il s&apos;agit du associé à votre . +8. Recherchez les erreurs réseau ou autres qui pourraient empêcher l'agent d'envoyer des données à New Relic. + +## Étape 2 : Vérifiez si le profileur d'agent .NET est chargé dans le processus de l'application [#step-two] + +Pour vérifier si le profileur est chargé : + +1. Utilisez l'explorateur de processus intégré de Kudu pour les installations Windows. Pour les installations Linux, reportez-vous aux commandes de [cet article](/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux/). +2. Dans **Process Explorer**, recherchez le processus que vous essayez de monitorer et notez le numéro dans la colonne PID. Si vous essayez de monitorer une application Web, le nom du processus sera probablement `w3wp.exe` sans l&apos;étiquette SCM, qui fait référence au processus Kudu lui-même. L&apos;agent ne doit pas instrumenter le processus SCM (Kudu). +3. Lorsque vous avez localisé le processus de votre application, cliquez sur le bouton `Properties`. +4. Cliquez sur l'onglet **Modules** et recherchez `NewRelic.Profiler.dll` — cette DLL est requise pour que l&apos;agent monitore votre application. Si vous ne le trouvez pas, assurez-vous que les variables d’environnement correctes sont présentes (plus d’informations à ce sujet à [l’étape 3](#step-three)) et [que Microsoft Application Insights est désactivé](/docs/agents/net-agent/azure-troubleshooting/net-profiler-conflict-microsoft-application-insights/). + +Si vous ne voyez pas `NewRelic.Profiler.dll`, passez à l’étape suivante. Si vous voyez cette DLL et que l’application reçoit du trafic, vous devriez voir le log comme décrit à [l’étape 1](#step-one). + +## Étape 3 : vérifier les variables d’environnement requises [#step-three] + +Pour vérifier les variables d’environnement requises : + +1. Dans **Process Explorer**, localisez le processus de votre application et cliquez sur le bouton `Properties` . +2. Sélectionnez l’onglet **Environment** . + +Si les variables correctes sont définies et que l'application que vous essayez de monitorer y a accès, vous devriez voir un ensemble particulier de variables d'environnement, selon que l'agent que vous avez installé est .NET Framework ou .NET Core. + + + Ces exemples supposent tous que votre application Web Azure utilise une racine de système de fichiers `D:` . Si votre site Web Azure utilise une racine `C:` , vous devez utiliser la lettre de lecteur appropriée lors de la configuration de ces chemins. + + + + + Les variables d'environnement qui apparaissent dans l'onglet **Environment** de **Process Explorer** de Kudu doivent être similaires à celles-ci : + + ```ini + COR_ENABLE_PROFILING = 1 + COR_PROFILER = {71DA0A04-7777-4EC6-9643-7D28B46A8A41} + COR_PROFILER_PATH = D:\home\NewRelicAgent\Framework\NewRelic.Profiler.dll + COR_PROFILER_PATH_32 = D:\home\NewRelicAgent\Framework\x86\NewRelic.Profiler.dll + COR_PROFILER_PATH_64 = D:\home\NewRelicAgent\Framework\NewRelic.Profiler.dll + NEWRELIC_HOME = D:\home\NewRelicAgent\Framework + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + Si les variables d’environnement ne correspondent pas à ce que vous voyez ci-dessus, essayez de réinstaller l’extension New Relic Azure Site. + + + Pour .NET Framework, si l’ application que vous souhaitez monitorer n’est pas hébergée dans IIS (comme un service Windows auto-hébergé), vous devez activer explicitement l’ agent pour cette application, comme indiqué dans nos [documentsinstallation ](/install/dotnet/?deployment=windowsInstallNonIis&docker=noDocker). + + + Si vous avez apporté des modifications aux variables d’environnement, assurez-vous de redémarrer votre application via le portail Azure. Inspectez ensuite le nouvel ID de processus dans l’Explorateur de processus afin de vous assurer que les modifications ont réussi. + + + + Pour le package NuGet, les variables d’environnement [doivent être ajoutées en tant que paramètres d’application](/install/dotnet/?deployment=azure&azure=azurenugetframework). + + Les variables d'environnement qui apparaissent dans l'onglet **Environment** de **Process Explorer** de Kudu doivent être similaires à celles-ci : + + ```ini + COR_ENABLE_PROFILING = 1 + COR_PROFILER = {71DA0A04-7777-4EC6-9643-7D28B46A8A41} + COR_PROFILER_PATH = D:\Home\site\wwwroot\newrelic\NewRelic.Profiler.dll + NEWRELIC_HOME = D:\Home\site\wwwroot\newrelic + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + Si les variables d’environnement ne correspondent pas à ce que vous voyez ci-dessus, vous pouvez essayer de réinstaller l’extension New Relic Azure Site. + + + Pour .NET framework, si l’ application que vous souhaitez monitorer n’est pas hébergée dans IIS (comme un service Windows auto-hébergé), vous devez activer explicitement l’ agent pour cette application, comme indiqué dans nos [documentsinstallation ](/docs/apm/agents/net-agent/installation/install-net-agent-windows#enabling-the-agent). + + + Si vous avez apporté des modifications aux variables d’environnement, assurez-vous de redémarrer votre application via le portail Azure. Inspectez ensuite le nouveau PID de processus dans **Process Explorer** afin de vous assurer que les modifications ont réussi. + + + + Les variables d'environnement qui apparaissent dans l'onglet **Environment** de **Process Explorer** de Kudu doivent être similaires à celles-ci : + + ```ini + CORECLR_ENABLE_PROFILING = 1 + CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_NEWRELIC_HOME = D:\home\NewRelicAgent\Core + CORECLR_PROFILER_PATH_32 = D:\home\NewRelicAgent\Core\x86\NewRelic.Profiler.dll + CORECLR_PROFILER_PATH_64 = D:\home\NewRelicAgent\Core\NewRelic.Profiler.dll + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + + + Pour le package NuGet, les variables d’environnement [doivent être ajoutées en tant que paramètres d’application](/install/dotnet/?deployment=azure&azure=azureframeworkcore). Les variables d&apos;environnement qui apparaissent dans l&apos;onglet **Environment** de **Process Explorer** de Kudu doivent être similaires à celles-ci : + + ```ini + CORECLR_ENABLE_PROFILING = 1 + CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_PROFILER_PATH_32 = D:\Home\site\wwwroot\newrelic\x86\NewRelic.Profiler.dll + CORECLR_PROFILER_PATH_64 = D:\Home\site\wwwroot\newrelic\NewRelic.Profiler.dll + CORECLR_NEWRELIC_HOME = D:\Home\site\wwwroot\newrelic + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + Assurez-vous que le nœud log de votre fichier `newrelic.config` inclut un attribut de répertoire. Si Visual Studio vous empêche de modifier le fichier `newrelic.config` qui a été ajouté à votre projet par NuGet, vous devez en faire une copie locale dans votre application : + + ```xml + + ``` + + Si vous n'avez pas ajouté cet attribut de répertoire au fichier de configuration, vous pouvez utiliser le paramètre d'application : `NEWRELIC_LOG_DIRECTORY=D:\Home\LogFiles\NewRelic` + + + + Pour le package NuGet, les variables d’environnement [doivent être ajoutées en tant que paramètres d’application](/install/dotnet/?deployment=azure&azure=azureframeworkcore). + + Les variables d'environnement qui apparaissent dans l'onglet **Environment** de **Process Explorer** de Kudu doivent être similaires à celles-ci : + + ```ini + CORECLR_ENABLE_PROFILING = 1 + CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_PROFILER_PATH = /home/site/wwwroot/newrelic/libNewRelicProfiler.so + CORECLR_NEWRELIC_HOME = /home/site/wwwroot/newrelic + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + Assurez-vous que le nœud **log** de votre fichier `newrelic.config` inclut un attribut de répertoire. Si Visual Studio vous empêche de modifier le fichier `newrelic.config` qui a été ajouté à votre projet par NuGet, vous devez en faire une copie locale dans votre application : + + ```xml + + ``` + + Si vous n'avez pas ajouté cet attribut de répertoire au fichier de configuration, vous pouvez utiliser le paramètre d'application : `NEWRELIC_LOG_DIRECTORY=/home/LogFiles/NewRelic` + + + +Pour en savoir plus sur ces variables d’environnement et leurs fonctionnalités, consultez comment [comprendre les variables d’environnement de l’agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + +Si le nom application apparaît dans New Relic, mais qu'aucune transaction n'apparaît, c'est probablement parce qu'aucun trafic ne touche l'application ou que l'agent ne rencontre pas de framework connu qu'il peut automatiquement instrument: + +* Pour le framework instrumenté automatiquement pour .NET Core et .NET framework, reportez-vous à notre [page de compatibilité](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/). +* Si votre application n'utilise pas l'un de ces frameworks d'application compatibles, vous devrez peut-être implémenter [instrumentation personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) pour indiquer à l&apos;agent quelles parties de votre application sont importantes pour monitoring et ce qui constitue la portée d&apos;une transaction. + +Si les étapes ci-dessus ne vous ont pas aidé à résoudre vos problèmes, nous vous recommandons de contacter le support ou de demander de l'aide sur [notre forum d'assistance](https://discuss.newrelic.com/tag/dotnetagent). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/no-data-reporting-microsoft-application-insights.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/no-data-reporting-microsoft-application-insights.mdx new file mode 100644 index 00000000000..762154cef8e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/azure-installation/no-data-reporting-microsoft-application-insights.mdx @@ -0,0 +1,43 @@ +--- +title: "Dépannage Azure Web Apps\_: conflit App Insights" +tags: + - Agents + - NET agent + - Azure troubleshooting +metaDescription: What to do if no data appears and Microsoft's Application Insights profiler is preventing the New Relic .NET profiler from instrumenting your app. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +L'agent .NET a été installé et les **App Settings** requis sont définis, mais aucune donnée n&apos;apparaît et aucun log New Relic n&apos;est créé dans `D:\Home\Logfiles\NewRelic\`. De plus, lorsque vous utilisez la console Azure Kudu **Process Explorer** pour inspecter la **Environment Variables** de votre application, elle indique que `COR_PROFILER_PATH_64` et `COR_PROFILER_PATH_32` sont définis et pointent vers les éléments suivants : + +``` +D:\Program Files (x86)\SiteExtensions\InstrumentationEngine\1.0.19\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll +``` + +## Solution + +Le Common Language Runtime (CLR) .NET n'autorise qu'un seul profileur. Si l'application Insights profileur de Microsoft est installée sur le système, le profileur New Relic n'instrumente aucune application et aucune donnée n'apparaîtra. Pour plus d’informations, consultez la [documentation Microsoft Azure Web Apps](https://docs.microsoft.com/en-us/azure/azure-monitor/app/azure-web-apps). + +Pour résoudre ce problème, supprimez ou désactivez l’application Insights de votre application. + +Pour **remove** l&apos;extension de site Insights de l&apos;application : + +1. Supprimez tous les paramètres liés à l’application Insights de **Application > Settings > Application Settings** et **Save**. Cela peut inclure les clés suivantes : + + * Toute clé commençant par `APPINSIGHTS_` + * Toute clé commençant par `APPLICATIONINSIGHTS_` + * Toute clé commençant par `XDT_MicrosoftApplicationInsights_` + * `DiagnosticServices_EXTENSION_VERSION` + * `InstrumentationEngine_EXTENSION_VERSION` + * `MicrosoftInstrumentationEngine_LatestPath` + +2. Supprimez l'extension de **Application > Tools > Extensions**. Cliquez avec le bouton droit sur l’extension et **Delete**. + +3. Supprimez le **Tile Add-On** de votre **Application Panel** (si présent). + +4. Redémarrez votre application. + +Pour accéder à **disable** Application Insights via le portail Azure : accédez au panneau Application Insights sous **Settings**. Cela peut redémarrer votre application. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent.mdx new file mode 100644 index 00000000000..d249778cee4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent.mdx @@ -0,0 +1,208 @@ +--- +title: Traçage distribué pour l'agent .NET +tags: + - Understand dependencies + - Distributed tracing + - Enable and configure +metaDescription: How to enable distributed tracing or Infinite Tracing for the APM .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +Le traçage distribué vous permet de voir l'intégralité du parcours de vos requests à travers un [systèmes distribués](/docs/distributed-tracing/concepts/introduction-distributed-tracing). Pour l&apos;agent .NET, nous proposons deux types de traçage distribué (pour plus de détails, voir [Comment fonctionne l'échantillonnage de portée](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#sampling)) : + +* Standard (échantillonnage en début de workflow) : Avant l'arrivée de toute trace, nous déterminons un pourcentage défini de trace à accepter et à analyser. Cela vous donne un point de départ solide pour voir comment le traçage peut vous aider. Il est activé par défaut dans l'agent .NET 9.0.0.0 et versions ultérieures. + +* Traçage infini (échantillonnage en fin de workflow) : Notre service basé sur le cloud accepte toutes vos traces puis les trie pour trouver les plus importantes. Le traçage infini analyse toutes vos traces et vous offre des options configuration pour échantillonner les traces qui comptent le plus pour vous. + +Que vous souhaitiez simplement tester le traçage standard distribué (échantillonnage en début de workflow) ou que vous souhaitiez également mettre en place un traçage infini (échantillonnage en fin de workflow), vous devez commencer par mettre en place le traçage standard. + +## Traçage standard distribué [#quick-start-apm] + +Il s’agit de la meilleure approche pour configurer [le traçage standard distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works/#head-based) si vous n’avez pas encore installé d’agent APM pour vos services. + + + Lorsque vous installez New Relic l'agent .NET, le traçage standard distribué est activé par défaut. Si vous préférez le désactiver, consultez notre [guide de configuration](/docs/apm/agents/net-agent/configuration/net-agent-configuration). + + + + + ### Identifier les services [#identify] + + Déterminez quels services touchent à votre demande afin de pouvoir instrumenter chacun d'eux pour envoyer des données trace à New Relic. + + + + ### instrumenter chaque service avec un agent APM [#update-agents] + + Pour chaque service impliqué dans vos transactions, vous effectuerez une installation distincte de l'agent. Si certains de vos services utilisent d’autres langues, répétez simplement les [étapes d’installation](/docs/distributed-tracing/enable-configure/quick-start) pour ces langues. + + Pour démarrer la routine d'installation, cliquez sur la tuile ci-dessous. Une fois l'installation de chaque agent terminée, revenez ici pour voir des conseils pour [visualiser votre trace](#view-traces). + + + } /> + + + + + ### Afficher la trace [#view-traces] + + Après avoir instrumenté chacun de vos services avec l'agent APM, générez du trafic dans votre application afin que nous puissions capturer une trace. Voici quelques façons d'afficher votre trace dans l'UI: + + + + Voici une façon de voir la trace d’un service particulier : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services**. + 2. Cliquez sur votre entité (service). + 3. Dans la section **Monitor** du volet de gauche, cliquez sur **Distributed tracing**. + 4. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 5. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Pour voir la trace de ces comptes croisés : + + 1. Allez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; Traces**. + 2. Sélectionnez votre entité (service) dans le volet de gauche. + 3. Pour plus de détails, cliquez sur une trace individuelle. Si **Group similar traces** est activé dans le menu supérieur, cliquez sur un groupe trace, puis cliquez sur une trace individuelle. + 4. Si vous ne voyez pas la trace souhaitée, vous pouvez filtrer par `trace.id`. + + + + Vous pouvez rassembler votre log et vos détails de traçage pour rendre le dépannage plus facile et plus rapide. Avec les [logs en contexte](/docs/logs/logs-context/configure-logs-context-apm-agents/), vous pouvez voir le message du à côté de log la trace dans l&apos;UI de New Relic. + + Après avoir localisé une trace intéressante en suivant les étapes décrites dans [Afficher la trace qui inclut un service spécifique](#entity-explorer) ou [Afficher la trace sur plusieurs comptes](#cross-acct-traces), procédez comme suit : + + 1. Si vous avez activé les journaux en contexte, cliquez sur l'onglet **Logs** (à côté de **Trace details**). + 2. Pour afficher les détails relatifs à un log individuel, cliquez directement sur le message. + + + + Pour plus d'aide pour trouver votre trace dans l'UI: + + * [Comprendre et utiliser l'UI de tracing distribué](/docs/distributed-tracing/ui-data/understand-use-distributed-tracing-ui) + * [Interroger les données de traces distribuées](/docs/understand-dependencies/distributed-tracing/ui-data/query-distributed-trace-data) + + + +## Traçage infini [#infinite-tracing] + +[Le traçage standard distribué](#quick-start-apm) pour l&apos;agent APM capture jusqu&apos;à 10 % de votre trace, mais si vous souhaitez que nous analysions toutes vos données et trouvions la trace la plus pertinente, vous pouvez configurer [le traçage infini](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing). + +Avant de commencer, assurez-vous d’abord de répondre [aux exigences](/docs/understand-dependencies/distributed-tracing/infinite-tracing/introduction-infinite-tracing#requirements). + + + + ### Terminez la configuration pour le traçage standard distribué [#install-agents-first] + + La configuration Infinite Tracing s'appuie sur le traçage standard distribué. Assurez-vous donc d’avoir terminé les [étapes ci-dessus](#quick-start-apm), puis continuez avec la configuration de l’observateur de trace. + + + + ### Configurer l'observateur de trace [#provision-trace-observer] + + L'observateur de trace est un service New Relic basé sur AWSqui collecte et analyse toutes vos traces. Suivez les instructions dans [Configurer Trace Observer](/docs/understand-dependencies/distributed-tracing/infinite-tracing/set-trace-observer). Une fois que vous avez terminé, revenez ici avec les informations de votre observateur de trace et passez à l’étape suivante pour configurer l’agent. + + + + ### Configurer l'agent pour Infinite Tracing [#configure-agent-inf] + + Les paramètres configuration d'Infinite Tracing incluent le traçage standard distribué ainsi que des informations sur l'observateur de trace. Notez que la configuration côté serveur n'est pas disponible pour Infinite Tracing. + + + + Voici un aperçu des paramètres. Pour plus d’aide sur la configuration, consultez [Configuration de l’agent .NET](/docs/agents/net-agent/configuration/net-agent-configuration#distributed_tracing). + + + + + + + + + + + + + + + + + +
+ Taper + + configurationrequise +
+ Traçage infini + + Options de configuration : + + * Fichier de configuration (`newrelic.config`): + + ```xml + + + + + + + ``` + + * Variables d'environnement : + + ``` + NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true + NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST="YOUR_TRACE_OBSERVER_HOST" + ``` +
+
+
+ + + Si vous avez besoin d'aide avec la configuration du proxy, consultez [Assistance proxy](/docs/understand-dependencies/distributed-tracing/other-requirements/infinite-tracing-proxy-support). + +
+ + + ### (Facultatif) Personnaliser le traçage infini [#customize-inf] + + Après avoir ajouté les agent configuration paramètres, vous devriez commencer à voir les données dans l’UI de New Relic. Après avoir passé un certain temps à analyser vos données, vous souhaiterez peut-être ajuster certaines fonctionnalités d'Infinite Tracing : + + * [Configurer le monitoring de l'observateur de trace](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-trace-observer-monitoring) + * [Configurer le filtre de trace d’attribut span](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-span-attribute-trace-filter) + * [Configurer un filtre de trace aléatoire](/docs/distributed-tracing/infinite-tracing/infinite-tracing-configure-random-trace-filter) + +
+ +## instrumentation manuelle (si instrumentation automatique ne fonctionne pas) [#manual-instrumentation] + +Recommandation : Avant de procéder à une instrumentation personnalisée, lisez : + +* [Comment fonctionne le traçage distribué](/docs/distributed-tracing/concepts/how-new-relic-distributed-tracing-works) +* [Résoudre les problèmes de données manquantes](/docs/apm/distributed-tracing/troubleshooting/troubleshooting-missing-trace-data) + +L'agent .NET envoie automatiquement des données de traçage sur les canaux IPC (fichier d'attente des messages, par exemple) lorsqu'il instrumente automatiquement un client pour ce canal ([RabbitMQ.Client](https://www.nuget.org/packages/rabbitmq.client), par exemple). Si vos services communiquent à l&apos;aide d&apos;un mécanisme IPC que l&apos;agent n&apos;instrumente pas automatiquement, vous devez utiliser l&apos;API de l&apos;agent de traçage distribué pour propager les données de traçage entre les services. + + + Pour que l'API de traçage manuel fonctionne, le canal de communication que vous utilisez doit prendre en charge une sorte de stockage de paires valeur-clé (un « transporteur ») associé aux messages transmis. Ceci est parfois appelé « en-têtes » ou « sac de propriétés », mais cela dépendra de la bibliothèque de messagerie avec laquelle vous travaillez. + + +[Voici un exemple](https://github.com/newrelic/newrelic-dotnet-examples/tree/main/custom-distributed-tracing) que vous pouvez créer et exécuter pour montrer comment cela fonctionne. + + + + Pour instrumenter le service appelant : + + 1. Assurez-vous que le message sortant est envoyé dans le contexte d'une transaction. [Une instrumentation personnalisée](docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net/) peut être nécessaire pour cela. + 2. Invoquez l'API d'appel d'agent pour insérer des données de traçage dans le message envoyé (voir l'[ APIInsertDistributedTraceHeaders](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction)). + + + + Pour instrumenter le service appelé : + + 1. Assurez-vous que le message entrant est reçu dans le contexte d'une transaction. [Une instrumentation personnalisée](docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net/) peut être nécessaire pour cela. + 2. Invoquez l'API d'appel d'agent pour accepter les données de traçage du message entrant (voir l'[ APIAcceptDistributedTraceHeaders](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction)). + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/name-your-net-application.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/name-your-net-application.mdx new file mode 100644 index 00000000000..2db465e832e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/name-your-net-application.mdx @@ -0,0 +1,284 @@ +--- +title: Nommez votre application .NET +tags: + - Agents + - NET agent + - Configuration +metaDescription: 'Name your New Relic .NET app: Our recommended and full list of naming options for your IIS-hosted and non-IIS apps.' +freshnessValidatedDate: never +translationType: machine +--- + +[L'agent .NET de New Relic](/docs/agents/net-agent/getting-started/introduction-new-relic-net) vous offre plusieurs façons de modifier le nom de l&apos;application signalé et affiché dans APM. Ce document vous donne un aperçu de ces options de dénomination. + +Pour un aperçu général de la dénomination des applications APM (non spécifique à .NET), voir [Nommez votre application](/docs/agents/manage-apm-agents/app-naming/name-your-application). Pour modifier le nom d&apos;une application sans interrompre la continuité des données, utilisez l&apos;[option UI alias-change](/docs/agents/manage-apm-agents/app-naming/name-your-application#differences). + +## Définissez le nom de votre application (méthode recommandée) [#naming-options] + +Lorsque vous déployez votre application pour la première fois, vous pouvez modifier le nom par défaut pour un nom plus descriptif. Étant donné que New Relic collecte les métriques à l'aide de ces noms, leur personnalisation vous permet d'exécuter la même application sur plusieurs hôtes et d'obtenir les métriques de toutes leurs instances. + +En règle générale, la configuration de votre fichier `newrelic.config` local d&apos;application est la méthode de dénomination la plus pratique. + + + + + + + + + + + + + + + + + +
+ Méthode de dénomination + + Description +
+ Recommandé: + + Configurez votre fichier `newrelic.config` local d&apos;application + + Cette méthode vous permet de donner à votre application un nom unique avec des paramètres de configuration spécifiques. Il fonctionne également pour les applications hébergées par IIS et non IIS. + + 1. Copiez le fichier `newrelic.config` du répertoire de base de l&apos;agent dans le dossier racine de votre application. + + **Default:** `%ALLUSERSPROFILE%\New Relic\.NET Agent` + + 2. Ouvrez la copie et définissez le nom de votre application comme suit : + + ```xml + + App Name + + ``` + + 3. Redémarrez votre application. +
+ +Tant que votre application est active, les données devraient apparaître en quelques minutes. Dans le cas contraire, suivez nos [procédures de dépannage](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + +## Autres méthodes + +Si vous avez une utilisation ou un objectif spécifique en tête, vous préférerez peut-être une méthode de dénomination différente. Voici une liste complète des méthodes alternatives : + + + Certaines méthodes [ont la priorité](/docs/agents/net-agent/configuration/net-agent-configuration#config-options-precedence) sur d’autres. Avant de choisir une méthode de dénomination, assurez-vous de bien comprendre comment votre configuration peut être affectée. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Méthode de dénomination + + Description +
+ Configurez votre fichier `web.config` + + Si vous avez des applications hébergées sur IIS et que vous préférez ne pas avoir de fichier `newrelic.config` local, vous pouvez configurer les paramètres de dénomination dans votre fichier `web.config` . + + + + + **For .NET Framework apps:** + + + 1. Ajoutez l’entrée suivante à la section `appSettings` de votre fichier, puis redémarrez votre application. + + ```xml + + + + ``` + + + **For .NET Core apps:** + + + 2. Ajoutez la variable d’environnement `NEW_RELIC_APP_NAME` à votre fichier comme suit, puis redémarrez votre application. + + ```xml + + + + + + ``` + + +
+ Définir le nom de l'application à l'aide de variables d'environnement + + Si vous souhaitez définir facilement les noms des applications lors du déploiement du conteneur, définissez une variable d'environnement dans l'environnement de l'application. + + + + 1. Définissez la variable d’environnement `NEW_RELIC_APP_NAME` dans l’environnement de votre application : + + ```ini + NEW_RELIC_APP_NAME = "App name" + ``` + + + Cette méthode ne fonctionne que si vous utilisez l'agent .NET [version 6.17.387.0 ou supérieure](/docs/release-notes/agent-release-notes/net-release-notes). + + + +
+ Nom d'après les pools d'applications + + Si vos pools d'applications IIS ont déjà des noms uniques que vous aimez, ou si vous utilisez une [infrastructure de contenu réseau partagé (SNCI)](https://www.iis.net/learn/web-hosting/scenario-build-a-web-farm-with-iis-servers), vous pouvez nommer votre application d&apos;après son pool d&apos;applications attribué. + + + + 1. Supprimez toutes les clés `NewRelic.AppName` de la section `` dans `web.config.` Assurez-vous de ne pas supprimer la balise `` environnante. + + 2. Supprimez tous les éléments enfants `` de l’élément parent `` dans `newrelic.config`. Assurez-vous de ne pas supprimer la balise `` environnante. + + ```xml + + + + ``` + + Chaque application sera ensuite signalée en fonction du nom de son pool d'applications. + + +
+ Configurez votre fichier `app.config` + + Si vous avez une application non hébergée sur IIS et que vous préférez ne pas avoir de fichier `newrelic.config` local, vous pouvez configurer les paramètres de dénomination dans votre fichier `app.config` . + + + + 1. Ajoutez l’entrée suivante à votre fichier `app.config` (par exemple, `applicationname.exe.config`), puis redémarrez votre application. + + ```xml + + + + ``` + + +
+ Utiliser l'API de l'agent .NET + + Si vous souhaitez renommer votre application par programmation, vous pouvez utiliser [l'appel`SetApplicationName()` API d&apos;agent ](/docs/apm/agents/net-agent/net-agent-api/set-application-name/)pour définir le nom de l&apos;application au moment de l&apos;exécution. Ce nom aura la priorité sur toutes les autres sources de dénomination d&apos;application. +
+ +Tant que votre application est active, les données devraient apparaître en quelques minutes. Dans le cas contraire, assurez-vous d’avoir exécuté une commande `IISRESET` à partir d’une invite de commande administrative si vous avez modifié [le fichier de configuration de votre application .NET](/docs/agents/net-agent/installation-and-configuration/net-agent-configuration) (`newrelic.config` ou `app.config`). Sinon, suivez nos [procédures de dépannage](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + +## Utiliser plusieurs noms d’application [#multiple] + +Vous pouvez utiliser plusieurs noms d’application pour regrouper les données de votre application. Nous appelons parfois cela « regrouper » vos données. + +Pour l'agent .NET, vous pouvez définir jusqu'à trois noms d'application. Le premier nom est le nom de l’application principale, et les deuxième et troisième noms sont utilisés pour les catégories d’agrégation de données plus générales. Pour en savoir plus sur le fonctionnement de plusieurs noms d’applications, consultez [Utiliser plusieurs noms d’applications](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app). + + + + newrelic.config + déposer + } + > + Voici un exemple de définition de plusieurs noms dans votre fichier `newrelic.config` local d&apos;application : + + ```xml + + Primary App Name + Second App Name + Third App Name + + ``` + + + + web.config + déposer + } + > + Voici un exemple de définition de plusieurs noms dans votre fichier `web.config` : + + ```xml + + + + ``` + + + + app.config + déposer + } + > + Voici un exemple de définition de plusieurs noms dans votre fichier `app.config` : + + ```xml + + + + ``` + + + + NEW_RELIC_APP_NAME + variable d'environnement + } + > + Voici un exemple de définition de plusieurs noms dans la variable d'environnement `NEW_RELIC_APP_NAME` : + + ``` + NEW_RELIC_APP_NAME="App Name, App Name 2, App Name 3" + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx new file mode 100644 index 00000000000..c77f055d00c --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/configuration/net-agent-configuration.mdx @@ -0,0 +1,3601 @@ +--- +title: Configuration de l'agent .NET +tags: + - Agents + - NET agent + - Configuration +metaDescription: 'How to configure the New Relic .NET agent using newrelic.config, including startup and instrumentation options, and disabling unwanted features.' +freshnessValidatedDate: never +translationType: machine +--- + +Vous pourrez configurer notre agent .NET en fonction de votre environnement après avoir [créé un compte New Relic](https://newrelic.com/signup) (c&apos;est gratuit, pour toujours) et [installé l'agent .NET](/install/dotnet). + +## Présentation de la configuration [#config-overview] + +Les options de configuration de l'agent APM vous permettent de contrôler certains aspects du comportement de l'agent. Certaines de ces options de configuration font partie du processus d'installation de base (comme la définition de votre clé de licence et du nom de votre application), mais la plupart sont des paramètres plus avancés, tels que la définition d'un niveau de log, la configuration de l'accès à l'hôte proxy, l'exclusion de certains attributs et l'activation du traçage distribué. + +L'agent .NET obtient sa configuration à partir du fichier `newrelic.config` , qui est généré dans le cadre du [processus d'installation](/docs/agents/net-agent/installation/install/dotnet). Par défaut, seul un fichier global `newrelic.config` est créé, mais vous pouvez également créer des fichiers locaux `newrelic.config` pour un contrôle plus précis sur un système multi-applications. D&apos;autres façons de définir les options de configuration incluent : l&apos;utilisation de variables d&apos;environnement ou la définition configuration côté serveur à partir de l&apos;UI. Pour en savoir plus sur les différentes options de configuration et sur ce qui remplace quoi, voir [Priorité des paramètres de configuration](/docs/agents/net-agent/configuration/net-agent-configuration#config-options-precedence). + +La prise en charge de .NET Framework et de .NET Core utilise les mêmes options configuration et dispose de la même fonctionnalité APM , sauf indication contraire. + +Si vous apportez des modifications au fichier de configuration et souhaitez valider qu'il est au bon format, vous pouvez le vérifier par rapport au fichier XSD (par exemple, à `C:\ProgramData\New Relic\.NET Agent\newrelic.xsd` pour Windows) avec n&apos;importe quel validateur XSD. + + + **For IIS**: après avoir modifié votre fichier `newrelic.config` ou `app.config` , exécutez une commande `IISRESET` à partir d&apos;une invite de commande administrative. les réglages du niveau de log ne nécessitent pas de réinitialisation. + + +## Méthodes de configuration et niveaux de priorité [#config-options-precedence] + +Lors de installation, le agent configuration fichier de .NET ()`newrelic.config` s&apos;applique à toutes les applications de monitoring, mais vous pouvez configurer l&apos;agent d&apos;autres manières. Voici un diagramme montrant comment différentes options de configuration ont priorité les unes sur les autres : + +New Relic .NET agent configuration settings precedence + +
+ Ce diagramme explique l’ordre de priorité des différentes manières de configurer l’agent .NET. +
+ +Voici des détails sur les méthodes de configuration présentées dans le diagramme et leurs niveaux de priorité : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **.NET configuration** + + + + **Details and precedence** + +
+ `web.config` ou `app.config` ou `appsettings.json` + + Les paramètres de configuration définis dans ces fichiers ont la plus haute priorité. + + Si l'agent est désactivé au niveau local ou global `newrelic.config`: + + * Les paramètres `NewRelic.AgentEnabled` dans `appsettings.json` **will enable the agent**. + * Les paramètres `NewRelic.AgentEnabled` dans un fichier `web.config` ou `app.config` **will be ignored**. +
+ Variables d'environnement + + Deuxième priorité la plus élevée. Pour en savoir plus, consultez [Variables d’environnement .NET](#environment-variables). +
+ configuration côté serveur + + Troisième priorité la plus élevée. Un nombre limité de paramètres [de configuration côté serveur](/docs/agents/manage-apm-agents/configuration/server-side-agent-configuration) sont disponibles ; les autres paramètres proviendront d&apos;autres sources de configuration. +
+ Application locale `newrelic.config` + + Quatrième priorité la plus élevée. Vous pouvez créer des fichiers `newrelic.config` locaux pour configurer des applications individuelles sur un système multi-applications. Ces fichiers de configuration locaux remplacent les paramètres du fichier global `newrelic.config` . + + L'agent recherche les fichiers de configuration locaux de l'application dans les répertoires suivants, dans cet ordre : + + * Un répertoire spécifié dans votre fichier `web.config` ou `app.config` avec la propriété `NewRelic.ConfigFile` + + * Le répertoire racine de l'application Web (avec le `app.config` ou `web.config`) + + * Le répertoire contenant le fichier exécutable de votre application + + Notez que le fichier de configuration local de l'application doit être complet et validé par rapport au fichier XSD (par exemple, à `C:\ProgramData\New Relic\.NET Agent\newrelic.xsd` pour Windows). +
+ Par défaut (global) `newrelic.config` + + Source par défaut et priorité la plus basse. Configurera toutes les applications sur un hôte en l'absence d'autres fichiers de configuration. Le fichier de configuration global se trouve dans le répertoire de base de l'agent New Relic : `%PROGRAMDATA%\New Relic\.NET Agent` +
+ +## Variables d'environnement requises [#environment-variables] + +Notre agent .NET s'appuie sur des variables d'environnement pour indiquer au .NET Common Language Runtime (CLR) d'attacher New Relic à vos processus. Certaines [procédures d'installation agent .NET](/docs/agents/net-agent/installation/new-relic-net-agent-install-introduction) (comme le programme d&apos;installation MSI) définiront automatiquement ces variables pour vous ; certaines procédures nécessiteront que vous les définissiez manuellement. + + + Recommandation de sécurité : vous devez déterminer quel utilisateur peut définir les variables d'environnement du système. Vous devez également sécuriser les comptes sous lesquels votre application s'exécute pour éviter que les variables d'environnement utilisateur ne remplacent les variables d'environnement système. + + + + + Pour .NET Framework, les variables suivantes sont requises : + + ```ini + COR_ENABLE_PROFILING=1 + COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} + NEWRELIC_INSTALL_PATH="INSERT_THE_PATH_TO_THE_AGENT_DIRECTORY" + ``` + + Le Windows agent programme d'installation .NET (.msi) les ajoutera à IIS par défaut, ou en tant que variables d'environnement à l'échelle du système lors de l'activation `Instrument All` de. + + Lorsque vous utilisez le programme d’installation de l’agent Windows .NET, assurez-vous que `NEWRELIC_INSTALL_PATH` est défini sur `C:\Program Files\New Relic\.NET Agent\`. C&apos;est ici que les DLL de l&apos;agent sont placées sur le système. + + Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + Lors de l'installation de l'agent via le package Nuget, l'agent nécessite [un ensemble différent de variables d'environnement](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-framework). + + + + Pour .NET Core, les variables suivantes sont requises : + + + **Linux:** + + + ```ini + CORECLR_ENABLE_PROFILING=1 + CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_NEWRELIC_HOME=path/to/agent/directory + CORECLR_PROFILER_PATH="${CORECLR_NEWRELIC_HOME}/libNewRelicProfiler.so" + ``` + + + **Windows (MSI Installer):** + + + ```ini + CORECLR_ENABLE_PROFILING=1 + CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} + NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\ + CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\ + ``` + + Le Windows agent programme d'installation .NET les ajoutera à IIS par défaut ou en tant que variables d'environnement à l'échelle du système lors de l'activation `Instrument All` de. Exception : `CORECLR_ENABLE_PROFILING` doit être défini manuellement pour instrumenter une application .NET Core non hébergée par IIS. Voir [Compatibilité et exigences pour .NET Framework](/docs/apm/agents/net-agent/configuration/net-agent-configuration/) pour l&apos;application .NET Framework. + + Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + Lors de l'installation de l'agent via le package Nuget sous Windows, l'agent nécessite un [ensemble différent de variables d'environnement](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-windows). + + + +Si votre système a déjà utilisé monitoring des services (non-New Relic), vous pouvez avoir un « conflit de profileur » lorsque vous essayez d'installer et d'utiliser l'agent de New Relic. Plus de détails : + + + + L'agent .NET de New Relic s'appuie sur des variables d'environnement pour indiquer au .NET Common Language Runtime (CLR) de charger New Relic dans vos processus. Les variables d’environnement liées à l’installation sont des variables Microsoft et non des variables New Relic. Ils peuvent être utilisés par d’autres profileurs .NET, et un seul profileur peut être attaché à un processus à la fois. Pour cette raison, si vous avez utilisé des produits monitoring d'applicationantérieurs, vous pouvez avoir [des conflits de profileur](/docs/agents/net-agent/troubleshooting/profiler-conflicts). + + + +Pour obtenir des instructions d’installation spécifiques, consultez la [documentation d’installation de l’agent .NET](/docs/agents/net-agent/installation/new-relic-net-agent-install-introduction). + +## Variables d'environnement facultatives [#optional-environment-variables] + +Certaines options de configuration de l'agent .NET de New Relic peuvent être définies via des variables d'environnement au lieu de les définir dans un fichier de configuration. Vous trouverez ci-dessous une liste des variables d’environnement reconnues par l’agent .NET avec des exemples de valeurs. + +```ini +NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY +NEW_RELIC_APP_NAME=Descriptive Name +MAX_TRANSACTION_SAMPLES_STORED=500 +MAX_EVENT_SAMPLES_STORED=500 +NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true +NEW_RELIC_SPAN_EVENTS_ENABLED=false +NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED=2000 +NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST=myhost.infinitetracing.com +NEW_RELIC_LABELS="foo:bar;zip:zap" +NEW_RELIC_PROCESS_HOST_DISPLAY_NAME=Custom Name +NEW_RELIC_HOST=gov-collector.newrelic.com +NEW_RELIC_PROXY_HOST=hostname +NEW_RELIC_PROXY_URI_PATH=path/to/something.aspx +NEW_RELIC_PROXY_PORT=5000 +NEW_RELIC_PROXY_USER=YOUR_USER_NAME +NEW_RELIC_PROXY_PASS=YOUR_PROXY_PASSWORD +NEW_RELIC_PROXY_DOMAIN=mydomain.com +NEW_RELIC_PROXY_PASS_OBFUSCATED=YOUR_OBFUSCATED_PROXY_PASSWORD +NEW_RELIC_CONFIG_OBSCURING_KEY=YOUR_OBSCURING_KEY +NEW_RELIC_SEND_DATA_ON_EXIT=true +NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000 +NEW_RELIC_HIGH_SECURITY=true +NEW_RELIC_DISABLE_SAMPLERS=true +NEW_RELIC_LOG=MyApp.log +NEW_RELIC_LOG_ENABLED=true +NEWRELIC_LOG_LEVEL=info +NEW_RELIC_LOG_CONSOLE=true +NEWRELIC_PROFILER_LOG_DIRECTORY=path\to\a\directory # not configurable via config file +NEWRELIC_LOG_DIRECTORY=path\to\a\directory # Insert a directory where you want to put the agent and profiler logs. You can't set this directory for both agent and profiler logs in the configuration file. +NEW_RELIC_LOG_ROLLING_STRATEGY=day +NEW_RELIC_LOG_MAX_FILE_SIZE_MB=100 +NEW_RELIC_LOG_MAX_FILES=2 +NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES=401, 403.18 +NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES=401, 501-503 +NEW_RELIC_APPLICATION_LOGGING_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE="myCustomAttribute1, myOtherCustomAttribute*" +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE="myCustomAttribute2, myOtherCustomAttributeMoreSpecificName" +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000 +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn" +NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true +NEW_RELIC_ALLOW_ALL_HEADERS=true +NEW_RELIC_ATTRIBUTES_ENABLED=true +NEW_RELIC_ATTRIBUTES_INCLUDE=request.headers.*,foo.bar +NEW_RELIC_ATTRIBUTES_EXCLUDE=request.headers.cookie,request.headers.authorization +NEW_RELIC_UTILIZATION_DETECT_AWS=true +NEW_RELIC_UTILIZATION_DETECT_AZURE=true +NEW_RELIC_UTILIZATION_DETECT_GCP=true +NEW_RELIC_UTILIZATION_DETECT_PCF=true +NEW_RELIC_UTILIZATION_DETECT_DOCKER=true +NEW_RELIC_UTILIZATION_DETECT_KUBERNETES=true +NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=true +NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true +NEW_RELIC_AI_MONITORING_ENABLED=true +NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED=true +NEW_RELIC_CLOUD_AWS_ACCOUNT_ID=123456789012 +``` + + + + Le programme d'installation MSI 64 bits pour l'agent .NET de New Relic installe automatiquement l'assembly du profileur 32 bits avec l'assembly 64 bits et, à partir de la version 10.16.0, active automatiquement la prise en charge 32 bits pour IIS.Pour les applications non hébergées par IIS, vous pouvez définir manuellement la variable d'environnement requise. + + ```ini + COR_PROFILER_PATH_32="C:\Program Files (x86)\New Relic\.NET Agent\NewRelic.Profiler.dll" + ``` + + + +Si vous utilisez New Relic CodeStream pour monitorer les performances de votre IDE, vous souhaiterez peut-être également [associer un référentiel à vos services](/docs/codestream/observability/repo-association) et [associer des SHA de build ou une balise de sortie à des erreurs](/docs/codestream/observability/error-investigation/#buildsha). + +## Erreurs configurationde la boîte de réception [#errors-inbox-configuration] + +La définition de l’une des balises suivantes vous aidera à identifier les versions de votre logiciel qui génèrent les erreurs. + +* `NEW_RELIC_METADATA_SERVICE_VERSION` créera tag.service.version sur les données d&apos;événement contenant la version de votre code qui est déployée, dans de nombreux cas une version sémantique telle que 1.2.3, mais pas toujours. +* `NEW_RELIC_METADATA_RELEASE_TAG `créera tag.releaseTag sur les données d&apos;événement contenant la tag de sortie (comme v0.1.209 ou sortie-209). +* `NEW_RELIC_METADATA_COMMIT` créera tag.commit sur les données d&apos;événement contenant le commit sha. Le SHA entier peut être utilisé ou seulement les sept premiers caractères (par exemple, 734713b). + +Une prochaine version de la boîte de réception des erreurs suivra automatiquement les versions de votre logiciel qui génèrent des erreurs. Toutes les données de version seront également affichées dans [CodeStream](/docs/codestream/how-use-codestream/performance-monitoring/#buildsha). + +## Options de configuration, newrelic.config [#setup] + +Utilisez ces options pour installer et configurer votre agent via le fichier `newrelic.config` . L&apos;agent .NET prend en charge les catégories d&apos;options de configuration suivantes : + +* [Élément de configuration](#configuration) +* [Élément de service](#service) +* [Élément clé obscurcissant](#obscuring-key) +* [Élément proxy](#proxy) +* [Élément de log](#log) +* [Élément d'application (configuration)](#application-configuration) +* [Élément de transmission de données](#data-transmission) +* [Nom de l'hôte](#host-name) + +### Élément de configuration [#configuration] + +L'élément racine du document de configuration est un élément `configuration` . + +```xml + +``` + +L'élément `configuration` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver l'agent New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `80` +
+ + Le nombre maximal de trames stack à trace dans n'importe quel vidage stack . +
+
+ +### Élément de service [#service] + +Le premier enfant de l'élément `configuration` est un élément `service` . L&apos;élément de service configure la connexion de l&apos;agent au service New Relic. + +```xml + +``` + +L'élément `service` prend en charge l&apos;attribut suivant : + + + Clé de licence (obligatoire) + } + > + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Votre [clé de licence](/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key) New Relic. New Relic utilise la clé de licence pour faire correspondre les données de votre application au compte approprié dans l&apos;UI. Définissez la clé de licence via la variable d&apos;environnement. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_LICENSE_KEY` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Demande à l'agent d'enregistrer les informations de l'environnement d'exécution. Les informations sur l’environnement incluent le système d’exploitation, la version de l’agent et les assemblys disponibles. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Bloquer le démarrage de l'application jusqu'à ce que l'agent se connecte à New Relic. Si la valeur est `true`, la première transaction peut prendre beaucoup plus de temps à se terminer, car elle est bloquée jusqu&apos;à ce que la connexion à New Relic soit terminée. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Bloquer l'arrêt application pendant que l'agent lance un cycle final de collecte et envoie toutes les données à New Relic. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_SEND_DATA_ON_EXIT` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_SEND_DATA_ON_EXIT=true + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `60000` +
+ Unité + + Millisecondes +
+ + La durée minimale pendant laquelle le processus doit s'exécuter avant que l'agent ne l'empêche de s'arrêter. Ce paramètre s'applique uniquement lorsque [`sendDataOnExit`](#service-sendDataOnExit) est `true`. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_SEND_DATA_ON_EXIT_THRESHOLD_MS=2000 + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Si `false`, l&apos;agent utilise un thread de pool pour terminer le traitement de la transaction. + + Si cette valeur est vraie, l'agent terminera le traitement de la transaction sur le thread de demande. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Si `false`, l&apos;agent tente de réutiliser les transactions existantes lorsque des méthodes instrumentées personnalisées sont rencontrées dans des scénarios asynchrones/threadés. + + Si `true`, l&apos;agent tente de créer de nouvelles transactions lorsque des méthodes instrumentées personnalisées sont rencontrées dans des scénarios asynchrones/threadés. + + Alternativement, la variable d’environnement `NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD` peut être utilisée pour contrôler ce comportement. + + ```ini + NEW_RELIC_FORCE_NEW_TRANSACTION_ON_NEW_THREAD=true + ``` +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `2000` (avec [`sendDataOnExit`](#service-sendDataOnExit) activé) + + `120000` (avec [`sendDataOnExit`](#service-sendDataOnExit) désactivé) +
+ Unité + + Millisecondes +
+ + Le délai de demande de l'agent expire lors de la communication avec New Relic. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Démarrez automatiquement l'agent .NET lorsque la première méthode instrumentée est touchée. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Fournit la possibilité de configurer un [point de terminaison compatible FedRAMP](/docs/security/security-privacy/compliance/fedramp-compliant-endpoints/) pour l&apos;agent à utiliser, avec la valeur `gov-collector.newrelic.com`. + + ```xml + + ``` + + Vous pouvez également utiliser la variable d’environnement `NEW_RELIC_HOST`. + + ```ini + NEW_RELIC_HOST=gov-collector.newrelic.com + ``` +
+
+ +### Élément clé obscurcissant [#obscuring-key] + +L'élément `obscuringKey` est un enfant facultatif de l&apos;élément `service` . L&apos;agent .NET utilise cette valeur pour désobscurcir les valeurs de configuration prises en charge. Par exemple, lorsqu&apos;un [mot de passe proxy obscurci](#proxy-password) est fourni, il sera désobscurci à l&apos;aide de cette clé. + +```xml + + OBSCURING_KEY + +``` + +La clé d'obscurcissement peut également être configurée en définissant la variable d'environnement `NEW_RELIC_CONFIG_OBSCURING_KEY` . + + + Recommandation de sécurité : le placement de la clé obscurcissante dans le même fichier de configuration qu'une valeur obscurcie peut présenter un risque de sécurité. Envisagez de placer la clé d’obscurcissement et [le mot de passe proxy obscurci](#proxy-password) dans les variables d’environnement et de limiter l’accès aux variables d’environnement dans votre environnement. + + +### Élément proxy [#proxy] + +L'élément `proxy` est un enfant facultatif de l&apos;élément `service` . L&apos;élément `proxy` est utilisé lorsque l&apos;agent communique avec le service backend New Relic via un proxy. + +```xml + + + +``` + +L'élément `proxy` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définit l'hôte proxy. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_HOST` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `8080` +
+ + Définit le port proxy. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_PORT` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez éventuellement un chemin d'URI proxy. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_URI_PATH` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez éventuellement un domaine à utiliser lors de l’authentification auprès du serveur proxy. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_DOMAIN` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez éventuellement un nom d'utilisateur pour l'authentification. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_USER` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définissez éventuellement un mot de passe pour l'authentification. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_PASS` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Pour plus de sécurité, l'agent .NET prend en charge l'utilisation d'un mot de passe proxy obscurci avec l'attribut `passwordObfuscated` . Le mot de passe proxy obscurci est généré à l’aide de la commande [CLI New Relic](https://github.com/newrelic/newrelic-cli) suivante : + + ```bash + newrelic agent config obfuscate --key OBSCURING_KEY --value "PLAIN_TEXT_PROXY_PASSWORD" + ``` + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_PROXY_PASS_OBFUSCATED` dans l’environnement de l’application. + + + Lorsque vous utilisez un mot de passe proxy obscurci, la [clé d'obscurcissement](#obscuring-key) doit également être configurée. + +
+
+ +### Élément de log [#log] + +L'élément `log` est un enfant de l&apos;élément `configuration` . L&apos;élément `log` configure le logging de New Relic. L&apos;agent génère son propre fichier de log pour conserver ses informations de logging séparées du log de votre application. + +```xml + +``` + +L'élément `log` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Lorsque la valeur est `false`, tout logging est désactivé. Vous pouvez également définir la variable d’environnement `NEW_RELIC_LOG_ENABLED` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `info` +
+ + Définit le niveau de détail enregistré dans le fichier de log. Les valeurs possibles, par ordre croissant de détail, sont : + + * `off` + + * `error` + + * `warn` + + * `info` + + * `debug` + + * `finest` + + * `all` + + Vous pouvez également définir la variable d’environnement `NEWRELIC_LOG_LEVEL` dans l’environnement de l’application. + + + Augmenter le niveau de log augmentera l'impact sur les performances de New Relic. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Enregistre toutes les données envoyées et reçues depuis New Relic dans un fichier log auditlog et dans le fichier log standard. Ignoré si `enabled` est défini sur `false` ou `console` est défini sur `true`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Envoyer le message de log à la console au lieu du fichier de log (dans les versions agent antérieures à 10.35.0, les journaux sont envoyés à la fois à la console et au fichier de log). Ignoré si `enabled` est défini sur `false`. Vous pouvez également définir la variable d’environnement `NEW_RELIC_LOG_CONSOLE` dans l’environnement de l’application. + + Le logging de la console dans le profileur est limitée au niveau `info` et supérieur en raison de considérations de performances. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `C:\ProgramData\New Relic\.NET Agent\Logs` +
+ + Le répertoire contenant le fichier log généré par l'agent. Si cette option est omise, un répertoire nommé `Logs` dans la zone d&apos;installation de l&apos;agent New Relic sera utilisé par défaut. + + Vous pouvez également définir la variable d’environnement `NEWRELIC_LOG_DIRECTORY` dans l’environnement de l’application. Vous pouvez également envoyer votre log de profileur vers un répertoire personnalisé, mais vous ne pouvez le faire qu&apos;avec la variable d&apos;environnement `NEWRELIC_PROFILER_LOG_DIRECTORY` dans l&apos;environnement de l&apos;application: + + ```ini + NEWRELIC_LOG_DIRECTORY=path\to\a\directory + NEWRELIC_PROFILER_LOG_DIRECTORY=path\to\a\directory # not configurable via config file + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Définit un nom pour le fichier de log. Si vous ne définissez pas de `fileName`, le nom est dérivé du nom du processus de monitoring. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_LOG` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_LOG=MyApp.log + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `size` +
+ + Définit agent la log stratégie de roulement du fichier de . Les valeurs possibles sont : + + * `size` (par défaut) : Le fichier de log est renouvelé lorsqu&apos;il atteint la taille spécifiée dans `maxLogFileSizeMB`. + + * `day`: Le fichier de log se termine à minuit. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_LOG_ROLLING_STRATEGY` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_LOG_ROLLING_STRATEGY=day + ``` + + Pris en charge dans l'agent .NET v10.21.0 et supérieur. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `4` +
+ + Définit le nombre de agent fichiers log à conserver instance agentpar de l', plusieurs applications exécutées sur le même hôte créeront chacune autant de fichiers. Lorsque le nombre maximum de fichier de log est atteint, le fichier de log le plus ancien est supprimé. Une valeur de `0` spécifie qu&apos;il n&apos;y a pas de nombre maximum de fichier de log. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_LOG_MAX_FILES` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_LOG_MAX_FILES=2 + ``` + + Pris en charge dans l'agent .NET v10.21.0 et supérieur. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + 50 +
+ + Définit la taille maximale du agent fichier de de log en mégaoctets avant son basculement. Valable uniquement lorsque `logRollingStrategy` est défini sur `size`. Une valeur de `0` spécifie qu&apos;il n&apos;y a pas de taille maximale de fichier log . + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_LOG_MAX_FILE_SIZE_MB` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_LOG_MAX_FILE_SIZE_MB=100 + ``` + + Pris en charge dans l'agent .NET v10.21.0 et supérieur. +
+
+ +### Élément d'application (obligatoire) [#application-configuration] + +L'élément `application` est un enfant de l&apos;élément `configuration` . Cet élément obligatoire définit le nom de votre application et désactive ou active l&apos;échantillonnage. + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `My Application` +
+ + Le [nom de votre application .NET](/docs/agents/net-agent/installation-and-configuration/naming-your-net-application) est un enfant de l’élément `application` . New Relic regroupera vos données en fonction de ce nom. Par exemple, si vous avez deux applications en cours d&apos;exécution nommées `AppA` et `AppB`, vous verrez deux applications dans l&apos;interface New Relic : `AppA` et `AppB`. + + Vous pouvez également attribuer [jusqu'à trois noms](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app) à votre application. Le prénom est le nom principal. Par exemple: + + ```xml + + MY APPLICATION PRIMARY + SECOND APP NAME + THIRD APP NAME + + ``` + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_APP_NAME` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_APP_NAME=Descriptive Name + ``` + + Pour plusieurs noms : + + ```ini + NEW_RELIC_APP_NAME="App Name, App Name 2, App Name 3" + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Les échantillonneurs collectent des informations sur la consommation de mémoire et de processeur. Réglez ceci sur `true` pour désactiver l’échantillonnage. + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_DISABLE_SAMPLERS` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_DISABLE_SAMPLERS=true + ``` +
+
+ +### Élément de transmission de données [#data-transmission] + +L'élément `dataTransmission` est un enfant de l&apos;élément `configuration` . Cet élément affecte la manière dont les données sont envoyées à New Relic et peut être utilisé si vous avez des exigences spécifiques en matière de transmission de données. + +```xml + +``` + +L'élément `dataTransmission` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définit la méthode HTTP utilisée lors de l'envoi de données à New Relic. Définissez cette valeur sur `true` pour activer l’utilisation de la méthode `PUT` lors de l’envoi de données. La méthode `POST` est utilisée par défaut. +
+
+ +### Nom de l'hôte + +Si le nom d'hôte par défaut dans l'UI APM n'est pas utile, vous pouvez décorer ce nom dans l'UI de New Relic avec un nom d'affichage. Une fois le processus d’application redémarré et l’agent .NET à nouveau opérationnel, le nom d’affichage apparaît dans la liste déroulante **Servers** . Ce paramètre de nom d&apos;hôte n&apos;affecte pas la liste des hôtes sur [la page **Summary** de votre application](/docs/apm/applications-menu/monitoring/apm-overview-page-view-transaction-apdex-usage-data). + +Pour définir un nom d’affichage, choisissez l’une des options suivantes. La variable d'environnement a priorité sur la valeur du fichier de configuration. Redémarrez ensuite votre application pour voir vos modifications dans l'UI de New Relic. + + + + Définissez l’attribut `displayName` dans l’élément `processHost` dans `newrelic.config`. L&apos;élément `processHost` est un enfant de l&apos;élément `configuration` . + + ```xml + + + + ``` + + + + Définissez la variable d’environnement `NEW_RELIC_PROCESS_HOST_DISPLAY_NAME` : + + ```ini + NEW_RELIC_PROCESS_HOST_DISPLAY_NAME="CUSTOM_NAME" + ``` + + + +## Utilisation de la plateforme cloud [#cloud-platform-util] + +L'élément de configuration `utilization` contrôle la manière dont l&apos;agent collecte les informations d&apos;utilisation et les envoie au service New Relic pour déterminer la tarification. L&apos;agent peut collecter des informations à partir des instances Amazon Web Services (AWS) EC2, du conteneur Docker , Microsoft Azure, Google Cloud Platform, de Pivotal Cloud Foundry et Kubernetes. + +```xml + + + +``` + +L'élément `utilization` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge l'API de métadonnées AWS. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_AWS` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_AWS=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l’agent interroge l’API de métadonnées Microsoft Azure. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_AZURE` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_AZURE=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge l'API de métadonnées GCP. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_GCP` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_GCP=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge les informations PCF à partir des variables d'environnement. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_PCF` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_PCF=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent lit les informations Docker à partir du système de fichiers. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_DOCKER` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_DOCKER=false + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Détermine si l'agent interroge les informations Kubernetes à partir des variables d'environnement. + + Alternativement, ce comportement peut être contrôlé via la variable d'environnement `NEW_RELIC_UTILIZATION_DETECT_KUBERNETES` : + + ```ini + NEW_RELIC_UTILIZATION_DETECT_KUBERNETES=false + ``` +
+
+ +## Options d'instrumentation [#instrumentation] + +Utilisez ces options pour configurer les éléments de votre application et de votre environnement à instrument. New Relic for .NET prend en charge les catégories suivantes d’options d’instrumentation : + +* [Élément d'instrumentation](#instrumentation-element) +* [Élément de règles](#instrumentation-rules) +* [Élément d'application (instrumentation)](#application-instrumentation) +* [élément d'attribut](#agent-attributes) + +### Élément d'instrumentation + +L'élément `instrumentation` est un enfant de l&apos;élément `configuration` . Par défaut, l’ agent .NET instrumente les processus de travail IIS ASP et les rôles Web et de travail Microsoft Azure . Pour instrumenter d&apos;autres processus, voir [application personnalisée instrumentée](/docs/agents/net-agent/features/instrumenting-custom-applications). + +### Élément de règles (instrumentation) [#instrumentation-rules] + + + Cette fonctionnalité est disponible dans l'agent .NET 10.21.0 et versions ultérieures. + + +L'élément `rules` est un enfant de l&apos;élément `instrumentation` . L&apos;élément `rules` prend en charge n&apos;importe quel nombre d&apos;éléments enfants `ignore`, ce qui indique au profileur de NE PAS instrumenter les méthodes définies dans l&apos;assembly spécifié. Les méthodes définies dans d&apos;autres assemblages seront toujours instrumentées. + +```xml + + + + + +``` + +La règle `ignore` vous permet de définir éventuellement un nom de classe. Dans l&apos;exemple suivant, seules les méthodes définies dans `MyNamespace.MyClass` dans l&apos;assembly `MyAssembly` seront ignorées. Les autres méthodes dans d’autres classes à l’intérieur de cet assembly et dans d’autres assemblys ne seront pas ignorées par le profileur. + +```xml + + + + + +``` + +Plusieurs règles d’ignorance peuvent être spécifiées. L'exemple suivant désactive à la fois l'instrumentation Confluent Kafka et StackExchange Redis . + +```xml + + + + + + +``` + +Veuillez noter que l'instrumentation personnalisée ne peut pas être ignorée via l'élément `rules` . + +### Élément d'application (instrumentation) [#application-instrumentation] + +L'élément `applications` est un enfant de l&apos;élément `instrumentation` . L&apos;élément `applications` prend en charge `application` éléments enfants qui spécifient les applications non Web à instrument. L&apos;élément `application` contient un attribut `name` . + + + Ce n’est pas la même chose que l’élément [`application` (configuration)](#application-configuration) , qui est un [enfant de l’élément `configuration`](#application) . + + +```xml + + + + + + + +``` + +### élément d'attribut [#agent-attributes] + +Un attribut est une paire valeur clé qui détermine les propriétés d'un événement ou d'une transaction. Chaque attribut est envoyé à APM trace de transaction, APM error trace, `Transaction` événement, `TransactionError` événement ou `PageView` événement. L&apos;élément principal `attributes` active ou désactive la collecte d&apos;attributs pour l&apos;agent.NET et définit l&apos;attribut spécifique à collecter ou à exclure. Vous pouvez également configurer les paramètres d&apos;attribut en fonction de leur destination : [collecte d'erreurs](#error-attributes), [trace de transaction](#tracer-attributes), [instrumentationdu navigateur](#browser-attributes) et [événement de transaction](#transaction-attributes). + +Dans cet exemple, l'agent exclut tous les attributs dont la clé commence par `myApiKey` (`myApiKey.bar`, `myApiKey.value`) mais collecte l&apos;attribut personnalisé `myApiKey.foo`. + +```xml + + myApiKey.* + myApiKey.foo + +``` + +Vous pouvez afficher l’attribut .NET APM sur la page [d’attributs agent .NET](/docs/agents/net-agent/attributes/net-agent-attributes) . Vous pouvez également définir des attributs personnalisés avec l&apos;appel d&apos;API d&apos;agent [`AddCustomAttribute`](/docs/agents/net-agent/net-agent-api/itransaction/#addcustomattribute). + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver la collecte d'attributs. Lorsqu'il est défini sur `false` dans l&apos;élément d&apos;attribut principal, ce paramètre remplace tous les paramètres d&apos;attribut pour les destinations individuelles. + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_ATTRIBUTES_ENABLED` dans l’environnement de l’application. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés, l'agent collectera toutes les clés d'attribut spécifiées dans cette liste. Pour spécifier plusieurs clés d’attribut, spécifiez chacune d’elles individuellement. Vous pouvez également utiliser un caractère générique `*` à la fin d&apos;une clé pour faire correspondre plusieurs attributs (par exemple, `myApiKey.*`). Pour plus d&apos;informations, voir [Règles d'attribut](/docs/agents/net-agent/attributes/enabling-disabling-attributes#attruls). + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_ATTRIBUTES_INCLUDE` dans l’environnement de l’application. Cette variable d&apos;environnement accepte une liste de noms d&apos;attributs délimitée par des virgules. + + + Lorsque vous utilisez la variable d'environnement `NEW_RELIC_ATTRIBUTES_INCLUDE` l&apos;ensemble d&apos;inclusions par défaut dans `newrelic.config` est écrasé. Voir [ici](#allow-all-headers-enabled) pour une liste détaillée des inclusions et exclusions par défaut. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Si les attributs sont activés, l'agent ne collectera pas les clés d'attribut spécifiées dans cette liste. Pour spécifier plusieurs clés d’attribut, spécifiez chacune d’elles individuellement. Vous pouvez également utiliser un caractère générique `*` à la fin d&apos;une clé pour faire correspondre plusieurs attributs (par exemple, `myApiKey.*`). Pour plus d&apos;informations, voir [Règles d'attribut](/docs/agents/net-agent/attributes/enabling-disabling-attributes#attruls). + + Vous pouvez également définir la variable d’environnement `NEW_RELIC_ATTRIBUTES_EXCLUDE` dans l’environnement de l’application. Cette variable d&apos;environnement accepte une liste de noms d&apos;attributs délimitée par des virgules. + + + Lorsque vous utilisez la variable d'environnement `NEW_RELIC_ATTRIBUTES_EXCLUDE` l&apos;ensemble d&apos;exclusions par défaut dans `newrelic.config` est écrasé. Voir [ici](#allow-all-headers-enabled) pour une liste détaillée des inclusions et exclusions par défaut. + +
+
+ +## Options de fonctionnalité [#features] + +Utilisez ces options pour activer, désactiver et configurer la fonctionnalité New Relic . New Relic pour .NET vous permet de configurer la fonctionnalité suivante : + +* [Pools d'applications](#include_exclude_apps) +* [Collecte d'erreurs](#error_collector) +* [Mode haute sécurité](#high_security_mode) +* [Supprimer les messages d'exception](#strip_exception_messages) +* [Événement de transaction](#transaction_events) +* [Événements personnalisés](#custom_events) +* [Paramètres personnalisés](#custom_parameters) +* [étiquette/étiquettes](#labels-tags) +* [instrumentationdu navigateur](#browser_monitoring) +* [requête lente](#slow_sql) +* [trace de transaction](#transaction_tracer) +* [traceur de magasin de données](#datastore_tracer) +* [Tracing distribué](#distributed_tracing) +* [Traçage infini](#infinite_tracing) +* [trace inter-application](#cross_application_tracer) +* [Événement de span](#span-events) +* [Capturer les en-têtes de requête HTTP](#capture_http_request_headers) +* [Logging des applications](#application_logging) +* [niveau du code métrique](#code_level_metrics) +* [Fournisseur de cloud modifié](#cloud) +* [Monitoring de l'IA](#ai_monitoring) + +### Pools d'applications [#include\_exclude\_apps][#include_exclude_apps] + + + Ceci s'applique uniquement au [fichier de configuration global](#config-options-precedence) d&apos;un système. + + + + Ce paramètre s'applique uniquement lorsque le modèle d'hébergement IIS est défini sur en cours. + + +L'élément `applicationPools` est un enfant de l&apos;élément `configuration` . L&apos;élément `applicationPools` spécifie pour le profileur exactement quels pools application instrumenter et utilise le même nom que le nom du pool application IIS. Cet élément configuration est utile lorsque vous devez instrumenter uniquement un petit sous-ensemble de vos pools d&apos;applications. Par exemple, un serveur donné peut avoir plusieurs centaines de pools application , mais seuls quelques-uns de ces pools doivent être instrumentés par l’ agent.NET. + +Voici un exemple de désactivation instrumentation pour des pools application spécifiques : + +```xml + + + + +``` + +Voici un exemple de désactivation de instrumentation pour tous les pools application en cours d'exécution sur le serveur et d'activation de instrumentation pour des pools application spécifiques : + +```xml + + + + + +``` + +L'élément `applicationPools` prend en charge les éléments suivants : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Définit le comportement de l'agent .NET au niveau « global » pour les pools application servis via IIS. L'agent .NET instrumente tous les pools application par défaut. Lorsque `true`, les pools application répertoriés sous [applicationPool](#appPool-applicationPool) avec un attribut `instrument` défini sur false ne seront pas instrumentés. + + Essentiellement, lorsqu'elle est définie sur `false`, la liste du pool application agit comme une liste de domaines autorisés. Lorsque la valeur est `true`, la liste du pool application agit comme une liste de refus. +
+ + + Définit le comportement instrumentation pour un pool application spécifique. L'attribut `name` est le nom d&apos;un pool application . Activer ou désactiver le profilage dans l&apos;attribut `instrument` . Définissez cette application dans l’attribut `name` . + +
+ +### Collecte d'erreurs [#error\_collector][#error_collector] + +L'élément `errorCollector` est un enfant de l&apos;élément `configuration` . `errorCollector` configure la collecte d&apos;erreurs, qui capture des informations sur les exceptions non détectées et les envoie à New Relic. + +```xml + + + System.IO.FileNotFoundException + System.Threading.ThreadAbortException + + + + Ignore message + Ignore too + + + + 401 + 404 + + + System.ArgumentNullException + System.ArgumentOutOfRangeException + + + + Expected message + Expected too + + + 403,500-505 + + myApiKey.* + myApiKey.foo + + +``` + + + Pour un aperçu de la configuration des erreurs dans APM, voir [Gérer les erreurs dans APM](/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-mark-expected). + + + + `expectedClasses`Les paramètres de configuration `expectedMessages` et `expectedStatusCodes` nécessitent [l'agent .NET version 8.31.0.0 ou supérieure](/docs/agents/net-agent/installation/update-net-agent). + + +L'élément `errorCollector` prend en charge les éléments et l&apos;attribut suivants : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver le collecteur d'erreurs. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver la capture d'événement d'erreur. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `100` +
+ + Limite du réservoir pour événement d'erreur. +
+ + + Une liste de noms de classes entièrement qualifiés à ignorer. Le nombre maximal de combinaisons de classes d'erreur et de messages **SHOULD** être signalés est de 50. Si plus de 50 sont répertoriés, seuls les 50 premiers **SHOULD** doivent être utilisés. + + + + Une carte facultative de noms de classes entièrement qualifiés vers une liste de chaînes correspondant à une sous-chaîne du message d'une erreur. Le nombre maximal de combinaisons de classes d'erreur et de messages **SHOULD** être signalés est de 50. Si plus de 50 sont répertoriés, seuls les 50 premiers **SHOULD** doivent être utilisés. + + + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Répertorie les exceptions spécifiques à ne pas signaler à New Relic. Le nom complet de l’exception doit être utilisé, tel que `System.IO.FileNotFoundException`. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + (aucun) +
+ + Répertorie les codes d'erreur HTTP spécifiques à ne pas signaler à New Relic. Vous pouvez utiliser des codes d'erreur HTTP intégraux standard, tels que simplement `401`, ou vous pouvez utiliser des codes d&apos;état complets Microsoft avec des points décimaux, tels que `401.4` ou `403.18`. Les codes d’état doivent être égaux ou supérieurs à `400`. + + Cela peut également être configuré via une variable d'environnement, en spécifiant plusieurs codes avec une liste séparée par des virgules : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES=401, 403.18 + ``` + + + Les erreurs personnalisées signalées avec l'[API`NoticeError()` ](/docs/agents/net-agent/net-agent-api/noticeerror-net-agent)de l&apos;agent sont toujours signalées à New Relic même si la transaction associée a un code d&apos;état HTTP configuré ici. + +
+ + + Une liste de noms de classes entièrement qualifiés à marquer comme prévu. Le nombre maximal de combinaisons de classes d'erreur et de messages **SHOULD** être signalés est de 50. Si plus de 50 sont répertoriés, seuls les 50 premiers **SHOULD** doivent être utilisés + + + + Une carte facultative de noms de classes entièrement qualifiés vers une liste de chaînes correspondant à une sous-chaîne du message d'une erreur. Le nombre maximal de combinaisons de classes d'erreur et de messages **SHOULD** être signalés est de 50. Si plus de 50 sont répertoriés, seuls les 50 premiers **SHOULD** doivent être utilisés + + + + Une liste de codes d'état séparés par des virgules. La liste peut inclure des plages d'entiers à l'aide d'un seul tiret (`-`) et comprendra à la fois l&apos;entier de début et de fin de la plage. + + Cela peut également être configuré via une variable d'environnement : + + ```ini + NEW_RELIC_ERROR_COLLECTOR_EXPECTED_ERROR_CODES=401, 501-503 + ``` + + + + Utilisez ce sous-élément pour personnaliser les paramètres d’attribut de votre agent pour le suivi des erreurs. Ce sous-élément utilise les mêmes paramètres que l’élément principal `attributes` : [`enabled`](#agent-attributes-enabled), [`include`](#agent-attributes-include) et [`exclude`](#agent-attributes-exclude). + +
+ +### Mode haute sécurité [#high\_security\_mode][#high_security_mode] + +L'élément `highSecurity` est un enfant de l&apos;élément `configuration` . Pour activer [le mode haute sécurité](/docs/subscriptions/high-security), définissez cette propriété sur `true` et activez la propriété haute sécurité dans l&apos;interface utilisateur New Relic. L&apos;activation de la haute sécurité active SSL ; les paramètres de demande, les paramètres personnalisés et les en-têtes de demande HTTP ne sont pas collectés ; la suppression des messages d&apos;exception est activée ; et la requête ne peut pas être envoyée à New Relic sous sa forme brute. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activer ou désactiver le mode haute sécurité. Exemple: + + ```xml + + ``` + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_HIGH_SECURITY` dans l&apos;environnement de l&apos;application : + + ```ini + NEW_RELIC_HIGH_SECURITY=true + ``` +
+
+ +### Supprimer les messages d'exception [#strip\_exception\_messages][#strip_exception_messages] + +L'élément `stripExceptionMessages` est un enfant de l&apos;élément `configuration` . Pour activer les messages d’exception de suppression, définissez cette propriété sur `true`. Par défaut, cette valeur est définie sur false, ce qui signifie que l&apos;agent envoie les messages de toutes les exceptions au collecteur New Relic. Si vous activez le mode haute sécurité, celui-ci est automatiquement modifié sur vrai et l&apos;agent supprime les messages des exceptions. + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activer ou désactiver les messages d'exception de bande. Exemple: + + ```xml + + ``` +
+
+ +### Événement de transaction [#transaction\_events][#transaction_events] + +L'élément `transactionEvents` est un enfant de l&apos;élément `configuration` . Utilisez `transactionEvents` pour configurer l&apos;événement de transaction. + +```xml + + + myApiKey.* + myApiKey.foo + + +``` + +L'élément `transactionEvents` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver l'enregistreur d'événements. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `10000` +
+ + Le nombre maximal d'événements de transaction échantillonnés que l'agent peut stocker en mémoire à la fois. Il s'agira du nombre maximal d'événements de transaction que l'agent peut envoyer par minute. + + Vous pouvez également définir la variable d'environnement `MAX_TRANSACTION_SAMPLES_STORED` dans l&apos;environnement de l&apos;application : + + ```ini + MAX_TRANSACTION_SAMPLES_STORED=500 + ``` +
+ + + Utilisez ce sous-élément pour personnaliser les paramètres d’attributs de votre agent pour l’événement de transaction. Ce sous-élément utilise les mêmes paramètres que l’élément principal `attributes` : [`enabled`](#agent-attributes-enabled), [`include`](#agent-attributes-include) et [`exclude`](#agent-attributes-exclude). + + + Ces paramètres d'attribut sont spécifiques à l'événement `transaction` . les paramètres d&apos;attribut peuvent être appliqués globalement à tous les types d&apos;événements [avec ce paramètre configuration ](/docs/agents/net-agent/configuration/net-agent-configuration#agent-attributes). + + + + Lorsque le traçage distribué et/ou le traçage infini sont activés, les informations de l'événement de transaction sont appliquées à l'événement Span racine de la transaction. Envisagez d'appliquer tous les paramètres d'attribut pour l'événement de transaction à l'événement étendu et/ou de les appliquer en tant que [paramètres d'attribut globaux](#agent-attributes). + + +
+ +### Événements personnalisés [#custom\_events][#custom_events] + +L'élément `customEvents` est un enfant de l&apos;élément `configuration` . Utilisez `customEvents` pour configurer [l'événement personnalisé](/docs/insights/new-relic-insights/adding-querying-data/inserting-custom-events-new-relic-apm-agents#net-att). + +```xml + +``` + +L'élément `customEvents` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver l'enregistreur d'événements. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `10000` +
+ + Le nombre maximum d'événements personnalisés échantillonnés que l'agent peut stocker en mémoire à la fois. Ce sera le nombre maximum d'événements personnalisés que l'agent peut envoyer par minute. + + Vous pouvez également définir la variable d'environnement `MAX_EVENT_SAMPLES_STORED` dans l&apos;environnement de l&apos;application : + + ```ini + MAX_EVENT_SAMPLES_STORED=500 + ``` + + * Si vous configurez l'agent pour [monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring/), nous vous recommandons de définir la valeur sur `100000`. +
+
+ +### Paramètres personnalisés [#custom\_parameters][#custom_parameters] + +L'élément `customParameters` est un enfant de l&apos;élément `configuration` . Utilisez `customParameters` pour configurer [le paramètre personnalisé](/docs/insights/insights-data-sources/custom-data/add-custom-attributes-apm-data). + +```xml + +``` + +L'élément `customParameters` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver la capture des paramètres personnalisés. +
+
+ +### Étiquettes (tag) + +L'élément `labels` est un enfant de l&apos;élément `configuration` . + +Cela définit les noms et les valeurs [tag](/docs/new-relic-one/use-new-relic-one/core-concepts/tagging-use-tags-organize-group-what-you-monitor) . La liste est une liste délimitée par des points-virgules de paires nom/valeur séparées par des deux-points. Vous pouvez également l&apos;utiliser avec la variable d&apos;environnement `NEW_RELIC_LABELS` . Exemple: + +```xml +foo:bar;zip:zap +``` + +```ini +NEW_RELIC_LABELS="foo:bar;zip:zap" +``` + +### instrumentationdu navigateur [#browser\_monitoring][#browser_monitoring] + +L'élément `browserMonitoring` est un enfant de l&apos;élément `configuration` . `browserMonitoring` configure dans votre application .NET. le navigateur vous donne des informations détaillées sur les performances de votre utilisateur final. Cela se fait en mesurant le temps qu&apos;il faut au navigateur de votre utilisateur pour télécharger et restituer vos pages Web en injectant une petite quantité de code JavaScript dans l&apos;en-tête et le pied de page de chaque page. + +```xml +// If you use both the Exclude and Attribute elements +// the Exclude element must be listed first. + + + + + ... + + + + myApiKey.* + myApiKey.foo + + +``` + +L'élément `browserMonitoring` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Par défaut, l'agent injecte automatiquement le JavaScript de l'agent du navigateur. Pour désactiver l'injection automatique, définissez cet attribut sur `false`. + + + Instrumentation automatique n'est disponible que pour les applications .NET Framework, les applications .NET Core doivent utiliser [instrumentation manuelle](/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent/#manual_instrumentation). L&apos;auto-instrumentation n&apos;est pas disponible pour les applications ASP.NET Core, qu&apos;elles soient monitorées par le framework .NET ou agent Core. + +
+ + + Utilisez ce sous-élément pour personnaliser les paramètres d'attributs de votre agent pour [monitoring des navigateurs](/docs/browser/new-relic-browser/page-load-timing/instrumentation-page-load-timing). Ce sous-élément utilise les mêmes paramètres que l’élément principal `attributes` : [`enabled`](#agent-attributes-enabled), [`include`](#agent-attributes-include) et [`exclude`](#agent-attributes-exclude). + + + + Utilisez ce sous-élément pour empêcher l'agent de navigateur d'être injecté dans des pages spécifiques. L'élément est utilisé comme suit : + + ```xml + + + + ... + + + ``` + + L' agent n'injectera pas l' agent de navigateur dans les pages dont l'URL correspond à l'une des expressions régulières spécifiées. Les expressions régulières doivent suivre [les directives Microsoft pour la classe Regex](https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex\(v=vs.110\).aspx). + + Il s'agit d'une référence au répertoire virtuel du chemin dans votre application et non à l'URL complète du chemin que vous souhaitez exclure. Par exemple, pour exclure les pages de `https://www.mywebsite.com/mywebpages/` vous devez simplement insérer `/mywebpages/` comme valeur regex du chemin. + + L'élément `requestPathsExcluded` doit être utilisé dans les cas où il est impossible ou indésirable d&apos;utiliser l&apos;appel [`DisableBrowserMonitoring()`](/docs/agents/net-agent/net-agent-api/disablebrowsermonitoring-net-agent) . Pour minimiser un éventuel impact sur les performances, essayez d&apos;utiliser le moins d&apos;expressions régulières possible et de les garder aussi simples que possible. + +
+ +### requête lente [#slow\_sql][#slow_sql] + +L'élément `slowSql` est un enfant de l&apos;élément `configuration` . `slowSql` configure la capture d&apos;informations sur les exécutions lentes de requêtes, et capture et obscurcit les plans explicatifs de ces requêtes. + +```xml + +``` + +L'élément `slowSql` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activez ou désactivez le traçage des requêtes lentes. +
+
+ +### trace de transaction [#transaction\_tracer][#transaction_tracer] + +L'élément `transactionTracer` est un enfant de l&apos;élément `configuration` . `transactionTracer` configure [la trace de transaction](/docs/traces/transaction-traces). La trace comprend la séquence d&apos;appel exacte des transactions, y compris toutes les instructions de requête émises. + +```xml + + + myApiKey.* + myApiKey.foo + + +``` + +L'élément `transactionTracer` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver [le suivi de transaction](/docs/apm/transactions/transaction-traces/transaction-traces). +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `apdex_f` +
+ + Définit le seuil de trace de transaction. Si une transaction prend plus de temps que le seuil, elle est éligible au traçage. Consultez [les principes de base dutrace des transactions](/docs/apm/transactions/transaction-traces/transaction-traces#basics) pour en savoir plus sur les règles régissant le suivi. + + La valeur par défaut est `apdex_f`, ce qui définit le seuil à quatre fois la valeur `apdex_t` de l&apos;application. Pour plus d&apos;informations sur `apdex_t`, voir [Apdex](/docs/site/apdex-measuring-user-satisfaction). + + Vous pouvez également définir le seuil sur une valeur temporelle spécifique en millisecondes. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Chaîne +
+ Défaut + + `obfuscated` +
+ + Sélectionnez une politique de suivi des requêtes. Les options sont `off`, qui n&apos;enregistre rien ; `obfuscated`, qui enregistre une version obscurcie de la requête ; ou `raw`, qui enregistre la requête exactement telle qu&apos;elle est envoyée à la base de données. + + + L'enregistrement d'une requête brute peut capturer des informations sensibles. + +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Lorsque `true`, l&apos;agent capture `EXPLAIN` instructions pour les requêtes lentes avec des durées dépassant `explainThreshold`. Notez que l&apos;activation de cette fonctionnalité peut avoir des implications sur les performances, car les plans sont capturés pour chaque transaction jusqu&apos;à la valeur `maxExplainPlans` . +
+ + + + + + + + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `500` +
+ Unité + + Millisecondes +
+ + L'agent collecte [les données de requête lente](/docs/apm/applications-menu/monitoring/viewing-slow-query-details) pour les requêtes qui dépassent ce seuil, ainsi que tous les plans d&apos;explication disponibles, dans le cadre du suivi de la transaction. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `3000` +
+ + Le nombre maximal de segments à collecter dans une trace de transaction. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `20` +
+ + Le nombre maximal de plans explicatifs à collecter par transaction. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Entier +
+ Défaut + + `0` +
+ + Par défaut, `maxStackTrace` est défini sur `0`, ce qui désactive le suivi des appels dans le cadre d&apos;un trace de transaction. Si cette valeur est définie sur une valeur supérieure à `0`, la trace des appels sera capturée pour la trace de la transaction. +
+ + + Utilisez ce sous-élément pour personnaliser les paramètres d'attributs de votre agent pour le suivi de la transaction. Ce sous-élément utilise les mêmes paramètres que l’élément principal `attributes` : [`enabled`](#agent-attributes-enabled), [`include`](#agent-attributes-include) et [`exclude`](#agent-attributes-exclude). + +
+ +### traceur de magasin de données [#datastore\_tracer][#datastore_tracer] + +L'élément `datastoreTracer` est un enfant de l&apos;élément `configuration` . + +```xml + + + + + +``` + +L'élément `datastoreTracer` prend en charge les sous-éléments suivants : + + + + Utilisez ce sous-élément pour activer la collecte de datastore instance métriques (telles que l'hôte et le port) pour [certains pilotes de base de données](/docs/agents/net-agent/features/net-agent-instance-level-database-information). Ceux-ci sont signalés sur requête lente trace et trace de transaction. La valeur par défaut de l&apos;attribut `enabled` est `true`. + + + + Utilisez ce sous-élément pour activer la collecte du nom de la base de données sur requête lente trace et trace de transaction pour [certains pilotes de base de données](/docs/agents/net-agent/features/net-agent-instance-level-database-information). La valeur par défaut de l&apos;attribut `enabled` est `true`. + + + + Utilisez ce sous-élément pour activer la collecte des paramètres de requête SQL sur la trace lente de la requête. La valeur par défaut de l'attribut `enabled` est `false`. + + + * La requête d’enregistrement des paramètres peut capturer des informations sensibles. + * L'option de configuration `transactionTracer.recordSql` doit être définie sur `raw` sinon cette option est ignorée. + + + + +### Tracing distribué [#distributed\_tracing][#distributed_tracing] + +L'élément `distributedTracing` est un enfant de l&apos;élément `configuration` . + +```xml + +``` + +Le traçage distribué vous permet de voir le chemin emprunté par une requête lorsqu'elle traverse un système distribué. Il nécessite [agent .NET version 8.6.45.0 ou supérieure](/docs/agents/net-agent/installation/update-net-agent) et est activé par défaut dans l&apos;agent .NET 9.0.0.0 et supérieur. + + + L'activation [du traçage distribué](/docs/understand-dependencies/distributed-tracing/get-started/introduction-distributed-tracing) désactive [le traçage inter-application](#cross_application_tracer) et a d&apos;autres effets sur la fonctionnalité APM . Avant l&apos;activation, lisez le [guide de planification](/docs/transition-guide-distributed-tracing). + + +Pour plus d’informations sur la configuration du traçage distribué, consultez [Activer le traçage distribué pour votre application .NET](/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent). + +L'élément `distributedTracing` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Vous pouvez également activer le traçage distribué via la variable d'environnement `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` dans l&apos;environnement de l&apos;application: + + ```ini + NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true + ``` +
+ + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Par défaut, les versions prises en charge de l'agent utilisent à la fois l'en-tête `newrelic` et les en-têtes [W3C Trace Context](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works#headers) pour le traçage distribué. L&apos;en-tête distribué de traçage `newrelic` permet l&apos;interopérabilité avec les agents plus anciens qui ne prennent pas en charge les en-têtes W3C Trace Context . les versions d&apos;agent qui prennent en charge les en-têtes W3C Trace Context les prioriseront par rapport aux en-têtes `newrelic` pour le traçage distribué. + + Si vous ne souhaitez pas utiliser l'en-tête `newrelic`, définissez-le sur `true` pour que l&apos;agent exclue l&apos;en-tête `newrelic` et utilise uniquement les en-têtes W3C Trace Context pour le traçage distribué. +
+
+ +traçage des rapports distribués sur l'ensemble des événements. La création de rapports sur les événements Span est activée par défaut, mais [le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) doit être activé pour que les événements Span soient signalés. Pour désactiver l&apos;événement SPAN, choisissez l&apos;une des options suivantes : + + + + Définissez l'élément `` sur `false` pour le désactiver via le fichier `newrelic.config` . Cet élément est un enfant de l&apos;élément `` . + + ```xml + + + + ``` + + + + Définissez la variable d’environnement `NEW_RELIC_SPAN_EVENTS_ENABLED` dans l’environnement de l’application : + + ```ini + NEW_RELIC_SPAN_EVENTS_ENABLED=false + ``` + + + +### Traçage infini [#infinite\_tracing][#infinite_tracing] + +[Infinite Tracing](/docs/distributed-tracing/infinite-tracing/introduction-infinite-tracing) étend le service distribué de traçage en utilisant un observateur de trace externe à l&apos;agent. Il observe 100 % de la trace de votre application sur différents services et fournit des données exploitables afin que vous puissiez résoudre les problèmes plus rapidement. + +Pour activer [Infinite Tracing](/docs/distributed-tracing/infinite-tracing/introduction-infinite-tracing), assurez-vous que vous disposez de [agent .NET version 8.30 ou supérieure](/docs/release-notes/agent-release-notes/net-release-notes) et activez le traçage distribué. Ajoutez ensuite les paramètres supplémentaires suivants : + +```xml + + + + + + +``` + + + Les étendues de traçage infinies peuvent être limitées par le paramètre [`transactionTracer.maxSegments`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#tracer-maxSegments) . + + +L'élément `infiniteTracing` prend en charge les éléments suivants : + + + + L'élément `trace_observer` identifie un hôte observateur indépendant de l&apos;agent. Pour obtenir de l&apos;aide pour obtenir une entrée d&apos;hôte d&apos;observateur de trace Infinite Tracing valide, consultez [Rechercher ou créer un point de terminaison d'observateur de trace](/docs/understand-dependencies/distributed-tracing/enable-configure/language-agents-enable-distributed-tracing#provision-trace-observer "https://docs.newrelic.com/docs/understand-dependencies/distributed-tracing/enable-configure/lingual-agents-enable-distributed-tracing#provision-trace-observer"). + + L'observateur de trace peut également être configuré à l'aide de la variable d'environnement `NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST` . + + + Lors de la configuration de l'observateur de trace, vous ne devez pas fournir le protocole dans le cadre de l'hôte. Par exemple, utilisez `myhost.infinitetracing.com` au lieu de `https://myhost.infinitetracing.com`. + + + + +### trace inter-application [#cross\_application\_tracer][#cross_application_tracer] + +L'élément `crossApplicationTracer` est un enfant de l&apos;élément `configuration` . `crossApplicationTracer` liens tracent la transaction à travers l&apos;application. Lorsqu&apos;elles sont liées dans une architecture orientée services, toutes les applications instrumentées qui communiquent entre elles via HTTP « lieront » désormais la trace de transaction avec l&apos;application qu&apos;elles appellent et l&apos;application par laquelle elles sont appelées. [Le traçage inter-applications](/docs/traces/cross-application-traces) facilite la compréhension de la relation de performances entre les services et les applications. + + + Le traçage inter-applications est obsolète depuis [la version 9.0.0 de l'agent](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-9000/) et désactivé par défaut. Il sera supprimé dans une future version de l&apos;agent. Pour utiliser CAT avec la version 9+ de l&apos;agent, vous devez définir à la fois `crossApplicationTracer.enabled = true` et `distributedTracing.enabled = false`. L&apos;activation [du traçage distribué](/docs/understand-dependencies/distributed-tracing/get-started/introduction-distributed-tracing) désactivera [le traçage inter-application](#cross_application_tracer). + + +```xml + +``` + +L'élément `crossApplicationTracer` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activer ou désactiver le traçage inter-applications +
+
+ +### Événement de span + +L'élément `spanEvents` est un enfant de l&apos;élément `configuration` . Utilisez `spanEvents` pour configurer l&apos;événement span. + +```xml + + + myApiKey.* + myApiKey.foo + + +``` + +L'élément `spanEvents` prend en charge l&apos;attribut suivant : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activer ou désactiver l'enregistreur d'événements. +
+ + + + + + + + + + + + + + + + +
+ Taper + + Int +
+ Défaut + + `2000` +
+ + Le nombre maximal d'événements d'échantillonnage que l'agent peut stocker en mémoire à la fois. Il s'agira du nombre maximal d'événements SPAN que l'agent peut envoyer par minute. + + * Cela peut également être configuré à l'aide de la variable d'environnement `NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED` . + + * Nous ne recommandons pas de configurer au-delà de 10 000. Le serveur limitera les données à 10 000 par minute. + + * Si vous configurez l'agent pour [monitoring de l'IA](/docs/ai-monitoring/intro-to-ai-monitoring/), nous vous recommandons de définir la valeur sur `10000`. + + + Cette option configuration est uniquement disponible dans l'agent .NET v9.0 ou supérieur. + +
+ + + Utilisez ce sous-élément pour personnaliser les paramètres d’attributs de votre agent pour l’événement span. Ce sous-élément utilise les mêmes paramètres que l’élément principal `attributes` : [`enabled`](#agent-attributes-enabled), [`include`](#agent-attributes-include) et [`exclude`](#agent-attributes-exclude). + + + Ces paramètres d'attribut sont spécifiques à l'événement span. les paramètres d'attribut peuvent être appliqués globalement à tous les types d'événements [avec ce paramètre configuration ](/docs/agents/net-agent/configuration/net-agent-configuration#agent-attributes). + + +
+ +### Capturer les en-têtes de requête HTTP [#capture\_http\_request\_headers][#capture_http_request_headers] + +L'élément `allowAllHeaders` est un enfant de l&apos;élément `configuration` . Définissez cette valeur sur `true` pour permettre à l&apos;agent .NET de capturer tous les en-têtes de requête HTTP et de les appliquer à l&apos;événement `Span` et `Transaction` en tant qu&apos;attribut `request.headers.{http-header-name}` . Définissez cette valeur sur `false` pour autoriser uniquement l&apos;agent .NET à collecter les en-têtes de requête HTTP suivants : + +* `request.headers.referer` +* `request.headers.accept` +* `request.headers.content-length` +* `request.headers.host` +* `request.headers.user-agent` + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `false` +
+ + Activer ou désactiver la capture des en-têtes de requête HTTP. Exemple: + + Vous pouvez également définir la variable d'environnement `NEW_RELIC_ALLOW_ALL_HEADERS` dans l&apos;environnement de l&apos;application : + + ```xml + + + request.headers.* + + ``` +
+
+ + + Le paramètre `allowAllHeaders` est uniquement disponible dans la version 8.40.0+ de l&apos;agent .NET. Lorsque vous utilisez `allowAllHeaders` pour capturer l&apos;attribut, l&apos;attribut d&apos;en-tête de demande capturé est toujours contrôlé par les paramètres [d'attribut](/docs/agents/net-agent/configuration/net-agent-configuration/#agent-attributes) de niveau racine et de niveau de destination. Sans définir le `request.header.*` dans la liste `include` sous l&apos;élément `attributes` (voir ci-dessous), l&apos;agent .NET filtre toujours tous les attributs d&apos;en-tête. La valeur par défaut `newrelic.config` est définie pour inclure le `request.header.*`. + + ```xml + + + request.headers.* + ... + + ``` + + La valeur par défaut `newrelic.config` est également définie pour exclure explicitement les en-têtes de requête HTTP suivants afin d’empêcher l’agent .NET de collecter des données indésirables. + + ```xml + + request.headers.cookie + request.headers.authorization + request.headers.proxy-authorization + request.headers.x-* + + ``` + + +### Logging des applications [#application\_logging][#application_logging] + + + Ces options de configuration sont disponibles uniquement avec les versions 9.7.1 et supérieures de l'agent .NET. Les options liées aux données de contexte (attribut personnalisé) ne sont disponibles que dans les versions agent .NET 10.4.0 et supérieures. + + +L'élément `applicationLogging` est un enfant de l&apos;élément `configuration` . Utilisez `applicationLogging` pour configurer l’instrumentation de l’activité de logging de votre application. + +Il existe trois sous-fonctionnalités principales : + +1. Métriques : collectez des métriques sur le nombre total de lignes log écrites par cycle de collecte (`Logging/lines`), ainsi que le nombre de lignes log écrites à des niveaux de logging particuliers (par exemple, `Logging/lines/ERROR`). + +2. transfert de journaux : lorsqu'il est activé, l'agent capture les données log et les envoie à New Relic. + + * Données de contexte (via [`AddCustomAttribute`](/docs/apm/agents/net-agent/net-agent-api/itransaction/#addcustomattribute)) : lorsqu&apos;elles sont activées, l&apos;agent capture et transmet tout attribut log personnalisé. Les `include` `exclude` éléments et sont des listes séparées par des virgules de noms d&apos;attributs à inclure ou à exclure, suivant les [mêmes règles](/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net/#attruls) que les autres agent d&apos;attributs configuration. Ils sont tous deux vides par défaut, ce qui entraîne la capture et la transmission de toutes les données de contexte log . + * Filtrage des niveaux de log : lorsqu'il est configuré avec un ou plusieurs niveaux de log dans une liste séparée par des virgules, l'agent empêchera la capture et la transmission des messages à ces niveaux. + * Étiquettes : lorsque cette option est activée, l’ agent ajoute des étiquettes personnalisées au log transféré par agent . Vous pouvez utiliser l'attribut `exclude` , qui est une liste de noms d&apos;étiquettes séparés par des virgules et ne respectant pas la casse. Par défaut, l&apos;agent ajoute des étiquettes personnalisées lorsque l&apos;attribut `exclude` est vide. + +3. Décoration log local : lorsqu'elle est activée, votre log existant sera décoré avec des métadonnées qui relient le log à d'autres données New Relic , telles que les erreurs. + +Pour plus de détails, consultez [notre documentation sur l’utilisation des journaux agent .NET dans contexte](/docs/logs/logs-context/net-configure-logs-context-all). + +```xml + + + + + + + + +``` + +Ces fonctionnalités peuvent également être configurées via des variables d'environnement : + +```ini +NEW_RELIC_APPLICATION_LOGGING_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE="myCustomAttribute1, myOtherCustomAttribute*" +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE="myCustomAttribute2, myOtherCustomAttributeMoreSpecificName" +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED=10000 +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST="debug, warn" +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_ENABLED=true +NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_EXCLUDE="label1, label2" +NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED=true +``` + +L'élément `applicationLogging` prend en charge l&apos;attribut et les sous-éléments suivants : + + + + + + + + + + + + + + + + + +
+ Taper + + Booléen +
+ Défaut + + `true` +
+ + Activez ou désactivez toutes les fonctionnalités instrumentation de logging. Si `true`, la configuration de sous-fonctionnalité individuelle prend effet. Si `false`, aucune fonctionnalité d’instrumentation de logging n’est activée. + + Ou utilisez la variable d’environnement `NEW_RELIC_APPLICATION_LOGGING_ENABLED` . +
+ + + Utilisez ce sous-élément pour activer la collecte de métriques de logging (telles que `Logging/lines`) pour le framework de logging .NET commun. La valeur par défaut de l&apos;attribut `enabled` est `true`. + + Ou utilisez la variable d’environnement `NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED` . + + + + Utilisez ce sous-élément pour activer la transmission du log de votre application vers New Relic. La valeur par défaut de l'attribut `enabled` est `true`, vous pouvez également utiliser la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED` . + + La valeur par défaut de l'attribut `maxSamplesStored` est `10000`, vous pouvez également utiliser la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED` pour ce paramètre. Définissez cette valeur sur une valeur inférieure pour réduire la quantité de lignes log envoyées (peut provoquer un échantillonnage log ). Définissez cette valeur sur une valeur plus élevée pour envoyer plus de lignes log . + + Chaque log reçoit la même priorité que sa transaction associée. Les logs qui se produisent en dehors d'une transaction recevront une priorité aléatoire. Certains logs peuvent ne pas être inclus car ils sont limités par `maxSamplesStored`. Par exemple, si le logging `maxSamplesStored` est définie sur 10 000 et que la transaction 1 comporte 10 000 entrées log, seules les entrées log de la transaction 1 seront enregistrées. Si la transaction 1 contient moins de 10 000 logs, vous recevez tous les logs de la transaction 1. S&apos;il reste de la place, vous recevez l&apos;intégralité du log de la transaction 2, et ainsi de suite. + + Si après tout le log des transactions échantillonnées est enregistré et qu'elles n'ont pas atteint la limite de `maxSamplesStored`, alors les messages du log des transactions qui ne figuraient pas dans notre échantillonnage sont envoyés. S&apos;il en reste, les messages de log en dehors des transactions sont enregistrés. + + Utilisez l'attribut `logLevelDenyList` (ou la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL_DENYLIST`) pour filtrer les messages de log du niveau de log spécifié. La valeur de cet attribut est une liste de niveaux séparés par des virgules et ne respectant pas la casse. En dehors du cas, la chaîne de niveau de log doit correspondre exactement au niveau de log filtré, les caractères génériques et les expressions régulières ne sont pas pris en charge. Par exemple, si la valeur a été définie sur `logLevelDenyList="debug,warn"`, tout message de log avec un niveau de log de `Debug` ou `Warn` ne sera pas capturé ou transmis, mais un log avec un niveau de `Warning` sera toujours envoyé à New Relic. + + + Si vous envoyez déjà le log de votre application à New Relic à l'aide d'une solution de transfert de logexistante, assurez-vous de la désactiver avant d'activer le transfert de logdans l'agent, afin d'éviter d'être facturé pour les données log en double. + + + + + Utilisez ce sous-élément, qui est un enfant de l'élément `forwarding`, pour configurer la capture et la transmission des données de contexte de logging ([attribut personnalisé](/docs/apm/agents/net-agent/net-agent-api/itransaction/#addcustomattribute)), dans les versions agent 10.4.0 et supérieures. + + Définissez l'attribut `enabled` sur `true` pour activer la capture et la transmission des données de contexte de logging vers New Relic, vous pouvez également utiliser la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_ENABLED`. La valeur par défaut est `false`. + + L'attribut `include` est une liste séparée par des virgules de noms d&apos;attributs à inclure lorsque la capture de données contextuelles est activée, vous pouvez également utiliser la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_INCLUDE`. La valeur par défaut est une chaîne vide, ce qui signifie « tout inclure ». + + L'attribut `exclude` est une liste séparée par des virgules de noms d&apos;attributs à exclure lorsque la capture de données contextuelles est activée, vous pouvez également utiliser la variable d&apos;environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CONTEXT_DATA_EXCLUDE`. La valeur par défaut est une chaîne vide, ce qui signifie « ne rien exclure ». + + Les listes d'inclusion et d'exclusion suivent les [mêmes règles de priorité que les autres agent d'attributs configuration](/docs/apm/agents/net-agent/attributes/enable-disable-attributes-net/#attruls). + + + + Utilisez ce sous-élément, qui est un enfant de l'élément `forwarding`, pour configurer l&apos;ajout de vos [étiquettes (tag)](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#labels-tags) au log transféré agent , dans les versions agent 10.34.0 et supérieures. + + Définissez l’attribut `enabled` sur `true` pour permettre l’ajout de vos étiquettes au log transmis agent . Vous pouvez également utiliser la variable d’environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_ENABLED`. La valeur par défaut est `false`. + + L'attribut `exclude` est une liste de noms d&apos;étiquettes séparés par des virgules, insensible à la casse, à exclure lorsque vous activez les étiquettes. Vous pouvez également utiliser la variable d’environnement `NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_EXCLUDE`. La valeur par défaut est une chaîne vide, ce qui signifie « ne rien exclure ». Cet attribut ne prend pas en charge les caractères génériques ni les expressions régulières. + + + + Utilisez ce sous-élément pour activer la décoration du log de votre application avec les métadonnées de liaison New Relic . La valeur par défaut de l'attribut `enabled` est `false`. Certaines modifications configuration supplémentaires sont requises pour la décoration log locaux, veuillez consulter [.NET : Configurer les logs en contexte](/docs/logs/logs-context/net-configure-logs-context-all#2-decorate) pour plus d&apos;informations. + +
+ +### niveau du code métrique [#code\_level\_metrics][#code_level_metrics] + +L'élément `codeLevelMetrics` est un enfant de l&apos;élément `configuration` . Utilisez `codeLevelMetrics` pour activer la prise en charge du niveau du code métrique dans CodeStream via des métadonnées de méthode instrumentale supplémentaires capturées en tant qu&apos;attribut sur l&apos;événement span. + +Pour plus de détails, consultez notre documentation sur [l'intégration de New Relic CodeStream](/docs/apm/agents/net-agent/other-features/net-codestream-integration). + +```xml + +``` + +Cela peut également être configuré via une variable d'environnement : + +```ini +NEW_RELIC_CODE_LEVEL_METRICS_ENABLED=true +``` + +### Fournisseur de cloud modifié [#cloud] + +L'élément `cloud` est un enfant de l&apos;élément `configuration` . Utilisez `cloud` pour configurer les métadonnées du fournisseur de cloud pour votre application. + +L'élément `cloud` prend en charge les sous-éléments suivants : + + + + Utilisez ce sous-élément pour configurer l’ID de compte AWS pour votre application. + + + Notez que cette configuration n'est normalement pas requise, car l'agent détectera automatiquement l'ID de compte AWS lors de l'exécution. Si la détection automatique ne fonctionne pas, l'agent reviendra à la valeur configurée ici. + + + ```xml + + + + ``` + + Cela peut également être configuré via une variable d'environnement : + + ```ini + NEW_RELIC_CLOUD_AWS_ACCOUNT_ID=123456789012 + ``` + + + +### Monitoring de l'IA [#ai\_monitoring][#ai_monitoring] + +Par défaut, monitoring de l'IA est désactivée. Pour activer monitoring de l'IA, définissez l'attribut `enabled` sur `true` dans l&apos;élément `aiMonitoring`. L&apos;élément `aiMonitoring` est un enfant de l&apos;élément `configuration` . + + + Lorsque cette option est activée, le monitoring de l'IA enregistrera une copie en continu des entrées et des sorties envoyées vers et depuis les modèles que vous choisissez de monitorer, y compris toutes les informations personnelles qu'ils contiennent. Lorsque vous utilisez la fonctionnalité de monitoring de l'IA, vous êtes responsable d'obtenir le consentement de l'utilisateur de votre modèle pour que son interaction puisse être enregistrée par un tiers (New Relic) dans le but de fournir la fonctionnalité de monitoring de l'IA. + + +```xml + +``` + +Cela peut également être configuré via une variable d'environnement : + +```ini +NEW_RELIC_AI_MONITORING_ENABLED=true +``` + +L'élément `aiMonitoring` prend en charge les sous-éléments suivants : + + + + Utilisez ce sous-élément pour permettre à toutes les entrées et sorties de l'événement LLM d'être envoyées à New Relic. La valeur par défaut de l'attribut `enabled` est `true`. L&apos;enregistrement de contenu est désactivé en mode haute sécurité. + + Notez que si l'enregistrement de contenu est désactivé, le comptage des jetons LLM doit être fourni par les clients, en appelant l'[API`SetLlmTokenCountingCallback` ](/docs/agents/net-agent/net-agent-api/setllmtokencountingcallback-net-agent-api). Si ce rappel n&apos;est pas fourni, l&apos;agent ne pourra pas fournir le comptage des jetons LLM. + + ```xml + + + + ``` + + Cela peut également être configuré via une variable d'environnement : + + ```ini + NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED=false + ``` + + + +## Paramètres dans app.config ou web.config [#app-config-settings] + +Pour les applications de console ASP.NET et .NET Framework, vous pouvez également configurer les paramètres suivants dans `app.config` ou `web.config` de votre application, dans l&apos;élément le plus externe, ``: + + + + ```xml + + + + ``` + + + Si l'agent est désactivé dans le `newrelic.config` local ou global, les paramètres `NewRelic.AgentEnabled` de ces fichiers n&apos;activeront **pas** l&apos;agent. + + + + + Pour plus d’informations, voir [Nommer votre application .NET](/docs/agents/net-agent/installation-configuration/name-your-net-application). + + ```xml + + + + ``` + + + + ```xml + + + + ``` + + + + ```xml + + + + ``` + + + + Désigne un emplacement alternatif pour le fichier de configuration en dehors de la racine locale de l'application ou de l'emplacement de configuration globale. L'emplacement saisi doit être un chemin absolu. + + ```xml + + + + ``` + + + +## Paramètres dans appsettings.json [#appsettings-json] + +Pour les applications .NET Core, vous pouvez configurer les paramètres suivants dans `appsettings.json` si ce qui suit est vrai : + +* Le fichier `appsettings.json` doit être situé dans le répertoire de travail actuel de l&apos;application. + +* La application doit avoir la dépendance suivante : + + * [`Microsoft.Extensions.Configuration`](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) + * [`Microsoft.Extensions.Configuration.Json`](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json) + * [`Microsoft.Extensions.Configuration.EnvironmentVariables`](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables) + + + + ```json + { + "NewRelic.AgentEnabled":"false" + } + ``` + + + Si l'agent est désactivé dans le `newrelic.config` local ou global, les paramètres `NewRelic.AgentEnabled` de ces fichiers activeront l&apos;agent. + + + + + Pour plus d’informations, voir [Nommer votre application .NET](/docs/agents/net-agent/installation-configuration/name-your-net-application). + + ```json + { + "NewRelic.AppName": "Descriptive Name" + } + ``` + + + + ```json + { + "NewRelic.LicenseKey": "YOUR_LICENSE_KEY" + } + ``` + + + + ```json + { + "NewRelic.Labels": "key1:value1;key2:value2" + } + ``` + + + + Désigne un emplacement alternatif pour le fichier de configuration en dehors de la racine locale de l'application ou de l'emplacement de configuration globale. L'emplacement saisi doit être un chemin absolu. + + ```json + { + "NewRelic.ConfigFile": "C:\Path-to-alternate-config-dir\newrelic.config" + } + ``` + + + + + Pour [les applications ASP.NET Core](https://asp.net/), l&apos;agent .NET lira à partir de `appsettings.{environment}.json` si vous définissez la variable `ASPNETCORE_ENVIRONMENT` . + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net.mdx new file mode 100644 index 00000000000..8ba56ead5e7 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net.mdx @@ -0,0 +1,395 @@ +--- +title: Ajoutez des détails aux transactions via XML (.NET) +tags: + - Agents + - NET agent + - Custom instrumentation +metaDescription: 'New Relic .NET agent: Use an XML file to collect data from un-instrumented methods and to block instrumentation of methods you do not want instrumented.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic collecte et rapporte des informations sur les transactions du navigateur Web et les transactions non Web (tâches d'arrière-plan). Normalement, l'agent .NET produit automatiquement des informations complètes, sans que vous ayez besoin de modifier le code de votre application. Cependant, si New Relic ne prend pas en charge votre [framework](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent#architecture), vous devrez peut-être ajouter [une instrumentation personnalisée](/docs/agents/net-agent/instrumentation/net-custom-instrumentation). + +New Relic utilise la méthode traceur pour mettre en œuvre instrumentation personnalisée. Un traceur de méthode est une sonde logicielle que vous pouvez placer sur une méthode de n'importe quelle classe. L'agent .NET charge les directives instrumentation qui définissent les méthodes à suivre à partir de tous les fichiers XML du répertoire des extensions. + +Ce document décrit le travail instrumenté lorsque l'agent collecte déjà des transactions, mais que vous souhaitez ajouter plus de détails à ces transactions. Pour instrumenter le travail lorsque l'agent ne crée pas de transactions automatiquement, voir [Créer des transactions via XML](/docs/agents/net-agent/instrumentation/net-custom-transactions). Vous pouvez également ajouter des détails et créer des transactions en [décorant votre code avec l'attribut](/docs/agents/net-agent/api-guides/net-agent-api-instrument-using-attributes). + +## Ajoutez des détails avec une instrumentation personnalisée [#procedures] + +Les fichiers d'extension définissent un certain nombre d'usines de traceurs dans un élément instrumentation . Chaque fabrique de traceurs contient des éléments de correspondance qui définissent l'assembly, le nom de classe entièrement qualifié et le nom de méthode à faire correspondre. Pour définir un nouveau fichier XML instrumentation personnalisée : + +1. Créez un nouveau fichier `.xml` dans le répertoire d’extensions utilisé par l’agent .NET pour lire chaque fichier XML et définir son ensemble d’instrumentation. Pour l&apos;agent.NET Framework, utilisez l&apos;emplacement suivant : + + ``` + C:\ProgramData\New Relic\.NET Agent\Extensions + ``` + + + Ne mettez **pas** le .xml fichier dans le répertoire `C:\Program Files\New Relic\.NET agent\Extensions` . Le fichier doit se trouver à l&apos;emplacement de fichier `ProgramData` pour que l&apos;instrumentation personnalisée fonctionne. + + Ne modifiez pas les fichiers XML distribués. Ces fichiers sont écrasés chaque fois que l'agent est mis à niveau. + + +2. Copiez ce modèle dans le fichier que vous avez créé et utilisez [l'échantillon](#sample) comme exemple. Cet instrument comporte deux méthodes, mais vous pouvez ajouter des méthodes à votre fichier d&apos;instrumentation. + + + Les valeurs `AssemblyName`, `NameSpace.ClassName` et `MethodName` sont sensibles à la casse. + + + ```xml + + + + + + + + + + + + + + + + + ``` + +3. [Valider le fichier d’instrumentation `.xml` ](#xsd-validate)par rapport à `extension.xsd`. + +4. Applications non IIS (telles qu'une application de console ou un processus d'arrière-plan) : vous devez également [créer des transactions via XML](/docs/agents/net-agent/instrumentation/net-custom-transactions) pour contenir les méthodes que vous instrument. Les méthodes personnalisées instrumentées en dehors d&apos;une transaction ne seront pas signalées à New Relic. + +5. + Si votre version d’agent .NET est 7.0 ou supérieure, c’est la fin de la procédure. + + Si la version de votre agent .NET est inférieure à 7.0, passez aux étapes suivantes. + + +6. Si votre application est hébergée par IIS, redémarrez IIS. + +7. Pour les applications non IIS, redémarrez le processus hôte de votre application ou l'application elle-même. + + + Si certaines de vos méthodes n'apparaissent toujours pas dans la trace après l'ajout instrumentation XML personnalisée, désactivez l'intégration de méthode pour ces méthodes avec `[MethodImpl(MethodImplOptions.NoInlining)]`. + + +## Ignorer une transaction [#blocking-instrumentation] + +Vous pouvez empêcher qu'une transaction soit signalée en utilisant un fichier instrumentation personnalisée. Chaque fois qu’une méthode ignorée est appelée, l’agent .NET ignore l’intégralité de la transaction parent. C'est la même chose que d'appeler `IgnoreTransaction()`. + +Pour ignorer une transaction : + +1. [Ajouter une instrumentation personnalisée](#procedures). + +2. Ajoutez un `tracerFactory` dont le nom est `NewRelic.Agent.Core.Tracer.Factories.IgnoreTransactionTracerFactory`: + + ```xml + + + + + + ``` + +## Suivre le travail asynchrone dans une transaction distincte [#track-async] + +Dans certains cas, le travail asynchrone peut être suivi comme une transaction distincte en appliquant l'instrumentation `AsyncForceNewTransactionWrapper` : + +```xml + + + + + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Considérations sur l'utilisation asynchrone + + Commentaires +
+ méthode instrumentée + + La méthode instrumentée doit être invoquée en utilisant `Task.Run`, `Task.Factory.StartNew` ou `new Thread()`. Il ne peut pas être invoqué à l&apos;aide du mot-clé `await` . +
+ Type de retour + + Il n’est pas nécessaire que la méthode instrumentée soit `async`. Cependant, s&apos;il s&apos;agit de `async`, il doit avoir un type de retour de `Task` ou `Task`. Il ne peut pas avoir un type de retour `void` . +
+ instrumentationd'attribut + + La méthode instrumentée ne peut pas avoir instrumentation d’attribut qui lui est appliquée. Il ne peut pas être décoré avec l'attribut `[Transaction]` ou `[Trace]` . +
+ + + + Les méthodes suivantes peuvent être instrumentées à l'aide de l'instrumentation personnalisée `AsyncForceNewTransactionWrapper` : + + ```cs + private void SyncMethod() + { + } + + private async Task AsyncMethod_Task() + { + } + + private async Task AsyncMethod_TypedTask() + { + return "ok"; + } + ``` + + Les méthodes suivantes **cannot** peuvent être instrumentées à l&apos;aide de l&apos;instrumentation personnalisée `AsyncForceNewTransactionWrapper` : + + ```cs + private async void AsyncMethod_Void() + { + } + + [Transaction] + private void TransactionAttributedMethod() + { + } + + [Trace] + private void TracedAttributedMethod() + { + } + ``` + + + + Les appels de méthode suivants peuvent être utilisés avec l'instrumentation `AsyncForceNewTransactionWrapper` : + + ```cs + Task.Run(SyncMethod); + + Task.Factory.StartNew(AsyncMethod_Task); + + var newThread = new Thread(new ThreadStart(SyncMethod)); + newThread.Start(); + ``` + + La méthode suivante appelle **cannot** à utiliser avec l&apos;instrumentation `AsyncForceNewTransactionWrapper` : + + ```cs + SyncMethod(); // This is not an asynchronous call + + await AsyncMethod_Task(); // Not started with Task.Run, Task.Factor.StartNew, or new Thread() + + AsyncMethod_Void(); // Async Void is not supported + ``` + + + +## Exemple MyInstrumentation.xml [#sample] + +Cet exemple utilise deux méthodes et ignore une autre méthode : + +* **Instrument**: `CustomInstrumentDemo.Controllers.FirstController.FirstExample()` +* **Instrument**: `CustomInstrumentDemo.Controllers.SecondController.SecondExample()` +* **Ignore**: `CustomInstrumentDemo.Controllers.SecondController.ThirdExample()` +* **Instrument**: `CustomInstrumentDemo.Controllers.SecondController.FourthExample(int id, string name)` + +Pour implémenter ce schéma instrumentation personnalisé, utilisez le fichier d'exemple suivant et les méthodes instrumentées : + + + + Voici un exemple de fichier instrumentation personnalisée nommé `MyInstrumentation.xml`: + + ```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ``` + + + + Ce code contient les trois méthodes spécifiées par le [fichier d'exemple instrumentation personnalisée](#example-file): + + ```cs + using System; + using System.Collections.Generic; + using System.Linq; + using System.Web; + using System.Web.Mvc; + using System.Threading; + + namespace CustomInstrumentDemo.Controllers + { + public class FirstController : Controller + { + public ActionResult Foo1() + { + ViewBag.Message = "Your Sample Page"; + FirstExample(); + return View(); + } + + public void FirstExample() + { + int firstVar = 1; + for (int i = 0; i <= 500; i++) + { + firstVar *= 5; + Thread.Sleep(50); + } + } + } + + public class SecondController : Controller + { + public ActionResult Foo2() + { + ViewBag.Message = "This view will include detailed information on the SecondExample method"; + SecondExample(); + return view; + } + + public ActionResult Foo3() + { + ViewBag.Message = "This view will be ignored because of the inclusion of the ThirdExample method"; + ThirdExample(); + } + + public void SecondExample() + { + int secondVar = 2; + + using (var connection = new SqlConnection(ConnectionStrings["MsSqlConnection"].ConnectionString)) + { + connection.Open(); + using (var command = new SqlCommand("SELECT * FROM table", connection)) + using (var reader = command.ExecuteReader()) + { + reader.Read(); + } + } + } + + public void ThirdExample() + { + try + { + var ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + NewRelic.Api.Agent.NewRelic.NoticeError(ex); + } + } + + public void FourthExample(int id, string name) + { + Console.WriteLine("The ID passed in was " + id + " and the name passed in was " + name); + } + } + } + ``` + + + +## Nom métriques + +Les métriques créées à partir de traceur seront nommées en utilisant le nom de la classe et le nom de la méthode correspondante. Vous pouvez remplacer ce nom avec l'attribut `metricName` . Commencez `metricName` par `Custom/` (par exemple, `metricName="Custom/OrderSubmissions"`). + +```xml + + + + + + +``` + +## Transactions de nom + +L'agent nomme les transactions à l'aide du traceur dans la transaction avec la priorité de dénomination la plus élevée. + +* La transaction Web peut être nommée à l'aide du gestionnaire HTTP, du nom ASP, du nom du contrôleur MVC ou du nom du service Web, en fonction du traceur invoqué dans l'exécution de la transaction. +* Les transactions en arrière-plan sans traceur qui nomme explicitement la transaction sont regroupées dans un seul nom de transaction. + +Utilisez l’attribut `transactionNamingPriority` pour indiquer à l’agent d’attribuer une priorité de dénomination de transaction de traceur. Les valeurs valides sont `1` à `7`, où `7` a priorité sur `1` à `6`. De plus, l&apos;attribut `metricName` doit commencer par `Custom/` (par exemple, `metricName="Custom/instance"`). + +```xml + + + + + + +``` + +## Validation XSD [#xsd-validate] + +Le fichier d'instrumentation XML peut être vérifié par rapport au fichier XSD (situé à `C:\ProgramData\New Relic\.NET Agent\Extensions\extension.xsd`) avec n&apos;importe quel validateur XSD. + +## Dépannage + +L'agent .NET écrira un message de log dans `NewRelic.Profiler.####.log` (où `####` est le PID du processus instrumenté) au fur et à mesure qu&apos;il réécrit les méthodes. Cela permet de vérifier que instrumentation personnalisée est lue et que les méthodes appropriées sont instrumentées. + + + Évitez d’utiliser l’attribut `name` de l’élément `tracerFactory` dans l’instrumentation personnalisée. Pour plus d’informations, consultez le fichier de schéma `extension.xsd` dans le répertoire de l’agent. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net.mdx new file mode 100644 index 00000000000..cf35d938b1d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net.mdx @@ -0,0 +1,274 @@ +--- +title: Créer des transactions via XML (.NET) +tags: + - Agents + - NET agent + - Custom instrumentation +metaDescription: How to manually instrument non-web transactions for your app via XML file with New Relic's .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +Le frameworkNew Relic est automatiquement [pris en charge par l'instrument.](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent) Cependant, vous pouvez également avoir d&apos;autres frameworks pour lesquels certaines transactions ne sont pas créées automatiquement ou des méthodes supplémentaires que vous souhaiteriez instrument. Vous pouvez [ajouter une instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation) à ces méthodes en créant [des transactions](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). Les transactions créées via XML sont [classées comme non Web](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation#web-background) dans l&apos;UI de New Relic. + +Ce document décrit comment créer des transactions avec un fichier XML. Vous pouvez également : + +* Ajoutez des détails aux [transactions existantes à l'aide de XML](/docs/agents/net-agent/custom-instrumentation/custom-instrumentation-xml-net) +* Créez des transactions et ajoutez des détails aux transactions existantes avec l'[ API .NET deagent](/docs/agents/net-agent/api-guides/net-agent-api-instrument-using-attributes). + +Si vous disposez d'une application non IIS, l'instrumentation XML nécessite l'activation de l'option `Instrument all` lors de l&apos;[installation de l'agent .NET](/docs/agents/net-agent/installation-configuration/install-net-agent#installing). + +## Créer des transactions à l'aide de XML [#creating-custom-txn] + +Les transactions personnalisées (transactions non instrumentées automatiquement) sont définies dans un fichier XML instrumentation personnalisée. Vous définissez une méthode qui déclenche la création d'une transaction. Vous pouvez également instrumenter des méthodes supplémentaires appelées par la méthode trigger. + +Quelques règles importantes à connaître avant de créer une transaction personnalisée : + +* La base de données et les appels externes ne nécessitent pas instrumentation personnalisée car ils sont automatiquement instrumentés. +* Assurez-vous que votre fichier XML se trouve dans le bon chemin. Pour définir son ensemble d’instrumentation, l’agent .NET lit chaque fichier XML dans le répertoire `Extensions` . +* Si une méthode que vous tentez d’instrumenter fait déjà partie d’une transaction existante, elle sera ajoutée en tant que segment à cette transaction. Aucune nouvelle transaction ne sera créée. Cela se produira même si la méthode parent est instrumentée à l'aide instrumentation personnalisée. +* Évitez les éléments instrumentés tels que `Main()`, car cette méthode ne se terminera pas tant que l&apos;application ne se terminera pas et les données risquent de ne pas être envoyées à New Relic. + +Pour créer un fichier instrumentation personnalisée : + +1. Créez un nouveau fichier `.xml` dans le répertoire `Extensions` de votre répertoire d’agent .NET. L&apos;emplacement de ce répertoire dépend de votre système d&apos;exploitation : + + + + ``` + C:\ProgramData\New Relic\.NET Agent\Extensions + ``` + + + Utilisez le répertoire `ProgramData` , **pas** le répertoire `Program Files` . + + + + + ``` + PATH_TO_AGENT_DIRECTORY/Extensions + ``` + + `PATH_TO_AGENT_DIRECTORY` sera la valeur par défaut `/usr/local/newrelic-dotnet-agent` (versions d&apos;agent 10.0.0 ou supérieures), `/usr/local/newrelic-netcore20-agent` (versions d&apos;agent 9.9.0 ou inférieures) ou le répertoire choisi lors de l&apos;installation. + + + + Agent pour .NET framework : + + ``` + D:\home\site\wwwroot\newrelic\extensions + ``` + + Agent pour .NET Core : + + ``` + D:\home\site\wwwroot\newrelic_core\extensions + ``` + + + +2. Copiez ce modèle dans le fichier que vous avez créé. Ce modèle définit deux classes et méthodes distinctes en tant que transactions, mais d'autres peuvent être ajoutées : + + ```xml + + + + + + + + + + + + + + + + + + + + + + + + ``` + +3. Dans le fichier que vous avez créé, personnalisez les valeurs d’attribut `TransactionName`, `AssemblyName`, `NameSpace.ClassName` et `MethodName`. Personnalisez ces valeurs pour la méthode de déclenchement et pour toutes les méthodes appelées par la méthode de déclenchement. Vous pouvez également utiliser les valeurs d&apos;attribut facultatives `minVersion` et `maxVersion` pour cibler des versions spécifiques d&apos;un assemblage, comme indiqué dans le troisième exemple ci-dessus. Notez que cette fonctionnalité nécessite l&apos;agent 10.6.0 ou supérieur. + + + Ces valeurs sont sensibles à la casse. + + + * `TransactionName`: Définit le nom de la transaction. L&apos;attribut `metricName` est facultatif. Si omis, le nom de la transaction sera `NameSpace.ClassName/MethodName`. La catégorie de transaction sera `Custom`. Le nom métrique complet résultant sera `OtherTransaction/Custom/TransactionName`. Si vous souhaitez modifier la catégorie de transaction de `Custom`, utilisez l&apos;appel d&apos;API [SetTransactionName](/docs/agents/net-agent/net-agent-api/settransactionname-net-agent-api). L&apos;UI de New Relic regroupe les transactions sous des catégories dans le [champ type de transaction](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm/#agent-net). + * `AssemblyName`: L&apos;assembly qui contient la méthode de déclenchement. + * `NameSpace.ClassName`: Le nom de classe complet qui contient la méthode de déclenchement. + * `MethodName`: Le nom exact de la méthode de déclenchement. + * `minVersion`: Facultatif (vous pouvez le supprimer). La version d&apos;assemblage minimale à instrumenter (incluse). Si elle est omise, la version minimale est considérée comme 0. Nécessite l&apos;agent 10.6.0 ou supérieur. + * `maxVersion`: Facultatif (vous pouvez le supprimer). La version d&apos;assemblage maximale à instrumenter (exclusive). Si omis, il n&apos;y a pas de version maximale. Nécessite l&apos;agent 10.6.0 ou supérieur. + +4. L'ajout de méthodes supplémentaires doit inclure l'attribut `"NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory"` à définir comme une transaction. la balise sans cet attribut [ajoutera des détails aux transactions existantes](/docs/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net) uniquement. + +5. Facultatif : pour vérifier si le fichier XML est correctement formaté, vous pouvez le comparer au XSD (situé à `C:\ProgramData\New Relic\.NET Agent\Extensions\extension.xsd`) à l&apos;aide de n&apos;importe quel validateur XSD. + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + +## Afficher les transactions dans l'UI [#viewing-custom-txn] + +La transaction personnalisée démarre lorsque la méthode spécifiée par `methodName` est appelée dans l&apos;assembly spécifié par `assemblyName`. La transaction se termine lorsque la méthode renvoie ou lève une exception. + +Vous pouvez visualiser ces métriques dans la [page**Transactions** ](/docs/applications-menu/transactions-dashboard#tx_viewing)et dans [trace de transaction](/docs/traces/viewing-transaction-traces). Pour visualiser la transaction : Accédez à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitor &gt; Transactions &gt; Type &gt; (select a type)**. Le type sera `Non-web/Custom` sauf si vous [utilisez l'API pour modifier la catégorie](/docs/agents/net-agent/net-agent-api/settransactionname-net-agent-api). + +Screenshot showing where to choose the transaction type + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Monitoring &gt; Transactions &gt; Type &gt; (selected type)**: Utilisez le menu **Type** pour afficher vos transactions personnalisées. +
+ +## Exemple : instrumenter trois méthodes [#example-custom-txn] + +Cet exemple présente une implémentation simple de la création de transactions. + + + + Ce fichier instrumentation personnalisée définit les trois méthodes pour instrument. Seuls deux d'entre eux sont définis comme des transactions. + + ```xml + + + + + + + + + + + + + + + + + + + ``` + + + + Ce code contient les trois méthodes, avec des commentaires expliquant quand chacune sera instrumentée par l'agent: + + ```cs + var bar = new Bar(); + bar.Bar1(); // Creates a transaction named Bars in the Custom category. + bar.Bar2(); // Creates a transaction named Bars in the Custom category. + bar.Bar3(); // Won't create a new transaction. See `If Bar3 is called directly`, below. + + namespace Foo + { + public class Bar + { + // The agent creates a transaction that includes an external service request in its transaction traces. + public void Bar1() + { + new WebClient().DownloadString("https://www.google.com/"); + } + + // Creates a transaction containing one segment. + public void Bar2() + { + // The Bar3 segment will contain your SQL query inside of it and possibly an execution plan. + Bar3(); + } + + // If Bar3 is called directly, the agent will not create a transaction. + // However, if Bar3 is called from Bar1 or Bar2, Bar3 will appear as a segment containing its SQL query. + private void Bar3() + { + using (var connection = new SqlConnection(ConnectionStrings["MsSqlConnection"].ConnectionString)) + { + connection.Open(); + using (var command = new SqlCommand("SELECT * FROM table", connection)) + using (var reader = command.ExecuteReader()) + { + reader.Read(); + } + } + } + } + } + ``` + + + +## Exemple : instrumenter une application de console [#example-custom-app] + +Cette application de console simple démontre la création de transactions. Après avoir exécuté l'application plusieurs fois, vous voyez les transactions que vous avez créées dans la [page Transactions](/docs/apm/applications-menu/monitoring/transactions-page) (à **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; (select an app) &gt; Transactions &gt; Type**). Le segment **Dummy** sera visible dans le tableau de répartition des transactions et dans toute trace de transaction. + + + + Ce fichier d'instrumentation personnalisée définit deux méthodes pour instrument: + + ```xml + + + + + + + + + + + + + + + + + + ``` + + + + Ce code contient les deux méthodes spécifiées par le fichier instrumentation personnalisée : + + ```cs + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using System.Threading.Tasks; + + namespace ConsoleApplication1 + { + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Custom Transactions"); + var t = new CustomTransaction(); + while (true) + t.StartTransaction(); + } + } + class CustomTransaction + { + public void StartTransaction() + { + Console.WriteLine("StartTransaction"); + Dummy(); + } + void Dummy() + { + System.Threading.Thread.Sleep(5000); + } + } + + } + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net.mdx new file mode 100644 index 00000000000..6029594044c --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/custom-instrumentation-attributes-net.mdx @@ -0,0 +1,245 @@ +--- +title: Instrumentation personnalisée via attribut (.NET) +tags: + - Agents + - NET agent + - Custom instrumentation +metaDescription: How to collect data from uninstrumented parts of your code by using New Relic's .NET agent API for custom instrumentation. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic fournit plusieurs options pour [l'instrumentation personnalisée](/docs/agents/net-agent/instrumentation/net-custom-instrumentation). instrumentation personnalisée vous permet d&apos;instrumenter des parties de votre application qui ne sont pas instrumentées automatiquement. Ce document décrit comment instrumenter votre application en décorant les méthodes de votre code d&apos;application avec un attribut. + +* Utilisez l’attribut `Transaction` pour créer une transaction personnalisée. Vous pouvez également marquer la transaction personnalisée comme une transaction Web avec la propriété `Web` de l&apos;attribut. +* Utilisez l’attribut `Trace` pour ajouter une instrumentation personnalisée aux méthodes appelées dans une transaction préexistante. + +## Exigences et recommandations [#requirements] + +Les exigences comprennent : + +* Agent .NET version [6.16.178.0](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-6161780) ou supérieure. +* Vous devez être prêt à modifier votre code source. Si vous ne pouvez pas ou ne voulez pas modifier votre code source, utilisez [une instrumentation personnalisée via XML](/docs/agents/net-agent/custom-instrumentation/custom-instrumentation-xml-net). +* Votre projet doit avoir une référence à `NewRelic.Api.Agent.dll` (par exemple, en installant le package et en plaçant `using NewRelic.Api.Agent;` dans votre code). Ce package se trouve dans la [galerie NuGet](https://www.nuget.org/packages/NewRelic.Agent.Api/). +* Les attributs `Transaction` et `Trace` doivent être appliqués aux implémentations concrètes des méthodes. Ils ne peuvent pas être appliqués aux interfaces ou aux définitions de méthodes de super-classe. +* Évitez les méthodes de niveau supérieur instrumentées telles que `Main()`, car ces méthodes ne se terminent pas tant que l&apos;application n&apos;est pas terminée, ce qui peut empêcher l&apos;envoi de données à New Relic. + +## Transactions appelées dans les transactions [#tx-vs-trace] + +Les méthodes décorées avec l'attribut `[Transaction]` ne créeront une nouvelle transaction que si elle n&apos;existe pas déjà. Lorsqu&apos;une méthode décorée avec `[Transaction]` est appelée à partir de **within** une transaction précédemment démarrée, elle sera traitée comme l&apos;attribut `[Trace]` et fournira plus d&apos;informations sur la transaction existante. + + + Exemple : Appel de + Transaction + dans une transaction déjà démarrée + } + > + Lors de l'exécution de cette application console, `OuterMethod` sera appelé en premier et créera une nouvelle transaction. Le `InnerMethod` est appelé à partir de la transaction démarrée par `OuterMethod`, il ne créera donc pas de nouvelle transaction. Au lieu de cela, les informations sur l’exécution de `InnerMethod` seront suivies comme si l’attribut `[Trace]` avait été appliqué. + + ```cs + static void Main(string[] args) + { + OuterMethod(); + } + + [Transaction] + public void OuterMethod() + { + InnerMethod(); + } + + [Transaction] + public void InnerMethod() + { + // inner method code + } + ``` + + + +## Créer une nouvelle transaction non Web [#create-background-txn] + +Pour démarrer une transaction non Web (également appelée demande d'arrière-plan) avec l'attribut `Transaction` : + +```cs +[Transaction] +public void Run() +{ + // your background task +} +``` + +Pour plus de détails sur les raisons pour lesquelles utiliser Web ou non-Web, voir [Classer comme Web ou non-Web](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation#web-background). + +## Créer un nouveau site Web de transaction [#create-web-txn] + +Pour indiquer à l'agent de marquer une tâche non Web comme une transaction de navigateur Web, utilisez l'une de ces options : + +* Définissez la propriété `Web` de l’attribut `Transaction` sur `true`. +* Définissez l'URI de la transaction avec [`SetTransactionUri()`](/docs/agents/net-agent/net-agent-api). + +```cs +[Transaction(Web = true)] +public void Run() +{ + var uri = new Uri("https://www.mydomain.com/path"); + NewRelic.Api.Agent.NewRelic.SetTransactionUri(uri); + + // your web task +} +``` + +Lorsqu'il est utilisé dans une [transaction précédemment démarrée](#tx-vs-trace), il sera traité comme un attribut `[Trace]` . + +Pour plus de détails sur les raisons pour lesquelles utiliser Web ou non-Web, voir [Classer comme Web ou non-Web](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation#web-background). + +## Ajoutez des détails aux transactions existantes avec `Trace` [#add-trace] + +Si votre trace de transaction montre de grands blocs de temps non instrumentés et que vous souhaitez inclure des méthodes supplémentaires dans la trace, vous pouvez utiliser l'attribut `Trace` : + +```cs +[Trace] +protected void MethodWithinTransaction() +{ + // your app code +} +``` + + + Si certaines de vos méthodes n'apparaissent pas dans la trace après l'ajout de l'attribut `[Trace]` , désactivez l&apos;intégration de méthode pour ces méthodes avec `[MethodImpl(MethodImplOptions.NoInlining)]`. + + + + L’exécution de votre application à partir de Visual Studio en mode **debug** peut empêcher certaines méthodes d’apparaître dans la trace New Relic . Pour garantir que les méthodes apparaissent dans New Relic, exécutez l&apos;application en mode sortie via la ligne de commande. + + +## Propriétés pour `Transaction` [#properties] + +L'attribut `Transaction` prend en charge les propriétés suivantes : + + + Web + } + > + + + + + + + + + + + + + + +
+ Taper: + + Booléen +
+ Défaut: + + `false` +
+ + Si `true`, l&apos;agent démarre un web de transactions lorsqu&apos;il atteint cet attribut `Transaction`. Si une transaction est en cours, cette transaction continuera. + + Si `false` (par défaut), l&apos;agent démarre une transaction non Web lorsqu&apos;il atteint cet attribut `Transaction`. Par exemple: + + ```cs + [Transaction(Web = true)] + ``` +
+
+ +## Exemple : instrumenter quatre méthodes [#example-app] + + + + ```cs + namespace Test + { + class Program + { + static void Main(string[] args) + { + var test = new MyClass(); + test.Method1(); // Creates a transaction named Method1 in the Web category. + test.Method2(); // Creates a transaction named Method2 in the Custom category. + test.Method3(); // Creates a transaction named Method3 in the Custom category. + + // Method4 won't create a new transaction, + // only add a segment to an existing transaction + test.Method4(); + } + } + + public class MyClass + { + // The agent creates a Web transaction that includes an external service + // request in its transaction traces. + [Transaction(Web = true)] + public void Method1() + { + new WebClient().DownloadString("https://www.google.com/"); + } + + // Creates a Custom transaction containing one segment. + [Transaction] + public void Method2() + { + // The Method3 segment will be created + Method3(); + + // The Method4 segment will contain your SQL query inside of it and + // possibly an execution plan. + Method4(); + } + + // Method3 will be appear as a segment when called in Method2() + // but will create a transaction when called directly in Main() + [Transaction] + public void Method3() + { + Thread.Sleep(1000); + } + + // When Method4 is called directly in Main() the agent will not create a transaction. + // However, when Method4 is called from Method2, Method4 will + // appear as a segment containing its SQL query. + [Trace] + public void Method4() + { + using (var connection = new SqlConnection(ConnectionStrings["MsSqlConnection"].ConnectionString)) + { + connection.Open(); + using (var command = new SqlCommand("SELECT * FROM table", connection)) + using (var reader = command.ExecuteReader()) + { + reader.Read(); + } + } + } + } + } + ``` + + + +## Lire les messages du forum sur l'instrumentation [#discuss-posts] + +Pour des recommandations plus spécifiques, consultez ces publications dans notre communauté du forum d'assistance : + +* [Résoudre les problèmes instrumentation personnalisée basée sur les attributs](https://discuss.newrelic.com/t/relic-solution-troubleshooting-attribute-based-custom-instrumentation-issues/68726) +* [Construire des usines de traceur personnalisées instrumentation à partir d'agent .NET fichier de log](https://discuss.newrelic.com/t/building-custom-instrumentation-tracer-factories-from-net-agent-log-files/39363) + +## Utiliser d’autres fonctions API [#other-api] + +Pour en savoir plus sur l'API d'agent .NET et ses fonctionnalités, consultez le [guide d'API d'agent .NET](/docs/agents/net-agent/api-guides/guide-using-net-agent-api) de New Relic. Pour une instrumentation personnalisée sans modifier votre code source, consultez [Créer des transactions via XML](/docs/agents/net-agent/instrumentation/net-custom-transactions) et [Ajouter des détails aux transactions via XML](/docs/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation.mdx new file mode 100644 index 00000000000..430ab2ef2ae --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation.mdx @@ -0,0 +1,153 @@ +--- +title: Introduction à l'instrumentation personnalisée .NET +tags: + - Agents + - NET agent + - Custom instrumentation +metaDescription: 'How to instrument (or time) code that New Relic''s .NET agent does not instrument by default, and how to choose between the two methods.' +freshnessValidatedDate: never +translationType: machine +--- + +Pour un framework entièrement pris en charge[(.NET Framework](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent) | [.NET Core](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-agent)), l&apos;agent .NET de New Relic collecte et signale automatiquement des informations sur les tâches de [transaction Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) et de navigateur. Cependant, si vous utilisez un application framework qui n&apos;est pas automatiquement instrumenté (ou n&apos;utilisez pas de framework), vous pouvez voir de grands blocs de temps dans l&apos;UI de New Relic manquant de détails, ou vous pouvez ne voir aucune transaction. Dans ce cas, vous pouvez utiliser une instrumentation personnalisée pour ajouter des transactions et des détails. + +Ce document décrit comment instrumenter une activité qui n'est pas instrumentée par l'agent .NET par défaut. Pour d'autres façons de configurer instrumentation de votre application, consultez [le Guide d'utilisation de l'API .NET d'agent](/docs/agents/net-agent/api-guides/guide-using-net-agent-api). + + + Pour les deux frameworks supportés par l'agent(.NET framework et .NET Core), instrumentation personnalisée s'effectue de la même manière, sauf mention contraire. + + +## Choisissez une méthode d'instrumentation personnalisée [#ci-methods] + +L'agent .NET prend en charge deux méthodes d'instrumentation personnalisée : + + + + + + + + + + + + + + + + + + + + + + + +
+ Méthode + + Description +
+ attribut instrumentation personnalisée + + instrumentez votre code en décorant vos méthodes avec un attribut. instrumentation d'attribut est plus simple à implémenter que instrumentation XML car vous n'avez besoin d'ajouter qu'un seul décorateur, au même endroit dans votre code que la méthode que vous souhaitez instrument. + + Pour les instructions, voir [instrumentation personnalisée via attribut](/docs/agents/net-agent/api-guides/custom-instrumentation-attributes-net). +
+ instrumentation XML personnalisée + + instrumentez votre code en listant les méthodes cibles dans un fichier XML. instrumentation XML est plus complexe que instrumentation d'attribut et échouera si vous modifiez le nom de l'assembly, de la classe ou de la méthode que vous souhaitez instrument. Cependant, l’instrumentation XML ne nécessite pas de modifier votre code source. + + Pour obtenir des instructions, consultez [Créer des transactions via XML](/docs/agents/net-agent/instrumentation/net-custom-transactions) et [Ajouter des détails aux transactions via XML](/docs/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net#blocking-instrumentation). +
+ +## Créer des transactions ou ajouter des détails [#new-existing] + +Lorsque vous ajoutez une instrumentation personnalisée via l'une ou l'autre méthode, vous devez choisir entre la création d'une nouvelle transaction et l'ajout d'une instrumentation à une transaction existante : + + + + + + + + + + + + + + + + + + + + + + + +
+ Situation + + Recommandation +
+ La méthode que vous souhaitez instrumenter n'apparaît pas du tout dans l'UI New Relic + + **Create a new transaction.** Pour plus de détails, voir : + + * [instrumentation personnalisée via attribut](/docs/agents/net-agent/api-guides/custom-instrumentation-attributes-net) + * [Créer des transactions via XML](/docs/agents/net-agent/instrumentation/net-custom-transactions) +
+ La transaction apparaît dans l'UI de New Relic mais contient des sections de temps non instrumentées + + **Add detail to an existing transaction.** Pour plus de détails, voir : + + * [instrumentation personnalisée via attribut](/docs/agents/net-agent/api-guides/custom-instrumentation-attributes-net) + * [Ajoutez des détails aux transactions via XML](/docs/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net) +
+ +## Classer comme « Web » ou « non Web » (méthode d'attribut uniquement) [#web-background] + +APM sépare [les transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) en transactions Web et [transactions non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions) dans l&apos;UI. Lorsque vous ajoutez des détails à une transaction existante, sa catégorie est déterminée par la catégorie de la transaction parent. + +Lorsque vous créez une transaction via une instrumentation personnalisée à l'aide de la [méthode d'attribut](#ci-methods), vous devez la catégoriser comme **web** ou **non-web**. (Ce n&apos;est pas possible avec l&apos;instrumentation XML ; toutes les transactions créées en XML sont classées comme **non-web**.) + + + + + + + + + + + + + + + + + + + + + + + +
+ Catégorie + + Quand l'utiliser +
+ Web + + Utilisez **web** pour requests Web. Vous ne pouvez marquer les nouvelles transactions comme des transactions Web avec [instrumentation personnalisée qu'en utilisant l'attribut](/docs/agents/net-agent/api-guides/custom-instrumentation-attributes-net), et non en utilisant XML. +
+ Hors Web + + Utilisez **non-web** pour d’autres types de requests en arrière-plan, telles que les applications et services de console. + + * Toutes les transactions [créées à l’aide de XML](/docs/agents/net-agent/instrumentation/net-custom-transactions) sont classées comme non Web. + * Les transactions [créées à l'aide d'un attribut](/docs/agents/net-agent/api-guides/custom-instrumentation-attributes-net) peuvent être classées comme Web ou non Web. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/query-naming.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/query-naming.mdx new file mode 100644 index 00000000000..949a27f6aef --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/custom-instrumentation/query-naming.mdx @@ -0,0 +1,33 @@ +--- +title: requête de base de données +tags: + - Agents + - NET agent + - Custom instrumentation +metaDescription: 'For New Relic .NET agent, how to name queries in your application.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic .NET agent instrumente et regroupe application les requêtes SQL de votre . Normalement, l'agent .NET attribue automatiquement un nom à une requête en fonction des propriétés de la requête. Vous pouvez également attribuer un nom personnalisé à une requête. + +## Comment nommer une requête [#name-query] + +Toutes les versions SQL prises en charge par notre agent .NET peuvent recevoir un nom personnalisé. + +Pour donner un nom à une requête, vous ajoutez un commentaire au texte de la requête avec un format comme `/* NewRelicQueryName: myQueryName */`. Voici un exemple d’ajout de cela au code d’une application : + +```cs +var connection = new MySqlConnection(mySqlConnectionString); +var command = new MySqlCommand("/* NewRelicQueryName: My query name */ SELECT date FROM dates", connection); +``` + +## Rechercher une requête nommée [#find-named-query] + +Votre base de données et vos données de requête se trouvent sur la [page**Databases** UI ](/docs/apm/apm-ui-pages/monitoring/databases-page-view-operations-throughput-response-time). Une requête nommée apparaîtra avec son nom entre parenthèses. En voici un exemple : + +named_query.png + +## Dépannage + +Vous ne voyez pas vos données de requête dans New Relic ? Consultez nos documents de dépannage. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/8x-to-9x-agent-migration-guide.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/8x-to-9x-agent-migration-guide.mdx new file mode 100644 index 00000000000..3d2e3c31b24 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/8x-to-9x-agent-migration-guide.mdx @@ -0,0 +1,437 @@ +--- +title: Guide de migration de l'agent .NET 8.x vers 9.x +tags: + - Agents + - NET agent + - Migration guides +metaDescription: This guide helps New Relic .NET agent users migrate from 8.x versions to 9.x +freshnessValidatedDate: never +translationType: machine +--- + +Ce guide décrit les principaux changements entre les versions 8.x et 9.x de l'agent .NET, les problèmes que vous pouvez rencontrer lors de la mise à niveau et comment migrer avec succès vers la version 9.x. + +Les principaux changements incluent : + +* Le traçage distribué est activé par défaut +* Suppression de l'API publique obsolète de l'agent +* Suppression des paramètres d'agent configurables obsolètes + +## Traçage distribué activé par défaut + +[Le traçage distribué](/docs/distributed-tracing/) est une fonctionnalité qui existe dans l&apos;agent .NET depuis juillet 2018. Il remplace leapplicationtraçage inter- (CAT) comme le meilleur moyen de comprendre rapidement ce qui arrive requests aux lorsqu&apos;elles transitent par différents services dans une application architecture distribuée. CAT sera obsolète dans l&apos;agent .NET à partir de la version 9.0 et sera supprimé lors d&apos;une future sortie majeure. + +Dans les versions 8.x de l'agent.NET, le fichier `newrelic.config` par défaut installé sur un hôte par tout programme d&apos;installation agent .NET aurait l&apos;élément `crossApplicationTracer` présent et défini sur `enabled="true"`. L&apos;élément `distributedTracing` n&apos;était pas présent par défaut. + +Dans 9.x, cela sera inversé : `crossApplicationTracer` ne sera pas présent par défaut et `distributedTracing` sera présent avec la valeur par défaut de `enabled="true"`. Cependant, le programme d&apos;installation de agent n&apos;écrase pas un fichier `newrelic.config` existant lors de la mise à niveau d&apos;une version vers une autre. Par conséquent, si vous mettez à niveau l&apos;agent de 8.x vers 9.x sur un hôte donné, le comportement de l&apos;agent sur cet hôte ne changera pas. + + + Si vous souhaitez adopter le nouveau comportement de traçage par défaut lors de la mise à niveau de 8.x vers 9.x, vous devrez modifier de votre pour activer le agent configuration traçage distribué. La nouvelle installation de l'agent 9.x sur un hôte aura le traçage distribué activé par défaut. + + +## Suppression des méthodes API d'd'agent publiques obsolètes + +Toutes les méthodes API obsolètes ont des méthodes API de remplacement avec des fonctionnalités équivalentes. + + + Si vous utilisez l'API d'agent .NET dans le code de votre application , nous vous recommandons de mettre à jour la référence package dans votre projet vers la dernière version 9.x de l'assembly d'API d'agent avant de mettre à niveau l'agent .NET vers 9.x. De cette façon, vous obtiendrez des erreurs de compilation si votre code utilise l’une des méthodes API supprimées dans 9.x. + + + + Si vous continuez à utiliser une version 8.x ou antérieure de l'assembly API et que votre code utilise l'une des API obsolètes répertoriées ci-dessous, vous n'obtiendrez pas d'erreurs de compilation. Cependant, si vous instrumentez ensuite votre application avec une version 9.x de l'agent, les API méthodes n'auront aucun effet et vous obtiendrez des messages agent d'avertissement de temps d'exécution dans le fichier log. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ API supprimée + + API de remplacement +
+ [`CreateDistributedTracePayload`](/docs/agents/net-agent/net-agent-api/itransaction/#createdistributedtracepayload) + + [`InsertDistributedTraceHeaders`](/docs/agents/net-agent/net-agent-api/itransaction/#insertdistributedtraceheaders) + + Crée des en-têtes ainsi que [W3C Trace Context](https://www.w3.org/TR/trace-context/) des New Relic traceen-têtes distribués . +
+ [`AcceptDistributedTracePayload`](/docs/agents/net-agent/net-agent-api/itransaction/#acceptdistributedtracepayload) + + [`AcceptDistributedTraceHeaders`](/docs/agents/net-agent/net-agent-api/itransaction/#acceptdistributedtraceheaders) + + Accepte les en-têtes ainsi que [W3C Trace Context](https://www.w3.org/TR/trace-context/) les New Relic traceen-têtes distribués . +
+ [`AddCustomParameter`](/docs/agents/net-agent/net-agent-api/addcustomparameter-net-agent-api/) + + [`AddCustomAttribute`](/docs/agents/net-agent/net-agent-api/itransaction/#addcustomattribute) + + `AddCustomAttribute` est une méthode de l&apos;interface [ITransaction](/docs/agents/net-agent/net-agent-api/itransaction/) , donc une référence à la transaction en cours est nécessaire pour utiliser cette API. +
+ `GetBrowserTimingFooter` + + [`GetBrowserTimingHeader`](/docs/agents/net-agent/net-agent-api/getbrowsertimingheader-net-agent-api/) + + `GetBrowserTimingFooter` a été marqué **Obsolete** depuis la version 3.x de l&apos;agent. +
+ +## Exemples + +### Créer une trace distribuée + +Si vous aviez auparavant un code qui ressemblait à ceci : + +```cs +// Create an external web request to another instrumented service +HttpWebRequest requestMessage = (HttpWebRequest)WebRequest.Create("https://remote-address"); + +// Create the trace payload +IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); +ITransaction transaction = agent.CurrentTransaction; +IDistributedTracePayload payload = transaction.CreateDistributedTracePayload(); + +// Add the trace payload to the headers of the outgoing request +requestMessage.Headers.Set(NewRelic.Api.Agent.Constants.DistributedTracePayloadKey, payload.HttpSafe()); +``` + +remplacez-le par ceci : + +```cs +// Create an external web request to another instrumented service +HttpWebRequest requestMessage = (HttpWebRequest)WebRequest.Create("https://remote-address"); + +// Insert the distributed trace headers to the message. The "setter" +// action tells the API how to add headers to the "carrier", which +// is the HttpWebRequest message in this example +IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); +ITransaction currentTransaction = agent.CurrentTransaction; +var setter = new Action((carrier, key, value) => +{ + carrier.Headers?.Set(key, value); +}); +currentTransaction.InsertDistributedTraceHeaders(requestMessage, setter); +``` + +### AccepterDistributedTracePayload + +Si vous aviez auparavant un code qui ressemblait à ceci : + +```cs +// Obtain the payload from the upstream request object +HttpContext httpContext = HttpContext.Current; +string payload = httpContext.Request.Headers[NewRelic.Api.Agent.Constants.DistributedTracePayloadKey]; + +// Accept the payload +IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); +ITransaction transaction = agent.CurrentTransaction; +transaction.AcceptDistributedTracePayload(payload, TransportType.HTTP); +``` + +remplacez-le par ceci : + +```cs +HttpContext httpContext = HttpContext.Current; +IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); +ITransaction currentTransaction = agent.CurrentTransaction; + +// The "Getter" method defines how to get headers from the carrier, +// which is the HttpContext in this example +IEnumerable Getter(HttpContext carrier, string key) +{ + string value = carrier.Request.Headers[key]; + return value == null ? null : new string[] { value }; +} + +// Call the API +currentTransaction.AcceptDistributedTraceHeaders(httpContext, Getter, TransportType.HTTP); +``` + +### Ajouter un paramètre personnalisé + +Si vous aviez auparavant un code qui ressemblait à ceci : + +```cs +// Called in code that runs inside a transaction created by the +// agent, for example an ASP.NET WebApi endpoint +NewRelic.Api.Agent.NewRelic.AddCustomParameter("myCustomParameter", "myValue"); +``` + +remplacez-le par ceci : + +```cs +// Get the current transaction +IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); +ITransaction currentTransaction = agent.CurrentTransaction; + +// Add the custom attribute to the current transaction +currentTransaction.AddCustomAttribute("myCustomParameter", "myValue"); +``` + +## Suppression des paramètres de configuration d'agent obsolètes + +Les paramètres de configuration de l’agent suivants sont supprimés de l’agent. Afin de rendre le chemin de mise à niveau de 8.x vers 9.x aussi fluide que possible, nous ne supprimerons pas les paramètres du schéma XML du fichier `newrelic.config` . Cependant, la logique interne de l&apos;agent configuration sera mise à jour pour ignorer ces paramètres et un message de envoyé log au agent fichier de de log vous avertissant que ces configuration valeurs n&apos;ont plus aucun effet. + +Quelques mots sur la notation : pour faciliter la description, le reste de cette section décrira les éléments de configuration avec une abréviation de « notation par points » plutôt qu'avec du XML complet. + +Par exemple, un élément de configuration qui apparaît dans votre fichier `newrelic.config` peut ressembler à ceci : + +```xml + + + + … + + + … + +``` + +Dans cet exemple, il sera écrit `parameterGroups.IdentityParameters`. Étant donné que tous ces éléments de configuration sont des enfants de l’élément `` de niveau supérieur, celui-ci est omis par souci de concision. + +La plupart des options de configuration supprimées concernent la capture ou l’exclusion des données d’attribut. Les documents suivants sont utiles pour comprendre la vue d’ensemble de la collecte de données d’attributs agent et la manière dont elle est configurée : + +* [attribut de l'agent](/docs/agents/manage-apm-agents/agent-data/agent-attributes/) +* [Activer et désactiver l'attribut (.NET)](/docs/agents/net-agent/attributes/enable-disable-attributes-net/) +* [Exemples d'attributs .NET](/docs/agents/net-agent/attributes/net-attribute-examples/) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Option de configuration supprimée + + Option de configuration de remplacement +
+ `parameterGroups.identityParameters.*` + + `attributes.include` + + ```xml + + + + ``` + + est équivalent à + + ```xml + + identity.* + + ``` +
+ `parameterGroups.customParameters.enabled` + + `attributes.include` +
+ `parameterGroups.customParameters.ignore` + + `attributes.exclude` +
+ `parameterGroups.requestHeaderParameters.enabled` + + `attributes.include` + + ```xml + + request.parameters.* + + ``` + + Inclura tous les paramètres de la demande. +
+ `parameterGroups.requestHeaderParameters.ignore` + + `attributes.exclude` + + ```xml + + request.parameters.specificRequestParameter + + ``` +
+ `parameterGroups.responseHeaderParameters.*` + + Aucun +
+ `requestParameters.enabled` + + `attributes.include` + + ```xml + + request.parameters.* + + ``` + + Inclura tous les paramètres de la demande. +
+ `requestParameters.ignore` + + `attributes.exclude` + + ```xml + + request.parameters.specificRequestParamter + + ``` +
+ `analyticsEvents.*` + + `transactionEvents.*` + + Tous les éléments de configuration enfants et l'attribut de `analyticsEvents.*` existent également dans `transactionEvents.*` et ont la même signification, à l&apos;exception de l&apos;option obsolète `transactionEvents.maximumSamplesPerMinute` . + + De plus, `transactionEvents.attributes*` donne un contrôle plus fin sur l&apos;inclusion et l&apos;exclusion de l&apos;attribut personnalisé lors d&apos;un événement de transaction. +
+ `transactionTracer.captureAttributes` + + `transactionTracer.attributes.enabled` + + `transactionTracer.attributes.include`/`exclude` donne un contrôle plus précis sur l&apos;attribut personnalisé à inclure avec la trace de transaction. +
+ `errorCollector.captureAttributes` + + `errorCollector.attributes.enabled` + + `errorCollector.attributes.include`/`exclude` donne un contrôle plus précis sur l&apos;attribut personnalisé à inclure avec l&apos;événement d&apos;erreur. +
+ `browserMonitoring.captureAttributes` + + `browserMonitoring.attributes.enabled` + + `browserMonitoring.attributes.include`/`exclude` donne un contrôle plus précis sur l&apos;attribut personnalisé à inclure avec les données . +
+ `errorCollector.ignoreErrors` + + `errorCollector.ignoreClasses` + + Pour plus d'informations, consultez la documentation [de configuration de la collecte d'erreurs](/docs/agents/net-agent/configuration/net-agent-configuration/#error_collector) . +
+ `transactionEvents.maximumSamplesPerMinute` + + Aucun + + Cet élément de configuration n'était pas utilisé dans l'agent. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/9x-to-10x-agent-migration-guide.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/9x-to-10x-agent-migration-guide.mdx new file mode 100644 index 00000000000..36b0089b262 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/9x-to-10x-agent-migration-guide.mdx @@ -0,0 +1,163 @@ +--- +title: Guide de migration de l'agent .NET 9.x vers 10.x +tags: + - Agents + - NET agent + - Migration guides +metaDescription: This guide helps New Relic .NET agent users migrate from 9.x versions to 10.x +freshnessValidatedDate: never +translationType: machine +--- + +Ce guide décrit les principaux changements entre les versions 9.x et 10.x de l'agent .NET, les problèmes que vous pouvez rencontrer lors de la mise à niveau et comment migrer avec succès vers la version 9.x. + +Les principaux changements incluent : + +* L'agent .NET ne prend plus en charge le framework désigné comme en fin de vie +* Suppression du programme d'installation scriptable obsolète +* Suppression de l'instrumentation obsolète +* Consolidation des ressources d'installation Windows et changements de nom +* Changement de nom du package d'installation du programme Linux +* Numéro de version plus court dans les noms de fichiers du programme d'installation + +## L'agent .NET ne prend plus en charge le framework désigné comme en fin de vie + +Microsoft a annoncé que [.NET Framework 4.6.1 et inférieurs](https://docs.microsoft.com/en-us/lifecycle/products/microsoft-net-framework) et .NET Core 3.0 et inférieurs ont atteint [la fin du support](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). Le fait de désigner un ancien framework comme étant en fin de vie garantit que nous consacrons des ressources à l&apos;amélioration des nouvelles versions de ces frameworks. + +Il est recommandé aux clients de migrer leur application pour utiliser les versions framework prises en charge. Dans le cas où la migration framework n'est pas une option, les clients peuvent toujours instrumenter leur application avec l'agent.NET version 9.x. + +## Suppression du programme d'installation scriptable obsolète + +À partir de la version 10.x, nous cesserons de fournir un programme d'installation scriptable à partir de notre site de téléchargement en raison d'une faible utilisation. Si vous utilisez le programme d'installation scriptable pour automatiser le agent installation processus .NET, envisagez d'utiliser le programme d'installation MSI avec des options de ligne de commande dans script votre ou de créer votre propre installation script avec l'archive zip de .NET agent à partir de notre [site de](https://download.newrelic.com/dot_net_agent/latest_release/) téléchargement . + +## Suppression de l'instrumentation obsolète + +À partir de la version 10.x, l'agent .NET arrête l'instrumenté Castle MonoRail. les clients peuvent toujours utiliser des versions plus anciennes de l'agent .NET pour instrumenter cette bibliothèque. + +## Consolidation des ressources d'installation Windows et changements de nom + +Dans les versions précédentes, nous avons publié des archives ZIP distinctes pour installation manuelle des ressources agent pour .NET Framework et .NET Core/.NET 5+ sous Windows. Ceux-ci ont été consolidés dans une seule archive ZIP contenant à la fois les ressources .NET Framework et .NET Core/.NET 5+ agent pour manuelle Windows installation (les versions 64 bits et 32 bits sont toujours disponibles). Cela rend ces archives ZIP manuelles similaires au programme d'installation automatisé MSI existant qui installe à la fois les ressources .NET Framework et .NET Core/.NET 5+. + +Nous avons également renommé les fichiers MSI et ZIP pour qu'ils aient tous le même nom de fichier de base : `NewRelicDotNetAgent`. + +### Tableau des noms des ressources d'installation de Windows 9.x et de leurs équivalents 10.x + +| Nom de fichier 9.x | Utilisé pour | Nom de fichier 10.x | +| -------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------- | +| newrelic-agent-win-x64-VERSION.msi | Installation automatique pour .NET Framework et .NET Core/.NET (64 bits) | NewRelicDotNetAgent\_VERSION\_x64.msi | +| newrelic-agent-win-x86-VERSION.msi | Installation automatique pour .NET Framework et .NET Core/.NET (32 bits) | NewRelicDotNetAgent\_VERSION\_x86.msi | +| newrelic-agent-win-x64-VERSION.zip | Archive ZIP des ressources agent pour .NET Framework uniquement (64 bits) | NewRelicDotNetAgent\_VERSION\_x64.zip | +| newrelic-agent-win-x86-VERSION.zip | Archive ZIP des ressources agent pour .NET Framework uniquement (32 bits) | NewRelicDotNetAgent\_VERSION\_x86.zip | +| newrelic-netcore20-agent-win-x64-VERSION.zip | Archive ZIP des ressources de l'agent pour .NET Core/.NET uniquement (64 bits) | NewRelicDotNetAgent\_VERSION\_x64.zip | +| newrelic-netcore20-agent-win-x86-VERSION.zip | Archive ZIP des ressources de l'agent pour .NET Core/.NET uniquement (32 bits) | NewRelicDotNetAgent\_VERSION\_x86.zip | + +## Changement de nom du package d'installation du programme Linux + +À partir de la version 10.x, le nom du package d'installation agent pour Linux passe de `newrelic-netcore20-agent` à `newrelic-dotnet-agent`. Nous pensons que le nom `netcore20` a été source de confusion puisque nous avons pris en charge les versions de .NET Core supérieures à 2.0 au fur et à mesure de leur sortie, et à partir de la version 10.0 agent nous ne prenons plus en charge les versions de .NET Core antérieures à 3.1. + +Les nouveaux packages `newrelic-dotnet-agent` sont marqués comme étant en conflit avec l&apos;ancien package `newrelic-netcore20-agent` et comme le remplaçant (DEB) ou le rendant obsolète (RPM). Le gestionnaire de paquets de votre système ne permettra pas l&apos;installation des deux en même temps. + +### Mise à niveau de `newrelic-netcore20-agent` vers `newrelic-dotnet-agent` + + + Le processus de mise à niveau migrera votre `newrelic.config` et tous les instrumentation fichiers XML personnalisés de l&apos;précédente agent installation dans `/usr/local/newrelic-netcore20-agent` vers le nouvel installation emplacement `/usr/local/newrelic-dotnet-agent` dans. Le fichier log et toutes les autres données personnalisées ne seront **pas** automatiquement migrés. + + +1. Pour des raisons de sécurité, vous devez effectuer une copie de sauvegarde de tous les fichiers dans `/usr/local/newrelic-netcore20-agent` avant de passer à l&apos;étape suivante. + +2. Fermez toute application .NET actuellement monitorée. + +3. Suivez les instructions du gestionnaire de paquets approprié à votre système Linux : + + + + 1. Mettre à jour la liste package locaux : + + ```bash + sudo apt update + ``` + + 2. Mettre à niveau l'agent : + + ```bash + sudo apt install newrelic-dotnet-agent + ``` + + + + 1. Accédez à **[download.newrelic.com/dot\_net\_agent/latest\_release](https://download.newrelic.com/dot_net_agent/latest_release/)** et copiez l&apos;URL qui correspond à votre [architecture](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent#architecture) et au dernier `newrelic-dotnet-agent` .deb package. + + 2. Téléchargez le package avec `wget`, en remplaçant `https://LINK_TO_PACKAGE` par l&apos;URL complète du package : + + ```bash + wget -L https://LINK_TO_PACKAGE + ``` + + 3. Mettez à niveau l'agent en remplaçant `VERSION` par la version actuelle : + + ```bash + sudo dpkg -i newrelic-dotnet-agent_VERSION_ARCHITECTURE.deb + ``` + + + + + New Relic ne propose pas actuellement de package rpm Linux pour ARM64. Au lieu de cela, [utilisez l'tarball pour l'installer](#clamshell_tarball) sur ces plateformes. + + + 1. Mettre à niveau l'agent : + + ```bash + sudo yum install newrelic-dotnet-agent + ``` + + + + + New Relic ne propose pas actuellement de package rpm Linux pour ARM64. Au lieu de cela, [utilisez l'tarball pour l'installer](#clamshell_tarball) sur ces plateformes. + + + 1. Accédez à [download.newrelic.com/dot\_net\_agent/latest\_release](https://download.newrelic.com/dot_net_agent/latest_release/), et copiez l&apos;URL qui correspond à votre [architecture](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent#architecture) et au dernier `newrelic-dotnet-agent` .rpm package. + + 2. Téléchargez le package avec `wget`, en remplaçant `https://LINK_TO_PACKAGE` par l&apos;URL complète du package : + + ```bash + wget -L https://LINK_TO_PACKAGE + ``` + + 3. Mettez à niveau l'agent en remplaçant `VERSION` par la version actuelle : + + ```bash + sudo rpm -U newrelic-dotnet-agent_VERSION.x86_64.rpm + ``` + + + +4. Mettre à jour les variables d’environnement de profilage. La configuration exacte que vous devez utiliser change en fonction de vos variables spécifiques. + + ```ini + CORECLR_ENABLE_PROFILING="1" + CORECLR_PROFILER="{36032161-FFC0-4B61-B559-F6C5D41BAE5A}" + CORECLR_NEWRELIC_HOME="/usr/local/newrelic-dotnet-agent" + CORECLR_PROFILER_PATH="/usr/local/newrelic-dotnet-agent/libNewRelicProfiler.so" + ``` + +5. Démarrez votre application et attendez que les données apparaissent. + +Une fois que vous êtes convaincu que la migration est réussie, effectuez les étapes suivantes pour nettoyer les artefacts restants de l'installation `newrelic-netcore20-agent` précédente : + +1. Si vous utilisez un système basé sur Debian (apt/dpkg) : + + ```bash + sudo dpkg -P newrelic-netcore20-agent + ``` + +2. Supprimer `/usr/local/newrelic-netcore20-agent` (s&apos;applique aux scénarios basés sur Debian (apt/dpkg) et basés sur RPM (yum/rpm)) : + + ```bash + sudo rm -rf /usr/local/newrelic-netcore20-agent + ``` + +## Numéros de version plus courts dans les noms de fichiers du programme d'installation + +L'agent .NET de New Relic utilise [le contrôle de version sémantique](https://semver.org/) depuis la version 8.28.0 de l&apos;agent. SemVer utilise trois numéros pour versionner une sortie : majeur, mineur et correctif. Cependant, les noms de fichiers de notre programme d&apos;installation ont continué à utiliser quatre chiffres, le quatrième numéro de version étant toujours zéro. À l’avenir, nous supprimerons ce quatrième numéro dénué de sens et potentiellement déroutant des chaînes de version trouvées dans les noms de fichiers de notre programme d’installation. Cette modification s&apos;applique aux fichiers d&apos;installation des programmes Windows et Linux. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/apm-agent-security-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/apm-agent-security-net.mdx new file mode 100644 index 00000000000..2d3b684cef4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/apm-agent-security-net.mdx @@ -0,0 +1,185 @@ +--- +title: 'Agent de sécurité APM : .NET' +tags: + - Agents + - NET agent + - Getting started +metaDescription: Increasing levels of security allow you to customize how your New Relic .NET agent sends data to New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +Les paramètres de sécurité par défaut de l'agent .NET de New Relic assurent automatiquement [la sécurité de vos données APM](/docs/using-new-relic/new-relic-security/security/apm-agent-data-security) afin de garantir la confidentialité des données et de limiter le type d&apos;informations que New Relic reçoit. Vous pouvez avoir des raisons commerciales de modifier ces paramètres. + +Si vous souhaitez restreindre les informations que New Relic reçoit, vous pouvez activer [le mode haute sécurité](#restricted). Si le mode haute sécurité ou les paramètres par défaut ne répondent pas aux besoins de votre entreprise, vous pouvez appliquer des paramètres [personnalisés](#custom) . + +Pour plus d'informations sur les mesures de sécurité de New Relic, consultez notre [documentation sur la sécurité et la confidentialité](/docs/using-new-relic/new-relic-security/security/security-matters-data-privacy-new-relic) ou visitez le [site Web de sécurité de New Relic](https://newrelic.com/security). + +## Paramètres de sécurité par défaut [#default] + +Par défaut, voici comment l'agent .NET de New Relic gère les données potentiellement sensibles suivantes : + +* Paramètre de la requête : L'agent ne capture pas le paramètre de la requête HTTP. +* [HTTPS](/docs/agents/net-agent/configuration/net-agent-configuration#service-ssl): L&apos;agent communique avec New Relic via HTTPS. +* [SQL](/docs/agents/net-agent/configuration/net-agent-configuration#tracer-recordSql): l&apos;agent définit l&apos;enregistrement SQL sur `obfuscated`, ce qui supprime les valeurs littérales numériques et de chaîne potentiellement sensibles. + +## Paramètres du mode haute sécurité [#restricted] + +Lorsque vous [activez le mode haute sécurité](/docs/agents/net-agent/configuration/net-agent-configuration#high_security_mode), les [paramètres par défaut](#default) sont verrouillés afin que l&apos;utilisateur ne puisse pas les modifier. En outre: + +* Vous ne pouvez pas créer [d'événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#net-att). +* Vous ne pouvez pas collecter [l'attribut utilisateur](/docs/agents/net-agent/attributes/net-agent-attributes#NRaddCustomParameter). +* L'agent [supprime les messages d'exception](/docs/agents/net-agent/configuration/net-agent-configuration#strip_exception_messages). + +## Paramètres de sécurité personnalisés [#custom] + + + Si vous personnalisez les paramètres de sécurité, cela peut avoir un impact sur la sécurité de votre application. + + +Si vous avez besoin de paramètres de sécurité différents du mode par défaut ou du mode haute sécurité, vous pouvez personnaliser ces paramètres : + +* [Fichier de configuration de l'agent .NET](/docs/agents/net-agent/configuration/net-agent-configuration) +* [Les attributs personnalisés](/docs/agents/net-agent/attributes/net-agent-attributes#NRaddCustomParameter) +* [API d'agent .NET](/docs/agents/net-agent/api-guides/guide-using-net-agent-api) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Setting** + + + + **Effects on data security** + +
+ [`auditLog`](/docs/agents/net-agent/configuration/net-agent-configuration#log-auditLog) + + *booléen* + + Défaut: `false` + + Enregistre toutes les données envoyées et reçues depuis New Relic dans un fichier log auditlog et dans le fichier log standard. +
+ [`highSecurity`](/docs/agents/net-agent/configuration/net-agent-configuration#high_security_mode) + + *booléen* + + Défaut: `false` + + Pour activer [le mode haute sécurité](#restricted), définissez cette valeur sur `true` et [activez la haute sécurité dans New Relic](/docs/agents/manage-apm-agents/configuration/high-security-mode#version2enabled). Cela limite les informations que vous pouvez envoyer à New Relic. +
+ [`proxy.host`](/docs/agents/net-agent/configuration/net-agent-configuration#proxy-host) + + *chaîne* + + Par défaut : (aucun) + + Certains proxys utilisent par défaut HTTP, qui est un protocole moins sécurisé. +
+ [`attributes.enabled`](/docs/agents/net-agent/configuration/net-agent-configuration#agent-attributes-enabled) + + *booléen* + + Défaut: `true` + + Par défaut, vous envoyez [l'attribut](/docs/agents/net-agent/attributes/net-agent-attributes) à New Relic. +
+ [`attributes.exclude`](/docs/agents/net-agent/configuration/net-agent-configuration#agent-attributes-exclude) + + *chaîne* + + Par défaut : (aucun) + + S'il existe des clés d'attribut spécifiques que vous ne souhaitez **pas** envoyer à New Relic dans la trace de transaction, identifiez-les à l&apos;aide de `attributes.exclude`. Cela restreint les informations envoyées à New Relic. + + Déterminez si vous souhaitez exclure ces attributs potentiellement sensibles à l'aide de `attributes.exclude` ou si vous avez besoin que les informations soient envoyées à New Relic: + + * `request.referer`: Supprime le référent de la requête. + * `request.uri`: Supprime le chemin d&apos;accès à la demande entrante de la transaction. +
+ [`recordSql`](/docs/agents/net-agent/configuration/net-agent-configuration#tracer-recordSql) + + *chaîne* + + Défaut: `obfuscated` + + Par défaut, `recordSql` est défini sur `obfuscated`, ce qui supprime les littéraux numériques et de chaîne. + + * Si vous ne souhaitez pas que l'agent capture les informations de requête, définissez cette valeur sur `off`. + * Si vous souhaitez que l'agent capture toutes les informations de requête dans leur forme d'origine, définissez cette valeur sur `raw`. + * Lorsque vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement défini sur `obfuscated`. +
+ [`stripExceptionMessages`](/docs/agents/net-agent/configuration/net-agent-configuration#strip_exception_messages) + + *booléen* + + Défaut: `false` + + Par défaut, cette valeur est définie sur `false`, ce qui signifie que l&apos;agent envoie les messages de toutes les exceptions au collecteur New Relic. Si vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement modifié en `true` et l&apos;agent supprime les messages des exceptions. +
+ [`customEvents.enabled`](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#net-att) + + *booléen* + + Défaut: `true` + + Par défaut, l'agent enregistre l'événement envoyé à l'API événement personnalisé via `RecordCustomEvent()`. Si vous activez [le mode haute sécurité](#restricted), celui-ci est automatiquement défini sur `false`. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx new file mode 100644 index 00000000000..5131133cad1 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net.mdx @@ -0,0 +1,150 @@ +--- +title: Présentation de New Relic pour .NET +tags: + - Agents + - NET agent + - Getting started +metaDescription: 'An overview of New Relic''s .NET APM agent, including features, resources for installation, configuration, and troubleshooting.' +freshnessValidatedDate: never +translationType: machine +--- + +Avec notre agent .NET de monitoring des performances des application , vous pouvez : + +* Utilisez [APM](/docs/apm/new-relic-apm/getting-started/welcome-new-relic-apm) pour obtenir une [vue d'ensemble de haut niveau de votre application](/docs/apm/applications-menu/monitoring/apm-overview-page), pour voir les détails du niveau du code comme [la trace de transaction](/docs/apm/transactions/transaction-traces/transaction-traces), [la requête de base de données](/docs/apm/transactions/transaction-traces/sql-statements) et [les erreurs](/docs/apm/applications-menu/events/view-apm-error-analytics), et pour [suivre l'activité sur un grand système distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). +* Recevez des notifications proactives grâce [aux alertes](/docs/alerts/alert-policies/understanding-alert-policies/alerting-new-relic) pour garantir que votre application fonctionne correctement. +* Utilisez le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data) pour interroger vos données et créer [un dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) personnalisé avec ces données. +* Installez [monitoring d'infrastructure](/docs/infrastructure/new-relic-infrastructure/installation/install-infrastructure-windows-server) pour visualiser les performances de l&apos;environnement hôte de votre application. + +Screenshot showing an overview of the .NET agent in the UI + +
+ Après avoir installé l'agent .NET, vous verrez un résumé des performances de votre application sur notre page APM **Summary** . +
+ +## Installer l'agent [#installation] + +Pour utiliser l’agent .NET : + +1. Assurez-vous que votre système répond à l'[agentde compatibilité d'.NET](/docs/apm/agents/net-agent/configuration/net-agent-configuration/) +2. [Créez](https://newrelic.com/signup) un compte New Relic. +3. Installez l’agent .NET via le lanceur intégré au produit ci-dessous ou en suivant nos procédures d’installation standard dans la documentation. + + + + Ajouter des données .NET + + + + Lire la documentation d'installation + + + +## Prise en charge de .NET Framework et de .NET Core [#core-features] + +L'agent .NET de New Relic prend en [charge.NET Framework et .NET Core](/docs/apm/agents/net-agent/configuration/net-agent-configuration/), et fonctionne avec tous les langages compatibles .NET, tels que VB.NET, C# et CLI. + +La prise en charge de .NET Core par agent tire parti de la compatibilité, de la vitesse, des fonctionnalités API étendues et des capacités multiplateformes de .NET Core de Microsoft. L'agent **does not** prend en charge les versions Microsoft .NET Core antérieures à 2.0. + +Avec le support de .NET de New Relic, vous pouvez monitorer vos applications dans un environnement dynamique ou distribué, comme par exemple : + +* Images de machines virtuelles de serveurs gérés dans le cloud +* Serveurs VM sur hôte +* Services d'application Microsoft Azure +* Système Windows et Linux auto-hébergé +* Machines virtuelles AWS EC2 + +## Étendez votre instrumentation [#extend] + +Après avoir installé l'agent .NET, étendez l'instrumentation de l'agent avec une ou plusieurs de ces méthodes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Instrumentation options** + + + + **Details** + +
+ [instrumentationdu navigateur](/docs/agents/net-agent/features/page-load-timing-net) + + Intégrez l’agent .NET à [](/docs/browser/new-relic-browser/getting-started/new-relic-browser)pour obtenir une visibilité sur l’activité de l’utilisateur final. + + * Applications ASP.NET (.NET Framework uniquement) : utilisez l’une des options disponibles pour [installer l’ agent de navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent). + * Applications ASP.NET Core (ciblant .NET Core ou .NET Framework) : utilisez soit la [méthodeAPI ](/docs/agents/net-agent/net-agent-api/get-browser-timing-header), soit la [méthode copier/coller](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#copy-paste-app) pour injecter l&apos;agent de navigateur dans vos pages Web. +
+ [instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation) + + Instrumenter le transactions non capturées dans le cadre de du framework dinstrumentation automatique de New Relic . +
+ [API d'agent](/docs/agents/net-agent/features/net-agent-api) + + Consultez le [API agent guide](/docs/agents/net-agent/api-guides/guide-using-net-agent-api) de .NET pour savoir comment personnaliser le agent comportement de l&apos;. Par exemple, vous pouvez collecter des mesures personnalisées, signaler une erreur ou ignorer complètement une transaction particulière. +
+ [Les attributs personnalisés](/docs/apm/agents/net-agent/net-agent-api/itransaction/#addcustomattribute) + + Personnaliser l'[attribut](/docs/agents/manage-apm-agents/agent-metrics/agent-attributes) attaché aux transactions. La personnalisation des attributs vous permet d&apos;éviter d&apos;envoyer des attributs sensibles ou de collecter des attributs supplémentaires pour une visibilité plus approfondie de vos transactions. +
+ [Tracing distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) + + Permettre [le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) pour comprendre l&apos;activité dans un système distribué complexe qui utilise de nombreux services et microservices. +
+ [télémétrie open source](/docs/integrations/open-source-telemetry-integrations/get-started/introduction-new-relics-open-source-telemetry-integrations) + + Découvrez ces outils : [OpenTelemetry exportateur](/docs/integrations/open-source-telemetry-integrations/open-source-telemetry-integration-list/new-relics-opentelemetry-integration) et [.NET télémétrie SDK](/docs/data-ingest-apis/get-data-new-relic/new-relic-sdks/telemetry-sdks-send-custom-telemetry-data-new-relic). +
+ +## Afficher les logs de vos données APM et infrastructure [#logs-context] + +Vous pouvez également rassembler vos données de log et d'application pour rendre le dépannage plus facile et plus rapide. Avec [les logs en contexte](/docs/logs/logs-context/net-configure-logs-context-all), vous pouvez voir les messages de log liés à vos erreurs et les tracer directement dans UI de votre application. Vous pouvez également voir les journaux en contexte de vos [donnéesinfrastructure ](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), telles que le cluster Kubernetes. Pas besoin de passer à une autre page UI . + +## Vérifiez le code source [#source-code] + +L'agent .NET est un logiciel open source. Cela signifie que vous pouvez [parcourir son code source](https://github.com/newrelic/newrelic-dotnet-agent) et envoyer des améliorations, ou créer votre propre fork et le construire. Pour plus d&apos;informations, consultez le [fichier README](https://github.com/newrelic/newrelic-dotnet-agent/blob/main/README.md). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-approaches-lambda.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-approaches-lambda.mdx new file mode 100644 index 00000000000..d25252c37f4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-approaches-lambda.mdx @@ -0,0 +1,388 @@ +--- +title: Approches de monitoringdes performances du serveur .NET AWS lambda sans +tags: + - Agents + - NET agent + - Getting started +metaDescription: This guide helps users decide which approach to take for .NET serverless AWS Lambda performance monitoring. +freshnessValidatedDate: '2024-07-25T00:00:00.000Z' +translationType: machine +--- + +Une visibilité unifiée sur les comportements les plus détaillés de votre fonction .NET Lambda est essentielle pour que vous puissiez comprendre ce qui se passe dans votre application sans serveur. Ces informations vous permettent de dépanner et d'optimiser vos fonctions afin qu'elles puissent fonctionner plus rapidement et fournir des résultats cohérents. + +Vous pouvez choisir entre deux approches instrumentation pour obtenir une visibilité sur votre fonction .NET Lambda: + +* [Agent .NET de New Relic](/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net/) +* [Distribution AWS pour OpenTelemetry](https://aws-otel.github.io/docs/getting-started/lambda/lambda-dotnet). + +Utilisez les conseils ci-dessous pour vous aider à décider quelle approche vous convient le mieux. + +## Comparaison des fonctionnalités [#feature-comparison] + +Le tableau suivant décrit les différentes exigences et capacités de chaque approche : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Agent .NET de New Relic + + Distribution AWS pour OpenTelemetry +
+ Nécessite des modifications de code + + Non + + Oui +
+ Nécessite un outil pour envoyer des données + + Oui + + Non +
+ Expérience de l'UI de New Relic + + [Serverless](/docs/serverless-function-monitoring/aws-lambda-monitoring/ui-data/understand-lambda-monitoring-ui/) + + [OpenTelemetry](/docs/opentelemetry/get-started/apm-monitoring/opentelemetry-apm-ui/) +
+ Tracing distribué + + Oui + + [Partiel](/docs/serverless-function-monitoring/aws-lambda-monitoring/opentelemetry/lambda-opentelemetry-dotnet/#distributed-tracing) +
+ Métriques + + Non + + Oui +
+ trace de transaction + + Oui + + N/A +
+ Événement de transaction + + Oui + + [Partiel](/docs/opentelemetry/get-started/apm-monitoring/opentelemetry-apm-ui/#transactions-page) +
+ Événement/série d'erreurs + + Oui + + Oui +
+ Événement ou spans + + Oui + + Oui +
+ Trace SQL + + Oui + + N/A +
+ Profilage de filetage + + Non + + N/A +
+ Gestion des vulnérabilités + + Non + + N/A +
+ Appels externes + + Oui + + [Partiel](/docs/opentelemetry/get-started/apm-monitoring/opentelemetry-apm-ui/#externals-page) +
+ instrumentation personnalisée utilisant XML + + Non + + Non +
+ instrumentation personnalisée utilisant API + + Oui (agent) + + Oui (OpenTelemetry) +
+ Métriques personnalisées + + Non + + Oui +
+ Événements personnalisés + + Oui + + N/A +
+ Travées personnalisées + + Oui + + Oui +
+ Erreurs personnalisées + + Oui + + Non +
+ Les attributs personnalisés + + Oui + + Oui +
+ Logs + + Oui + + Oui +
+ traçage inter-applicationhérité + + Non + + Non +
+ + + Les journaux en contexte seront capturés par Lambda l'extension ou CloudWatch, et non par leagent transfert de intégré logà . + + +## Agent .NET de New Relic [#dot-net-agent] + +À partir de la agent version 10.26.0 , l'agent .NET de New Relic prend en charge la fonction instrumentée AWS Lambda. Dans la plupart des cas, l'agent .NET instrumente automatiquement votre fonction AWS Lambda. L'avantage d'utiliser l'agent est que dans la plupart des cas, aucune modification de code n'est requise pour monitorer votre fonction Lambda. + +Dans une fonction Lambda, l'agent passera en « mode sans serveur » qui désactivera l'envoi de données directement à New Relic, ainsi que désactivera certaines autres fonctionnalités. Pour envoyer des données à New Relic, vous devez utiliser l'extension New Relic Lambda (incluse dans notre couche d'agent .NET) ou CloudWatch. + +Étant donné que agent [agent l'package](https://www.nuget.org/packages/NewRelic.Agent#readme-body-tab) instrumente automatiquement la plupart des fonctions Lambda, vous pouvez utiliser le NuGet pour monitorer votre fonction Lambda. Vous devez configurer manuellement les variables d&apos;environnement pour la méthode de déploiement choisie (consultez notre [guide d'installation](/install/dotnet/?deployment=nuget#nuget-linux)). Cela nécessite toujours que vous configuriez l&apos;[extension New Relic Lambda ou l'intégration CloudWatch](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda/#how) pour envoyer vos données à New Relic. + +instrumentation automatique est disponible pour les types de fonctions AWS Lambda suivants (à partir de la version 10.29.0 agent ) : + +* Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction +* Amazon.Lambda.AspNetCoreServer.APIGatewayHttpApiV2ProxyFunction +* Amazon.Lambda.AspNetCoreServer.ApplicationLoadBalancerFunction + +Limites: + +* Les méthodes lambda génériques ne sont pas instrumentées automatiquement. Si votre méthode lambda est une méthode générique, telle que `Task MyMethod(TRequest, ILambdaContext)`, l&apos;agent .NET n&apos;est actuellement pas en mesure d&apos;instrumenter cette méthode. +* Le [framework d'annotations Lambda](https://aws.amazon.com/blogs/developer/net-lambda-annotations-framework/) n&apos;est actuellement pas pris en charge. +* L'événement [ApiGatewayV2](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) manque du contexte requis pour le traçage distribué. +* Le traçage sortant distribué pour différents appels AWS SDK (tels que SQS) n'est pas pris en charge. +* Si votre gestionnaire de fonction Lambda n’inclut pas de paramètre [`ILambdaContext`](https://docs.aws.amazon.com/lambda/latest/dg/csharp-context.html) , l’agent .NET ne pourra pas collecter toutes les informations attendues sur votre fonction Lambda. +* Les fonctions .NET Lambda construites avec la [méthode de déploiement AOT native](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7%2Cwindows) ne sont pas prises en charge. + + + La prise en charge du **Serverless Framework Plugin** pour la fonction .NET Lambda commence dans la version 5.3.0 du plugin sans serveur. Si vous exécutez une version du plugin sans serveur antérieure à la v5.3.0, la mise à niveau vers la version 5.3.0 ou une version ultérieure instrumentera automatiquement votre fonction .NET Lambda. Vous pouvez [utiliser l'instruction exclude](https://github.com/newrelic/serverless-newrelic-lambda-layers?tab=readme-ov-file#exclude-optional) dans votre serverless.yml pour exclure des fonctions de l&apos;instrumentation automatique. + + +## Prise en charge Lambda de la distribution AWS pour OpenTelemetry (ADOT) pour .NET + +L'OpenTelemetry Lambda instrumentation pour .NET fournit d'extension et de traçage que API vous pouvez utiliser pour instrumenter votre fonction Lambda. ADOT est disponible sous forme de couche pour faciliter son installation. La couche ADOT Lambda fournit une version réduite de la distribution AWS pour OpenTelemetry Collector, qui peut exporter des données OpenTelemetry vers New Relic. Au lieu de Serverless UI l’expérience , cette approche utilisera l’ OpenTelemetry UI. + +Cette méthode nécessite une configuration manuelle initiale en fonction de votre méthode de déploiement. + +Pour plus de détails installation , consultez [tracez votre fonction .NET Lambda avec New Relic et OpenTelemetry](/docs/serverless-function-monitoring/aws-lambda-monitoring/opentelemetry/lambda-opentelemetry-dotnet/). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx new file mode 100644 index 00000000000..7b3b5f99213 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements.mdx @@ -0,0 +1,2016 @@ +--- +title: Compatibilité .NET deagent et exigences +tags: + - Agents + - NET agent + - Getting started +metaDescription: 'APM''s .NET agent for .NET applications: compatibility and requirements, and what frameworks are automatically instrumented.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic de prend en charge .NET Framework et .NET Core. Ce document décrit la compatibilité et le support des environnements d'exécution, du framework et de la bibliothèque .NET. + +L'agent inclut instrumentation intégrée pour certaines des parties les plus populaires de l'écosystème .NET, notamment le framework, la base de données et le système de mise en file d'attente des messages. Après avoir [téléchargé et installé](/install/dotnet) l’ agent, il s’exécute dans le processus de monitoring. L&apos;agent ne crée pas de processus ou de service distinct. + +Pour les frameworks et bibliothèques qui ne sont pas [automatiquement instrumentés](#instrumented-features), vous pouvez étendre l&apos;agent avec [instrumentation .NET personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation). + +Vous souhaitez tester notre agent .NET ? [Créez un compte New Relic](https://newrelic.com/signup) gratuitement ! Aucune carte de crédit requise. + + + + + .NET Core + + + + Cadre .NET + + + + + + ## Exigences [#requirements] + + Avant d'installer l'agent .NET de New Relic sur Windows ou Linux, assurez-vous que votre système répond aux exigences suivantes : + + + + L'agent .NET est compatible avec .NET Core version 3.1 et .NET 5.0, 6.0, 7.0, 8.0 et 9.0. + + + L'agent n'est entièrement pris en charge que lorsque l'application instrumentée cible [les runtimes .NET actuellement pris en charge par Microsoft](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core). Il est probable que l&apos;agent fonctionne avec les runtimes EOL répertoriés ci-dessous, mais nous ne testons pas les nouvelles versions de l&apos;agent avec les runtimes EOL. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Version .NET Core + + Version minimale requise de l'agent .NET +
+ .NET Core 3.1 (fin de vie) + + 8.21.34.0 et versions ultérieures +
+ .NET 5.0 (fin de vie) + + 8.35.0 et versions ultérieures +
+ .NET 6.0 (fin de vie) + + 9.2.0 et versions ultérieures +
+ .NET 7.0 (fin de vie) + + 10.0.0 et supérieur +
+ .NET 8.0 + + 10.0.0 et supérieur +
+ .NET 9.0 + + 10.0.0 et supérieur +
+ + + Sur la plateforme Linux ARM64, l'agent .NET ne prend en charge que les versions de .NET 5.0 ou supérieures. + +
+ + + Assurez-vous d’utiliser l’un de ces serveurs d’application/Web : + + * Crécerelle + * Kestrel avec proxy inverse IIS via AspNetCoreModule + * Kestrel avec proxy inverse IIS via AspNetCoreModuleV2 + * Kestrel avec proxy inverse Nginx + * Kestrel avec proxy inverse Apache + * Hébergement en cours + + + + Pour obtenir des instructions d'installation [d'AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk) , consultez le [guide d'installation .NET](/install/dotnet/). + + + + Pour obtenir des instructions d’installation spécifiques à Azure, consultez le [guide d’installation .NET](/install/dotnet/). + + + + L'agent nécessite que votre pare-feu autorise les connexions sortantes vers [des réseaux et des ports](/docs/apm/new-relic-apm/getting-started/networks) spécifiques. + + + + L'agent a été vérifié pour fonctionner avec le système d'exploitation suivant : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ système d'exploitation + + Versions prises en charge +
+ Windows (architecture compatible Intel 32 et 64 bits) + + * Windows Server 2008 R2 SP1 + * Windows Server 2012 + * Windows Server 2012 R2 + * Windows Server 2016 + * Windows Server 2019 + * Windows Server 2022 + * Windows 10 + * Windows 11 + * Conteneur Windows exécuté sur Server 2016 (les images basées sur NanoServer ne sont pas prises en charge) +
+ Linux (compatible Intel 64 bits uniquement) + + Toutes les distributions Linux x64 prises en charge par l'environnement d'exécution .NET Core 2.0+/.NET 5+ sont prises en charge par l'agent .NET. Pour une liste complète, reportez-vous à la documentation de Microsoft correspondant à la version du runtime que vous utilisez. +
+ Linux (architecture ARM64/aarch64) + + Toutes les distributions Linux ARM64 prises en charge par l'environnement d'exécution .NET 5+ sont prises en charge par l'agent .NET, avec les exceptions connues suivantes : + + * Linux Alpine +
+
+ + + L'installation et l'exécution de l'agent .NET nécessitent les autorisations suivantes : + + + + + + + + + + + + + + + + + + + + + + + +
+ Composant + + Autorisations nécessaires +
+ Installer l'agent + + Le processus ou l'utilisateur qui installe l'agent doit disposer d'autorisations suffisantes pour définir des variables d'environnement et un accès en écriture au répertoire dans lequel l'agent est installé. +
+ Exécuter l'agent + + Le processus de monitoring doit avoir un accès en lecture/écriture au répertoire dans lequel vous avez installé l'agent. L'agent s'exécute dans le cadre du processus de monitoring et s'appuie sur ces autorisations pour fonctionner. + + Pour les applications utilisant IIS via proxy inverse, le groupe [`IIS_IUSRS`](https://docs.microsoft.com/en-us/iis/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis#understanding-the-new-iisiusrs-group) est souvent utilisé. +
+
+ + + L'agent est disponible en versions 32 bits (x86) et 64 bits (x64) sur Windows ainsi qu'en versions 64 bits (x64) et ARM64 (aarch64) sur Linux. + + + Sur la plateforme Linux ARM64, l'agent .NET ne prend en charge que les versions de .NET 5.0 ou supérieures. + + + + + En tant que [mesure de sécurité standard pour la collecte de données](/docs/accounts-partnerships/accounts/security/data-security), votre serveur d&apos;applications doit prendre en charge SHA-2 (256 bits). SHA-1 n&apos;est pas pris en charge. + + + + L'agent .NET est compatible avec les applications ciblant .NET Core 3.1 et .NET 5.0, 6.0, 7.0, 8.0 et 9.0. Vous pouvez trouver le framework cible dans votre fichier `.csproj` . la compatibilité d&apos;agent varie selon les différentes versions de .NET Core. + + Compatible: + + ```xml + netcoreapp3.1 + ``` + + ```xml + net5.0 + ``` + + ```xml + net6.0 + ``` + + ```xml + net7.0 + ``` + + ```xml + net8.0 + ``` + + ```xml + net9.0 + ``` + + + Sur la plateforme Linux ARM64, l'agent .NET **only** prend en charge le framework cible `net5.0` ou supérieur. + + + Si vous souhaitez monitorer une application ASP.NET Core ciblant .NET Framework, assurez-vous d'avoir activé la prise en charge de .NET Framework après l'installation de l'agent.NET. + +
+ + ## instrumentationautomatique [#instrumented-features] + + Si votre application est hébergée dans ASP.NET Core, l’ agent crée et instrumente automatiquement les transactions. L'agent .NET instrumente automatiquement votre application après l'installation. Si votre application n'est pas automatiquement instrumentée, ou si vous souhaitez ajouter instrumentation, utilisez [instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation). + + + + L'agent .NET instrumente automatiquement ces frameworks application : + + * ASP.NET Core MVC 2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0 et 9.0 (inclut API Web) + * ASP.NET Core Razor Pages 6.0, 7.0 et 8.0 (à partir de la version 10.19.0 de l'agent .NET) + + + + L'agent .NET instrumente automatiquement les performances des appels application .NET vers ces magasins de données : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ magasin de données + + [Détails de l'instance](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues) + + Remarques +
+ Base de données Cosmos + + + + L'agent .NET `v9.2.0` ou supérieur instrumente automatiquement la bibliothèque [Microsoft Azure.Cosmos](https://www.nuget.org/packages/Microsoft.Azure.Cosmos) . + + * Version minimale prise en charge : 3.17.0 + * Dernière version compatible vérifiée : 3.46.1 + * Les versions 3.35.0 et supérieures sont prises en charge à partir de l'agent .NET v10.32.0 +
+ Serveur Microsoft SQL + + + + Utilisez SqlClient à partir du package NuGet [System.Data.SqlClient](https://www.nuget.org/packages/System.Data.SqlClient) ou du package NuGet [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient). + + **System.Data.SqlClient** + + * Version minimale prise en charge : 4.4.0 + * Dernière version compatible vérifiée : 4.8.6 + + **Microsoft.Data.SqlClient** + + * Version minimale prise en charge : 1.0.19239.1 + * Dernière version compatible vérifiée : 6.0.1 +
+ Oracle + + + + Utiliser [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/) + + * Version minimale prise en charge : 23.4.0 + * Dernière version compatible vérifiée : 23.7.0 + + Les anciennes versions de `Oracle.ManagedDataAccess.Core` peuvent être instrumentées, mais n&apos;ont pas été testées et ne sont pas prises en charge. +
+ PostgreSQL + + + + Utiliser [Npgsql](https://www.nuget.org/packages/Npgsql/) + + * Version minimale prise en charge : 4.0.0 + * Dernière version compatible vérifiée : 4.0.13 + + Les versions antérieures de Npgsql peuvent également être instrumentées, mais des métriques en double et/ou manquantes sont possibles. +
+ MongoDB (pilote moderne) + + + + Version minimale prise en charge : 2.3.0 + + Dernière version compatible vérifiée : 2.29.0 + + À partir de la version 10.12.0 agent , les méthodes suivantes ajoutées dans ou après la version 2.7 du pilote sont instrumentées : + + * IMongoCollection.CountDocuments\[Async] + * IMongoCollection.EstimatedDocumentCount\[Async] + * IMongoCollection.AggregateToCollection\[Async] + * IMongoDatabase.ListCollectionNames\[Async] + * IMongoDatabase.Aggregate\[Async] + * IMongoDatabase.AggregateToCollection\[Async] + * IMongoDatabase.Watch\[Async] +
+ MySQL + + + + Utilisez [MySQL.Data](https://www.nuget.org/packages/MySql.Data/) ou [MySQL connecteur](https://github.com/mysql-net/MySqlConnector) + + **MySql.Data** + + * Version minimale prise en charge : 6.10.7 + * Dernière version compatible vérifiée : 9.2.0 + + **MySqlConnector** + + * Version minimale prise en charge : 1.0.1 + * Dernière version compatible vérifiée : 2.4.0 +
+ StackExchange. Redis + + + + Version minimale prise en charge : 1.0.488 + + Dernière version compatible vérifiée : 2.8.24 +
+ Elasticsearch + + + + Utilisez [Elastic.Clients.Elasticsearch](https://www.nuget.org/packages/Elastic.Clients.Elasticsearch), [NEST](https://www.nuget.org/packages/NEST) ou [Elasticsearch.Net](https://www.nuget.org/packages/Elasticsearch.Net). + + **Elastic.Clients.Elasticsearch** + + * Version minimale prise en charge : 8.0.0 + * Dernière version compatible vérifiée : 8.15.10 + * Les versions 8.10.0 et supérieures sont prises en charge à partir de l'agent .NET v10.20.1 + * Les versions 8.12.1 et supérieures sont prises en charge à partir de l'agent .NET v10.23.0 + + **NEST** + + * Version minimale prise en charge : 7.0.0 + * Dernière version compatible vérifiée : 7.17.5 + + **Elasticsearch.Net** + + * Version minimale prise en charge : 7.0.0 + * Dernière version compatible vérifiée : 7.17.5 +
+ Memcached + + + + Utilisez [EnyimMemcachedCore](https://www.nuget.org/packages/EnyimMemcachedCore). + + * Version minimale prise en charge : 2.0.0 + * Dernière version compatible vérifiée : 3.3.1 +
+ DynamoDB + + + + Utilisez [AWSSDK.DynamoDBv2](https://www.nuget.org/packages/AWSSDK.DynamoDBv2). + + * Version minimale prise en charge : 3.5.0 + + * Dernière version compatible vérifiée : 3.7.405.13 + + * Version minimale de l'agent requise : 10.33.0 +
+ System.Data.ODBC + + + + Utilisez [System.Data.ODBC](https://www.nuget.org/packages/System.Data.Odbc/). + + * Version minimale prise en charge : 8.0.0 + * Dernière version compatible vérifiée : 9.0.1 + * Version minimale de l'agent requise : 10.35.0 + + Les fonctionnalités suivantes prises en charge pour les appels datastore ODBC dans .NET Framework (à l'aide de l'espace de nommage système.Data intégré) ne sont pas prises en charge pour .NET 8+ : + + * Connexion `Open/OpenAsync` appels + * Appels SqlDataReader `Read/NextResult` + * Trace SQL lente +
+ + L'agent .NET ne monitore pas directement les processus datastore . De plus, la capture des paramètres .NET SQL dans une trace de requête ne répertorie pas les paramètres d'une requête paramétrée ou d'une procédure stockée. + + La collecte [des détails d’instance](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues) pour les magasins de données pris en charge est activée par défaut. Pour demander des informations au niveau de l&apos;instance à partir de magasins de données non répertoriés actuellement, obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com). + + Si votre datastore n'est pas répertoriée ici, vous pouvez ajouter instrumentation personnalisée à l'aide de la méthode `RecordDatastoreSegment` dans l&apos;[ API .NET de l'agent](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction). +
+ + + L'agent .NET instrumente automatiquement ces bibliothèque d'appels externes : + + + + + + + + + + + + + + + + + +
+ bibliothèque + + **Supported methods** +
+ HttpClient + + L'agent instrumente ces méthodes HttpClient : + + * `SendAsync` + * `GetAsync` + * `PostAsync` + * `PutAsync` + * `DeleteAsync` + * `GetStringAsync` + * `GetStreamAsync` + * `GetByteArrayAsync` +
+
+ + + L'agent .NET [peut être configuré](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#ai_monitoring) pour instrumenter automatiquement ces frameworks LLM : + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cadre + + Version minimale du framework + + Version minimale de l'agent + + Dernière version compatible vérifiée +
+ Base AWS + + 3.7.200.0 + + 10.23.0 + + 3.7.412.4 +
+
+ + + L'agent .NET [peut être configuré](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#application_logging) pour instrumenter automatiquement ce framework de logging pour des journaux automatiques en contexte avec [transfertagent ](/docs/logs/logs-context/net-configure-logs-context-all#1-agent)et [décoration log local](/docs/logs/logs-context/net-configure-logs-context-all#2-decorate): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cadre + + Version minimale du framework + + Version minimale de l'agent + + Dernière version compatible vérifiée +
+ Log4Net + + 2.0.10 + + 9.7.0 + + 2.0.16 +
+ Sérilog + + 2.5.0 + + 9.7.0 + + 4.2.0 +
+ NLog + + 4.5.0 + + 9.7.0 + + 5.3.15 +
+ Microsoft.Extensions.Logging + + 3.0.0 + + 10.0.0 + + 9.0.1 +
+
+ + + L'agent instrumente automatiquement ces systèmes de messages : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ bibliothèque + + **Supported methods** +
+ Confluent.Kafka + + * Produire et consommer sur des sujets. + + * Les méthodes suivantes sont instrumentées : + + * `IProducer.Produce` + + * `IProducer.ProduceAsync` + + * `IConsumer.Consume` + + * Version minimale prise en charge : 1.4.0 + + * Dernière version compatible vérifiée : 2.8.0 +
+ NServiceBus + + * Met et prend des messages. + + * Version minimale prise en charge : 5.0 + + * Dernière version compatible vérifiée : 9.2.4 +
+ RabbitMQ + + * Place et prend des messages et purge la file d'attente. + + * Lors de la réception de messages utilisant un `IBasicConsumer`, le `EventingBasicConsumer` est la seule implémentation instrumentée par l&apos;agent.NET. + + * `BasicGet` est instrumenté, mais l&apos;agent ne prend pas en charge [le traçage distribué](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) pour `BasicGet`. + + * Les méthodes suivantes sont instrumentées : + + * `IModel.BasicGet` + * `IModel.BasicPublish` + * `IModel.BasicConsume` + * `IModel.QueuePurge` + * `EventingBasicConsumer.HandleBasicDeliver` + + * Version minimale prise en charge : 3.5.2 + + * Dernière version compatible vérifiée : 6.6.0 +
+ MassTransit (versions d'agent 10.19.0 et plus récentes) + + * Publication/envoi et consommation de messages + + * Version minimale prise en charge : 7.1.0 + + * Dernière version compatible vérifiée : 8.3.6 +
+ AWSSDK.SQS (Amazon Simple Queue Service) (versions d'agent 10.27.0 et plus récentes) + + * Envoyer et recevoir des messages + + * Version minimale prise en charge : 3.7.0 + + * Dernière version compatible vérifiée : 3.7.400.86 +
+
+
+ + ## Fonctionnalité indisponible [#unavailable-core] + + Les fonctionnalités suivantes ne sont pas disponibles pour l'agent.NET : + + * L'agent .NET ne prend pas en charge [le déploiement autonome et les exécutables](https://docs.microsoft.com/en-us/dotnet/core/deploying/trim-self-contained), car le compilateur peut potentiellement couper les assemblys dont dépend l&apos;agent . + * [Le traçage infini](/docs/distributed-tracing/infinite-tracing/introduction-infinite-tracing) n&apos;est pas pris en charge sur Alpine Linux en raison d&apos;un [problème de compatibilité GRPC](https://github.com/grpc/grpc/issues/21446). Consultez [ce problème d'agent](https://github.com/newrelic/newrelic-dotnet-agent/issues/289) pour plus d&apos;informations. + * L'agent .NET ne prend pas en charge [le déploiement natif Ahead of Time (AOT)](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net8plus%2Cwindows) pour l&apos;application .NET, car la compilation juste-à-temps (JIT) est requise pour que l&apos;agent fonctionne correctement. + + ## Connectez l'agent à d'autres produits New Relic [#digital-intelligence-platform-core] + + En plus d'[APM](/docs/apm/new-relic-apm/getting-started/introduction-new-relic-apm), l&apos;agent .NET s&apos;intègre à d&apos;autres produits New Relic pour vous offrir une visibilité de bout en bout : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Produit + + intégration +
+ [Monitoring de navigateurs](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser) + + Pour les applications Web ASP.NET Core v6.0 et versions ultérieures (MVC, Razor et Blazor), l'agent .NET (à partir de la version 10.19.0) injecte automatiquement l'agent JavaScript du navigateur lorsque vous [activez auto-instrumentation](/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/#select-apm-app). + + Pour les autres types d'applications Web, vous pouvez injecter l'agent en utilisant l&apos;[ API .NET deagent](/docs/agents/net-agent/net-agent-api/get-browser-timing-header) ou la [méthode copier/coller deagent du navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent#copy-paste-app). + + Après avoir activé injection du navigateur, vous pouvez afficher les données du navigateur dans la [page RésuméAPM ](/docs/apm/apm-ui-pages/monitoring/apm-summary-page-view-transaction-apdex-usage-data/)et basculer rapidement entre l&apos;APM et les données du navigateur pour une application particulière. Pour les options configuration et instrumentation manuelle, voir [monitoring des navigateurs et l'agent .NET](/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent/). +
+ [Monitoring de l'infrastructure](/docs/infrastructure/new-relic-infrastructure/getting-started/introduction-new-relic-infrastructure) + + Lorsque vous installez l'infrastructure et l'agent APM sur le même hôte, ils se détectent automatiquement. Vous pouvez ensuite afficher une liste d'hôtes dans l'UI APM et filtrer vos infrastructure hôtes par APM application dans notre infrastructure UI. Pour plus d’informations, consultez [APM les données dans l’ infrastructure UI](/docs/infrastructure/new-relic-infrastructure/data-instrumentation/new-relic-apm-data-infrastructure). +
+ [Dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) + + L'agent .NET envoie [un événement et un attribut par défaut](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes) pour [la requête NRQL ](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data). Vous pouvez également [enregistrer un événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents) pour une analyse avancée. +
+
+ + + ## Exigences + + Avant d'[installer l'agent .NET de New Relic](/docs/apm/agents/net-agent/getting-started/introduction-new-relic-net/#installation), assurez-vous que votre système répond aux exigences suivantes : + + + + **.NET Framework 4.6.2 ou supérieur** + + Pour instrumenter une application exécutée sur .NET Framework 4.6.2 ou supérieur, vous devez exécuter New Relic .NET agent 10.0 ou supérieur. Pour instrumenter une application exécutée sur .NET Framework version 4.0 ou inférieure, vous devez exécuter une version de l&apos;agent .NET de New Relic inférieure à 7.0. Pour plus d&apos;informations et pour connaître les procédures de téléchargement, consultez [Support technique pour .NET Framework 4.0 ou version antérieure](/docs/agents/net-agent/troubleshooting/technical-support-net-frameworks-40-or-earlier). + + **The .NET agent doesn&apos;t support .NET Framework versions 4.5.1, 4.5.2, and 4.6.1** + + + + L'agent .NET télécharge les données à la fin de chaque [cycle de collecte](/docs/new-relic-solutions/get-started/glossary/#harvest-cycle) (une fois par minute). Si votre application .NET ne s&apos;exécute pas aussi longtemps, vous pouvez définir l&apos;attribut `sendDataOnExit` de `service element` sur `true` dans le fichier `newrelic.config` . + + + + Vous devez utiliser l'un de ces serveurs d'application/Web : + + * IIS + * OWIN auto-hébergé + * WCF auto-hébergé + * Crécerelle + * Kestrel avec proxy inverse IIS via AspNetCoreModule + * Kestrel avec proxy inverse IIS via AspNetCoreModuleV2 + + L'agent crée automatiquement des transactions pour les applications hébergées dans IIS. Si vous vous auto-hébergez avec WCF et OWIN version 3 ou supérieure, l'agent crée également automatiquement des transactions. Pour les autres services auto-hébergés, vous devrez [créer des transactions via une instrumentation personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/#new-existing). + + + + AWS [Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk) n&apos;est pas un environnement .NET pris en charge. + + + + L'agent nécessite la version CLR 4.0. les applications héritées exécutées sur CLR 2.0 peuvent être instrumentées avec des versions agent inférieures à 7.0. + + + + L’utilisation de [Code Access Security](https://docs.microsoft.com/en-us/dotnet/framework/misc/code-access-security) est compatible avec l’agent .NET uniquement lorsque Full Trust est fourni. L&apos;agent n&apos;est pas compatible avec des niveaux de confiance plus restrictifs. + + + + Pour obtenir des instructions d’installation spécifiques à Azure, consultez le [guide d’installation .NET](/install/dotnet/). + + + + L'agent nécessite que votre pare-feu autorise les connexions sortantes vers [des réseaux et des ports](/docs/new-relic-solutions/get-started/networks/) spécifiques. + + + + L'agent a besoin d'un de ces systèmes d'exploitation : + + * Windows Server 2008 + * Windows Server 2008 R2 + * Windows Server 2012 + * Windows Server 2012 R2 + * Windows Server 2016 + * Windows Server 2019 + * Windows Server 2022 + * Windows 10 + * Windows 11 + * Windows Azure (famille de systèmes d'exploitation 1, 2 et 3) + * Conteneur Windows exécuté sur Windows 2016 (les images basées sur NanoServer ne sont pas prises en charge) + + + + l'installation nécessite des privilèges élevés (administrateur). Par exemple, vous pouvez : + + * Connectez-vous en tant qu'administrateur utilisateur. + + * Soyez membre du groupe administrateur. + + * Sur les systèmes d'exploitation plus récents, fournissez les informations d'identification d'élévation lorsque vous y êtes invité. + + Le processus de monitoring doit avoir un accès en lecture/écriture au répertoire dans lequel l'agent est installé. L'agent s'exécute dans le cadre du processus de monitoring et s'appuie sur ces autorisations pour fonctionner. + + **Recommendation:** + + * Limitez les autorisations pour le fichier `newrelic.config` et accordez l&apos;accès en lecture/écriture uniquement au propriétaire du processus de monitoring. + + * Vérifiez les autorisations du log créé par l'agent pour minimiser le nombre d'utilisateurs disposant d'un accès et leurs privilèges. + + + + L'agent est disponible en versions 32 bits et 64 bits. Sur un système 64 bits, l'agent 64 bits peut instrumenter à la fois les applications 32 bits et 64 bits. + + + + En tant que [mesure de sécurité standard pour la collecte de données](/docs/security/security-privacy/data-privacy/security-controls-privacy/), votre serveur d&apos;applications doit prendre en charge SHA-2 (256 bits). SHA-1 n&apos;est pas pris en charge. + + + + Le Common Language Runtime (CLR) .NET permet uniquement à un seul profileur d’accéder à l’API de profilage d’un processus à un moment donné. L'exécution de notre agent .NET avec d'autres logiciels monitoring entraînera un [conflit de profileur](/docs/apm/agents/net-agent/troubleshooting/profiler-conflicts/). Pour plus d&apos;informations, consultez [Erreurs lors de l'utilisation d'autres logiciels APM](/docs/apm/new-relic-apm/troubleshooting/errors-while-using-other-apm-software). + + + + ## instrumentationautomatique [#instrumented-features-framework] + + Si votre application est hébergée dans ASP.NET ou un autre [frameworkentièrement pris en charge](#app-frameworks-framework), l&apos;agent .NET instrumentera automatiquement votre application après l&apos;installation. Si votre application n&apos;est pas automatiquement instrumentée, ou si vous souhaitez ajouter instrumentation, utilisez [instrumentation personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/). + + L'agent .NET ne monitore pas directement les processus datastore . De plus, par défaut, la capture des paramètres .NET SQL dans une trace de requête ne répertorie pas les paramètres d'une requête paramétrée ou d'une procédure stockée. La collecte des paramètres de requête SQL peut être activée dans la agent [configuration](/docs/apm/agents/net-agent/configuration/net-agent-configuration/). + + + + L'agent instrumente automatiquement certains cadres application ; nous faisons référence à ces cadres sous le nom de **fully supported**, qui sont répertoriés ci-dessous : + + * ASP.NET MVC 2 + * ASP.NET MVC 3 + * ASP.NET MVC 4 + * ASP.NET MVC 5 + * API Web ASP.NET v2 + * ASP.NET Core MVC 2.0 + * ASP.NET Core 2.1 + * ASP.NET Core 2.2 + * Formulaires Web ASP.NET + * Castle MonoRail v2 (plus pris en charge dans la version 10.0 ou supérieure de l'agent .NET) + * Application API Web hébergée par OWIN sur framework .NET utilisant : + * Microsoft.Owin.Host.HttpListener v2.x + * Microsoft.Owin.Host.HttpListener v3.x + * Microsoft.Owin.Host.HttpListener v4.x + * Services Web basés sur SOAP + * [WCF](/docs/apm/agents/net-agent/other-installation/install-net-agent-windows-communication-foundation-wcf/) + + + + L'instrumentation WCF a été testée pour les[types de liaison](https://docs.microsoft.com/en-us/dotnet/framework/wcf/system-provided-bindings) courants suivants (client et service). Différents niveaux de support sont disponibles pour le traçage distribué (DT) et le traçage inter-application (CAT) : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Obligatoire + + Traçage distribué (DT) Support + + Prise en charge du traçage inter-applications (CAT) (obsolète) +
+ HTTP de base + + soutenu + + soutenu +
+ WebHTTP + + soutenu + + soutenu +
+ WSHTTP + + soutenu + + soutenu +
+ Protocole NetTCP + + soutenu + + soutenu +
+ Pipe nommée Net + + non pris en charge\* + + non pris en charge\* +
+ NetMSMQ + + non pris en charge\* + + non pris en charge\* +
+ + \* le traçage distribué peut être implémenté manuellement à l'aide de ces méthodes [API de traçage distribué](/docs/understand-dependencies/distributed-tracing/enable-configure/enable-distributed-tracing#agent-apis) . +
+ + + La collecte [des détails d'instance](/docs/apm/applications-menu/features/analyze-database-instance-level-performance-issues) pour les magasins de données pris en charge nécessite l&apos;agent .NET version 6.5.29.0 ou supérieure et est activée par défaut. Pour demander des informations au niveau de l&apos;instance à partir de banques de données qui ne sont pas actuellement répertoriées, obtenez de l&apos;aide au [centre de support New Relic](https://support.newrelic.com). + + Afin d'instrumenter automatiquement les performances des appels application .NET framework vers ces datastores, assurez-vous de disposer de la [version 8.14 ou supérieure de l'agent .NET](/docs/release-notes/agent-release-notes/net-release-notes): + + Utilisez l'espace de nommage `System.Data.ODBC` intégré du framework .NET. + + * Disponible dans toutes les versions agent .NET Framework actuellement prises en charge. + * Toutes les versions du framework .NET actuellement prises en charge par Microsoft sont vérifiées comme étant compatibles. + + + + * Dernière version compatible vérifiée : 4.0.40 + * Versions incompatibles connues : 4.0.44 ou supérieure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ magasin de données + + [Détails de l'instance](/docs/apm/apm-ui-pages/features/analyze-database-instance-level-performance-issues/) + + Autres notes +
+ Base de données Cosmos + + + + L'agent .NET `v9.2.0` ou supérieur instrumente automatiquement la bibliothèque [Microsoft Azure.Cosmos](https://www.nuget.org/packages/Microsoft.Azure.Cosmos) . + + * Version minimale prise en charge : 3.17.0 + * Dernière version compatible vérifiée : 3.46.1 + * Les versions 3.35.0 et supérieures sont prises en charge à partir de l'agent .NET v10.32.0 +
+ Base de canapé + + + + Utilisez [CouchbaseNetClient](https://www.nuget.org/packages/CouchbaseNetClient/). + + * Version minimale prise en charge : 2.0.0 + * Dernière version compatible vérifiée : 2.3.8 + * Versions incompatibles connues : 2.4.0+ + + Avec Couchbase, les éléments suivants ne sont pas instrumentés par défaut en faveur de leurs homologues multi-documents : + + * `Get(string key)` + * `GetDocument(string key)` + * `Remove(string key)` + * `Remove(string key, ulong cas)` + * `Upsert(string key, T value)` +
+ IBM DB2 + + + +
+ Serveur Microsoft SQL + + + + Utilisez SqlClient à partir du package NuGet [système.Data.SqlClient](https://www.nuget.org/packages/System.Data.SqlClient) ou du package NuGet [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient) ou de l&apos;assembly du frameword du System.Data intégré. + + **System.Data.SqlClient** + + * Version minimale prise en charge : 4.4.0 + * Dernière version compatible vérifiée : 4.8.6 + + **Microsoft.Data.SqlClient** + + * Version minimale prise en charge : 1.0.19239.1 + * Dernière version compatible vérifiée : 6.0.1 + + **System.Data** + + * Version minimale prise en charge : .NET Framework 4.6.2 + * Dernière version compatible vérifiée : 4.8 +
+ System.Data.ODBC + + + +
+ MongoDB (pilote legacy ) + + + + Version minimale prise en charge : 1.10.0 + + Dernière version compatible vérifiée : 1.10.0 + + Versions incompatibles connues : les détails de l'instance ne sont pas disponibles dans la version inférieure 2. +
+ MongoDB (pilote moderne) + + + + Version minimale prise en charge : 2.3.0 + + Dernière version compatible vérifiée : 2.29.0 + + À partir de la version 10.12.0 agent , les méthodes suivantes ajoutées dans ou après la version 2.7 du pilote sont instrumentées : + + * `IMongoCollection.CountDocuments[Async]` + * `IMongoCollection.EstimatedDocumentCount[Async]` + * `IMongoCollection.AggregateToCollection[Async]` + * `IMongoDatabase.ListCollectionNames[Async]` + * `IMongoDatabase.Aggregate[Async]` + * `IMongoDatabase.AggregateToCollection[Async]` + * `IMongoDatabase.Watch[Async]` +
+ MySQL + + + + Utilisez [MySQL.Data](https://www.nuget.org/packages/MySql.Data/) ou [MySQL connecteur](https://github.com/mysql-net/MySqlConnector) + + **MySql.Data** + + * Version minimale prise en charge : 6.10.7 + * Dernière version compatible vérifiée : 9..0 + + **MySqlConnector** + + * Version minimale prise en charge : 1.0.1 + * Dernière version compatible vérifiée : 2.4.0 +
+ Oracle + + + + Utiliser [Oracle.ManagedDataAccess](https://www.nuget.org/packages/Oracle.ManagedDataAccess/) + + * Version minimale prise en charge : 12.1.2400 + * Dernière version compatible vérifiée : 23.7.0 +
+ PostgreSQL + + + + Utiliser [Npgsql](https://www.nuget.org/packages/Npgsql/) + + * Version minimale prise en charge : 4.0.0 + * Dernière version compatible vérifiée : 4.0.5 + + Les versions antérieures de Npgsql peuvent également être instrumentées, mais des métriques en double et/ou manquantes sont possibles. +
+ ServiceStack.Redis + + + +
+ StackExchange. Redis + + + + * Version minimale prise en charge : 1.0.488 + * Dernière version compatible vérifiée : 2.8.24 +
+ Elasticsearch + + + + Utilisez [Elastic.Clients.Elasticsearch](https://www.nuget.org/packages/Elastic.Clients.Elasticsearch), [NEST](https://www.nuget.org/packages/NEST) ou [Elasticsearch.Net](https://www.nuget.org/packages/Elasticsearch.Net). + + **Elastic.Clients.Elasticsearch** + + * Version minimale prise en charge : 8.0.0 + * Dernière version compatible vérifiée : 8.15.10 + * Les versions 8.10.0 et supérieures sont prises en charge à partir de l'agent .NET v10.20.1 + * Les versions 8.12.1 et supérieures sont prises en charge à partir de l'agent .NET v10.23.0 + + **NEST** + + * Version minimale prise en charge : 7.0.0 + * Dernière version compatible vérifiée : 7.17.5 + + **Elasticsearch.Net** + + * Version minimale prise en charge : 7.0.0 + * Dernière version compatible vérifiée : 7.17.5 +
+ Memcached + + + + Utilisez [EnyimMemcachedCore](https://www.nuget.org/packages/EnyimMemcachedCore). + + * Version minimale prise en charge : 2.0.0 + * Dernière version compatible vérifiée : 3.3.1 +
+ DynamoDB + + + + Utilisez [AWSSDK.DynamoDBv2](https://www.nuget.org/packages/AWSSDK.DynamoDBv2). + + * Version minimale prise en charge : 3.5.0 + + * Dernière version compatible vérifiée : 3.7.405.13 + + * Version minimale de l'agent requise : 10.33.0 +
+ + Si votre datastore n'est pas répertoriée ici, vous pouvez ajouter instrumentation personnalisée à l'aide de la méthode `RecordDatastoreSegment` dans l&apos;[ API .NET de l'agent](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction). +
+ + + L'agent instrumente automatiquement le système de gestion de contenu **EPiServer**. + + + + L'agent instrumente automatiquement ces bibliothèque d'appels externes : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ bibliothèque + + **Supported methods** +
+ HttpClient + + L'agent instrumente ces méthodes HttpClient : + + * `SendAsync` + * `GetAsync` + * `PostAsync` + * `PutAsync` + * `DeleteAsync` + * `GetStringAsync` + * `GetStreamAsync` + * `GetByteArrayAsync` +
+ Reste Sharp + + L'agent instrumente ces méthodes RestSharp : + + * `ExecuteTaskAsync` + + * `ExecuteGetTaskAsync` + + * `ExecutePostTaskAsync` + + * `Execute` + + * `ExecuteAsGet` + + * `ExecuteAsPost` + + * `DownloadData` + + Version minimale prise en charge : 105.2.3 + + Dernière version compatible vérifiée : 112.1.0 + + Versions incompatibles connues : 106.8.0, 106.9.0, 106.10.0, 106.10.1 +
+ Requête Web Http + + L'agent instrumente ces méthodes HttpWebRequest : + + * `GetResponse` +
+
+ + + Les modèles d’hébergement suivants sont entièrement pris en charge : + + * Hébergé par IIS (avec et sans compatibilité ASP) + * Auto-hébergé + + + + Les méthodes d'appel suivantes (client et service) sont prises en charge : + + * Synchrone + * Modèle de traitement asynchrone (APM) Début/Fin + * Traitement asynchrone des tâches (TAP) + * Traitement asynchrone basé sur les événements (EAP, support client uniquement) + + + + L'agent .NET [peut être configuré](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#ai_monitoring) pour instrumenter automatiquement ces frameworks LLM : + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cadre + + Version minimale du framework + + Version minimale de l'agent + + Dernière version compatible vérifiée +
+ Base AWS + + 3.7.200.0 + + 10.23.0 + + 3.7.412.4 +
+
+ + + L'agent .NET [peut être configuré](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#application_logging) pour instrumenter automatiquement ce framework de logging pour des journaux automatiques en contexte avec [transfertagent ](/docs/logs/logs-context/net-configure-logs-context-all/#1-agent)et [décoration log local](/docs/logs/logs-context/net-configure-logs-context-all/#2-decorate): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ cadre + + Version minimale du framework + + Version minimale de l'agent + + Dernière version compatible vérifiée +
+ Log4Net + + 1.2.10 + + 9.7.0 + + 2.0.16 +
+ Sérilog + + 2.0.0 + + 9.7.0 + + 4.2.0 +
+ NLog + + 4.1.0 + + 9.7.0 + + 5.3.15 +
+ Microsoft.Extensions.Logging + + 3.0.0 + + 9.7.0 + + 9.0.1 +
+
+ + + L'agent instrumente automatiquement ces systèmes de messages : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ bibliothèque + + **Supported methods** +
+ Confluent.Kafka + + * Produire et consommer sur des sujets. + + * Les méthodes suivantes sont instrumentées : + + * `IProducer.Produce` + * `IProducer.ProduceAsync` + * `IConsumer.Consume` + + * Version minimale prise en charge : 1.4.0 + + * Dernière version compatible vérifiée : 2.8.0 +
+ MSMQ + + * Envoi et réception de messages, aperçu et purge de la file d'attente +
+ NServiceBus + + * Met et prend des messages. + + * Version minimale prise en charge : 5.0 + + * Dernière version compatible vérifiée : 8.2.4 +
+ RabbitMQ + + * Place et prend des messages et purge la file d'attente. + + * Lors de la réception de messages utilisant un `IBasicConsumer`, le `EventingBasicConsumer` est la seule implémentation instrumentée par l&apos;agent.NET. + + * `BasicGet` est instrumenté, mais l&apos;agent ne prend pas en charge [le traçage distribué](/docs/distributed-tracing/concepts/introduction-distributed-tracing/) pour `BasicGet`. + + * Les méthodes suivantes sont instrumentées : + + * `IModel.BasicGet` + * `IModel.BasicPublish` + * `IModel.BasicConsume` + * `IModel.QueuePurge` + * `EventingBasicConsumer.HandleBasicDeliver` + + * Version minimale prise en charge : 3.5.2 + + * Dernière version compatible vérifiée : 6.6.0 +
+ MassTransit (versions d'agent 10.19.0 et plus récentes) + + * Publication/envoi et consommation de messages + + * Version minimale prise en charge : 7.1.0 + + * Dernière version compatible vérifiée : 8.3.6 +
+ AWSSDK.SQS (Amazon Simple Queue Service) (versions d'agent 10.27.0 et plus récentes) + + * Envoyer et recevoir des messages + + * Version minimale prise en charge : 3.7.0 + + * Dernière version compatible vérifiée : 3.7.400.86 +
+
+ + + Les langages et technologies .NET répertoriés sont compatibles avec notre dashboard [d'observabilité instantanée](https://newrelic.com/instant-observability/) . Si vous utilisez l&apos;un de ces langages ou technologies, vous pouvez afficher vos données dans un New Relic dashboard, dès la sortie de la boîte : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Langue/technologie + + configurationsupplémentaire +
+ Application C# + + New Relic peut instrumenter automatiquement les services écrits en C#. Accédez à notre page quickstart C# pour [installer le dashboard C#](https://newrelic.com/instant-observability/c-sharp). +
+ ADO.net + + Si votre application utilise ADO.net, vous pouvez installer une combinaison d'agents New Relic qui génèrent un dashboard ADO.net. Voici ce que vous devez faire : + + 1. Installez New Relic APM l'.NET agent et agent l'd'infrastructure en suivant les étapes de notre [guidée installation](https://one.newrelic.com/marketplace?state=bf68ca4b-b7cc-3227-fcc3-3349f5aa92f6). + 2. Installez l'intégration Microsoft Windows Perfmon/WMI sur hôte pour New Relic Infrastructure en [suivant les instructions nri-perfmon](https://github.com/newrelic/nri-perfmon#nri-perfmon---windows-perfmonwmi-on-host-integration-for-new-relic-infrastructure). + 3. Si vous avez installé Perfmon manuellement, [redémarrez votre agent d'infrastructure](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent). + 4. Accédez à notre page quickstart ADO.NET pour [installer le dashboard ADO.NET](https://newrelic.com/instant-observability/ado-dotnet). +
+ Serveur Blazor + + Suivez vos données les plus importantes dans notre dashboard Blazor Server en instrumentant votre application avec New Relic: + + 1. Installez l'agent .NET APM de New Relic et l'agent d'infrastructure en suivant les étapes de notre [installation guidée](https://one.newrelic.com/marketplace?state=bf68ca4b-b7cc-3227-fcc3-3349f5aa92f6). Si vous préférez, vous pouvez [installer l'agent d'infrastructure](/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-monitoring-agent-linux) via la ligne de commande. + + 2. Obtenez le dashboard prédéfini en [installant le quickstartde Blazor](https://newrelic.com/instant-observability/blazor-server) + + 3. Depuis **[one.newrelic.com](https://one.newrelic.com/all-capabilities)**, accédez à **APM & services**, puis sélectionnez votre application. Pour vérifier que votre installation est réussie, effectuez les requêtes suivantes : + + ```sql + FROM Transaction SELECT count(*) FACET request.uri + ``` + + Si des données apparaissent, vous avez correctement instrumenté votre application. +
+
+ + + Ces frameworks ne sont **pas entièrement pris en charge :** + + * **ASP.NET Web API v1:** Consultez [les informations de dépannage](/docs/agents/net-agent/troubleshooting/web-api-transactions-are-missing) sur l&apos;utilisation d&apos;ASP.NET Web API v1 avec l&apos;agent .NET de New Relic 5.0 ou supérieur pour les applications ciblant .NET Framework 4.0. (Cela n&apos;affecte pas .NET Framework 4.5 ou supérieur.) + * **Mono:** New Relic ne prend pas en charge [Mono](https://www.mono-project.com/), un framework .NET open source qui fonctionne sous Linux. Cela est dû au fait qu’il n’existe pas API de profileur à injecter dans l’ agent .NET en tant que profileur dans une application .NET basée sur Mono. L&apos;API profileur est une interface basée sur un modèle d&apos;objet de composant (COM) et n&apos;est pas prise en charge sous Linux. + * L'ASP classique est **not supported**, car l&apos;agent ne peut instrumenter que les applications basées sur .NET Framework. + * Sharepoint est **not supported**. + +
+ + ### Fonctionnalité indisponible [#unavailable-features-framework] + + La compilation juste-à-temps (JIT) est une exigence pour la fonctionnalité de l'agent .NET, donc les images natives créées avec [Native Image Generator (NGEN)](https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator) ne sont pas prises en charge par l&apos;agent .NET. + + ### Connectez l'agent à d'autres produits New Relic [#digital-intelligence-platform-framework] + + En plus d'[APM](/docs/apm/new-relic-apm/getting-started/introduction-apm/), l&apos;agent s&apos;intègre à d&apos;autres produits New Relic pour vous offrir une visibilité de bout en bout : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Produit + + intégration +
+ [Monitoring de navigateurs](/docs/browser/browser-monitoring/getting-started/introduction-browser-monitoring/) + + Pour l'application Web ASP.NET, l'agent .NET injecte automatiquement l'agent JavaScript du navigateur lorsque vous [activez auto-instrumentation](/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/#select-apm-app). + + Après avoir activé injection du navigateur, vous pouvez afficher les données du navigateur dans la [page RésuméAPM ](/docs/apm/apm-ui-pages/monitoring/apm-summary-page-view-transaction-apdex-usage-data/)et basculer rapidement entre les données et pour une application particulière. Pour les options configuration et instrumentation manuelle, voir [monitoring des navigateurs et l'agent .NET](/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent/). +
+ [Monitoring de l'infrastructure](/docs/infrastructure/infrastructure-monitoring/get-started/get-started-infrastructure-monitoring/) + + Lorsque vous installez l'infrastructure et l'agent APM sur le même hôte, ils se détectent automatiquement. Vous pouvez ensuite afficher une liste d'hôtes dans l'UI APM et filtrer vos hôtes par APM application dans notre infrastructure UI. Pour plus d'informations, consultez [APM Données dans infrastructure UI](/docs/infrastructure/manage-your-data/data-instrumentation/apm-data-infrastructure-monitoring/). +
+ [Dashboards](/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/) + + L'agent .NET envoie [un événement et un attribut par défaut](/docs/data-apis/understand-data/event-data/events-reported-apm/) pour [la requête NRQL ](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-query-data/). Vous pouvez également [enregistrer un événement personnalisé](/docs/data-apis/custom-data/custom-events/apm-report-custom-events-attributes/) pour une analyse avancée. +
+ [Monitoring synthétique](/docs/synthetics/synthetic-monitoring/getting-started/get-started-synthetic-monitoring/) + + [Synthétique trace de transaction](/docs/synthetics/synthetic-monitoring/using-monitors/collect-synthetic-transaction-traces/) connecte requests du moniteur Synthétique à la transaction APM sous-jacente. +
+
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx new file mode 100644 index 00000000000..5193d4722a5 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx @@ -0,0 +1,71 @@ +--- +title: Guide de migration des couches .NET OpenTracing vers AWS Lambda +tags: + - Agents + - NET agent + - Migration guides +metaDescription: This guide helps New Relic AWS Lambda Agent for .NET users migrate from NewRelic.OpenTracing.AmazonLambda.Tracer to AWS Lambda layers +freshnessValidatedDate: never +translationType: machine +--- + +Ce guide décrit les principaux changements entre `NewRelic.OpenTracing.AmazonLambda.Tracer` et la couche Lambda de l&apos;agent .NET. Il détaille également les différentes options disponibles lors de la mise à niveau et comment migrer avec succès vers l&apos;utilisation de la couche Lambda de l&apos;agent .NET. + + + La prise en charge de la fonction instrumentée AWS Lambda démarre dans la version 10.24.0 de l'agent .NET. + + +Voici les principaux changements apportés à cette transition : + +* Le package `NewRelic.OpenTracing.AmazonLambda.Tracer` est en conflit avec instrumentation d&apos;agent et doit être supprimé. +* Toutes les modifications de code apportées à la fonction AWS Lambda pour OpenTracing doivent être annulées. +* L'agent .NET de New Relic sera utilisé pour instrumenter la fonction AWS Lambda. +* Les couches AWS Lambda sont disponibles lorsque vous regroupez l'agent .NET et l'extension New Relic Lambda requise. +* Dans la plupart des cas, l'instrumentation de la fonction AWS Lambda est automatique. +* L'agent .NET s'appuie sur l'extension New Relic Lambda pour l'envoi de données dans la fonction AWS Lambda. +* Les couches peuvent être configurées à l'aide de l'outil CLI New Relic Lambda , d'un plugin de framework Serverless ou manuellement. +* les noms et les timings métriques différeront car la façon dont la fonction est instrumentée a fondamentalement changé. +* Tout dashboard, alerte ou requête basé sur les anciennes métriques devra être mis à jour après la migration. + +## Suppression de NewRelic.OpenTracing.AmazonLambda.Tracer et OpenTracing [#remove] + +Le package `NewRelic.OpenTracing.AmazonLambda.Tracer` doit être supprimé avant d&apos;utiliser l&apos;agent .NET et toutes les modifications apportées à votre fonction AWS Lambda pour le prendre en charge doivent être annulées. + +1. La configuration du package `NewRelic.OpenTracing.AmazonLambda.Tracer` nécessite la création d&apos;un nouveau `FunctionHandler` qui appelle le `FunctionHandler` d&apos;origine, en l&apos;encapsulant pour permettre l&apos;instrumentation. Avant de supprimer le `NewRelic.OpenTracing.AmazonLambda.Tracer` vous devrez annuler cet appel pour que le nettoyage se déroule plus facilement. +2. L'agent .NET ne prend pas en charge l'utilisation des API OpenTracing pour transmettre des données personnalisées. Toutes les modifications apportées à votre code qui s'appuient sur API OpenTracing, que ce soit directement ou via le package `NewRelic.OpenTracing.AmazonLambda.Tracer`, doivent être supprimées ou migrées pour utiliser l&apos;API d&apos;agent .NET. +3. Supprimez le package `NewRelic.OpenTracing.AmazonLambda.Tracer` de votre projet. Nettoyez tous les problèmes restants liés au retrait. + +## Sélection d'une méthode d'installation de couche [#install] + +Après avoir supprimé le package `NewRelic.OpenTracing.AmazonLambda.Tracer` , l’étape suivante consiste à sélectionner la méthode que vous utiliserez pour installer et configurer la couche .NET AWS Lambda. Comme mentionné ci-dessus, il existe principalement trois options : + +* Interface de ligne de commande Lambda de New Relic +* New Relic plugin de framework Serverless Relic +* Installation entièrement manuelle + +Nous vous recommandons de choisir soit le plugin Lambda CLI, soit le plugin Serverless Framework, car ils automatisent la plupart de la configuration. Chacun a ses propres dépendances et exigences qui doivent être prises en considération, dont certaines seront décrites dans la section suivante. Si vous utilisez déjà l’une de ces approches, nous vous recommandons de simplifier les choses en utilisant la même approche pour toutes vos fonctions AWS Lambda. + +Pour obtenir un ensemble complet d'instructions de démarrage détaillées pour le monitoring AWS Lambda, consultez notre [guide d'activation](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-aws-lambda-monitoring/). + +## Interface de ligne de commande Lambda de New Relic [#cli] + + + La prise en charge de la couche AWS Lambda de l'agent .NET démarre dans la version 0.9.2 de l'interface de ligne de commande Lambda. + + +Le Lambda CLI contient un exemple de commande permettant de mettre à jour [quickstart](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) votre AWS fonction Lambda pour utiliser la couche d&apos;agent .NET. Cela détectera automatiquement le temps d&apos;exécution de la fonction et sélectionnera la couche appropriée. Vous pouvez trouver des options de configuration supplémentaires dans le [référentielLambda CLI (repository)](https://github.com/newrelic/newrelic-lambda-cli?tab=readme-ov-file#recommendations). + +## New Relic plugin de framework Serverless Relic [#serverless] + + + La prise en charge de la couche AWS Lambda de l'agent .NET démarre dans la version 5.3.0 du plug-in du framework Serverless . + + +Le [Serverless du plugin quickstart](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) du framework contient les étapes requises pour installer le plugin et mettre à jour la du Serverless framework configuration. Vous pouvez trouver des options de configuration supplémentaires dans le [référentiel (repository) du plugin frameworkServerless ](https://github.com/newrelic/serverless-newrelic-lambda-layers). + +## Installation entièrement manuelle [#manual] + +Bien que nous ne recommandions pas d'instrumenter manuellement votre fonction AWS Lambda, nous avons des informations sur les étapes nécessaires pour le faire [ici](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console). + +* L'agent .NET instrumentera automatiquement votre fonction AWS Lambda, dans la plupart des cas lorsqu'il est installé manuellement +* L'extension New Relic Lambda est toujours requise pour l'envoi de données \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx new file mode 100644 index 00000000000..3e08e680996 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx @@ -0,0 +1,97 @@ +--- +title: Désinstaller l'agent .NET +tags: + - Agents + - NET agent + - Installation +metaDescription: How to uninstall New Relic's .NET agent (Framework or Core). +freshnessValidatedDate: never +translationType: machine +--- + +Ce document explique comment désinstaller l'agent .NET de New Relic. Pour obtenir des instructions sur la façon de désactiver temporairement l'agent, voir [Désactiver l'agent](/docs/agents/manage-apm-agents/installation/disable-apm-agent#net). + +Pour désinstaller l'agent.NET, suivez la procédure qui correspond à votre système d'exploitation : + +* [Windows](#uninstall-framework-windows) +* [Linux](#uninstall-linux) + +## Désinstaller l'agent .NET (Windows) [#uninstall-framework-windows] + + + Nécessite [des droits**Administrator** ](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent#user-rights)dans votre groupe d’administrateurs Windows. + + +Cette procédure suppose que vous avez installé l'agent .NET avec le programme d'installation MSI : + +1. Pour arrêter un agent en cours d’exécution, arrêtez IIS. Si vous n’arrêtez pas IIS, vous devrez peut-être redémarrer après la désinstallation de l’agent. +2. Sélectionnez **Start > All Programs > New Relic .NET Agent > Uninstall the .NET agent**. +3. Suivez l’invite pour terminer la désinstallation. +4. Redémarrez IIS. + +Après avoir désinstallé l'agent, vous souhaiterez peut-être supprimer tous les fichiers liés à l'agent. Assurez-vous de vérifier les autres chemins pour supprimer tous les autres fichiers New Relic. Par exemple, la désinstallation de l’agent .NET ne supprime pas votre fichier [`newrelic.config`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence) . + +1. À partir de **Control Panel > Programs > Programs and Features**, faites un clic droit et supprimez tous les fichiers nommés `New Relic .NET Agent`. +2. Supprimez l’intégralité du dossier à `C:\ProgramData\New Relic\.NET Agent`. +3. Supprimez l’intégralité du dossier à `C:\Program Files\New Relic\.NET Agent`. +4. Supprimez l’intégralité du dossier à `C:\Program Files (x86)\New Relic\.NET Agent`. +5. [Supprimez votre application](/docs/apm/new-relic-apm/maintenance/remove-applications-from-new-relic-ui) de l&apos;UI APM. + +## Désinstaller l'agent .NET (Linux) [#uninstall-linux] + +Pour désinstaller l’ agent .NET sous Linux, utilisez votre outil de gestion package . + + + Pour les versions d’agent .NET 10.0.0 ou supérieures, le nom du package est `newrelic-dotnet-agent`. Pour les versions d’agent .NET 9.9.0 ou inférieures, le nom du package est `newrelic-netcore20-agent`. Le reste de ce document fera référence à `newrelic-dotnet-agent`; remplacez-le par l&apos;ancien nom si vous avez installé une ancienne version de l&apos;agent. + + + + Vous devez redémarrer votre application une fois la désinstallation terminée. + + + + + Exécutez la commande suivante en tant que root (ou en utilisant `sudo`) : + + ```sh + apt-get remove newrelic-dotnet-agent + ``` + + + + Exécutez la commande suivante en tant que root (ou en utilisant `sudo`) : + + ```sh + dpkg --remove newrelic-dotnet-agent + ``` + + + + Exécutez la commande suivante en tant que root (ou en utilisant `sudo`) : + + ```sh + yum remove newrelic-dotnet-agent + ``` + + + + Exécutez la commande suivante en tant que root (ou en utilisant `sudo`) : + + ```sh + sudo rpm -e newrelic-dotnet-agent + ``` + + + + 1. Supprimez tous les fichiers New Relic de votre dossier d'application. + + 2. Annuler la définition des variables d’environnement New Relic : + + ```ini + CORECLR_ENABLE_PROFILING=1 + CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_NEWRELIC_HOME=PATH_TO_INSTALL + CORECLR_PROFILER_PATH=%CORECLR_NEWRELIC_HOME%\NewRelic.Profiler.dll + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/installation/update-net-agent.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/installation/update-net-agent.mdx new file mode 100644 index 00000000000..fe8ce74a225 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/installation/update-net-agent.mdx @@ -0,0 +1,352 @@ +--- +title: Mettre à jour l'agent .NET +tags: + - Agents + - NET agent + - Installation +metaDescription: 'For New Relic .NET agent (Framework or Core): how to update the .NET agent.' +freshnessValidatedDate: never +translationType: machine +--- + +Comment mettre à jour l'agent APM .NET. + +## Vérifiez la version de votre agent .NET [#your\_version][#your_version] + +1. Reportez-vous aux [notes de sortie](/docs/releases/dotnet) pour trouver la dernière version de l&apos;agent. +2. Vérifiez la version de l'agent .NET que vous avez actuellement installé en utilisant **Windows Programs and Features** ou en utilisant votre gestionnaire de paquets Linux. + +## Avant de commencer [#before-start] + +Il existe plusieurs façons d’installer l’agent .NET, ce qui signifie qu’il existe plusieurs façons de le mettre à jour. Dans ce document, nous nous concentrons sur les procédures de mise à jour pour l'installation la plus simple, avec l'agent .NET installé directement sur un hôte Windows ou Linux. + +Si vous avez d'autres installations, consultez ces documents d'installation pour ces configurations pour plus de contexte : + +* Docker : [pour Windows](/install/dotnet/?deployment=windowsInstall&docker=yesDocker) | pour [Linux](/install/dotnet/?deployment=linux&docker=yesDocker) +* [Nuget](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget) + +## Installations Windows et Linux [#windows-linux] + +Suivez les instructions de mise à jour pour votre agent : + +* [Windows](#updating_net) +* [Linux](#updating_net_core) + +## Mettre à jour l'agent .NET (Windows) [#updating\_net][#updating_net] + + + Avant la mise à jour : + + * La mise à jour de l’agent nécessite des droits **Administrator** dans votre groupe d’administrateurs Windows. Pour plus d&apos;informations, consultez la [documentation sur les autorisations](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#user-rights). + * Si la agent version de votre est inférieure à 7.0 ou si vous utilisez .NET Framework version 4.0 ou inférieure, consultez [Mettre legacy à jour .NET agent](#updating_older_net). + * Si votre application est hébergée dans IIS, assurez-vous de **stop IIS** avant de mettre à jour l&apos;agent .NET. + + + + + 1. Assurez-vous que [.NET 4.5 ou supérieur est installé sur votre système](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#net-version-framework). + + 2. Arrêtez IIS. + + 3. Téléchargez et exécutez le package d'installation MSI approprié à votre [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-framework): + + * [Programme d'installation 32 bits](https://download.newrelic.com/dot_net_agent/latest_release/NewRelicDotNetAgent_x86.msi) + * [Programme d'installation 64 bits](https://download.newrelic.com/dot_net_agent/latest_release/NewRelicDotNetAgent_x64.msi) + + 4. Une fois le package d’installation terminé, démarrez IIS. + + + + Pour mettre à jour l'agent .NET pour une application Web Azure à l'aide de l'extension de site Azure New Relic, suivez les instructions d'installation pour : + + * Supprimez l'extension de site New Relic Azure, cela désinstalle l'agent + * Réinstallez la dernière version de l’extension de site New Relic Azure à l’aide [de ces instructions d’installation](/install/dotnet/?deployment=azure&azure=azuresiteextension), qui installent la dernière version de l’agent. + * Redémarrez l'application Web pour démarrer l'agent mis à jour. + + + +## Mettre à jour l'agent .NET (Linux) [#updating\_net\_core][#updating_net_core] + + + Pour les versions d’agent .NET 10.0.0 ou supérieures, le nom du package est `newrelic-dotnet-agent`. Pour les versions d’agent .NET 9.9.0 ou inférieures, le nom du package est `newrelic-netcore20-agent`. Le reste de ce document fait référence à `newrelic-dotnet-agent`; remplacez-le par l&apos;ancien nom si vous avez installé une ancienne version de l&apos;agent. Lorsque vous effectuez une mise à jour vers la version 10.0.0 ou supérieure à partir d&apos;une version inférieure, vous devrez modifier les variables d&apos;environnement `CORECLR_NEWRELIC_HOME` et `CORECLR_PROFILER_PATH` en raison du changement de nom du package. + + +Utilisez l’une des méthodes suivantes pour mettre à jour vers la dernière version de l’agent .NET de New Relic : + + + + 1. Fermez votre/vos application(s). + 2. Téléchargez le fichier approprié à votre [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-core) à partir du [site de téléchargement](https://download.newrelic.com/dot_net_agent/latest_release/). + 3. Installez le fichier dans votre emplacement d’installation préféré. Pour le fichier tar.gz : extrayez le fichier zip au-dessus de vos fichiers existants. + 4. Démarrez votre/vos application(s). + + + + 1. Fermez votre/vos application(s). + + 2. Utilisez ce qui suit pour mettre à jour l’agent : + + ```bash + sudo yum update newrelic-dotnet-agent + ``` + + 3. Démarrez votre/vos application(s). + + + + 1. Fermez votre/vos application(s). + + 2. Utilisez ce qui suit pour obtenir une liste des mises à jour disponibles et les installer : + + ```bash + sudo apt-get update && sudo apt-get install --only-upgrade newrelic-dotnet-agent + ``` + + 3. Démarrez votre/vos application(s). + + + + 1. Fermez votre/vos application(s). + + 2. Téléchargez le fichier rpm approprié à votre [architecture](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#architecture-core) à partir du [site de téléchargement](https://download.newrelic.com/dot_net_agent/latest_release/). + + 3. Utilisez ce qui suit pour mettre à jour l’agent : + + ```bash + sudo rpm -Uvh FILE_NAME.rpm + ``` + + 4. Démarrez votre/vos application(s). + + + +## Mettre à jour l'ancien agent .NET Framework (inférieur à 7.0) [#updating\_older\_net][#updating_older_net] + +Si vous envisagez de mettre à jour une version agent .NET Framework inférieure à 7.0, consultez les notes suivantes. Pour voir la version de l'agent dont vous disposez, voir [Vérifier la version de l'agent](#your_version). Pour une liste complète des modifications apportées agent , consultez les [notes de sortie .NET](/docs/release-notes/agent-release-notes/net-release-notes). + + + + + Pour instrumenter une application ciblant .NET Framework 4.0 ou une version antérieure, vous devez utiliser une version de l'agent .NET Framework antérieure à 7.0. Consultez [la prise en charge de .NET Frameworks 4.0 ou version antérieure](/docs/apm/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower/) pour plus d’informations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si la version est inférieure à... + + Fais ceci... +
+ 7.0 + + La version 7.0 et supérieure de l'agent .NET Framework prend en charge les applications qui ciblent .NET Framework 4.5 ou supérieur. +
+ 6.12 + + Les versions 6.12 ou supérieures ne prennent pas en charge Windows Server 2003. Si vous avez besoin de Windows Server 2003, utilisez les versions 6.11 ou inférieures. Pour plus d'informations, obtenez de l'aide sur [support.newrelic.com](https://support.newrelic.com) ou [téléchargez l'agent](https://download.newrelic.com/). +
+ 6.11 + + Auparavant, [la base de données](/docs/apm/apm-ui-pages/monitoring/databases-page-view-operations-throughput-response-time/) et les appels [externes](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-intro/) qui se produisaient en dehors d&apos;une transaction généraient des métriques que vous pouviez afficher dans leurs pages respectives dans l&apos;UI APM. Désormais, ces métriques ne seront plus affichées. Dans une application non Web, ces appels peuvent être « encapsulés » dans une [transaction personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net/) pour pouvoir afficher leurs métriques. +
+ 6.0 + + Pour obtenir [une prise en charge asynchrone](/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net/) si la version de votre agent .NET est antérieure à 6.0, procédez comme suit : + + 1. Supprimez le paramètre d'application suivant dans `newrelic.config` s&apos;il existe : + + ```xml + + + + ``` + + 2. Assurez-vous que l'hôte de votre application dispose de .NET 4.5 ou supérieur installé. + + 3. Dites à .NET d’utiliser le nouveau pipeline de traitement des requêtes ASP en ajoutant les lignes suivantes à votre `web.config`: + + ```xml + + + + + + ``` + + OU + + Spécifiez la version de .NET Framework 4.5.2 ou supérieure en ajoutant les lignes suivantes à `web.config`: + + ```xml + + + + + + ``` +
+ 5.0 (pour l'API Web) + + Pour voir les transactions API Web, vous devez accepter un [débogage framework .NET](https://devblogs.microsoft.com/dotnet/all-about-httpruntime-targetframework/) si les conditions suivantes s&apos;appliquent : + + * Vous utilisez ASP.NET Web API v1. + + * Votre application cible agent .NET framework version 4.0. (Ce problème n'affecte pas la version 4.5 ou supérieure.) + + * Vous effectuez une mise à niveau de l’ agent .NET Framework vers la version 5.0 ou supérieure. + + Pour appliquer le correctif : + + 1. Assurez-vous que l'hôte de votre application a .NET 4.5 installé. + + 2. Ajoutez ce `appSetting` à votre **web.config**: + + ```xml + + + + + + ``` + + Pour plus d'informations sur ce bug du framework .NET, consultez : + + * [Pourquoi HttpContext.Current est-il nul après wait ?](https://stackoverflow.com/questions/18383923/why-is-httpcontext-current-null-after-await) + * [Tout sur httpRuntime targetFramework](https://devblogs.microsoft.com/dotnet/all-about-httpruntime-targetframework/). +
+ 5.0 (pour les métriques) + + Les métriques qui ne font pas partie d'une transaction ne seront pas affichées dans l'UI. **Exception:** Vous pouvez afficher [la base de données](/docs/apm/apm-ui-pages/monitoring/databases-page-view-operations-throughput-response-time/) et [les](/docs/apm/apm-ui-pages/monitoring/external-services/external-services-intro/) métriques externes sur leurs pages respectives dans l&apos;UI APM. D&apos;autres métriques de ce type (telles que les méthodes instrumentées) peuvent être rendues visibles en les « enveloppant » dans une [transaction personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net/). + + Votre [instrumentation personnalisée](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) devra peut-être être mise à jour pour utiliser [des transactions personnalisées](/docs/apm/agents/net-agent/custom-instrumentation/create-transactions-xml-net/). Pour un exemple de ce que vous verrez dans l&apos;UI, consultez ce [message de la communauté techniqueNew Relic Online](https://discuss.newrelic.com/t/change-in-non-web-transaction-reporting-with-version-5-x/28721). +
+ 4.4 + + New Relic a amélioré le nom des transactions. Cependant, ces modifications peuvent affecter les noms de transaction des métriques existantes, notamment les métriques [transaction clé](/docs/apm/transactions/key-transactions/introduction-key-transactions/), &quot;alerte on any&quot; et [les requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-query-data/) basées sur les noms de transactions. Vous devez recréer ces paramètres en utilisant le nouveau nom de transaction après la mise à jour. +
+ 4.2 + + New Relic a supprimé la transaction HTTP « externe » (transactions « `.svc`») pour l&apos;application WCF hébergée avec le mode de compatibilité `asp.net` désactivé. Désormais, seule la transaction WCF est signalée. + + Ce changement permet d’obtenir des données de débit plus précises. Il empêche également que des erreurs de code d'état HTTP soient signalées pour les transactions WCF ayant échoué. +
+ 4.1 + + New Relic a implémenté des métriques datastore pour la trace SQL. les noms de mesures pour l'activité de la base de données ont été mis à jour pour être signalés sous datastore. +
+ 4.0 + + L'application MVC2 ne génère plus de segments spécifiques à MVC ni de noms de transaction basés sur l'itinéraire MVC. +
+ 3.0 + + L'agent .NET de New Relic est devenu dépendant de .NET 3.5. Votre application peut toujours cibler .NET 2.0, mais vous devez avoir .NET 3.5 installé sur l’ordinateur sur lequel l’ agent s’exécute. +
+ 2.20 + + La version 2.19.3.0 était la dernière version agent .NET qui nécessitait à la fois l'appel d'API `GetBrowserTimingFooter()` et `GetBrowserTimingHeader()` pour . Dans la version d&apos;agent 2.20.24.0 ou supérieure, il vous suffit d&apos;appeler `GetBrowserTimingHeader()`. `GetBrowserTimingFooter()` n&apos;a aucun effet. Recommandation : supprimez ces références de votre code. +
+ 2.9 + + Le fichier de configuration est passé de `newrelic.xml` à `newrelic.config`. programme d&apos;installation pour un agent plus récent tente de convertir `newrelic.xml` (si présent) en `newrelic.config`. +
+ 2.2 ou version antérieure + + Pour effectuer une mise à jour à partir d’une version d’agent .NET inférieure à 2.2, vous devez désinstaller l’ancien agent avant d’installer la nouvelle version. Suivez les procédures standard de votre version de Windows pour désinstaller l'agent. Votre système d’exploitation peut nécessiter un redémarrage. + + Vous pouvez rencontrer des erreurs `cocreateinstance` avec **services.exe** lorsque vous mettez à jour un ancien programme d&apos;installation (2.1.3.494 ou inférieur) ou apportez d&apos;autres modifications aux variables d&apos;environnement. Pour résoudre ce problème, reportez-vous à [la documentation de Microsoft](https://learn.microsoft.com/en-us/windows/win32/procthread/changing-environment-variables). +
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/net-agent-api/net-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/net-agent-api/net-agent-api.mdx new file mode 100644 index 00000000000..4f2e5de4e23 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/net-agent-api/net-agent-api.mdx @@ -0,0 +1,2550 @@ +--- +title: API d'agent .NET +tags: + - Agents + - NET agent + - API guides +metaDescription: A descriptive list of API calls that you can make using the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic inclut une API qui vous permet d'étendre les fonctionnalités standard de l'agent. Par exemple, vous pouvez utiliser l'API .NET d'agent pour : + +* Personnalisez le nom de votre application +* Créer un paramètre de transaction personnalisé +* Signaler les erreurs et les mesures personnalisées + +Vous pouvez également personnaliser certains comportements par défaut de l'agent .NET en ajustant [les paramètres de configuration](/docs/agents/net-agent/configuration/net-agent-configuration) ou en utilisant [une instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation). + +## Exigences + +Pour utiliser l'API .NET deagent, assurez-vous que vous disposez de la [dernière version de l'agent .NET](/docs/release-notes/agent-release-notes/net-release-notes). Ensuite, ajoutez une référence à l’agent dans votre projet en utilisant l’une des deux options ci-dessous : + +* Ajoutez une référence à `NewRelic.Api.Agent.dll` à votre projet. + + OU + +* Affichez et téléchargez le API package à partir de la [bibliothèque de packages NuGet](https://www.nuget.org/packages/NewRelic.Agent.Api/). + +## Liste des appels d'API + +La liste suivante contient les différents appels que vous pouvez effectuer avec l'API, y compris la syntaxe, les exigences, les fonctionnalités et les exemples : + + + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring([boolean $override]) + ``` + + Désactiver automatique injection d'monitoring de des navigateurs snippet sur des pages spécifiques. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Doit être appelé à l'intérieur d'une [transaction](/docs/glossary/glossary/#transaction). + + ### Description + + Ajoutez cet appel pour désactiver l'injection **automatique** du [](/docs/browser/new-relic-browser/getting-started/new-relic-browser)script sur des pages spécifiques. Vous pouvez également ajouter une substitution facultative pour désactiver **l'** injection manuelle et automatique. Dans les deux cas, placez cet appel d&apos;API aussi près que possible du haut de la vue dans laquelle vous souhaitez désactiver le navigateur. + + + Comparez [`GetBrowserTimingHeader()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#GetBrowserTimingHeader), qui **ajoute** le script du navigateur à la page. + + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$override` + + *booléen* + + Facultatif. Lorsque `true`, désactive toute injection de script de navigateur. Ce drapeau affecte à la fois l&apos;injection manuelle et automatique. Cela remplace également l&apos;appel [`GetBrowserTimingHeader()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#GetBrowserTimingHeader) . +
+ + ### Exemples + + #### Désactiver l'injection automatique + + Cet exemple désactive uniquement l'injection **automatique** du snippet: + + ```cs + NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring(); + ``` + + #### Désactiver l'injection automatique et manuelle + + Cet exemple désactive l'injection automatique **et** manuelle du snippet: + + ```cs + NewRelic.Api.Agent.NewRelic.DisableBrowserMonitoring(true); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.GetAgent() + ``` + + Accédez à l'agent via l'interface `IAgent` . + + ### Exigences + + * Version de l'agent 8.9 ou supérieure. + * Compatible avec tous les types d'applications. + + ### Description + + Accédez à API des méthodes deagent via l'interface [`IAgent`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IAgent) . + + ### Valeurs de retour + + Une implémentation d'[IAgent](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IAgent) fournissant l&apos;accès à l&apos;API IAgent. + + ### Exemples + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ``` + + + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader(); + NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader(string nonce); + ``` + + Générer monitoring un HTML des navigateurs snippet pour instrumenter utilisateur final du navigateur. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Doit être appelé à l'intérieur d'une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). + + ### Description + + Renvoie un snippet HTML utilisé pour activer . Le snippet demande au navigateur de récupérer un petit fichier JavaScript et de démarrer le minuteur de page. Vous pouvez ensuite insérer le snippet renvoyé dans l&apos;en-tête de vos pages Web HTML. Pour plus d&apos;informations, voir [Ajout d'applications à monitoring des navigateurs](/docs/browser/new-relic-browser/installation-configuration/adding-apps-new-relic-browser). + + + Comparez [`DisableBrowserMonitoring()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#DisableBrowserMonitoring), qui **désactive** le script du navigateur sur une page. + + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `nonce` + + *chaîne* + + Le nonce cryptographique par demande utilisé par les politiques de sécurité du contenu. +
+ + + Cet appel d'API nécessite des mises à jour de la liste de sécurité des domaines autorisés. Pour plus d'informations sur les considérations relatives à la politique de sécurité du contenu (CSP), visitez la page [monitoring de la compatibilité et des exigences des navigateurs](/docs/browser/new-relic-browser/getting-started/compatibility-requirements-browser-monitoring) . + + + ### Valeurs de retour + + Une chaîne HTML à intégrer dans un en-tête de page. + + ### Exemples + + + + ```aspnet + + + <%= NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader()%> + ... + + + ... + ``` + + ```aspnet + + + <%= NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader("YOUR_NONCE_VALUE")%> + ... + + + ... + ``` + + + + ```cshtml + + + + @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader()) + ... + + + ... + ``` + + ```cshtml + + + + @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader("YOUR_NONCE_VALUE")) + ... + + + ... + ``` + + + + + Cette API n'est pas prise en charge pour Blazor Webassembly, car l'agent ne peut pas instrumenter le code Webassembly. Les exemples suivants concernent uniquement l'application Blazor Server. Utilisez la [méthode copier-coller](/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/#copy-paste) pour ajouter l&apos;agent de navigateur aux pages Blazor Webassembly. + + + + Cette API ne peut pas être placée dans un élément `` d&apos;une page `.razor` . Au lieu de cela, il doit être appelé à partir de `_Layout.cshtml` ou d&apos;un fichier de mise en page équivalent. + + ```cshtml + + + + @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader()) + ... + + + ... + ``` + + ```cshtml + + + + @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader("YOUR_NONCE_VALUE")) + ... + + + ... + ``` + + + +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.GetLinkingMetadata(); + ``` + + Renvoie des paires valeur-clé qui peuvent être utilisées pour lier une trace ou une entité. + + ### Exigences + + * Version de l'agent 8.19 ou supérieure. + * Compatible avec tous les types d'applications. + + ### Description + + Le dictionnaire des paires valeur-clé renvoyées comprend des éléments utilisés pour lier la trace et l'entité dans le produit APM . Il ne contiendra que des éléments avec des valeurs significatives. Par instance, si le traçage distribué est désactivé, `trace.id` ne sera pas inclus. + + ### Valeurs de retour + + `Dictionary ()` renvoyé inclut les éléments utilisés pour lier la trace et l&apos;entité dans le produit APM . + + ### Exemples + + ```cs + NewRelic.Api.Agent.IAgent Agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + var linkingMetadata = Agent.GetLinkingMetadata(); + foreach (KeyValuePair kvp in linkingMetadata) + { + Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value); + } + ``` + + + + ### Syntaxe + + ```cs + public interface IAgent + ``` + + Fournit un accès aux artefacts et méthodes de l'agent, tels que la transaction en cours d'exécution. + + ### Exigences + + * Version de l'agent 8.9 ou supérieure. + * Compatible avec tous les types d'applications. + + ### Description + + Fournit un accès aux artefacts et méthodes de l'agent, tels que la transaction en cours d'exécution. Pour obtenir une référence à `IAgent`, utilisez [`GetAgent`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#GetAgent). + + ### Propriétés + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ Transaction en cours + + Propriété permettant d'accéder à la transaction en cours d'exécution via l'interface [ITransaction](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction) . Doit être appelé à l&apos;intérieur d&apos;une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). +
+ Étendue actuelle + + Propriété donnant accès à l'étendue en cours d'exécution via l'interface [ISpan](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ISpan) . +
+ + ### Exemples + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction transaction = agent.CurrentTransaction; + ``` +
+ + + ### Syntaxe + + ```cs + public interface ITransaction + ``` + + Fournit l'accès aux méthodes spécifiques aux transactions dans l'API New Relic. + + ### Description + + Fournit l'accès aux méthodes spécifiques aux transactions dans l'API de l'agent .NET de New Relic. Pour obtenir une référence à `ITransaction`, utilisez la méthode de transaction actuelle disponible sur [`IAgent`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IAgent). + + Les méthodes suivantes sont disponibles sur `ITransaction`: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `InsertDistributedTraceHeaders` + + Ajoute les données du traçage distribué à une demande sortante (voir ci-dessous pour plus de détails). +
+ `AcceptDistributedTraceHeaders` + + Accepte les données entrantes de traçage distribué provenant d'un autre service (voir ci-dessous pour plus de détails). +
+ `AddCustomAttribute` + + Ajoutez des informations contextuelles de votre application à la transaction en cours sous forme d'attribut (voir ci-dessous pour plus de détails). +
+ `CurrentSpan` + + Fournit l'accès à l'[exécution](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ISpan) en cours, qui donne accès aux méthodes spécifiques à l&apos;exécution dans l&apos;API New Relic (voir ci-dessous pour plus de détails). +
+ `SetUserId` + + Associe un identifiant utilisateur à la transaction en cours (voir ci-dessous pour plus de détails). +
+ `RecordDatastoreSegment` + + Permet d'instrumenter un datastore non pris en charge (voir ci-dessous pour plus de détails). +
+ + + + ### Syntaxe + + ```cs + void InsertDistributedTraceHeaders(carrier, setter) + ``` + + Ajoute des données du[ traçage distribué](/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent/#manual-instrumentation) à un message sortant vers un autre service instrumenté. + + ### Description + + `ITransaction.InsertDistributedTraceHeaders` modifie l&apos;objet porteur qui est transmis en ajoutant des en-têtes W3C Trace Context et des en-têtes de traces distribuées New Relic . Les en-têtes New Relic peuvent être désactivés avec `` dans la configuration. + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `carrier` + + *<T>* + + Requis. Un magasin de paires de valeurs clés où sont insérées les données de traçage distribué. Cela doit exister dans tout objet de message transmis du service appelant au service appelé, via le transport utilisé. Par exemple, pour les messages Azure Service Bus, le type `ServiceBusMessage` possède une [propriété`ApplicationProperties` ](https://learn.microsoft.com/en-us/dotnet/api/azure.messaging.servicebus.servicebusmessage.applicationproperties?view=azure-dotnet#azure-messaging-servicebus-servicebusmessage-applicationproperties)qui est un `IDictionary`. Lorsque vous souhaitez implémenter un traçage personnalisé distribué pour un canal de communication non instrumenté (par exemple un fichier d&apos;attente de messages), vous devez déterminer quelle option de stockage de paires valeur-clé (opérateur) existe pour ce canal. +
+ `setter` + + *Action<T, string, string>* + + Requis. Une action définie par l'utilisateur pour insérer des données de traçage dans le support. Voir l'exemple ci-dessous. +
+ + ### Considérations d'utilisation + + * [Le traçage distribué doit être activé](/docs/agents/net-agent/configuration/net-agent-configuration#distributed_tracing). + * Cette API ne peut être utilisée que dans le contexte d'une [transaction](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/#new-existing) existante. + + ### Exemple + + Vous pouvez trouver un exemple complet que vous pouvez créer et exécuter pour démontrer l'utilisation de cette API [ici](https://github.com/newrelic/newrelic-dotnet-examples/tree/main/custom-distributed-tracing). + + ```cs + // Get a reference to the agent, which lets you get a reference to the current transaction + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction currentTransaction = agent.CurrentTransaction; + + // In this example, we are using Azure Service Bus. The `ServiceBusMessage` type has an `ApplicationProperties` property for custom key/value pairs. + + // Create the outbound message + ServiceBusMessage message = new ("Hello, world!"); + + // Define the setter Action. The `ApplicationProperties` dictionary is the trace data carrier. + var setter = new Action((carrier, key, value) => { carrier.ApplicationProperties?.Set(key, value); }); + + // Call the API to add the distributed tracing data to the message + currentTransaction.InsertDistributedTraceHeaders(message, setter); + + // Send the message + ``` +
+ + + ### Syntaxe + + ```cs + void AcceptDistributedTraceHeaders(carrier, getter, transportType) + ``` + + Accepte les données de[traçage distribué](/docs/apm/agents/net-agent/configuration/distributed-tracing-net-agent/#manual-instrumentation) à partir d&apos;un message entrant provenant d&apos;un autre service instrumenté. + + ### Description + + `ITransaction.AcceptDistributedTraceHeaders` est utilisé pour lier les étendues d&apos;une trace en acceptant une charge générée par [`InsertDistributedTraceHeaders`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#InsertDistributedTraceHeaders) ou générée par un autre traceur compatible W3C Trace Context . Cette méthode accepte la valeur clé stockée à partir d&apos;une requête entrante, recherche les W3C Trace Context données et, si elle ne les trouve pas, revient aux New Relic tracedonnées distribuées . + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `carrier` + + *<T>* + + Requis. Un magasin de paires valeur-clé dans lequel lesdonnées de traçage distribué a été inséré par le service appelant. Cela doit exister dans tout objet de message transmis du service appelant au service appelé, via le transport utilisé. Par exemple, pour les messages Azure Service Bus, le type `ServiceBusReceivedMessage` possède une [propriété`ApplicationProperties` ](https://learn.microsoft.com/en-us/dotnet/api/azure.messaging.servicebus.servicebusmessage.applicationproperties?view=azure-dotnet#azure-messaging-servicebus-servicebusmessage-applicationproperties)qui est un `IDictionary`. Lorsque vous souhaitez implémenter un traçage personnalisé distribué pour un canal de communication non instrumenté (par exemple un fichier d&apos;attente de messages), vous devez déterminer quelle option de stockage de paires valeur-clé (opérateur) existe pour ce canal. +
+ `getter` + + *Func<T, string, IEnumerable<string>>* + + Requis. Une fonction définie par l'utilisateur pour extraire les données de traçage du transporteur. Voir l'exemple ci-dessous. +
+ `transportType` + + *Énumération TransportType* + + Requis. Décrit le transport de la charge utile entrante (par exemple `TransportType.Queue`). La liste complète est définie [ici](https://github.com/newrelic/newrelic-dotnet-agent/blob/main/src/Agent/NewRelic.Api.Agent/Constants.cs). +
+ + ### Considérations d'utilisation + + * [Le traçage distribué doit être activé](/docs/agents/net-agent/configuration/net-agent-configuration#distributed_tracing). + * Cette API ne peut être utilisée que dans le contexte d'une [transaction](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/#new-existing) existante. + * `AcceptDistributedTraceHeaders` sera ignoré si `InsertDistributedTraceHeaders` ou `AcceptDistributedTraceHeaders` a déjà été appelé pour cette transaction. + + ### Exemple + + Vous pouvez trouver un exemple complet que vous pouvez créer et exécuter pour démontrer l'utilisation de cette API [ici](https://github.com/newrelic/newrelic-dotnet-examples/tree/main/custom-distributed-tracing) + + ```cs + // Get a reference to the agent, which lets you get a reference to the current transaction + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction currentTransaction = agent.CurrentTransaction; + + // In this example, we are using Azure Service Bus. The `ServiceBusMessage` type has an `ApplicationProperties` property for custom key/value pairs. + + // Recieve an incoming message. Assume that `receiver` is a previously-configured `ServiceBusReceiver` + ServiceBusReceivedMessage message = await receiver.ReceiveMessageAsync(); + + // Define the getter Func. The `ApplicationProperties` dictionary is the trace data carrier. + IEnumerable Getter(IDictionary carrier, string key) + { + var data = new List(); + if (carrier == null) + { + return data; + } + object value; + if (applicationProperties.TryGetValue(key, out value)) + { + if (value != null) + { + data.Add(value.ToString()); + } + } + return data; + } + + // Call the API to accept the distributed tracing data from the message + currentTransaction.AcceptDistributedTraceHeaders(message.ApplicationProperties, Getter, TransportType.Queue); + + ``` +
+ + + ### Syntaxe + + ```cs + ITransaction AddCustomAttribute(string key, object value) + ``` + + Ajoute des informations contextuelles sur votre application à la transaction en cours sous la forme d'[attribut](/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute). + + Cette méthode nécessite la agent version .NET et la version de .NET API agent [8.24.244.0](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-8242440) ou supérieure. Il a remplacé le `AddCustomParameter` obsolète. + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `key` + + *chaîne* + + Identifie les informations rapportées. Également connu sous le nom. + + * Les clés vides ne sont pas prises en charge. + * Les clés sont limitées à 255 octets. les attributs avec des clés supérieures à 255 octets seront ignorés. +
+ `value` + + *objet* + + La valeur signalée. + + **Remarque**: les valeurs `null` ne seront pas enregistrées. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type .NET + + Comment la valeur sera représentée +
+ `byte`, `Int16`, `Int32`, `Int64` + + `sbyte`, `UInt16`, `UInt32`, `UInt64` + + En tant que valeur intégrale. +
+ `float`, `double`, `decimal` + + Un nombre décimal. +
+ `string` + + Une chaîne tronquée après 255 octets. + + Les chaînes vides sont prises en charge. +
+ `bool` + + Vrai ou faux. +
+ `DateTime` + + Une représentation de chaîne suivant le format ISO-8601, incluant des informations sur le fuseau horaire : + + Exemple: `2020-02-13T11:31:19.5767650-08:00` +
+ `TimeSpan` + + Un nombre décimal représentant le nombre de secondes. +
+ tout le reste + + La méthode `ToString()` sera appliquée. Les types personnalisés doivent avoir une implémentation de `Object.ToString()` sinon ils généreront une exception. +
+ + ### Retours + + Une référence à la transaction en cours. + + ### Considérations d'utilisation + + Pour plus de détails sur les types de données pris en charge, voir [attribut personnalisé](/docs/agents/net-agent/attributes/custom-attributes). + + ### Exemple + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction transaction = agent.CurrentTransaction; + transaction.AddCustomAttribute("customerName","Bob Smith") + .AddCustomAttribute("currentAge",31) + .AddCustomAttribute("birthday", new DateTime(2000, 02, 14)) + .AddCustomAttribute("waitTime", TimeSpan.FromMilliseconds(93842)); + ``` +
+ + + Fournit l'accès à [l'](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ISpan) exécution en cours, rendant les méthodes spécifiques à l&apos;exécution disponibles dans l&apos;API New Relic. + + ### Exemple + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction transaction = agent.CurrentTransaction; + ISpan currentSpan = transaction.CurrentSpan; + ``` + + + + ### Syntaxe + + ```cs + ITransaction SetUserId(string userId) + ``` + + Associe un identifiant utilisateur à la transaction en cours. + + Cette méthode nécessite agent .NET et API d'agent .NET [version 10.9.0](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-1090) ou supérieure. + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `userId` + + *chaîne* + + L'identifiant utilisateur à associer à cette transaction. + + * `null`, les valeurs vides et les espaces seront ignorées. +
+ + ### Exemple + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITransaction transaction = agent.CurrentTransaction; + transaction.SetUserId("BobSmith123"); + ``` +
+ + + ### Syntaxe + + ```cs + SegmentWrapper? RecordDatastoreSegment(string vendor, string model, string operation, string? commandText = null, string? host = null, string? portPathOrID = null, string? databaseName = null) + ``` + + Permet à un datastore non pris en charge d'être instrumenté de la même manière que l'agent .NET instrumente automatiquement ses magasins de données pris en charge. + + Cette méthode nécessite agent .NET et API d'agent .NET [version 10.22.0](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-10-22-0/) ou supérieure. + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `vendor` + + *chaîne* + + nom du fournisseur du magasin de données, tel que MySQL, MSSQL ou MongoDB. +
+ `model` + + *chaîne* + + Nom de table ou identifiant similaire dans une datastore non relationnelle. +
+ `operation` + + *chaîne* + + Opération en cours d'exécution, telle que « SELECT » ou « UPDATE » pour la base de données SQL. +
+ `commandText` + + *chaîne?* + + Facultatif. requête, ou descripteur similaire dans une datastore non relationnelle. +
+ `host` + + *chaîne?* + + Facultatif. Serveur hébergeant le datastore. +
+ `portPathOrID` + + *chaîne?* + + Facultatif. Port, chemin ou autre identifiant, associé à l'hôte pour faciliter l'identification du datastore. +
+ `databaseName` + + *chaîne?* + + Facultatif. nom de la banque de données ou identifiant similaire. +
+ + ### Retours + + Wrapper de segment IDisposable qui crée et termine le segment automatiquement. + + ### Exemple + + ```cs + var transaction = NewRelic.Api.Agent.NewRelic.GetAgent().CurrentTransaction; + using (transaction.RecordDatastoreSegment(vendor, model, operation, + commandText, host, portPathOrID, databaseName)) + { + DatastoreWorker(); + } + ``` +
+
+
+ + + ### Syntaxe + + ```cs + Public interface ISpan + ``` + + Fournit l'accès aux méthodes spécifiques à l'étendue dans l'API New Relic. + + ### Description + + Fournit l'accès aux méthodes spécifiques à span dans New Relic API agentl'.NET de . Pour obtenir une référence à `ISpan`, utilisez : + + * La propriété `CurrentSpan` sur [`IAgent`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IAgent) (recommandé). + * La propriété `CurrentSpan` sur [`ITransaction`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#ITransaction). + + Cette section contient des descriptions et des paramètres des méthodes `ISpan` : + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `AddCustomAttribute` + + Ajoutez des informations contextuelles de votre application à la plage actuelle sous forme d'attribut (voir ci-dessous pour plus de détails). +
+ `SetName` + + Modifie le nom de la plage/du segment/des métriques actuels qui seront signalés à New Relic (voir ci-dessous pour plus de détails). +
+ + + + Ajoute des informations contextuelles sur votre application à la plage actuelle sous la forme d'[attribut](/docs/using-new-relic/welcome-new-relic/get-started/glossary#attribute). + + Cette méthode nécessite la agent version .NET et la API agent [version de .NET](/docs/release-notes/agent-release-notes/net-release-notes/net-agent-8242440) 8.25 ou supérieure. + + ### Syntaxe + + ```cs + ISpan AddCustomAttribute(string key, object value) + ``` + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `key` + + *chaîne* + + Identifie les informations rapportées. Également connu sous le nom. + + * Les clés vides ne sont pas prises en charge. + * Les clés sont limitées à 255 octets. les attributs avec des clés supérieures à 255 octets seront ignorés. +
+ `value` + + *objet* + + La valeur signalée. + + **Remarque**: les valeurs `null` ne seront pas enregistrées. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Type .NET + + Comment la valeur sera représentée +
+ `byte`, `Int16`, `Int32`, `Int64` + + `sbyte`, `UInt16`, `UInt32`, `UInt64` + + En tant que valeur intégrale. +
+ `float`, `double`, `decimal` + + Un nombre décimal. +
+ `string` + + Une chaîne tronquée après 255 octets. + + Les chaînes vides sont prises en charge. +
+ `bool` + + Vrai ou faux. +
+ `DateTime` + + Une représentation de chaîne suivant le format ISO-8601, incluant des informations sur le fuseau horaire : + + Exemple: `2020-02-13T11:31:19.5767650-08:00` +
+ `TimeSpan` + + Un nombre décimal représentant le nombre de secondes. +
+ tout le reste + + La méthode `ToString()` sera appliquée. Les types personnalisés doivent avoir une implémentation de `Object.ToString()` sinon ils généreront une exception. +
+
+ + ### Retours + + Une référence à la durée actuelle. + + ### Considérations d'utilisation + + Pour plus de détails sur les types de données pris en charge, consultez le [guide des attributs personnalisés](/docs/agents/net-agent/attributes/custom-attributes). + + ### Exemples + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ISpan currentSpan = agent.CurrentSpan; + + currentSpan + .AddCustomAttribute("customerName","Bob Smith") + .AddCustomAttribute("currentAge",31) + .AddCustomAttribute("birthday", new DateTime(2000, 02, 14)) + .AddCustomAttribute("waitTime", TimeSpan.FromMilliseconds(93842)); + ``` +
+ + + Modifie le nom du segment/de la plage actuelle qui sera signalé à New Relic. Pour les segments/étendues résultant d'une instrumentation personnalisée, le nom de la métrique signalé à New Relic sera également modifié. + + Cette méthode nécessite la agent version .NET et la API agent version de l'.NET 10.1.0 ou supérieur. + + ### Syntaxe + + ```cs + ISpan SetName(string name) + ``` + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `name` + + *chaîne* + + Le nouveau nom du span/segment. +
+ + ### Retours + + Une référence à la durée actuelle. + + ### Exemples + + ```cs + [Trace] + public void MyTracedMethod() + { + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ISpan currentSpan = agent.CurrentSpan; + + currentSpan.SetName("MyCustomName"); + } + ``` +
+
+
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.IgnoreApdex() + ``` + + Ignorer la transaction en cours lors du calcul de l'Apdex. + + ### Exigences + + Compatible avec toutes les versions d'agent. + + ### Description + + Ignore la transaction en cours lors du calcul de votre [score Apdex](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction). Cela est utile lorsque vous avez des transactions très courtes ou très longues (telles que des téléchargements de fichiers) qui peuvent fausser votre score Apdex. + + ### Exemples + + ```cs + NewRelic.Api.Agent.NewRelic.IgnoreApdex(); + ``` + + + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.IgnoreTransaction() + ``` + + N'instrumentez pas la transaction en cours. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Doit être appelé à l'intérieur d'une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). + + ### Description + + Ignore la transaction en cours. + + + Vous pouvez également ignorer les transactions [via un fichier XML instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/add-detail-transactions-xml-net#blocking-instrumentation). + + + ### Exemples + + ```cs + NewRelic.Api.Agent.NewRelic.IgnoreTransaction(); + ``` + + + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.IncrementCounter(string $metric_name) + ``` + + Incrémentez le compteur d'une métrique personnalisée de 1. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Incrémentez le compteur d'une [métrique personnalisée](/docs/agents/manage-apm-agents/agent-metrics/custom-metrics) de 1. Pour afficher ces métriques personnalisées, utilisez le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data) pour rechercher des métriques et créer des graphiques personnalisables. Voir aussi [`RecordMetric()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#RecordMetric) et [`RecordResponseTimeMetric()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#RecordResponseTimeMetric). + + + Lors de la création d'une métrique personnalisée, commencez le nom par `Custom/` (par exemple, `Custom/MyMetric`). Pour en savoir plus sur la dénomination, voir [Collecter des métriques personnalisées](/docs/apm/agents/manage-apm-agents/agent-data/collect-custom-metrics/). + + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$metric_name` + + *chaîne* + + Requis. Le nom de la métrique à incrémenter. +
+ + ### Exemples + + ```cs + NewRelic.Api.Agent.NewRelic.IncrementCounter("Custom/ExampleMetric"); + ``` +
+ + + ### Surcharges [#overloads] + + Notez une erreur et signalez-la à New Relic, avec l'attribut personnalisé facultatif. + + ```cs + NewRelic.Api.Agent.NewRelic.NoticeError(Exception $exception); + NewRelic.Api.Agent.NewRelic.NoticeError(Exception $exception, IDictionary $attributes); + NewRelic.Api.Agent.NewRelic.NoticeError(string $error_message, IDictionary $attributes); + NewRelic.Api.Agent.NewRelic.NoticeError(string $error_message, IDictionary $attributes, bool $is_expected); + ``` + + ### Exigences + + Cet appel d'API est compatible avec : + + * Toutes les versions agent + * Tous les types d'applications + + ### Description + + Notez une erreur et signalez-la à New Relic avec l'attribut personnalisé facultatif. Pour chaque transaction, l'agent conserve uniquement l'exception et l'attribut du premier appel à `NoticeError()`. Vous pouvez transmettre une exception réelle ou transmettre une chaîne pour capturer un message d&apos;erreur arbitraire. + + Si cette méthode est invoquée dans une [transaction](/docs/glossary/glossary/#transaction), l&apos;agent signale l&apos;exception dans la transaction parent. S&apos;il est invoqué en dehors d&apos;une transaction, l&apos;agent crée une [d'erreur trace](/docs/errors-inbox/apm-tab//#trace-details) et catégorise l&apos;erreur dans l&apos;UI de New Relic comme un appel d&apos;API `NewRelic.Api.Agent.NoticeError`. Si invoqué en dehors d&apos;une transaction, l&apos;appel `NoticeError()` ne contribuera pas au taux d&apos;erreur d&apos;une application. + + L'agent ajoute l'attribut uniquement à l'erreur de trace ; il ne l'envoie pas à New Relic. Pour plus d'informations, voir [`AddCustomAttribute()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#AddCustomAttribute). + + Les erreurs signalées avec cette API sont toujours envoyées à New Relic lorsqu'elles sont signalées dans une transaction qui génère un code d'état HTTP, tel que `404`, qui est configuré pour être ignoré par la configuration de l&apos;agent. Pour plus d&apos;informations, consultez notre documentation sur [la gestion des erreurs dans APM](/docs/apm/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected). + + Consultez les sections ci-dessous pour voir des exemples d’utilisation de cet appel. + + + + ```cs + NewRelic.Api.Agent.NewRelic.NoticeError(Exception $exception) + ``` + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$exception` + + *Exception* + + Requis. Le `Exception` que vous souhaitez instrument. Seuls les 10 000 premiers caractères de la trace d&apos;appels sont conservés. +
+
+ + + ```cs + NewRelic.Api.Agent.NewRelic.NoticeError(Exception $exception, IDictionary $attributes) + ``` + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$exception` + + *Exception* + + Requis. Le `Exception` que vous souhaitez instrument. Seuls les 10 000 premiers caractères de la trace d&apos;appels sont conservés. +
+ `$attributes` + + *IDictionary<TKey, TValue>* + + Spécifiez les paires valeur clé d'attribut pour annoter le message d'erreur. Le `TKey` doit être une chaîne, le `TValue` peut être une chaîne ou un objet. +
+
+ + + ```cs + NewRelic.Api.Agent.NewRelic.NoticeError(string $error_message, IDictionary $attributes) + ``` + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$error_message` + + *chaîne* + + Requis. Spécifiez une chaîne à signaler à New Relic comme s'il s'agissait d'une exception. Cette méthode crée à la fois [un événement d'erreur et une trace d'erreur](/docs/errors-inbox/apm-tab/#events). Seuls les 1023 premiers caractères sont conservés dans l&apos;événement d&apos;erreur, tandis que la trace d&apos;erreur conserve le message complet. +
+ `$attributes` + + *IDictionary<TKey, TValue>* + + Obligatoire (peut être nul). Spécifiez les paires valeur clé d'attribut pour annoter le message d'erreur. Le `TKey` doit être une chaîne, le `TValue` peut être une chaîne ou un objet, pour n&apos;envoyer aucun attribut, passez `null`. +
+
+ + + ```cs + NewRelic.Api.Agent.NewRelic.NoticeError(string $error_message, IDictionary $attributes, bool $is_expected) + ``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$error_message` + + *chaîne* + + Requis. Spécifiez une chaîne à signaler à New Relic comme s'il s'agissait d'une exception. Cette méthode crée à la fois [un événement d'erreur et une trace d'erreur](/docs/tutorial-error-tracking/respond-outages/). Seuls les 1023 premiers caractères sont conservés dans l&apos;événement d&apos;erreur, tandis que la trace d&apos;erreur conserve le message complet. +
+ `$attributes` + + *IDictionary<TKey, TValue>* + + Obligatoire (peut être nul). Spécifiez les paires valeur clé d'attribut pour annoter le message d'erreur. Le `TKey` doit être une chaîne, le `TValue` peut être une chaîne ou un objet, pour n&apos;envoyer aucun attribut, passez `null`. +
+ `$is_expected` + + *booléen* + + Marquez l'erreur comme prévue afin qu'elle n'affecte pas le score Apdex et le taux d'erreur. +
+
+
+ + ### Exemples + + #### Passer une exception sans attribut personnalisé + + ```cs + try + { + string ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + NewRelic.Api.Agent.NewRelic.NoticeError(ex); + } + ``` + + #### Passer une exception avec l'attribut personnalisé + + ```cs + try + { + string ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + var errorAttributes = new Dictionary() {{"foo", "bar"},{"baz", "luhr"}}; + NewRelic.Api.Agent.NewRelic.NoticeError(ex, errorAttributes); + } + ``` + + #### Passer une chaîne de message d'erreur avec l'attribut personnalisé + + ```cs + try + { + string ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + var errorAttributes = new Dictionary{{"foo", "bar"},{"baz", "luhr"}}; + NewRelic.Api.Agent.NewRelic.NoticeError("String error message", errorAttributes); + } + ``` + + #### Passer une chaîne de message d'erreur sans attribut personnalisé + + ```cs + try + { + string ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + NewRelic.Api.Agent.NewRelic.NoticeError("String error message", null); + } + ``` + + #### Transmettez une chaîne de message d’erreur et marquez-la comme prévu + + ```cs + try + { + string ImNotABool = "43"; + bool.Parse(ImNotABool); + } + catch (Exception ex) + { + NewRelic.Api.Agent.NewRelic.NoticeError("String error message", null, true); + } + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.RecordCustomEvent(string eventType, IEnumerable attributeValues) + ``` + + Enregistre un événement personnalisé avec le prénom et l'attribut. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Enregistre un [événement personnalisé](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data#event-data) avec le prénom et l&apos;attribut, que vous pouvez requêter dans le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/introduction-query-builder). Pour vérifier si un événement est enregistré correctement, recherchez les données dans [le dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards). + + + * L'envoi d'un grand nombre d'événements peut augmenter la charge mémoire de l'agent. + * De plus, les messages d'une taille supérieure à 1 Mo (10^6 octets) ne seront pas enregistrés, quel que soit le nombre maximum d'événements. + * événement personnalisé est limité à 64 attributs. + * Pour plus d'informations sur la façon dont les valeurs d'attribut personnalisé sont traitées, consultez le guide [d'attribut personnalisé](/docs/agents/net-agent/attributes/custom-attributes) . + + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `eventType` + + *chaîne* + + Requis. Le nom du type d'événement à enregistrer. Les chaînes de plus de 255 caractères entraîneront que l'appel d'API ne sera pas envoyé à New Relic. Le nom ne peut contenir que des caractères alphanumériques, des traits de soulignement `_` et des deux points `:`. Pour des restrictions supplémentaires sur les noms de types d&apos;événements, voir [Mots réservés](/docs/data-apis/custom-data/custom-events/data-requirements-limits-custom-event-data/#reserved-words). +
+ `attributeValues` + + *IEnumerable<string, object>* + + Requis. Spécifiez les paires valeur clé d'attribut pour annoter l'événement. +
+ + ### Exemples + + #### Valeurs d'enregistrement [#record-strings] + + ```cs + var eventAttributes = new Dictionary() + { +   {"foo", "bar"}, +   {"alice", "bob"}, +   {"age", 32}, +   {"height", 21.3f} + }; + + NewRelic.Api.Agent.NewRelic.RecordCustomEvent("MyCustomEvent", eventAttributes); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.RecordMetric(string $metric_name, single $metric_value) + ``` + + Enregistre une métrique personnalisée avec le prénom. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Enregistre une [métrique personnalisée](/docs/agents/manage-apm-agents/agent-metrics/custom-metrics) avec le prénom. Pour afficher ces métriques personnalisées, utilisez le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data) pour rechercher des métriques et créer des graphiques personnalisables. Voir aussi [`IncrementCounter()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IncrementCounter) et [`RecordResponseTimeMetric()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#RecordResponseTimeMetric). + + + Lors de la création d'une métrique personnalisée, commencez le nom par `Custom/` (par exemple, `Custom/MyMetric`). + + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$metric_name` + + *chaîne* + + Requis. Le nom de la métrique à enregistrer. Seuls les 255 premiers caractères sont conservés. +
+ `$metric_value` + + *célibataire* + + Requis. La quantité à enregistrer pour la métrique. +
+ + ### Exemples + + #### Enregistrer le temps de réponse d'un processus en veille [#record-stopwatch] + + ```cs + Stopwatch stopWatch = Stopwatch.StartNew(); + System.Threading.Thread.Sleep(5000); + stopWatch.Stop(); + NewRelic.Api.Agent.NewRelic.RecordMetric("Custom/DEMO_Record_Metric", stopWatch.ElapsedMilliseconds); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.RecordResponseTimeMetric(string $metric_name, Int64 $metric_value) + ``` + + Enregistre une métrique personnalisée avec le prénom et le temps de réponse en millisecondes. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Enregistre le temps de réponse en millisecondes pour une [métrique personnalisée](/docs/agents/manage-apm-agents/agent-metrics/custom-metrics). Pour afficher ces métriques personnalisées, utilisez le [générateur de requêtes](/docs/query-your-data/explore-query-data/query-builder/use-advanced-nrql-mode-specify-data) pour rechercher des métriques et créer des graphiques personnalisables. Voir aussi [`IncrementCounter()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#IncrementCounter) et [`RecordMetric()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#RecordMetric). + + + Lors de la création d'une métrique personnalisée, commencez le nom par `Custom/` (par exemple, `Custom/MyMetric`). + + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$metric_name` + + *chaîne* + + Requis. Le nom du temps de réponse métrique à enregistrer. Seuls les 255 premiers caractères sont conservés. +
+ `$metric_value` + + *Int64* + + Requis. Le temps de réponse à l'enregistrement en millisecondes. +
+ + ### Exemples + + #### Enregistrer le temps de réponse d'un processus en veille [#record-stopwatch] + + ```cs + Stopwatch stopWatch = Stopwatch.StartNew(); + System.Threading.Thread.Sleep(5000); + stopWatch.Stop(); + NewRelic.Api.Agent.NewRelic.RecordResponseTimeMetric("Custom/DEMO_Record_Response_Time_Metric", stopWatch.ElapsedMilliseconds); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.SetApplicationName(string $name[, string $name_2, string $name_3]) + ``` + + Définissez le nom de l'application pour rollup des données. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Définissez le(s) nom(s) d'application signalé(s) à New Relic. Pour plus d’informations sur la dénomination des applications, voir [Nommez votre application .NET](/docs/agents/net-agent/installation-configuration/name-your-net-application). Cette méthode est destinée à être appelée une fois, lors du démarrage d&apos;une application. + + + La mise à jour du nom de l'application force l'agent à redémarrer. L'agent supprime toutes les données non signalées associées aux noms d'application précédents. Il n'est pas recommandé de modifier le nom de l'application plusieurs fois au cours du cycle de vie d'une application en raison de la perte de données associée. + + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$name` + + *chaîne* + + Requis. Le nom de l'application principale. +
+ `$name_2` + + `$name_3` + + *chaîne* + + Facultatif. Deuxième et troisième noms pour rollup d'applications. Pour plus d'informations, voir [Utiliser plusieurs noms pour une application](/docs/agents/manage-apm-agents/app-naming/use-multiple-names-app). +
+ + ### Exemples + + ```cs + NewRelic.Api.Agent.NewRelic.SetApplicationName("AppName1", "AppName2"); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(Func, string> errorGroupCallback); + ``` + + Fournissez une méthode de rappel qui prend un `IReadOnlyDictionary` de données d’attribut et renvoie un nom de groupe d’erreurs. + + ### Exigences + + Cet appel d'API est compatible avec : + + * Version de l'agent 10.9.0 ou supérieure. + * Tous les types d'applications + + ### Description + + Définissez une méthode de rappel que l'agent utilisera pour déterminer le nom du groupe d'erreurs pour l'événement d'erreur et la trace. Ce nom est utilisé dans la Errors Inbox pour regrouper les erreurs en groupes logiques. + + La méthode de rappel doit accepter un seul argument de type `IReadOnlyDictionary` et renvoyer une chaîne (le nom du groupe d&apos;erreurs). Le `IReadOnlyDictionary` est une collection de [données d'attribut](/docs/apm/agents/manage-apm-agents/agent-data/agent-attributes/) associées à chaque événement d&apos;erreur, y compris les attributs personnalisés. + + La liste exacte des attributs disponibles pour chaque erreur varie en fonction de : + + * Quel code d'application a généré l'erreur + * Paramètres de configuration de l'agent + * Si des attributs personnalisés ont été ajoutés + + Cependant, l'attribut suivant doit toujours exister : + + * `error.class` + * `error.message` + * `stack_trace` + * `transactionName` + * `request.uri` + * `error.expected` + + Une chaîne vide peut être renvoyée pour le nom du groupe d'erreurs lorsque l'erreur ne peut pas être attribuée à un groupe d'erreurs logique. + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$callback` + + *'Func<IReadOnlyDictionary<string,object>,string>'* + + Le rappel pour déterminer le nom du groupe d'erreurs en fonction des données d'attribut. +
+ + ### Exemples + + Regrouper les erreurs par nom de classe d'erreur : + + ```cs + Func, string> errorGroupCallback = (attributes) => { + string errorGroupName = string.Empty; + if (attributes.TryGetValue("error.class", out var errorClass)) + { + if (errorClass.ToString() == "System.ArgumentOutOfRangeException" || errorClass.ToString() == "System.ArgumentNullException") + { + errorGroupName = "ArgumentErrors"; + } + else + { + errorGroupName = "OtherErrors"; + } + } + return errorGroupName; + }; + + NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(errorGroupCallback); + ``` + + Regrouper les erreurs par nom de transaction : + + ```cs + Func, string> errorGroupCallback = (attributes) => { + string errorGroupName = string.Empty; + if (attributes.TryGetValue("transactionName", out var transactionName)) + { + if (transactionName.ToString().IndexOf("WebTransaction/MVC/Home") != -1) + { + errorGroupName = "HomeControllerErrors"; + } + else + { + errorGroupName = "OtherControllerErrors"; + } + } + return errorGroupName; + }; + + NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(errorGroupCallback); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.SetTransactionName(string $category, string $name) + ``` + + Définit le nom de la transaction en cours. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Doit être appelé à l'intérieur d'une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). + + ### Description + + Définissez un nom de transaction personnalisé, à ajouter après un préfixe initial (`WebTransaction` ou `OtherTransaction`) en fonction du type de transaction en cours. Avant d’utiliser cet appel, assurez-vous de bien comprendre les implications des [problèmes de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues). + + Si vous utilisez cet appel plusieurs fois au sein de la même transaction, chaque appel écrase l'appel précédent et le dernier appel définit le nom. + + + N'utilisez pas de crochets `[suffix]` à la fin du nom de votre transaction. New Relic supprime automatiquement les crochets du nom. Utilisez plutôt des parenthèses `(suffix)` ou d’autres symboles si nécessaire. + + + Les valeurs uniques telles que les URL, les titres de page, les valeurs hexadécimales, les identifiants de session et les valeurs identifiables de manière unique ne doivent pas être utilisées pour nommer vos transactions. Ajoutez plutôt ces données à la transaction en tant que paramètre personnalisé avec l’appel [`AddCustomAttribute()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#AddCustomAttribute) . + + + Ne créez pas plus de 1 000 noms de transaction uniques (par exemple, évitez de nommer par URL si possible). Cela rendra vos graphiques moins utiles et vous risquez de rencontrer les limites fixées par New Relic sur le nombre de noms de transaction uniques par compte. Cela peut également ralentir les performances de votre application. + + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$category` + + *chaîne* + + Requis. La catégorie de cette transaction, que vous pouvez utiliser pour distinguer différents types de transactions. La valeur par défaut est **`Custom`**. Seuls les 255 premiers caractères sont conservés. +
+ `$name` + + *chaîne* + + Requis. Le nom de la transaction. Seuls les 255 premiers caractères sont conservés. +
+ + ### Exemples + + Cet exemple montre l’utilisation de cette API dans un contrôleur ASP.NET Core MVC. Une transaction est créée automatiquement par l'agent de instrumentation pour ASP.NET Core. La première partie du nom de la transaction continuera d’être `WebTransaction`. + + ```cs + public class HomeController : Controller + { + + public IActionResult Order(string product) + { + + // The commented-out API call below is probably a bad idea and will lead to a metric grouping issue (MGI) + // because too many transaction names will be created. Don't do this. + //NewRelic.Api.Agent.NewRelic.SetTransactionName("Other", $"ProductOrder-{product}"); + + // Do this instead if you want to record request-specific data about this MVC endpoint + var tx = NewRelic.Api.Agent.NewRelic.GetAgent().CurrentTransaction; + tx.AddCustomAttribute("productName", product); + + // The default transaction name at this point will be: WebTransaction/MVC/Home/Order + + // Set custom transaction name + NewRelic.Api.Agent.NewRelic.SetTransactionName("Other", "OrderProduct"); + + // Transaction name is now: WebTransaction/Other/OrderProduct + + return View(); + } + } + ``` + + Cet exemple montre l'utilisation de cette API dans une application console. Notez l'attribut instrumentation personnalisée `[Transaction]`, qui est nécessaire pour créer une transaction pour la méthode d&apos;exemple. La première partie du nom de la transaction continuera d’être `OtherTransaction`. + + ```cs + using NewRelic.Api.Agent; + + namespace SetApplicationNameConsoleExample + { + internal class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello, World!"); + + var start = DateTime.Now; + while (DateTime.Now - start < TimeSpan.FromMinutes(2)) + { + DoSomething(); + Thread.Sleep(TimeSpan.FromSeconds(5)); + } + } + + [Transaction] // Attribute-based custom instrumentation to create a transaction for this method + static void DoSomething() + { + Console.WriteLine("Doing something: " + Guid.NewGuid().ToString()); + + // Transaction name from default naming at this point is: OtherTransaction/Custom/SetApplicationNameConsoleExample.Program/DoSomething + + NewRelic.Api.Agent.NewRelic.SetTransactionName("Console", "MyCustomTransactionName"); + + // Transaction name at this point is: OtherTransaction/Console/MyCustomTransactionName + + // Note, however, that this transaction will still have a child segment (span) named "SetApplicationNameConsoleExample.Program.DoSomething" + } + } + } + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.SetTransactionUri(Uri $uri) + ``` + + Définit l'URI de la transaction en cours. + + ### Exigences + + * Doit être appelé à l'intérieur d'une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). + * Version de l'agent 6.16 ou supérieure. + + + Cette méthode ne fonctionne que lorsqu'elle est utilisée dans une transaction créée à l'aide de l'attribut `Transaction` avec la propriété `Web` définie sur `true`. (Voir [instrumentation personnalisée via attribut](/docs/agents/net-agent/api-guides/net-agent-api-instrument-using-attributes).) Il fournit un support pour un framework Web personnalisé que l&apos;agent ne prend pas automatiquement en charge. + + + ### Description + + Définissez l'URI de la transaction en cours. L'URI apparaît dans l'attribut `request.uri` de [la trace de transaction](/docs/apm/transactions/transaction-traces/transaction-traces) et [de l'événement de transaction](/docs/using-new-relic/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data), et il peut également affecter la dénomination de la transaction. + + Si vous utilisez cet appel plusieurs fois au sein de la même transaction, chaque appel écrase l'appel précédent. Le dernier appel définit l'URI. + + **Remarque**: à partir de la version 8.18 de l&apos;agent, la valeur de l&apos;attribut `request.uri` est définie sur la valeur de la propriété `Uri.AbsolutePath` de l&apos;objet `System.Uri` transmis à l&apos;API. + + ### Paramètres + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$uri` + + *Uri* + + L'URI de cette transaction. +
+ + ### Exemples + + ```cs + var uri = new System.Uri("https://www.mydomain.com/path"); + NewRelic.Api.Agent.NewRelic.SetTransactionUri(uri); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.SetUserParameters(string $user_value, string $account_value, string $product_value) + ``` + + Créez un attribut personnalisé lié à l'utilisateur. [`AddCustomAttribute`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#AddCustomAttribute) est plus flexible. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Doit être appelé à l'intérieur d'une [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). + + ### Description + + + Cet appel vous permet uniquement d'attribuer des valeurs à des clés préexistantes. Pour une méthode plus flexible pour créer des paires valeur-clé, utilisez [`AddCustomAttribute()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#AddCustomAttribute). + + + Définissez [l'attribut personnalisé](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#AddCustomAttribute)lié à l&apos;utilisateur à associer à une vue de page du navigateur (nom d&apos;utilisateur, nom de compte et nom de produit). Les valeurs sont automatiquement associées aux clés préexistantes (`user`, `account` et `product`), puis attachées à la transaction APM parent. Vous pouvez également [joindre (ou « transférer ») ces attributs](/docs/insights/new-relic-insights/decorating-events/insights-custom-attributes#forwarding-attributes) à l&apos;événement [PageView](/docs/agents/manage-apm-agents/agent-metrics/agent-attributes#destinations) du navigateur. + + ### Paramètres + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ paramètres + + Description +
+ `$user_value` + + *chaîne* + + Obligatoire (peut être nul). Spécifiez un nom ou un nom d'utilisateur à associer à cette vue de page. Cette valeur est attribuée à la touche `user` . +
+ `$account_value` + + *chaîne* + + Obligatoire (peut être nul). Spécifiez le nom d’un compte utilisateur à associer à cette vue de page. Cette valeur est attribuée à la touche `account` . +
+ `$product_value` + + *chaîne* + + Obligatoire (peut être nul). Spécifiez le nom d'un produit à associer à cette vue de page. Cette valeur est attribuée à la touche `product` . +
+ + ### Exemples + + #### Enregistrer trois attribut utilisateur + + ```cs + NewRelic.Api.Agent.NewRelic.SetUserParameters("MyUserName", "MyAccountName", "MyProductName"); + ``` + + #### Enregistrer deux attribut utilisateur et un attribut vide + + ```cs + NewRelic.Api.Agent.NewRelic.SetUserParameters("MyUserName", "", "MyProductName"); + ``` +
+ + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.NewRelic.StartAgent() + ``` + + Démarrez l'agent s'il n'a pas déjà démarré. Généralement inutile. + + ### Exigences + + * Compatible avec toutes les versions d'agent. + * Compatible avec tous les types d'applications. + + ### Description + + Démarre l'agent s'il n'a pas déjà été démarré. Cet appel est généralement inutile, car l'agent démarre automatiquement lorsqu'il rencontre une méthode instrumentée, sauf si vous désactivez [`autoStart`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#service-autoStart). Si vous utilisez [`SetApplicationName()`](/docs/apm/agents/net-agent/net-agent-api/net-agent-api/#SetApplicationName), assurez-vous de définir le nom de l&apos;application **avant** de démarrer l&apos;agent. + + + Cette méthode démarre l'agent de manière asynchrone (ce qui signifie qu'elle ne bloquera pas le démarrage de l'application) sauf si vous activez [`syncStartup`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#service-syncStartup) ou [`sendDataOnExit`](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#service-sendDataOnExit). + + + ### Exemples + + ```cs + NewRelic.Api.Agent.NewRelic.StartAgent(); + ``` + + + + ### Syntaxe + + ```cs + NewRelic.Api.Agent.TraceMetadata; + ``` + + Renvoie les propriétés de l'environnement d'exécution actuel utilisées pour prendre en charge le traçage. + + ### Exigences + + * Version de l'agent 8.19 ou supérieure. + * Compatible avec tous les types d'applications. + * [le traçage distribué doit être activé](/docs/agents/net-agent/configuration/net-agent-configuration#distributed_tracing) pour obtenir des valeurs significatives. + + ### Description + + Donne accès aux propriétés suivantes : + + ### Propriétés + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description +
+ `TraceId` + + Renvoie une chaîne représentant la trace en cours d'exécution. Si l'ID trace n'est pas disponible ou si le traçage distribué est désactivé, la valeur sera `string.Empty`. +
+ `SpanId` + + Renvoie une chaîne représentant la plage en cours d'exécution. Si l'ID de portée n'est pas disponible ou si le traçage distribué est désactivé, la valeur sera `string.Empty`. +
+ `IsSampled` + + Renvoie `true` si la trace actuelle est échantillonnée pour inclusion, `false` si elle est échantillonnée. +
+ + ### Exemples + + ```cs + IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent(); + ITraceMetadata traceMetadata = agent.TraceMetadata; + string traceId = traceMetadata.TraceId; + string spanId = traceMetadata.SpanId; + bool isSampled = traceMetadata.IsSampled; + ``` +
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/async-support-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/async-support-net.mdx new file mode 100644 index 00000000000..fb362ea6a18 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/async-support-net.mdx @@ -0,0 +1,165 @@ +--- +title: Prise en charge asynchrone dans .NET +tags: + - Agents + - NET agent + - Other features +metaDescription: 'How to activate asynchronous mode with New Relic''s .NET agent, plus a summary of new, disabled, or unavailable features when async mode is active.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic inclut automatiquement l'instrumentation du framework asynchrone à partir de [la version 6.0](/docs/release-notes/agent-release-notes/net-release-notes) de l&apos;agent. Avec le modèle standard `async-await` , introduit dans .NET 4.5, les appels aux méthodes asynchrones peuvent être renvoyés même si le travail effectué dans la méthode appelée est toujours en cours. L&apos;agent .NET observe ce travail asynchrone en cours et attend qu&apos;il soit terminé avant d&apos;enregistrer les temps. + +## fonctionnalité prenant en charge instrumentationasynchrone [#features] + +Avec l'ajout du support asynchrone, des fonctionnalités supplémentaires sont disponibles dans notre agent.NET. Cependant, dans le cadre de cette amélioration, un petit nombre de fonctionnalités précédemment fournies par l'agent ne sont actuellement pas disponibles. Sauf indication contraire, l’agent n'instrumente pas les méthodes asynchrones pour aucun des autres [frameworks pris en charge](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent) pour l’ agent.NET. + + + + L'agent instrumente ces `HttpClient` méthodes asynchrones : + + * `SendAsync` + * `GetAsync` + * `PostAsync` + * `PutAsync` + * `DeleteAsync` + * `GetStringAsync` + * `GetStreamAsync` + * `GetByteArrayAsync` + + + + L'agent instrumente ces `RestClient` méthodes asynchrones : + + * `ExecuteTaskAsync` + * `ExecuteGetTaskAsync` + * `ExecutePostTaskAsync` + + + + L'agent instrumente ces `SqlCommand` méthodes asynchrones : + + * `ExecuteReaderAsync` + * `ExecuteNonQueryAsync` + * `ExecuteScalarAsync` + * `ExecuteXmlReaderAsync` + + + + L'agent instrumente ces `SqlDataReader` méthodes asynchrones : + + * `NextResultAsync` + * `ReadAsync` + + + + L'agent instrumente ces `NpgsqlCommand` méthodes asynchrones (Postgres) : + + * `ExecuteReaderAsync` + * `ExecuteNonQueryAsync` + * `ExecuteScalarAsync` + + + + L'agent .NET prend en charge [l'instrumentation personnalisée](/docs/agents/net-agent/instrumentation/net-custom-transactions#example-custom-txn-async) de vos propres méthodes asynchrones. + + + +## Limitations connues [#known-issues] + +Voici un résumé des limitations connues de l'instrumentation asynchrone avec notre agent .NET. + + + + Il est prévu que le temps de réponse soit inférieur au temps total passé dans `async`-`await` scénarios d&apos;utilisation. Considérez l’exemple de code suivant pour un point de terminaison Web : + + ```cs + async Task WebEndpointExample() + { + await DoSomethingForSomeSecondsAsync(5); //kick off a 5-second-work to be done. + return "Complete"; + } + + [Trace] + [MethodImpl(MethodImplOptions.NoInlining)] + private static async Task DoSomethingForSomeSecondsAsync(int seconds) + { + await Task.Delay(TimeSpan.FromSeconds(seconds)); + } + ``` + + Dans cet exemple de code, il faut environ 5 secondes pour que le `WebEndpointExample` soit terminé, donc le temps de réponse pour la transaction qui représente la demande au point de terminaison `WebEndpointExample` sera d&apos;environ 5 secondes. + + L'agent capture également le temps « occupé » (le temps pendant lequel la méthode instrumentée s'exécute réellement) de chaque segment individuel qui constitue la transaction. Ce sont `WebEndpointExample` et `DoSomethingForSomeSecondsAsync`. Idéalement, le temps d’exécution total des deux segments est égal au temps de réponse (environ 5 secondes). + + Il est facile de voir que le temps d’exécution de `DoSomethingForSomeSecondsAsync` est de 5 secondes. Cependant, le temps d’exécution du `WebEndpointExample` devrait être proche de 0 seconde. (Cela ne fait aucun travail ; c&apos;est `DoSomethingForSomeSecondsAsync` `await`de terminer.) + + Cependant, l'agent mesure toujours son temps d'exécution à environ 5 secondes. Cela est dû à l'incapacité de l'agent à détecter le temps bloqué (pas le temps CPU) lorsqu'une méthode est `await`pour une autre. Le temps total indiqué est donc de 10 secondes, ce qui est supérieur au temps de réponse (environ 5 secondes). + + Dans le même temps, l’agent ne peut pas supposer que l’appel aux méthodes `async` bloquerait toujours l’appelant pendant toute la durée. L&apos;exemple suivant le démontre : + + ```cs + async Task WebEndpointExample() + { + var task = DoSomethingForSomeSecondsAsync(5); //kick off a 5-second-work to be done. + + //Do something less than 5 seconds here. + + await task; + return "Complete"; + } + + [Trace] + [MethodImpl(MethodImplOptions.NoInlining)] + private static async Task DoSomethingForSomeSecondsAsync(int seconds) + { + await Task.Delay(TimeSpan.FromSeconds(seconds)); + } + ``` + + Dans cet exemple, le temps de réponse est toujours d’environ 5 secondes, mais le temps d’exécution réel du `WebEndpointExample` n’est plus d’environ 0. + + + + L'agent .NET n'instrumentera pas les méthodes asynchrones si le legacy ASP pipeline est présent. Étant donné que Microsoft a remplacé le legacy ASP pipeline bien avant l’introduction des méthodes asynchrones, ce problème affecte généralement uniquement les applications créées sous .NET Framework 4.0 ou une version antérieure, puis migrées vers .NET Framework 4.5 ou une version ultérieure. + + Pour voir si ce problème affecte votre application et comment le résoudre si c'est le cas, [consultez les procédures de dépannage](/docs/agents/net-agent/troubleshooting/missing-async-metrics). + + + + L'agent .NET ne prend pas en charge l'instrumentation des méthodes asynchrones dont le type de retour est autre que `Task` ou `Task`. L&apos;agent ne prend pas en charge les méthodes `async void` . + + Pour plus d'informations, reportez-vous à la documentation Microsoft sur [les types de retour asynchrones](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/async-return-types): + + * [`Task`](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/async-return-types#BKMK_TaskTReturnType) type de retour + * [Vide asynchrone](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/async-return-types#BKMK_VoidReturnType) + * [Types de retour asynchrones généralisés](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/async-return-types#generalized-async-return-types-and-valuetasktresult) + + + + L'agent .NET n'instrumente aucune méthode .NET qui utilise les styles `begin*` et `end*`, à l&apos;exception de [l'application WCF](https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/how-to-call-wcf-service-operations-asynchronously). En dehors de cette exception, si votre application appelle ces types de méthodes, l&apos;agent ne créera pas de segments pour elles. Cependant, le reste de vos transactions et segments seront créés correctement. + + + + L'agent .NET ne capture pas les métriques ou les segments limités dans les threads créés manuellement par votre application. + + + + Si votre application appelle des méthodes asynchrones instrumentées, utilisez `await` plutôt que `Task` des méthodes liées comme `Task.Result()` pour attendre les résultats. Dans le cas contraire, l’instrumentation risque de ne pas fonctionner correctement. + + En général, évitez d’utiliser `Task.Result()` lors de l’appel de méthodes asynchrones. Cela peut conduire à [des impasses](https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html). + + + + Si vous ajoutez votre propre bloc `ContinueWith({})` à la promesse renvoyée par une méthode asynchrone instrumentée, cela peut affecter les mesures de synchronisation signalées par l&apos;instrumentation. Par exemple, le temps peut inclure le temps nécessaire à votre `ContinueWith` pour s&apos;exécuter. + + + + [Les services WCF](/install/dotnet/?deployment=WCF) hébergés par IIS n&apos;imbriquent pas correctement le segment **WCF** sous le segment `ExecuteRequestHandler` . Les deux segments apparaîtront comme des frères et sœurs dans une trace de transaction, même si leur [temps total](/docs/data-analysis/user-interface-functions/response-time#response-time-total-time) signalé sera exact. + + + + Les segments d'une trace de transaction ne généreront pas automatiquement de trace d'appels, même s'ils durent plus de `transaction_tracer.stack_trace_threshold`. + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent.mdx new file mode 100644 index 00000000000..75fe31e90eb --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/browser-monitoring-net-agent.mdx @@ -0,0 +1,140 @@ +--- +title: Monitoring des navigateurs et de l'agent .NET +tags: + - Agents + - NET agent + - Other features +metaDescription: How to install browser monitoring automatically through the .NET APM agent. +freshnessValidatedDate: never +translationType: machine +--- + +Avec l'agent .NET, vous pouvez ajouter une instrumentation [](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)à vos pages Web. Avant d&apos;utiliser le navigateur avec votre agent.NET, reportez-vous aux [notes de sortie agent .NET](/docs/release-notes/agent-release-notes/net-release-notes) et assurez-vous d&apos;avoir [installé la dernière sortie agent .NET](/docs/agents/net-agent/installation/install-net-agent-windows). + +Suivez les [exigences agent .NET](/docs/agents/net-agent/getting-started/introduction-new-relic-net#extend) pour [installer monitoring des navigateurs](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent). Suivez ensuite les procédures décrites dans ce document pour instrumenter manuellement l’ agent.NET. + +## autoinstrumentation [#auto\_instrumentation][#auto_instrumentation] + + + L'auto-instrumentation n'est disponible que pour les applications Web .NET Framework et .NET Core v6.0 et versions ultérieures. l'auto-instrumentation n'est pas disponible pour les applications ASP.NET Core v5.0 et antérieures, même si elles sont monitorées par l'agent.NET. + + +Avec auto-instrumentation du navigateur, l'agent .NET injecte automatiquement l'en-tête JavaScript du navigateur dans toute page qui a un `content-type` de `text/html` et qui a également une tag `` dans la page. [auto-instrumentationdu navigateur](/docs/agents/net-agent/configuration/net-agent-configuration#browsermon-autoInstrument) est activée par défaut pour les applications Web .NET Framework, mais est désactivée par défaut pour les applications Web .NET Core v6 et versions ultérieures. Pour plus d’informations, consultez [Activation de l’auto-instrumentation du navigateur pour .NET Core v6+](#enable_netcore6plus) . + +La recherche tag `` commence au début du DOM. L&apos;agent .NET injecte l&apos;en-tête JavaScript via l&apos;ajout d&apos;un `HttpModule` qui modifie la page à l&apos;aide de filtres de réponse HTTP avant de diffuser le contenu à l&apos;utilisateur. + +La première fois que vous activez l'auto-instrumentation, vous devrez peut-être nettoyer votre répertoire de cache `asp.net` afin que les pages aspx soient recompilées. Utilisez la commande suivante : + +```bash +flush_dotnet_temp.cmd +``` + +Avec cette injection, les pages précédemment fonctionnelles peuvent cesser de fonctionner si un `content-type` n&apos;est pas défini correctement. Pour corriger, réviser et mettre à jour le `content-types` dans votre application ou [désactiver l'auto-instrumentation](/docs/agents/net-agent/features/page-load-timing-net#disable-instrumentation). + +## instrumentation manuelle via API d'agent [#manual\_instrumentation][#manual_instrumentation] + +Si vous ne pouvez pas activer l’instrumentation automatique, vous pouvez toujours inclure l’agent de navigateur manuellement en utilisant l’API de l’agent .NET de New Relicvet en incluant le code approprié dans vos pages. + +1. Pour télécharger le `NewRelic.Api.Agent.dll`, relancez l&apos;installation et référencez le `.dll`: + + * Dans le répertoire de l’agent .NET de New Relic, sélectionnez la section de l’agent **New Relic.Net** , puis sélectionnez **API Assembly**. + * NuGet : installez et référencez le **.dll** en exécutant `Install-package NewRelic.Agent.Api`. + +2. Pour configurer votre application Web afin d’appeler l’API de l’agent .NET de New Relic, ajoutez une référence à **`NewRelic.Api.Agent.dll`** à votre projet. + +3. Facultatif : si vous modifiez le répertoire application déployé sur le serveur Web, copiez **`NewRelic.Api.Agent.dll`** dans le répertoire **`bin`** de l&apos;application. + +4. Appelez l'API dans votre tag ``. Si unetag méta avec l&apos;attribut `X-UA-COMPATIBLE http-equiv` existe, définissez-la après cette tag méta. + + + + Lorsque vous utilisez le moteur d'affichage .NET Web Forms, assurez-vous d'utiliser `=` et non `:`. De cette façon, le moteur d&apos;affichage reconnaîtra la chaîne HTML renvoyée par l&apos;API comme HTML / JavaScript et la restituera de manière appropriée. + + Si vous utilisez des formulaires Web .NET ASP avec des pages maîtres, ajoutez l'en-tête manuellement en appelant [`GetBrowserTimingHeader()`](/docs/agents/net-agent/net-agent-api/getbrowsertimingheader-net-agent) dans votre page maître sous la tag `` : + + ```aspnet + <%= NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader() %> + ``` + + Importez l'espace de nommage avec : + + ```aspnet + <%@ Import Namespace="NewRelic.Api.Agent" %> + ``` + + + + Pour les autres moteurs d'affichage tels que [Razor](https://en.wikipedia.org/wiki/ASP.NET_Razor), vous pouvez utiliser la méthode [`GetBrowserTimingHeader()`](/docs/agents/net-agent/net-agent-api/getbrowsertimingheader-net-agent) pour générer la chaîne d&apos;en-tête. Voici un exemple de vue basé sur Razor : + + ```razor + + + + @Html.Raw(NewRelic.Api.Agent.NewRelic.GetBrowserTimingHeader()) + ... + + + ``` + + + + Lorsque vous utilisez .NET MVC, appelez l’assistant `Html.Raw` . De cette façon, .NET MVC reconnaîtra la chaîne HTML renvoyée par l&apos;API comme HTML / JavaScript et la restituera de manière appropriée. + + + +## instrumentation manuelle avec copier/coller [#copy-paste] + +Lorsque vous activez monitoring des navigateurs, vous pouvez insérer manuellement le snippet JavaScript dans les pages Web de votre application. L'option copier/coller vous donne le contrôle sur le placement exact de notre snippet JavaScript, qui est nécessaire pour monitorer les performances de la page Web. Pour obtenir des instructions sur l'activation de monitoring des navigateurs avec copier/coller, reportez-vous à notre [documentation de navigateur](/docs/browser/browser-monitoring/installation/install-browser-monitoring-agent/#copy-paste). + +## Désactiver l'instrumentation [#disable\_instrumentation][#disable_instrumentation] + +Pour désactiver l’instrumentation : + + + + Pour désactiver complètement l'auto-instrumentation, modifiez **`newrelic.config`** et définissez l&apos;[indicateur`browserMonitoring` `autoInstrument` ](/docs/agents/net-agent/installation-configuration/net-agent-configuration#browsermon-autoInstrument)sur `false`: + + ```xml + + + ``` + + + Si vous modifiez l’indicateur ou désinstallez l’agent .NET, assurez-vous de vider à nouveau votre cache afin que les références à l’agent soient supprimées des fichiers compilés. + + + + + Pour désactiver uniquement auto-instrumentation sur une vue particulière, utilisez l'API d'appelagent `DisableBrowserMonitoring()`. Ajoutez cet appel dans n’importe quelle vue où les scripts du navigateur ne sont pas nécessaires ou souhaités. Placez cet appel d&apos;API le plus près possible du haut de la vue où vous souhaitez qu&apos;il soit désactivé. + + + + Pour désactiver à la fois auto-instrumentation et instrumentation manuelle pour les pages Web individuelles, utilisez l'API d'appelagent [`DisableBrowserMonitoring(true)`](/docs/agents/net-agent/net-agent-api/disablebrowsermonitoring-net-agent). + + + +## Dépannage + +Suivez les procédures de dépannage si vous [ne parvenez pas à afficher les données de synchronisation du navigateur](/docs/agents/net-agent/troubleshooting/no-page-load-timing-data-appears-net). + +## Activer auto-instrumentation du navigateur pour l'application Web .NET Core v6+ [#enable\_netcore6plus][#enable_netcore6plus] + +Pour activer l'auto-instrumentation du navigateur dans les applications Web .NET Core v6+ (nécessite l'agent .NET v10.19.2 ou version ultérieure) : + +1. Assurez-vous d'avoir activé auto-instrumentation globalement en modifiant **`newrelic.config`** et en définissant l&apos;[indicateur`browserMonitoring` `autoInstrument` ](/docs/agents/net-agent/installation-configuration/net-agent-configuration#browsermon-autoInstrument)sur `true`: + + ```xml + + + ``` + +2. Activez l'auto-instrumentation pour les applications Web .NET Core 6+ en modifiant **`newrelic.config`** et en ajoutant un nouvel élément dans la section `appSettings` (ou ajoutez la section `appSettings` si elle n&apos;existe pas) - Notez que ce **n'est pas** la même chose que la section `appSettings` dans un fichier `web.config` : + + ```xml + + + + + ``` + +Nous vous recommandons de tester soigneusement cette fonctionnalité dans un environnement hors production pour garantir la compatibilité avec votre application Web. Si vous rencontrez des problèmes avec cette fonctionnalité, veuillez [nous contacter pour obtenir de l'aide](/docs/new-relic-solutions/solve-common-issues/find-help-use-support-portal/). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/limit-log-disk-space-log-rolling.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/limit-log-disk-space-log-rolling.mdx new file mode 100644 index 00000000000..d624800ec0d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/limit-log-disk-space-log-rolling.mdx @@ -0,0 +1,17 @@ +--- +title: Limiter l'espace disque log avec le roulement log +tags: + - Agents + - NET agent + - Other features +freshnessValidatedDate: never +translationType: machine +--- + +Pour équilibrer le besoin de log tout en prenant en compte l'utilisation du disque, chaque agent .NET limitera l'utilisation du disque à 250 Mo à l'aide du roulement log . L'agent se log d'abord au fichier `newrelic_agent_UNIQUENAME.log` et créera le fichier s&apos;il n&apos;existe pas. Une fois que le fichier atteint 50 Mo, l&apos;agent : + +1. Créer un nouveau fichier de log. +2. Convertissez chaque fichier de log existant en un nouveau nom numéroté séquentiellement (jusqu'à quatre fichiers archivés). +3. Supprimez la quatrième archive. + +Pour lancer le fichier de log, l'ancien `newrelic_agent_UNIQUENAME.log` devient le nouveau `newrelic_agent_UNIQUENAME.log(1)`. Ensuite, l’ancien `newrelic_agent_UNIQUENAME.log(1)` devient le nouveau `newrelic_agent_UNIQUENAME.log(2)`, et ainsi de suite. L&apos;ancien `newrelic_agent_UNIQUENAME.log(4)` est supprimé. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-codestream-integration.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-codestream-integration.mdx new file mode 100644 index 00000000000..42606115789 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-codestream-integration.mdx @@ -0,0 +1,78 @@ +--- +title: Métriques au niveau du code +tags: + - Agents + - NET agent + - Configuration +metaDescription: Code-level metrics for .NET can be displayed in your IDE using the New Relic CodeStream extension. +freshnessValidatedDate: never +translationType: machine +--- + +Les métriques au niveau du code permettent aux développeurs utilisant l'[extension New Relic CodeStream](/docs/codestream/observability/code-level-metrics) de voir les données APM affichées contextuellement dans leur IDE, aux côtés des méthodes individuelles dans le code. Cela permet aux développeurs d’être plus proactifs dans la résolution des problèmes de performances lorsqu’ils écrivent et révisent le code. + +## Démarrer [#get-started] + +Tout d’abord, [installez](/docs/codestream/start-here/install-codestream) l’extension New Relic CodeStream dans l’IDE pris en charge de votre choix et log -vous. + + + Avec la sortie de la version 10.2.0 de l’agent .NET, les métriques au niveau du code sont activées par défaut. + + Les métriques du niveau de code sont disponibles dans [agent .NET version 9.9.0 et supérieure](/docs/release-notes/agent-release-notes/net-release-notes) et sont désactivées par défaut. Pour modifier cette configuration, consultez notre [documentation](/docs/apm/agents/net-agent/configuration/net-agent-configuration#code_level_metrics). + + +## attribut de l'agent [#attributes] + +L'agent .NET signale et attache l'attribut suivant aux étendues produites par votre application. + + + Dans certains cas, l'agent encapsulera directement le code du framework de base (magasins de données, appels externes, etc.) qui est invoqué dans votre application et ne s'affichera pas dans votre IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom + + Description + + Exemple +
+ `code.function` + + Le nom de la fonction instrumentée. + + Indice +
+ `code.namespace` + + L'espace de nommage (nom complet du type de classe) dans lequel `code.function` est défini. + + MyService.Controllers.HomeController +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-performance-metrics.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-performance-metrics.mdx new file mode 100644 index 00000000000..307ff242d6d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-features/net-performance-metrics.mdx @@ -0,0 +1,356 @@ +--- +title: métriques de performances .net +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic collecte des métriques à partir de l'environnement d'exécution .NET sur les performances de votre application. Ces métriques peuvent fournir des informations détaillées sur la quantité de CPU et de mémoire consommée par une application , ainsi que sur la manière dont les performances d'une application peuvent être affectées par la collecte des déchets et la contention des ressources du pool de threads. + +Vous pouvez voir ces métriques sur **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services**. Sélectionnez une application et accédez à **More views > Dotnet VMs**. + +Vous pouvez également visualiser ces métriques en : + +* Créer un [dashboard](/docs/query-your-data/explore-query-data/dashboards/introduction-new-relic-one-dashboards) personnalisé. +* En utilisant le **Metric explorer** dans **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services** &gt; sélectionnez une application et accédez à **More views**. + +## Mesures du processeur [#cpu-metrics] + +Les métriques CPU suivantes sont collectées : + + + + + + + + + + + + + + + +
+ `CPU/User/Utilization` + + Le pourcentage de CPU consommé par ce processus. +
+ `CPU/User Time` + + La quantité de temps que le processus a passé à exécuter le code de l'application. +
+ +## mémoires métriques [#memory-metrics] + +Les mémoires métriques suivantes sont collectées : + + + + + + + + + + + + + + + +
+ `Memory/Physical` + + La quantité de mémoire privée (physique), en Mo, allouée au processus. +
+ `Memory/WorkingSet` + + Quantité de mémoire physique allouée au processus. +
+ +## Mesures de collecte des déchets [#garbage-collection] + +Le récupérateur de mémoire .NET s'exécute en arrière-plan et est chargé d'identifier et de récupérer la mémoire liée aux objets qui ne sont plus référencés par une application. Les mesures suivantes peuvent être utiles pour identifier les modèles d’allocation d’objets et les scénarios potentiels de surallocation. Cet [article](https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals) explique plus en détail les principes fondamentaux du garbage collection dans .NET. + + + Pour les applications .NET Framework, l'utilisateur Windows sous lequel votre application s'exécute doit avoir accès aux données du compteur de performances Windows. Habituellement, cela se fait en ajoutant l'utilisateur aux groupes **Performance Monitor Users** et **Performance Log Users** . Des autorisations insuffisantes entraîneront l&apos;impossibilité pour l&apos;agent de collecter les métriques de récupération de place. + + +### Mesures globales [#overall-metrics] + +De plus, les métriques de collecte des déchets suivantes sont collectées : + + + + + + + + + + + + + + + + + + + + + +
+ `GC/Handles` + + Le nombre de références aux objets. +
+ `GC/Induced` + + Normalement, le runtime effectue automatiquement le garbage collection. Cette métrique identifie le nombre de fois où le garbage collection a été appelé manuellement par un appel explicite à `GC.Collect` à partir du code application . +
+ `GC/PercentTimeInGC` (cadre .NET uniquement) + + Pourcentage du temps écoulé pendant lequel l'environnement d'exécution .NET a effectué le nettoyage de la mémoire depuis le dernier cycle de nettoyage de la mémoire. +
+ +### Génération - 0 tas [#gen-0-heap] + +Les métriques de récupération de place Gen0 suivantes sont collectées : + + + + + + + + + + + + + + + + + + + + + +
+ `GC/Gen0/Size` + + La quantité de mémoire (en Mo) *pouvant* être allouée dans la génération 0. Cela n&apos;indique pas la quantité de mémoire *utilisée* par la génération 0, mais le maximum pouvant être alloué. +
+ `GC/Gen0/Promoted` + + La quantité de mémoire (en Mo) qui a survécu au ramasse-miettes et a été promue de Gen0 à Gen1. La mémoire survit au ramasse-miettes lorsqu'il existe une référence active à celle-ci. +
+ `GC/Gen0/Collections` + + Nombre de fois que le garbage collection de génération 0 a été exécuté par le garbage collection. +
+ +### Génération - 1 tas [#gen-1-heap] + +Les métriques de récupération de place Gen1 suivantes sont collectées : + + + + + + + + + + + + + + + + + + + + + +
+ `GC/Gen1/Size` + + La quantité de mémoire (en Mo) *utilisée* dans le tas de génération 1. Cela diffère de `Gen0/Size` qui mesure la quantité maximale de mémoire *disponible* pour le tas de génération 0. +
+ `GC/Gen1/Promoted` + + La quantité de mémoire (en Mo) qui a survécu au ramasse-miettes et a été promue de Gen1 à Gen2. La mémoire survit au ramasse-miettes lorsqu'il existe une référence active à celle-ci. +
+ `GC/Gen1/Collections` + + Nombre de fois que la collecte des déchets de génération 1 a été exécutée par le récupérateur de déchets. +
+ +### Génération - 2 tas [#gen-2-heap] + +Les métriques de récupération de place Gen2 suivantes sont collectées : + + + + + + + + + + + + + + + + + + + + + +
+ `GC/Gen2/Size` + + La quantité de mémoire (en Mo) *utilisée* par le tas Gen2. +
+ `GC/Gen2/Survived` (.NET Core uniquement) + + La quantité de mémoire (en Mo) qui a survécu au ramasse-miettes. La mémoire survit au ramasse-miettes lorsqu'il existe une référence active à celle-ci. Contrairement à Gen0 et Gen1, la mémoire qui survit au ramasse-miettes n'est *pas* promue. +
+ `GC/Gen2/Collections` + + Nombre de fois que le garbage collection de génération 2 a été exécuté par le récupérateur de place. +
+ +### Tas d'objets volumineux (LOH) [#large-object-heap] + +Les métriques LOH de récupération de place suivantes sont collectées : + + + + + + + + + + + + + + + +
+ `GC/LOH/Size` + + La quantité de mémoire (en Mo) *utilisée* par le tas d&apos;objets volumineux (LOH). Dans .NET Core, le tas d’objets volumineux est parfois appelé Gen3. +
+ `GC/LOH/Survived` (.NET Core uniquement) + + La quantité de mémoire (en Mo) qui a survécu au ramasse-miettes. La mémoire survit au ramasse-miettes lorsqu'il existe une référence active à celle-ci. Contrairement à Gen0 et Gen1, la mémoire qui survit au ramasse-miettes n'est *pas* promue. +
+ +## Paramètres du pool de threads gérés [#managed-thread-pool] + +L'environnement d'exécution .NET gère un pool de threads. Les mesures suivantes offrent une visibilité sur les performances d'une application en termes de pool de threads et peuvent aider à identifier les zones de pénurie de pool de threads. La famine/conflit du pool de threads se produit lorsqu'il n'y a pas suffisamment de threads disponibles pour traiter les requests effectuées par une application. L'[article](https://docs.microsoft.com/en-us/dotnet/standard/threading/the-managed-thread-pool) suivant décrit les différentes fonctionnalités du pool de threads gérés. Veuillez noter que ces métriques n&apos;incluent *pas* d&apos;informations sur les threads qui ne sont pas gérés par le pool de threads. + +### Fils de travail [#worker-threads] + +Les threads de travail sont des threads liés au processeur qui sont utilisés pour effectuer un travail au nom d'un processus. + + + + + + + + + + + + + + + +
+ `Threadpool/Worker/Available` + + Identifie le nombre de threads gérés disponibles pour le processus. Des chiffres constamment bas indiquent un scénario potentiel de famine. +
+ `Threadpool/Worker/InUse` + + Identifie le nombre de threads de travail actuellement utilisés par le processus. +
+ +### Fils de discussion de fin de projet [#completion-threads] + +Les threads d'achèvement, parfois appelés threads I/O , sont utilisés pour monitorer l'achèvement des opérations I/O . + + + + + + + + + + + + + + + +
+ `Threadpool/Completion/Available` + + Cette métrique identifie le nombre de threads actuellement disponibles pour le processus. Des chiffres constamment bas indiquent un scénario potentiel de famine. +
+ `Threadpool/Completion/InUse` + + Cette métrique identifie le nombre de threads d'achèvement actuellement utilisés par le processus. +
+ +### débit [#throughput] + +Les débits métriques mesurent la quantité de travail qui a été demandée pour être effectuée sur un thread différent, la quantité de travail qui a été démarrée et la quantité de travail qui attend qu'une ressource de pool de threads soit disponible. + + + + + + + + + + + + + + + + + + + + + +
+ `Threadpool/Throughput/Requested` + + Identifie le nombre de fois où le travail a été demandé pour être exécuté sur un thread géré par un pool de threads différent. +
+ `Threadpool/Throughput/Started` + + Identifie le nombre d'éléments de travail dont l'exécution est demandée sur un thread distinct et qui ont commencé. +
+ `Threadpool/Throughput/QueueLength` + + Identifie le nombre d'éléments de travail qui ont été demandés, mais qui attendent de démarrer. Des nombres qui augmentent constamment indiquent une situation potentielle de manque de pool de threads. L' [article](https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadpool.setmaxthreads) suivant décrit comment modifier le nombre de threads disponibles pour une application. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx new file mode 100644 index 00000000000..a8c5b00b8df --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx @@ -0,0 +1,63 @@ +--- +title: Comment vérifier la somme de contrôle des téléchargements agent .NET +freshnessValidatedDate: never +translationType: machine +--- + +Découvrez comment confirmer la somme de contrôle pour les programmes d'installation de l'agent .NET de New Relic.Si vous avez besoin du hacher pour notre sortie actuelle, [téléchargez leur hacher SHA256 depuis notre site de téléchargement](https://download.newrelic.com/dot_net_agent/latest_release/SHA256/). + +## Linux [#checksum-linux] + +Sous Linux, exécutez : + +```sh +sha256sum YOUR_FILENAME +``` + +En cas de succès, vous recevrez cette réponse : + +``` +5092fd52e40132a41ac06c320296cd9d63196d6de0fa6ce9b74fc4de1b3f9502 YOUR_FILENAME +``` + +## Windows [#checksum-windows] + +Sous Windows, nous vous recommandons d'utiliser `CertUtil` ou `Get-FileHash` pour calculer un hachage de fichier. + + + + `CertUtil` est disponible dans le cadre des services de certificats et peut être utilisé pour calculer le hachage d&apos;un fichier. Vous pouvez l&apos;exécuter à partir de l&apos;invite de commande ou de Powershell. + + Pour calculer le hachoir, exécutez : + + ```sh + CertUtil -hashfile YOUR_FILENAME SHA256 + ``` + + En cas de succès, vous recevrez cette réponse : + + ``` + SHA256 hash of YOUR_FILENAME: + 5092fd52e40132a41ac06c320296cd9d63196d6de0fa6ce9b74fc4de1b3f9502 + CertUtil: -hashfile command completed successfully. + ``` + + + + L'applet de commande `Get-FileHash` peut être utilisée pour calculer le hachage d&apos;un fichier. Il est disponible en version Powershell 5.1 ou supérieure. + + Pour calculer le hachoir, exécutez : + + ```powershell + Get-FileHash YOUR_FILENAME Algorithm SHA256 | Format-List + ``` + + En cas de succès, vous recevrez cette réponse : + + ``` + Algorithm : SHA256 + Hash : 5092FD52E40132A41AC06C320296CD9D63196D6DE0FA6CE9B74FC4DE1B3F9502 + Path : C:\Path\To\YOUR_FILENAME + ``` + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/net-agent-install-resources.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/net-agent-install-resources.mdx new file mode 100644 index 00000000000..3fdeecaca8e --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/net-agent-install-resources.mdx @@ -0,0 +1,392 @@ +--- +title: Ressources d'installation de l'agent .NET +tags: + - Agents + - NET agent + - Other installation +freshnessValidatedDate: never +translationType: machine +--- + +Ce document contient des descriptions détaillées des ressources et des procédures référencées dans les [procédures d'installation de l'agent .NET](/docs/agents/net-agent/installation/new-relic-net-agent-install-introduction). + + + Ce document **n’est pas** destiné à être lu comme un document autonome. Pour obtenir des instructions d&apos;installation, consultez [Installation de l'agent .NET](/install/dotnet). + + +## Profileur .NET de Microsoft [#profiler] + +L'agent .NET de New Relic s'appuie sur l'[API de profilage Microsoft](https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/profiling/profiling-overview) pour signaler les données de votre application .NET. + +Les solutions monitoring .NET autres que New Relic peuvent utiliser cette API de profilage. Mais un seul service à la fois peut utiliser le profileur. Cela signifie que si vous avez utilisé un service monitoring .NET dans le passé et que vous ne l'avez pas complètement désactivé/supprimé, le profileur peut toujours être utilisé, ce qui entraînera [des conflits de profileur](/docs/agents/net-agent/troubleshooting/profiler-conflicts) lorsque vous tenterez d&apos;activer l&apos;agent.NET. + +## Bibliothèque de téléchargement agent .NET [#download-library] + +La [bibliothèque de téléchargement](https://download.newrelic.com/dot_net_agent/latest_release/) de l&apos;agent .NET de New Relic contient un package de fichiers d&apos;installation référencé dans des [procédures d'installation](/install/dotnet#common-installs) spécifiques. Pour en savoir plus sur ces fichiers, consultez le [fichier ReadMe](https://download.newrelic.com/dot_net_agent/latest_release/Readme.txt) de la bibliothèque de téléchargement. + +## Fichiers zip pour l'installation manuelle de l'agent .NET (Windows) [#install-zip-file] + +Pour installer manuellement l'agent à l'aide d'un fichier ZIP, choisissez le fichier approprié pour l'application que vous souhaitez monitorer : + +1. Accédez au [site de téléchargement de l'agent .NET](https://download.newrelic.com/dot_net_agent/latest_release/) et obtenez le fichier correspondant à l&apos;architecture de votre application (64 bits ou 32 bits) : + + * .NET Framework ou .NET Core/.NET 5+ (32 bits) : `NewRelicDotNetAgent_VERSION_x86.zip` + * .NET Framework ou .NET Core/.NET 5+ (64 bits) : `NewRelicDotNetAgent_VERSION_x64.zip` + +2. Décompressez le dossier de l'agent à l'emplacement souhaité. + +3. Définissez les variables d’environnement pour le processus que vous souhaitez monitorer. + + + Nous ne recommandons pas de définir ces variables d’environnement globalement. La définition de ces variables d'environnement de manière globale peut entraîner l'instrumentation de tous les processus .NET exécutés sur le système et leur signalement à New Relic. Si vous installez l'agent manuellement, nous pensons que vous disposez des moyens de définir ces variables d'environnement uniquement pour les processus que vous souhaitez monitorer. + + + + + Pour .NET Framework, les variables suivantes sont requises : + + ```ini + COR_ENABLE_PROFILING=1 + COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} + NEWRELIC_HOME=path\to\agent\directory\netframework + COR_PROFILER_PATH=path\to\agent\directory\netframework\NewRelic.Profiler.dll + ``` + + + + Pour .NET Core/.NET 5+, les variables suivantes sont requises : + + ```ini + CORECLR_ENABLE_PROFILING=1 + CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} + CORECLR_NEWRELIC_HOME=path\to\agent\directory\netcore + CORECLR_PROFILER_PATH=path\to\agent\directory\netcore\NewRelic.Profiler.dll + ``` + + + +4. Redémarrez votre application. Si vous utilisez IIS, redémarrez IIS. + +Si votre application reçoit du trafic, les données devraient apparaître dans quelques minutes. Si ce n’est pas le cas, consultez [Aucune donnée n’apparaît](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + +## Besoin d'instrumentation personnalisée [#custom-instrumentation] + +Après l’installation d’un agent.NET, la plupart des frameworks application .NET signaleront automatiquement les données à votre compte New Relic . (Voir compatibilité framework d'application : [.NET framework](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent) | [.NET Core](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-agent).) + +Si votre application .NET utilise un framework d'application qui **n'est pas** automatiquement instrumenté, ou si l&apos;application n&apos;a pas de framework (comme une application console), après l&apos;installation, vous devrez configurer manuellement l&apos;instrumentation de votre application. Voici les étapes à suivre pour y parvenir : + +1. Suivez les [instructions d'installation](/docs/agents/net-agent/installation/new-relic-net-agent-install-introduction#install-instructions) adaptées à votre application et framework. +2. [votre instrument](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation) application pour définir quelle activité est signalée à New Relic. + +## Variables d'environnement liées à l'installation [#env-variables] + +L’installation d’un agent .NET nécessite la définition de variables d’environnement. Pour certaines procédures d'installation (comme pour les applications .NET hébergées par IIS), ces variables d'environnement sont définies automatiquement. Pour les autres procédures d'installation, vous devrez les définir manuellement. Pour voir les variables d’environnement requises pour .NET Framework et l’application .NET Core, consultez [Variables d’environnement](/docs/agents/net-agent/configuration/net-agent-configuration#environment-variables). + +Pour une installation nécessitant de définir manuellement des variables d'environnement, vous pouvez également définir d'autres [optionsconfiguration ](/docs/agents/net-agent/configuration/net-agent-configuration)via des variables d&apos;environnement. Voici un aperçu de deux paramètres couramment utilisés : + +* **License key**. La variable d&apos;environnement pour définir est : + + ```ini + NEW_RELIC_LICENSE_KEY = YOUR_LICENSE_KEY + ``` + + Vous pouvez également définir cela dans le [fichier newrelic.config](/docs/agents/net-agent/configuration/net-agent-configuration#service) ou dans le [fichier de configuration de l'application](/docs/agents/net-agent/configuration/net-agent-configuration#app-cfg-license-key). + +* **App name**Il est recommandé de définir un [nom d'application significatif](/docs/agents/manage-apm-agents/app-naming/name-your-application#app-name) , mais vous pouvez également le définir après l&apos;installation. La variable d&apos;environnement est : + + ```ini + NEW_RELIC_APP_NAME = YOUR_APP_NAME + ``` + + Vous pouvez également [définir cela via le newrelic.config, le fichier de configuration de l'application ou l'API](/docs/agents/net-agent/configuration/name-your-net-application). + +## Programme d'installation scriptable (Windows uniquement) [#scriptable-installer] + +Les programmes d'installation scriptables sont des archives ZIP contenant un script PowerShell pour l'installation de l'agent.NET. Il existe une archive zip distincte pour .NET Framework par rapport à .NET Core. + + + Nous vous recommandons d'utiliser le programme d'installation MSI plutôt que le programme d'installation scriptable. Si vous souhaitez automatiser votre installation, pensez à exécuter le programme d'installation MSI depuis la ligne de commande. + + + + À partir de la version 10.0.0 de l'agent .NET, les programmes d'installation scriptables ne sont plus disponibles. Cette documentation reste destinée aux clients qui souhaitent utiliser le programme d'installation scriptable d'une version plus ancienne. + + + + + Pour utiliser le programme d'installation scriptable pour installer l'agent .NET pour une application .NET Framework : + + 1. Assurez-vous que vous disposez des droits d’administrateur pour votre groupe d’administrateurs Windows. Pour plus de détails à ce sujet, consultez la [documentation sur les autorisations](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent#user-rights). + + 2. Téléchargez le package programme d'installation scriptable pour .NET Framework à partir du [site de téléchargement](https://download.newrelic.com/dot_net_agent/latest_release/). En téléchargeant ou en utilisant l&apos;un de ces packages, vous acceptez les [termes de la licence](/docs/licenses/license-information/agent-licenses/net-agent-licenses). + + 3. Décompressez le package. + + 4. Ouvrez un shell de commande et accédez au dossier du package décompressé. + + 5. Pour une installation simple sans options, utilisez cette commande : + + ```bash + .\install.cmd -LicenseKey YOUR_LICENSE_KEY + ``` + + Pour installer avec une ou plusieurs options supplémentaires, utilisez le format ci-dessous. Voir le tableau ci-dessous pour une description des options d'installation. + + ```bash + install.cmd -LicenseKey YOUR_LICENSE_KEY [-NoIISReset] [-InstrumentAll] [-InstallPath PATH_TO_INSTALL] + ``` + + Si votre application reçoit du trafic, les données devraient apparaître dans quelques minutes. Si ce n’est pas le cas, consultez [Aucune donnée n’apparaît](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Options d'installation + + Description +
+ `LicenseKey` + + **Required**. Votre . +
+ `NoIISReset` + + Facultatif. Utilisez cette option pour empêcher le programme d’installation de lancer une réinitialisation IIS. + + + Si vous utilisez cette option, vous devez effectuer une réinitialisation IIS manuellement avant que New Relic ne démarre une application hébergée par IIS. + +
+ `InstrumentAll` + + Facultatif. Par défaut, l'agent .NET instrumentera toutes les applications hébergées par IIS. Utilisez cette option pour activer instrumentation d’autres types d’applications .NET. +
+ `InstallPath` + + Facultatif. Utilisez cette option pour choisir un emplacement d’installation différent. L'emplacement d'installation par défaut est `C:\Program Files\New Relic`. +
+ + Désinstallation de l'agent avec le programme de désinstallation scriptable : + + + Vous pouvez ajouter l’option `Force` au script de désinstallation pour forcer une désinstallation sans demander de redémarrer IIS. + + + Exécutez la commande suivante pour désinstaller l’agent .NET : + + ```bash + .\uninstall.cmd + ``` +
+ + + + Avant d’installer l’agent : + + * Comprendre les [exigences de l’agent](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-agent), y compris les [exigences en matière d’autorisations](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-agent#user-rights). + * Notez que les droits d'administrateur dans un shell élevé sont requis (en particulier pour sélectionner un répertoire log personnalisé et effectuer une réinitialisation IISR). + + + + Pour des raisons de sécurité, il est nécessaire d'exécuter le script `installAgent.ps1` comme indiqué ci-dessous, en ajoutant `./` au nom du fichier de script, plutôt qu&apos;en ajoutant `powershell` au script. Si vous exécutez le script en ajoutant `powershell` et que l&apos;un de vos arguments fournis (tels que le chemin d&apos;installation ou le chemin log personnalisé) contient des espaces, ces arguments seront corrompus, ce qui entraînerait l&apos;installation de agent à un emplacement autre que l&apos;emplacement prévu, ce qui pourrait être non sécurisé. + + + Pour utiliser le programme d'installation scriptable pour installer l'agent .NET pour une application.NET Core : + + 1. Assurez-vous que vous disposez des droits d’administrateur pour votre groupe d’administrateurs Windows. Pour plus de détails à ce sujet, consultez la [documentation sur les autorisations](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-agent#user-rights) + + 2. Téléchargez le agent du programme d'installation scriptable de .NET package à partir du [site de téléchargement .NET agent ](https://download.newrelic.com/dot_net_agent/latest_release/). En téléchargeant ou en utilisant l&apos;un de ces packages, vous acceptez les [termes de la licence](/docs/licenses/license-information/agent-licenses/net-agent-licenses). + + 3. Décompressez le package à l’emplacement souhaité. + + 4. Ouvrez un shell de commande et accédez au dossier du package décompressé. + + 5. Vous pouvez installer l'agent localement ou globalement : + + + + Pour une installation simple, sans options, utilisez cette commande : + + ```bash + ./installAgent.ps1 -destination PATH -installType global -licenseKey YOUR_LICENSE_KEY \ + [-appName "YOUR_APPLICATION_NAME" -logDir "PATH_TO_CUSTOM_LOG_LOCATION"] + ``` + + Pour installer avec une ou plusieurs options supplémentaires, utilisez la même commande avec les options souhaitées. Pour les descriptions des options, voir le tableau ci-dessous. + + ```bash + ./installAgent.ps1 -destination PATH -installType local -licenseKey YOUR_LICENSE_KEY \ + [-appName "YOUR_APPLICATION_NAME" -logDir "PATH_TO_CUSTOM_LOG_LOCATION" -X86 -ResetIIS -Force] + ``` + + + + + L'installation globale instrumentera tous les processus .NET Core sur votre système. Choisissez l'installation globale uniquement si vous souhaitez monitorer tous les processus .NET Core. + + + Pour une installation simple sans options, utilisez cette commande : + + ```bash + ./installAgent.ps1 -destination PATH -installType global -licenseKey YOUR_LICENSE_KEY \ + [-appName "YOUR_APPLICATION_NAME" -logDir "PATH_TO_CUSTOM_LOG_LOCATION"] + ``` + + Pour installer avec une ou plusieurs options supplémentaires, utilisez la même commande avec les options souhaitées. Pour les descriptions des options, voir le tableau ci-dessous. + + ```bash + ./installAgent.ps1 -destination PATH -installType local -licenseKey YOUR_LICENSE_KEY \ + [-appName "YOUR_APPLICATION_NAME" -logDir "PATH_TO_CUSTOM_LOG_LOCATION" -X86 -ResetIIS -Force] + ``` + + + + Si votre application reçoit du trafic, les données devraient apparaître dans quelques minutes. Si ce n’est pas le cas, consultez [Aucune donnée n’apparaît](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Options d'installation + + Description +
+ `Destination` + + **Required**. L&apos;emplacement où l&apos;agent est installé. Cela peut être un chemin absolu ou relatif. Les guillemets d&apos;accompagnement sont obligatoires. +
+ `InstallType` + + **Required**. Détermine s&apos;il s&apos;agit d&apos;une installation locale (spécifique à l&apos;application) ou globale (à l&apos;échelle du système). +
+ `LicenseKey` + + **Required**. Votre . +
+ `AppName` + + Facultatif. Définit le [nom de l’application](/docs/agents/net-agent/installation-and-configuration/naming-your-net-application) par défaut associé à votre installation d’agent. +
+ `LogDir` + + Facultatif. Définit un emplacement de logging personnalisé pour l'agent. Par défaut, l'agent place le répertoire du log dans le répertoire d'installation. +
+ `X86` + + Facultatif. Installe la version 32 bits de l'agent plutôt que la version 64 bits. New Relic **does not recommend** installe la version 32 bits de l&apos;agent à l&apos;échelle mondiale. +
+ `ResetIIS` + + Facultatif. Exécute un `iisreset` après l&apos;installation. + + + Utilisez ceci uniquement si votre application .NET Core est hébergée via un proxy inverse IIS. + +
+ `Force` + + Facultatif. Force le processus d'installation à écraser une installation précédente ou à installer dans un dossier existant. + + + Cela écrase toutes les personnalisations de configuration. New Relic recommande de sauvegarder votre fichier configuration et tous les fichiers instrumentation personnalisés avant de forcer une surinstallation. + +
+ `Help` + + Facultatif. Affiche les informations d'utilisation de ce script. +
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables.mdx new file mode 100644 index 00000000000..dd604ddf2eb --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables.mdx @@ -0,0 +1,221 @@ +--- +title: Comprendre les variables d'environnement requises pour l'agent .NET +tags: + - Agents + - NET agent + - Other installation +freshnessValidatedDate: never +translationType: machine +--- + +Notre agent .NET est un profileur .NET CLR et s'appuie sur les variables d'environnement de votre application pour connecter votre application .NET à New Relic. Pour en savoir plus sur les variables d’environnement utilisées par l’agent .NET, consultez les sections ci-dessous. + +## Aperçu des conditions [#terms-overview] + +Voici quelques conseils pour comprendre les termes utilisés sur cette page : + +* « .NET Core» fait référence aux versions .NET (et aux applications créées avec et pour les versions .NET) 5.0 et supérieures (uniquement « .NET ») ainsi qu'à .NET Core 2.0 à 3.1. +* « profileur » fait référence au composant de l'agent qui implémente l'API de profilage .NET. Lorsque les éléments sont configurés correctement, le CLR attache le profileur à votre application .NET. Le profileur charge ensuite le reste de l'agent dans l'application. + +## Comment les variables d'environnement sont utilisées par l'agent .NET [#env-variables] + +Notre agent .NET est un [profileur .NET CLR](https://learn.microsoft.com/en-us/dotnet/framework/unmanaged-api/profiling/profiling-overview) et implémente un sous-ensemble de l&apos;API de profilage .NET. [Certaines variables d’environnement](https://learn.microsoft.com/en-us/dotnet/framework/unmanaged-api/profiling/setting-up-a-profiling-environment) doivent être présentes dans l’environnement d’un processus .NET pour indiquer au runtime .NET que le processus doit être profilé et par quel profileur. Des variables d&apos;environnement supplémentaires sont utilisées par l&apos;agent .NET lui-même pour lui permettre de savoir où et comment il est installé. + +Pour utiliser l'agent .NET, nous avons besoin de variables d'environnement pour : + +* [Activation du profilage et identification du profileur approprié](#enable) +* [Indiquer au profileur où se trouve le reste de l'agent](#agent) + +### Variables permettant de réaliser le profilage et d'identifier le bon profileur [#enable] + +Il existe un ensemble de trois variables d'environnement utilisées pour indiquer à l'environnement d'exécution .NET s'il faut ou non activer le profilage et quel profileur utiliser : `COR_ENABLE_PROFILING`, `COR_PROFILER` et `COR_PROFILER_PATH`. Les noms de ces variables et la valeur correcte pour chacune d&apos;elles dépendent du fait que votre application est conçue pour .NET Framework ou .NET Core. + +#### Pour les applications .NET Framework : + +`COR_ENABLE_PROFILING` indique au moteur d&apos;exécution s&apos;il faut ou non activer le profilage pour une application. Réglez sur 1 pour activer le profilage, réglez sur 0 pour le désactiver. + +`COR_PROFILER` indique au runtime quel profileur utiliser. La valeur est un GUID unique à un profileur donné. Pour le profileur du .NET Framework de New Relic, la valeur correcte est `{71DA0A04-7777-4EC6-9643-7D28B46A8A41}`. + +`COR_PROFILER_PATH` indique au runtime où trouver le profileur sur le système, et dépend du type d&apos;installation et de la plateforme. Notez que cela peut ne pas être nécessaire si l&apos;agent a été installé avec le programme d&apos;installation MSI, qui enregistre la DLL du profileur auprès du système en fonction du GUID défini dans `COR_PROFILER`. Cependant, il est prudent de le définir de toute façon tant que la valeur est définie sur le chemin correct. + +Valeurs typiques : + +```ini +COR_ENABLE_PROFILING=1 +COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} +COR_PROFILER_PATH="C:\Program Files\New Relic\.NET Agent\netframework\NewRelic.Profiler.dll" +``` + +#### Pour l'application .NET Core : + +`CORECLR_ENABLE_PROFILING` indique au moteur d&apos;exécution s&apos;il faut ou non activer le profilage pour une application. Réglez sur 1 pour activer le profilage, réglez sur 0 pour le désactiver. + +`CORECLR_PROFILER` indique au runtime quel profileur utiliser. La valeur est un GUID unique à un profileur donné. Pour le profileur pour .NET Core de New Relic, la valeur correcte est `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}`. + +`CORECLR_PROFILER_PATH` indique au moteur d&apos;exécution où trouver le profileur sur le système. + +Valeurs typiques : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="C:\Program Files\New Relic\.NET Agent\netcore\NewRelic.Profiler.dll" +``` + +Remarque : le comportement du profileur agent .NET diffère légèrement entre .NET Framework et .NET Core. Pour .NET Framework, même lorsque le profilage est activé dans l'environnement d'un processus .NET Framework, il ne sera instrumenté par l'agent que si l'une des conditions suivantes est remplie : + +* L'application est hébergée dans IIS (a) les pools application sont configurés pour être instrumentés par défaut, ou (b) le pool application hébergeant l'application est configuré pour être instrumenté explicitement. +* L'application est explicitement configurée pour être instrumentée dans le fichier `newrelic.config` à l&apos;échelle du système +* `AgentEnabled="true"` est défini dans un fichier `newrelic.config` local à l&apos;application + +Cependant, pour l'agent .NET, tout processus où `CORECLR_ENABLE_PROFILING` est défini sur 1 dans son environnement sera instrumenté par l&apos;agent. Par conséquent, nous ne recommandons pas de définir cette variable d&apos;environnement sur `1` à l&apos;échelle du système, car cela peut entraîner une consommation excessive de ressources système et/ou l&apos;envoi de plus de données à New Relic que prévu. Au lieu de cela, définissez uniquement cette variable sur `1` dans l&apos;environnement des processus que vous souhaitez instrumenter. + +### Variables pour indiquer au profileur où se trouve le reste de l'agent .NET [#agent] + +Maintenant que l'environnement d'exécution .NET sait comment trouver le profileur et l'attacher à votre application, d'autres variables d'environnement sont nécessaires pour trouver le reste des ressources de l'agent, qui incluent à la fois des composants binaires (DLL) et de configuration (XML). Ces variables sont également utilisées par certaines parties du reste de l'agent. + +Remarque : selon votre scénario d’installation, seules certaines de ces variables sont requises. + +#### `NEWRELIC_HOME` + +Cette variable : + +* est uniquement utilisé dans la version .NET framework de l'agent +* est utilisé pour rechercher les ressources de configuration de l'agent (`newrelic.config` et les fichiers XML d&apos;instrumentation dans le sous-dossier `extensions` ) +* peut être utilisé pour trouver les actifs binaires de l'agent, s'ils sont installés au même endroit que les actifs de configuration + +Remarque : lorsque l'agent est installé avec le programme d'installation MSI, il n'est peut-être pas nécessaire de définir cette variable, car le MSI définit également une clé de registre (`HKEY_LOCAL_MACHINE\Software\New Relic\.NET Agent\NewRelicHome`) avec la valeur correcte. La variable d&apos;environnement a la priorité si elle est définie. + +#### `CORECLR_NEWRELIC_HOME` + +Cette variable est : + +* Utilisé uniquement dans la version .NET Core de l'agent +* Utilisé pour rechercher les ressources de configuration de l'agent (`newrelic.config` et les fichiers XML d&apos;instrumentation dans le sous-dossier `extensions` ) +* Peut être utilisé pour rechercher les ressources binaires de l'agent, s'ils sont installés au même endroit que les ressources de configuration + +Remarque : cette variable doit toujours être définie pour la version .NET Core de l’agent. + +#### `NEWRELIC_INSTALL_PATH` + +Cette variable est principalement utilisée : + +* Lorsque les versions .NET et .NET Core de l'agent sont installées côte à côte sur le système +* Lorsque les composants binaires de l'agent sont installés dans un emplacement différent sur le système que les ressources de configuration +* Lorsque l'agent est installé avec le programme d'installation MSI sous Windows (qui effectue les deux opérations ci-dessus) + +Cette variable est définie sur un répertoire/dossier et est utilisée par le profileur pour trouver l'agent `Core.dll`. Si le chemin spécifié dans cette variable contient le fichier `NewRelic.Agent.Core.dll` , il est utilisé. Si le `Core.dll` n&apos;est pas trouvé, le profileur ajoute `netframework` ou `netcore` au chemin spécifié et recherche le `Core.dll` à cet emplacement. Si le `Core.dll` n&apos;est toujours pas trouvé, le profileur revient à la recherche dans `NEWRELIC_HOME` (.NET framework) ou `CORECLR_NEWRELIC_HOME` (.NET Core). + +Cette variable est également utilisée par l'agent pour charger les binaires d'extension d'instrumentation à partir du sous-dossier `extensions` . L&apos;agent ajoute toujours `netframework` ou `netcore` à la valeur de cette variable lorsqu&apos;elle est définie. Si ce n&apos;est pas défini, l&apos;agent revient à la recherche dans `NEWRELIC_HOME\extensions` (.NET framework) ou `CORECLR_NEWRELIC_HOME\extensions` (.NET Core). + +### Valeurs pour des scénarios d'installation typiques + +#### Programme d'installation MSI (Windows) + +Le MSI est facile à utiliser car il fait presque tout pour vous automatiquement, mais ce qu'il fait en coulisses est compliqué. Le programme d'installation MSI place différentes parties de l'agent à différents endroits du système. Par défaut, il place les ressources de l'agent binaire dans `C:\Program Files\New Relic\.NET Agent` et il place les ressources de configuration dans `C:\ProgramData\New Relic\.NET Agent`. Ceci permet de prendre en charge les scénarios dans lesquels un utilisateur non privilégié peut accéder/modifier des fichiers dans `ProgramData` mais pas dans `Program Files`. Le programme d&apos;installation MSI installe côte à côte les versions framework et Core de l&apos;agent . Le programme d&apos;installation MSI définit également un certain nombre de clés de registre qui rendent inutile la définition explicite de certaines des variables d&apos;environnement requises, comme expliqué ci-dessus. + +En supposant que vous ne spécifiez pas de chemin installation personnalisé lorsque vous utilisez le programme d'installation MSI, voici les valeurs correctes des variables d'environnement : + +##### Pour les applications .NET Framework : + +```ini +COR_ENABLE_PROFILING=1 +COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} +COR_PROFILER_PATH="C:\Program Files\New Relic\.NET Agent\netframework\NewRelic.Profiler.dll" # may not be necessary due to profiler being registered with the system +NEWRELIC_INSTALL_PATH="C:\Program Files\New Relic\.NET Agent" +NEWRELIC_HOME="C:\ProgramData\New Relic\.NET Agent" # may not be necessary due to registry key being set +``` + +##### Pour l'application .NET Core : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="C:\Program Files\New Relic\.NET Agent\netcore\NewRelic.Profiler.dll" +NEWRELIC_INSTALL_PATH="C:\Program Files\New Relic\.NET Agent" +CORECLR_NEWRELIC_HOME="C:\ProgramData\New Relic\.NET Agent" +``` + +#### Archive ZIP (Windows) + +L'archive ZIP de l'agent pour Windows contient à la fois les versions Framework et Core de l'agent dans des répertoires côte à côte. Remplacez `CUSTOM_AGENT_PATH` par le chemin où vous décompressez l&apos;archive sur votre système. + +##### Pour les applications .NET Framework : + +```ini +COR_ENABLE_PROFILING=1 +COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} +COR_PROFILER_PATH="CUSTOM_AGENT_PATH\netframework\NewRelic.Profiler.dll" +NEWRELIC_HOME="CUSTOM_AGENT_PATH\netframework" +``` + +##### Pour l'application .NET Core : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="CUSTOM_AGENT_PATH\netcore\NewRelic.Profiler.dll" +CORECLR_NEWRELIC_HOME="CUSTOM_AGENT_PATH\netcore" +``` + +#### Paquet Linux + +Le package d'installation Linux (.deb ou .rpm, (selon votre distribution Linux) installe l'agent .NET pour .NET Core. Par défaut, il installe tout dans `/usr/local/newrelic-dotnet-agent`. + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="/usr/local/newrelic-dotnet-agent/libNewRelicProfiler.so" +CORECLR_NEWRELIC_HOME="/usr/local/newrelic-dotnet-agent" +``` + +Il existe également une archive `.tar.gz` de l&apos;agent pour l&apos;installation manuelle sous Linux. Dans ce cas, remplacez `/usr/local/newrelic-dotnet-agent` par l&apos;endroit où vous décompressez l&apos;archive sur votre système dans les variables ci-dessus. + +#### Paquet NewRelic.Agent NuGet + +Lorsqu'il est ajouté au projet de votre application, le package NewRelic.Agent NuGet ajoute l'agent à un sous-répertoire `newrelic` de votre application. La version correcte de l&apos;agent est ajoutée pour .NET Framework ou .NET Core selon le type de votre application. Les profileurs pour Windows et Linux ont été ajoutés, y compris les versions 64 et 32 bits du profileur Windows et les versions x64 et arm64 du profileur Linux. En utilisant `` comme espace réservé partout où votre application est déployée sur le système, ce sont les valeurs correctes des variables d&apos;environnement. + +##### Pour l'application .NET Framework (64 bits) : + +```ini +COR_ENABLE_PROFILING=1 +COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} +COR_PROFILER_PATH="\newrelic\NewRelic.Profiler.dll" +NEWRELIC_HOME="\newrelic" +``` + +##### Pour l'application .NET Framework (32 bits) : + +```ini +COR_ENABLE_PROFILING=1 +COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} +COR_PROFILER_PATH="\newrelic\x86\NewRelic.Profiler.dll" +NEWRELIC_HOME="\newrelic" +``` + +##### Pour l'application .NET Core (Windows) : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="\newrelic\NewRelic.Profiler.dll" +CORECLR_NEWRELIC_HOME="\newrelic" +``` + +##### Pour les applications .NET Core (Linux, x64) : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="/newrelic/libNewRelicProfiler.so" +CORECLR_NEWRELIC_HOME="/newrelic" +``` + +##### Pour les applications .NET Core (Linux, arm64) : + +```ini +CORECLR_ENABLE_PROFILING=1 +CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} +CORECLR_PROFILER_PATH="/newrelic/linux-arm64/libNewRelicProfiler.so" +CORECLR_NEWRELIC_HOME="/newrelic" +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/agent-changes-content-type-header-wcf-apps-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/agent-changes-content-type-header-wcf-apps-net.mdx new file mode 100644 index 00000000000..2dbc37163e4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/agent-changes-content-type-header-wcf-apps-net.mdx @@ -0,0 +1,88 @@ +--- +title: L'agent modifie l'en-tête Content-Type pour les applications WCF (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps if data does not appear in your app after you installed the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Avec l'agent .NET activé pour une application Windows Communication Foundation (WCF), l'en-tête de réponse `Content-Type` est modifié de manière inattendue en `application/xml`. + +## Solution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Basic solutions** + + + + **Comments** + +
+ Désactivez la fonctionnalité de traçage inter-applications (CAT). + + Découvrez comment [modifier la configuration CAT](/docs/agents/net-agent/configuration/net-agent-configuration#cross_application_tracer). + + Si vous souhaitez que CAT reste activé, consultez les autres solutions. +
+ Utilisez la fonctionnalité de traçage distribué (DT) au lieu de CAT. + + Découvrez comment [activer la configuration DT](/docs/agents/net-agent/configuration/net-agent-configuration#distributed_tracing). + + DT est une nouvelle méthode améliorée pour réaliser le traçage et dispose de fonctionnalités améliorées, par rapport à CAT, dans l'UI de New Relic. + + DT ne nécessite pas de modifications des en-têtes de réponse et ne sera pas affecté par la modification des en-têtes de réponse. +
+ Ajoutez l'en-tête `Content-Type` souhaité au message et à `OperationContext`. + + Cette solution nécessite de modifier le code de votre application. +
+ +## Cause + +La fonctionnalité de traçage inter-applications (CAT) est activée par défaut dans l'agent .NET. CAT fonctionne en ajoutant des en-têtes aux messages de demande et aux messages de réponse. + +Voici ce qui se passe dans l'agent : + +1. L'implémentation de la méthode de service WCF s'exécute. +2. L'agent tentera d'ajouter des en-têtes CAT à la réponse WCF en ajoutant une instance `HttpResponseMessageProperty` , avec les en-têtes CAT, à `OperationContext.Current.OutgoingMessageProperties`. +3. Le `DispatchMessageFormatter` personnalisé s&apos;exécute et crée un nouveau message dans lequel l&apos;en-tête `Content-Type` attendu est ajouté directement au nouveau message. +4. L'implémentation WCF de Microsoft tentera de fusionner les propriétés de message définies dans le message de réponse avec les propriétés de message définies dans `OperationContext`. Consultez cette [référence Microsoft sur ImmutableDispatchRuntime.cs](https://referencesource.microsoft.com/#System.ServiceModel/System/ServiceModel/Dispatcher/ImmutableDispatchRuntime.cs,725) pour plus de détails. +5. Le `HttpResponseMessageProperty` ne prend pas en charge la fusion, donc la valeur définie dans le `OperationContext` est utilisée à la place de la valeur définie dans le message. +6. Par conséquent, l’en-tête `Content-Type` initialement ajouté au message formaté est supprimé et l’en-tête `Content-Type` par défaut est utilisé. + +Étant donné que l'agent doit prendre en charge plusieurs liaisons WCF, il doit ajouter nos en-têtes CAT au `OperationContext`. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx new file mode 100644 index 00000000000..422709d6f41 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/azure-pipelines-wipes-out-newrelicazurewebsitesextension-directories.mdx @@ -0,0 +1,75 @@ +--- +title: Le pipeline Azure supprime les répertoires NewRelic.Azure.WebSites.Extension +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps if data does not appear in your app after you installed the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Pour les applications Web Azure utilisant `NewRelic.Azure.WebSites.Extension` et déployées avec le pipeline Azure , les répertoires `newrelic` sont supprimés, donc aucune instrumentation ne se produit. D&apos;autres tentatives de déploiement à l&apos;aide d&apos;Azure Pipeline indiquent que `NewRelic.Azure.WebSites.Extension` est déjà installé, donc l&apos;extension ne peut pas être réinstallée à l&apos;aide d&apos;Azure Pipeline. + +## Solution + +Pour contrôler la conservation du dossier `newrelic` , utilisez les options suivantes pour WebDeploy : + + + + + + + + + + + + + + + + + +
+ + **Basic solutions** + + + + **Comments** + +
+ Activer `skipAction=Delete` arguments WebDeploy. + + Excluez explicitement des dossiers spécifiques de la suppression, tels que les dossiers `newrelic` , avec les éléments suivants : + + UI de Azure Pipelines : + + Ajoutez ces arguments à la **Azure App Service deploy -> Additional Deployment Options -> Additional Arguments** + + ``` + -skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic$' -skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic_core$' + ``` + + OU + + `Pipeline.yml` déposer: + + ajoutez le `input` suivant à la tâche WebDeploy : + + ```yml + AdditionalArguments: '-skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic$'' -skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic_core$''' + ``` + + **Note** les guillemets simples échappés. +
+ +Screenshot showing skipAction + +## Cause + +Si l’option `Remove additional files at destination` est sélectionnée pour la tâche `AzureRmWebAppDeployment` dans Azure Pipeline, les répertoires `newrelic` et `newrelic_core` sont supprimés de `wwwroot`, mais l’extension n’est pas considérée comme désinstallée par Azure. Par conséquent, la prochaine fois que le pipeline s’exécute et tente d’installer l’extension, le pipeline affiche le message `Extension 'NewRelic.Azure.WebSites.Extension' already installed.` L’extension ne peut pas s’exécuter sans ses dossiers et Azure ne la réinstallera pas car il considère qu’elle est toujours installée. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/browser-injection-health-check-conflict.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/browser-injection-health-check-conflict.mdx new file mode 100644 index 00000000000..7a5899aecde --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/browser-injection-health-check-conflict.mdx @@ -0,0 +1,35 @@ +--- +title: 'injection de navigateur : conflit de contrôle de santé' +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting tips for your New Relic .NET agent if your webpage health check is failing. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Dans le cadre d'un contrôle de santé, votre équilibreur de charge (tel qu'un équilibreur de charge F5) effectue périodiquement un ping sur une page Web spécifiée. Dans certains cas, lorsque [automatique du navigateur injection](/docs/agents/net-agent/additional-installation/new-relic-browser-net-agent) est activée, l&apos;[](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser)JavaScript snippet ajouté à l&apos;en-tête de la page provoque l&apos;échec de cette vérification. Selon la configuration de l&apos;équilibreur de charge, cela peut entraîner le routage du trafic vers une autre instance application . + +## Solution + +Pour éviter cela, ajoutez le [sous-élément`requestPathsExcluded` ](/docs/agents/net-agent/configuration/net-agent-configuration#browser-path-exclusion)à la configuration de votre agent .NET. Il s’agit d’une référence au répertoire virtuel du chemin dans votre application et non à l’URL complète du chemin que vous souhaitez exclure. + +Par exemple, si votre équilibreur de charge est configuré pour envoyer une requête ping à une page Web dans `https://www.mywebsite.com/healthmonitor/`, insérez `/healthmonitor/` comme valeur d&apos;expression régulière du chemin : + +```xml + + + + + + +``` + +## Cause + +L' [agent de navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent) est un snippet JavaScript injecté dans l&apos;en-tête d&apos;une page Web. Parfois, cela peut empêcher le surveillant de contrôle de santé de voir les informations dont il a besoin pour valider que le site est sain. L’exclusion du chemin où se trouve la page de contrôle de l’état empêchera l’ agent d’injecter l’ snippet dans les en-têtes de pages spécifiques. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreate-errors-no-event-log.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreate-errors-no-event-log.mdx new file mode 100644 index 00000000000..8b4b24cfafe --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreate-errors-no-event-log.mdx @@ -0,0 +1,47 @@ +--- +title: "Erreurs CoCreate\_:\_aucun logdes événements" +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If your .NET app does not report data to New Relic, or if it does not have an event log, check for profiler conflicts.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic et attendu quelques minutes, votre application .NET ne signale pas de données à New Relic. De plus, il n’existe pas New Relic d’événements log pour votre application .NET. + +## Solution + +Vous exécutez peut-être un autre profileur qui entre en conflit avec New Relic. En raison de l’architecture de .NET, vous ne pouvez exécuter qu’un seul profileur à la fois. + +Pour vérifier si New Relic est en conflit avec un autre profileur : + +1. Vérifiez des application événements de votre log pour détecter les erreurs ; par exemple : + + ``` + NET Runtime version 2.0.50727.4234 - Failed to CoCreate profiler. Profiler CLSID: '{TRQGTQJM-KMJB-FQGP-VNGG-KUQTZWCKQ6QQ}'. + ``` + + ``` + NET Runtime version 4.0.30319.296 - Loading profiler failed during CoCreateInstance. Profiler CLSID: '{71DA0A04-7777-4EC6-9643-7D28B46A8A41}'. + ``` + +2. Comparez le CLSID de l'erreur avec les CLSID de New Relic : + + ``` + {71DA0A04-7777-4EC6-9643-7D28B46A8A41} (agent for .NET Framework) + {36032161-FFC0-4B61-B559-F6C5D41BAE5A} (agent for .NET Core) + ``` + +3. Effectuez l’une des opérations suivantes : + + * Si le CLSID ne correspond pas, désinstallez l’autre profileur. + * Si le CLSID correspond, recherchez [les erreurs d'autorisations CoCreateInstance](/docs/agents/net-agent/troubleshooting/cocreateinstance-errors-no-profiler-log). + +## Cause + +Ces erreurs `NET Runtime version` indiquent qu&apos;un autre profileur .NET est en cours d&apos;exécution. L&apos;agent .NET de New Relic doit être enregistré en tant que profileur auprès du Common Language Runtime (CLR) en tant que profileur pour fonctionner. Le CLR appelle l&apos;agent .NET lorsque le code est chargé, et l&apos;agent instrumente le code pour l&apos;appel de méthode selon le cas. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreateinstance-errors-no-profiler-log.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreateinstance-errors-no-profiler-log.mdx new file mode 100644 index 00000000000..9e61e1e37cc --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/cocreateinstance-errors-no-profiler-log.mdx @@ -0,0 +1,165 @@ +--- +title: "Erreurs CoCreateInstance\_: aucun logde profileur" +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If your New Relic .NET app is not reporting data, follow these troubleshooting steps to check for CoCreateInstance errors related to permissions.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic et attendu quelques minutes, votre application .NET ne signale pas de données à New Relic. De plus, il n’existe pas de New Relic profileur log pour votre application .NET. + + + Si vous êtes un utilisateur d’Azure Websites et que vous rencontrez des erreurs `CoCreateInstance` , obtenez de l’aide sur [support.newrelic.com](https://support.newrelic.com). + + +## Solution + +Pour vérifier si New Relic dispose des autorisations nécessaires et résoudre le problème, suivez ces étapes de dépannage. + + + + Pour vérifier si l’erreur d’autorisation est due à des erreurs du profileur : + + 1. Vérifiez des événements de votre pour détecter des erreurs telles que celle-ci : application log + + ``` + NET Runtime version 4.0.30319.296 - Loading profiler failed during CoCreateInstance. Profiler CLSID: '{71DA0A04-7777-4EC6-9643-7D28B46A8A41}' + ``` + + 2. Comparez le CLSID de l'erreur avec les CLSID de New Relic : + + ``` + {71DA0A04-7777-4EC6-9643-7D28B46A8A41} (agent for .NET Framework) + {36032161-FFC0-4B61-B559-F6C5D41BAE5A} (agent for .NET Core) + ``` + + 3. Effectuez l’une des opérations suivantes : + + * Si le CLSID ne correspond pas, [désinstallez l’autre profileur](/docs/agents/net-agent/troubleshooting/cocreate-errors-no-event-log). + * Si le CLSID correspond, continuez cette procédure pour vérifier le log du profileur pour les erreurs d'autorisations `CoCreateInstance` . + + + + Pour vérifier que les assemblages New Relic sont attachés au processus `w3wp.exe` : + + 1. Sur le serveur sur lequel votre application est installée, [téléchargez le fichier Microsoft Windows **Sysinternals Process Explorer**](https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx). + + 2. Décompressez le fichier et exécutez `procexp.exe` en tant qu&apos;administrateur. + + 3. Sélectionnez **View > Show Lower Pane**, puis sélectionnez **View > Lower Pane View > DLLs**. + + 4. Générez du trafic vers votre application. + + 5. Pour mettre à jour la liste des processus, sélectionnez **View > Refresh Now**. + + 6. Dans le volet supérieur, sélectionnez votre service ou instance `w3wp` (généralement imbriquée sous un processus `svchost.exe` ). + + 7. Dans le volet inférieur, recherchez les assemblys dont les noms commencent par `NewRelic`, notamment : + + ``` + NewRelic.Agent.Core.dll + NewRelic.Profiler.dll + NewRelic.Agent.IL.dll + NewRelic.ICSharpCode.SharpZipLib.dll + NewRelic.Json.dll + NewRelic.Log.dll + ``` + + 8. Si vous ne trouvez aucun assemblage, obtenez de l'aide sur [support.newrelic.com](https://support.newrelic.com) + + + + Vérifiez que les détails de l'environnement `w3wp.exe` sont les suivants : + + ```ini + COR_ENABLE_PROFILING=1 + COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} + NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\ + ``` + + + + Vérifiez la connexion du profileur `%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs`. + + * Assurez-vous qu'il existe **no** log de profileur pour l&apos;application Web que vous dépannagez. + * Si vous avez une installation de site simple ou par défaut, ignorez tout log de profileur pour d'autres applications Web. + + + + Si toutes les conditions ci-dessus sont présentes, vous avez une erreur d’autorisations. Utilisez l’une de ces options pour résoudre l’erreur d’autorisation, le cas échéant : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Available options** + + + + **Resolve permissions errors** + +
+ Définissez les autorisations pour le groupe **Everyone** . + + Ajustez les autorisations dans les dossiers suivants pour le groupe **Everyone** afin de donner au groupe toutes les autorisations **except** `Full Control`: + + ``` + C:\Program Files\New Relic\.NET Agent\ + ``` + + ``` + C:\Program Files (x86)\New Relic\.NET Agent\ + ``` +
+ Définissez les autorisations pour un utilisateur individuel. + + Si vos politiques de sécurité ne permettent pas d’ajuster les autorisations pour le groupe **Everyone** , ajustez les autorisations pour chaque utilisateur individuel. Enregistrez l’utilisateur sous lequel votre application s’exécute, puis ajustez les autorisations pour chacun de ces utilisateurs. +
+ Définissez les autorisations à l’aide du script PowerShell. + + Pour ajouter des autorisations à `HKLM\SOFTWARE\New Relic` à l’aide du script PowerShell : + + ```shell + $key = "HKLM:\SOFTWARE\New Relic" + $acl = Get-Acl $key + $AddACL = New-Object System.Security.AccessControl.RegistryAccessRule ("Everyone","FullControl","ObjectInherit,ContainerInherit","None","Allow") + $acl.SetAccessRule($AddACL) + $acl |Set-Acl -Path $key + ``` + + Pour les applications 32 bits, le chemin serait `HKLM:\SOFTWARE\Wow6432Node\New Relic` +
+
+
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux.mdx new file mode 100644 index 00000000000..17bfead4e20 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux.mdx @@ -0,0 +1,83 @@ +--- +title: Débogage pour .NET Core sur Linux +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting tips to determine why your .NET Core application running on Linux isn't reporting to New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir installé l'agent .NET de New RElic sous Linux, vous ne voyez aucune donnée, remarquez des données manquantes ou ne voyez aucun log. + +## Solution + + + * Assurez-vous que vous disposez des privilèges d'administrateur sur votre hôte pour continuer + * Assurez-vous que les étapes d'installation et d'exécution ont été suivies ([guide d'installation](/docs/agents/net-agent/installation/install-net-agent-linux)) + + +## Étape 1 : vérifier le log agent de l'application [#step-one] + + + * Si vous avez installé notre agent pour .NET Core, ou installé l'un ou l'autre agent avec le package NuGet `NewRelic.Agent`, vous trouverez un dossier `logs` dans le répertoire où l&apos;agent a été extrait sur votre système. + * Dans certaines méthodes d'installation sous Linux, la valeur par défaut est `/usr/local/newrelic-dotnet-agent` (versions d&apos;agent 10.0.0 ou supérieures) ou `/usr/local/newrelic-netcore20-agent` (versions d&apos;agent 9.9.0 ou inférieures). + + +1. Assurez-vous de consulter les données actuelles. Supprimez ou déplacez tous les fichiers existants dans le répertoire du log afin d'être sûr que le log que vous générez reflète l'état actuel de votre système. +2. Redémarrez votre application. +3. Exercez votre application pendant au moins une minute d'une manière qui générerait le trafic que vous vous attendez à voir sur votre compte New Relic. +4. Notez l’ID de processus (PID) sous lequel votre application s’exécute afin de pouvoir vérifier si un log est créé pour ce processus. Vous pouvez trouver le PID en utilisant l’une des commandes suivantes via la ligne de commande : `pidof dotnet` ou `pidof the_process_name`. +5. Revenez au répertoire du log de agent et recherchez un fichier de log avec un nom contenant l'ID de processus de votre application, par exemple `NewRelic.Profiler.[PID].log`. +6. Si vous voyez ce `profiler log` fichier dans le répertoire log, vérifiez également s&apos;il existe un agent log correspondant. +7. Recherchez un autre fichier avec le préfixe `newrelic_agent`. Il peut y en avoir plusieurs si vous exécutez plusieurs applications .NET sur votre hôte. Si vous en voyez un ou plusieurs, vous devez déterminer celui qui correspond à l&apos;application que vous essayez de monitorer. +8. Recherchez dans le agent log la `(pid [your PID])` chaîne, par `(pid 1573)` exemple. Si vous trouvez cette chaîne dans le fichier de log, vous savez agent log alors application qu&apos;il s&apos;agit du associé à votre . + +## Étape 2 : Vérifiez si le profileur d'agent est chargé dans le processus de l'application [#step-two] + +Dans la console, exécutez la commande suivante en remplaçant `pid` par votre ID de processus : + +```bash +sudo cat /proc/PID/maps | grep "libNewRelicProfiler.so" +``` + +En fonction du résultat, voici ce que vous devez faire : + +* Si vous n’obtenez aucun résultat avec cette commande, passez à l’étape suivante. +* Si vous obtenez des résultats, passez à [l’étape 4](#step-four) (autorisations). + +## Étape 3 : Vérifiez les variables d’environnement requises : [#step-three] + +Exécutez ce qui suit en remplaçant `PID` par votre ID de processus. + +```bash +xargs --null --max-args=1 < /proc/PID/environ | grep "CORECLR_" +``` + +En fonction du résultat, voici ce que vous devez faire : + +* Si vous n’obtenez aucun résultat, définissez vos [variables d’environnement](https://discuss.newrelic.com/t/relic-solution-net-core-agent-required-environment-variables/68972), redémarrez votre application et revenez à l’étape 1. + +* Si vous obtenez des résultats, assurez-vous que les quatre variables requises sont définies et ont des valeurs valides : + + * `CORECLR_ENABLE_PROFILING`: Doit toujours être défini sur 1. + * `CORECLR_PROFILER`: Doit toujours être défini sur `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}`. + * `CORECLR_NEWRELIC_HOME`: Doit être défini sur le chemin d&apos;accès complet au répertoire de l&apos;agent pour .NET Core (le répertoire où se trouvent `newrelic.config`, `libNewRelicProfiler.so` et le répertoire des extensions). + * `CORECLR_PROFILER_PATH`: Doit être défini sur le chemin d&apos;accès complet au fichier `libNewRelicProfiler.so`. Cela est presque toujours égal à `CORECLR_NEWRELIC_HOME` + `/libNewRelicProfiler.so`. + +* Si vous avez apporté des modifications à vos variables d’environnement, redémarrez votre application et revenez à [l’étape 1](#step-one). + +Pour plus de détails sur ces variables, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + +## Étape 4 : vérifier les autorisations [#step-four] + +Vérifiez les tâches d’autorisations suivantes : + +* Assurez-vous que l'utilisateur sous lequel votre processus d'application s'exécute dispose des autorisations de lecture/écriture/exécution sur le répertoire dans lequel l'agent .NET pour .NET Core a été extrait sur votre système (`CORECLR_NEWRELIC_HOME`) et sur tous ses sous-répertoires. +* Si vous avez apporté des modifications, redémarrez votre application et revenez à [l’étape 1](#step-one). + +Si les étapes ci-dessus ne résolvent pas le problème, nous vous recommandons de contacter l'assistance ou de demander de l'aide dans [le forum d'assistance](https://discuss.newrelic.com/). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx new file mode 100644 index 00000000000..d3758237355 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows.mdx @@ -0,0 +1,156 @@ +--- +title: Débogage de l'agent .NET sous Windows +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting tips to debug New Relic .NET agent for Windows. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après [avoir installé l'agent .NET de New Relic pour Windows](/docs/apm/agents/net-agent/installation/install-net-agent-windows), vous rencontrez un ou plusieurs des problèmes suivants : + +* Vous ne voyez aucune donnée +* Vous remarquez des données manquantes +* Vous ne voyez aucun log + +## Solution + +Choses importantes à vérifier et à comprendre : + +* Assurez-vous que vous disposez des privilèges d'administrateur sur votre hôte. +* Assurez-vous que les [étapes d'installation et d'exécution ont été suivies](/docs/apm/agents/net-agent/installation/install-net-agent-windows) + +## Étape 1 : vérifier le log agent de l'application [#step-one] + +Conseils importants avant de vérifier le log : + +* Lorsque vous utilisez le programme d'installation MSI Windows , la valeur par défaut est `%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs`. +* Si vous avez installé l'agent avec le package NuGet `NewRelic.Agent` , vous trouverez un dossier `logs` dans le répertoire où l&apos;agent a été extrait sur votre système. + +Pour vérifier le log agent : + +1. Assurez-vous de consulter les données actuelles. Supprimez ou déplacez tous les fichiers existants dans le répertoire du log afin d'être sûr que le log que vous générez reflète l'état actuel de votre système. +2. Redémarrez votre application. Si votre application est hébergée dans IIS, exécutez une ligne de commande IISRESET dans une prompt de commande d'administration. +3. Exercez votre application pendant au moins quelques minutes d'une manière qui générerait le trafic que vous vous attendez à voir sur votre compte New Relic. +4. Notez l’ID de processus (PID) sous lequel votre application s’exécute afin de pouvoir vérifier si un log est créé pour ce processus. Vous pouvez trouver le PID en utilisant le Gestionnaire des tâches Windows ou l'Explorateur de processus. +5. Revenez au répertoire du log de agent et recherchez un fichier de log avec un nom contenant l'ID de processus de votre application (par exemple, `NewRelic.Profiler.[PID].log`). +6. Si vous voyez ce `profiler log` fichier dans le répertoire log, vérifiez également s&apos;il existe un agent log correspondant. Le agent log contient le `newrelic_agent` préfixe. Si vous exécutez plusieurs applications .NET sur votre hôte, il peut y en avoir plusieurs. Si vous en voyez un ou plusieurs, vous devez déterminer celui qui correspond à l&apos;application que vous essayez de monitorer. +7. Recherchez dans le agent log la `(pid [your PID])` chaîne, par `(pid 1573)` exemple. Si vous trouvez cette chaîne dans le fichier de log, vous savez agent log alors application qu&apos;il s&apos;agit du associé à votre . +8. Recherchez les erreurs réseau ou autres qui pourraient empêcher l'agent d'envoyer des données à New Relic. + +## Étape 2 : Vérifiez si le profileur d'agent .NET est chargé dans le processus de l'application [#step-two] + +Pour vérifier si le profileur est chargé : + +1. Téléchargez et extrayez [Microsoft Process Explorer](https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer) sur votre serveur. + +2. lancer la version appropriée de Process Explorer pour votre environnement (32 vs 64 bits) en tant qu'administrateur (clic droit **Run as Administrator**). + +3. Dans la fenêtre principale de Process Explorer, recherchez le processus que vous essayez de monitorer et notez le numéro dans la colonne PID. Si vous essayez de monitorer une application Web hébergée par IIS, le nom du processus sera `w3wp.exe`. + +4. Dans la barre de menu de Process Explorer, sélectionnez **View > Show lower pane** puis **View > Lower pane view > DLLs**. + +5. Mettez en surbrillance votre processus application dans le volet supérieur, puis vérifiez le volet inférieur pour les DLL suivantes. + + * `NewRelic.Profiler.dll` - Cette DLL est nécessaire pour que l&apos;agent monitore votre application. Si ce n&apos;est pas le cas, assurez-vous que l&apos;utilisateur sous lequel l&apos;application s&apos;exécute dispose des autorisations de lecture sur le dossier dans lequel l&apos;agent a été installé. + + + * Dans le **.NET Framework agent** cela devrait être identique à la variable d&apos;environnement `NEWRELIC_INSTALL_PATH` . + * Dans le **.NET Core agent** cela devrait être identique à la variable d&apos;environnement `CORECLR_NEWRELIC_HOME` . + + + * `mscorlib.dll`: **.NET Framework agent only.** La présence de cette DLL permet à l&apos;agent d&apos;identifier votre application comme une application.NET Framework. S&apos;il n&apos;est pas présent, l&apos;agent ignore complètement l&apos;application. Si votre application ne contient pas cette DLL, veuillez vérifier que votre application répond aux [exigences de compatibilité deagent .](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent) + + + L’utilisation de [Code Access Security](https://docs.microsoft.com/en-us/dotnet/framework/misc/code-access-security) est compatible avec l’agent .NET uniquement lorsque Full Trust est fourni. L&apos;agent n&apos;est pas compatible avec des niveaux de confiance plus restrictifs. + + +Si vous ne voyez pas `NewRelic.Profiler.dll`, passez à l’étape suivante. Si vous obtenez des résultats, passez à [l’étape 4](#step-four) (autorisations). + +## Étape 3 : vérifier les variables d’environnement requises [#step-three] + +Pour vérifier les variables d’environnement requises : cliquez avec le bouton droit sur le processus dans Process Explorer et sélectionnez **Properties**. Vous verrez un ensemble d’onglets en haut de la fenêtre qui apparaît. Sélectionnez l’onglet **Environment** . + +Si les variables correctes sont définies et que l'application que vous essayez de monitorer y a accès, vous devriez voir un ensemble particulier de variables d'environnement, selon que l'agent que vous avez installé est .NET Framework ou .NET Core. + + + + En supposant que vous ayez installé l'agent à l'aide du fichier .msi programme d'installation, les variables d'environnement qui apparaissent dans l'onglet environnement doivent être similaires à celles-ci : + + ```ini + COR_ENABLE_PROFILING = 1 + COR_PROFILER = {71DA0A04-7777-4EC6-9643-7D28B46A8A41} + NEWRELIC_INSTALL_PATH = C:\Program Files\New Relic\.NET Agent + ``` + + Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + Si les variables d'environnement ne correspondent pas à ce que vous voyez ci-dessus, vous pouvez réexécuter le programme d'installation de l'agent .NET (.msi) et sélectionner `Repair` lorsque vous êtes invité à les restaurer à leur valeur par défaut. + + Si les variables d’environnement ci-dessus ne sont pas du tout présentes dans le processus, cela signifie généralement l’une des choses suivantes : + + * **IIS applications**: Il y a **[permissions issues](/docs/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues)** sur votre serveur qui empêchent l&apos;application que vous essayez de monitorer d&apos;accéder aux clés de registre où les variables sont définies. + * **Non-IIS applications**: La [fonctionnalité « instrumenter toutes les applications .NET »](/docs/agents/net-agent/additional-installation/instrument-non-iis-apps) n&apos;a pas été sélectionnée lors de l&apos;installation de l&apos;agent . Prêt à l&apos;emploi, l&apos;agent framework monitore les applications Web hébergées par IIS. Si la fonctionnalité `Instrument all .NET Applications` n&apos;est pas installée, l&apos;agent ignorera toutes les applications non IIS qui démarrent sur votre serveur. Vous pouvez vérifier si la fonctionnalité a été installée en examinant les variables d’environnement système Windows pour le serveur et en vérifiant si les variables ci-dessus sont définies. Si ce n&apos;est pas le cas, relancez le programme d&apos;installation et sélectionnez la fonctionnalité `Instrument all .NET applications` lorsque vous y êtes invité. + + + Si l'application que vous souhaitez monitorer n'est pas hébergée dans IIS (comme un service Windows auto-hébergé), vous devez activer `Instrument All` et également activer explicitement l&apos;agent pour cette application, comme indiqué dans nos [documentsinstallation ](/docs/apm/agents/net-agent/installation/install-net-agent-windows#enabling-the-agent). + + + Si vous avez apporté des modifications aux variables d'environnement, assurez-vous d'émettre une ligne de commande `iisreset` ou de redémarrer votre processus d&apos;application (s&apos;il ne s&apos;agit pas d&apos;IIS). Inspectez ensuite le nouveau PID de processus dans Process Explorer afin de vous assurer que les modifications ont réussi. + + + Si le nom application s'affiche dans New Relic, mais qu'aucune transaction n'apparaît, c'est probablement parce qu'aucun trafic ne touche l'application ou que l'agent ne rencontre pas de [frameworkconnu](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#app-frameworks-framework) qu&apos;il peut automatiquement instrument. + + Si votre application n'utilise pas l'un de ces frameworks d'application compatibles, vous devrez peut-être [instrumenter de façon personnalisée de votre application](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) afin d&apos;indiquer à l&apos;agent quelles parties de votre application sont importantes pour monitoring et ce qui constitue la portée d&apos;une transaction. + + + + + En supposant que vous ayez installé l'agent à l'aide du fichier .msi programme d'installation, les variables d'environnement qui apparaissent dans l'onglet environnement doivent être similaires à celles-ci : + + ```ini + CORECLR_ENABLE_PROFILING=1 + CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} + NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\ + CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\ + ``` + + Ces variables sont définies manuellement dans le cadre du processus installation ou au moment de l'exécution. Si des modifications doivent être apportées, ajustez les variables dans Windows ou à l'endroit où vous avez défini les variables pour cette application. + + Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + Si vous ne voyez pas les variables ci-dessus dans Process Explorer lors de l'inspection du processus de votre application, assurez-vous que les variables sont définies et qu'elles sont accessibles à l'application au moment de l'exécution. + + + Si le nom application s'affiche dans New Relic, mais qu'aucune transaction n'apparaît, c'est probablement parce qu'aucun trafic n'atteint l'application ou que l'agent ne rencontre pas de [frameworkconnu](/docs/apm/agents/net-agent/getting-started/net-agent-compatibility-requirements/#app-frameworks-core) qu&apos;il peut instrument automatiquement. + + Si votre application n'utilise pas l'un de ces frameworks d'application compatibles, vous devrez peut-être implémenter [instrumentpersonnalisé](/docs/apm/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation/) pour indiquer à l&apos;agent quelles parties de votre application sont importantes pour monitoring et ce qui constitue la portée d&apos;une transaction. + + + Si l'application que vous souhaitez monitorer n'est pas hébergée dans IIS (comme un service Windows auto-hébergé), vous devez configurer votre application pour qu'elle soit monitorée en définissant la variable d'environnement suivante : + + ```ini + CORECLR_ENABLE_PROFILING=1 + ``` + + Nous vous recommandons de définir les variables d'environnement pour chaque application que vous souhaitez monitorer. Si vous les définissez globalement, vous pouvez instrumenter d’autres processus .NET en plus de l’ application que vous souhaitez monitorer. + + + Pour obtenir des conseils sur la définition de cette variable d'environnement par processus plutôt qu'à l'échelle du système, consultez [notre publication de forum sur la définition des variables d'environnement](https://discuss.newrelic.com/t/setting-net-core-agent-environment-variables-per-process/157750). + + + + +## Étape 4 : vérifier les autorisations [#step-four] + +Vérifiez les tâches d’autorisations suivantes : + +* Assurez-vous que l'utilisateur sous lequel votre processus d'application s'exécute dispose des autorisations de lecture/écriture/exécution sur le répertoire dans lequel l'agent .NET a été extrait sur votre système (`NEWRELIC_INSTALL_PATH` ou `CORECLR_NEWRELIC_HOME`) et sur tous ses sous-répertoires. +* Si vous avez apporté des modifications, redémarrez votre application et revenez à [l’étape 1](#step-one). + +Si les étapes ci-dessus ne résolvent pas le problème, nous vous recommandons de contacter le support ou de demander de l'aide sur [notre forum d'assistance](https://discuss.newrelic.com/tag/dotnetagent). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/generate-logs-troubleshooting-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/generate-logs-troubleshooting-net.mdx new file mode 100644 index 00000000000..78a6f2be795 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/generate-logs-troubleshooting-net.mdx @@ -0,0 +1,84 @@ +--- +title: Générer un log de dépannage (.NET) +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'Generating New Relic for .NET log files, changing your log file settings, and collecting Microsoft System Information files.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent .NET de New Relic stocke par défaut deux types de fichiers log dans le `Logs` répertoire à `%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs` pour Windows et à `/usr/local/newrelic-dotnet-agent/logs` pour Linux. Si vous utilisez une installation de package NuGet, ils seront situés dans le dossier `newrelic` du répertoire racine de votre application. Les deux sont nécessaires pour le dépannage ; par exemple, si [aucune donnée n'apparaît](/docs/agents/net-agent/troubleshooting/no-data-appears-net) dans l&apos;UI de New Relic pour votre application. Si l’un des types log est manquant, certains composants de l’agent .NET n’ont pas démarré. + +* log de l'agent : ces noms de fichiers commencent par `newrelic_agent_`. +* log du profileur : ces noms de fichiers commencent par `NewRelic.Profiler`. + +## Générer un fichier de log sous Windows [#logs-windows] + + + Lorsque vous dépannez votre New Relic .NET,agent assurez-vous qu'il a été configuré pour générer `debug` un fichier de niveau log et monitorez de près la taille de votre fichier log . La logisation à `debug` génère beaucoup de données très rapidement. Après avoir reproduit votre problème, ramenez le niveau de log à `info`. + + +Si votre `C:\ProgramData\New Relic\.NET Agent` se trouve dans un dossier caché, mettez à jour vos paramètres Windows pour pouvoir le voir. Pour générer New Relic le fichier for .NET :log + +1. Ouvrir `newrelic.config`, généralement situé dans `C:\ProgramData\New Relic\.NET Agent` (ou `%ALLUSERSPROFILE%\New Relic\.NET Agent`). +2. Modifiez le paramètre `` en ``. +3. Enregistrez et fermez le fichier, puis attendez quelques minutes que l'agent lise les nouveaux paramètres. +4. Générez quelques minutes de trafic vers votre application. +5. Si vous envoyez votre fichier de log au New Relic New Relic support : dans votre d'assistance ticket, joignez le `newrelic.config` fichier (pas le texte du fichier) et joignez l&apos;intégralité du dossier de `Logs` `C:\ProgramData\New Relic\.NET Agent\Logs` ou `%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs` de. +6. Dans `newrelic.config`, remplacez `` par ``. + +## Générer un fichier de log sous Linux [#logs-linux] + + + Lorsque vous dépannez votre New Relic .NET,agent assurez-vous qu'il a été configuré pour générer `debug` un fichier de niveau log et monitorez de près la taille de votre fichier log . La logisation à `debug` génère beaucoup de données très rapidement. Après avoir reproduit votre problème, ramenez le niveau de log à `info`. + + +1. Ouvert `newrelic.config`, généralement situé dans `/usr/local/newrelic-dotnet-agent` +2. Modifiez le paramètre `` en ``. +3. Enregistrez et fermez le fichier, puis attendez quelques minutes que l'agent lise les nouveaux paramètres. +4. Générez quelques minutes de trafic vers votre application. +5. Si vous envoyez votre fichier de log au New Relic New Relic support : dans votre d'assistance ticket, joignez le `newrelic.config` fichier (pas le texte du fichier) et joignez l&apos;intégralité du dossier `Logs` `/usr/local/newrelic-dotnet-agent/logs`de. +6. Dans `newrelic.config`, remplacez `` par ``. + +## Générer Azure le fichier de Web App log [#azure\_logs][#azure_logs] + +La console Kudu gère les Microsoft Azure log rapports de l’application Web . Pour utiliser la console Kudu, log vous d’abord à Azure. + +1. Accédez à l’URL de votre application Web Azure ; par exemple : + + ``` + https://example.azurewebsites.net + ``` + +2. Insérez le snippet d'URL de la console Kudu `scm`dans l&apos;URL ; par exemple : + + ``` + https://example.scm.azurewebsites.net + ``` + +3. Recherchez le logo Kudu avec une barre de navigation noire en haut à gauche de la page et votre nom d’utilisateur Azure en haut à droite de la page. + +Ensuite, pour changer le niveau de log dans la console Kudu : + +1. Dans la barre de navigation de la console Kudu, sélectionnez le menu **Debug console** , puis sélectionnez **CMD** ou **PowerShell**. +2. Accédez à `D:\home\site\wwwroot\newrelic`. +3. Pour modifier `newrelic.config`, sélectionnez le crayon icône. +4. Remplacez `` par `` +5. Enregistrez la modification sur `newrelic.config`. +6. Attendez quelques minutes que le log de débogage soit généré. +7. Suivez les mêmes étapes pour reconvertir le `log level` en `info`. + +## Collecter des informations sur le système [#msinfo] + +En plus du log agent , un fichier d'informations système Microsoft est également utile pour le dépannage : + +1. Dans la barre des tâches Windows, sélectionnez **Start > Run** et entrez `msinfo32`. Sélectionnez **OK**. +2. Une fois la page d’informations système chargée, sélectionnez **File > Save**. +3. Attendez quelques minutes que le serveur enregistre le fichier. +4. Joignez le fichier à votre [ticket d'assistance New Relic](/docs/accounts-partnerships/education/getting-started-new-relic/find-help-or-file-support-ticket). + +## Vérifier les autorisations [#permissions] + +Parfois, l'agent .NET démarre mais ne peut pas écrire dans son log car il ne dispose pas des [autorisations nécessaires pour créer le répertoire et log fichier de log](/docs/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues). La gestion des autorisations varie selon l’environnement, vous devrez donc travailler avec votre administrateur système pour vérifier qu’il ne s’agit pas d’un problème. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/high-memory-usage-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/high-memory-usage-net.mdx new file mode 100644 index 00000000000..d9b06cdbc1f --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/high-memory-usage-net.mdx @@ -0,0 +1,36 @@ +--- +title: Utilisation élevée de la mémoire (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting tips to determine if Windows Working Set memory usage is a concern after you install New Relic's .NET agent for your app. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir installé l'agent .NET de New Relic, vous constatez une augmentation de l'utilisation de `Working Set` la mémoire dans les monitoring outils tels que Windows **Task Manager** Microsoft. L&apos;augmentation est généralement d&apos;environ 100 Mo par application de monitoring. Cela peut se produire sur des machines physiques et virtuelles. + +## Solution + +Cette augmentation de l'utilisation de la mémoire `Working Set` n&apos;affecte généralement pas les performances. Windows réserve `Working Set` mémoire pour une application particulière, mais elle peut être utilisée à tout moment si une autre application a besoin de mémoire. Il s’agit d’un comportement normal et attendu pour toute application Windows. + +Dans de rares cas, notamment pour les systèmes avec une RAM limitée ou de nombreux pools d'applications, l'utilisation de la mémoire peut avoir un impact sur les performances. Si vos performances sont affectées, essayez l’une de ces options : + +* [Activer l'instrumentation uniquement pour des pools d'applications spécifiques](/docs/agents/net-agent/configuration/net-agent-configuration#include_exclude_apps) +* Ajoutez plus de RAM à la machine. +* Supprimez certains pools application de la machine. +* Monitorez les performances pour voir si l'augmentation de l'utilisation de la mémoire indiquée dans **Task Manager** a réellement un impact sur les performances. Si c&apos;est le cas, sortez la mémoire et partagez-la avec d&apos;autres processus. + +## Cause + +La cause sous-jacente est la manière dont [Windows lui-même anticipe et alloue la mémoire par processus](https://docs.microsoft.com/en-us/windows/win32/memory/working-set). Windows alloue cette mémoire en tant que `Working Set` mémoire, qui est la mémoire que le système d&apos;exploitation réserve pour le processus. Le système d&apos;exploitation peut sortir la mémoire `Working Set` rapidement si un autre processus en a besoin. Étant donné que l’allocation de mémoire est décidée par Windows, New Relic ne peut pas réduire la quantité de mémoire affichée en cours d’utilisation. + +Habituellement, cette augmentation ne pose pas de problème, à moins qu’elle ne s’accompagne d’une baisse correspondante des performances. Des problèmes de performances peuvent survenir si toute la mémoire disponible est occupée par la mémoire `Private Working Set` . Si le serveur manque de mémoire, monitorez vos temps de réponse et vos temps de transaction pour voir si cette utilisation de la mémoire a réellement un impact sur les performances. S’il n’y a pas d’augmentation pendant un certain temps, l’utilisation de la mémoire n’est pas un problème. + +En règle générale, l'utilisation de la mémoire `Working Set` ne provoque des problèmes que sur les systèmes avec une RAM limitée. Par exemple, le système de test de New Relic peut afficher une augmentation d&apos;environ 100 Mo par application de monitoring ou pool d&apos;applications. Une augmentation de 80 % est notable lorsqu&apos;elle est de 80 % de 64 Go, mais moins notable lorsqu&apos;elle est de 80 % de 4 Go. + +De même, le nombre de pools application monitorés affecte l’utilisation. Un seul pool d'applications augmente rarement l'utilisation de manière significative, mais un système avec 4 Go de RAM et 30 pools application peut avoir des problèmes. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/lock-contention-appdomain-getdata.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/lock-contention-appdomain-getdata.mdx new file mode 100644 index 00000000000..f5dc35802d4 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/lock-contention-appdomain-getdata.mdx @@ -0,0 +1,37 @@ +--- +title: Contention de verrouillage élevée AppDomain.GetData() (.NET framework) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Instructions and information about reducing AppDomain.GetData() lock contention for impacted .NET Framework applications +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Lorsque l'agent .NET est attaché à une application **.NET Framework** à haut débit, quelques clients ont signalé une forte contention de threads. Après avoir examiné les vidages de processus et les traces d&apos;appels, de nombreux threads peuvent être bloqués par des appels à `AppDomain.GetData()`. + +## Solution possible + +Dans [la version 9.7 de l'agent .NET](/docs/release-notes/agent-release-notes/net-release-notes), une nouvelle variable d&apos;environnement a été introduite qui désactive l&apos;utilisation du stockage `AppDomain` par l&apos;agent .NET : + +```ini +NEW_RELIC_DISABLE_APPDOMAIN_CACHING=true +``` + + + Bien que cette variable d’environnement élimine les conflits de verrouillage des appels d’agent à `AppDomain.GetData()`, la surcharge totale de l’agent .NET est augmentée lorsque cette variable d’environnement est activée. Lors de nos tests, cela a entraîné moins de verrouillage, mais un débit d&apos;application maximal inférieur avec l&apos;agent .NET attaché à une application de test. + + +Nous sommes extrêmement intéressés par tout retour d'expérience de clients ayant testé cette nouvelle option configuration . Si vous essayez cette option de configuration, veuillez créer un problème dans notre [référentiel GitHub pour .NET](https://github.com/newrelic/newrelic-dotnet-agent) décrivant votre expérience. + +## Cause + +L'agent .NET a besoin d'accéder aux informations de signature de méthode pour instrumenter les méthodes. Par défaut pour l'application .NET Framework, l'agent charge ces informations de méthode via la réflexion et les met en cache dans `AppDomain` pour une utilisation ultérieure. Il s&apos;agit d&apos;une optimisation générale, mais plusieurs clients ont rencontré une forte contention de verrouillage de thread autour de ce comportement et pensent que c&apos;est la cause principale du ralentissement ou de la non-réactivité des services. + +Après avoir inspecté le code source de Microsoft, les appels à `AppDomain.GetData()` entraînent en fait un verrou global. + +Étant donné que l'agent .NET n'utilise aucun schéma de mise en cache des informations de méthode pour l'application .NET Core et qu'aucun client n'a signalé de problèmes de contention de verrouillage de thread similaires, nous avons décidé d'exposer une variable d'environnement pour que l'agent fonctionne de la même manière dans l'application .NET Framework. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/minimal-api-duplicate-routes-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/minimal-api-duplicate-routes-net.mdx new file mode 100644 index 00000000000..41e9a3e9653 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/minimal-api-duplicate-routes-net.mdx @@ -0,0 +1,37 @@ +--- +title: Les points minimaux de terminaison d'API apparaissent comme une seule transaction +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps for using the New Relic .NET Agent in a Minimal APIs app with duplicate route paths but different HTTP request methods. +freshnessValidatedDate: '2023-06-13T00:00:00.000Z' +translationType: machine +--- + +## Problème [#problem] + +Si agent monitoring l'.NET une Asp.NET Core « Minimal API application», plusieurs points de terminaison peuvent apparaître comme un seul réseau de transactions. Cela est dû au fait que les points de terminaison partagent le même chemin d'accès même s'ils ont des méthodes de requête HTTP différentes. + +Pour différencier ces points de terminaison, nous recommandons d'appliquer l'appel `SetTransactionName()` d&apos;API. + +## Solution [#solution] + +Ajoutez `SetTransactionName()` pour donner à chaque point de terminaison un nom de transaction unique. Bien que vos arguments en faveur de l&apos;appel d&apos;API puissent varier, nous vous recommandons d&apos;ajouter `SetTransactionName()` comme dans l&apos;exemple ci-dessous : + +```cs +// map a minimal API with GET and POST endpoints on the same route +app.MapGet(“/minimalApi”, () => +{ + NewRelic.Api.Agent.NewRelic.SetTransactionName(null, name: “minimalApi/Get”); + return Results.Ok(“Get: minimalApi”); +}); +app.MapPost(“/minimalApi”, () => +{ + NewRelic.Api.Agent.NewRelic.SetTransactionName(null, name: “minimalApi/Post”); + return Results.Ok(“Post: minimalApi”); +}); +``` + +Vous pouvez en savoir plus sur la définition des noms des transactions dans notre [documentation SetTransactionName](/docs/agents/net-agent/net-agent-api/settransactionname-net-agent-api). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-couchbase-metrics-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-couchbase-metrics-net.mdx new file mode 100644 index 00000000000..37ac44d5aa1 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-couchbase-metrics-net.mdx @@ -0,0 +1,72 @@ +--- +title: Métriques Couchbase manquantes (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'What to do if you see metrics and transaction segments for some of your Couchbase activity, but not all of it, such as Get, GetDocument, Remove, Upsert.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous voyez des métriques et des segments de transaction pour certaines de vos activités Couchbase, mais pas pour toutes. Par exemple, l'agent .NET de New Relic n'instrumente pas les appels à : + +* `Get(string id)` +* `GetDocument(string id)` +* `Remove(string id)` +* `Remove(string id, ulong cas)` +* `Upsert(string id, T value)` + +## Solution + +Le C SDKouchbase contient des méthodes pour `Get()`, `Remove()` et `Upsert()` qui agissent sur plusieurs documents. Ces méthodes utilisent des processus multithreads pour appeler d&apos;autres méthodes publiques dans le C SDKouchbase. + +Pour éviter la double instrumentation, l'agent .NET de New Relic instrumente automatiquement les multiples méthodes de document. Cependant, l'agent n'instrumentera pas automatiquement les méthodes de base qu'il appelle. + +Pour voir des métriques supplémentaires et des segments de transaction pour l'activité Couchbase, utilisez l'une de ces options : + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Couchbase options** + + + + **Comments** + +
+ Utiliser des méthodes alternatives + + Utilisez d'autres méthodes dans le C SDKouchbase lorsque instrumentation .NET de l'agent n'est pas désactivée. Par exemple, si vous utilisez `GetAsync(string id)` au lieu de `Get(string id)`, vos appels seront instrumentés. +
+ Modifier le fichier XML d'instrumentation + + Si vous n'utilisez pas les méthodes de documents multiples dans votre application + + 1. placer en commentaire les méthodes dans le fichier XML instrumentation pour Couchbase. + 2. Commentez en retour les méthodes qui sont actuellement placées en commentaire. +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-net-async-metrics.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-net-async-metrics.mdx new file mode 100644 index 00000000000..415eb412849 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/missing-net-async-metrics.mdx @@ -0,0 +1,82 @@ +--- +title: Métriques asynchrones .NET manquantes +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If you are missing .NET Web API transactions in New Relic and your app targets .NET Framework 4.0, follow these procedures to apply a framework bug fix.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous ne voyez pas [de transactions asynchrones](/docs/agents/net-agent/additional-installation/async-support-net) pour `WebApi`, `HttpClient`, `SqlCommand`, `SqlDataReader`, `NpgsqlCommand` ou l&apos;instrumentation personnalisée. Ce problème se produit généralement pour les applications créées avec l&apos;[agent .NET de New Relic](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent#net-version) sous .NET Framework 4.0 ou une version antérieure, puis migrées vers .NET Framework 4.5 ou une version ultérieure. + +## Solution + +### Mise à niveau de l'applicationParamètres pour le pipeline [#appsetting] + +Un paramètre `appSetting` ou `system.web` spécifique est requis si vous utilisez : + +* WebApi1 ou WebApi2 +* Méthodes asynchrones dans `HttpClient`, `SqlCommand`, `SqlDataReader` ou `NpgsqlCommand` +* Transactions personnalisées liées à l'asynchrone ou instrumentation personnalisée +* New Relic .NET agent version 5.11.53.0 ou supérieure +* .NET Framework 4.5 ou supérieur comme cible pour votre application + +Si ces conditions s’appliquent, vous devez vous assurer que votre application utilise le pipeline de traitement des demandes mis à niveau introduit dans .NET 4.5. + +Pour utiliser le pipeline mis à niveau, assurez-vous que votre `web.config` inclut l’un des paramètres suivants. Si aucun paramètre n’apparaît, ajoutez-en un : + + + + Dites à .NET d’utiliser le nouveau pipeline de traitement des requêtes ASP : + + ```xml + + + + + + ``` + + + + Si vous souhaitez spécifier la version de .NET Framework que vous ciblez, sachez que cela impose des contrôles d'exécution stricts qui peuvent entraîner des problèmes de compatibilité. Recommandation : si possible, [indiquez à .NET d’utiliser le nouveau pipeline](#use-new-pipeline) au lieu d’utiliser cette option. + + La version spécifiée du framework .NET doit être installée sur votre machine et doit être la version 4.5.2 ou supérieure : + + ```xml + + + + + + ``` + + + +### Recommandé : vérifier la compatibilité avec le nouveau pipeline [#enforce-async] + +Facultatif : vous pouvez indiquer au framework .NET d’effectuer des vérifications supplémentaires de votre code asynchrone au moment de l’exécution. Ces vérifications détectent les problèmes courants dans le code asynchrone, qui peuvent être masqués par le legacy ASP pipeline. + +Si votre application réussit sans aucun problème, vous pouvez être sûr que votre application gère correctement le nouveau pipeline. Pour plus d'informations, consultez [la documentation de configuration de Microsoft](https://msdn.microsoft.com/en-us/library/hh975440%28v=vs.120%29.aspx?f=255&MSPPError=-2147217396). + +Pour appliquer des contrôles supplémentaires, ajoutez ce qui suit à `web.config`: + +```xml + + + + + +``` + +## Cause + +asynchrone instrumentation est désactivée si le legacy intégré pipeline est présent. Avant .NET 4.5, le pipeline intégré pouvait provoquer des blocages. Pour plus d'informations sur ce bug du framework .NET, consultez : + +* [Pourquoi `HttpContext.Current` est-il nul après wait ?](https://stackoverflow.com/questions/18383923/why-is-httpcontext-current-null-after-await) +* [Tout sur ``](https://devblogs.microsoft.com/dotnet/all-about-httpruntime-targetframework/) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/monitor-short-lived-net-processes.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/monitor-short-lived-net-processes.mdx new file mode 100644 index 00000000000..6befcd10f1d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/monitor-short-lived-net-processes.mdx @@ -0,0 +1,19 @@ +--- +title: Monitorer les processus .NET éphémères +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'For New Relic for .NET: how to fix the problem of short-lived .NET processes not being reported to APM.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Vous avez un processus .NET qui s’exécute pendant moins de 60 secondes et vous ne voyez pas les données rapportées pour ce processus. + +## Solution + +Le APM [cycle de collecte](/docs/new-relic-solutions/get-started/glossary/#harvest-cycle) est de 60 secondes. Pour cette raison, les processus exécutés pendant des périodes plus courtes peuvent ne pas générer de données. Pour résoudre ce problème, utilisez les [éléments de service](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#service) `sendDataOnExit` et `sendDataOnExitThreshold` dans votre [newrelic.config](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#config-options-precedence). Vous devez définir la valeur `sendDataOnExitThreshold` sur une durée inférieure à celle nécessaire à l&apos;exécution du processus. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/net-agent-reports-handled-errors.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/net-agent-reports-handled-errors.mdx new file mode 100644 index 00000000000..283d52b262b --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/net-agent-reports-handled-errors.mdx @@ -0,0 +1,127 @@ +--- +title: L'agent .NET signale les erreurs traitées +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: How to prevent New Relic's .NET agent from reporting handled errors as though they are standard errors. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +L'agent .NET de New Relic signale les erreurs traitées comme s'il s'agissait d'erreurs standard. Cela est particulièrement courant avec les rôles de travail Azure, les applications de console, le travail asynchrone et les opérations similaires. + +## Solution + +Pour éviter les faux rapports d’erreur, instrumentez une méthode qui contient directement ou indirectement le gestionnaire d’exceptions. Instrumenter la méthode cible en définissant un fichier [instrumentation personnalisée](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation) , ou en enveloppant la méthode dans une [transaction personnalisée](/docs/agents/net-agent/custom-instrumentation/create-transactions-xml-net), comme illustré dans cet exemple : + + + + Dans cet exemple, New Relic signale une erreur de `GetResponse()` **unless** la méthode `Foo()` est instrumentée. Tant que `Foo` est instrumenté, New Relic commence une transaction lorsque `Foo` est appelé et termine la transaction lorsque `Foo` se termine. + + Étant donné que l’erreur est traitée avant la fin de `Foo` , New Relic ne signalera pas d’erreur. Notez également que `GetResponse()` devient un segment de la transaction `Foo` . + + ```cs + using System; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + using System.Net; + using System.IO; + + namespace ErrorTester + { + class Program + { + static void Main(string[] args) + { + var i = 0; + while (true) + { + Foo(++i); + } + } + + static void Foo(int i) + { + try + { + GetNotFound(); + } + catch (Exception ex) + { + Console.WriteLine("Got it " + i + "!"); + Thread.Sleep(1000); + } + } + + static string GetNotFound() + { + string uri = "https://localhost/Test/this/is/not/a/real/page"; + var request = (HttpWebRequest)WebRequest.Create(uri); + var response = request.GetResponse(); + var data = new StreamReader(response.GetResponseStream()).ReadToEnd(); + response.Close(); + return data; + } + } + } + ``` + + + + Pour instrumenter `Foo`: + + 1. Définir un [fichierinstrumentation personnalisé](/docs/agents/net-agent/custom-instrumentation/introduction-net-custom-instrumentation); par exemple, `CustomInstrumentation.xml`: + + ```xml + + + + + + + + + + + + + ``` + + 2. Placez `CustomInstrumenation.xml` dans le dossier des extensions New Relic, à côté de `CoreInstrumentation.xml`, et redémarrez votre application. + + + + Pour instrumenter `Foo`, encapsulez-le dans une [transaction personnalisée](/docs/agents/net-agent/custom-instrumentation/create-transactions-xml-net): + + ```xml + + + + + + + + + + ``` + + + +## Cause + +Les seules erreurs signalées par l'agent .NET de New Relic sont des erreurs non gérées qui mettent fin à une transaction. Si votre application appelle un gestionnaire d’exceptions avant la fin de la transaction, New Relic ne signalera pas d’erreur. + +Cependant, New Relic ne détecte pas toujours les gestionnaires d’exceptions lorsque l’erreur se produit en dehors d’une transaction Web, d’une transaction WCF ou d’une transaction personnalisée. Cela est dû au fait que l'agent crée des « mini-transactions » pour les méthodes instrumentées qui ne sont pas associées à une transaction. + +Lorsque la méthode instrumentée se termine, la mini-transaction se termine. Si la mini-transaction génère une erreur et que la méthode instrumentée ne la gère pas, New Relic signalera une erreur. + +Vous pouvez le voir dans une application console qui appelle `GetResponse()`, comme indiqué dans l&apos;[exemple](#get-response-block). Si `GetResponse` génère une erreur, New Relic la signalera, même si `GetResponse()` est appelé dans un bloc try/catch. L&apos;agent signale une erreur car la « mini-transaction » `GetResponse()` s&apos;est terminée et l&apos;erreur n&apos;était toujours pas gérée à la sortie de la transaction. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/new-relic-net-status-monitor.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/new-relic-net-status-monitor.mdx new file mode 100644 index 00000000000..46aebd6152d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/new-relic-net-status-monitor.mdx @@ -0,0 +1,54 @@ +--- +title: New Relic pour .NET +tags: + - Agents + - NET agent + - Troubleshooting +freshnessValidatedDate: never +translationType: machine +--- + + + À partir de la sortie l'agent .NET 6.20, le moniteur d'état .NET de New Relic est **deprecated** et n&apos;est plus disponible. Pour [les versions d'agent .NET 6.20 ou supérieures](/docs/release-notes/agent-release-notes/net-release-notes), utilisez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics). + + +Le moniteur d'état est un outil de diagnostic et d'état obsolète pour l'agent .NET de New Relic. Il est conçu pour : + +* Vous donne une visibilité sur l’état actuel de l’agent .NET exécuté sur votre serveur. +* Vous aide à résoudre les problèmes d'installation courants. +* Fournissez un lien rapide vers chacune de vos applications instrumentées sur newrelic.com. +* Fournit un accès rapide au fichier New Relic Logs pour chaque application instrumentée. + +Pour obtenir de l’aide supplémentaire, consultez la documentation de dépannage de l’agent .NET de New Relic. + +## Afficher l'état des applications de monitoring [#viewing] + + + À partir de la sortie 6.20 de l'agent .NET, le moniteur d'état .NET de New Relic n'est plus disponible. Pour [les versions d'agent .NET 6.20 ou supérieures](/docs/release-notes/agent-release-notes/net-release-notes), utilisez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics). + + +Le moniteur d'état fournit une visibilité sur les applications actuellement instrumentées par l'agent .NET et sur l'état de chaque application. Vous ne verrez aucune donnée sur une application à moins qu'il y ait eu du trafic sur celle-ci récemment. Afin de préserver les ressources de votre système, le moniteur d'état ne s'actualise pas automatiquement. + +Pour lancer le moniteur d'état : + +1. Depuis le menu **Start** ou l’écran **Start** de Windows, recherchez `Status monitor`. + + OU + +2. Cliquez avec le bouton droit sur l’icône New Relic dans la zone d’état de la barre des tâches Windows (barre d’état système), puis sélectionnez **Monitored applications**. + +3. Pour voir si une application est instrumentée, assurez-vous que toutes ses cases à cocher sont vertes. + +4. Après avoir sélectionné une application spécifique, sélectionnez l'une des options disponibles pour afficher l'application dans New Relic, afficher le fichier log, [réparer l'installation](#repairing) si des erreurs sont détectées, ou actualiser, puis afficher le dernier état de vos processus de monitoring et de votre application. + +## Réparation et installation [#repairing] + +L'installation de l'agent .NET de New Relic est robuste et simple à utiliser. Cependant, il existe certains scénarios dans lesquels l'installation précédente peut entrer en conflit avec la dernière version. Pour résoudre les problèmes courants, réparez votre installation : + +1. Dans la liste des applications du moniteur d’état, sélectionnez une application, puis sélectionnez **Repair installation**. + + OU + + Dans la barre d’état système Windows, sélectionnez l’icône New Relic, puis sélectionnez **Tools > Repair installation**. + +2. Une fois la réparation de l'installation terminée : à partir de la ligne de commande, effectuez une opération `IISRESET`. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-browser-data-appears-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-browser-data-appears-net.mdx new file mode 100644 index 00000000000..5ca07a90725 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-browser-data-appears-net.mdx @@ -0,0 +1,93 @@ +--- +title: Aucune donnée de navigateur n'apparaît (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If your New Relic .NET application isn''t reporting browser data, follow these troubleshooting procedures.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic et attendu cinq minutes, vous ne voyez aucune donnée pour votre application .NET. + +## Solution + +Pour résoudre les problèmes de données manquantes : + +1. Assurez-vous d'avoir installé la [dernière version](/docs/releases/dotnet) de l&apos;agent.NET. + +2. Suivez les procédures de dépannage pour [les données manquantes,](/docs/agents/net-agent/troubleshooting/no-data-appears-net) le cas échéant. + +3. Vérifiez si vos pages sont rendues à l'aide d'ASP. Si vous utilisez une autre technologie de rendu, utilisez [l'instrumentation manuelle](/docs/agents/net-agent/features/page-load-timing-net#manual_instrumentation). + +4. Videz votre cache .NET. + +5. Définissez la tag `` de vos pages à restituer sur le serveur. + +6. Vérifiez que votre agent est configuré pour instrumenter automatiquement les pages. Modifiez `newrelic.config` et vérifiez que `autoInstrument` est défini sur `true`: + + ```xml + + ``` + +7. Vérifiez si la compression de page IIS est désactivée. Si elle est compressée avant que l'agent .NET ne tente instrumentation du navigateur, la tag `` nécessaire ne sera pas trouvée. Pour obtenir des instructions sur la façon de vérifier cela, consultez [la documentation Microsoft](https://docs.microsoft.com/en-us/iis/configuration/system.webserver/httpcompression/). + +8. Regardez la source d'une de vos pages via un navigateur. Recherchez un script avec des références à `NREUMQ` en haut et en bas de vos pages. Si vous obtenez de l&apos;aide sur [support.newrelic.com](https://support.newrelic.com), indiquez si vous voyez ce JavaScript dans l&apos;en-tête de la page ou à un autre endroit de la page, ou si vous ne le voyez pas du tout. + +Voici quelques conseils de dépannage supplémentaires : + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Browser problems** + + + + **Additional troubleshooting tips for .NET agent** + +
+ Erreur d'exception IIS + + Avec IIS, vous pouvez recevoir un `InvalidOperationException` indiquant : + + ``` + Post cache substitution is not compatible with modules in the IIS integrated pipeline that modify the response buffers. + ``` + + Pour résoudre ce problème, vous devez implémenter manuellement l'agent de navigateur : définissez `browserMonitoring` sur `false` dans `newrelic.config` et suivez les [procédures instrumentation manuelle](/docs/agents/net-agent/features/page-load-timing-net#manual_instrumentation). +
+ Erreur du framework Razor + + Avec le framework Razor, vous pouvez rencontrer le message suivant : + + ``` + Parser Error Message: "").pop().split("" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid. + ``` + + Pour résoudre ce problème, suivez les [procédures de dépannage du navigateur pour Razor framework](/docs/browser/new-relic-browser/troubleshooting/troubleshooting-browser-monitoring-installation#dotnet_razor). +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-after-disabling-tls-10.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-after-disabling-tls-10.mdx new file mode 100644 index 00000000000..7b917b79e79 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-after-disabling-tls-10.mdx @@ -0,0 +1,128 @@ +--- +title: Aucune donnée n'apparaît après la désactivation de TLS 1.0 +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'Troubleshooting for New Relic .NET APM agent: How to configure your TLS protocol preferences for your .NET application and environment.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Aucune donnée n'apparaît dans New Relic après la désactivation de TLS 1.0. Vous avez vérifié si TLS 1.0 est désactivé en inspectant la clé de registre suivante : + +``` +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client +``` + +TLS 1.0 est désactivé si `"Enabled"` est défini sur `0` et `"DisabledByDefault"` est défini sur `1`. + +De plus, vous avez peut-être également remarqué un message d'erreur dans les journaux de l'agent New Relic en raison de ce problème ; par exemple : + +* ``` + NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException: + The request was aborted: Could not create SSL/TLS secure channel. + ``` +* ``` + NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException: + The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: + Received an unexpected EOF or 0 bytes from the transport stream. + ``` +* ``` + NewRelic ERROR: Unable to connect to the New Relic service at collector.newrelic.com:443 : System.Net.WebException: + The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: + The client and server cannot communicate, because they do not possess a common algorithm. + ``` + +## Solution + +L'agent .NET de New Relic nécessite une version minimale de TLS 1.2 ou supérieure. Pour TLS 1.2, il faut également que .NET soit configuré pour l'utiliser. + +À partir de la version 10.6.0 agent .NET, au démarrage, l'agent enregistre la version TLS configurée au niveau INFO. + + + Si vous définissez une version TLS par défaut, elle sera utilisée à la fois par l'application et par l'agent New Relic. Vous ne pouvez pas utiliser une version TLS différente pour chacun. + + +Pour activer une version spécifique du protocole TLS : + + + + Les anciennes versions de Windows Server (2008/2012) peuvent ne pas disposer de TLS 1.1/1.2 support activé par défaut. + + + Suivez attentivement ces étapes. De graves problèmes peuvent survenir si vous modifiez le registre de manière incorrecte. Recommandation : avant de modifier le registre, effectuez une sauvegarde. + + + Voici un exemple de mise à jour du registre Windows vers TLS 1.2. Cela nécessite que TLS soit activé pour le rôle **Client** , car votre serveur se connecte en tant que client à New Relic. + + 1. Copiez et collez ce qui suit dans un fichier : + + ```ini + Windows Registry Editor Version 5.00 + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] + "DisabledByDefault"=dword:00000000 + "Enabled"=dword:00000001 + ``` + + 2. Enregistrez le fichier avec une extension `.reg` . + + 3. Exécutez le script. + + + + .NET Framework 4.5 ou inférieur utilise les protocoles SSL v3 et TLS 1.0 par défaut. + + Après avoir activé TLS 1.1 ou 1.2 via le registre, vous devez toujours modifier les protocoles par défaut utilisés par .NET. + + Choisissez l'une des options suivantes : + + + + + Suivez attentivement ces étapes. De graves problèmes peuvent survenir si vous modifiez le registre de manière incorrecte. Recommandation : avant de modifier le registre, effectuez une sauvegarde. + + + L'ajout de la valeur `SchUseStrongCrypto` aux clés de registre .NET Framework permettra à toutes les applications .NET d&apos;utiliser TLS 1.1 ou 1.2. Les deux clés de registre devront être modifiées pour garantir que les applications .NET 32 bits et 64 bits peuvent utiliser TLS 1.1/1.2. + + 1. Copiez et collez ce qui suit dans un fichier : + + ```ini + Windows Registry Editor Version 5.00 + + [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319] + "SchUseStrongCrypto"=dword:00000001 + + [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] + "SchUseStrongCrypto"=dword:00000001 + ``` + + 2. Enregistrez le fichier avec une extension `.reg` . + + 3. Exécutez le script. + + + + Vous pouvez modifier les protocoles de sécurité par défaut de .NET en modifiant le code source de votre application. La commande suivante active TLS 1.2, 1.1 et 1.0 comme protocoles par défaut pour votre application. Il s'agit d'un paramètre global qui doit être défini au début du démarrage de votre application. Vous pouvez le modifier pour activer les protocoles spécifiques que vous souhaitez. + + ```cs + System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; + ``` + + + + + +## Cause + +Si vous avez besoin d'une version spécifique de TLS pour requests HTTP externes, vous devez vous assurer que votre application et votre serveur sont correctement configurés. L'absence de configuration appropriée peut empêcher l'agent .NET de New Relic de se connecter à New Relic. + +L'agent .NET de New Relic communique avec New Relic les serveurs à l'aide de classes standard disponibles avec .NET pour effectuer HTTP requests externes. Étant donné que le code de l'agent .NET s'exécute parallèlement au code de votre application, les protocoles de sécurité utilisés pour communiquer avec les serveurs New Relic dépendent de l'environnement et de la configuration de votre application. + +Pour plus d'informations sur la configuration correcte des paramètres TLS de votre système ou de votre application en fonction de votre version du framework .NET, consultez [la documentation de Microsoft sur les bonnes pratiques (TLS)](https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-net.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-net.mdx new file mode 100644 index 00000000000..c89237fb0ef --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-appears-net.mdx @@ -0,0 +1,237 @@ +--- +title: Aucune donnée n'apparaît (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps if data does not appear in your app after you installed the New Relic .NET agent. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic pour votre application et attendu cinq minutes, aucune de vos agent données .NET n'apparaît dans l'UI de New Relic. + +## Solution + +L’absence de données peut se produire pour plusieurs raisons. + +* **Common causes** pour les données manquantes : voir les [solutions de dépannage de base](#basic-solutions). +* **Other situations:** Si les solutions de base ne résolvent pas le problème, le manque de données peut être plus intrinsèque à votre système. Pour plus d&apos;informations, consultez les [solutions de dépannage avancées](#advanced-solutions). +* **Microsoft Azure users:** Consultez les [solutions de dépannage Azure](/docs/agents/net-agent/azure-troubleshooting). +* **No browser data appears:** Consultez les [conseils de dépannage lors de l'utilisation de l'agent de navigateur](/docs/agents/net-agent/troubleshooting/no-page-load-timing-data-appears-net). + +### Solutions de base + +Pour résoudre les raisons les plus courantes de données manquantes, essayez ces solutions selon le cas. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Basic solutions** + + + + **Comments** + +
+ Vérifiez la compatibilité de l'application et du framework avec l'agent + + [Compatibilité et exigences du framework .NET](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent) + + ou + + [Compatibilité et exigences de .NET Core](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-20-agent) +
+ En savoir plus sur les problèmes d'installation courants + + Voir [dépannage pour .NET Core et Linux](/docs/apm/agents/net-agent/troubleshooting/debugging-net-core-agent-linux) ou [dépannage pour Windows](/docs/apm/agents/net-agent/troubleshooting/debugging-net-windows) +
+ Configurer pour un processus .NET de courte durée + + Si vous avez un processus de courte durée (moins de 60 secondes), il se peut qu'il ne signale pas de données. Pour plus d'informations, voir [Monitorer les processus de courte durée](/docs/agents/net-agent/troubleshooting/monitor-short-lived-net-processes). +
+ **.NET Core:** Vérifiez les exigences de Kestrel. + + Assurez-vous que vous utilisez une [application/un serveur Web Kestrel](/docs/agents/net-agent/getting-started/compatibility-requirements-net-core-20-agent#app-web-servers) pris en charge par New Relic. Dans le cas contraire, vous devrez peut-être vous assurer que [la prise en charge de .NET Framework](/docs/agents/net-agent/getting-started/compatibility-requirements-net-framework-agent#app-web-servers) est activée sur votre agent .NET. +
+ **.NET Core:** Vérifiez les variables d&apos;environnement. + + Assurez-vous d'avoir configuré toutes les [variables d'environnement requises](/docs/agents/net-agent/configuration/net-agent-configuration/#environment-variables), puis redémarrez l&apos;agent. +
+ **.NET Framework:** Redémarrez IIS. + + Si votre application ne reçoit pas de trafic, aucune donnée ne sera signalée à New Relic. Pour redémarrer IIS : + + 1. Depuis une ligne de commande, exécutez `IISRESET`. + 2. Vérifiez que le trafic est envoyé vers votre application. +
+ Exécutez les diagnostics New Relic. + + Pour essayer d'identifier automatiquement le problème, utilisez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics). +
+ Vérifiez [les conflits de profileur](/docs/agents/net-agent/troubleshooting/profiler-conflicts). + + Si vous utilisez le système Center Operations Manager (SCOM) de Microsoft, suivez les procédures de dépannage pour [résoudre les conflits .NET et SCOM](/docs/dotnet/dotnet-kb-104). +
+ Revoir le fichier de log. + + Si [des fichiers de log](/docs/agents/net-agent/troubleshooting/generate-logs-troubleshooting-net) existent, ouvrez-les et vérifiez s&apos;ils contiennent des erreurs. +
+ +### Solutions avancées + +Pour résoudre des problèmes plus complexes lorsqu'aucune donnée n'apparaît, essayez ces solutions selon le cas : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Advanced solutions** + + + + **Comments** + +
+ **.NET Framework:** Vérifiez les autorisations du registre. + + Recherchez une [erreur d'autorisation de clé de registre](/docs/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues). +
+ **.NET Framework:** Exécutez la visionneuse d&apos;événements Windows . + + Le cas échéant : + + 1. Exécutez la visionneuse d'événements Windows et recherchez l'événement application à partir du profileur New Relic .NET. + + 2. Rechercher les messages dont la source est le profileur .NET de New Relic ou l'agent .NET de New Relic. + + 3. S’il n’y a pas de messages d’événement New Relic, recherchez les messages du .NET Runtime. + + Pour plus d'informations, voir [Aucune donnée ou log des événements : erreurs CoCreate](/docs/dotnet/dotnet-kb-102). +
+ Obtenir le log de débogage. + + Si votre log n'affiche pas d'erreurs, augmentez temporairement le niveau de logging pour [collecter le log `debug` ](/docs/agents/net-agent/troubleshooting/generating-logs-troubleshooting#logs). +
+ Vérifiez les paramètres proxy. + + Assurez-vous que vos [paramètres proxy](/docs/dotnet/dotnet-agent-configuration#service) sont corrects et que vos paramètres incluent un attribut d’hôte. +
+ **.NET 8:** Assurez-vous que les diagnostics d’exécution sont activés + + À partir de .NET 8, la définition de la variable d’environnement `DOTNET_EnableDiagnostics=0` (ou `COMPlus_EnableDiagnostics=0`) désactivera le profilage CLR, rendant impossible le fonctionnement de l’agent. Ce paramètre est généralement recommandé dans les scénarios de déploiement de système de fichiers en lecture seule, mais uniquement pour désactiver le port de diagnostic. Consultez [la documentation de Microsoft](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-environment-variables#dotnet_enablediagnostics) pour savoir comment désactiver des sous-composants spécifiques du système de diagnostic tout en laissant le profilage activé. +
+ Obtenez de l’aide supplémentaire. + + Si les données n'apparaissent toujours pas, obtenez de l'aide sur [support.newrelic.com](https://support.newrelic.com). +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues.mdx new file mode 100644 index 00000000000..bbc68339562 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-data-registry-key-permission-issues.mdx @@ -0,0 +1,78 @@ +--- +title: Aucun problème d'autorisation de données et de clé de registre +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If your New Relic .NET app is not reporting data and you see permissions errors for registry keys, follow these troubleshooting procedures.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Après avoir généré du trafic pour votre application .NET et attendu cinq minutes, les données n'apparaissent toujours pas dans l'UI de New Relic. + +## Solution + + + Vérifiez auprès de votre administrateur système avant de modifier les autorisations. + + +1. Assurez-vous que l'identité du pool d'applications dispose d'un accès `read` à la clé de registre New Relic située à l&apos;adresse : + + ``` + HKLM\SOFTWARE\New Relic\.NET Agent\ + ``` + +2. Accordez à tous les utilisateurs du système l'accès à cette clé de registre ou autorisez uniquement l'identité du pool d'applications à accéder à la clé. + + + + 1. En tant qu’administrateur, ouvrez le registre Windows. + 2. Sélectionnez **Computer > HKEY\_LOCAL\_MACHINE > Software > New Relic**. Cliquez avec le bouton droit sur **.NET Agent**, puis sélectionnez **Permissions**. + 3. Si vous ne voyez pas d’utilisateur **Everyone** dans la liste **Group or user names** , créez l’utilisateur : sélectionnez **Add**. Ensuite, à partir de **Select Users or Groups**: Dans le champ **Enter the object name to select** , tapez `Everyone`. Sélectionnez **OK**. + 4. Dans la liste **Group or user names** , sélectionnez **Everyone**. Ensuite, dans le tableau **Permissions for** , cochez la case **Allow** pour les autorisations **Read** . + + + + 1. Déterminez l’identité de votre pool d’applications, qui utilise ce format standard : + + ``` + IIS AppPool\APP_POOL_NAME + ``` + + 2. En tant qu'administrateur, ouvrez le registre Windows. + + 3. Sélectionnez **Computer > HKEY\_LOCAL\_MACHINE > Software > New Relic**. Cliquez avec le bouton droit sur **.NET Agent**, puis sélectionnez **Permissions**. + + 4. Dans la boîte de dialogue **Permissions for .NET Agent** , sélectionnez **Add**. Ensuite, à partir de **Select Users or Groups**: Dans le champ **Enter the object name to select** , saisissez l’identité de votre pool d’applications (par exemple, `IIS AppPool\APP_POOL_NAME`). Sélectionnez **OK**. + + 5. Dans la liste **Group or user names** , sélectionnez votre nouvelle identité de pool d’applications. Ensuite, dans le tableau **Permissions for** , cochez la case **Allow** pour les autorisations **Read** . + + + +3. Depuis la ligne de commande, effectuez une **IISRESET**. + +4. Si la mise à jour des autorisations ne résout pas le problème, suivez les procédures de dépannage de l'agent .NET pour [les données manquantes](/docs/agents/net-agent/troubleshooting/no-data-appears-net). + + + Pour éviter que ce problème ne se reproduise lors des futures installations, désinstallez WSM 3.3.5.0. Si vous ne souhaitez pas apporter de modifications à votre registre, désinstallez WSM et .NET, puis réinstallez les dernières versions. + + +## Cause + +Une raison courante pour laquelle les données n’apparaissent pas est que l’agent .NET de New Relic ne peut pas accéder à ses clés de registre. Vous pouvez voir des erreurs d'autorisation de registre dans votre log de profileur à l'adresse : + +``` +%ALLUSERSPROFILE%\New Relic\.NET Agent\Logs\ +``` + +Par exemple, vous pouvez voir : + +``` +[Info] ... Logger initialized +[Error] ... Unable to find New Relic Home directory in registry or environment. +[Error] ... An exception was thrown while initializing the profiler. +``` \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-stack-traces-dotnet.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-stack-traces-dotnet.mdx new file mode 100644 index 00000000000..4660a0d4745 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/no-stack-traces-dotnet.mdx @@ -0,0 +1,36 @@ +--- +title: Aucune trace d'appels (.NET) +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: Troubleshooting steps for situations when stack traces are missing for error traces with your New Relic .NET app. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Selon la situation, vous pouvez trouver [une trace d'erreur](/docs/apm/applications-menu/error-analytics/error-analytics-manage-error-traces) dans l&apos;UI APM qui n&apos;inclut pas de trace d&apos;appels pour votre application .NET. + +## Solution + +Selon la situation, suivez ces procédures de dépannage. + + + + Il s’agit d’ [un comportement normal](#cause) de la manière dont l’agent .NET gère les erreurs 500. Pour forcer le signalement des traces d&apos;appels, appelez API l&apos;API .NET de New Relic à partir de votre propre code. L&apos;exécution de la méthode `NewRelic.NoticeError(Exception)` entraînera le signalement d&apos;une erreur ainsi que la trace stack représentée par `Exception`. Pour plus d&apos;informations sur cette méthode et ses surcharges, consultez l&apos;[API d'agent .NET sur GitHub](/docs/agents/net-agent/net-agent-api/noticeerror-net-agent-api/) de New Relic. + + + +## Cause + +Le renvoi d'une erreur `500` signifie que le serveur d&apos;application lui-même a détecté une erreur et défini le code d&apos;état HTTPS `500` . + +* Si la condition d'erreur a été détectée et gérée par la logique application , il n'y avait aucun objet d'exception et donc aucune stack. +* S'il y avait un objet d'exception à un moment donné, mais qu'il était géré en interne par le code d'application qui définissait le statut `500` sur la réponse, alors l&apos;exception n&apos;est jamais devenue visible pour l&apos;agent .NET. Aucune stack n&apos;est disponible pour que l&apos;agent .NET puisse la signaler. + +Lorsque des traces d'appels sont signalées, l'erreur résulte d'une exception qui n'a pas été détectée et gérée dans la logique du serveur application . L'agent .NET voit l'exception non gérée lors d'une transaction de monitoring, il signale donc la trace des appels. + +Cependant, aucune trace d'appel n'apparaît pour les erreurs `500` car le serveur application gère les erreurs et définit ensuite le code d&apos;état. Le code application lui-même ne conserve aucune trace d&apos;appels. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/profiler-conflicts.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/profiler-conflicts.mdx new file mode 100644 index 00000000000..6b90c7b3ca3 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/profiler-conflicts.mdx @@ -0,0 +1,245 @@ +--- +title: conflits de profileurs +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: How to resolve New Relic .NET profiler conflicts by checking the New Relic CLSIDs and registry keys. +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +Le [Common Language Runtime (CLR) .NET](https://msdn.microsoft.com/en-us/library/bb384689.aspx) permet uniquement à un seul profileur d’accéder à l’API de profilage d’un processus à un moment donné. Si un autre profileur est installé sur le système, le profileur New Relic n&apos;instrumentera aucune application. + +## Solution + +Pour éviter un conflit de profileur, supprimez complètement l’autre profileur de l’environnement, puis assurez-vous que les clés de registre IIS ou les variables d’environnement système ont été restaurées. + +**Exception:** Pour les conflits avec le système Center Operations Manager (SCOM) de Microsoft, suivez les [procédures de dépannage spécifiques à SCOM](/docs/agents/net-agent/troubleshooting/resolve-net-scom-conflicts). + + + + Pour voir s’il y a des conflits de profileur : + + 1. Exécutez **Process Explorer** en tant qu’administrateur. + + 2. Pour trouver le processus de votre application, cliquez avec le bouton droit sur l'application, puis sélectionnez **Properties > Environment**. + + 3. Vérifiez que le CLSID et les variables d'environnement New Relic sont inclus dans les détails de l'environnement `w3wp.exe`, `service` ou `non-IIS app` : + + ```ini + COR_ENABLE_PROFILING=1 + COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41} + NEWRELIC_INSTALL_PATH=path\to\agent\directory + ``` + + Remarque : les variables d'environnement ci-dessus et leurs valeurs sont valides pour l'agent lorsqu'il est installé sur Windows avec le fichier .msi programme d'installation. Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + + + Si le profileur en conflit a été désactivé et qu’il y a toujours un problème, comparez les clés de registre à [**Process Explorer**](https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) pour voir quel profileur est présent. Sur la machine sur laquelle vous rencontrez ce problème, vérifiez **WAS** et **W3SVC REG** pour les applications IIS, ou vérifiez vos clés de service ou vos clés d’application non IIS. + + + + + + + + + + + + + + + + + + + + + + + +
+ Pour vérifier les clés de registre avec ceci... + + + **Do this...** + +
+ PowerShell + + Si vous utilisez Microsoft PowerShell, exécutez les commandes suivantes : + + ```sh + (Get-Item -Path HKLM:\SYSTEM\CurrentControlSet\services\WAS).GetValue("Environment") + (Get-Item -Path HKLM:\SYSTEM\CurrentControlSet\services\W3SVC).GetValue("Environment") + ``` +
+ ligne de commande + + Si vous utilisez **cmd**, procédez comme suit pour **WAS** et **W3SVC REG** ou pour votre service/application non IIS. Voici un exemple d&apos;application IIS : + + 1. Sur la ligne de commande, entrez `regedit`. + 2. Dans le **Registry Editor**, sélectionnez **HKEY\_LOCAL\_MACHINE > SYSTEM > CurrentControlSet > Services**. + 3. Le cas échéant, sélectionnez le dossier **WAS** . Dans la liste des clés de registre du dossier **WAS** , double-cliquez sur **Environment** et vérifiez que [le CLSID et les variables d'environnement de New Relic](#clsid) apparaissent dans la zone de texte. + 4. Le cas échéant, sélectionnez le dossier **W3SVC** . Dans la liste des clés de registre du dossier **W3SVC** , double-cliquez sur **Environment** et vérifiez que [le CLSID et les variables d'environnement de New Relic](#clsid) apparaissent dans la zone de texte. +
+
+ + + Une fois le profileur en conflit désactivé, vous devrez peut-être encore restaurer les clés de registre New Relic ou, si vous utilisez Instrument All, les [variables d'environnement à l'échelle du système](/docs/agents/net-agent/troubleshooting/profiler-conflicts#check-conflicts). + + Pour résoudre le conflit de profileur pour l'application IIS, réexécutez le programme d'installation et utilisez la fonctionnalité `Repair` , ou restaurez les paramètres du registre manuellement à l&apos;aide de PowerShell : + + ```powershell + $HKLM = 2147483650 #HKEY_LOCAL_MACHINE + $reg = [wmiclass]"\\.\root\default:StdRegprov" + $key = "SYSTEM\CurrentControlSet\Services\W3SVC" + $name = "Environment" + $value = "COR_ENABLE_PROFILING=1","COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}","NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\","CORECLR_ENABLE_PROFILING=1","CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A}","CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\" + $reg.SetMultiStringValue($HKLM, $key, $name, $value) + $key = "SYSTEM\CurrentControlSet\Services\WAS" + $name = "Environment" + $value = "COR_ENABLE_PROFILING=1","COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}","NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\","CORECLR_ENABLE_PROFILING=1","CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A}","CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\" + $reg.SetMultiStringValue($HKLM, $key, $name, $value) + iisreset + ``` + + Pour les applications non IIS et les services Windows , réexécutez le programme d'installation et utilisez la fonctionnalité `Repair`, ou modifiez manuellement les variables d&apos;environnement à l&apos;échelle du système. Pour certains services Windows, un redémarrage est nécessaire pour récupérer les nouvelles variables. + + Remarque : les variables d'environnement ci-dessus et leurs valeurs sont valides pour l'agent lorsqu'il est installé sur Windows avec le fichier .msi programme d'installation. Pour plus de détails sur ces variables, ainsi que sur les valeurs correctes pour d'autres scénarios d'installation, veuillez consulter [Comprendre les variables d'environnement de l'agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + +
+ +## Cause + +Voici quelques conflits de profileurs fréquemment signalés. Il ne s'agit pas d'une liste exhaustive des profileurs .NET, car tout programme utilisant l'API de profilage .NET peut provoquer des conflits avec le profileur .NET New Relic . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nom du profileur + + identifiant du profileur +
+ Informations détaillées APM + + `989D151B-3F31-482E-926F-2E95D274BD36` +
+ Dynamique des applications + + `AppDynamics.AgentProfiler` +
+ Chien de données + + `846F5F1C-F9AE-4B07-969E-05C26BC060D8` +
+ Service de politique de diagnostic + + `555908D1-A6D7-4695-8E1E-26931D2012F4` +
+ Dynatrace + + `DA7CFC47-3E35-4c-4e-B495-534F93B28683` + + `B7038F67-52FC-4DA2-AB02-969B3C1EDA03` +
+ Observabilité d'IBM Instana + + `FA8F1DFF-0B62-4F84-887F-ECAC69A65DD3` +
+ IntelliTrace + + `2AA1AA98-2CAA-4FCF-86CE-EFA007737E83` +
+ Insightsles applications Microsoft + + `324F817A-7420-4E6D-B3C1-143FBED6D855` + + `COR_PROFILER_PATH` + + ``` + D:\home\SiteExtensions\Microsoft.ApplicationInsights.AzureWebSites\Agent\MicrosoftInstrumentationEngine.dll + ``` +
+ [SCOM-APM](/docs/agents/net-agent/troubleshooting/resolve-net-scom-conflicts) + + `AD5651A8-B5C8-46ca-A11B-E82AEC2B8E78` +
+ JetBrains dotCover + + `9AA5D52F-37E2-487D-AAEC-727478B8BDB5` +
\ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/resolve-net-scom-conflicts.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/resolve-net-scom-conflicts.mdx new file mode 100644 index 00000000000..f4b22e4fea8 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/resolve-net-scom-conflicts.mdx @@ -0,0 +1,57 @@ +--- +title: Résoudre les conflits .NET et SCOM +type: troubleshooting +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: 'If you are running SCOM and New Relic''s .NET agent, enable SCOM APM and repair the installation to resolve conflicts.' +freshnessValidatedDate: never +translationType: machine +--- + +## Problème + +L'agent .NET de New Relic signale avec succès, puis s'arrête après une courte période ou un événement de maintenance tel qu'une réinitialisation IIS ou un redémarrage du système. Si ces symptômes se produisent et que vous utilisez le système Center Operations Manager (SCOM) de Microsoft, vous rencontrez un conflit de profileur SCOM. + +## Solution + + + Ne gardez pas la partie monitoring des performances des applications (`APM`) de SCOM installée mais désactivée. Cela ne suffit pas à empêcher les interférences. Vous devez le signaler pour qu&apos;il ne soit **pas** installé. + + +Pour résoudre les conflits du profileur SCOM : + +1. Supprimer le profileur SCOM : désinstallez SCOM ou réinstallez SCOM et désactivez la partie `APM` dans l&apos;assistant d&apos;installation. + +2. Pour résoudre le conflit SCOM, restaurez les paramètres du registre à l’aide de PowerShell : + + ```powershell + $HKLM = 2147483650 #HKEY_LOCAL_MACHINE + $reg = [wmiclass]"\\.\root\default:StdRegprov" + $key = "SYSTEM\CurrentControlSet\Services\W3SVC" + $name = "Environment" + $value = "COR_ENABLE_PROFILING=1","COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}","NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\","CORECLR_ENABLE_PROFILING=1","CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A}","CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\" + $reg.SetMultiStringValue($HKLM, $key, $name, $value) + $key = "SYSTEM\CurrentControlSet\Services\WAS" + $name = "Environment" + $value = "COR_ENABLE_PROFILING=1","COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}","NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\","CORECLR_ENABLE_PROFILING=1","CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A}","CORECLR_NEWRELIC_HOME=C:\ProgramData\New Relic\.NET Agent\" + $reg.SetMultiStringValue($HKLM, $key, $name, $value) + iisreset + ``` + +3. Exécutez ces commandes **each** chaque fois que vous redémarrez votre serveur ou créez un script de démarrage pour restaurer ces paramètres. + +4. Recyclez votre pool d'applications ou, à partir d'une invite de commande, exécutez **`IISRESET`**. + +Pour plus de détails sur les paramètres des variables d’environnement ci-dessus dans le registre, veuillez consulter [Comprendre les variables d’environnement de l’agent .NET](/docs/apm/agents/net-agent/other-installation/understanding-net-agent-environment-variables/). + + + Vous devez réparer votre installation à chaque redémarrage de votre serveur. + + +## Cause + +Le système Center Operations Manager (SCOM) de Microsoft inclut une fonctionnalité de monitoring des performances des applications ()`APM` qui entre en conflit avec l&apos;agent .NET de New Relic. Les deux utilisent l&apos;interface de profileur .NET, et un seul profileur peut être utilisé à la fois. + +Si SCOM et l'agent .NET de New Relic sont installés sur le même serveur Windows, la désactivation ou la désactivation `APM` dans SCOM supprimera certains paramètres de registre Windows nécessaires au fonctionnement de l&apos;agent .NET. L&apos;agent .NET ne pourra pas monitorer l&apos;application Web sur ce serveur. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower.mdx b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower.mdx new file mode 100644 index 00000000000..c96bf199cc8 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/net-agent/troubleshooting/technical-support-net-framework-40-or-lower.mdx @@ -0,0 +1,99 @@ +--- +title: Support technique pour .NET Framework 4.0 ou version antérieure +tags: + - Agents + - NET agent + - Troubleshooting +metaDescription: New Relic provides limited technical support for customers using .NET framework 4.0 or earlier. +freshnessValidatedDate: never +translationType: machine +--- + + + New Relic fournit **limited technical support** pour les clients utilisant .NET Framework 4.0 ou une version antérieure. + + +Ce niveau de support consiste à garantir que les zones suivantes sont configurées comme prévu : + +* configurationde l'agent +* Paramètres du système +* Accès au réseau +* Paramètres des autorisations + +Vous pouvez effectuer la plupart des vérifications de dépannage à l'aide de [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics), à l&apos;exception de quelques vérifications qui doivent être effectuées manuellement. Si une vérification de New Relic Diagnostics détecte un problème, des informations sur le dépannage supplémentaire et les résolutions potentielles apparaîtront dans votre terminal. + +## Exigences relatives à la version de l'agent [#agent-version] + +Pour tirer le meilleur parti de votre New Relic .NET Framework,agent assurez-vous de suivre New Relic [les directives de compatibilité et les](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent) exigences de . + + + les applications exécutées sur .NET Framework version 4.0 ou inférieure nécessitent un New Relic .NET agent **lower than 7.0**version. + + +Téléchargez et exécutez le package d'installation approprié à votre [architecture](/docs/agents/net-agent/getting-started/compatibility-requirements-net-agent#architecture): + +* [Programme d'installation 32 bits](https://download.newrelic.com/dot_net_agent/6.x_release/NewRelicDotNetAgent_x86.msi) +* [Programme d'installation 64 bits](https://download.newrelic.com/dot_net_agent/6.x_release/NewRelicDotNetAgent_x64.msi) + +## configurationde l'agent [#config] + +L'assistance technique limitée pour résoudre les problèmes d'installation et de configuration de base comprend : + +1. Vérifiez si l’agent .NET est présent et dispose de fichiers de configuration valides. +2. Si l'agent est installé, vérifiez le noyau de l'agent `.dll`. +3. Si le fichier de configuration est valide, vérifiez les éléments attendus. Par exemple, incluez une vérification manuelle pour vous assurer qu'elle est conforme aux normes énoncées dans le `.xsd`. + +## Instrumentation + +L'assistance technique limitée pour résoudre les problèmes si l'instrumentation est possible comprend : + +1. Vérifiez si les clés de registre WAS et les valeurs requises sont présentes et valides. +2. Vérifiez que les clés de registre W3SVC et les valeurs requises sont présentes et valides. +3. Vérifiez que les clés de registre ENV (variables d'environnement non IIS/globales) et les valeurs requises sont présentes et valides. +4. Vérifiez si instrumentation est possible en utilisant ces vérifications clés pour déterminer quels types d'applications peuvent être monitorées. +5. Confirmez que le processus a les variables d’environnement nécessaires chargées. Par exemple, utilisez un outil tel que [Microsoft Sysinternals Process Explorer](https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). + +## Application Web [#web-apps] + +Certains contrôles nécessitent des autorisations élevées. Pour de meilleurs résultats, exécutez [New Relic Diagnostics](/docs/agents/manage-apm-agents/troubleshooting/new-relic-diagnostics) à partir d’un shell d’administrateur. + +L'assistance technique limitée pour résoudre les problèmes d'exécution des applications Web avec l'agent .NET installé comprend : + +1. Vérifiez tous les processus W3WP en cours d'exécution et obtenez leur `pid`. +2. Vérifiez la clé `.dll` requise pour l&apos;instrumentation. Par exemple, s&apos;il existe des processus W3WP, vérifiez si les profileurs New Relic `.dll` et `mscorelib.dll` sont chargés dans le processus. + +## application non hébergée sur IIS [#non-IIS-apps] + +L'assistance technique limitée pour dépanner les applications non hébergées sur IIS comprend : + +1. Lorsque vous utilisez le MSI, assurez-vous que l'option `Instrument all` a été activée. +2. Vérifiez que le fichier instrumentation personnalisée a été créé, qu'il est au bon endroit et qu'il est précis. Le cas échéant, inclure une vérification manuelle garantissant qu'elle est conforme aux normes énoncées dans le `.xsd`. + +## Accès et autorisations au réseau [#access] + +L'assistance technique limitée pour résoudre les problèmes d'accès au réseau et d'autorisations du système s'applique à toutes les versions d'agent et comprend : + +1. Vérifiez l'accès et les autorisations du réseau système. +2. Exécutez les tests du collecteur. Par exemple, vérifiez si l’URL `https://collector.newrelic.com/status/mongrel` est active et si le serveur peut s’y connecter. +3. Vérifiez si le fichier de configuration contient des paramètres proxy, si les informations de proxy ont été transmises à New Relic Diagnostics et si ces paramètres permettent la connexion au collecteur New Relic . +4. Vérifiez si New Relic Diagnostics s'exécute en tant que `admin`. + +New Relic Diagnostics doit être exécuté en tant que `admin` pour garantir l&apos;exactitude de certains autres tests. De plus, des droits `admin` sont requis pour installer l’agent .NET. + +## log de l'agent [#logs] + +L'assistance technique limitée pour résoudre les problèmes liés aux informations disponibles dans le log agent .NET comprend : + +1. Rassemblez tous les journaux agent disponibles. +2. Vérifiez le niveau de log. +3. Vérifiez les problèmes connus notés dans le log. + +Les fichiers log de dépannage peuvent nécessiter que vous travailliez directement avec [le supportNew Relic ](https://support.newrelic.com/). + +## version du cadre + +Le support technique limité dépend de la version de l’agent .NET que vous utilisez. Le support New Relic vérifiera quelles versions du framework de l'agent .NET sont installées sur le système. + +## URL complète dans requestsOpenRasta [#openrasta] + +Lors de l'utilisation instrumentation OpenRasta, l'URL complète peut être capturée sur requests instrumentées. Cela peut entraîner la collecte de chaînes de requête pouvant contenir des informations sensibles. Voir bulletin de sécurité [NR19-01](/docs/using-new-relic/new-relic-security/security-bulletins/security-bulletin-nr19-01). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api.mdx new file mode 100644 index 00000000000..42465cd5c44 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api.mdx @@ -0,0 +1,414 @@ +--- +title: Guide d'utilisation de l'API de ''agent de Node.js. +tags: + - Agents + - Nodejs agent + - API guides +metaDescription: 'A goal-focused guide to New Relic''s Node.js agent API, with links to relevant sections of the complete API documentation and tutorials.' +freshnessValidatedDate: never +translationType: machine +--- + +Notre API [d'agent Node.js](/docs/agents/nodejs-agent/installation-configuration/install-nodejs-agent) vous permet d&apos;étendre les fonctionnalités standard de l&apos;agent. Vous pouvez utiliser cette API pour : + +* Créer un paramètre de transaction personnalisé +* Signaler les erreurs et les mesures personnalisées + +Vous pouvez également utiliser l'API pour [une instrumentation personnalisée](/docs/agents/nodejs-agent/supported-features/nodejs-custom-instrumentation). Pour [le framework pris en charge](/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent), l&apos;agent instrumente la plupart des activités automatiquement. instrumentation personnalisée vous permet d&apos;étendre cette monitoring au framework sans instrumentation par défaut. + +Autres ressources : + +* La [documentation d'API de l'agent Node.js sur GitHub](https://newrelic.github.io/node-newrelic/API.html). +* [Exemple d'application utilisant instrumentation personnalisée](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation). +* Vous pouvez également ajuster le comportement par défaut de l'agent Node.js avec [les paramètres de configuration](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration). + +## Exigences + +Pour utiliser Node.js API l'agent d' , assurez-vous d'avoir la [dernière sortie de l'agent Node.js](/docs/release-notes/agent-release-notes/nodejs-release-notes). Voir également : + +* [ExigencesNode.js API d'agent](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api) +* [Procédures de démarrage](http://newrelic.github.io/node-newrelic/index.html) sur GitHub + +## Instrumenter manquant des sections de votre code avec des transactions [#creating-transactions] + +Pour instrumenter votre application, New Relic sépare chaque chemin à travers votre code dans sa propre [transaction](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#transaction). New Relic chronomètre (ou « instrumente ») la méthode parent dans ces transactions pour mesurer les performances globales de votre application et collecte [la trace des transactions](/docs/apm/transactions/transaction-traces/introduction-transaction-traces) de longue durée pour plus de détails. + +Utilisez ces méthodes lorsque New Relic n’instrumente pas du tout une partie particulière de votre code : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Démarrer le chronométrage d'une méthode New Relic n'est pas instrumenté automatiquement + + Créer une nouvelle transaction. Voir [`newrelic.startWebTransaction()`](https://newrelic.github.io/node-newrelic/API.html#startWebTransaction). +
+ Arrêtez de chronométrer une méthode une fois son travail terminé + + Utilisez l’une de ces options : + + * Renvoie une promesse à partir du rappel transmis à [`newrelic.startWebTransaction`](https://newrelic.github.io/node-newrelic/API.html#startWebTransaction). + * Appelez `end` sur un [handle](https://newrelic.github.io/node-newrelic/TransactionHandle.html) (GitHub) renvoyé par [`newrelic.getTransaction`](https://newrelic.github.io/node-newrelic/API.html#getTransaction). +
+ Empêcher une transaction d'être signalée à New Relic + + Ignorez la transaction en utilisant l’une de ces options : + + * Voir [les règles pour ignorer requests](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#ignoring)`.` + * Appelez `ignore()` sur un [handle](http://newrelic.github.io/node-newrelic/TransactionHandle.html) (GitHub) renvoyé par [`newrelic.getTransaction`](https://newrelic.github.io/node-newrelic/API.html#getTransaction). +
+ +Pour plus d'informations sur la création d'une transaction Web personnalisée, consultez l'[exemple startWebTransaction sur GitHub](https://github.com/newrelic/newrelic-node-examples/tree/0a036fd669b4b47b8afbc7add8696980f799f0da/custom-instrumentation/start-web-transaction). + +## Méthodes temporelles spécifiques utilisant des segments [#segments] + +Si une transaction est déjà visible dans New Relic, mais que vous ne disposez pas de suffisamment de données sur une méthode particulière appelée au cours de cette transaction, vous pouvez créer des segments pour chronométrer ces méthodes individuelles plus en détail. Par exemple, vous souhaiterez peut-être chronométrer une méthode particulièrement critique avec une logique complexe. + +Pour chronométrer une méthode particulière, consultez [newrelic.startSegment](https://newrelic.github.io/node-newrelic/API.html#startSegment). + +Pour plus d’informations sur la synchronisation, consultez l’ [exemple d’instrumentation personnalisée sur GitHub](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/segments). + +## Améliorer les métadonnées d'une transaction [#metadata] + +Parfois, le code que vous ciblez est visible dans New Relic, mais certains détails de la méthode ne sont pas utiles. Par exemple: + +* Le nom par défaut peut ne pas être utile. (Cela provoque peut-être un [problème de regroupement métrique](/docs/agents/manage-apm-agents/troubleshooting/metric-grouping-issues#video).) +* Vous souhaitez ajouter [des attributs personnalisés](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes) à vos transactions afin de pouvoir les filtrer. + +Utilisez ces méthodes lorsque vous souhaitez modifier la manière dont New Relic instrumente une transaction déjà visible dans New Relic: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Changer le nom d'une transaction + + Voir [`newrelic.setTransactionName`](https://newrelic.github.io/node-newrelic/API.html#setTransactionName) et [`rules.name`](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#rules-name). +
+ Ajoutez des métadonnées (telles que le nom de compte ou le niveau d'abonnement de vos clients) à vos transactions + + Utilisez [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes#nodejs-att). (l&apos;attribut personnalisé de collection est activé par défaut dans l&apos;agent Node.js ) Voir [`newrelic.addCustomAttribute()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttribute) et [`newrelic.addCustomAttributes()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttributes). Pour plus d&apos;informations, consultez l&apos;[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/69d500e02077d2565c4762c21bf779e3e39845bf/custom-instrumentation/attributes-events-metrics) sur GitHub. +
+ Créer une nouvelle transaction pour le travail en arrière-plan + + Voir [`newrelic.startBackgroundTransaction()`](https://newrelic.github.io/node-newrelic/API.html#startBackgroundTransaction) et [un exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/background-transactions) sur GitHub. +
+ Créer un nouveau site Web de transaction + + Utilisez [`newrelic.startWebTransaction()`](https://newrelic.github.io/node-newrelic/API.html#startWebTransaction). +
+ Empêcher une transaction d'affecter votre score [Apdex](/docs/accounts-partnerships/education/getting-started-new-relic/glossary#apdex) + + Voir [les règles de dénomination et d'ignorance requests](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#ignoring), y compris l&apos;[exemple de règles d'ignorance](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#example-ignoring-rule). +
+ Enregistrer d'autres données de performances, telles que les données de synchronisation ou de ressources informatiques + + Utilisez [`recordMetric`](https://newrelic.github.io/node-newrelic/API.html#recordMetric) ou [`incrementMetric`](https://newrelic.github.io/node-newrelic/API.html#incrementMetric). +
+ +## Voir le log associé [#logs] + +Par défaut, l'agent envoie le log directement dans le contexte des erreurs et de la trace de votre application. Pour plus d'informations sur la corrélation des données log avec d'autres données télémétriques et framework pris en charge, consultez [notre documentation logs en contexte](/docs/logs/logs-context/configure-logs-context-nodejs). + +Si vous utilisez un mécanisme de logging qui n'est pas instrumenté par New Relic, vous pouvez à la place utiliser directement cet appel d'API pour enregistrer et transmettre vos journaux en contexte : + +* [`newrelic.recordLogEvent`](https://newrelic.github.io/node-newrelic/API.html#recordLogEvent) + +Une méthode alternative plus ancienne consiste à utiliser votre propre redirecteur de logau lieu de laisser l'agent effectuer la redirection pour vous. Dans ce cas, vous devrez annoter votre log avec le contexte approprié avant de le transmettre. Utilisez ces appels d'API: + +* [`newrelic.getTraceMetadata`](https://newrelic.github.io/node-newrelic/API.html#getTraceMetadata) +* [`newrelic.getLinkingMetadata`](https://newrelic.github.io/node-newrelic/API.html#getLinkingMetadata) + +## Travail asynchrone de l'instrument [#async] + +Pour [les frameworks](/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent#supported-frameworks) pris en charge et les [versions prises en charge de Node.js ](/docs/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent#version), l&apos;agent Node.js de New Relic instrumente généralement correctement le travail asynchrone. Cependant, si votre application utilise un autre framework ou si l&apos;instrumentation asynchrone par défaut est inexacte, vous pouvez suivre explicitement le travail asynchrone. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ tracer une méthode asynchrone que New Relic est déjà instrumentée + + Voir [`newrelic.startSegment`](https://newrelic.github.io/node-newrelic/API.html#startSegment). +
+ tracer une méthode asynchrone que New Relic n'est pas instrumentée + + Voir [`newrelic.startSegment`](https://newrelic.github.io/node-newrelic/API.html#startSegment). +
+ retracer une transaction qui a été perdue + + Voir [`newrelic.startSegment`](https://newrelic.github.io/node-newrelic/API.html#startSegment). Vous pouvez également créer votre propre [instrumentation personnalisée](/docs/agents/nodejs-agent/supported-features/nodejs-custom-instrumentation) pour les bibliothèques qui perdent vos transactions. +
+ +## Instrumenter les appels à des services externes [#external-services] + +Une fois l'[API de dénomination des demandes](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#loading) chargée, l&apos;agent Node.js de New Relic peut identifier automatiquement les appels de service externes. Vous pouvez également utiliser ces méthodes pour collecter des données sur les connexions de votre application à d&apos;autres applications ou bases de données : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Chronométrer un appel vers une ressource externe (comme un service externe, un serveur de base de données ou un fichier d'attente des messages) + + Utilisez l’un de ces éléments selon le cas : + + * [API d'instrumentation personnalisée](/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#custom-instrumentation-api) + + * [fichier d'attente des messages](/docs/agents/nodejs-agent/supported-features/message-queues) + + Consultez également l'exemple d'application [datastore](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-datastore) et [de shim de messages](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-messages) sur GitHub. +
+ Connecter l'activité à une autre application instrumentée par un agent de New Relic + + Utiliser [le traçage distribué](/docs/enable-distributed-tracing). Pour plus d&apos;informations sur l&apos;insertion et l&apos;acceptation manuelles des en-têtes de traçage distribués, consultez l&apos;[exemple application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/distributed-tracing) sur GitHub. +
+ Visualisez le chemin emprunté par une requête lorsqu'elle traverse un système distribué. + + [Tracing distribué](/docs/agents/enable-distributed-tracing) +
+ +## Collecte ou erreur ignorée [#errors] + +Habituellement, l'agent détecte les erreurs automatiquement. Cependant, vous pouvez marquer manuellement une erreur avec l'agent. Vous pouvez également marquer les erreurs comme [ignorées](/docs/apm/applications-menu/error-analytics/ignoring-errors-new-relic-apm). Pour plus d&apos;informations sur l&apos;utilisation des méthodes API pour log, regrouper et associer des erreurs, utilisez l&apos;[exemple application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/error-fingerprinting) sur GitHub. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Signaler une erreur que l'agent ne signale pas automatiquement + + Voir [`newrelic.noticeError()`](https://newrelic.github.io/node-newrelic/API.html#noticeError). +
+ Regroupez les erreurs par nom, à l'aide d'une fonction de filtre personnalisée que vous définissez + + Voir [`newrelic.setErrorGroupCallback()`](https://newrelic.github.io/node-newrelic/API.html#setErrorGroupCallback). +
+ Associer les erreurs à l'utilisateur + + Voir [`newrelic.setUserID()`](https://newrelic.github.io/node-newrelic/API.html#setUserID). +
+ +## Envoyez des données d'événement personnalisées et métriques depuis votre application [#custom-data] + +New Relic inclut un certain nombre de façons d'enregistrer des données personnalisées arbitraires. Pour une explication des types de données New Relic, voir [Collecte de données](/docs/data-analysis/metrics/analyze-your-metrics/data-collection-metric-timeslice-event-data). Pour plus d&apos;informations sur l&apos;utilisation des méthodes API ci-dessous, utilisez l&apos;[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/69d500e02077d2565c4762c21bf779e3e39845bf/custom-instrumentation/attributes-events-metrics) sur GitHub. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Si vous voulez... + + Fais ceci... +
+ Envoyez des données sur un événement afin de pouvoir l'analyser dans New Relic + + Créer un [événement personnalisé](/docs/insights/insights-data-sources/custom-data/insert-custom-events-new-relic-apm-agents#node-att). Voir [`newrelic.recordCustomEvent()`](https://newrelic.github.io/node-newrelic/API.html#recordCustomEvent). +
+ taggez votre événement avec des métadonnées pour les filtrer et les faceter + + Ajoutez [l'attribut personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes#nodejs=att) si nécessaire. (l&apos;attribut collection personnalisé est activé par défaut dans l&apos;agent Node.js) Voir [`newrelic.addCustomAttribute()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttribute) et [`newrelic.addCustomAttributes()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttributes). +
+ Rapport de données de performances personnalisées + + Créez une [métrique personnalisée](/docs/agents/manage-apm-agents/agent-data/custom-metrics). Voir [`newrelic.recordMetric()`](https://newrelic.github.io/node-newrelic/API.html#recordMetric) et [`newrelic.incrementMetric()`](https://newrelic.github.io/node-newrelic/API.html#incrementMetric). Pour afficher les données, utilisez [**metrics and events**](/docs/query-your-data/explore-query-data/data-explorer/introduction-data-explorer). +
+ +## Contrôler l'agent de navigateur [#browser] + +Habituellement, l'agent est ajouté automatiquement à vos pages ou déployé en copiant/collant le snippet JavaScript. Pour plus d’informations sur ces méthodes recommandées, consultez [Ajouter des applications de navigateur à New Relic](/docs/browser/new-relic-browser/installation-configuration/add-apps-new-relic-browser). + +Vous pouvez également contrôler l'agent de navigateur via agent APM appelé d'API. Pour plus d'informations, consultez [le monitoring des navigateurs et l'agent Node.js](/docs/agents/nodejs-agent/supported-features/new-relic-browser-nodejs-agent). + +## Étendre l'instrumentation personnalisée [#custom-instrumentation] + +Pour plus d'informations sur l'utilisation de instrumentation personnalisée de l'API, consultez [l'instrumentation personnalisée Node.js](/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nodejs-custom-instrumentation/) + +Pour ajouter instrumentation personnalisée dans l'application du module ES, veuillez vous référer à notre documentation [du module ES](/docs/apm/agents/nodejs-agent/installation-configuration/es-modules) ou [à l'exemple application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/esm-app) dans GitHub. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api.mdx new file mode 100644 index 00000000000..5e5449ce4dc --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/api-guides/nodejs-agent-api.mdx @@ -0,0 +1,341 @@ +--- +title: Node.js API d'agent +tags: + - Agents + - Nodejs agent + - API guides +metaDescription: 'How to use the Node.js API to name, rename, and ignore requests, and to read router names with New Relic''s Node.js agent.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic propose plusieurs outils pour vous aider à obtenir les informations nécessaires pour fournir des métriques utiles sur votre application Node.js. Il s’agit notamment de : + +* Lecture des noms de route (si utilisés) à partir des routeurs Express et Restify +* Utiliser l'API pour nommer la requête en cours, soit avec des noms simples, soit avec des groupes de contrôleurs avec des actions +* Règles de support stockées dans de votre agent configuration qui peuvent marquer requests à renommer ou à ignorer en fonction d'expressions régulières correspondant aux URL brutes de la demande (également disponibles sous forme d'appel d'API) + +Le nombre de noms suivis par New Relic doit être suffisamment petit pour que l'expérience utilisateur soit robuste. Il doit également être suffisamment grand pour fournir la bonne quantité d’informations (sans vous submerger de données) afin que vous puissiez identifier plus facilement les points problématiques de votre application. + +Pour plus d'informations, consultez la [configuration de l'agent Node.js](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration) documentation , la documentation [de l'API de l'agent Node.js sur Github](https://newrelic.github.io/node-newrelic/) et [les applications d'exemples d'agent Node.js](https://github.com/newrelic/newrelic-node-examples/tree/main) + +## Demander des noms + +L'agent Node.js capture la méthode HTTP avec un chemin potentiellement paramétré (tel `/user/:id` que) ou une expression régulière (telle `/^/user/([-0-9a-f]+)$/` que). Ces informations font partie du nom de la demande. + +Si vous avez pris en charge le suivi lent des transactions et avez ajouté `'request.parameters.*'` à [`attributes.include`](/docs/agents/nodejs-agent/attributes/nodejs-agent-attributes#cfg-attributes-include) dans votre fichier de configuration, le trace des transactions aura également les paramètres de la requête et leurs valeurs attachées. Si vous n&apos;aimez pas les noms de requête utilisés par l&apos;agnet Node.js, vous pouvez utiliser l&apos;appel d&apos;API pour créer des noms plus descriptifs. + + + Si vous regroupez vos requests sous le nom générique, alors `/*` est suffisant, et vous n&apos;avez pas besoin de personnaliser votre fichier configuration ni d&apos;appeler d&apos;API. + + +## Exigences [#requirements] + +New Relic utilise des noms de requête pour regrouper requests de plusieurs graphiques et tableaux. La valeur de ces visualisations diminuera à mesure que le nombre de noms de demandes différents augmentera. + +Par exemple, n'incluez pas de données potentiellement dynamiques telles que le GUID, les identifiants numériques ou l'horodatage dans les noms de requête que vous créez. Si votre requête est suffisamment lente pour générer une trace de transaction, cette trace contiendra l'URL d'origine. Si vous activez la capture des paramètres, le paramètre sera également attaché à la trace. + + + Évitez d’avoir plus de 50 noms de transactions différents. Par exemple, si vous avez plus de quelques centaines de noms de requêtes différents, repensez votre stratégie de dénomination. + + +## Évitez les problèmes de regroupement métrique [#metric-grouping] + +L'API de dénomination des requêtes aide New Relic à éviter les problèmes liés à la gestion d'un trop grand nombre de métriques, ce que l'on appelle parfois « l'explosion de métriques ». New Relic dispose de plusieurs stratégies pour gérer ces problèmes ; la plus grave consiste simplement à ajouter l'application incriminée à votre liste de refus. + +La principale raison pour laquelle vous devez être prudent lors de l’utilisation de ces outils de dénomination de requêtes est d’éviter que cela n’arrive à votre application. Pour plus d'informations, consultez [Problèmes de regroupement métrique](/docs/apm/other-features/metrics/metric-grouping-issues). + +## Lignes directrices [#rules] + +Définissez vos règles de configuration des plus spécifiques aux plus générales. Les premières règles répertoriées dans votre fichier de configuration ou ajoutées avec [l'API de nommage des transactions de Node.js](/docs/nodejs/nodejs-transaction-naming-api) seront appliquées en premier et doivent être étroitement ciblées. Des règles de « fall-through » plus générales doivent être ajoutées vers la fin de la liste, car elles seront évaluées dans l&apos;ordre dans lequel elles ont été configurées ou ajoutées à l&apos;aide de l&apos;API de dénomination des transactions Node.js. + + + Un détaillant en ligne a un modèle d'URL comme celui-ci : + + ``` + /user/customers/all/prospects + /user/customers/all/current + /user/customers/all/returning + /user/customers/John + /user/customers/Jane + ``` + + Le détaillant pourrait créer des règles comme celles-ci : + + ```js + // newrelic.js + exports.config={ + //other configuration + rules:{ + name:[ + { pattern: "/user/customers/all/prospects/", name: "/user/customers/all/prospects" }, + { pattern: "/user/customers/all/.*", name: "/user/customers/all" }, + { pattern: "/user/customers/.*", name: "/user/customers/:customer" } + ] + } + }; + ``` + + Avec ces règles, le détaillant créerait trois noms de transaction : + + * `/user/customers/:customer` + + * `/user/customers/all` + + * `/user/customers/all/prospects` + + Si le détaillant inversait l'ordre, les règles détecteraient `all` transactions dans `:customer`, ce qui ne serait pas aussi utile. + + +## Charger l'API [#loading] + +Assurez-vous que le chargement du module New Relic est la première chose que fait votre application , car il doit bootstrap avant que le reste de votre application ne se charge : + +```js +const newrelic = require('newrelic'); +``` + +Cela renvoie l'API New Relic Node.js. Vous pouvez exiger en toute sécurité le module de plusieurs modules de votre application, car il ne s'initialise qu'une seule fois. + +## Demande d'appel d'API [#request-api] + +Voici un résumé de la demande d'appel d'API pour l'agent Node.js de New Relic. + +* [définir le nom de la transaction](https://newrelic.github.io/node-newrelic/API.html#setTransactionName) +* [définir le nom du contrôleur](https://newrelic.github.io/node-newrelic/API.html#setControllerName) + +## instrumentation personnalisée appel d'API [#custom-instrumentation-api] + +Utilisez ces appel d'API pour [étendre votre instrumentation avec instrumentation personnalisée](/docs/agents/nodejs-agent/supported-features/nodejs-custom-instrumentation). + +## métriques personnalisées appel d'API [#custom-metric-api] + +Utilisez ces appels d'API pour [enregistrer des métriques arbitraires supplémentaires](/docs/agents/nodejs-agent/supported-features/nodejs-custom-metrics). + +## événement personnalisé appel d'API [#custom-events-api] + +Utilisez ces appels d'API pour enregistrer un événement supplémentaire : + +* [enregistrementCustomEvent](https://newrelic.github.io/node-newrelic/API.html#recordCustomEvent) +* [enregistrementLogEvent](https://newrelic.github.io/node-newrelic/API.html#recordLogEvent) + +## Méthodes de gestion des transactions + +Utilisez ces appels d'API pour [interagir avec la transaction en cours](https://newrelic.github.io/node-newrelic/TransactionHandle.html) + +## Règles pour nommer et ignorer requests [#ignoring] + +Si vous ne souhaitez pas placer d'appels au module New Relic directement dans le code de votre application , vous pouvez utiliser des règles basées sur des modèles pour nommer requests. Il existe deux ensembles de règles : un pour renommer requests et un pour marquer les requêtes à ignorer par l'instrumentation de New Relic. + +Voici la structure des règles dans l'agent Node.js de New Relic. + + + rules.name + } + > + Une liste de règles au format `{pattern : "pattern", name : "name"}` pour faire correspondre les URL de requête entrantes à `pattern` et nommer les `name` de la transaction New Relic correspondante. Cela agit comme un remplacement d&apos;expression régulière, où vous pouvez définir le modèle soit comme une chaîne, soit comme un littéral d&apos;expressions régulières JavaScript, et le modèle et le nom sont tous deux obligatoires. + + Lorsque vous transmettez une expression régulière sous forme de chaîne, échappez les barres obliques inverses, car l'agent ne les conserve pas lorsqu'elles sont fournies sous forme de chaîne dans un modèle. Définissez vos règles de configuration des plus spécifiques aux plus générales, car les modèles seront évalués dans l'ordre et sont de nature terminale. Pour plus d'informations, consultez les [directives de dénomination](/docs/agents/nodejs-agent/installation-configuration/configuring-nodejs#rules). + + Cela peut également être défini avec la variable d'environnement `NEW_RELIC_NAMING_RULES`, avec plusieurs règles transmises sous forme de liste de littéraux d&apos;objet JSON délimités par des virgules : + + ```js + NEW_RELIC_NAMING_RULES='{"pattern":"^t","name":"u"},{"pattern":"^u","name":"t"}' + ``` + + ## Attribut de règles facultatives [#optional-rules-attribute] + + Des attributs facultatifs supplémentaires sont disponibles : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + **Optional rules attributes** + + + + **Description** + +
+ `terminate_chain` + + Défaut: `true` + + Si la valeur est `true` (par défaut), aucune autre règle ne sera évaluée si cette règle correspond. Définir cette valeur sur faux est utile lorsque plusieurs règles doivent être utilisées ensemble. Par exemple, une règle pourrait remplacer un modèle commun dans de nombreuses URL différentes, tandis que les règles suivantes seraient plus spécifiques. +
+ `replace_all` + + Défaut: `false` + + Lorsque la valeur est `true`, toutes les correspondances du modèle seront remplacées. Dans le cas contraire, seul le premier match sera remplacé. L&apos;utilisation de l&apos;indicateur `g` avec des expressions littérales régulières aura le même effet. Par exemple: + + ```js + pattern: '[0-9]+', + replace_all: true + ``` + + Cela a le même effet que `pattern: /[0-9]+/g`. +
+ `precedence` + + Par défaut, les règles sont évaluées dans l'ordre, de la première à la dernière. Si vous préférez avoir un contrôle total sur la commande, vous pouvez attribuer à chaque règle un attribut `precedence` . La priorité est un nombre entier et les règles sont évaluées par ordre croissant. Si `precedence` n&apos;est pas explicitement défini, il sera défini sur 500 par défaut. + + Les attributs supplémentaires sont ignorés. +
+ + ## Tester vos règles de dénomination [#testing-naming-rules] + + L'agent Node.js est livré avec un outil de ligne de commande pour tester les règles de dénomination. Pour plus d'informations, exécutez la commande suivante dans la fenêtre du terminal dans un répertoire où votre application est installée : + + ```bash + node node_modules/.bin/newrelic-naming-rules + ``` + + ## Exemples de règles de dénomination [#examples-rules] + + Voici quelques exemples de règles de dénomination et des résultats. + + + + ```js + pattern: '^/items/[0-9]+$', + name: '/items/:id' + ``` + + entraînera : + + ``` + /items/123 => /items/:id + /orders/123 => /orders/123 (not replaced since the rule is a full match) + ``` + + + + ```js + pattern: '[0-9]+', + name: ':id' + ``` + + entraînera : + + ``` + /orders/123 => /orders/:id + /items/123 => /items/:id + /orders/123/items/123 => /orders/:id/items/123 + ``` + + + + ```js + pattern: '[0-9]+', + name: ':id', + replace_all: true + ``` + + entraînera : + + ``` + /orders/123/items/123 => /orders/:id/items/:id + ``` + + + + Utilisation d'expressions régulières pour faire correspondre les références de groupes : + + ```js + pattern: '^/(items|orders)/[0-9]+$', + name: '/\\1/:id' + ``` + + entraînera : + + ``` + /orders/123 => /orders/:id + /items/123 => /items/:id + ``` + + +
+ + rules.ignore + } + > + Cela peut également être défini via la variable d'environnement `NEW_RELIC_IGNORING_RULES`, avec plusieurs règles transmises sous forme de liste de modèles délimités par des virgules. Il n&apos;existe actuellement aucun moyen d&apos;échapper aux virgules dans les modèles. + + ```js + NEW_RELIC_IGNORING_RULES='^/socket\.io/\*/xhr-polling,ignore_me' + ``` + +
+ +Voici des exemples complets de la manière dont les règles sont incluses dans le fichier de configuration : + + + + ```js + // newrelic.js + exports.config = { + // other configuration + rules : { + name : [ + { pattern: "/tables/name-here", name: "/name-hererule1" } + ] + } + }; + ``` + + + + Si vous utilisez **socket.io**, vous disposerez d&apos;un cas d&apos;utilisation permettant d&apos;ignorer les règles dès le départ. Pour empêcher socket.io long-polling de dominer vos mesures de temps de réponse et d&apos;affecter les mesures Apdex de votre application, ajoutez une règle telle que : + + ```js + // newrelic.js + exports.config = { + // other configuration + rules : { + ignore : [ + '^\/socket\.io\/.*\/xhr-polling' + ] + } + }; + ``` + + + +## appel d'API pour les règles [#api-calls-rules] + +Voici les appels d'API pour nommer et ignorer les règles avec l'agent Node.js de New Relic. + +* [`addNamingRule`](https://newrelic.github.io/node-newrelic/API.html#addNamingRule) +* [`addIgnoringRule`](https://newrelic.github.io/node-newrelic/API.html#addIgnoringRule) \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/attributes/nodejs-agent-attributes.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/attributes/nodejs-agent-attributes.mdx new file mode 100644 index 00000000000..7ea2371e2a7 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/attributes/nodejs-agent-attributes.mdx @@ -0,0 +1,675 @@ +--- +title: Attributs de l'agent Node.js +tags: + - Agents + - Nodejs agent + - Attributes +metaDescription: 'New Relic Node.js agent: How to include and exclude specific attributes for events and transactions, including their properties and rules.' +freshnessValidatedDate: never +translationType: machine +--- + +Ce document décrit les [attributs](/docs/agents/manage-apm-agents/agent-data/agent-attributes) de l&apos;agent Node.js de New Relic, détaille comment activer ou désactiver l&apos;attribut et décrit les règles que l&apos;suit agent pour déterminer quel attribut inclure ou exclure pour une [destination](/docs/agents/manage-apm-agents/agent-data/agent-attributes#destinations). + + + Ces paramètres d’attribut s’appliquent à l’agent Node.js version 2.7.1 ou supérieure. Si vous utilisez une ancienne version de l'agent, consultez [legacy Mettre à jour des configuration](/docs/agents/nodejs-agent/installation-configuration/upgrade-nodejs-agent) attributs . + + +## Rechercher et utiliser un attribut [#location] + +New Relic Les [attributs sont des paires valeur/clé contenant des](/docs/agents/manage-apm-agents/agent-data/agent-attributes) informations qui déterminent les propriétés des données [d'événement](/docs/accounts-partnerships/getting-started-new-relic/glossary#event) et de [transaction .](/docs/accounts-partnerships/getting-started-new-relic/glossary#transaction) L&apos;attribut peut vous aider à obtenir des informations plus détaillées sur votre application et à annoter les données dans [New Relic](/docs/insights/use-insights-ui/getting-started/introduction-new-relic-insights). + +L'attribut (par défaut et [personnalisé](/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes)) peut être trouvé dans : + +* [Analyse](/docs/apm/applications-menu/error-analytics/introduction-error-analytics) APM [des traces de transactions](/docs/apm/transactions/transaction-traces/introduction-transaction-traces)et des erreurs +* [Événement APM](/docs/insights/explore-data/attributes/apm-default-attributes-insights) +* [Browser events](/docs/insights/explore-data/attributes/browser-default-attributes-insights#browser-attributes-table) + +Vous pouvez personnaliser exactement quel attribut sera envoyé à chacune de ces destinations. + + + À partir de l'agent Node.js version 6.10.0 , lorsque vous activez le traçage distribué et/ou le traçage infini, les informations de `Transaction` l&apos;événement sont appliquées au actuellement disponible `Span` de la transaction. Pour cette raison, vous souhaiterez peut-être appliquer les paramètres d&apos;attribut de l&apos;événement `Transaction` à l&apos;événement `Span` ou les appliquer en tant que paramètres d&apos;attribut globaux. + + +## Attributs spécifiques à Node.js [#attributes] + +En plus de l'[attribut APM par défaut](/docs/insights/new-relic-insights/decorating-events/apm-default-attributes-insights#transaction-event), l&apos;agent Node.js collecte les attributs à partir de ces sources : + + + + Le code d'état de réponse pour une requête Web. La clé de cet attribut est `httpResponseCode`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Activé + + * navigateur événement: Disabled + + **Note:** L&apos;attribut `httpResponseCode` (string value) est supprimé à partir de la version 7.0.0 de l&apos;agent. `http.statusCode` (integer value) doit être utilisé à la place. + + + + Le message d'état de réponse s'il est présent pour une demande Web. La clé de cet attribut est `httpResponseMessage`. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Activé + + * navigateur événement: Disabled + + **Note:** L&apos;attribut `httpResponseMessage` (string value) est supprimé à partir de la version 7.0.0 de l&apos;agent. `http.statusText` (string value) doit être utilisé à la place. + + + + Attributs ajoutés à un appel [`addCustomAttribute()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttribute) à l&apos;API de l&apos;agent Node.js. Le nom de clé de cet attribut dépend de ce que vous spécifiez lorsque vous appelez la méthode. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Activé + + * navigateur événement: Disabled + + + Avant de créer des attributs personnalisés, consultez la liste des [termes réservés utilisés par NRQL](/docs/insights/insights-data-sources/custom-data/insights-custom-data-requirements-limits#reserved-words) de New Relic. Dans le cas contraire, des résultats inattendus pourraient survenir. + + + + + noticeError() + appel d'API + } + > + Attribut ajouté à un appel [`noticeError()`](https://newrelic.github.io/node-newrelic/API.html#noticeError) de l&apos;API de l&apos;agent Node.js. Le nom de clé de cet attribut dépend de ce que vous spécifiez lorsque vous appelez la méthode. + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : indisponible + * Analyse des erreurs : activée + * Événement APM : Indisponible + * navigateur événement: Unavailable + + + + L'agent Node.js peut capturer les en-têtes de réponse et de demande en tant qu'attribut. Par défaut, l'agent Node.js collectera tous les en-têtes de requête qui ne sont pas exclus. + + En-têtes de requête HTTP exclus par défaut : + + * `request.headers.cookie` + + * `request.headers.authorization` + + * `request.headers.proxy-authorization` + + * `request.headers.set-cookie*` + + * `request.headers.x-*` + + En-tête de réponse capturé : `response.headers.content-type` + + Vous pouvez désactiver la collecte de tous les en-têtes en définissant `allow_all_headers` sur `false` dans votre fichier `newrelic.js` . + + Le paramètre par défaut pour chaque destination est : + + * trace de transaction : Activé + + * Analyse des erreurs : activée + + * Événement APM : Activé + + * navigateur événement: Disabled + + + + Demander un paramètre de la transaction. L'agent Node.js ne capture pas les paramètres par défaut. Tous les paramètres GET peuvent être capturés si l'entrée `request.parameters.*` est ajoutée à [`attributes.include`](#cfg-attributes-include), ou un paramètre de demande spécifique peut être ajouté à la liste, par exemple, `request.parameters.foo` ou `request.parameters.bar`. Afin de capturer le paramètre POST, utilisez l&apos;appel [`addCustomAttribute()`](https://newrelic.github.io/node-newrelic/API.html#addCustomAttribute) de l&apos;API de l&apos;agent Node.js. + + + +## Configurer l'attribut + +Vous pouvez personnaliser les types d'attributs que l'agent Node.js envoie à chaque destination. Cela est particulièrement courant pour des raisons de sécurité, lorsque vous avez certains attributs sensibles que vous ne souhaitez pas signaler à New Relic. + +Utilisez les propriétés configuration suivantes avec les [règles d’attribut](#attruls) pour activer ou désactiver l’attribut : + + + + Désactivé par défaut. Définissez cette valeur sur `true` pour que l&apos;agent collecte uniquement tous les en-têtes, à l&apos;exception de ceux filtrés par les règles `exclude` . + + + + Activé par défaut. Réglez ceci sur `false` pour désactiver l&apos;éventail [`attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#attributes_include) . + + + destination.attributes.enabled + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#attributes_enabled) + + Vrai +
+ trace de transaction + + [`transaction_tracer.attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#tracer_enabled) + + Vrai +
+ Analyse des erreurs + + [`error_collector.attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#error_collector) + + Vrai +
+ Événement APM + + [`transaction_events.attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#tx_events_enabled) + + Vrai +
+ Browser events + + [`browser_monitoring.attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#browser) + + FAUX +
+ + Activer ou désactiver complètement l'attribut. Si vous définissez une destination sur `false`, aucun attribut ne sera envoyé à cette destination, quels que soient vos paramètres d&apos;inclusion/exclusion. Si une destination est activée, tous les attributs utilisateur sont envoyés à cette destination par défaut. +
+ + destination.attributes.include + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#attributes_include) + + (aucun) +
+ trace de transaction + + [`transaction_tracer.attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#hide-attributes-include) + + (aucun) +
+ Analyse des erreurs + + [`error_collector.attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#error_attributes_include) + + (aucun) +
+ Événement APM + + [`transaction_events.attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#tx-attributes-include) + + (aucun) +
+ Browser events + + [`browser_monitoring.attributes.include`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#browser-debug-include) + + (aucun) +
+ + Spécifiez les clés d’attribut particulières que vous souhaitez que l’agent signale à New Relic. Pour toutes les destinations, il s'agit d'une liste de chaînes qui est vide par défaut. Les propriétés `.exclude` remplacent les propriétés `.include` . Pour désactiver toutes les valeurs `.include` , définissez [`attributes.include_enabled`](#cfg-attributes-include-enabled) sur `false`. +
+ + destination.attributes.exclude + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Destination + + Option de configuration + + Défaut +
+ Tous + + [`attributes.exclude`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#attributes_exclude) + + (aucun) +
+ trace de transaction + + [`transaction_tracer.attributes.exclude`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#hide-attributes-exclude) + + (aucun) +
+ Analyse des erreurs + + [`error_collector.attributes.exclude`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#error_attributes_exclude) + + (aucun) +
+ Événement APM + + [`transaction_events.attributes.exclude`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#tx-attributes-exclude) + + (aucun) +
+ Browser events + + [`browser_monitoring.attributes.exclude`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#browser-debug-exclude) + + (aucun) +
+ + Spécifiez les clés d’attribut particulières que vous ne souhaitez pas que l’agent signale à New Relic. Pour toutes les destinations, il s'agit d'une liste de chaînes qui est vide par défaut. Les propriétés `.exclude` remplacent les propriétés `.include` . +
+
+ +## Règles d'attribut [#attruls] + +L'agent Node.js suit ces règles pour déterminer quel attribut inclure ou exclure pour une destination : + + + + Si vous définissez la propriété principale [`attributes.enabled`](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#attributes_enabled) sur `false`, l&apos;agent ne signale aucun attribut. + + + + configuration de l'agent : + + * `attributes.enabled: false` + + * `attributes.include: request.parameters.*` + + * `error_collector.attributes.enabled: true` + + Touches de saisie : + + * `foo` + + * `bar` + + * `request.parameters.foo` + + * `request.parameters.bar` + + Sortie de l'agent : + + * trace de transaction : Aucun attribut + + * Analyse des erreurs : aucun attribut + + * Événement APM : Aucun attribut + + * navigateur événement: No attribut + + + + + + Lorsque vous définissez [l'option activée](#cfg-attributes-enabled) sur `false` pour une destination, l&apos;agent ignore vos paramètres d&apos;inclusion/exclusion et ne signale aucun attribut pour cette destination. + + + + configuration de l'agent : + + * `transaction_tracer.attributes.enabled: false` + + * `attributes.include: one, two*` + + * `transaction_tracer.attributes.include: three, four` + + Touches de saisie : + + * `one` + + * `two` + + * `three` + + * `four` + + Sortie de l'agent : + + * trace de transaction : Aucun attribut + + * Analyse des erreurs : `one`, `two` + + * Événement APM : `one`, `two` + + * navigateur événement: No attribut + + + + + + Les propriétés `.exclude` remplacent les propriétés `.include` . + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: foo, myCustomAtt` + + * `attributes.exclude: password, myCustomAtt` + + Touches de saisie : + + * `foo` + + * `myCustomAtt` + + * `password` + + Sortie de l'agent : + + * trace de transaction: `foo` + + * Analyse des erreurs : `foo` + + * Événement APM : `foo` + + * événement du navigateur : `foo` + + + + + + Si plusieurs attributs d'inclusion ou d'exclusion affectent la même clé, le paramètre le plus spécifique aura la priorité. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: foo, myCustomAtt` + + * `attributes.exclude: password, myCustomAtt` + + * `browser_monitoring.attributes.enabled: true` + + Touches de saisie : + + * `food` + + * `food.bread` + + * `food.fruit.banana` + + * `food.fruit.apple` + + Sortie de l'agent : + + * trace de transaction: `food.fruit.apple` + + * Analyse des erreurs : `food.fruit.banana`, `food.fruit.apple` + + * Événement APM : `food.fruit.banana`, `food.fruit.apple` + + * événement du navigateur : `food.fruit.banana`, `food.fruit.apple` + + + + + + Les clés spécifiées dans les propriétés `.include` et `.exclude` sont sensibles à la casse. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.exclude: password, PaSsWoRd` + + Touches de saisie : + + * `password` + + * `Password` + + * `PASSWORD` + + * `PaSsWoRd` + + * `PassWORD` + + Sortie de l'agent : + + * trace de transaction : `Password`, `PASSWORD`, `PassWORD` + + * Analyse des erreurs : `Password`, `PASSWORD`, `PassWORD` + + * Événement APM : `Password`, `PASSWORD`, `PassWORD` + + * navigateur événement: `Password`, `PASSWORD`, `PassWORD` + + + + + + Vous pouvez utiliser un astérisque `*` à la fin d&apos;une clé comme caractère générique. Cela correspondra à un ensemble d’attributs avec le même préfixe. + + + + configuration de l'agent : + + * `attributes.enabled: true` + + * `attributes.include: custom*` + + * `attributes.exclude: request.parameters.*` + + Touches de saisie : + + * `custom` + + * `custom.key1` + + * `custom.key2` + + * `request.parameters.` + + * `request.parameters.foo` + + * `request.parameters.bar` + + Sortie de l'agent : + + * trace de transaction : `custom`, `custom.key1`, `custom.key2` + + * Analyse des erreurs : `custom`, `custom.key1`, `custom.key2` + + * Événement APM : `custom`, `custom.key1`, `custom.key2` + + * navigateur événement: `custom`, `custom.key1`, `custom.key2` + + + + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/apollo-server-plugin-nodejs.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/apollo-server-plugin-nodejs.mdx new file mode 100644 index 00000000000..e0eb1225e60 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/apollo-server-plugin-nodejs.mdx @@ -0,0 +1,34 @@ +--- +title: Plugin Apollo Server et Node.js +tags: + - Agents + - Nodejs agent + - Extend your instrumentation +metaDescription: The New Relic Apollo Server plugin instruments your Apollo Server applications to give visibility into your GraphQL payloads. +freshnessValidatedDate: never +translationType: machine +--- + +Le plugin New Relic Apollo Server instrumente votre application Apollo Server pour donner une visibilité sur votre charge GraphQL . Cela vous aide à découvrir et à diagnostiquer la cause de votre [requêteGraphQL ](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph)lente. La version d&apos;Apollo Server prise en charge est 2.14 ou ultérieure. + +Notre plugin enregistre les temps globaux des requêtes et utilise [le traçage distribué](/docs/understand-dependencies/distributed-tracing/get-started/how-new-relic-distributed-tracing-works) pour découvrir le problème d&apos;itinéraire. Utilisez cette instrumentation pour voir si le problème provient de la résolution d&apos;une donnée demandée ou s&apos;il provient d&apos;un travail effectué sur d&apos;autres services ou bases de données. + +## Compatibilité + +Le plugin New Relic fonctionne avec les modules Apollo Server suivants : + +* `@apollo/server` +* `@apollo/gateway` +* `@apollo/subgraph` +* `apollo-server` (&gt;= 2.14) +* `apollo-server-express` +* `apollo-server-hapi` +* `apollo-server-koa` +* `apollo-server-fastify` +* `apollo-server-lambda` + +D'autres plugins peuvent fonctionner, en fonction de leur implémentation sous-jacente, mais ils n'ont pas été vérifiés. + +## Documentation GitHub [#github] + +Pour des informations détaillées sur l'installation, la configuration, les détails des transactions, les métriques, les segments, les erreurs, les tests, le dépannage, etc., consultez [la documentation du plugin Apollo Server de New Relic sur GitHub](https://github.com/newrelic/newrelic-node-apollo-server-plugin/blob/main/README.md). \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/browser-monitoring-nodejs-agent.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/browser-monitoring-nodejs-agent.mdx new file mode 100644 index 00000000000..e5ffc0cbbd8 --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/browser-monitoring-nodejs-agent.mdx @@ -0,0 +1,180 @@ +--- +title: Monitoring des navigateurs et de l'agent Node.js +tags: + - Agents + - Nodejs agent + - Extend your instrumentation +metaDescription: How to manually set up browser instrumentation New Relic's Node.js agent. +freshnessValidatedDate: never +translationType: machine +--- + +Avec l'agent Node.js, vous pouvez ajouter [une instrumentation de navigateur](/docs/browser/new-relic-browser/getting-started/introduction-new-relic-browser) à vos pages Web. Pour utiliser avec votre agent Node.js, assurez-vous de disposer de [la dernière version](/docs/agents/nodejs-agent/installation-configuration/installing-maintaining-nodejs#upgrading) de l&apos;agent Node.js. + +Pour activer monitoring des navigateurs dans l'interface utilisateur, suivez les procédures pour [installer l'agent de navigateur](/docs/browser/new-relic-browser/installation/install-new-relic-browser-agent). Suivez ensuite les procédures de cette section pour configurer l’agent Node.js. + +## Insérer l'en-tête JavaScript [#procedures] + +L'instrumentation de l'agent Node.js peut continuer au-delà application de votre dans le navigateur de l'utilisateur final. Le module `newrelic` peut générer des en-têtes `script` qui, une fois insérés dans vos modèles HTML, captureront le temps final de chargement de la page de l&apos;utilisateur. Les en-têtes doivent être injectés manuellement, mais aucune configuration supplémentaire n&apos;est nécessaire. + +1. Au début de tag `head` de votre page HTML, insérez les résultats de `newrelic.getBrowserTimingHeader()` après n&apos;importe quelle balise méta `CHARSET`. + + Exception : pour une compatibilité Internet Explorer maximale, insérez les résultats de `newrelic.getBrowserTimingHeader()` après n&apos;importe quelle balise méta `X-UA-COMPATIBLE HTTP-EQUIV` . + +2. Appelez l'en-tête une fois pour chaque demande. Ne pas mettre en cache l'en-tête. + +La génération d'en-têtes est rapide et ne nécessite pas que votre application fasse requests supplémentaires à New Relic. + +## Exemples de cadres [#variables] + +Voici quelques exemples de la façon de configurer monitoring des navigateurs avec différents frameworks et modèles. + + + + Cet exemple utilise [Express](http://expressjs.com), un framework d&apos;application Web, et [jade](http://jade-lang.com), un module de modèle. Bien que les spécificités soient différentes avec d’autres cadres, cette approche générale devrait fonctionner dans la plupart des cas. + + La manière la plus simple d'insérer des en-têtes de synchronisation de navigateur est de transmettre le module `newrelic` dans votre modèle, puis d&apos;appeler `newrelic.getBrowserTimingHeader()` à partir du modèle. + + Dans votre `app.js`: + + ```js + const newrelic = require('newrelic'); + const app = require('express')(); + // in express, this lets you call newrelic from within a template + app.locals.newrelic = newrelic; + + app.get('/user/:id', function (req, res) { + res.render('user'); + }); + app.listen(process.env.PORT); + ``` + + Dans votre `layout.jade`: + + ```pug + doctype html + html + head + != newrelic.getBrowserTimingHeader() + title= title + link(rel='stylesheet', href='stylesheets/style.css') + body + block content + ``` + + + + Cet exemple utilise Express avec [Swig](https://github.com/paularmstrong/swig "Le lien s'ouvre dans une nouvelle fenêtre"). + + Dans votre `app.js`: + + ```js + const newrelic = require('newrelic'); + + const http = require('http') + const path = require('path') + const swig = require('swig') + + const app = require('express')(); + + app.locals.newrelic = newrelic; + + //taken from http://paularmstrong.github.io/swig/docs/#express + app.engine('html', swig.renderFile); + app.set('view engine', 'html'); + app.set('views', __dirname + '/views'); + + app.get('/user/:id', function (req, res) { + res.render('user'); + }); + + app.listen(process.env.PORT); + ``` + + Dans votre `views/user.html`: + + ```html + + + + {{ newrelic.getBrowserTimingHeader() }} + Hello + + +

Hello World

+ + + ``` +
+ + + Cet exemple utilise [hapi.js](http://hapijs.com/) et [handlebars](http://handlebarsjs.com). D&apos;autres langages de création de modèles similaires nécessitent généralement des crochets triples ; par exemple, l&apos;utilisation [de moustache](https://mustache.github.io/mustache.5.html) avec [hogan-express](https://github.com/vol4ok/hogan-express). Cela permet d’éviter que le contenu du script ne s’échappe. + + En utilisant **hapi**, dans votre `app.js`: + + ```js + const newrelic = require('newrelic'); + const Hapi = require('hapi'); + const server = new Hapi.Server(parseInt(PORT), '0.0.0.0', { + views: { + engines : {html: 'handlebars' }, + path : __dirname + '/templates' + } + }); + + function homepage(request, reply) { + const context = { + // pass in the header each request + nreum : newrelic.getBrowserTimingHeader(), + content : ... + }; + + reply.view('homepage', context); + }; + + server.route({ + method : 'GET', + path : '/', + handler : homepage + }); + + server.start(); + ``` + + Dans votre `templates/homepage.html`: + + ```html + + + + {{{ nreum }}} + Hello + + + {{ content }} + + + ``` + +
+ +## Désactiver la génération d'en-tête [#disabling] + +Par défaut, les appels à `newrelic.getBrowserTimingHeader()` doivent renvoyer des en-têtes valides. Pour désactiver la génération d&apos;en-tête sans supprimer votre code de modèle : Dans votre fichier `newrelic.js` , ajoutez : + +```js +browser_monitoring : { + enable : false +} +``` + +Vous pouvez également définir la variable d’environnement `NEW_RELIC_BROWSER_MONITOR_ENABLE=false`. + + + Laissez toujours `ssl` entre l&apos;agent et le collecteur New Relic lors de l&apos;utilisation monitoring des navigateurs. + + +Vous pouvez laisser l'appel d'API en place en toute sécurité même si vous n'utilisez pas monitoring des navigateurs ou le module `newrelic`. + +* Si monitoring des navigateurs est désactivée, ou s'il y a une erreur empêchant la génération d'en-têtes fonctionnels, le module `newrelic` génère un commentaire HTML inoffensif. +* Si vous désactivez complètement le module `newrelic` , aucun contenu ne sera généré. \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/message-queues.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/message-queues.mdx new file mode 100644 index 00000000000..ef209c49eed --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/message-queues.mdx @@ -0,0 +1,102 @@ +--- +title: fichier d'attente des messages +tags: + - Agents + - Nodejs agent + - Extend your instrumentation +metaDescription: 'New Relic''s Node.js agentsupports the amqplib RabbitMQ client library, giving you insight into the performance of your message processing.' +freshnessValidatedDate: never +translationType: machine +--- + +L'agent Node.js de New Relic prend en charge la [bibliothèque cliente amqplib RabbitMQ ](https://www.npmjs.com/package/amqplib), vous donnant des informations détaillées sur les performances de votre traitement de messages, pour les messages entrants et sortants. + +l'UI APM affichera les transactions initiées via la RabbitMQ réception de messages (messages d'abonnement/consommation) comme **Message** des tâches d&apos;arrière-plan. La création de messages via RabbitMQ apparaît également dans la trace de transaction. + +Cette fonctionnalité nécessite [l'agent New Relic Node.js version 2.0.0 ou supérieure](/docs/release-notes/agent-release-notes/nodejs-release-notes). + +## Améliorations des performances avec les tâches en arrière-plan [#background] + +Une façon d’augmenter la réactivité d’une application Web est de déléguer le travail aux processus d’arrière-plan. Les fichiers d'attente des messages sont couramment utilisés pour cette communication interprocessus. + +Dans le contexte d'un système de mise en file d'attente de messages, les applications interagissent généralement avec des courtiers de messages pour envoyer et recevoir des messages. La bibliothèque cliente `amqplib` permet à l&apos;application Node.js de s&apos;interfacer avec les courtiers de messages qui implémentent le protocole Advanced Message Queueing Protocol (AMQP) 0.9 ou supérieur. + +L'agent Node.js de New Relic affiche les messages envoyés et reçus à l'aide de la bibliothèque cliente RabbitMQ. Grâce à cette visibilité, vous pouvez voir des détails tels que : + +* Nombre de messages produits par votre application +* Temps que votre application passe à publier des messages +* Temps que votre application consacre au traitement des messages « consommés » + +[APM](#view-queue) regroupe et signale de manière pratique les opérations qui interagissent avec les files d&apos;attente. En analysant ces informations, vous pourrez plus facilement identifier les goulots d&apos;étranglement et les zones d&apos;amélioration des performances dans votre architecture de passage de messages. + +## Opérations de file d'attente [#queue-ops] + +Les points d'entrée pris en charge pour les opérations de file d'attente apparaissent sous la forme `Put` (publier un message) ou `Take` (recevoir un message) dans l&apos;interface utilisateur d&apos;APM. + + + + + + + + + + + + + + + + + + + + + +
+ + **Queue operations** + + + + **Publish a message (`Put` in UI)** + + + + **Receive a message (`Take` in UI)** + +
+ RabbitMQ + + `publish` + + `sendToQueue` + + `get` + + `consume` +
+ +## Afficher dans l'UI de New Relic [#view-queue] + +Les opérations de file d'attente apparaissent sur [la page**Transactions** ](/docs/apm/applications-menu/monitoring/transactions-dashboard)d&apos;APM pour l&apos;application sélectionnée. Les métriques `Put` et `Take` apparaissent dans **Breakdown table** et sont classées comme métriques `MessageBroker` . Voici un exemple : + +metric-breakdown-table + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; Applications &gt; (select an app) &gt; Transactions &gt; (select a transaction):** Le **Breakdown table** de la transaction catégorise les opérations de file d&apos;attente comme des métriques `MessageBroker` et les étiquette comme `Put` (publier un message) ou `Take` (recevoir un message). +
+ +La [page de **Transaction trace summary** ](/docs/apm/transactions/transaction-traces/transaction-traces-trace-details-page)peut afficher les opérations `Put` et `Take` dans la section **Slowest components** . Par exemple: + +slow-message-component + +
+ **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) &gt; APM &amp; services &gt; Applications &gt; (select an app) &gt; Summary &gt; (select a transaction trace):** Dans cet exemple, la trace de transaction sélectionnée **Summary** affiche les opérations RabbitMQ dans le graphique à barres coloré. La section **Slowest components** répertorie également les résultats `Put` et `Take` de RabbitMQ. +
+ +La [page**Transaction trace** ](/docs/apm/transactions/transaction-traces/transaction-traces)comprend également un onglet **Messages** dédié qui affiche un résumé de l’activité du message qui s’est produite dans le cadre de la transaction. + + + Vous pouvez [sélectionner le suivi de la transaction](/docs/apm/transactions/transaction-traces/viewing-transaction-traces) à partir des pages **Summary** ou **Transactions** de l&apos;application dans **APM**. + \ No newline at end of file diff --git a/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nodejs-custom-instrumentation.mdx b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nodejs-custom-instrumentation.mdx new file mode 100644 index 00000000000..5ee3897228d --- /dev/null +++ b/src/i18n/content/fr/docs/apm/agents/nodejs-agent/extend-your-instrumentation/nodejs-custom-instrumentation.mdx @@ -0,0 +1,55 @@ +--- +title: Node.js instrumentation personnalisée +tags: + - Agents + - Nodejs agent + - Extend your instrumentation +metaDescription: 'Expand Node.js instrumentation in New Relic for non-web transactions (frameworks, databases, segments, etc.). Use custom tracers to track async work.' +freshnessValidatedDate: never +translationType: machine +--- + +New Relic pour Node.js instrumente automatiquement la plupart requests Web standard, mais parfois vous souhaitez instrumentation étendue. Avec l'[API d'instrumentation personnalisée](https://newrelic.github.io/node-newrelic/API.html) de l&apos;agent, vous pouvez créer une instrumentation pour [des frameworks Web](#web-framework), [des magasins de données](#datastore) et [des clients de services de messagerie](#message-client) qui ne sont pas pris en charge. + +L'API d'instrumentation personnalisée de l'agent Node.js vous permet également de : + +* Créer [un Web de transaction](#web-txn) (utile pour des éléments tels que les sockets Web, où les transactions ne peuvent pas être créées automatiquement). +* Créez [des transactions d’arrière-plan](#background-txn) non Web (utiles pour enregistrer des tâches en arrière-plan). +* Ciblez [des sections spécifiques de votre code](#expanding-instrumentation) pour une analyse plus approfondie. + +## Exigences relatives à la version de l'agent [#version] + +Les instrumentation méthodes personnalisées de ce document sont disponibles à partir de la [version 2.0.0 de l'agent Node.js](/docs/release-notes/agent-release-notes/nodejs-release-notes) Pour plus d&apos;informations sur l&apos;instrumentation à l&apos;aide de l&apos;API d&apos;instrumentation personnalisée v1.x, consultez la documentation de [l'instrumentation personnalisée Node.js héritée](/docs/agents/nodejs-agent/supported-features/nodejs-v1x-custom-instrumentation-legacy). + +## Instrumenter non pris en charge framework web [#web-framework] + +À partir de la version 2.0.0 de l'agent Node.js, New Relic fournit une API pour étendre instrumentation pour un framework Web supplémentaire. Pour plus d'informations, consultez l'[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-webframework) sur GitHub. + +## Clients de service de messagerie non pris en charge par l'instrument [#message-client] + +À partir de la version 2.0.0 de l'agent Node.js, New Relic fournit une API pour étendre instrumentation d'une bibliothèque de services de messages supplémentaire. Pour plus d'informations, consultez l'[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-messages) sur GitHub. + +## Magasins de données non pris en charge par l'instrument [#datastore] + +À partir de la version 2.0.0 de l'agent Node.js, New Relic fournit une API pour étendre instrumentation pour une bibliothèque de datastore supplémentaire. Pour plus d'informations, consultez l'[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-datastore) sur GitHub. + +## Instrumenter des transaction web [#web-txn] + +Afin de créer [une transaction Web](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) personnalisée, appelez `startWebTransaction` pour démarrer la transaction. Pour plus d&apos;informations, consultez l&apos;[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/0a036fd669b4b47b8afbc7add8696980f799f0da/custom-instrumentation/start-web-transaction) sur GitHub. + +L'exemple d'application lié fournit uniquement des données de synchronisation de base pour la transaction créée. Pour créer des données de synchronisation et des noms de transaction plus complexes pour un framework particulier, consultez la [documentation de l'API Node.js](https://newrelic.github.io/node-newrelic/API.html#instrumentWebframework) et l&apos;[exemple d'application WebFramework associé](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/instrument-webframework) sur GitHub. + +## Opérations de fond sur l'instrument [#background-txn] + +Vous pouvez utiliser des transactions personnalisées pour instrumenter [des transactions non Web](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions) (tâches en arrière-plan) ; par exemple : + +* Tâches périodiques au sein de votre application +* Travail qui continue après la fin d'une demande + +Pour instrumenter les tâches en arrière-plan, appelez [`startBackgroundTransaction`](https://newrelic.github.io/node-newrelic/API.html#startBackgroundTransaction) dans votre gestionnaire pour démarrer une transaction en arrière-plan. Pour plus d&apos;informations, consultez l&apos;[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/background-transactions) sur GitHub. + +## Développer l'instrumentation au sein des transactions [#expanding-instrumentation] + +Vous pouvez créer une instrumentation à l’aide des [méthodes d’enregistrement d’instrumentation sur l’API](https://newrelic.github.io/node-newrelic/API.html#instrument). L&apos;écriture d&apos;instrumentation à l&apos;aide de l&apos;API d&apos;instrumentation vous permet de spécifier les métriques et les noms de manière plus détaillée grâce à des méthodes de « monkey patching » (remplacement des fonctions) sur les objets pertinents. D&apos;autres options peuvent offrir une visibilité sur les transactions Web déjà instrumentées, ou obtenir des informations détaillées sur la base de données et d&apos;autres travaux en cours de transaction qui ne sont pas automatiquement instrumentés. + +Pour cela, enroulez votre rappel dans du traceur personnalisé. Le traceur personnalisé crée et collecte des métriques spécifiques pour un segment supplémentaire au sein d'une transaction existante, comme une fonction particulière ou un appel de base de données. Pour plus d'informations, consultez l'[exemple d'application](https://github.com/newrelic/newrelic-node-examples/tree/4284ee7eab69708238db0a44f97ff7e839e165cf/custom-instrumentation/segments) sur GitHub. \ No newline at end of file diff --git a/src/i18n/content/jp/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx b/src/i18n/content/jp/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx index d4fff9baf38..c378225aac1 100644 --- a/src/i18n/content/jp/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx +++ b/src/i18n/content/jp/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx @@ -23,35 +23,15 @@ NerdGraphを介してユーザーとグループを管理するためのいく * [新しいユーザーモデル](/docs/accounts/original-accounts-billing/original-users-roles/overview-user-models#determine-user-model)のユーザーである必要があります。その他の権限関連の要件: * 必要な[ユーザータイプ](/docs/accounts/accounts-billing/new-relic-one-user-management/user-type):コアユーザーまたはフルプラットフォームユーザー - - * 必要な[管理設定](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings): - - - **Organization settings** - - - または - - - **Authentication domain settings** - + * 必要な[管理設定](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings): **Organization settings**または **Authentication domain settings** ## 始める前に [#concepts] NerdGraphを使用してユーザーを管理する前に: * [ユーザー管理の概念](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#understand-concepts)を十分に理解していることを確認してください - -* まだご覧になっていない場合は、 - - - **Access management** - - - UI をご覧になって、グループとユーザー アクセスの仕組みについての理解を深め、既存のグループについて理解を深めることをお勧めします。 これを実行する前に、作成する必要があるグループ アクセスの計画を作成することをお勧めします。こちらに[計画スプレッドシートの例を示し](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing)ます。 - +* まだご覧になっていない場合は、 **Access management** UI をご覧になって、グループとユーザー アクセスの仕組みについての理解を深め、既存のグループについて理解を深めることをお勧めします。 これを実行する前に、作成する必要があるグループ アクセスの計画を作成することをお勧めします。こちらに[計画スプレッドシートの例を示し](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing)ます。 * [NerdGraphエクスプローラー](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer)には、これらのリクエストで使用されるフィールドを定義するドキュメントが組み込まれていることに注意してください。 - * [NewRelicアカウントへの変更を追跡できることに注意してください](/docs/data-apis/understand-data/event-data/query-account-audit-logs-nrauditevent)。 ## グループ作成の推奨ワークフロー [#flow] @@ -59,15 +39,7 @@ NerdGraphを使用してユーザーを管理する前に: これらのクエリとミューテーションはさまざまな方法とさまざまな順序で使用できますが、グループを設定するための一般的なワークフローの 1 つを次に示します。 1. ユーザーの情報と[利用可能な役割](#query-roles)を[クエリする](#query-users):これは、NewRelicで使用しているユーザーと利用可能な役割を確実に理解するための最初の場所として役立ちます。始めたばかりの場合は、まだユーザーを追加していない可能性があり、標準の役割しか持っていない可能性があります。 - -2. [オプション: 新しいグループを作成します](#create-group): - - - **Not available if using SCIM provisioning.** - - - 既存のグループを使用することも、新しいグループを作成することもできます。 グループを作成したら、そのグループにロールとアカウントへのアクセス権を付与する必要があります。 グループ自体では、そのグループ内のユーザーにアクセス権は付与されないことに注意してください。ロールとアカウントが割り当てられている場合にのみ、ユーザーは実際に New Relic にアクセスできます。 - +2. [オプション: 新しいグループを作成します](#create-group): **Not available if using SCIM provisioning.**既存のグループを使用することも、新しいグループを作成することもできます。 グループを作成したら、そのグループにロールとアカウントへのアクセス権を付与する必要があります。 グループ自体では、そのグループ内のユーザーにアクセス権は付与されないことに注意してください。ロールとアカウントが割り当てられている場合にのみ、ユーザーは実際に New Relic にアクセスできます。 3. [グループへのアクセスを許可する : これは、ロールとアカウントへの](#grant-access)グループ アクセスを割り当てるものです。 完了したら、作成したグループにすでにユーザーがいて、そのグループが少なくとも 1 つのロールとアカウントにアクセスできる場合、それらのユーザーは数分以内にアクセスできるようになります (ただし、 [EU 地域の New Relic アカウント](/docs/using-new-relic/welcome-new-relic/get-started/our-eu-us-region-data-centers)の場合、これは可能です)。 20分ほどかかります)。ユーザーがまだそのグループに属していない場合 (新しいグループを作成した場合に該当します)、 [そのグループにユーザーを追加できます](/docs/accounts/accounts-billing/new-relic-one-user-management/account-user-mgmt-tutorial#add-users)。 @@ -304,6 +276,143 @@ NerdGraphを使用してユーザーを管理する前に: }, ``` +## ロールを作成する [#create-role] + +[ロールを](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles)作成する例を次に示します。 + +```graphql +mutation { + customRoleCreate( + container: { + id: "$YOUR_ORGANIZATION_ID" + type: "ORGANIZATION" + } + name: "MY CUSTOM ROLE" + permissionIds: [1,2,3] + scope: "ACCOUNT" + ) { + id + } +} +``` + +### パラメーター + +* `container`: + + * `id`: (文字列) 組織の一意の識別子。 組織を実際の組織 ID に置き換えます。 + * `type`: (文字列) コンテナの種類。 現在サポートされているタイプは「組織」のみです。 + * `name`: (文字列) カスタム ロールに割り当てられた名前。 例: 「MY CUSTOM ROLE」。 + +* `permissionIds`: (配列) カスタム ロールに割り当てられた機能を表す権限 ID のリスト。 これらの ID がシステム内の有効な権限に対応していることを確認してください。 + +* `scope`: (文字列) ロールの権限が適用されるレベル。 この例では、スコープは「ACCOUNT」です。 + +### レスポンス + +* `id`: 新しく作成されたカスタム ロールの一意の ID を返します。 + + + * ミューテーションを実行する前に、 `$YOUR_ORGANIZATION_ID`特定の組織 ID に置き換えます。 + * 提供された`permissionIds`が有効であり、付与する権限と一致していることを確認してください。 + + +カスタム ロールを作成する前に、そのロールに割り当てる権限を特定する必要があります。 + +権限のリストを取得するには、次のクエリを使用します。 + +```graphql +mutation { + customerAdministration { + permissions { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +これにより、アカウント スコープのアクセス許可が返されます。 組織に限定された権限の場合は、代わりに次のクエリを実行します。 + +```graphql +{ + customerAdministration { + permissions(filter: {scope: {eq: "organization"}}) { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +次のフィールドに注意してください。 + +* `items`: 権限オブジェクトの配列。各オブジェクトには次の属性が含まれます。 + + * `category`: (文字列) 権限が属するカテゴリまたはグループ。 + * `feature`: (文字列) 権限が関連付けられている特定の機能。 + * `id`: (文字列) 各権限の一意の識別子。 + * `product`: (文字列) 権限が適用される製品。 + * `subsetIds`: (配列) サブセットまたは関連する権限を表す ID のリスト。 + +新しいロールに割り当てる各権限の一意の識別子を取得したら、そのロールを作成します。 + +## 役割の更新 [#update-role] + +[ロールを](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles)更新する例を次に示します。 + +```graphql +mutation { + customRoleUpdate( + id: $ROLE_ID + name: "MY NEW CUSTOM ROLE NAME" + permissionIds: [4,5,6] + ) { + id + } +} +``` + +### パラメーター + +* `id`: 変更するカスタム ロールの一意の識別子。 `$ROLE_ID`ロールの実際の ID に置き換えます。 +* `name`: カスタム ロールに割り当てる新しい名前。 この例では、 `MY NEW CUSTOM ROLE NAME`です。 +* `permissionIds`: このロールに割り当てる権限 ID の配列。 これらの ID が有効であり、実装する予定の権限に対応していることを確認してください。 + +## 役割を削除する [#delete-role] + +[ロールを](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles)削除する例を次に示します。 + +```graphql +mutation { + customRoleDelete( + id: $ROLE_ID + ) { + id + } +} +``` + +### パラメーター + +* `id`: 削除するロールの一意の識別子。 `$ROLE_ID` 、削除するロールの実際の ID に置き換えます。 + +### レスポンス + +* `id`: 削除されたロールの ID を返し、ミューテーションが正常に実行されたことを確認します。 + ## グループを作成する [#create-group] [グループ](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#groups)を作成する例を次に示します。 @@ -645,71 +754,23 @@ mutation { デフォルトの[役割](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#standard-roles)と[管理設定](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#admin-settings)の ID をいくつか示します。 -* - **All product admin** - - - : `1254` 。 - -* - **Standard user** - - - : `1253` 。 - -* - **Read only** - - - : `1252` 。 +* **All product admin**: `1254` 。 -* - **Organization manager setting** - +* **Standard user**: `1253` 。 - `1994` +* **Read only**: `1252` 。 - * - **Read only** - +* **Organization manager setting** `1994` + * **Read only**: `1995` - : `1995` +* **Authentication domain setting**: -* - **Authentication domain setting** - + * **Manage**: `1996` + * **Read only**: `1997` + * **Add users**: `14517` + * **Read users**: `14603` - : - - * - **Manage** - - - : `1996` - - * - **Read only** - - - : `1997` - - * - **Add users** - - - : `14517` - - * - **Read users** - - - : `14603` - -* - **Group admin** - - - : `14516` +* **Group admin**: `14516` カスタム ロールの ID を検索するクエリは次のとおりです。 @@ -777,4 +838,4 @@ mutation { } } } -``` +``` \ No newline at end of file diff --git a/src/i18n/content/jp/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx b/src/i18n/content/jp/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx index 237b2cf2deb..adfd41cad9e 100644 --- a/src/i18n/content/jp/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx +++ b/src/i18n/content/jp/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx @@ -30,27 +30,26 @@ translationType: machine * すべてのミューテーション (作成、更新、および削除) は、監査目的で照会できる`NrAuditEvent`になります。詳細については、「 [監査イベント](/docs/insights/use-insights-ui/manage-account-data/query-account-audit-logs-nrauditevent)」を参照してください。 -* ライセンスキーについて +* 取り込みキーについて: - * ライセンスキーはNerdGraphによって**ingest keys**に分類されます。 これは、主な用途がデータの取り込みを可能にすることだからです。 - * ライセンスキーの種類ごとに最大1,000個のキーを作成することができ、キーのローテーションが可能です。 - * オリジナルのライセンスキーを管理・削除することはできず、追加のライセンスキーを作成したり、作成したキーを管理することのみが可能です。 + * ライセンス キーとブラウザー キーは、NerdGraph によって**ingest keys**に分類されます。 これは、主な用途がデータの取り込みを可能にすることだからです。 + * 各取り込みキー タイプにつき最大 1,000 個のキーを作成でき、キーのローテーションが可能になります。 + * 元のアカウントの取り込みキーを管理または削除することはできませんが、New Relic サポートに連絡してこれらをローテーションすることはできます。追加の取り込みキーまたはユーザー キーを作成し、作成したキーを管理することのみ可能です。 ## 使用例の前に [#before-examples] これらのサンプルクエリを使用する前に注意すべきことがあります。 -* 以下の例では、ライセンスキー(別名インジェストキー)を使用していますが、インジェストキー固有のフィールドをユーザーキー固有のフィールドに置き換えて、同様の方法で [ユーザーキー](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key) を照会することができます。 * データ構造を理解するには、 [GraphiQL explorer](https://api.newrelic.com/graphiql) を使って、クエリを試してみることをお勧めします。 * また、 [UIを使ってユーザーキーの作成、閲覧、削除を行うことができます。](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) ## キーの作成 - [NerdGraph GraphiQL explorer](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer) そのインターフェースの上部にある、ユーザーキーの検索と生成を行うことができます。 + インターフェイスの上部にある[NerdGraph GraphQL エクスプローラー](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer)を使用して、ユーザー キーを検索および生成できます。 -複数のアカウントとキータイプに対して、1回のミューテーションで複数のキー(ユーザーキーまたはライセンスキー)を作成すること。なお、ミューテーションでは、正常に作成されたキーだけでなく、キーの作成時に発生したエラーも返すことができます。 +複数のアカウントとキー タイプに対して、1 回のミューテーションで複数のキー (ユーザー キーまたはインジェスト キー) を作成します。 ミューテーションは、正常に作成されたキーだけでなく、キーの作成中に発生したエラーも返す可能性があることに注意してください。 キーの作成例 diff --git a/src/i18n/content/jp/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx b/src/i18n/content/jp/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx index eaea58d8839..25cf535e124 100644 --- a/src/i18n/content/jp/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx +++ b/src/i18n/content/jp/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx @@ -40,7 +40,7 @@ translationType: machine 2. ブラウザ アプリを選択します。 3. 左側のメニューで、 **Application settings**をクリックします。 4. アプリケーション設定ページで、 **Pro**または**Pro + SPA** Browser Agent が選択されていることを確認します。 セッションリプレイはLite Browserエージェントではご利用いただけません。 - 5. **Session traces****Session replay**設定をオンに切り替えます。 + 5. **Session tracking****Session replay**設定をオンに切り替えます。 diff --git a/src/i18n/content/jp/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx b/src/i18n/content/jp/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx index d66298d56be..532429cb7a1 100644 --- a/src/i18n/content/jp/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx +++ b/src/i18n/content/jp/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx @@ -28,6 +28,7 @@ newrelic.recordReplay() `newrelic.recordReplay()` 手動で強制的にリプレイの録画を開始するために呼び出すことができます。 以下の要件を満たす必要があります: * アカウントにはリプレイを録画する権利があります +* セッショントラッキングが有効になっています * セッショントレースが有効になっています * browser変異オブザーバーグローバルは、現在使用されているbrowserのバージョンに存在します。 * セッションリプレイ 機能 は正常にインポートされているか、 `autoStart: false`に設定されており、すでに「開始」されています。 diff --git a/src/i18n/content/jp/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx b/src/i18n/content/jp/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx index 4d10fc078eb..41af09b9c0e 100644 --- a/src/i18n/content/jp/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx +++ b/src/i18n/content/jp/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx @@ -137,6 +137,20 @@ AWSでホストされているインフラストラクチャは、New Relic と[ * `server.address`: この属性は、Amazon MQ エンティティの対応するエンドポイント タグと一致する必要があります。 * `span.kind`: この関係は、 `span.kind`が`producer`または`consumer`であるスパン データから生成されます。 +#### Amazon マネージド Kafka (MSK) + +[MSK](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration) 用の AmazonCloudWatch Metric Streams 統合は、 で MSK エンティティを生成します。New Relicこれらのエンティティには次のエンティティ タグが含まれます。 + +* `aws.clusterName` または `aws.kafka.ClusterName` +* `aws.awsRegion` または `aws.region` +* `aws.topic` または `aws.kafka.Topic` + +サービスで MSK のOpenTelemetryを使用する場合、生成される関係には次のプロパティが必要です。 + +* `messaging.destination.name`: サービスがメッセージを生成または消費する MSK トピック。 +* `server.address`: この属性は、MSK エンティティの対応するエンドポイント タグと一致する必要があります。 +* `span.kind`: この関係は、 `span.kind`が`producer`または`consumer`であるスパン データから生成されます。 + ## エンティティにカスタムタグを追加する [#tags] タグを使用して、UI 内のエンティティを整理およびフィルターできます。[タグは](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/)、監視対象のアプリやホストなどのさまざまなデータ セットに追加されるキーと値のペア (例: `team: operations`です。アカウント ID など、特定の重要な属性はタグとして自動的に使用可能になります。独自のカスタム タグを[UI に直接](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-tags)追加するか、以下のいずれかの方法を使用して追加することもできます。 diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx index 6b451752cb4..e8dbfd2f1b2 100644 --- a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx @@ -25,7 +25,7 @@ translationType: machine ## サポートされているランタイム -ホスティング環境に基づいて、次のランタイムがサポートされます。 +ホスティング環境に基づいて、次のAzure Functions ランタイム スタックがサポートされています。 @@ -34,15 +34,15 @@ translationType: machine - * .NET: `dotnet6.0` 、 `dotnet8.0` + * .NET: バージョン 6 - 9、分離モデルのみ - * .NET: `dotnet6.0` 、 `dotnet8.0` + * .NET: バージョン 6 - 9 - * .NET: `dotnet6.0` 、 `dotnet8.0` + * .NET: バージョン 6 - 9、分離モデルのみ diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx index bb356023a0a..47edd6d5927 100644 --- a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx @@ -3,7 +3,7 @@ title: Azure Functions の環境変数 監視 metaDescription: Configure environment variables to monitor your Azure functions with New Relic freshnessValidatedDate: never tags: - - AWS Lambda + - Azure Functions - Environment Variables - Configuration - Secrets Management @@ -80,7 +80,7 @@ translationType: machine - `CORECLR_NEWRELIC_HOME` + `CORECLR_NEW_RELIC_HOME` @@ -110,49 +110,13 @@ translationType: machine - - - `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` - - - - `true` - - - - `true` - - , - - `false` - - - - ディストリビューティッド(分散)トレースを有効にしてトレースを生成します。 - - - - - - `NEW_RELIC_APP_NAME` - - - - - - - - アプリケーション名を設定します。ただし、New Relic UI では使用されません。 - - - `NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED` - `1` + `0` @@ -166,9 +130,9 @@ translationType: machine 値を - `0` + `1` - に設定して、Azure Functions モードを無効にします。 + に設定して、Azure Functions モードを有効にします。 diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx index db2c3140165..1be46e8f2d4 100644 --- a/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx @@ -37,12 +37,16 @@ Azure Functions が[互換性と要件を](/docs/serverless-function-monitoring/ - Kudu サービス ページに移動し、次の操作を実行します。 + New Relic Azure Websites Extension (v1.6.0 以降) は、 Windows Azure Functions のインストゥルメンテーションを自動的に構成します。 + + New Relic Azure Websites 拡張機能をインストールするには、次の手順に従います。 1. Azure ポータルで、関数アプリに移動します。 - 2. **Development tools**セクションをクリックし、 **Advanced Tools > Go**を選択します。 - 3. 利用可能なサイト拡張機能を表示するには、 **Site extensions**タブをクリックします。 - 4. 拡張機能をインストールするには、 `New Relic .NET Agent`を検索し、 **+**をクリックします。 + 2. **Development tools**セクションをクリックし、 **Extensions**を選択します。 + 3. **+ Add**をクリックします。 + 4. **Search for an extension to install**選択し、 **Filter items**ボックスに`New Relic .NET Agent`と入力します。 + 5. **New Relic .NET Agent(vx.x.x) - New Relic**拡張機能を選択し、 **Add**クリックします。 + 6. インストールが完了すると、インストールされた拡張機能のリストに拡張機能が表示されます。 正しいインストレーションを確認するには、「参照」列の下のリンクをクリックしてインストレーション ログを表示します。 @@ -90,7 +94,7 @@ Azure Functions が[互換性と要件を](/docs/serverless-function-monitoring/ "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/home/site/wwwroot/newrelic", "slotSetting": false }, @@ -110,70 +114,35 @@ Azure Functions が[互換性と要件を](/docs/serverless-function-monitoring/ "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } ``` ```json - { - "name": "CORECLR_PROFILER_PATH", - "value": "C:\\home\\NewRelicAgent\\Core\\NewRelic.Profiler.dll", - "slotSetting": false - }, - { - "name": "CORECLR_NEWRELIC_HOME", - "value": "C:\\home\\NewRelicAgent\\Core", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", - "value": "C:\\home\\LogFiles\\NewRelic", - "slotSetting": false - }, - { - "name": "NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_ENABLE_PROFILING", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_PROFILER", - "value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}", - "slotSetting": false - }, { "name": "NEW_RELIC_LICENSE_KEY", "value": "YOUR_NEW_RELIC_LICENSE_KEY", "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", - "slotSetting": false - }, + } + ``` + + 必要に応じて、次の環境変数を追加して、インストールする .NET エージェントのバージョンを指定できます。 + + ```json { - "name": "NEW_RELIC_APP_NAME", - "value": "YOUR_APP_NAME", + "name": "NEW_RELIC_AGENT_VERSION_OVERRIDE", + "value": "10.35.0", "slotSetting": false - }, + } ``` @@ -185,7 +154,7 @@ Azure Functions が[互換性と要件を](/docs/serverless-function-monitoring/ "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/usr/local/newrelic-dotnet-agent", "slotSetting": false }, @@ -205,20 +174,17 @@ Azure Functions が[互換性と要件を](/docs/serverless-function-monitoring/ "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } + + ``` diff --git a/src/i18n/content/jp/docs/service-level-management/create-slm.mdx b/src/i18n/content/jp/docs/service-level-management/create-slm.mdx index 09bf1bdb135..d445ea4c104 100644 --- a/src/i18n/content/jp/docs/service-level-management/create-slm.mdx +++ b/src/i18n/content/jp/docs/service-level-management/create-slm.mdx @@ -588,6 +588,10 @@ SLI の作成後、すぐにデータが表示されるわけではありませ ``` wildcards + + + SLI 文章を書くときに、チーム メンバーがその文章をよりよく理解できるように[コメント](https://docs.newrelic.com/docs/nrql/nrql-syntax-clauses-functions/#comments)を追加できます。 + diff --git a/src/i18n/content/kr/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx b/src/i18n/content/kr/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx index 5c6e88f328c..8f766ce2251 100644 --- a/src/i18n/content/kr/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx +++ b/src/i18n/content/kr/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx @@ -15,6 +15,8 @@ New Relic에 가입하면 단일 계정을 포함하는 조직이 생성됩니 계정에는 여러 데이터 보고 소스가 있을 수 있습니다. 예를 들어 단일 계정에는 인프라 에이전트, 에이전트 및 기타 통합의 데이터 보고가 있을 수 있습니다. 뉴렐릭에 보고된 모든 데이터에는 해당 데이터가 어느 계정에 속해 있는지 알려주는 [계정 ID가](/docs/accounts/accounts-billing/account-structure/account-id) 필요합니다. 해당 ID는 API 호출과 같은 일부 계정별 작업에도 사용됩니다. +조직 헤더 아래 계정 목록에서 특별 계정을 발견할 수 있습니다. 이 계정은 조직 범위 기능에 대한 데이터를 저장하며, 조직 범위 기능의 데이터를 사용하는 모든 쿼리에 이 계정을 사용하게 됩니다. 이 계정에서는 취소하거나 데이터를 수집할 수 없습니다. 이 정보는 NerdGraph에 쿼리를 보낼 때 계정 목록에도 표시됩니다. ` Storage Account` 으로 반환됩니다. + [사용자 액세스를 설정할](#account-access)때 사용자에게 특정 계정에 대한 액세스 권한을 부여합니다. ## 교차 계정 액세스 [#cross-account-access] diff --git a/src/i18n/content/kr/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx b/src/i18n/content/kr/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx index 6ba63e0d4fb..db2a424ab53 100644 --- a/src/i18n/content/kr/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx +++ b/src/i18n/content/kr/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx @@ -23,35 +23,15 @@ NerdGraph를 통해 사용자 및 그룹을 관리하기 위한 몇 가지 요 * 귀하는 [최신 사용자 모델](/docs/accounts/original-accounts-billing/original-users-roles/overview-user-models#determine-user-model) 의 사용자여야 합니다.기타 권한 관련 요구 사항: * 필수 [사용자 유형](/docs/accounts/accounts-billing/new-relic-one-user-management/user-type) : 코어 사용자 또는 전체 플랫폼 사용자 - - * 필수 [관리 설정](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings): - - - **Organization settings** - - - 또는 - - - **Authentication domain settings** - + * 필수 [관리 설정](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings): **Organization settings** 또는 **Authentication domain settings** ## 시작하기 전에 [#concepts] NerdGraph를 사용하여 사용자를 관리하기 전에: * [사용자 관리 개념](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#understand-concepts) 을 충분히 이해하고 있는지 확인합니다. - -* 아직 살펴보지 않았다면 - - - **Access management** - - - UI를 살펴보고 그룹 및 사용자 액세스 작동 방식을 더 잘 이해하고 이미 존재하는 그룹을 이해하는 것이 좋습니다. 이를 수행하기 전에 만들어야 하는 그룹 액세스에 대한 계획을 세우는 것이 좋습니다. 다음은 [계획 스프레드시트의 예입니다](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing). - +* 아직 살펴보지 않았다면 **Access management** UI를 살펴보고 그룹 및 사용자 액세스 작동 방식을 더 잘 이해하고 이미 존재하는 그룹을 이해하는 것이 좋습니다. 이를 수행하기 전에 만들어야 하는 그룹 액세스에 대한 계획을 세우는 것이 좋습니다. 다음은 [계획 스프레드시트의 예입니다](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing). * [NerdGraph 탐색기](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer) 에는 이러한 요청에 사용되는 필드를 정의하는 기본 제공 문서가 있습니다. - * [New Relic 계정의 변경 사항을 추적](/docs/data-apis/understand-data/event-data/query-account-audit-logs-nrauditevent) 할 수 있습니다. ## 그룹 생성을 위한 제안된 워크플로 [#flow] @@ -59,15 +39,7 @@ NerdGraph를 사용하여 사용자를 관리하기 전에: 이러한 쿼리와 변형을 다양한 방법과 다양한 순서로 사용할 수 있지만 다음은 그룹 설정을 위한 한 가지 일반적인 워크플로입니다. 1. [사용자 정보](#query-users) 및 [사용 가능한 역할](#query-roles) 쿼리: 이것은 New Relic에 있는 사용자와 사용 가능한 역할을 이해하는 데 도움이 되는 첫 번째 장소가 될 수 있습니다. 이제 막 시작하는 경우 아직 사용자를 추가하지 않았을 수 있으며 표준 역할만 있을 수 있습니다. - -2. [선택사항: 새 그룹 만들기](#create-group): - - - **Not available if using SCIM provisioning.** - - - 기존 그룹을 사용하거나 새 그룹을 만들 수 있습니다. 그룹을 생성한 후에는 역할 및 계정에 대한 액세스 권한을 부여해야 합니다. 그룹 자체는 해당 그룹의 사용자에게 액세스 권한을 부여하지 않습니다. 사용자가 실제로 뉴렐릭에 액세스할 수 있는 역할과 계정이 할당된 경우에만 가능합니다. - +2. [선택사항: 새 그룹 만들기](#create-group): **Not available if using SCIM provisioning.** 기존 그룹을 사용하거나 새 그룹을 만들 수 있습니다. 그룹을 생성한 후에는 역할 및 계정에 대한 액세스 권한을 부여해야 합니다. 그룹 자체는 해당 그룹의 사용자에게 액세스 권한을 부여하지 않습니다. 사용자가 실제로 뉴렐릭에 액세스할 수 있는 역할과 계정이 할당된 경우에만 가능합니다. 3. [그룹에 대한 액세스 권한 부여](#grant-access) : 그룹에 역할 및 계정에 대한 액세스 권한을 할당합니다. 작업이 완료되면 생성한 그룹에 이미 사용자가 있고 해당 그룹에 하나 이상의 역할과 계정에 대한 액세스 권한이 있는 경우 몇 분 이내에 액세스 권한이 있어야 합니다( [EU 지역 New Relic 계정](/docs/using-new-relic/welcome-new-relic/get-started/our-eu-us-region-data-centers) 의 경우 이 작업을 수행할 수 있음). 최대 20분 정도 소요). 사용자가 아직 해당 그룹에 없는 경우(새 그룹을 만든 경우 해당) [해당 그룹에 사용자를 추가](/docs/accounts/accounts-billing/new-relic-one-user-management/account-user-mgmt-tutorial#add-users) 할 수 있습니다. @@ -304,6 +276,143 @@ NerdGraph를 사용하여 사용자를 관리하기 전에: }, ``` +## 역할 생성 [#create-role] + +[역할을](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles) 만드는 예는 다음과 같습니다. + +```graphql +mutation { + customRoleCreate( + container: { + id: "$YOUR_ORGANIZATION_ID" + type: "ORGANIZATION" + } + name: "MY CUSTOM ROLE" + permissionIds: [1,2,3] + scope: "ACCOUNT" + ) { + id + } +} +``` + +### 매개변수 + +* `container`: + + * `id`: (문자열) 조직의 고유 식별자입니다. 조직을 실제 조직 ID로 바꾸세요. + * `type`: (문자열) 컨테이너의 유형입니다. 현재 지원되는 유형은 &quot;조직&quot;뿐입니다. + * `name`: (문자열) 사용자 정의 역할에 할당된 이름입니다. 예: &quot;내 사용자 지정 역할&quot;. + +* `permissionIds`: (어레이) 사용자 지정 역할에 할당된 기능을 나타내는 권한 ID 목록입니다. 이러한 ID가 시스템의 유효한 권한과 일치하는지 확인하세요. + +* `scope`: (문자열) 역할의 권한이 적용되는 수준입니다. 이 인스턴스에서 범위는 &quot;ACCOUNT&quot;입니다. + +### 응답 + +* `id`: 새로 생성된 사용자 정의 역할의 고유 ID를 반환합니다. + + + * 변형을 실행하기 전에 `$YOUR_ORGANIZATION_ID` 특정 조직 ID로 바꾸세요. + * 제공된 `permissionIds` 이 유효하고 부여하려는 권한과 일치하는지 확인하세요. + + +사용자 지정 역할을 만들기 전에 해당 역할에 할당할 권한을 식별해야 합니다. + +다음 쿼리를 사용하여 권한 목록을 검색하세요. + +```graphql +mutation { + customerAdministration { + permissions { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +이는 계정 범위의 권한을 반환합니다. 조직에 범위가 지정된 권한의 경우 대신 다음 쿼리를 실행하세요. + +```graphql +{ + customerAdministration { + permissions(filter: {scope: {eq: "organization"}}) { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +다음 필드를 참고하십시오. + +* `items`: 각각 다음 속성을 포함하는 권한 개체의 제외: + + * `category`: (문자열) 권한이 속한 범주 또는 그룹입니다. + * `feature`: (문자열) 권한이 연결된 특정 기능입니다. + * `id`: (문자열) 각 권한에 대한 고유 식별자입니다. + * `product`: (문자열) 권한이 적용되는 제품입니다. + * `subsetIds`: (어레이) 하위 집합이나 관련 권한을 나타내는 ID 목록입니다. + +새 역할에 할당하려는 각 권한에 대한 고유 식별자를 얻은 후 해당 역할을 만듭니다. + +## 역할 업데이트 [#update-role] + +다음은 [역할을](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles) 업데이트하는 예입니다. + +```graphql +mutation { + customRoleUpdate( + id: $ROLE_ID + name: "MY NEW CUSTOM ROLE NAME" + permissionIds: [4,5,6] + ) { + id + } +} +``` + +### 매개변수 + +* `id`: 수정하려는 사용자 정의 역할의 고유 식별자입니다. `$ROLE_ID` 역할의 실제 ID로 바꾸세요. +* `name`: 사용자 정의 역할에 할당하려는 새 이름입니다. 이 예에서는 `MY NEW CUSTOM ROLE NAME` 입니다. +* `permissionIds`: 이 역할에 할당하려는 권한 ID의 식별자입니다. 이러한 ID가 유효하고 구현하려는 권한과 일치하는지 확인하세요. + +## 역할 삭제 [#delete-role] + +[역할을](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles) 삭제하는 예는 다음과 같습니다. + +```graphql +mutation { + customRoleDelete( + id: $ROLE_ID + ) { + id + } +} +``` + +### 매개변수 + +* `id`: 삭제하려는 역할의 고유 식별자입니다. `$ROLE_ID` 제거하려는 역할의 실제 ID로 바꾸세요. + +### 응답 + +* `id`: 삭제된 역할의 ID를 반환하여 뮤테이션이 성공적으로 실행되었음을 확인합니다. + ## 그룹 만들기 [#create-group] 다음은 [그룹](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#groups) 을 만드는 예입니다. @@ -645,71 +754,23 @@ mutation { 기본 [역할](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#standard-roles) 및 [관리 설정](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#admin-settings) 에 대한 몇 가지 ID는 다음과 같습니다. -* - **All product admin** - - - : `1254`. - -* - **Standard user** - - - : `1253`. - -* - **Read only** - - - : `1252`. +* **All product admin**: `1254`. -* - **Organization manager setting** - +* **Standard user**: `1253`. - `1994` +* **Read only**: `1252`. - * - **Read only** - +* **Organization manager setting** `1994` + * **Read only**: `1995` - : `1995` +* **Authentication domain setting**: -* - **Authentication domain setting** - + * **Manage**: `1996` + * **Read only**: `1997` + * **Add users**: `14517` + * **Read users**: `14603` - : - - * - **Manage** - - - : `1996` - - * - **Read only** - - - : `1997` - - * - **Add users** - - - : `14517` - - * - **Read users** - - - : `14603` - -* - **Group admin** - - - : `14516` +* **Group admin**: `14516` 다음은 사용자 정의 역할의 ID를 찾는 쿼리입니다. @@ -777,4 +838,4 @@ mutation { } } } -``` +``` \ No newline at end of file diff --git a/src/i18n/content/kr/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx b/src/i18n/content/kr/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx index 2e097e19aa6..7f3d3cce305 100644 --- a/src/i18n/content/kr/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx +++ b/src/i18n/content/kr/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx @@ -30,27 +30,26 @@ translationType: machine * 모든 변형(생성, 업데이트 및 삭제)은 감사 목적으로 쿼리할 수 있는 `NrAuditEvent` 을 생성합니다. 자세한 내용은 [감사 이벤트](/docs/insights/use-insights-ui/manage-account-data/query-account-audit-logs-nrauditevent) 를 참조하십시오. -* 라이센스 키 관련: +* 수집 키에 관하여: - * 관측 키는 NerdGraph에서 **ingest keys** 으로 분류됩니다. 이는 주요 용도가 데이터 수집을 허용하는 것이기 때문입니다. - * 키 교체를 허용하는 각 라이센스 키 유형에 대해 최대 1,000개의 키를 생성할 수 있습니다. - * 원본 라이선스 키는 관리하거나 삭제할 수 없습니다. 추가 라이선스 키를 생성하고 생성한 키만 관리할 수 있습니다. + * 라이센스 및 브라우저 키는 NerdGraph에서 **ingest keys** 으로 분류됩니다. 이는 주 용도가 데이터 수집이기 때문입니다. + * 각 수집 키 유형별로 최대 1,000개의 키를 만들 수 있으며, 이를 통해 키 순환이 가능합니다. + * 원래 계정 수집 키는 관리하거나 삭제할 수 없지만 뉴렐릭 지원팀에 문의하여 순환할 수는 있습니다. 추가 수집 키나 사용자 키만 생성할 수 있으며, 본인이 생성한 키는 관리할 수 있습니다. ## 예제를 사용하기 전에 [#before-examples] 다음 예제 쿼리를 사용하기 전에 주의해야 할 사항: -* 아래 예에서는 라이센스 키(수집 키라고도 함)를 사용하지만 유사한 방식으로 [사용자 키](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key) 를 쿼리하여 수집 키별 필드를 사용자 키별 필드로 바꿀 수 있습니다. * 데이터 구조를 이해하려면 [GraphiQL 탐색기](https://api.newrelic.com/graphiql) 를 사용하여 쿼리를 실험하는 것이 좋습니다. * [UI를 사용하여 사용자 키를 생성, 확인 및 삭제할 수도 있습니다.](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) ## 키 생성 - 해당 인터페이스 상단에서 [NerdGraph GraphiQL 탐색기](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer) 를 사용하여 사용자 키를 찾고 생성할 수 있습니다. + 해당 인터페이스 상단의 [NerdGraph GraphQL 탐색기를](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer) 사용하여 사용자 키를 찾아 생성할 수 있습니다. -여러 계정 및 키 유형에 대해 단일 변형으로 여러 키(사용자 키 또는 라이선스 키)를 생성합니다. 돌연변이는 성공적으로 생성된 키와 키를 생성하는 동안 발생한 오류를 반환할 수 있습니다. +단일 뮤테이션에서 여러 계정과 키 유형에 대해 여러 키(사용자 키 또는 수집 키)를 생성합니다. 변형은 성공적으로 생성된 키뿐만 아니라 키 생성을 시도하는 동안 발생한 오류도 반환할 수 있습니다. 키 생성 예: diff --git a/src/i18n/content/kr/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx b/src/i18n/content/kr/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx index 5a987d76671..7610dbb177e 100644 --- a/src/i18n/content/kr/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx +++ b/src/i18n/content/kr/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx @@ -255,19 +255,19 @@ Node.js 에이전트는 [npm(Node Package Manager) 저장소](https://npmjs.org/ | --------------------------------- | ---------- | -------- | -------------------------------------- | | `@apollo/gateway` | 2.3.0 | 2.9.3 | `@newrelic/apollo-server-plugin@1.0.0` | | `@apollo/server` | 4.0.0 | 4.11.3 | `@newrelic/apollo-server-plugin@2.1.0` | -| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.741.0 | 11.13.0 | -| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/client-sns` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/client-sqs` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.741.0 | 8.7.1 | +| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.744.0 | 11.13.0 | +| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/client-sns` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/client-sqs` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.744.0 | 8.7.1 | | `@aws-sdk/smithy-client` | 3.47.0 | 3.374.0 | 8.7.1 | | `@elastic/elasticsearch` | 7.16.0 | 8.17.0 | 11.9.0 | | `@grpc/grpc-js` | 1.4.0 | 1.12.6 | 8.17.0 | | `@hapi/hapi` | 20.1.2 | 21.3.12 | 9.0.0 | | `@koa/router` | 11.0.2 | 13.1.0 | 3.2.0 | -| `@langchain/core` | 0.1.17 | 0.3.37 | 11.13.0 | +| `@langchain/core` | 0.1.17 | 0.3.40 | 11.13.0 | | `@nestjs/cli` | 9.0.0 | 11.0.2 | 10.1.0 | -| `@opensearch-project/opensearch` | 2.1.0 | 3.2.0 | 12.10.0 | +| `@opensearch-project/opensearch` | 2.1.0 | 3.3.0 | 12.10.0 | | `@prisma/client` | 5.0.0 | 6.3.1 | 11.0.0 | | `@smithy/smithy-client` | 2.0.0 | 4.1.3 | 11.0.0 | | `amqplib` | 0.5.0 | 0.10.5 | 2.0.0 | @@ -281,19 +281,19 @@ Node.js 에이전트는 [npm(Node Package Manager) 저장소](https://npmjs.org/ | `express` | 4.6.0 | 4.21.2 | 2.6.0 | | `fastify` | 2.0.0 | 5.2.1 | 8.5.0 | | `generic-pool` | 3.0.0 | 3.9.0 | 0.9.0 | -| `ioredis` | 4.0.0 | 5.4.2 | 1.26.2 | +| `ioredis` | 4.0.0 | 5.5.0 | 1.26.2 | | `kafkajs` | 2.0.0 | 2.2.4 | 11.19.0 | -| `koa` | 2.0.0 | 2.15.3 | 3.2.0 | +| `koa` | 2.0.0 | 2.15.4 | 3.2.0 | | `koa-route` | 3.0.0 | 4.0.1 | 3.2.0 | | `koa-router` | 11.0.2 | 13.0.1 | 3.2.0 | | `memcached` | 2.2.0 | 2.2.2 | 1.26.2 | | `mongodb` | 4.1.4 | 6.13.0 | 1.32.0 | | `mysql` | 2.2.0 | 2.18.1 | 1.32.0 | | `mysql2` | 2.0.0 | 3.12.0 | 1.32.0 | -| `next` | 13.4.19 | 15.1.6 | 12.0.0 | -| `openai` | 4.0.0 | 4.82.0 | 11.13.0 | -| `pg` | 8.2.0 | 8.13.1 | 9.0.0 | -| `pg-native` | 3.0.0 | 3.2.0 | 9.0.0 | +| `next` | 13.4.19 | 15.1.7 | 12.0.0 | +| `openai` | 4.0.0 | 4.84.0 | 11.13.0 | +| `pg` | 8.2.0 | 8.13.2 | 9.0.0 | +| `pg-native` | 3.0.0 | 3.2.1 | 9.0.0 | | `pino` | 7.0.0 | 9.6.0 | 8.11.0 | | `q` | 1.3.0 | 1.5.1 | 1.26.2 | | `redis` | 3.1.0 | 4.7.0 | 1.31.0 | diff --git a/src/i18n/content/kr/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx b/src/i18n/content/kr/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx index 292d8860e17..7e93247cc32 100644 --- a/src/i18n/content/kr/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx +++ b/src/i18n/content/kr/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx @@ -40,7 +40,7 @@ translationType: machine 2. 브라우저 앱을 선택하세요. 3. 왼쪽 메뉴에서 **Application settings** 클릭합니다. 4. 애플리케이션 설정 페이지에서 **Pro** 또는 **Pro + SPA** 브라우저 에이전트가 선택되어 있는지 확인하세요. 세션 리플레이는 Lite 브라우저 에이전트에 사용할 수 없습니다. - 5. **Session traces****Session replay** 설정을 켜기로 전환합니다. + 5. **Session tracking****Session replay** 설정을 켜기로 전환합니다. diff --git a/src/i18n/content/kr/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx b/src/i18n/content/kr/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx index 357293d74fb..6cf73780c26 100644 --- a/src/i18n/content/kr/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx +++ b/src/i18n/content/kr/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx @@ -28,6 +28,7 @@ newrelic.recordReplay() `newrelic.recordReplay()` 재생이 녹음을 시작하도록 수동으로 호출할 수 있습니다. 다음 요구 사항을 충족해야 합니다. * 계정은 리플레이를 녹화할 수 있는 권한이 있습니다 +* 세션 추적이 활성화되었습니다 * 세션 트레이스가 활성화되었습니다. * 사용 중인 브라우저의 현재 버전에 브라우저 돌연변이 관찰자 글로벌이 있습니다. * 세션 리플레이 기능은 일반적으로 가져오거나 `autoStart: false` 으로 설정되어 이미 &quot;시작&quot;되었습니다. diff --git a/src/i18n/content/kr/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx b/src/i18n/content/kr/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx index b2ca5788e0f..e0239c35c7b 100644 --- a/src/i18n/content/kr/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx +++ b/src/i18n/content/kr/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx @@ -137,6 +137,20 @@ CloudWatch Metric Streams [Elasticache](https://docs.newrelic.com/docs/infrastru * `server.address`: 이 속성은 Amazon MQ의 해당 포인트 포인트 태그와 일치해야 합니다. * `span.kind`: 이 관계는 `span.kind` 이 `producer` 또는 `consumer` 인 범위 데이터에서 생성됩니다. +#### 아마존 관리형 카프카(MSK) + +CloudWatch Metric Streams [MSK](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration) 용 Amazon 통합은 뉴렐릭에서 MSK 부분을 생성합니다. 이 파티션 태그는 다음과 같습니다: + +* `aws.clusterName` 또는 `aws.kafka.ClusterName` +* `aws.awsRegion` 또는 `aws.region` +* `aws.topic` 또는 `aws.kafka.Topic` + +서비스에서 MSK용 OpenTelemetry 측정, 계측을 사용하는 경우 관계를 생성하려면 다음 속성이 있어야 합니다. + +* `messaging.destination.name`: 서비스가 메시지를 생성하거나 메시지를 사용하는 MSK 토픽입니다. +* `server.address`: 이 속성은 MSK의 부품포인트 태그와 일치해야 합니다. +* `span.kind`: 이 관계는 `span.kind` 이 `producer` 또는 `consumer` 인 범위 데이터에서 생성됩니다. + ## 엔터티에 사용자 정의 태그 추가 [#tags] 태그를 사용하여 UI에서 엔터티를 구성하고 필터링할 수 있습니다. [태그는](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/) 모니터링되는 앱 및 호스트와 같은 다양한 데이터 세트에 추가되는 키-값 쌍(예 `team: operations`)입니다. 특정 중요한 속성은 계정 ID와 같은 태그로 자동으로 제공됩니다. [UI에서 직접](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-tags) 또는 아래 방법 중 하나를 사용하여 나만의 맞춤 태그를 추가할 수도 있습니다. diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx index a8d3c496159..bf65cb35a26 100644 --- a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx @@ -25,7 +25,7 @@ translationType: machine ## 지원되는 런타임 -호스팅 환경에 따라 다음과 같은 런타임이 지원됩니다. +호스팅 환경에 따라 다음과 같은 Azure Functions 런타임 솔루션이 지원됩니다. @@ -34,15 +34,15 @@ translationType: machine - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: 버전 6 - 9, 격리된 모델만 - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: 버전 6 - 9 - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: 버전 6 - 9, 격리된 모델만 diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx index 07475fe703f..fad4e9028eb 100644 --- a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx @@ -3,7 +3,7 @@ title: Azure Functions 모니터링을 위한 환경 변수 metaDescription: Configure environment variables to monitor your Azure functions with New Relic freshnessValidatedDate: never tags: - - AWS Lambda + - Azure Functions - Environment Variables - Configuration - Secrets Management @@ -80,7 +80,7 @@ translationType: machine - `CORECLR_NEWRELIC_HOME` + `CORECLR_NEW_RELIC_HOME` @@ -110,49 +110,13 @@ translationType: machine - - - `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` - - - - `true` - - - - `true` - - , - - `false` - - - - 배신 추적을 활성화하여 추적을 생성합니다. - - - - - - `NEW_RELIC_APP_NAME` - - - - - - - - 뉴렐릭 UI 에서는 사용되지 않는 기능 이름을 설정합니다. - - - `NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED` - `1` + `0` @@ -166,9 +130,9 @@ translationType: machine 값을 - `0` + `1` - 로 설정하여 Azure Functions 모드를 비활성화합니다. + 로 설정하여 Azure Functions 모드를 활성화합니다. diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx index 42e283f7872..090a2dbbd0c 100644 --- a/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx @@ -37,12 +37,16 @@ Azure Functions가 [호환성 및 요구 사항을](/docs/serverless-function-mo - Kudu 서비스 페이지로 이동하여 다음을 수행하세요. + 뉴렐릭 Azure Websites Extension(v1.6.0 이상)은 Windows Azure Functions에 대한 측정, 계측을 자동으로 구성합니다. + + 뉴럴릭 Azure Websites 확장 프로그램을 설치하려면 다음 단계를 따르세요. 1. Azure Portal에서 함수 앱으로 이동합니다. - 2. **Development tools** 섹션을 클릭하고 **Advanced Tools > Go** 선택하세요. - 3. 사용 가능한 사이트 확장 프로그램을 보려면 **Site extensions** 탭을 클릭하세요. - 4. 확장 프로그램을 설치하려면 `New Relic .NET Agent` 을 검색하고 **+** 클릭하세요. + 2. **Development tools** 섹션을 클릭하고 **Extensions** 선택하세요. + 3. **+ Add** 을(를) 클릭합니다. + 4. **Search for an extension to install** 선택하고 **Filter items** 상자에 `New Relic .NET Agent` 입력합니다. + 5. **New Relic .NET Agent(vx.x.x) - New Relic** 확장자를 선택하고 **Add** 클릭하세요. + 6. 설치가 완료되면 설치된 확장 프로그램 목록에 해당 확장 프로그램이 나타납니다. 설치가 올바르게 되었는지 확인하려면 "찾아보기" 열 아래의 링크를 클릭하여 설치 로그를 확인하세요. @@ -90,7 +94,7 @@ Azure Functions가 [호환성 및 요구 사항을](/docs/serverless-function-mo "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/home/site/wwwroot/newrelic", "slotSetting": false }, @@ -110,70 +114,35 @@ Azure Functions가 [호환성 및 요구 사항을](/docs/serverless-function-mo "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } ``` ```json - { - "name": "CORECLR_PROFILER_PATH", - "value": "C:\\home\\NewRelicAgent\\Core\\NewRelic.Profiler.dll", - "slotSetting": false - }, - { - "name": "CORECLR_NEWRELIC_HOME", - "value": "C:\\home\\NewRelicAgent\\Core", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", - "value": "C:\\home\\LogFiles\\NewRelic", - "slotSetting": false - }, - { - "name": "NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_ENABLE_PROFILING", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_PROFILER", - "value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}", - "slotSetting": false - }, { "name": "NEW_RELIC_LICENSE_KEY", "value": "YOUR_NEW_RELIC_LICENSE_KEY", "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", - "slotSetting": false - }, + } + ``` + + 선택적으로 다음 환경 변수를 추가하여 설치하려는 .NET 에이전트의 버전을 지정할 수 있습니다. + + ```json { - "name": "NEW_RELIC_APP_NAME", - "value": "YOUR_APP_NAME", + "name": "NEW_RELIC_AGENT_VERSION_OVERRIDE", + "value": "10.35.0", "slotSetting": false - }, + } ``` @@ -185,7 +154,7 @@ Azure Functions가 [호환성 및 요구 사항을](/docs/serverless-function-mo "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/usr/local/newrelic-dotnet-agent", "slotSetting": false }, @@ -205,20 +174,17 @@ Azure Functions가 [호환성 및 요구 사항을](/docs/serverless-function-mo "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } + + ``` diff --git a/src/i18n/content/kr/docs/service-level-management/create-slm.mdx b/src/i18n/content/kr/docs/service-level-management/create-slm.mdx index e486b114ca5..09762baf265 100644 --- a/src/i18n/content/kr/docs/service-level-management/create-slm.mdx +++ b/src/i18n/content/kr/docs/service-level-management/create-slm.mdx @@ -588,6 +588,10 @@ SLI를 생성한 후 데이터가 바로 표시되지 않습니다. 첫 번째 S ``` wildcards + + + SLI 쿼리를 작성할 때 [주석을](https://docs.newrelic.com/docs/nrql/nrql-syntax-clauses-functions/#comments) 추가하면 팀원들이 쿼리를 더 잘 이해하는 데 도움이 됩니다. + diff --git a/src/i18n/content/pt/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx b/src/i18n/content/pt/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx index 54df4aa0683..9b76b50e3ed 100644 --- a/src/i18n/content/pt/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx +++ b/src/i18n/content/pt/docs/accounts/accounts-billing/account-structure/new-relic-account-structure.mdx @@ -15,6 +15,8 @@ Quando você se inscreve no New Relic, uma organização contendo uma única con Uma conta pode ter muitas fontes de relatório de dados. Por exemplo, uma única conta poderia ter relatório de dados do nosso agente de infraestrutura, um agente e outras integrações. Todos os dados relatados à New Relic requerem um [ID de conta](/docs/accounts/accounts-billing/account-structure/account-id), que informa à New Relic a qual conta os dados pertencem. Esse ID também é usado para algumas tarefas específicas da conta, como fazer chamada de API. +Você pode notar uma conta especial na sua lista de contas sob o cabeçalho organização . Esta conta armazena dados do recurso no âmbito da organização, e você usará esta conta para qualquer consulta que utilize dados do recurso no âmbito da organização. Você não pode cancelar ou ingerir dados nesta conta. Isso também estará na sua lista de contas ao consultar o NerdGraph. Será retornado como ` Storage Account`. + Ao [configurar o acesso de usuário](#account-access), você concede aos usuários acesso a contas específicas. ## Acesso entre contas [#cross-account-access] diff --git a/src/i18n/content/pt/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx b/src/i18n/content/pt/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx index 1c2f2f8bb9b..bf44d13e403 100644 --- a/src/i18n/content/pt/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx +++ b/src/i18n/content/pt/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts.mdx @@ -203,7 +203,7 @@ Para saber como adicionar usuários, atribuí-los a grupos e criar grupos e fun ## Usar a API [#api] -Para saber como gerenciar seus usuários e grupos via API, consulte [nossa documentação do NerdGraph](/docs/apis/nerdgraph/examples/nerdgraph-manage-users). +Para saber como gerenciar seus usuários, grupos e funções via API, consulte [nossa documentação do NerdGraph](/docs/apis/nerdgraph/examples/nerdgraph-manage-users). ## Termos e definições de gerenciamento de usuários [#definitions] diff --git a/src/i18n/content/pt/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx b/src/i18n/content/pt/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx index 3a423eb48a8..bea00f7b9c5 100644 --- a/src/i18n/content/pt/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx +++ b/src/i18n/content/pt/docs/apis/nerdgraph/examples/nerdgraph-manage-groups.mdx @@ -23,35 +23,15 @@ Alguns requisitos para gerenciamento de usuários e grupos via NerdGraph: * Você deve ser um usuário do [nosso modelo de usuário mais recente](/docs/accounts/original-accounts-billing/original-users-roles/overview-user-models#determine-user-model). Outros requisitos relacionados a permissões: * [Tipo de usuário](/docs/accounts/accounts-billing/new-relic-one-user-management/user-type) necessário: usuário principal ou usuário completo da plataforma - - * [Configurações de administração](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings) necessárias: - - - **Organization settings** - - - ou - - - **Authentication domain settings** - + * [Configurações de administração](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#admin-settings) necessárias: **Organization settings** ou **Authentication domain settings** ## Antes que você comece [#concepts] Antes de usar o NerdGraph para gerenciar o usuário: * Certifique-se de ter uma compreensão adequada de nossos [conceitos de gerenciamento de usuários](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts#understand-concepts) - -* Se ainda não o fez, sugerimos que consulte a interface - - - **Access management** - - - para melhorar sua compreensão de como funciona o acesso de grupos e usuários e para entender os grupos que já existem. Antes de fazer isso, recomendamos criar um plano para o acesso ao grupo que você precisa criar: aqui está [um exemplo de planilha de planejamento](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing). - +* Se ainda não o fez, sugerimos que consulte a interface **Access management** para melhorar sua compreensão de como funciona o acesso de grupos e usuários e para entender os grupos que já existem. Antes de fazer isso, recomendamos criar um plano para o acesso ao grupo que você precisa criar: aqui está [um exemplo de planilha de planejamento](https://docs.google.com/spreadsheets/d/1FnguDXRUX9FGY14oV4Gx6O08v4vNC2Pv0GGCsU7Pxuw/edit?usp=sharing). * Observe que o [NerdGraph Explorer](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer) possui documentos integrados que definem os campos usados nessas solicitações. - * Observe que você pode [acompanhar as alterações em sua conta New Relic](/docs/data-apis/understand-data/event-data/query-account-audit-logs-nrauditevent). ## Fluxo de trabalho sugerido para criação de grupos [#flow] @@ -59,15 +39,7 @@ Antes de usar o NerdGraph para gerenciar o usuário: Você pode usar essas consultas e mutações de várias maneiras e em várias ordens, mas aqui está um fluxo de trabalho comum para configurar grupos: 1. [consulte as informações do seu usuário](#query-users) e [as funções disponíveis](#query-roles): este pode ser um primeiro lugar útil para começar a ter certeza de que você entende qual usuário você tem no New Relic e as funções disponíveis. Se você está apenas começando, talvez ainda não tenha adicionado o usuário e talvez tenha apenas nossas funções padrão. - -2. [Opcional: Crie um novo grupo](#create-group): - - - **Not available if using SCIM provisioning.** - - - Você pode usar grupos existentes ou criar um novo grupo. Depois de criar um grupo, você deverá conceder-lhe acesso a funções e contas. Observe que um grupo, por si só, não concede nenhum acesso ao usuário desse grupo: somente quando ele tem uma função e uma conta atribuídas é que o usuário pode realmente acessar o New Relic. - +2. [Opcional: Crie um novo grupo](#create-group): **Not available if using SCIM provisioning.** Você pode usar grupos existentes ou criar um novo grupo. Depois de criar um grupo, você deverá conceder-lhe acesso a funções e contas. Observe que um grupo, por si só, não concede nenhum acesso ao usuário desse grupo: somente quando ele tem uma função e uma conta atribuídas é que o usuário pode realmente acessar o New Relic. 3. [Conceder acesso a um grupo](#grant-access): é isso que atribui aos grupos acesso a funções e contas. Quando terminar, se já houver usuários no grupo que você criou e esse grupo tiver acesso a pelo menos uma função e conta, eles deverão ter acesso em alguns minutos (embora para [contas New Relic da região da UE](/docs/using-new-relic/welcome-new-relic/get-started/our-eu-us-region-data-centers), isso possa levar até 20 minutos ou mais). Se o seu usuário ainda não estiver nesse grupo (o que seria verdade se você acabou de criar um novo grupo), você pode [adicionar o usuário a esse grupo](/docs/accounts/accounts-billing/new-relic-one-user-management/account-user-mgmt-tutorial#add-users). @@ -304,6 +276,143 @@ Aqui está um exemplo de resposta: }, ``` +## Criar uma função [#create-role] + +Aqui está um exemplo de criação de uma [função](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles): + +```graphql +mutation { + customRoleCreate( + container: { + id: "$YOUR_ORGANIZATION_ID" + type: "ORGANIZATION" + } + name: "MY CUSTOM ROLE" + permissionIds: [1,2,3] + scope: "ACCOUNT" + ) { + id + } +} +``` + +### Parâmetro + +* `container`: + + * `id`: (String) O identificador exclusivo da sua organização. Substitua organização pelo seu ID de organização real. + * `type`: (String) O tipo de contêiner. Atualmente, o único tipo suportado é &quot;organização&quot;. + * `name`: (String) O nome atribuído à função personalizada. Exemplo: &quot;MINHA FUNÇÃO PERSONALIZADA&quot;. + +* `permissionIds`: (matriz) Uma lista de IDs de permissão que representam os recursos atribuídos à função personalizada. Certifique-se de que esses IDs correspondem a permissões válidas no seu sistema. + +* `scope`: (String) O nível no qual as permissões da função se aplicam. Nesta instância, o escopo é &quot;CONTA&quot;. + +### Resposta + +* `id`: Retorna o ID único da função personalizada recém-criada. + + + * Substitua `$YOUR_ORGANIZATION_ID` pelo ID específico da sua organização antes de executar a mutação. + * Certifique-se de que os `permissionIds` fornecidos sejam válidos e estejam alinhados com as permissões que você deseja conceder. + + +Antes de criar uma função personalizada, você precisa identificar as permissões que deseja atribuir a ela. + +Use a seguinte consulta para recuperar a lista de permissões: + +```graphql +mutation { + customerAdministration { + permissions { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +Isso retorna permissões no escopo da conta. Para permissões com escopo para uma organização, execute a seguinte consulta: + +```graphql +{ + customerAdministration { + permissions(filter: {scope: {eq: "organization"}}) { + items { + category + feature + id + product + subsetIds + } + nextCursor + } + } +} +``` + +Observe os seguintes campos: + +* `items`: Uma matriz de objetos de permissão, cada um contendo o seguinte atributo: + + * `category`: (String) A categoria ou agrupamento ao qual a permissão pertence. + * `feature`: (String) O recurso específico ao qual a permissão está associada. + * `id`: (String) Um identificador exclusivo para cada permissão. + * `product`: (String) O produto ao qual a permissão se aplica. + * `subsetIds`: (matriz) Uma lista de IDs que representam subconjuntos ou permissões relacionadas. + +Depois de ter o identificador exclusivo para cada permissão que você deseja atribuir à nova função, crie essa função. + +## Atualizar função [#update-role] + +Aqui está um exemplo de atualização de uma [função](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles). + +```graphql +mutation { + customRoleUpdate( + id: $ROLE_ID + name: "MY NEW CUSTOM ROLE NAME" + permissionIds: [4,5,6] + ) { + id + } +} +``` + +### Parâmetro + +* `id`: O identificador exclusivo da função personalizada que você deseja modificar. Substitua `$ROLE_ID` pelo ID real da função. +* `name`: O novo nome que você deseja atribuir à função personalizada. Neste exemplo, é `MY NEW CUSTOM ROLE NAME`. +* `permissionIds`: Uma matriz de IDs de permissão que você deseja atribuir a esta função. Certifique-se de que esses IDs sejam válidos e correspondam às permissões que você pretende implementar. + +## Excluir uma função [#delete-role] + +Aqui está um exemplo de exclusão de uma [função](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#roles): + +```graphql +mutation { + customRoleDelete( + id: $ROLE_ID + ) { + id + } +} +``` + +### Parâmetro + +* `id`: O identificador exclusivo da função que você deseja excluir. Substitua `$ROLE_ID` pelo ID real da função que você deseja remover. + +### Resposta + +* `id`: Retorna o ID da função que foi excluída, confirmando a execução bem-sucedida da mutação. + ## Crie um grupo [#create-group] Aqui está um exemplo de criação de um [grupo](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#groups): @@ -645,71 +754,23 @@ Para alguns casos de uso, como conceder acesso a um grupo, você pode precisar d Aqui estão alguns IDs para nossas [funções](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#standard-roles) padrão e [configurações de administração](/docs/accounts/accounts-billing/new-relic-one-user-management/user-management-concepts/#admin-settings): -* - **All product admin** - - - : `1254`. - -* - **Standard user** - - - : `1253`. - -* - **Read only** - - - : `1252`. +* **All product admin**: `1254`. -* - **Organization manager setting** - +* **Standard user**: `1253`. - `1994` +* **Read only**: `1252`. - * - **Read only** - +* **Organization manager setting** `1994` + * **Read only**: `1995` - : `1995` +* **Authentication domain setting**: -* - **Authentication domain setting** - + * **Manage**: `1996` + * **Read only**: `1997` + * **Add users**: `14517` + * **Read users**: `14603` - : - - * - **Manage** - - - : `1996` - - * - **Read only** - - - : `1997` - - * - **Add users** - - - : `14517` - - * - **Read users** - - - : `14603` - -* - **Group admin** - - - : `14516` +* **Group admin**: `14516` Aqui está uma consulta para encontrar o ID de uma função personalizada: @@ -777,4 +838,4 @@ Resposta para o sucesso: } } } -``` +``` \ No newline at end of file diff --git a/src/i18n/content/pt/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx b/src/i18n/content/pt/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx index ef6d6e49741..86d95accda3 100644 --- a/src/i18n/content/pt/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx +++ b/src/i18n/content/pt/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys.mdx @@ -30,27 +30,26 @@ Notas sobre esta funcionalidade: * Todas as mutações (criar, atualizar e excluir) resultarão em um `NrAuditEvent` que poderá ser consultado para fins de auditoria. Para obter detalhes, consulte [Evento de auditoria](/docs/insights/use-insights-ui/manage-account-data/query-account-audit-logs-nrauditevent). -* Em relação à chave de licença: +* Sobre chaves de ingestão: - * Chave de licença são categorizadas pelo NerdGraph como **ingest keys**. Isso ocorre porque seu principal uso é permitir a ingestão de dados. - * Você pode criar até 1.000 chaves de cada tipo de chave de licença, o que permite a rotação de chaves. - * Você não pode gerenciar ou excluir chave de licença original; você só pode criar chave de licença adicional e gerenciar as chaves que você criou. + * As chaves de licença e do Browser são categorizadas pelo NerdGraph como **ingest keys**. Isso ocorre porque seu uso principal é permitir a ingestão de dados. + * Você pode criar até 1.000 chaves de cada tipo de chave de ingestão, o que permite a rotação de chaves. + * Você não pode gerenciar ou excluir chaves de ingestão de conta originais, mas pode entrar em contato com o suporte da New Relic para girá-las; você só pode criar chaves de ingestão ou de usuário adicionais e gerenciar as chaves que você criou. ## Antes de usar exemplos [#before-examples] Coisas a serem observadas antes de usar estes exemplos de consulta: -* Os exemplos abaixo usam chave de licença (também conhecida como chaves de ingest), mas você pode consultar [as chaves do usuário](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#user-api-key) de maneiras semelhantes, substituindo os campos específicos da chave de ingest por campos específicos da chave do usuário. * Para entender a estrutura dos dados, recomendamos experimentar a consulta usando o [GraphiQL Explorer](https://api.newrelic.com/graphiql). * Você também pode [criar, visualizar e excluir chaves de usuário usando a interface.](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) ## Criar chaves - Você pode encontrar e gerar chaves de usuário usando o [NerdGraph GraphiQL Explorer](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer), na parte superior dessa interface. + Você pode encontrar e gerar chaves de usuário usando o [NerdGraph GraphQL Explorer](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/#explorer), na parte superior dessa interface. -Para criar múltiplas chaves (chave de usuário ou chave de licença) em uma única mutação, para múltiplas contas e tipos de chave. Observe que a mutação pode retornar chaves criadas com sucesso, bem como quaisquer erros encontrados ao tentar criar chaves. +Para criar várias chaves (chave de usuário ou chave de ingestão) em uma única mutação, para várias contas e tipos de chaves. Observe que a mutação pode retornar chaves criadas com sucesso, bem como quaisquer erros encontrados ao tentar criar chaves. Exemplo de criação de uma chave: diff --git a/src/i18n/content/pt/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx b/src/i18n/content/pt/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx index 9839ff75b39..6fe159a26e7 100644 --- a/src/i18n/content/pt/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx +++ b/src/i18n/content/pt/docs/apm/agents/nodejs-agent/getting-started/compatibility-requirements-nodejs-agent.mdx @@ -255,19 +255,19 @@ Após a instalação, o agente automaticamente instrumento com nosso catálogo d | --------------------------------- | ----------------------- | ----------------------- | -------------------------------------- | | `@apollo/gateway` | 2.3.0 | 2.9.3 | `@newrelic/apollo-server-plugin@1.0.0` | | `@apollo/server` | 4.0.0 | 4.11.3 | `@newrelic/apollo-server-plugin@2.1.0` | -| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.741.0 | 11.13.0 | -| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/client-sns` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/client-sqs` | 3.0.0 | 3.741.0 | 8.7.1 | -| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.741.0 | 8.7.1 | +| `@aws-sdk/client-bedrock-runtime` | 3.474.0 | 3.744.0 | 11.13.0 | +| `@aws-sdk/client-dynamodb` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/client-sns` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/client-sqs` | 3.0.0 | 3.744.0 | 8.7.1 | +| `@aws-sdk/lib-dynamodb` | 3.377.0 | 3.744.0 | 8.7.1 | | `@aws-sdk/smithy-client` | 3.47.0 | 3.374.0 | 8.7.1 | | `@elastic/elasticsearch` | 7.16.0 | 8.17.0 | 11.9.0 | | `@grpc/grpc-js` | 1.4.0 | 1.12.6 | 8.17.0 | | `@hapi/hapi` | 20.1.2 | 21.3.12 | 9.0.0 | | `@koa/router` | 11.0.2 | 13.1.0 | 3.2.0 | -| `@langchain/core` | 0.1.17 | 0.3.37 | 11.13.0 | +| `@langchain/core` | 0.1.17 | 0.3.40 | 11.13.0 | | `@nestjs/cli` | 9.0.0 | 11.0.2 | 10.1.0 | -| `@opensearch-project/opensearch` | 2.1.0 | 3.2.0 | 12.10.0 | +| `@opensearch-project/opensearch` | 2.1.0 | 3.3.0 | 12.10.0 | | `@prisma/client` | 5.0.0 | 6.3.1 | 11.0.0 | | `@smithy/smithy-client` | 2.0.0 | 4.1.3 | 11.0.0 | | `amqplib` | 0.5.0 | 0,10,5 | 2.0.0 | @@ -281,19 +281,19 @@ Após a instalação, o agente automaticamente instrumento com nosso catálogo d | `express` | 4.6.0 | 4.21.2 | 2.6.0 | | `fastify` | 2.0.0 | 5.2.1 | 8.5.0 | | `generic-pool` | 3.0.0 | 3.9.0 | 0.9.0 | -| `ioredis` | 4.0.0 | 5.4.2 | 1.26.2 | +| `ioredis` | 4.0.0 | 5.5.0 | 1.26.2 | | `kafkajs` | 2.0.0 | 2.2.4 | 11.19.0 | -| `koa` | 2.0.0 | 2.15.3 | 3.2.0 | +| `koa` | 2.0.0 | 2.15.4 | 3.2.0 | | `koa-route` | 3.0.0 | 4.0.1 | 3.2.0 | | `koa-router` | 11.0.2 | 13.0.1 | 3.2.0 | | `memcached` | 2.2.0 | 2.2.2 | 1.26.2 | | `mongodb` | 4.1.4 | 6.13.0 | 1.32.0 | | `mysql` | 2.2.0 | 2.18.1 | 1.32.0 | | `mysql2` | 2.0.0 | 3.12.0 | 1.32.0 | -| `next` | 13.4.19 | 15.1.6 | 12.0.0 | -| `openai` | 4.0.0 | 4.82.0 | 11.13.0 | -| `pg` | 8.2.0 | 8.13.1 | 9.0.0 | -| `pg-native` | 3.0.0 | 3.2.0 | 9.0.0 | +| `next` | 13.4.19 | 15.1.7 | 12.0.0 | +| `openai` | 4.0.0 | 4.84.0 | 11.13.0 | +| `pg` | 8.2.0 | 8.13.2 | 9.0.0 | +| `pg-native` | 3.0.0 | 3.2.1 | 9.0.0 | | `pino` | 7.0.0 | 9.6.0 | 8.11.0 | | `q` | 1.3.0 | 1.5.1 | 1.26.2 | | `redis` | 3.1.0 | 4.7.0 | 1.31.0 | diff --git a/src/i18n/content/pt/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx b/src/i18n/content/pt/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx index 88e068aecfb..73eec7a83fc 100644 --- a/src/i18n/content/pt/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx +++ b/src/i18n/content/pt/docs/browser/browser-monitoring/browser-pro-features/session-replay.mdx @@ -40,7 +40,7 @@ Para obter mais detalhes sobre Session Replay, consulte as seções a seguir: 2. Selecione seu aplicativo de browser. 3. No menu à esquerda, clique em **Application settings**. 4. Na página Configurações do aplicativo, certifique-se de **Pro** ou **Pro + SPA** agente browser esteja selecionado. Session Replay não está disponível para o agente browser Lite. - 5. Ative as configurações **Session traces** e **Session replay** . + 5. Ative as configurações **Session tracking** e **Session replay** . diff --git a/src/i18n/content/pt/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx b/src/i18n/content/pt/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx index f14639eb943..216e9741267 100644 --- a/src/i18n/content/pt/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx +++ b/src/i18n/content/pt/docs/browser/new-relic-browser/browser-apis/recordReplay.mdx @@ -28,6 +28,7 @@ API do Browser usada para forçar um replay a iniciar a gravação. `newrelic.recordReplay()` pode ser chamado para forçar manualmente um replay para iniciar a gravação. Você deve atender aos seguintes requisitos: * A conta tem direito a gravar replays +* O rastreamento de sessão está ativado * Trace da sessão está habilitado * O observador de mutação do browser global está presente na versão atual do navegador que está sendo usado * O recurso Session Replay é normalmente importado ou definido como `autoStart: false` e já foi &quot;iniciado&quot; diff --git a/src/i18n/content/pt/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx b/src/i18n/content/pt/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx index 06a135f8730..6e5f5f7e723 100644 --- a/src/i18n/content/pt/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx +++ b/src/i18n/content/pt/docs/opentelemetry/best-practices/opentelemetry-best-practices-resources.mdx @@ -137,6 +137,20 @@ Se seus serviços utilizam instrumentação OpenTelemetry para ActiveMQ é neces * `server.address`: Este atributo deve corresponder à tag de endpoint correspondente da entidade do Amazon MQ. * `span.kind`: Este relacionamento é gerado a partir de dados de intervalo onde `span.kind` é `producer` ou `consumer`. +#### Amazon Kafka gerenciado (MSK) + +A integração do Amazon CloudWatch Metric Streams para [MSK](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-managed-kafka-msk-integration) gera entidade MSK no New Relic. Estas entidades terão a seguinte tag entidade: + +* `aws.clusterName` ou `aws.kafka.ClusterName` +* `aws.awsRegion` ou `aws.region` +* `aws.topic` ou `aws.kafka.Topic` + +Se seus serviços utilizam instrumentação OpenTelemetry para MSK, ele deve ter o seguinte atributo para que um relacionamento seja gerado: + +* `messaging.destination.name`: O tópico MSK para o qual o serviço está produzindo ou consumindo mensagens. +* `server.address`: Este atributo deve corresponder à correspondente endpoint tag da entidade MSK. +* `span.kind`: Este relacionamento é gerado a partir de dados de intervalo onde `span.kind` é `producer` ou `consumer`. + ## Adicionando tag personalizada a uma entidade [#tags] Você pode usar tag para organizar e filtrar sua entidade na interface. [tag](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/) são pares de valores principais, por exemplo `team: operations`, adicionados a vários conjuntos de dados, como aplicativos de monitoramento e hosts. Certos atributos importantes ficam automaticamente disponíveis como tag, como ID da conta; você também pode adicionar sua própria tag personalizada [diretamente na interface](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-tags) ou com um dos métodos abaixo. diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx index df2ca107f5c..933c22b55a0 100644 --- a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/compatibility-requirement-azure-monitoring.mdx @@ -25,7 +25,7 @@ Antes de [instrumentar Azure Functions](/docs/serverless-function-monitoring/aws ## Tempos de execução suportados -Com base no seu ambiente de hospedagem, os seguintes tempos de execução são suportados. +Com base no seu ambiente de hospedagem, a seguinte pilha de tempo de execução Azure Functions é suportada. @@ -34,15 +34,15 @@ Com base no seu ambiente de hospedagem, os seguintes tempos de execução são s - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: versão 6 - 9, apenas modelo isolado - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: versão 6 - 9 - * .NET: `dotnet6.0`, `dotnet8.0` + * .NET: versão 6 - 9, apenas modelo isolado diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx index deed8d11fb3..b1bfa14fb42 100644 --- a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/env-variables-azure.mdx @@ -3,7 +3,7 @@ title: Variáveis de ambiente para monitoramento Azure Functions metaDescription: Configure environment variables to monitor your Azure functions with New Relic freshnessValidatedDate: never tags: - - AWS Lambda + - Azure Functions - Environment Variables - Configuration - Secrets Management @@ -80,7 +80,7 @@ Variáveis de ambiente são uma maneira de armazenar configurações e segredos - `CORECLR_NEWRELIC_HOME` + `CORECLR_NEW_RELIC_HOME` @@ -110,49 +110,13 @@ Variáveis de ambiente são uma maneira de armazenar configurações e segredos - - - `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` - - - - `true` - - - - `true` - - , - - `false` - - - - Gere rastreamento habilitando distributed tracing. - - - - - - `NEW_RELIC_APP_NAME` - - - - - - - - Defina o nome do aplicativo, embora ele não seja usado na interface do usuário do New Relic. - - - `NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED` - `1` + `0` @@ -164,9 +128,9 @@ Variáveis de ambiente são uma maneira de armazenar configurações e segredos - Desabilite o modo Azure Functions definindo o valor como + Habilite o modo Azure Functions definindo o valor como - `0` + `1` . diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx index bbd8e9fc82a..6dc48cf28fc 100644 --- a/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/azure-function-monitoring/install-serverless-azure-monitoring.mdx @@ -37,12 +37,16 @@ Certifique-se de que suas Azure Functions atendem à nossa [compatibilidade e ao - Navegue até a página do serviço Kudu e faça o seguinte: + A extensão New Relic Azure Websites (v1.6.0 e posterior) configura automaticamente a instrumentação para suas funções Windows Azure . + + Para instalar a extensão New Relic Azure Websites, siga estas etapas: 1. No portal do Azure, navegue até seu aplicativo de funções. - 2. Clique na seção **Development tools** e selecione **Advanced Tools > Go**. - 3. Para visualizar as extensões de site disponíveis, clique na aba **Site extensions** . - 4. Para instalar a extensão, procure por `New Relic .NET Agent` e clique em **+**. + 2. Clique na seção **Development tools** e selecione **Extensions**. + 3. Clique em **+ Add**. + 4. Selecione **Search for an extension to install** e digite `New Relic .NET Agent` na caixa **Filter items** . + 5. Selecione a extensão **New Relic .NET Agent(vx.x.x) - New Relic** e clique em **Add**. + 6. Quando a instalação estiver concluída, a extensão aparecerá na lista de extensões instaladas. Para verificar a instalação correta, clique no link na coluna "Navegar" para visualizar o log de instalação. @@ -90,7 +94,7 @@ Certifique-se de que suas Azure Functions atendem à nossa [compatibilidade e ao "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/home/site/wwwroot/newrelic", "slotSetting": false }, @@ -110,70 +114,35 @@ Certifique-se de que suas Azure Functions atendem à nossa [compatibilidade e ao "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } ``` ```json - { - "name": "CORECLR_PROFILER_PATH", - "value": "C:\\home\\NewRelicAgent\\Core\\NewRelic.Profiler.dll", - "slotSetting": false - }, - { - "name": "CORECLR_NEWRELIC_HOME", - "value": "C:\\home\\NewRelicAgent\\Core", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", - "value": "C:\\home\\LogFiles\\NewRelic", - "slotSetting": false - }, - { - "name": "NEW_RELIC_AZURE_FUNCTION_MODE_ENABLED", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_ENABLE_PROFILING", - "value": "1", - "slotSetting": false - }, - { - "name": "CORECLR_PROFILER", - "value": "{36032161-FFC0-4B61-B559-F6C5D41BAE5A}", - "slotSetting": false - }, { "name": "NEW_RELIC_LICENSE_KEY", "value": "YOUR_NEW_RELIC_LICENSE_KEY", "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", - "slotSetting": false - }, + } + ``` + + Opcionalmente, você pode especificar a versão do agente .NET que deseja instalar adicionando a seguinte variável de ambiente: + + ```json { - "name": "NEW_RELIC_APP_NAME", - "value": "YOUR_APP_NAME", + "name": "NEW_RELIC_AGENT_VERSION_OVERRIDE", + "value": "10.35.0", "slotSetting": false - }, + } ``` @@ -185,7 +154,7 @@ Certifique-se de que suas Azure Functions atendem à nossa [compatibilidade e ao "slotSetting": false }, { - "name": "CORECLR_NEWRELIC_HOME", + "name": "CORECLR_NEW_RELIC_HOME", "value": "/usr/local/newrelic-dotnet-agent", "slotSetting": false }, @@ -205,20 +174,17 @@ Certifique-se de que suas Azure Functions atendem à nossa [compatibilidade e ao "slotSetting": false }, { - "name": "NEW_RELIC_LICENSE_KEY", - "value": "YOUR_NEW_RELIC_LICENSE_KEY", - "slotSetting": false - }, - { - "name": "NEWRELIC_LOG_DIRECTORY", + "name": "NEW_RELIC_LOG_DIRECTORY", "value": "/home/LogFiles/NewRelic", "slotSetting": false }, { - "name": "NEWRELIC_LOG_LEVEL", - "value": "info", + "name": "NEW_RELIC_LICENSE_KEY", + "value": "", "slotSetting": false - }, + } + + ``` diff --git a/src/i18n/content/pt/docs/service-level-management/create-slm.mdx b/src/i18n/content/pt/docs/service-level-management/create-slm.mdx index a1c3336c326..c93270a9c01 100644 --- a/src/i18n/content/pt/docs/service-level-management/create-slm.mdx +++ b/src/i18n/content/pt/docs/service-level-management/create-slm.mdx @@ -588,6 +588,10 @@ Para criar nível de serviço, siga estes passos: ``` wildcards + + + Ao escrever sua consulta SLI, você pode adicionar [comentários](https://docs.newrelic.com/docs/nrql/nrql-syntax-clauses-functions/#comments) para ajudar os membros da sua equipe a entender melhor a consulta. +