From 7357e7fa13d751c276474ff241c512f748f81583 Mon Sep 17 00:00:00 2001 From: svc-docs-eng-opensource-bot Date: Tue, 16 Jul 2024 12:03:56 +0000 Subject: [PATCH] chore: add translations --- .../alert-conditions.mdx | 263 +++- .../opentracing-to-layers-migration-guide.mdx | 71 + .../monitoring-airflow-ot.mdx | 19 +- .../ray-integration.mdx | 14 +- .../installation/k8s-agent-operator.mdx | 60 +- .../cloud-watch-fallback.mdx | 208 +++ .../containerized-images.mdx | 171 +++ ...erless-monitoring-aws-lambda-layerless.mdx | 324 +++++ .../instrument-your-own.mdx | 256 ++++ .../introduction-lambda.mdx | 1259 +++++++++++++++++ ...pdate-serverless-monitoring-aws-lambda.mdx | 131 ++ .../debugging-agent-azure.mdx | 2 +- .../opentracing-to-layers-migration-guide.mdx | 71 + .../installation/uninstall-net-agent.mdx | 20 +- ...ow-verify-checksum-net-agent-downloads.mdx | 6 +- .../instrumented-python-packages.mdx | 18 + .../monitoring-airflow-ot.mdx | 19 +- .../ray-integration.mdx | 14 +- ...astructure-agent-aws-elastic-beanstalk.mdx | 48 +- .../configure-infrastructure-agent-puppet.mdx | 14 +- .../installation/k8s-agent-operator.mdx | 60 +- .../cloud-watch-fallback.mdx | 200 +++ ...erless-monitoring-aws-lambda-layerless.mdx | 324 +++++ .../instrument-your-own.mdx | 256 ++++ .../introduction-lambda.mdx | 1257 ++++++++++++++++ ...pdate-serverless-monitoring-aws-lambda.mdx | 131 ++ .../alert-conditions.mdx | 257 +++- .../debugging-agent-azure.mdx | 2 +- .../opentracing-to-layers-migration-guide.mdx | 71 + .../installation/uninstall-net-agent.mdx | 20 +- ...ow-verify-checksum-net-agent-downloads.mdx | 6 +- .../instrumented-python-packages.mdx | 18 + ...ration-tool-build-your-own-integration.mdx | 19 + .../monitoring-airflow-ot.mdx | 19 +- .../ray-integration.mdx | 14 +- ...astructure-agent-aws-elastic-beanstalk.mdx | 48 +- .../configure-infrastructure-agent-puppet.mdx | 14 +- .../installation/k8s-agent-operator.mdx | 60 +- .../cloud-watch-fallback.mdx | 200 +++ .../containerized-images.mdx | 171 +++ ...erless-monitoring-aws-lambda-layerless.mdx | 324 +++++ .../instrument-your-own.mdx | 256 ++++ .../introduction-lambda.mdx | 1257 ++++++++++++++++ ...pdate-serverless-monitoring-aws-lambda.mdx | 131 ++ .../alert-conditions.mdx | 263 +++- .../create-nrql-alert-conditions.mdx | 90 +- .../debugging-agent-azure.mdx | 2 +- .../opentracing-to-layers-migration-guide.mdx | 71 + .../installation/uninstall-net-agent.mdx | 20 +- ...ow-verify-checksum-net-agent-downloads.mdx | 6 +- .../instrumented-python-packages.mdx | 18 + ...ration-tool-build-your-own-integration.mdx | 19 + .../monitoring-airflow-ot.mdx | 19 +- .../ray-integration.mdx | 14 +- ...astructure-agent-aws-elastic-beanstalk.mdx | 48 +- .../configure-infrastructure-agent-puppet.mdx | 14 +- .../installation/k8s-agent-operator.mdx | 60 +- .../cloud-watch-fallback.mdx | 208 +++ .../containerized-images.mdx | 171 +++ ...erless-monitoring-aws-lambda-layerless.mdx | 324 +++++ .../instrument-your-own.mdx | 256 ++++ .../introduction-lambda.mdx | 1259 +++++++++++++++++ ...pdate-serverless-monitoring-aws-lambda.mdx | 131 ++ 63 files changed, 10644 insertions(+), 452 deletions(-) create mode 100644 src/i18n/content/es/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx create mode 100644 src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx create mode 100644 src/i18n/content/jp/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx create mode 100644 src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx create mode 100644 src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx create mode 100644 src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx create mode 100644 src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx create mode 100644 src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx create mode 100644 src/i18n/content/kr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx create mode 100644 src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx create mode 100644 src/i18n/content/pt/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx create mode 100644 src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx diff --git a/src/i18n/content/es/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx b/src/i18n/content/es/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx index 5b69765efd3..6ea81c1911b 100644 --- a/src/i18n/content/es/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx +++ b/src/i18n/content/es/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx @@ -18,18 +18,23 @@ import alertsNameYourAlertCondition from 'images/alerts_screenshot-crop_name-you import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condition-page.webp' +import accountsConditionOn from 'images/accounts_icon_condition-on.webp' + +import accountsConditionOff from 'images/accounts_icon_condition-off.webp' + +import accountsAlertingConcepts from 'images/accounts_diagram_alerting-concepts.webp' + +import alertsAddingAlertDetailstoanAlertCondition from 'images/alerts_screenshot-crop_adding-alert-details-to-an-alert-condition.webp' + Una condición de alerta es el elemento central que define cuándo se crea un [incidente](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/understand-technical-concepts/incident-event-attributes/#definition) . Actúa como punto de partida esencial para crear cualquier alerta significativa. La condición de alerta contiene el parámetro o umbral cumplido antes de ser informado. Pueden mitigar las alertas excesivas o informar a su equipo cuando aparece un comportamiento nuevo o inusual. A screenshot showing the alert condition homepage. -
- La página **Alert conditions list** es el centro universal para todas sus condiciones de alerta. -
- ## Crear una nueva condición de alerta [#create-alert-condition] Una condición de alerta es una consulta que se ejecuta continuamente que mide un conjunto determinado de eventos frente a un umbral definido y abre un [incidente](/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/specify-when-alerts-create-incidents/) cuando se alcanza el umbral durante un período de tiempo específico. @@ -103,7 +108,7 @@ Para todos los métodos, excepto nuestro modo guiado, el proceso para crear una WHERE appName = 'WebPortal' ``` - El uso de esta consulta para su condición de alerta le indica a New Relic que desea conocer el `pageviews` promedio de su aplicación `WebPortal` . El monitoreo `pageviews` puede ayudarle a detectar cualquier problema de latencia en su aplicación. + El uso de esta consulta para su condición de alerta le indica a New Relic que desea conocer la latencia o duración promedio para cargar páginas dentro de su aplicación `WebPortal` . Las alertas proactivas sobre latencia, una de las principales señales doradas, proporcionan alertas tempranas de posible degradación. Puede obtener más información sobre cómo utilizar NRQL, el lenguaje de consulta de New Relic, consulte nuestra [documentación de NRQL](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions/). @@ -121,9 +126,9 @@ Para todos los métodos, excepto nuestro modo guiado, el proceso para crear una src={alertsSetaQuery} /> - Para este ejemplo, el gráfico mostrará el promedio `pageviews` para su aplicación `WebPortal` . Haga clic en **Next** y comience a configurar su condición de alerta. + Para este ejemplo, el gráfico mostrará la latencia promedio de su aplicación `WebPortal` . Haga clic en **Next** y comience a configurar su condición de alerta. - Para este ejemplo, personalizará esta configuración de señal avanzada para la condición que creó para monitor una actividad inusual para `pageviews` en su aplicación `WebPortal`. + Para este ejemplo, personalizará estas configuraciones de señal avanzadas para la condición que creó para monitor la latencia en su aplicación `WebPortal`. - El umbral de pérdida de señal determina cuánto tiempo esperar antes de considerar perdida una señal faltante. Si en ese tiempo no vuelve la señal, podrás optar por abrir un nuevo incidente o cerrar alguno relacionado. Establezca el umbral según el comportamiento esperado de su sistema y la frecuencia de recopilación de datos. Por ejemplo, si una pérdida de señal para `pageviews` podría indicar un problema de latencia, establezca un umbral con el que se sienta cómodo y marque la casilla para abrir un nuevo incidente de pérdida de señal. + El umbral de pérdida de señal determina cuánto tiempo esperar antes de considerar perdida una señal faltante. Si en ese tiempo no vuelve la señal, podrás optar por abrir un nuevo incidente o cerrar alguno relacionado. Establezca el umbral según el comportamiento esperado de su sistema y la frecuencia de recopilación de datos. Por ejemplo, si un sitio web experimenta una pérdida total de tráfico o rendimiento, los telemetry data correspondientes enviados a New Relic también cesarán. El monitoreo de esta pérdida de señal puede servir como un sistema de alerta temprana para tales cortes. @@ -296,7 +300,15 @@ Para todos los métodos, excepto nuestro modo guiado, el proceso para crear una id="name-your-condition" title="Nombra tu condición" > - Es esencial darle un nombre descriptivo a su condición de alerta. Digamos que nombra esta condición **pageviews** y luego crea otra condición para una aplicación completamente diferente y etiqueta esa condición también como **pageviews** . Si esto ocurre, no podrá distinguir qué condición corresponde a cada aplicación. Por lo tanto, asegúrese de darle a su afección un nombre específico y único. En este caso, llamarías a esta condición **pageviews: WebPortal App**. + Una de las mejores prácticas para la denominación de condiciones implica un formato estructurado que transmita información esencial de un vistazo. Incluya los siguientes elementos en los nombres de sus condiciones: + + * **Prioridad**: indique la gravedad o urgencia de la alerta, como P1, P2, P3. + + * **Señal**: Especifique la métrica o condición que se monitorea, como latencia promedio alta o rendimiento bajo. + + * **Entidad**: Identifica el sistema, aplicación o componente afectado, como WebPortal App o servidor base de datos. + + Un ejemplo de un nombre de condición bien formado que sigue esta estructura sería `P2 | High Avg Latency | WebPortal App`. Un incidente se cierra automáticamente cuando la señal objetivo vuelve a un estado de no infracción durante el período indicado en el umbral de la condición. Este tiempo de espera se llama período de recuperación. - Por ejemplo, si el comportamiento de infracción es "`pageviews` es inferior a 300 al menos una vez cada 5 minutos", el incidente se cerrará automáticamente cuando `pageviews` sea igual o superior a 300 durante cinco minutos consecutivos. + Por ejemplo, si está midiendo la latencia y el comportamiento de infracción es que `duration` para cargar páginas en su aplicación `WebPortal` aumentó a más de 3 segundos, el incidente se cerrará automáticamente cuando `duration` sea igual o inferior a 3 segundos durante 5 minutos consecutivos. Cuando un incidente se cierra automáticamente: @@ -355,24 +367,39 @@ Para todos los métodos, excepto nuestro modo guiado, el proceso para crear una Dado que está creando una condición de alerta que le permite saber si hay algún problema de latencia con su aplicación `WebPortal` , desea asegurarse de que sus desarrolladores tengan toda la información que necesitan cuando se les notifique sobre este incidente. Utilizará flujo de trabajo para notificar a un canal de Slack del equipo cuando se cree un incidente. Obtenga más información sobre descripciones de incidentes personalizadas en nuestros [documentos](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/advanced-techniques/alert-custom-incident-descriptions). + + A screenshot depicting the final step of creating an alert condition- the alert details page + + Usar la plantilla de título es opcional pero lo recomendamos. Una condición de alerta define un conjunto de umbrales que desea monitor. Si se traspasa alguno de esos umbrales, se crea un incidente. Las plantillas de títulos significativas lo ayudan a identificar problemas y resolver interrupciones más rápido. + + Obtenga más información sobre las plantillas de títulos en nuestros [documentos](//docs/alerts/create-alert/condition-details/title-template/). + + - Si desea vincular a un runbook, puede colocar la URL en el campo URL del runbook. + En este campo a menudo se vincula un runbook de operaciones que detalla los pasos de investigación, clasificación o remediación. -## Editar o mejorar una condición de alerta existente [#edit-existing-alert-condition] +## Editar una condición de alerta existente [#edit-existing-alert-condition] Si desea editar una condición de alerta que ya creó, puede: @@ -394,15 +421,211 @@ Desde allí, verá la página **Alert conditions details** . Esta pá ### Historial de señales [#signal-coverage] -En **Signal history**, puede ver los resultados más recientes de la consulta NRQL que utilizó para crear su condición de alerta. En este ejemplo, verá el `pageviews` promedio en la aplicación `WebPortal` durante el período de tiempo específico que ha establecido. +En **Signal history**, puede ver los resultados más recientes de la consulta NRQL que empleó para crear su condición de alerta. En este ejemplo, verá la latencia promedio en la aplicación `WebPortal` durante el periodo de tiempo específico que configuró. Para todas las condiciones de alerta creadas con NRQL consulta, el **Signal history** se presentará con un gráfico de líneas. Cualquier condición de alerta creada con un monitor Sintético será un poco diferente. Esto se debe a que los monitores Sintético le permiten hacer ping a su aplicación desde múltiples ubicaciones, lo que puede producir resultados positivos o negativos cada vez que se ejecuta el monitor . Estos datos sólo se pueden presentar mediante una tabla. -## Solucionar problemas [#troubleshoot] +## Tipos de condiciones [#condition-types] + +El tipo de condición principal y recomendado es una condición de alerta NRQL, pero existen otros tipos de condiciones. Incluimos una lista completa de nuestros tipos de condiciones a continuación. + + + + Utilice la UI o [la API NerdGraph](/docs/alerts/alerts-nerdgraph/nerdgraph-examples/nerdgraph-api-alerts-nrql-conditions) para crear condiciones NRQL para [consultas NRQL básicas que devuelvan un número](/docs/new-relic-alerts-alert-nrql-queries). + + + + Consulte [APM métrica condición de alerta](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/apm-metric-alert-conditions) para obtener sugerencias sobre cómo crear condiciones usando NRQL. + + + + [Las alertas de anomalías](/docs/alerts/new-relic-alerts/configuring-alert-policies/create-anomaly-alert-conditions) le permiten crear condiciones que se ajustan dinámicamente a los datos y tendencias cambiantes, como patrones semanales o estacionales. Esta característica está disponible para las aplicaciones [](/docs/apm/new-relic-apm/getting-started/welcome-new-relic-apm)y [](/docs/browser/new-relic-browser/getting-started/new-relic-browser), así como [para la consulta NRQL](/docs/alerts/new-relic-alerts/defining-conditions/create-alert-conditions-nrql-queries). + + + + Con [las condiciones de monitoreo sintético de múltiples ubicaciones](/docs/alerts/new-relic-alerts/defining-conditions/multi-location-synthetics-alert-conditions), puede configurar un monitor para que le notifique cuando un número específico de ubicaciones fallan al mismo tiempo. + + + + Para APM, puede configurar condiciones para [la clave de transacción](/docs/apm/transactions/key-transactions/introduction-key-transactions). + + + + Puede establecer un umbral que abra un incidente cuando sea violado por cualquiera de las instancias métricas de su aplicación Java. + + Al [establecer el alcance de umbral en una instancia específica](/docs/alerts/new-relic-alerts/configuring-alert-policies/scope-alert-thresholds-specific-instances), puede identificar más rápidamente dónde se originan los problemas potenciales. Esto es útil, por ejemplo, para detectar anomalías que ocurren solo en un subconjunto de la instancia de su aplicación. Este tipo de anomalías son fáciles de pasar por alto en aplicaciones que métricamente agregan una gran cantidad de instancias. + + + + Para el monitoreo de aplicaciones Java mediante APM, puede establecer [un umbral](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) que abra un incidente cuando el tamaño del montón o la cantidad de subprocesos para una única JVM esté fuera del rango operativo esperado. + + Evaluamos las violaciones del umbral de alerta individualmente para cada una de las [instancias seleccionadas](#instance-incidents) de la aplicación. Al crear su condición, seleccione **JVM health metric** como el tipo de condición para la política de alertas de su aplicación Java y luego seleccione cualquiera de los umbrales disponibles: + + * Hilos estancados + + * Uso de memoria del montón + + * Tiempo de utilización de la CPU + + * Tiempo de CPU de recolección de basura + + Los incidentes se cerrarán automáticamente cuando se alcance el valor inverso del umbral, pero al utilizar la UI también puede cambiar el momento en que un [incidente](/docs/new-relic-solutions/get-started/glossary/#alert-incident) se cierra forzosamente para una métrica de estado de JVM. El valor predeterminado es 24 horas. + + + + Incluimos la opción de definir un percentil como el [umbral](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) para su condición cuando el tiempo de respuesta de su aplicación web es superior, inferior o igual a este valor. Esto es útil, por ejemplo, cuando el personal de operaciones desea alertar sobre un percentil para el tiempo de respuesta [de transacción web](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) **overall** de un servidor de aplicaciones en lugar del tiempo de respuesta web **average** . + + + Si desea establecer un umbral arbitrario en una condición para una [transacción de aplicación que no sea web](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#non-web-transaction), utilice la [consulta característica NRQL](#nrql-conditions) . + + + Para definir el umbral percentil: + + 1. Seleccione **Web transactions percentiles** como tipo de condición para la condición de su aplicación y luego seleccione una sola aplicación. (Para alertar en más de una aplicación, cree una condición **Web transactions percentiles** individual para cada una). + + 2. Para definir el umbral que abre el incidente, escriba el valor de tiempo de respuesta **Percentile nth** y luego seleccione su frecuencia (arriba, debajo o igual a este valor). + + Almacenamos el tiempo de transacción en milisegundos, aunque la interfaz de usuario muestra los valores críticos y de advertencia en segundos. Si desea definir milisegundos, asegúrese de incluir el punto decimal en su valor. + + + + Al aplicar [etiquetas](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#labels) a la aplicación, puede vincular automáticamente estas [entidades](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-entity) a su condición. Esto facilita la gestión de todas las aplicaciones dentro de un entorno dinámico. Recomendamos utilizar el [archivo de configuración del agente](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#config) para mantener mejor las etiquetas de entidad. + + Una sola etiqueta identifica **all** entidad asociada a esa etiqueta (máximo 10.000 entidades). Múltiples etiquetas solo identifican a la entidad que comparte todas las etiquetas seleccionadas. + + El uso de objetivos dinámicos con su condición también requiere que establezca un [temporizador de cierre de incidentes](/docs/alerts-applied-intelligence/new-relic-alerts/alert-incidents/how-alert-condition-incidents-are-closed#time-limit). + + Para agregar, editar o eliminar hasta diez etiquetas para una condición: + + 1. Seleccione **APM > Application metric** como tipo de producto. + + 2. Al identificar la entidad, seleccione la pestaña **Labels** . Busque una etiqueta por nombre o seleccione una etiqueta de la lista de categorías. + + También puedes crear condiciones directamente dentro del contexto de lo que estás monitoreando con [infraestructura](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information). + + + + Puede [crear condiciones para sus recursos](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information) directamente desde nuestra UI de monitoreo de infraestructura. + + Por ejemplo, para recibir una notificación cuando un agente de infraestructura deja de recibir datos, emplee el tipo de condición [de host que no informa](/docs/infrastructure/new-relic-infrastructure/configuration/create-infrastructure-host-not-reporting-condition) . Esto le permite alertar dinámicamente sobre grupos de hosts filtrados y configurar la ventana de tiempo de 5 a 60 minutos. + + + +## Agregar condiciones a una póliza [#add-conditions] + +Para [agregar más condiciones a una póliza](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions): + +1. Ir a + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Policies** + +2. Detectar una política. + +3. Haga clic en + + **Add a condition** + + . + +Para [crear una nueva condición NRQL](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions): + +1. Ir a + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + +2. Haga clic en + + **Add a condition** + + . + +## Copiar una condición [#copy-condition] + +Para copiar una condición existente, incluidos su [objetivo](/docs/apm/new-relic-apm/getting-started/glossary#alert-target) y [umbral](/docs/apm/new-relic-apm/getting-started/glossary#alert-threshold), y agregarla a otra política para la cuenta seleccionada: + +1. Vaya a **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert conditions**. + +2. Desde la lista de condición de alerta, haga clic en el ícono de tres puntos de la alerta que desea copiar y seleccione **Duplicate condition**. + +3. Desde **Copy alert condition**, busque o desplácese por la lista para seleccionar la política a la que desea agregar esta condición. + +4. Opcional: cambie el nombre de la condición si es necesario. + +5. Opcional: haga clic en el interruptor de palanca para **Enable on save** + +6. Seleccione **Copy condition**. + + De forma predeterminada, la política de alertas seleccionada agregará la condición copiada en el estado **Desactivado** . Siga los procedimientos estándar para [agregar](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions) o copiar más condiciones a la política de alertas y luego [**habilite** la condición](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#disable-conditions) según sea necesario. Además, la nueva condición no copiará ninguna [etiqueta](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-via-ui-api) agregada a la condición original. + +## Activar/desactivar una condición [#disable-conditions] + +Para deshabilitar o volver a habilitar una condición: + +1. Vaya a + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + + . Luego, de la lista de + + **Alert conditions** + + , use el interruptor para habilitar o deshabilitar la condición. + +2. Haga clic en el interruptor + + **On/Off** + + para alternarlo. + +Si [copia una condición](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/copy-alert-conditions), la guarda automáticamente en la nueva política como deshabilitada (**Off**), incluso si la condición estaba habilitada (**On**) en la política original. + +## Eliminar una condición [#delete-conditions] + +Para desactivar una condición pero mantenerla con la política, [deshabilítela](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#condition-on-off) . Para eliminar una o más condiciones: + +1. Vaya a **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions**. + +2. De la lista de **Alert conditions**, seleccione una condición y luego haga clic en **Delete** en el menú de puntos suspensivos (...). + + + Si no ve el botón Eliminar, es posible que el administrador de su cuenta haya deshabilitado la eliminación de condiciones para su organización. + + +## Solucionar problemas de la página de condición de alerta [#troubleshoot] -Si ve una señal vacía en el gráfico histórico, considere una de las siguientes opciones: +Si ve una señal vacía en el gráfico de historial en la página de **Alert Condition** , considere una de las siguientes opciones: * **Review the condition's settings** diff --git a/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx b/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx new file mode 100644 index 00000000000..5a191b57f41 --- /dev/null +++ b/src/i18n/content/es/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx @@ -0,0 +1,71 @@ +--- +title: Guía de migración de capas de .NET OpenTracing a 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 +--- + +Esta guía describe los principales cambios entre `NewRelic.OpenTracing.AmazonLambda.Tracer` y la capa Lambda del agente .NET. También detalla las diferentes opciones disponibles al actualizar y cómo migrar exitosamente para usar la capa .NET agente Lambda. + + + El soporte para instrumentado AWS función Lambda comienza en la v10.24.0 del agente .NET. + + +Estos son los principales cambios para esta transición: + +* El paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` entra en conflicto con la instrumentación del agente y debe eliminar. +* Cualquier cambio de código realizado en la función Lambda AWS para OpenTracing debe revertir. +* El agente New Relic .NET se empleará para instrumentar la función Lambda AWS . +* Las capas de AWS Lambda están disponibles cuando combina el agente .NET y la extensión New Relic Lambda requerida. +* En la mayoría de los casos, la instrumentación de la función Lambda AWS es automática. +* El agente .NET se basa en la extensión New Relic Lambda para enviar datos en AWS función Lambda. +* Las capas se pueden configurar empleando la herramienta New Relic Lambda CLI, un complemento framework sin servidor o manualmente. +* Los nombres y tiempos métricos diferirán porque la forma en que se instrumenta la función cambió fundamentalmente. +* Cualquier dashboard, alerta o consulta que se base en la métrica anterior deberá actualizar luego de la migración. + +## Eliminando NewRelic.OpenTracing.AmazonLambda.rastreador y OpenTracing [#remove] + +El paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` debe eliminar antes de emplear el agente .NET y cualquier cambio realizado en su función Lambda AWS para admitirlo debe deshacer. + +1. La configuración del paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` requiere crear un nuevo `FunctionHandler` que llame al `FunctionHandler` original y lo ajuste para habilitar la instrumentación. Antes de eliminar el `NewRelic.OpenTracing.AmazonLambda.Tracer` deberás deshacer esa llamada para que la limpieza se realice más fácilmente. +2. El agente .NET no admite el uso de API OpenTracing para pasar datos personalizados. Cualquier cambio en su código que dependa de las API de OpenTracing, ya sea directamente o mediante el paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` , debe eliminar o migrarse para usar las API del agente .NET. +3. Elimine el paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` de su proyecto. Limpie cualquier problema sobrante relacionado con la eliminación. + +## Seleccionar un método de instalación de capas [#install] + +Luego de eliminar el paquete `NewRelic.OpenTracing.AmazonLambda.Tracer` , el siguiente paso es seleccionar qué método empleará para instalar y configurar la capa .NET AWS Lambda. Como se mencionó anteriormente, existen principalmente tres opciones: + +* New Relic Lambda CLI +* New Relic complemento framework Relic Serverless +* Instalación totalmente manual + +Recomendamos elegir Lambda CLI o el complemento framework Serverless, ya que automatizan la mayor parte de la configuración. Cada uno tiene sus propias dependencias y requisitos que deben tener, algunos de los cuales se describirán en la siguiente sección. Si ya emplea uno de estos enfoques, le recomendamos mantener las cosas simples empleando el mismo enfoque para todas sus funciones Lambda AWS . + +Para obtener un conjunto completo de instrucciones detalladas de introducción al monitoreo AWS Lambda consulte nuestra [guía de habilitación](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-aws-lambda-monitoring/). + +## New Relic Lambda CLI [#cli] + + + La compatibilidad con la capa .NET agente AWS Lambda comienza en la versión 0.9.2 de Lambda CLI. + + +El [inicio rápido](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) de Lambda CLI tiene un ejemplo del comando para actualizar su función AWS Lambda para usar la capa de agente .NET. Esto detectará automáticamente el tiempo de ejecución de la función y seleccionará la capa adecuada. Puede encontrar opciones de configuración adicionales en el [repositorio de Lambda CLI](https://github.com/newrelic/newrelic-lambda-cli?tab=readme-ov-file#recommendations). + +## New Relic complemento framework Relic Serverless [#serverless] + + + La compatibilidad con la capa .NET agente AWS Lambda comienza en la versión 5.3.0 del complemento framework Serverless. + + +El [inicio rápido del complemento Serverless framework ](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/)tiene los pasos necesarios para instalar el complemento y actualizar la configuración framework Serverless. Puede encontrar opciones de configuración adicionales en el [repositorio del complemento framework Serverless](https://github.com/newrelic/serverless-newrelic-lambda-layers). + +## Instalación totalmente manual [#manual] + +Si bien no recomendamos instrumentar manualmente su función Lambda AWS , tenemos información sobre los pasos necesarios para hacerlo [aquí](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console). + +* El agente .NET instrumentará automáticamente su función Lambda AWS , en la mayoría de los casos cuando se instala manualmente +* La extensión New Relic Lambda todavía es necesaria para enviar datos \ No newline at end of file diff --git a/src/i18n/content/es/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx b/src/i18n/content/es/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx index 46e6bd0351b..35d26df87aa 100644 --- a/src/i18n/content/es/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx +++ b/src/i18n/content/es/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx @@ -33,7 +33,9 @@ Antes de habilitar OpenTelemetry en Apache Airflow, deberá instalar el paquete 2. Al instalar con pip, agregue el `otel` adicional al comando. Por ejemplo: - `pip install "apache-airflow[otel]"` + ```sh + pip install "apache-airflow[otel]" + ``` ### Opción 2: instalación desde docker [#install-docker] @@ -41,7 +43,7 @@ Antes de habilitar OpenTelemetry en Apache Airflow, deberá instalar el paquete 2. Amplíe la imagen docker prediseñada utilizando un Dockerfile para instalar el extra `otel`. Puede reemplazar la última etiqueta con la versión que desee de la imagen. - ``` + ```dockerfile FROM apache/airflow:latest RUN pip install --no-cache-dir "apache-airflow[otel]==$AIRFLOW_VERSION" ``` @@ -86,7 +88,7 @@ Elija uno de los siguientes métodos para configurar las opciones requeridas par 1. Configure las opciones requeridas en el archivo `airflow.cfg` . - ``` + ```ini [metrics] otel_on = True otel_host = localhost @@ -96,7 +98,7 @@ Elija uno de los siguientes métodos para configurar las opciones requeridas par 2. O establezca las opciones requeridas como variables de entorno. - ``` + ```sh export AIRFLOW__METRICS__OTEL_ON=True export AIRFLOW__METRICS__OTEL_HOST=localhost export AIRFLOW__METRICS__OTEL_PORT=4318 @@ -136,7 +138,8 @@ Con Airflow métrica, puede crear un panel sobre tuberías individuales, el rend Esta consulta recupera una lista de todas las métricas reportadas para Airflow: ```sql -SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 +SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' +AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 ``` Asegúrate de cambiar el límite (`100`) si tus nombres métricos lo exceden. @@ -144,7 +147,8 @@ Asegúrate de cambiar el límite (`100`) si tus nombres métricos lo exceden. Esta consulta muestra una comparación de diferentes tiempos de finalización para ejecuciones exitosas de diferentes DAG: ```sql -SELECT latest(airflow.dagrun.duration.success) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT latest(airflow.dagrun.duration.success) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` para canalizaciones críticas: ```sql -SELECT count(airflow.dagrun.duration.failed) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT count(airflow.dagrun.duration.failed) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` :64747/metrics", "http://:44217/metrics", "http://:44227/metrics"] - # tls_config: - # ca_file_path: "/etc/etcd/etcd-client-ca.crt" - # cert_file_path: "/etc/etcd/etcd-client.crt" - # key_file_path: "/etc/etcd/etcd-client.key" + # tls_config: + # ca_file_path: "/etc/etcd/etcd-client-ca.crt" + # cert_file_path: "/etc/etcd/etcd-client.crt" + # key_file_path: "/etc/etcd/etcd-client.key" verbose: false # Defaults to false. This determines whether or not the integration should run in verbose mode. audit: false @@ -131,11 +131,9 @@ Nuestra integración Ray monitorea el rendimiento de su Ray, ayudándolo a diagn Utilice las instrucciones de nuestros [documentos del agente de infraestructura](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/) para reiniciar su agente de infraestructura. Este es un comando básico que debería funcionar para la mayoría de las personas: - ````shell + ```shell sudo systemctl restart newrelic-infra.service - ``` - - ```` + ``` diff --git a/src/i18n/content/es/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx b/src/i18n/content/es/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx index 208d0a6f8a0..6715cc0db84 100644 --- a/src/i18n/content/es/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx +++ b/src/i18n/content/es/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx @@ -15,7 +15,7 @@ translationType: machine El operador de agente Kubernetes agiliza la observabilidad de todo el stack para entornos Kubernetes al automatizar la instrumentación APM junto con el despliegue del agente Kubernetes . Al habilitar la instrumentación automática APM , los desarrolladores ya no necesitan gestionar manualmente [el agente APM](/docs/apm/new-relic-apm/getting-started/introduction-apm/). El operador del agente Kubernetes instalará, actualizará y eliminará automáticamente el agente APM. -Actualmente es [compatible con](#k8s-supported-versions) Java, .NET, Node.js, Python y Ruby con lenguajes adicionales (PHP y Go) en camino. +Actualmente es [compatible con](#k8s-supported-versions) Java, .NET, Node.js, Python y Ruby con lenguajes adicionales (PHP y Go) en camino. Se probó en EKS y en un clúster local que ejecuta nodos AMD. ## Antes de que empieces [#before-begin] @@ -30,11 +30,11 @@ Antes de instalar el operador, verifique lo siguiente: Para instalar la dependencia del administrador de certificados, ejecute estos comandos: ```shell - helm repo add jetstack https://charts.jetstack.io - helm install cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --set crds.enabled=true +helm repo add jetstack https://charts.jetstack.io +helm install cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --set crds.enabled=true ``` ## instalación del operador agente Kubernetes [#install-k8s-operator] @@ -54,19 +54,19 @@ Consulte la página [Instalar la integración de Kubernetes](/install/kubernetes Vea este ejemplo del comando Helm usando el parámetro: ```shell - helm repo add newrelic https://helm-charts.newrelic.com - - helm upgrade --install newrelic-bundle newrelic/nri-bundle \ -   --set global.licenseKey= \ -   --set global.cluster= \ -   --namespace=newrelic \ -   --set newrelic-infrastructure.privileged=true \ -   --set global.lowDataMode=true \ -   --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ -   --set kube-state-metrics.enabled=true \ -   --set kubeEvents.enabled=true \ -   --set k8s-agents-operator.enabled=true \ - --create-namespace +helm repo add newrelic https://helm-charts.newrelic.com + +helm upgrade --install newrelic-bundle newrelic/nri-bundle \ + --set global.licenseKey= \ + --set global.cluster= \ + --namespace=newrelic \ + --set newrelic-infrastructure.privileged=true \ + --set global.lowDataMode=true \ + --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ + --set kube-state-metrics.enabled=true \ + --set kubeEvents.enabled=true \ + --set k8s-agents-operator.enabled=true \ + --create-namespace ``` ### Instalación independiente [#standalone-installation] @@ -74,11 +74,11 @@ Vea este ejemplo del comando Helm usando el parámetro: Para instalar el operador del agente de Kubernetes con la configuración predeterminada, ejecute estos comandos: ```shell - helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator - helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ - --namespace newrelic \ - --create-namespace \ - --set licenseKey= +helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator +helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ + --namespace newrelic \ + --create-namespace \ + --set licenseKey= ``` Para obtener una lista completa de opciones de configuración, consulte el cuadro [LÉAME](https://github.com/newrelic/k8s-agents-operator/tree/main/charts/k8s-agents-operator#values) . @@ -128,7 +128,7 @@ Cada namespace requiere un proceso de dos pasos para permitir la instrumentació # - name: NEW_RELIC_APP_NAME # value: "$(NEW_RELIC_LABELS)-$(NEW_RELIC_POD_NAME)" nodejs: - image: newrelic/newrelic-nodejs-init:latest + image: newrelic/newrelic-node-init:latest python: image: newrelic/newrelic-python-init:latest dotnet: @@ -144,11 +144,11 @@ El operador agente Kubernetes busca anotaciones específicas del idioma al progr Vea las anotaciones actualmente admitidas: ```shell - instrumentation.newrelic.com/inject-java: "true" - instrumentation.newrelic.com/inject-nodejs: "true" - instrumentation.newrelic.com/inject-python: "true" - instrumentation.newrelic.com/inject-dotnet: "true" - instrumentation.newrelic.com/inject-ruby: "true" +instrumentation.newrelic.com/inject-java: "true" +instrumentation.newrelic.com/inject-nodejs: "true" +instrumentation.newrelic.com/inject-python: "true" +instrumentation.newrelic.com/inject-dotnet: "true" +instrumentation.newrelic.com/inject-ruby: "true" ``` Vea este ejemplo de implementación con anotación para instrumento el agente de Java: diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx new file mode 100644 index 00000000000..da2a10e805d --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx @@ -0,0 +1,208 @@ +--- +title: CloudWatch fallback +metaDescription: This doc guides you through shipping your telemetry data with Cloudwatch as a fail-safe option. +freshnessValidatedDate: never +translationType: machine +--- + +Puede enviar datos de monitoreo de New Relic Lambda de diferentes maneras según sus necesidades. La opción que proporciona el rendimiento más estable de su función y la seguridad más estable incluye configurar CloudWatch como alternativa. Esto significa que enviarás telemetría a New Relic a través de la extensión y, si hay un problema con la extensión, New Relic seguirá recibiendo carga a través de CloudWatch. + +Beneficios del CloudWatch fallback: + +* **Ejecución independiente**: captura todos los logs de CloudWatch independientemente de la ejecución de su función. Es muy poco probable que interfiera con el funcionamiento normal de su función o afecte la duración de la invocación de su función. +* **Funciona con redes seguras**: útil para funciones en una VPC que no puede tener tráfico saliente a New Relic. +* **Permite un monitoreo mejorado**: Necesario para otras formas de infraestructura y telemetría de base de datos. Para obtener más información, consulte nuestra [documentación de integración de monitoreo mejorado de Amazon RDS](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-rds-enhanced-monitoring-integration/). + +Si bien esta opción de envío ofrece la seguridad más estable, es importante tener en cuenta que el servicio AWS CloudWatch puede generar una gran cantidad de datos. Tenga en cuenta la ingesta de datos cuando piense en los costos y en el plan de precios de New Relic que elija. + +## Cómo funciona el CloudWatch fallback [#works] + +Si la extensión no se inicia, también conocido como modo noop, o falla, no podrá codificar la línea `NR_LAMBDA_MONITORING` generada por nuestro agente. En su lugar, la línea `NR_LAMBDA_MONITORING` aparecerá en el log de CloudWatch. Si la función `newrelic-log-ingestion` está instalada en la misma región que su función, configurada para enviar carga y es activada por el grupo log de CloudWatch de su función, entonces puede actuar como una alternativa a la extensión para enviar carga. + +## Antes de que empieces [#requirements] + +Antes de configurar una opción alternativa, deberá completar lo siguiente: + +* Instale la función `newrelic-log-ingestion` en la región AWS desde donde desea enviar su log. +* Si envía un log, cree un patrón de filtro igual a nulo o cree un patrón personalizado que coincida con el log de función que desea enviar. New Relic recibirá el log de CloudWatch para su función. Para evitar logs duplicados, la extensión debe tener deshabilitado el envío log . El envío log de la extensión está deshabilitado de forma predeterminada. + +Estas son algunas de las mejores prácticas antes de actualizar su capa New Relic Lambda: + +* Antes de actualizar a una versión de capa más nueva, tenga en cuenta que la capa más reciente puede introducir cambios que rompan la extensión o una dependencia de terceros. +* Fije una versión de capa que se sepa que funciona bien para su función y solo actualice a una versión de capa más nueva según sea necesario para resolver errores, obtener nuevas características y parches de seguridad, o porque un agente alcanzó el EOL. +* Revise cuidadosamente todos los cambios y notas de la versión y pruebe en un entorno de desarrollo o de prueba antes de implementar una nueva capa en producción. + +## Opciones de implementación [#fallback] + +Hay tres formas de implementar un respaldo de CloudWatch: + +1. **Habilite la extensión para carga de telemetría y envíe el log a través de CloudWatch**: en este escenario, la carga de telemetría se envía a través de la extensión y el log a través de CloudWatch y, en caso de que la extensión falle, la carga también. +2. **Extensión habilitada para carga y log de telemetría**: En este escenario, la carga y el log de telemetría se envían a través de la extensión. +3. **Extensión deshabilitada**: en este escenario, CloudWatch siempre se usa para enviar logs y carga. + + + + Si no envía el log a CloudWatch, esta opción es la forma más económica y estable de garantizar que la carga instrumentada siempre llegue a New Relic. Si envía un log, esta opción introducirá algunos costos de CloudWatch por el envío log . Consulte [Ingesta de datos: facturación y reglas](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing/) para obtener más información sobre los precios. + + Luego de agregar una capa New Relic Lambda, la extensión está habilitada y tiene el envío log deshabilitado de forma predeterminada. + + 1. Establezca [variables de entorno de extensión](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) en su función: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: verdadero (predeterminado) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: falso (predeterminado) + + 2. Establezca las variables de entorno de su función `newrelic-log-ingestion` : + + * `INFRA_ENABLED`: verdadero + * `LOGGING_ENABLED`: verdadero (si envía el log) + + O, si estás usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), configura: + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` solo debe incluir si su función se está implementando en una cuenta AWS que aún no tiene una integración. Una vez configurada la integración, esta opción debe eliminar del yaml de la función desplegar. + + + O, si estás usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), configura: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key --enable-logs` + * `newrelic-lambda layers install --function --nr-account-id ` + * `newrelic-lambda subscriptions install --function --filter-pattern ""` + + + + Esta opción proporciona la ruta de menor costo que garantiza que la carga instrumentada siempre llegue a New Relic. Esta opción envía el log de funciones a través de la extensión New Relic Lambda, por lo que si la extensión no se inicia o falla, el log de funciones faltará en New Relic. + + Si está enviando un log de función, cerciorar de que la extensión esté configurada para hacerlo. Estos logs solo los enviará la extensión y no habrá un respaldo de CloudWatch para el log para evitar duplicados. + + Luego de agregar una capa New Relic Lambda, la extensión está habilitada y tiene el envío log deshabilitado de forma predeterminada. Si desea ver el log de funciones en New Relic, deberá usar variables de entorno para permitir que la extensión envíe el log de funciones. + + Es importante tener en cuenta que los logs de funciones son solo eso, logs que registra la función durante su invocación. La extensión no enviará logs de Lambda plataforma como `START` y `END`. + + 1. Establezca [variables de entorno de extensión](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) en su función: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: verdadero (predeterminado) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: verdadero 2 Establezca las variables de entorno de su función `newrelic-log-ingestion` : + * `INFRA_ENABLED`: verdadero + * `LOGGING_ENABLED`: falso (deshabilite el reenvío de logpara evitar duplicados o configure el patrón de filtro de subscripción de CloudWatch para que coincida solo con `NR_LAMBDA_MONITORING` líneas) + + O, si estás usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), configura: + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: true + enableIntegration: true + cloudWatchFilter: "NR_LAMBDA_MONITORING" (only send payloads) + ``` + + + `enableIntegration` solo debe incluir si su función se está implementando en una cuenta AWS que aún no tiene una integración. Una vez configurada la integración, esta opción debe eliminar del yaml de la función desplegar. + + + O, si estás usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), configura: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function <name or arn> --nr-account-id <YOUR_NEW_RELIC_ACCOUNT_ID>` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern "NR_LAMBDA_MONITORING"` + + + + Esta opción depende completamente de CloudWatch y nuestra función `newrelic-log-ingestion` para enviar logs y carga a New Relic. Esta opción tiene la extensión deshabilitada para evitar posibles tiempos de inactividad causados por fallas de la extensión. + + Para este método, la extensión New Relic Lambda debe estar completamente deshabilitada para que no impida que la línea `NR_LAMBDA_MONITORING` se escriba en CloudWatch. Con la extensión New Relic Lambda desactivada, toda la telemetría saldrá a través de CloudWatch, el filtro de subscripción y la función `newrelic-log-ingestion`. + + Luego de agregar una capa New Relic Lambda, la extensión está habilitada y tiene el envío log deshabilitado de forma predeterminada. Deberá deshabilitar la extensión con una variable de entorno. + + 1. Configure [las variables de entorno de extensión](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) en su función de la siguiente manera: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: FALSO + + 2. Configure las variables de entorno de su función `newrelic-log-ingestion` de la siguiente manera: + + * `INFRA_ENABLED`: verdadero + * `LOGGING_ENABLED`: verdadero + + O, si estás usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), configura: + + ```yaml + custom: + newRelic: + enableExtension: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` solo debe incluir si su función se está implementando en una cuenta AWS que aún no tiene una integración. Una vez configurada la integración, esta opción debe eliminar del yaml de la función desplegar. + + + O, si estás usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), configura: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function --nr-account-id --disable-extension` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern ""` + + También puede elegir manualmente enviar datos solo a CloudWatch. Para hacer esto: + + 1. Deshabilite la extensión agregando la variable de entorno `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` a su función, con el valor `false`. + 2. Cree un filtro de suscripción de logs de CloudWatch para invocar la función `newrelic-log-ingestion` con el log de su función. + + * La CLI puede hacer esto por usted: `newrelic-lambda subscriptions install --function FUNCTION_NAME` + * Alternativamente, use la consola AWS para crear un filtro de subscripción desde el grupo log de CloudWatch de su función para invocar la función `newrelic-log-ingestion` Lambda. + + O puede seguir estos pasos para transmitir el log de CloudWatch a New Relic Lambda: + + 1. Abra CloudWatch y seleccione + + **Logs** + + en el menú de la izquierda y luego seleccione el grupo log para la función que está monitoreando. + + 2. Seleccione + + **Actions > Subscription filters > Create Lambda subscription filter** + + . + + 3. En + + **Lambda function** + + , seleccione la función `newrelic-log-ingestion` . + + 4. Establezca el + + **Log format** + + en `JSON`. + + 5. Establezca el + + **Subscription filter pattern to** + + `?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId`. Alternativamente, si está empleando la variable de entorno `LOGGING_ENABLED` [, transmita todo su log](#stream-all-logs) a nuestro log, deje este campo en blanco. + + + Asegúrese de que la función Lambda `newrelic-log-ingestion` que seleccione en el método anterior esté en la misma región de AWS que su función Lambda. + + + \ No newline at end of file diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx new file mode 100644 index 00000000000..45e89faba12 --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx @@ -0,0 +1,171 @@ +--- +title: Instrumento su función contenedorizada +metaDescription: A guide for instrumenting your containerized image layer with New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessContainerizedImagesWithLambda from 'images/serverless_diagram_containerized-images-with-lambda.webp' + +Si está empleando una imagen en contenedor para una función Lambda y desea monitor su aplicación, deberá agregar New Relic a su Dockerfile. Por ejemplo, suponga que es desarrollador de una aplicación de cotización y está empleando una función Lambda para calcular los saldos de las cuentas cada vez que un cliente hace clic en **See my balance**. Quieres profundizar en cualquier posible latencia. En ese caso, deberá agregar New Relic a su función, de modo que cada vez que un cliente haga clic en **See my balance**, su función se ejecutará y New Relic también lo hará. + +Aquí hay un diagrama que muestra el proceso de agregar New Relic al Dockerfile para que pueda monitor su función: + +A diagram demonstrating how New Relic integrates with your Lambda containerized function. + +
+ Si está empleando una imagen en contenedor para su función Lambda, puede agregar New Relic a su imagen. +
+ +Aquí hay una guía para agregar nuestra capa prediseñada a su código. + + + + ### Agregue New Relic a su Dockerfile + + New Relic ofrece imágenes prediseñadas que incluyen los diferentes tiempos de ejecución de nuestra capa: Java, Node.js, Python y solo extensión. + + 1. Seleccione la capa compatible con la región y el tiempo de ejecución de su función Lambda específica: + + * [Java](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java) + * [Node.js](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs) + * [Python](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-python) + * [Ruby](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-ruby) + * [.NET](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet) + * [Sólo extensión](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension) + + 2. En su Dockerfile de varias etapas, use la imagen prediseñada de New Relic como etapa de compilación intermedia. Luego, copie el agente y la extensión de New Relic de nuestra imagen prediseñadas en su etapa de compilación final. + + ### Ejemplo + + A continuación se muestra un ejemplo del Dockerfile original fusionado con la capa prediseñada de New Relic. Este ejemplo emplea un tiempo de ejecución de Node.js. + + ```dockerfile + + # Define the New Relic pre-built image + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20 AS layer + + # Define the base image: + FROM public.ecr.aws/lambda/nodejs:20 + + # Copy New Relic Layer code + COPY --from=layer /opt/ /opt/ + + # Rest of your Dockerfile... + ``` + + ### Ejemplos de Dockerfile basados en tiempo de ejecución + + + + + Java + + + + Python + + + + Node.js + + + + Ruby + + + + .NET + + + + Sólo extensión + + + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java:17-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-python:38-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-ruby:32-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ``` + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet:arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension:x86 as layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + + + + ### Crear una imagen + + 1. Luego de agregar la referencia a la imagen prediseñada de New Relic a su Dockerfile, deberá crear una nueva imagen a partir del Dockerfile modificado. Esta nueva imagen tendrá su código original y la imagen prediseñadas de New Relic. Para hacer esto, recomendamos seguir los pasos enumerados en la guía de AWS, [Crear una función Lambda usando una imagen de contenedor](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). + 2. Envíe la nueva imagen a su repositorio de [AWS Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) para su implementación. + + + + ### Crear una nueva función Lambda + + Usando la imagen que envió a AWS ECR, cree una nueva función Lambda. Para obtener más información sobre la creación de esta función, recomendamos volver a la guía de AWS: [Crear una función Lambda](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). + + + + ### Configure su función Lambda + + 2. Configure la función Lambda con la misma configuración que su función original, pero cerciorar de agregar las variables de entorno necesarias para el monitoreo de New Relic Lambda. Consulte nuestras [variables de entorno](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/configure-serverless-monitoring-aws-lambda/#environment) para obtener más información. + + 3. Actualice el controlador de su función para que apunte a la capa recién anexa en la anulación `cmd` para su función. Puede hacerlo siguiendo las instrucciones de estos dos documentos: + + * [Configuración UI de la consola Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console) + * [Instrumentación sin capas para monitorización Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-serverless-monitoring-aws-lambda-layerless) + + \ No newline at end of file diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx new file mode 100644 index 00000000000..8ee4ecbd398 --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx @@ -0,0 +1,324 @@ +--- +title: Instrumentación sin capas +metaDescription: Legacy instructions for manually enabling New Relic monitoring for AWS Lambda. +freshnessValidatedDate: never +translationType: machine +--- + +Si está empleando una función Lambda sin una capa, necesitará instrumentar New Relic según el tiempo de ejecución elegido. Seleccione su tiempo de ejecución a continuación y siga las instrucciones de configuración. + + + + Para instrumentar su Lambda en lenguaje Go: + + 1. Descargue nuestro paquete de agente Go y colóquelo en el mismo directorio que su función. + + 1. Instale el agente ejecutando: + + ```shell + go get -u github.com/newrelic/go-agent/v3/newrelic + ``` + + 2. Instale la integración `nrlambda` ejecutando: + + ```shell + go get -u github.com/newrelic/go-agent/v3/integrations/nrlambda + ``` + + 2. En su código Lambda, importe nuestros componentes, cree una aplicación y actualice cómo inicia su Lambda. Vea nuestros ejemplos de instrumentación: + + * [Repositorio de extensiones](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [Repositorio de agente Go](https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrlambda/example/main.go) + + 3. Opcionalmente, agregue [un evento personalizado](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) que se asociará con su invocación de Lambda mediante la [API`RecordCustomEvent` ](/docs/agents/go-agent/features/create-custom-events-insights-go). Por ejemplo: + + ```go + func handler(ctx context.Context) { + if txn := newrelic.FromContext(ctx); nil != txn { + txn.Application().RecordCustomEvent("MyEvent", map[string]interface{}{ + "zip": "zap", + }) + } + fmt.Println("hello world!") + } + ``` + + 4. Cree y comprima su función Lambda y cárguela en AWS. + + + + Aquí hay sugerencias para comprimir y cargar Lambda: + + 1. Compile el binario para su ejecución en Linux. Esto produce un archivo binario llamado `main`. Puedes usar: + + ```bash + GOOS=linux go build -o main + ``` + + 2. Comprima el binario en un paquete desplegable usando: + + ```bash + zip deployment.zip main + ``` + + 3. Cargue el archivo zip en AWS mediante la consola de AWS Lambda o la CLI de AWS. Nombra el controlador `main` (para que coincida con el nombre dado durante la compilación binaria). + + + + 5. Las siguientes variables de entorno no son necesarias para que funcione el monitoreo de Lambda, pero sí si desea que su función Lambda se incluya en rastreo distribuido. Para habilitar [rastreo distribuido](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing), configure estas [variables de entorno](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) en la consola de AWS: + + * `NEW_RELIC_ACCOUNT_ID`. Su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY.` Este también es su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). Si su cuenta es una cuenta infantil, este es el ID de cuenta para la cuenta raíz/principal. + + 6. Opcionalmente, para configurar el logging, consulte [al logging del agente Go](/docs/agents/go-agent/configuration/go-agent-logging). + + 7. Invoque Lambda al menos una vez. Esto crea un grupo log de CloudWatch, que debe estar presente para que funcione el siguiente paso. + + Nuestro contenedor recopila datos sobre la ejecución de Lambda, genera un mensaje JSON y lo registra en el log de CloudWatch. A continuación, [configurará CloudWatch para enviar esos logs a New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + + + El monitoreo para AWS Lambda en Java no utiliza nuestro [APM agente de Java](/docs/agents/java-agent). En su lugar, utiliza estas dos dependencias de OpenTracing: + + * AWS Lambda OpenTracing Java SDK: instrumentación [de OpenTracing](https://github.com/opentracing) para AWS Lambda RequestHandler y RequestStreamHandler. + + * Nuestro rastreador AWS Lambda OpenTracing: una implementación de rastreador OpenTracing diseñada para monitor AWS Lambda. Genera spans, evento de error, evento de transacción, error traza y brinda soporte de rastreo distribuido. + + + + **Supported OpenTracing Versions** + + + * **OpenTracing 0.31.0** + + : + + * Lambda rastreador: [com.newrelic.opentracing:newrelic-java-lambda:1.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda/1.1.1/jar) + * SDK de Lambda: [com.newrelic.opentracing:java-aws-lambda:1.0.0](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda/1.0.0/jar) + + * **OpenTracing 0.32.0, 0.33.0** + + : + + * Lambda rastreador: [com.newrelic.opentracing:newrelic-java-lambda:2.2.3](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda) + * Lambda SDK: [com.newrelic.opentracing:java-AWS Lambda:2.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda) + + + Para instrumentar su Java Lambda: + + 1. En el archivo `build.gradle` de su proyecto, incluya nuestro rastreador OpenTracing AWS Lambda y la dependencia del SDK de AWS Lambda OpenTracing: + + ```java + dependencies { + compile("com.newrelic.opentracing:java-aws-lambda:2.1.1") + compile("com.newrelic.opentracing:newrelic-java-lambda:2.2.3") + compile("io.opentracing:opentracing-util:0.33.0") + } + ``` + + 2. Implemente la interfaz AWS Lambda `RequestHandler` como se muestra en el [ejemplo de Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage) y anule el método `doHandleRequest` . + + 3. En el método `doHandleRequest` , llame a la API `LambdaTracing.instrument(...)` para crear un intervalo de raíz para trazar la ejecución de la función Lambda. Aquí también es donde definirá su lógica de negocios para la función Lambda. + + 4. Registre un `LambdaTracer.INSTANCE` como rastreador de OpenTracing Global, como se muestra en el [ejemplo de Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage). + + 5. [Cree un paquete ZIP desplegable](https://docs.aws.amazon.com/lambda/latest/dg/java-package.html) y cárguelo en AWS Lambda. O desplegarlo por otros medios. + + 6. En la consola de AWS Lambda, configure el controlador. Para el [ejemplo Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage), el controlador sería `com.handler.example.MyLambdaHandler::handleRequest`. Como se supone `handleRequest` , también puedes usar `com.handler.example.MyLambdaHandler`. + + 7. Las siguientes [variables de entorno de la consola de AWS](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) son necesarias si desea que su función Lambda se incluya en [rastreo distribuido](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Esto es recomendable. + + * `NEW_RELIC_ACCOUNT_ID`. Su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_PRIMARY_APPLICATION_ID`. Este también es su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este también es su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). Si su cuenta es una cuenta secundaria, este debe ser el ID de la cuenta raíz/principal. + + 8. Opcional: en la consola de Lambda, habilite el logging de depuración agregando esta variable de entorno: `NEW_RELIC_DEBUG` es `true`. + + 9. Invoque Lambda al menos una vez. Esto crea un grupo log de CloudWatch, que debe estar presente para que funcione el siguiente paso. + + Nuestro contenedor recopila datos sobre la ejecución de Lambda, genera un mensaje JSON y lo registra en el log de CloudWatch. A continuación, [configurará CloudWatch para enviar esos logs a New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + Consulte el [ejemplo de rastreo distribuido de AWS Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java/tree/main/examples/distributed-tracing-example) para ver un proyecto completo que ilustra casos de uso comunes como: + + * Rastreo distribuido entre función Lambda + * Creación manual de tramos (también conocida como instrumentación personalizada) + * Seguimiento de llamadas externas + * Agregar atributo personalizado (también conocido como etiqueta) a los tramos + + + + Para instrumentar su Lambda Node.js: + + 1. Descargue nuestro paquete de agente Node.js y colóquelo en el mismo directorio que su función, asegurándose de que el agente esté instalado como una dependencia en el directorio `node_modules` . Utilice el Nodo administrador de paquetes: + + ```bash + + npm install newrelic --save + + ``` + + 2. En su código Lambda, solicite el módulo de agente en la parte superior del archivo y ajuste la función del controlador. Por ejemplo: + + ```js + + const newrelic = require('newrelic'); + + // Other module loads go under the require statement above + + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + // This is your handler function code + console.log('Lambda executed'); + callback(); + }); + + ``` + + 3. Opcional: también puede agregar [un evento personalizado](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) a su Lambda mediante la [API`recordCustomEvent` ](/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#record_custom_event). Por ejemplo: + + ```js + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + newrelic.recordCustomEvent('MyEventType', { foo: 'bar' }); + console.log('Lambda executed'); + callback(); + }); + ``` + + 4. Comprima su función Lambda y la carpeta del agente Node.js juntas. Requisitos y recomendaciones: + + * No es necesario incluir los archivos de New Relic fuera de la carpeta del agente de New Relic. + * Si el nombre de su archivo de función Lambda es, por ejemplo, `lambda_function.node`, le recomendamos nombrar su archivo zip `lambda_function.zip`. No utilice un tarball. + * Su Lambda y sus módulos asociados deben estar en el directorio raíz del archivo zip. Esto significa que si comprime una carpeta que contiene los archivos, no funcionará. + + 5. Cargue el archivo comprimido en su cuenta de AWS Lambda. + + 6. En la consola de AWS, configure estas [variables de entorno](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html): + + * `NEW_RELIC_NO_CONFIG_FILE`. Establezca en `true` si no utiliza un archivo de configuración. + * `NEW_RELIC_APP_NAME`: el nombre de su aplicación. + * `NEW_RELIC_ACCOUNT_ID`. Su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este también es su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). Si su cuenta es una cuenta infantil, este debe ser el ID de la cuenta raíz/principal. + + 7. Opcional: para ejecutar el agente en modo serverless fuera de AWS en un entorno local, establezca la variable de entorno `NEW_RELIC_SERVERLESS_MODE_ENABLED` en `true`. (Al ejecutar esto en un entorno AWS Lambda, el agente se ejecutará automáticamente en modo serverless. **Do not use this variable if you're running in AWS**.) + + 8. Opcional: para habilitar el logging en modo serverless, configure estas variables de entorno: + + * Establezca `NEW_RELIC_LOG_ENABLED` en `true`. + * Establezca `NEW_RELIC_LOG` en `stdout` para la salida a CloudWatch o configúrelo en cualquier ubicación de archivo que se pueda escribir. + * `NEW_RELIC_LOG_LEVEL` está configurado en `info` de forma predeterminada y solo se usa al enviar el registro de funciones en su Lambda. Ver [otros niveles de logs](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#logging_config). + + 9. Opcional: si su función Lambda utiliza módulos ES, establezca la variable de entorno `NEW_RELIC_USE_ESM` en `true`. Tenga en cuenta que si usa módulos ES, debe usar async/await o promesas para su función. Las funciones basadas en devolución de llamada no son compatibles. + + 10. Invoque Lambda al menos una vez. Esto crea un grupo log de CloudWatch, que debe estar presente para que funcione el siguiente paso. + + Nuestro contenedor recopila datos sobre la ejecución de Lambda, genera un mensaje JSON y lo registra en el log de CloudWatch. A continuación [, configurará CloudWatch para enviar esos logs a New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + Lea más sobre cómo [enviar logs de funciones con Lambda](https://github.com/newrelic/newrelic-lambda-extension). + + + + Para instrumentar su Python Lambda: + + 1. Descargue nuestro paquete de agente Python y colóquelo en el mismo directorio que su función. Para hacer esto, use pip: + + ```bash + + pip install -t . newrelic + + ``` + + + Si utiliza Homebrew, puede recibir este error: `DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both`. Para obtener más información, consulte la [publicación de Homebrew en GitHub](https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user). + + + 2. En su código Lambda, importe el módulo del agente Python y decore la función del controlador utilizando el decorador New Relic. **The New Relic package must be imported first in your code.** A continuación se muestra un ejemplo: + + ```py + + import newrelic.agent + newrelic.agent.initialize() + @newrelic.agent.lambda_handler() + def handler(event, context): + ... + + ``` + + 3. Opcional: también puede agregar [un evento personalizado](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) a su Lambda mediante la [API`record_custom_event` ](/docs/agents/python-agent/python-agent-api/record_custom_event). He aquí un ejemplo: + + ```py + + @newrelic.agent.lambda_handler() + def handler(event, context): + newrelic.agent.record_custom_event('CustomEvent', {'foo': 'bar'}) + ... + + ``` + + 4. Comprima sus carpetas `lambda_function.py` y `newrelic/` juntas siguiendo estas pautas: + + * No es necesario incluir los archivos New Relic fuera de la carpeta `newrelic/` . + * Si el nombre de su archivo de función Lambda es, por ejemplo, `lambda_function.py`, asigne a su archivo zip el nombre `lambda_function.zip`. No utilice un tarball. + * Su Lambda y sus módulos asociados deben estar en el directorio raíz del archivo zip. Esto significa que si comprime una carpeta que contiene los archivos, no funcionará. + + 5. Cargue el archivo comprimido en su cuenta de AWS Lambda. + + 6. En la consola de AWS, configure esta [variable de entorno](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html): + + * `NEW_RELIC_SERVERLESS_MODE_ENABLED`. Ajustado a `true` + + 7. Las siguientes variables de entorno no son necesarias para que funcione el monitoreo de Lambda, pero sí si desea que su función Lambda se incluya en rastreo distribuido. Para habilitar [rastreo distribuido](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing), configure estas [variables de entorno](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) en la consola de AWS: + + * `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`. Establecer en verdadero. + * `NEW_RELIC_ACCOUNT_ID`. Su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este también es su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id). Si su cuenta es una cuenta infantil, este debe ser el ID de la cuenta raíz/principal. + + 8. Opcional: para configurar el logging, utilice las [variables de entorno`NEW_RELIC_LOG` y `NEW_RELIC_LOG_LEVEL` ](/docs/agents/python-agent/configuration/python-agent-configuration#environment-variables)en la consola de AWS. + + 9. Invoque Lambda al menos una vez. Esto crea un grupo log de CloudWatch, que debe estar presente para que funcione el siguiente paso. + + El decorador de New Relic recopila datos sobre la ejecución de Lambda, genera un mensaje JSON y lo registra en el log de CloudWatch. A continuación, [configure CloudWatch para enviar esos logs a New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + + + New Relic no tiene un método de instrumentación Ruby sin capas. Si está empleando capas, consulte nuestro documento [Lambda de función no contenedora](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own) . + + + + En la mayoría de los casos, el agente .NET activará automáticamente su función Lambda AWS y cambiará a un "modo sin servidor" que deshabilitará el envío de datos directamente a New Relic , así como alguna otra característica. Debe emplear la extensión Lambda de New Relic o el método lambda `newrelic-log-ingestion` para enviar datos a New Relic. + + Para instrumentar su .NET Lambda: + + 1. Agregue el [paquete nuget NewRelic.Agente](https://www.nuget.org/packages/NewRelic.Agent) a su proyecto AWS Lambda . Para obtener más información, consulte nuestra [guía de instalación](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/). + 2. Agregue las [variables de entorno necesarias](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-linux) a su proyecto. `NEW_RELIC_LICENSE_KEY` no es obligatorio ya que el agente no intentará contactar ni enviar datos directamente a New Relic. + 3. Establezca las variables de entorno opcionales: + + * `NEW_RELIC_APP_NAME` + + 4. Publique el proyecto en su cuenta de AWS Lambda. + 5. [Configure](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/) la extensión New Relic Lambda o la lambda `newrelic-log-ingestion` . + 6. Opcional: para configurar el registro, emplee las [variables de entorno`NEWRELIC_LOG_CONSOLE` y `NEWRELIC_LOG_LEVEL` ](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#log)en la consola de AWS. + 7. Invoque Lambda al menos una vez para comprobar si hay errores y cerciorar de que los datos sean visibles en la New Relic UI. + + + + \ No newline at end of file diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx new file mode 100644 index 00000000000..7608e1d8bce --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx @@ -0,0 +1,256 @@ +--- +title: instrumento tu función Lambda no contenedorizada +metaDescription: Instrument your non-containerized Lambda function +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessNonContainerizedLambdaFunction from 'images/serverless_diagram_non-containerized-lambda-function.webp' + +Una vez que vinculó con éxito sus cuentas de New Relic y AWS , puede instrumentar su función Lambda AWS no en contenedores agregando la capa New Relic Lambda. Esto integra el agente New Relic, lo que permite el monitoreo automático cada vez que se invocan sus funciones. + +a diagram depicting non-containerized lambda function instrumentation + +## Antes de que empieces [#begin] + +* [Vincula tus cuentas de New Relic y AWS](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#link) +* [Revise nuestros diferentes métodos de instrumentación](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#method) + +## Métodos de instrumentación [#instrumentation] + +New Relic ofrece varios métodos para instrumentar su función Lambda AWS para un monitoreo integral: + +* **Interfaz de línea de comando (CLI)**: emplee la CLI AWS para agregar rápidamente la capa New Relic a su función Lambda. +* **Framework sin servidor**: integre perfectamente la instrumentación New Relic en su despliegue sin servidor. +* **CloudFormation/SAM**: incluya la capa New Relic en sus plantillas de infraestructura como código. +* **Terraform**: gestione fácilmente la instrumentación de New Relic junto con sus otros recursos de infraestructura. +* **Instrumentación manual**: agregue directamente la capa New Relic a través de la consola AWS Lambda para un control más granular. + +Independientemente del método que elija, la capa New Relic agrega el agente New Relic a sus funciones. Este agente instrumenta automáticamente sus funciones tras la invocación, generando una carga, `NR_LAMBDA_MONITORING`, que se envía a New Relic a través de la extensión New Relic Lambda. + +Dependiendo de sus necesidades, puede optar por omitir la extensión y solo ver la telemetría en CloudWatch, omitir CloudWatch o usar CloudWatch como alternativa. La sección [CloudWatch](#CloudWatch-only) al final de este documento lo guiará a través de cada opción. + + + + Puedes instrumentar tu función Lambda con la `newrelic-lambda` CLI inicio rápido. + + Para instalar o actualizar la capa de instrumentación de New Relic, ejecute este comando: + + ```shell + newrelic-lambda layers install --nr-account-id YOUR_NR_ACCOUNT_ID --function my-function --upgrade + ``` + + Este comando encuentra automáticamente la capa más nueva disponible para la región y el tiempo de ejecución de Lambda. + + Este comando proporciona una forma rápida de iniciar la instrumentación New Relic y se puede integrar fácilmente en su canal de CI/CD. Sin embargo, dado que modifica los recursos de función Lambda existentes, la reimplementación del código actualizado puede eliminar la instrumentación sin dar. Para garantizar un monitoreo continuo, vuelva a ejecutar el comando luego de cada despliegue o, preferiblemente, incorpore la capa y la configuración New Relic directamente en su proceso de despliegue. + + Tenga en cuenta que la CLI puede operar en muchas funciones en un lote: use `--function all`, `--function installed` o `--function not-installed` para operar en todas las funciones en una región, o solo aquellas con o sin instrumentación New Relic existente. + + + + El Serverless Application Model de AWS, o SAM, es una variante de las plantillas de CloudFormation que simplifica la relación de funciones con los recursos de los que dependen y la gestión del ciclo de vida de una aplicación completa. Usamos SAM y CloudFormation para la mayoría de nuestras funciones de ejemplo de Lambda, y muchas otras herramientas se crean sobre las plantillas de CloudFormation, lo que proporciona una capa adicional de abstracción. + + CloudFormation es un servicio de AWS que simplifica el aprovisionamiento y la gestión de recursos AWS . Al definir el estado deseado de los recursos en plantillas YAML o JSON, CloudFormation maneja automáticamente la API de llamada subyacente para crear, actualizar o eliminar recursos según sea necesario. Este enfoque declarativo automatiza la gestión de la infraestructura, garantizando coherencia y reproducibilidad. + + A continuación se muestra un ejemplo de una plantilla de CloudFormation simple para una función Lambda de Node.js: + + ```yaml + AWSTemplateFormatVersion: '2010-09-09' + Transform: AWS::Serverless-2016-10-31 + Description: And example of a simple instrumented Node.js Lambda + + Resources: + NewRelicExample: + Type: AWS::Serverless::Function + Properties: + # In this example, we're using the SAM CLI to package and deploy our lambda. SAM will transform this value during the publish step. + CodeUri: newrelic-example-node/ + # The handler for your function needs to be the one provided by the instrumentation layer, below. + Handler: newrelic-lambda-wrapper.handler + Runtime: nodejs12.x + Environment: + Variables: + # For the instrumentation handler to invoke your real handler, we need this value + NEW_RELIC_LAMBDA_HANDLER: YOUR_PATH_TO_INITIAL_LAMBDA_HANDLER + # Distributed tracing needs your account ID, and your trusted account ID + NEW_RELIC_ACCOUNT_ID: YOUR_ACCOUNT_ID_HERE + # If your New Relic account has a parent account, this value should be that account ID. Otherwise, just + # your account id. + NEW_RELIC_TRUSTED_ACCOUNT_KEY: YOUR_PARENT_ACCOUNT_ID_HERE + Layers: + # This layer includes the New Relic Lambda extension, a sidecar process that sends telemetry, + # as well as the New Relic agent for Node.js, and a handler wrapper that makes integration easy. + - !Sub arn:${AWS::Partition}:lambda:${AWS::Region}:451483290750:layer:NewRelicNodeJS12X:34 + Policies: + # This policy allows the lambda to know the value of the New Relic license key. We need this so + # that we can send telemetry back to New Relic + - AWSSecretsManagerGetSecretValuePolicy: + SecretArn: !ImportValue NewRelicLicenseKeySecret-NewRelic-LicenseKeySecretARN + ``` + + Normalmente, tendrá un archivo llamado `template.yaml` que describe su función y sus recursos. + + + + framework sin servidor es una herramienta popular de desarrollo e implementación para aplicaciones sin servidor. Está escrito para AWS en Node.js y actúa principalmente como una abstracción de alto nivel sobre las plantillas de CloudFormation. Funciona bien para funciones de Node, Python, Ruby, Java y .NET. + + New Relic ofrece un [complemento framework Serverless](https://github.com/newrelic/serverless-newrelic-lambda-layers) para simplificar la instrumentación de su aplicación framework Serverless. + + Para instalar el complemento, ejecute este comando: + + ```bash + npm install --save-dev serverless-newrelic-lambda-layers + ``` + + O, alternativamente, puede ejecutar este comando: + + ```bash + yarn add --dev serverless-newrelic-lambda-layers + ``` + + Luego, busque su [New Relic ID](/docs/accounts/install-new-relic/account-setup/account-id) [New Relic de cuenta API](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) , su clave de personal de + + Ahora agregue lo siguiente a su archivo `serverless.yaml` : + + ```yaml + plugins: + - serverless-newrelic-lambda-layers + custom: + newRelic: + accountId: your-new-relic-account-id-here + apiKey: your-new-relic-personal-api-key-here + linkedAccount: your-new-relic-integration-account-name-here + ``` + + + + Terraform es una infraestructura popular de uso general como herramienta de código. Se puede emplear para gestionar recursos de AWS. Ofrecemos [algunos ejemplos](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/terraform) de New Relic instrumentado función Lambda desplegar usando el script Terraform. + + + + Si bien es más propenso a errores y requiere más mano de obra que los enfoques anteriores, puede modificar manualmente la configuración de una función Lambda para usar New Relic desde la consola AWS Lambda, para Node.js, Python, Ruby y Java. + + Aquí hay un ejemplo de cómo implementar el monitoreo New Relic Lambda para un tiempo de ejecución Ruby : + + 1. Navegue a la sección del servicio **Lambda** en la consola web de AWS. Desde allí, busque la función Lambda que desea conectar a New Relic. + + 2. En la pestaña **Code** predeterminada, desplazar hacia abajo hasta la sección **Layers** y haga clic en el botón **Add a layer** . + + 3. Haga clic en el botón **Create layer** . + + 4. Vaya a **Choose a layer** y seleccione la opción **Specify an ARN** . + + 5. Vaya a la [New Relic's list of layers](https://layers.newrelic-external.com/) y use la lista desplegable para seleccionar la región de AWS donde está alojada su función Lambda. Desde allí, ubique el ARN que coincida con la versión y arquitectura de Ruby de su función Lambda. Debería haber dos opciones: X86 y ARM64. Utilice el botón **Copy to clipboard** o copie manualmente la cadena ARN. + + 6. En la sección **Specify an ARN** del formulario de la consola de AWS, pegue el ARN de la capa New Relic Lambda. + + 7. En el formulario de la consola de AWS, haga clic en el botón **Add** para agregar la capa a su función Lambda. + + 8. En la página de su función Lambda, con la pestaña **Code** predeterminada seleccionada, desplácese hacia abajo hasta la sección **Runtime settings** y haga clic en el botón **Edit** . + + 9. Haga una copia segura del valor del **Handler** existente. Lo necesitarás para un paso posterior. + + 10. Cambie el valor del **Handler** a: `newrelic_lambda_wrapper.handler` y haga clic en **Save**. + + 11. Cambie a la pestaña de **Configuration** en la página de su función Lambda. + + 12. Seleccione la subpestaña **Environment variables** . + + 13. Defina las siguientes variables de entorno: + + * `NEW_RELIC_ACCOUNT_ID`: Establezca su [ID de cuenta](/docs/accounts/install-new-relic/account-setup/account-id) de New Relic . + + * `NEW_RELIC_LAMBDA_HANDLER`: Establezca el valor del controlador original de su función copiado anteriormente. + + * `NEW_RELIC_LICENSE_KEY`: Configure su clave de licencia de New Relic. + * `NEW_RELIC_LOG_ENDPOINT`: Establezca en [https://log-api.newrelic.com/log/v1](https://log-api.newrelic.com/log/v1). + * `NEW_RELIC_TELEMETRY_ENDPOINT`: Establezca en [https://cloud-collector.newrelic.com/aws/lambda/v1](https://cloud-collector.newrelic.com/aws/lambda/v1). + + 14. Si desea enviar el log de su función Lambda a New Relic, que incluirá todo lo que su función escribe en STDOUT, cerciorar de configurar la variable de entorno `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` en `true`. + + 15. Modifique la función de ejecución para permitir el acceso al secreto de la clave de licencia de New Relic. + + * Busque el ARN del secreto denominado `NEW_RELIC_LICENSE_KEY`. + + * Agregue una nueva política en línea en la función de ejecución de la función que se parece a este código a continuación. Reemplace el `SECRET_ARN` con el valor que encontró arriba. + + ```json + "Statement": [ + { + "Action": [ + "secretsmanager:GetSecretValue" + ], + "Resource": "SECRET_ARN", + "Effect": "Allow" + } + ] + ``` + + + La capa New Relic entregará automáticamente el agente Ruby de New Relic y se cargará a través de Ruby `require` antes de la invocación de su función Lambda. Para evitar conflictos, no incluya una copia del agente Ruby en ningún otro lugar. Sentir libre de realizar cualquier llamada API del agente New Relic Ruby que desee dentro de su función para aprovechar la presencia del agente. + + + Los tiempos de ejecución de Java, Python, Node.js y .Net seguirán el mismo flujo de instrumentación que Ruby, pero con algunos controladores diferentes. A continuación se explica cómo actualizar el controlador de su función para que apunte a la capa recién anexa en la consola para su función: + + * Java: + + * `RequestHandler` implementación: `com.newrelic.java.HandlerWrapper::handleRequest`. + * `RequestStreamHandlerWrapper` implementación: `com.newrelic.java.HandlerWrapper::handleStreamsRequest`. + + * Python: `newrelic_lambda_wrapper.handler` (guiones bajos). + + * Nodo: `newrelic-lambda-wrapper.handler` (guiones). + + * Para .Net no es necesario configurar el controlador. + + Tenga en cuenta que para Go, debe realizar cambios en el código fuente de su función Lambda para implementarla. Los cambios de configuración no son suficientes. + + + +## Métodos de envío + + + + Cada capa de agente también contiene una extensión para enviar logs y carga a New Relic, sin pasar por CloudWatch. Esto puede ayudar a reducir la latencia y los costos. Sin embargo, existe el riesgo de afectar el rendimiento y la confiabilidad de su función. + + Luego de agregar una capa New Relic Lambda, la extensión está habilitada y tiene el envío log deshabilitado de forma predeterminada. + + Si desea ver el log de funciones en New Relic, deberá habilitar el envío de extensión del log de funciones con una variable de entorno. + + Es importante tener en cuenta que el log de función es solo el log registrado por la función durante su invocación. La extensión no enviará logs de tiempo de ejecución de Lambda como líneas `START`, `END` y `REPORT` . + + + + Puede optar por enviar datos solo a CloudWatch o como respaldo. Para obtener más información, consulte nuestra [documentación de respaldo de CloudWatch](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloudwatch-fallback). + + + +## ¿Que sigue? [#find-data] + +* Luego de completar estos pasos, podrá ver reportes de datos en la [UIde monitoreo de Lambda](/docs/lambda-monitoring-ui). +* Si tiene problemas para encontrar sus datos, consulte [Lambda habilitar resolución de problemas](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#troubleshoot). \ No newline at end of file diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx new file mode 100644 index 00000000000..01628a9b692 --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx @@ -0,0 +1,1259 @@ +--- +title: Introducción al monitoreo de AWS Lambda +metaDescription: This provides an overview of New Relic's AWS Lambda monitoring and details how to link your accounts. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessShippingMethods from 'images/serverless_diagram_shipping-methods.webp' + +A medida que su organización realiza la transición a una arquitectura de función como servicio (FaaS) con AWS Lambda, comprender y optimizar el rendimiento de la función se vuelve fundamental para garantizar una experiencia del usuario fluida y eficiente. Cada invocación de Lambda representa un posible cuello de botella u oportunidad de mejora. + +La instrumentación de New Relic para AWS Lambda proporciona una visibilidad profunda del funcionamiento interno de sus funciones. Al agregar el agente New Relic a su función, cada vez que se invoca su función, New Relic también lo hace. Puede obtener información valiosa sobre métricas de rendimiento clave, como duración, arranques en frío, excepciones y rastreos. + +Este documento explicará la arquitectura de monitoreo Lambda de New Relic y lo guiará en el proceso de vinculación de sus cuentas de AWS y New Relic. Deberá vincular sus cuentas antes de implementar sus funciones. + +## Cómo funciona la instrumentación Lambda [#how] + +Estos son los elementos esenciales de la instrumentación de AWS Lambda con New Relic: + +* **Tu función**: Tu función es el código que deseas comprender. Quiere saber cuándo encuentra errores, por qué es lento o con qué frecuencia se invoca. +* **El agente o SDK de New Relic **: Dependiendo del idioma en el que esté escrita su función, New Relic proporciona diferentes agentes o SDK. Su trabajo es hacer el monitoreo real de su código. Mide la duración de las invocaciones de funciones, anota los errores que se producen, registra detalles sobre el evento fuente y las respuestas de las funciones. Para hacer esto, debe ajustar a la función del controlador de invocación de Lambda. +* **La extensión New Relic Lambda**: cuando implemente la extensión New Relic Lambda en su función, se ejecutará dentro del entorno de ejecución de Lambda, junto con su código. Mejora la telemetría que el agente recopila y la envía al backend de New Relic en lotes. También puede enviar el log de su función a New Relic. No necesita la extensión Lambda para monitor su función con New Relic. + +## Elige tu método de envío [#method] + +Hay tres formas de enviar su telemetría AWS Lambda de New Relic. El método de envío que elija dependerá de sus necesidades de datos. + +A screenshot depicting the different shipping methods for Lambda + +* **Costo**: la forma más rentable de emplear AWS Lambda es mediante el uso de cualquiera de nuestras capas, que incluyen la extensión Lambda. De forma predeterminada, nuestra extensión nunca envía datos a AWS CloudWatch. +* **Confiabilidad**: puede enviar sus datos únicamente a través de CloudWatch. Para hacer esto, deshabilitará la extensión New Relic Lambda. Esto significa que su función Lambda será más liviana y no tendrá ningún proceso adicional para ejecutar cuando se invoque. En este caso, el log y la carga se enviarán a New Relic a través de CloudWatch y no a través de la extensión. +* **Lo mejor de ambos mundos**: el uso de la extensión con AWS CloudWatch como alternativa ayuda a mantener bajos los costos y, al mismo tiempo, brinda seguridad en caso de que haya un problema con la extensión. + +Le mostraremos cómo instrumentar su función Lambda usando cada método en nuestros documentos de instrumentación: + +* [instrumento tu función contenedorizada Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/containerized-images/) +* [instrumento tu función Lambda no contenedorizada](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own/) +* [instrumento tu función sin capas Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monioring-lambda-monitoring-layerless/) + +## Antes de que empieces [#begin] + +Antes de habilitar el monitoreo sin servidor usando nuestra capa Lambda, necesitará: + +1. Una cuenta de New Relic con función de administrador o con el **Infrastructure manager** [rol complementario](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on). + +2. Un + + + + . + +3. Una cuenta de AWS con permisos para crear recursos de IAM, secretos administrados y Lambdas. También necesita permisos para crear una pila de CloudFormation y depósitos de S3. + +Luego deberás completar lo siguiente: + +1. Instale la configuración[de AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) usando `aws configure`. Necesitará un ID de clave de acceso de AWS y una clave de acceso secreta de AWS. + +2. Instale [Python](https://www.python.org/downloads/) versión 3.3 o superior. + +3. Instale la [CLI newrelic-lambda](https://github.com/newrelic/newrelic-lambda-cli#installation). Para instalar, ejecute lo siguiente: + + ```brew + pip3 install newrelic-lambda-cli + ``` + +4. De forma predeterminada, empleamos la política gestionada de AWS `ReadOnlyAccess`. Esto permite que la integración de infraestructura vea todos los recursos de su cuenta, en lugar de solo su función Lambda y métricas de CloudWatch. New Relic recomienda este valor predeterminado, pero entendemos que algunas organizaciones prefieren una postura de seguridad estricta para la integración de terceros. Si desea limitar el acceso de New Relic, se puede otorgar la función de IAM con un mínimo de estas licencias: + +```yaml + Resource: "*" + Action: + - "cloudwatch:GetMetricStatistics" + - "cloudwatch:ListMetrics" + - "cloudwatch:GetMetricData" + - "lambda:GetAccountSettings" + - "lambda:ListFunctions" + - "lambda:ListAliases" + - "lambda:ListTags" + - "lambda:ListEventSourceMappings" +``` + +5. Antes de ejecutar la CLI, deberá otorgar a New Relic un mínimo de estas licencias en AWS: + +```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "CLIAccessPolicy", + "Action": [ + "cloudformation:CreateChangeSet", + "cloudformation:CreateStack", + "cloudformation:DescribeStacks", + "cloudformation:ExecuteChangeSet", + "iam:AttachRolePolicy", + "iam:CreateRole", + "iam:GetRole", + "iam:PassRole", + "lambda:AddPermission", + "lambda:CreateFunction", + "lambda:GetFunction", + "logs:DeleteSubscriptionFilter", + "logs:DescribeSubscriptionFilters", + "logs:PutSubscriptionFilter", + "s3:GetObject", + "serverlessrepo:CreateCloudFormationChangeSet", + "secretsmanager:CreateSecret" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Sid": "NRLogAccessPolicy", + "Effect": "Allow", + "Action": [ + "serverlessrepo:CreateCloudFormationTemplate", + "serverlessrepo:GetCloudFormationTemplate" + ], + "Resource": "arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion" + } + ] + } +``` + +Si desea obtener más información sobre nuestra CLI, consulte [nuestro repositorio de CLI](https://github.com/newrelic/newrelic-lambda-cli#installation). + +## Tiempos de ejecución de lenguaje AWS Lambda recomendados [#recommended] + +Recomendamos los siguientes tiempos de ejecución: + +* Nodo.js: `nodejs16.x`, `nodejs18.x`, `nodejs20.x` +* Python: `python3.8`, `python3.9`, `python3.10`, `python3.11`, `python3.12` +* Go: `provided.al2` +* Java: `java8.al2`, `java11`, `java17` +* Ruby: `ruby3.2`, `ruby3.3` +* .NET: `dotnet6`, `dotnet8` + +## Considere los costos [#costs] + +Habilitar el monitoreo sin servidor para AWS Lambda puede generar cargos por Amazon Sitio web Services. Nuestra `newrelic-log-ingestion` función Lambda, que nos informa sus datos Lambda, se considera un [Servicio de terceros](/docs/licenses/license-information/acceptable-use-policy/acceptable-use-policy): los cargos AWS resultantes de su uso son su responsabilidad. + +Si emplea la [extensión Lambda](https://github.com/newrelic/newrelic-lambda-extension), puede evitar el cargo por ingesta de logs de CloudWatch para la telemetría recopilada por New Relic. + +## Vincule sus cuentas de AWS y New Relic [#link] + +Antes de poder instrumentar su función, deberá vincular su cuenta AWS a New Relic. Al vincular cuentas, le otorga licencia New Relic para crear un inventario de su cuenta AWS y recopilar automáticamente métricas de CloudWatch para su función Lambda. Una vez que vinculó las cuentas, los recursos de su cuenta AWS aparecerán como entidad en el explorador de entidades. + + + + ## Capa Lambda de instrumento New Relic con la CLI `newrelic-lambda` + + Para instrumentar la capa Lambda de New Relic, ejecute: + + ```bash + newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID + --nr-api-key YOUR_NEW_RELIC_USER_KEY + ``` + + La CLI `newrelic-lambda` agrega New Relic como secreto en [AWS Secret Manager](https://aws.amazon.com/secrets-manager/) para mayor seguridad. + + + + ## Instalar arroyos métricos [#metric-streams] + + Para que New Relic monitor su función Lambda, deberá instalar [métrica Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream) o [API Polling](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring). Recomendamos usar métrica Streams pero también puedes dejar que la CLI instale automáticamente la integración API Polling por ti. + + Si desea emplear métrica Streams, instálelo ahora antes de ejecutar la CLI. Puede instalarlo empleando nuestra [integración Connect AWS empleando la documentación de métrica Streams](docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) . + + + + ## Variables de entorno [#environment] + + Cuando instrumenta la capa Lambda de New Relic con la CLI, sus variables de entorno se configurarán automáticamente. Es posible que desee cambiar algunas de las configuraciones predeterminadas y configurar su función Lambda con las variables de entorno que coincidan con sus necesidades de monitoreo. Elija su tiempo de ejecución para ver las variables de entorno disponibles y nuestras recomendaciones para la configuración predeterminada. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Su ID de cuenta de New Relic o ID de padre, si existe +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Su ID de cuenta de New Relic o ID de padre, si existe +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Activar o desactivar rastreo distribuido +
+ `NEW_RELIC_PRIMARY_APPLICATION_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_DEBUG` + + `false` + + `true`, `false` + + Nivel de agente de logs +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Su ID de cuenta de New Relic o ID de padre, si existe +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Activar o desactivar rastreo distribuido (excluido Java) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + El agente Node.js usa variables de entorno en Lambda, por lo que debe configurar en `true` +
+ `NEW_RELIC_APP_NAME` + + + + + + Debe configurar pero no se emplea en la New Relic UI. En cambio, los nombres de entidades provienen de la integración AWS . +
+ `NEW_RELIC_LOG_ENABLED` + + `false` + + `true`,`false` + + Envía el log del agente a CloudWatch +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `fatal`, `error`, `warn`, `info`, `debug`, `trace` + + Nivel de agente de logs +
+ `NEW_RELIC_LOG` + + `stdout` + + `stdout` + + La ruta log del agente debe ser la salida estándar para el agente Node.js en modo sin servidor. +
+ `NEW_RELIC_USE_ESM` + + `false` + + `true`, `false` + + Funciones ESM que usan async/await y no devolución de llamada +
+ `NEW_RELIC_NATIVE_METRICS_ENABLED` + + `true` + + `true`, `false` + + Debe establecer en falso para reducir la duración del arranque en frío. Cuando se establece en `false` no recopila máquina virtual (VM) métrica +
+ + Puede encontrar más variables de entorno en nuestra [documentación de configuración de Node.js.](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/) +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Su ID de cuenta de New Relic o ID de padre, si existe +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Activar o desactivar rastreo distribuido (excluido Java) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + El agente usa variables de entorno en Lambda, por lo que debe establecer en verdadero +
+ `NEW_RELIC_APP_NAME` + + + + + + Debe configurar pero no se emplea en la New Relic UI. En cambio, los nombres de entidades provienen de la integración AWS . +
+ `NEW_RELIC_LOG` + + `stderr` + + `stderr` + + La ruta log del agente debe ser `stderr `para el agente Python en modo sin servidor. +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `critical`, `error`, `warning`, `info`, `debug` + + Nivel de agente de logs +
+ `NEW_RELIC_SERVERLESS_MODE_ENABLED` + + `false` + + `true`, `false` + + Esto debe establecer en `true` para que el agente se ejecute en modo sin servidor. +
+ `NEW_RELIC_PACKAGE_REPORTING_ENABLED` + + `true` + + `true`, `false` + + Los reportes del paquete del agente Python deben configurar en `false` para mejorar los tiempos de inicio en frío +
+ + Puede encontrar más variables de entorno en nuestra [documentación de configuración de Python](/docs/apm/agents/python-agent/configuration/python-agent-configuration). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + Su ID de cuenta de New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Su ID de cuenta de New Relic o ID de padre, si existe +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Activar o desactivar rastreo distribuido +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + Establezca el valor original del controlador de su función +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `CORECLR_ENABLE_PROFILING` + + + + `0`, `1` + + Requerido: Esto debe configurar en `1` para que el agente .NET instrumente su aplicación. +
+ `CORECLR_PROFILER` + + + + `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` + + Requerido: Esto debe configurar en `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` para que el agente .NET instrumente su aplicación. +
+ `CORECLR_NEWRELIC_HOME` + + + + `/opt/lib/newrelic-dotnet-agent` + + Requerido: Esto debe configurar en `/opt/lib/newrelic-dotnet-agent` para que el agente .NET instrumente su aplicación. +
+ `CORECLR_PROFILER_PATH` + + + + `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` + + Requerido: Esto debe configurar en `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` para que el agente .NET instrumente su aplicación. +
+ `NEW_RELIC_APP_NAME` + + + + + + Debe configurar pero no se emplea en la New Relic UI. En cambio, los nombres de entidades provienen de la integración AWS . +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `info`, `debug`, `finest` + + Nivel de agente de logs +
+ `NEWRELIC_LOG_CONSOLE` + + `0` + + `1`, `0` + + Enviar mensaje de log a la consola +
+ + Puede encontrar más variables de entorno en nuestra [documentación de configuración de .NET](/docs/apm/agents/net-agent/configuration/net-agent-configuration/). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variable ambiental + + Valor por defecto + + Opciones + + Descripción +
+ `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` + + `true` + + `true`, `false` + + Activar o desactivar la extensión +
+ `NEW_RELIC_LICENSE_KEY` + + + + + + Su clave de ingesta de New Relic. Esto anula el Secrets Manager. +
+ `NEW_RELIC_LICENSE_KEY_SECRET` + + `NEW_RELIC_LICENSE_KEY` + + + + Nombre secreto personalizado en AWS Secrets Manager +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + Si no emplea [el método de ajuste manual](https://github.com/newrelic/newrelic-lambda-layers?tab=readme-ov-file#note-on-performance-for-es-module-functions) de New Relic, este es el controlador de su función. +
+ `NEW_RELIC_DATA_COLLECTION_TIMEOUT` + + 10s + + + + Reducir la duración del tiempo de espera cuando `Telemetry client error` +
+ `NEW_RELIC_EXTENSION_LOGS_ENABLED` + + `true` + + `true`, `false` + + Activar o desactivar `NR_EXT` líneas log +
+ `NEW_RELIC_EXTENSION_LOG_LEVEL` + + `info` + + `INFO`, `DEBUG` + + nivel de logs para líneas log NR_EXT +
+ `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` + + `false` + + `true`, `false` + + Enviar log de función +
+ `NEW_RELIC_LOG_ENDPOINT` + + + + + + Establecer en [https://log-api.newrelic.com/log/v](https://log-api.newrelic.com/log/v) +
+ `NEW_RELIC_TELEMETRY_ENDPOINT` + + Establecer en [el extremo de EE. UU.](https://cloud-collector.newrelic.com/aws/lambda/v1) + + + + [Extremo UE](https://github.com/newrelic/newrelic-lambda-extension/blob/3c4218dd7727d0b0467f24f0902b616b7f4e46b7/telemetry/client.go#L24-L27)opcional +
+ + Vea más variables de entorno para la extensión New Relic en nuestra [documentación](https://github.com/newrelic/newrelic-lambda-extension/blob/cf86fb53f0bd816e1d09d07f7b5c5ab4841010a0/config/config.go#L41-L55). +
+
+
+ + + ## Pruebe nuestras funciones de ejemplo + + Luego de instrumentar la capa Lambda de New Relic, le recomendamos encarecidamente que pruebe nuestras funciones de ejemplo. Estos ejemplos de trabajo deben emplear como punto de partida para instrumentar su propia función serverless. El uso de estos ejemplos puede ayudarlo a familiarizar con la capa New Relic Lambda, probar el enlace de la cuenta y pueden usar como referencia para su propia instrumentación. Cada ejemplo demuestra cómo agregar licencias, técnicas específicas del tiempo de ejecución para empaquetar su controlador, gestionar la retención log de funciones en CloudWatch y más. + + Si bien hay muchas formas de gestionar y desplegar la función Lambda, AWS CloudFormation es el mecanismo que empleamos para nuestros ejemplos. + + Nuestros ejemplos se publican, junto con la extensión New Relic Lambda, en este [repositorio de GitHub](https://github.com/newrelic/newrelic-lambda-extension). Hay uno para cada tiempo de ejecución de Lambda que admite New Relic: + + * [Node.js](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/node) + * [Python](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/python) + * [Go](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [Java](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/java) + * [Ruby](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/ruby) + * [.NET](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/dotnet) + + También puedes aprender a emplear el instrumento rastreo distribuido en una aplicación sin servidor no trivial en nuestro [ejemplo de rastreo distribuido](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/distributedtracing). Ilustra la propagación manual de trazas para SQS y SNS, dos de los servicios más populares que pueden invocar la función Lambda, con funciones de Node, Python, Ruby y Java. + + + Al realizar pruebas manualmente, telemetry data pueden retrasar. Recomendamos esperar siete segundos antes de volver a invocar la función, lo que permitirá que se entregue cualquier telemetría almacenada en el búfer. + + +
+ +## Resolución de problemas [#troubleshooting] + +Si tiene problemas al instrumentar su función Lambda, aquí hay algunos consejos comunes para la resolución de problemas: + + + + Si su organización no permite el uso de AWS Secrets Manager, la extensión New Relic Lambda aceptará una variable de entorno `NEW_RELIC_LICENSE_KEY` . Agregue la bandera `--disable-license-key-secret` del comando `newrelic-lambda integrations install` . Luego, establezca esta variable de entorno en su en la configuración de su función Lambda. + + + + La CLI `newrelic-lambda` debe ejecutarse una vez por región, con el parámetro `--aws-region` . Utilice el mismo nombre de cuenta vinculada y la herramienta detectará que el vínculo de la cuenta ya se ha creado. El secreto debe crearse en cada región. + + De manera similar, se pueden vincular varias cuentas de AWS a una cuenta de New Relic. Asigne a cada cuenta un nombre de cuenta vinculado diferente. El argumento `--aws-profile` de la herramienta CLI seleccionará el perfil nombrado. La herramienta utiliza la misma configuración que la AWS CLI. + + + + Ha instrumentado su función Lambda pero no se muestra como instrumentada en la sección **Amazon Web Services -> Lambda functions** de New Relic. + + Ha vinculado manualmente un [sondeo API](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring/) y la integración de [métrica Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) a su cuenta New Relic en la UI. + + En este escenario con dos integraciones para la misma cuenta de AWS en una cuenta de New Relic, se producirá una condición de carrera cuando se reciba la carga instrumentada desde la función Lambda instrumentada en el [extremo del recolector de nubes](https://github.com/newrelic/newrelic-lambda-extension/blob/54ccfd44765feb4b3da77ae606323c18d9db7593/telemetry/client.go#L18-L19) de New Relic. La carga útil se asignará aleatoriamente a una de las dos integraciones. Si se asigna a la integración no vinculada a su entidad de función, la carga útil se eliminará y la función no se mostrará como instrumentada. Solo las funciones que hayan recibido al menos una carga útil en los últimos 30 días hasta el evento `AwsLambdaInvocation` se mostrarán como instrumentadas. + + ```sql + FROM AwsLambdaInvocation + SELECT count (*) + SINCE 30 days ago + WHERE entityGuid = 'ENTITY_GUID' + LIMIT 1 + ``` + + Para evitar la creación de dos integraciones para la misma cuenta de AWS, le recomendamos utilizar la CLI `newrelic-lambda` , como se mencionó anteriormente, porque detectará una integración existente y la usará. + + Si ya se han creado dos integraciones, elija una para conservar y desvincule la otra haciendo clic en **Unlink this account** en **Infrastructure > AWS** en New Relic. + + + Existen algunas [limitaciones para las integraciones de métrica Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/#integrations-not-replaced-streams) que deben considerarse antes de desvincular una integración de sondeo API. También existen algunas [limitaciones para la consulta métrica de Infraestructura Dimensional](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-infrastructure-dimensional-metrics-nrql/#known-limitations) que deben considerarse antes de comprometerse completamente con una integración de Streams métrica. + + + + + Su código lambda requiere el rol de ejecución que tiene permiso para leer AWS Secrets Manager. Si encuentra un log como el siguiente, agregue el permiso apropiado a la política del rol de ejecución. En nuestros ejemplos, consulte el archivo `template.yaml` para ver una manera sencilla de otorgar este permiso. + + ```bash + Failed to retrieve license key AccessDeniedException: User: is not authorized to perform: secretsmanager:GetSecretValue on resource: + ``` + + + +## Que sigue + + + + Si tiene la función Lambda en contenedor, haga clic aquí para instrumento. + + + + Si tiene la función Lambda no contenedorizada, haga clic aquí para instrumento. + + + + Si tienes la función Lambda sin capas, haz clic aquí para instrumento. + + \ No newline at end of file diff --git a/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx new file mode 100644 index 00000000000..50d0fd7a253 --- /dev/null +++ b/src/i18n/content/es/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx @@ -0,0 +1,131 @@ +--- +title: Actualizar monitoreo Lambda +metaDescription: How to update New Relic's AWS Lambda monitoring. +freshnessValidatedDate: never +translationType: machine +--- + +Después de [habilitar nuestro monitoreo para AWS Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda), ocasionalmente debe actualizar nuestra función Lambda que se utiliza para informar datos log de AWS: `newrelic-log-ingestion`. + +Hay dos maneras de hacer esto: + +* [Actualización vía CLI](#update-cli): use esto si habilitó nuestro monitoreo Lambda usando nuestra [herramienta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/#rec). +* [Actualización a través del AWS Serverless Application Repository](#update-sar): utilice esto si lo habilitó mediante el [procedimiento manual](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda). + + + Estos procedimientos de actualización se aplican a nuestro [monitoreo serverless para AWS Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/introduction-new-relic-monitoring-aws-lambda) y no a nuestro [monitoreo de infraestructura para la integración de AWS Lambda](/docs/integrations/amazon-integrations/aws-integrations-list/aws-lambda-monitoring-integration). + + +## Actualice nuestra integración Lambda a través de CLI [#update-cli] + +Esta sección describe cómo actualizar si su monitoreo Lambda se habilitó usando nuestra [herramienta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) recomendada. + +1. Asegúrese de tener la última versión de la CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Para cada región en la que haya instalado la función `newrelic-log-ingestion` , ejecute el siguiente comando y reemplace YOUR_REGION con su identificador de región (por ejemplo, `us-west-2`). + + ```bash + newrelic-lambda integrations update \ + --aws-region YOUR_REGION + ``` + +3. Si no tiene nuestro log habilitado, también deberá actualizar sus filtros de suscripción log de Amazon CloudWatch con el siguiente comando: + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --aws-region YOUR_REGION + ``` + +## Actualizar capas a través de CLI [#update-layer-cli] + +Esta sección describe cómo actualizar la capa de su función si la instaló con nuestra [herramienta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli). + +1. Asegúrese de tener la última versión de la CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Pase la bandera `--upgrade` al comando de instalación: + + ```bash + newrelic-lambda layers install \ + --function installed \ + --nr-account-id NR_ACCOUNT_ID \ + --upgrade + ``` + +## Actualizar una instalación manual del repositorio de aplicaciones Serverless [#update-sar] + +Si [instaló manualmente la función de ingesta desde el AWS Serverless Application Repository](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda) (y no utilizó la [CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli)), actualice mediante este procedimiento: + +1. Ejecute lo siguiente, reemplazando `YOUR_REGION` con su región (por ejemplo, `us-west-2`). + + ```bash + aws serverlessrepo create-cloud-formation-change-set \ + --application-id arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion \ + --stack-name NewRelic-log-ingestion \ + --capabilities CAPABILITY_RESOURCE_POLICY \ + --parameter-overrides Name=NRLicenseKey,Value= + --region + ``` + + Este comando genera varios campos, uno de los cuales es `ChangeSetId`: un ARN para el conjunto de cambios que acaba de crear. Copia ese ARN. + +2. Utilice el ARN en este comando, que ejecuta el conjunto de cambios: + + ```bash + aws cloudformation execute-change-set --change-set-name YOUR_CHANGE_SET_ARN + ``` + +## Habilitando la administración de logs + +Si actualmente no tienes habilitado de New Relic, pero te gustaría: + +1. Asegúrese de tener la última versión de la CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Para cada región en la que haya instalado la función `newrelic-log-ingestion` , ejecute el siguiente comando y reemplace `YOUR_REGION` con su región (por ejemplo, `us-west-2`). + + ```bash + newrelic-lambda integrations update \ + --enable-logs \ + --aws-region YOUR_REGION + ``` + +3. Luego haga cualquiera de las siguientes cosas: + + * Actualice sus filtros de suscripción log de Amazon CloudWatch para cada región con el siguiente comando: + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --filter-pattern "" \ + --aws-region YOUR_REGION + ``` + + * O puede enviar el log de funciones a New Relic directamente, sin pasar por CloudWatch y `newrelic-log-ingestion` Lambda. Para hacer esto, establezca la variable de entorno `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS=true` en la configuración de su función Lambda. + + Después de eso, asegúrese de eliminar cualquier suscripción existente a New Relic Logs para esa función usando este comando: + + ```bash + newrelic-lambda subscriptions uninstall \ + --function FUNCTION_NAME \ + --aws-region YOUR_REGION + ``` + + Si la suscripción log está presente mientras la extensión envía el log, el log se enviará dos veces, lo que generará log duplicados en New Relic. + + Opcionalmente, si desea evitar [los cargos de Amazon](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier) por la ingesta log de CloudWatch, también puede modificar [la función de ejecución](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) de su función para que no otorgue permisos log de CloudWatch. Esto evitará que su función inicie sesión en CloudWatch. + + + Las tarifas de ingesta de logs de CloudWatch pueden ser considerables, pero este paso debe tomarse con precaución. Asegúrese de que la integración de ingesta de New Relic Logs funcione bien y satisfaga sus necesidades antes de deshabilitar el log de CloudWatch. + \ No newline at end of file diff --git a/src/i18n/content/jp/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx b/src/i18n/content/jp/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx index b033f4a8d28..55363a2af34 100644 --- a/src/i18n/content/jp/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx +++ b/src/i18n/content/jp/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx @@ -205,7 +205,7 @@ translationType: machine Kudu の**Process Explorer****Environment**タブに表示される環境変数は次のようになります。 - ```env + ```ini CORECLR_ENABLE_PROFILING = 1 CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_PROFILER_PATH = /home/site/wwwroot/newrelic/libNewRelicProfiler.so diff --git a/src/i18n/content/jp/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx b/src/i18n/content/jp/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx new file mode 100644 index 00000000000..9429dfdc43a --- /dev/null +++ b/src/i18n/content/jp/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx @@ -0,0 +1,71 @@ +--- +title: .NET OpenTracing から 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 +--- + +このガイドでは、 `NewRelic.OpenTracing.AmazonLambda.Tracer`と .NET エージェント Lambda レイヤー間の主な変更点について説明します。 また、アップグレード時に使用できるさまざまなオプションと、.NET エージェント Lambda レイヤーを使用して正常に移行する方法についても詳しく説明します。 + + + インストゥルメントされたAWS Lambda関数のサポートは、.NETエージェントのv10.24.0から開始されます。 + + +この移行による主な変更点は次のとおりです。 + +* `NewRelic.OpenTracing.AmazonLambda.Tracer`パッケージはエージェントインストゥルメンテーションと競合しているため、削除する必要があります。 +* OpenTracing のAWS Lambda 関数に加えられたコード変更はすべて元に戻す必要があります。 +* New Relic .NET エージェントはAWS Lambda 関数を実装するために使用されます。 +* AWS Lambda レイヤーは、.NET エージェントと必要な New Relic Lambda 拡張機能をバンドルすると利用できます。 +* ほとんどの場合、 AWS Lambda 関数のインストゥルメンテーションは自動で行われます。 +* .NET エージェントは、New Relic LambdaAWS 関数でデータを送信するために Lambda 拡張機能に依存します。 +* レイヤーは、 New Relic Lambda CLI ツール、サーバーレス フレームワーク プラグイン、または手動で構成できます。 +* 関数の実行方法が根本的に変更されたため、メトリクスの名前とタイミングが異なります。 +* 古いメトリックに基づくダッシュボード、アラート、クエリは、移行後に更新する必要があります。 + +## NewRelic.OpenTracing.AmazonLambda.トレーサーとOpenTracingの削除 [#remove] + +.NET エージェントを使用する前に `NewRelic.OpenTracing.AmazonLambda.Tracer` パッケージを削除し、それをサポートするためにAWS Lambda 関数に加えた変更をすべて元に戻す必要があります。 + +1. `NewRelic.OpenTracing.AmazonLambda.Tracer`パッケージを設定するには、元の`FunctionHandler`を呼び出す新しい`FunctionHandler`を作成し、それをラップしてインストゥルメンテーションを有効にする必要があります。 `NewRelic.OpenTracing.AmazonLambda.Tracer`を削除する前に、クリーンアップをよりスムーズに行うためにその呼び出しを元に戻す必要があります。 +2. .NET エージェントは、OpenTracing API を使用してカスタム データを渡すことをサポートしていません。 OpenTracing APIに直接依存するコードへの変更、または `NewRelic.OpenTracing.AmazonLambda.Tracer` パッケージ経由の変更は、.NET エージェント API を使用するために削除または移行する必要があります。 +3. プロジェクトから`NewRelic.OpenTracing.AmazonLambda.Tracer`パッケージを削除します。 削除に関連して残っている問題をクリーンアップします。 + +## レイヤー配置方法の選択 [#install] + +`NewRelic.OpenTracing.AmazonLambda.Tracer`パッケージを削除した後、次の手順では、.NET AWS Lambda レイヤーをインストールして構成するために使用する方法を選択します。 上で述べたように、主に 3 つのオプションがあります。 + +* New Relic Lambda CLI +* New Relic Serverless フレームワーク プラグイン +* 完全に手動でインストール + +設定の大部分を自動化するため、Lambda CLI または Serverless Framework プラグインのいずれかを選択することをお勧めします。 それぞれに考慮すべき依存関係と要件があり、そのいくつかは次のセクションで概説します。 これらのアプローチのいずれかをすでに使用している場合は、すべてのAWS Lambda 関数に同じアプローチを使用して、シンプルさを保つことをお勧めします。 + +AWS Lambda監視の詳細な開始手順については、 [有効化ガイド](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-aws-lambda-monitoring/)をご覧ください。 + +## New Relic Lambda CLI [#cli] + + + .NET エージェント AWS Lambda レイヤーのサポートは、Lambda CLI の v0.9.2 から開始されます。 + + +Lambda CLI [クイックスタートには、](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) .NET エージェント レイヤーを使用するようにAWS Lambda 関数を更新するコマンドの例があります。 これにより、関数の実行時間が自動的に検出され、適切なレイヤーが選択されます。 追加のセットアップ オプションについては[、Lambda CLI リポジトリ](https://github.com/newrelic/newrelic-lambda-cli?tab=readme-ov-file#recommendations)を参照してください。 + +## New Relic Serverless フレームワーク プラグイン [#serverless] + + + .NET エージェントAWS Lambdaレイヤーのサポートは、Serverless フレームワーク プラグインの v5.3.0 から開始されます。 + + +[Serverless Framework プラグイン クイックスタートには、](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/)プラグインをインストールし、Serverless Framework 設定を更新するために必要な手順が記載されています。 追加のセットアップオプションについては[、 Serverless framework プラグイン リポジトリ を](https://github.com/newrelic/serverless-newrelic-lambda-layers)ご覧ください。 + +## 完全に手動でインストール [#manual] + +AWS Lambda 関数を手動でインストゥルメントすることはお勧めしませんが、そのために必要な手順については[ここに](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console)情報があります。 + +* .NETエージェントは、手動でインストールした場合、ほとんどの場合、 AWS Lambda関数を自動的に計算します。 +* データの送信にはNew Relic Lambda Extensionが依然として必要 \ No newline at end of file diff --git a/src/i18n/content/jp/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx b/src/i18n/content/jp/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx index 21980137063..33b0c03111e 100644 --- a/src/i18n/content/jp/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx +++ b/src/i18n/content/jp/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx @@ -34,7 +34,7 @@ translationType: machine 4. IISを再起動する。 -エージェントをアンインストールした後、エージェントに関連するすべてのファイルを削除することをお勧めします。 他の New Relic ファイルを削除するには、必ず他のパスを確認してください。 たとえば、.NET エージェントをアンインストールしても、 **[newrelic.config](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence)**ファイルは削除されません。 +エージェントをアンインストールした後、エージェントに関連するすべてのファイルを削除することをお勧めします。 他の New Relic ファイルを削除するには、必ず他のパスを確認してください。 たとえば、.NET エージェントをアンインストールしても、 [`newrelic.config`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence)ファイルは削除されません。 1. **Control Panel > Programs > Programs and Features** @@ -65,9 +65,9 @@ Linuxの.NETエージェントをアンインストールするには、パッ id="apt-uninstall" title="aptによるアンインストール(Debian、Ubuntu、Linux Mint)" > - rootとして(またはsudoを使用して)次のコマンドを実行します。 + 次のコマンドを root として(または`sudo`を使用して)実行します。 - ``` + ```sh apt-get remove newrelic-dotnet-agent ```
@@ -76,9 +76,9 @@ Linuxの.NETエージェントをアンインストールするには、パッ id="dpkg-uninstall" title="dpkgによるアンインストール(Debian、Ubuntu、Linux Mint)" > - rootとして(またはsudoを使用して)次のコマンドを実行します。 + 次のコマンドを root として(または`sudo`を使用して)実行します。 - ``` + ```sh dpkg --remove newrelic-dotnet-agent ``` @@ -87,9 +87,9 @@ Linuxの.NETエージェントをアンインストールするには、パッ id="yum-uninstall" title="yumによるアンインストール(CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - rootとして(またはsudoを使用して)次のコマンドを実行します。 + 次のコマンドを root として(または`sudo`を使用して)実行します。 - ``` + ```sh yum remove newrelic-dotnet-agent ``` @@ -98,9 +98,9 @@ Linuxの.NETエージェントをアンインストールするには、パッ id="rpm-uninstall" title="rpmによるアンインストール(CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - rootとして(またはsudoを使用して)次のコマンドを実行します。 + 次のコマンドを root として(または`sudo`を使用して)実行します。 - ``` + ```sh sudo rpm -e newrelic-dotnet-agent ``` @@ -113,7 +113,7 @@ Linuxの.NETエージェントをアンインストールするには、パッ 2. New Relic の環境変数をアンセットする。 - ``` + ```ini CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_NEWRELIC_HOME=PATH_TO_INSTALL diff --git a/src/i18n/content/jp/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx b/src/i18n/content/jp/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx index a4cd2c67904..ebe2fb58b83 100644 --- a/src/i18n/content/jp/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx +++ b/src/i18n/content/jp/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx @@ -10,7 +10,7 @@ New Relic の .NET エージェント インストーラーのチェックサム Linux の場合は、次を実行します。 -``` +```sh sha256sum YOUR_FILENAME ``` @@ -33,7 +33,7 @@ Windows では、ファイル ハッシュを計算するために`CertUtil`ま ハッシュを計算するには、次のように実行します。 - ``` + ```sh CertUtil -hashfile YOUR_FILENAME SHA256 ``` @@ -54,7 +54,7 @@ Windows では、ファイル ハッシュを計算するために`CertUtil`ま ハッシュを計算するには、次のように実行します。 - ``` + ```powershell Get-FileHash YOUR_FILENAME Algorithm SHA256 | Format-List ``` diff --git a/src/i18n/content/jp/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx b/src/i18n/content/jp/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx index 5bf654681eb..fb5b999afd9 100644 --- a/src/i18n/content/jp/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx +++ b/src/i18n/content/jp/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx @@ -522,6 +522,24 @@ Python エージェント [バージョン 2.72.0.52 以上](/docs/release-notes + + + [エイオムキャッシュ](https://github.com/aio-libs/aiomcache) + + + + [エイオムキャッシュ](https://pypi.org/project/aiomcache/) + + + + 0.8.2 + + + + 9.12.0 + + + [Elasticsearch](https://www.elastic.co/products/elasticsearch) diff --git a/src/i18n/content/jp/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx b/src/i18n/content/jp/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx index cdad39daa0b..ea9e8ff1898 100644 --- a/src/i18n/content/jp/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx +++ b/src/i18n/content/jp/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx @@ -33,7 +33,9 @@ Apache Airflow で OpenTelemetry を有効にする前に、 `otel`エクスト 2. pip を使用してインストールする場合は、コマンドに`otel`を追加します。 例えば: - `pip install "apache-airflow[otel]"` + ```sh + pip install "apache-airflow[otel]" + ``` ### オプション 2: Docker からのインストール [#install-docker] @@ -41,7 +43,7 @@ Apache Airflow で OpenTelemetry を有効にする前に、 `otel`エクスト 2. Dockerfile を使用してビルド済みの Docker イメージを拡張し、 `otel`エクストラをインストールします。最新のタグを希望のバージョンのイメージに置き換えることができます。 - ``` + ```dockerfile FROM apache/airflow:latest RUN pip install --no-cache-dir "apache-airflow[otel]==$AIRFLOW_VERSION" ``` @@ -86,7 +88,7 @@ Airflow は、ポート`4318`を使用する OTLP over HTTP を使用してメ 1. `airflow.cfg`ファイルに必要なオプションを設定します。 - ``` + ```ini [metrics] otel_on = True otel_host = localhost @@ -96,7 +98,7 @@ Airflow は、ポート`4318`を使用する OTLP over HTTP を使用してメ 2. または、必要なオプションを環境変数として設定します。 - ``` + ```sh export AIRFLOW__METRICS__OTEL_ON=True export AIRFLOW__METRICS__OTEL_HOST=localhost export AIRFLOW__METRICS__OTEL_PORT=4318 @@ -132,7 +134,8 @@ Airflow メトリクスを使用すると、個々のパイプラインや全体 このクエリは、Airflow について報告されたすべてのメトリクスのリストを取得します。 ```sql -SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 +SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' +AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 ``` メトリクス名が制限 ( `100` ) を超える場合は、必ず制限を変更してください。 @@ -140,7 +143,8 @@ SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricN このクエリは、さまざまな DAG が正常に実行された場合のさまざまな完了時間を比較します。 ```sql -SELECT latest(airflow.dagrun.duration.success) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT latest(airflow.dagrun.duration.success) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` を構築するために使用できます。 ```sql -SELECT count(airflow.dagrun.duration.failed) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT count(airflow.dagrun.duration.failed) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` :64747/metrics", "http://:44217/metrics", "http://:44227/metrics"] - # tls_config: - # ca_file_path: "/etc/etcd/etcd-client-ca.crt" - # cert_file_path: "/etc/etcd/etcd-client.crt" - # key_file_path: "/etc/etcd/etcd-client.key" + # tls_config: + # ca_file_path: "/etc/etcd/etcd-client-ca.crt" + # cert_file_path: "/etc/etcd/etcd-client.crt" + # key_file_path: "/etc/etcd/etcd-client.key" verbose: false # Defaults to false. This determines whether or not the integration should run in verbose mode. audit: false @@ -131,11 +131,9 @@ import infrastructureRayDashboard from 'images/infrastructure_screenshot-full_ra [インフラストラクチャエージェント](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/)のドキュメントの指示に従って、インフラストラクチャエージェントを再起動します。 これはほとんどの人にとって機能する基本的なコマンドです。 - ````shell + ```shell sudo systemctl restart newrelic-infra.service - ``` - - ```` + ``` diff --git a/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx b/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx index 342c08a0afd..86bdcd23f7d 100644 --- a/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx +++ b/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx @@ -34,9 +34,9 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ id="linux-2" title="Amazon Linux 2" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -44,15 +44,15 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -62,9 +62,9 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ id="linux-2023" title="Amazon Linux 2023" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -72,15 +72,15 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2023/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -90,7 +90,7 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ id="deploy-infrastructure" title="ウィンドウズ" > - ``` + ```yml packages: msi: infrastructure: https://download.newrelic.com/infrastructure_agent/windows/newrelic-infra.msi @@ -133,15 +133,15 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ id="uninstall-agent-linux-ami" title="Amazon Linux" > - ``` + ```yml commands: - # Remove agent configuration file - "04-agent-remove-config": - command: sudo rm /etc/newrelic-infra.yml - # - # Uninstall infra agent - "05-agent-uninstall": - command: sudo yum remove newrelic-infra -y + # Remove agent configuration file + "04-agent-remove-config": + command: sudo rm /etc/newrelic-infra.yml + # + # Uninstall infra agent + "05-agent-uninstall": + command: sudo yum remove newrelic-infra -y ``` @@ -149,7 +149,7 @@ AWS Elastic Beanstalkで起動したインスタンスにインフラストラ id="uninstall-infrastructure" title="ウィンドウズ" > - ``` + ```yml commands: 03_uninstall-newrelic-infra: command: wmic product where name="New Relic Infrastructure Agent" call uninstall diff --git a/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx b/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx index da4cd220921..e7e9d3c4073 100644 --- a/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx +++ b/src/i18n/content/jp/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx @@ -49,13 +49,13 @@ puppet module install newrelic-newrelic_installer ```shell sudo puppet module install ~/newrelic-newrelic_installer-0.1.0.tar.gz -Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... -Notice: Downloading from https://forgeapi.puppet.com ... -Notice: Installing -- do not interrupt ... -/etc/puppetlabs/code/environments/production/modules -└─┬ newrelic-newrelic_installer (v0.1.0) - ├── lwf-remote_file (v1.1.3) - └── puppetlabs-powershell (v5.2.0) +[output] Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... +[output] Notice: Downloading from https://forgeapi.puppet.com ... +[output] Notice: Installing -- do not interrupt ... +[output] /etc/puppetlabs/code/environments/production/modules +[output] └─┬ newrelic-newrelic_installer (v0.1.0) +[output] ├── lwf-remote_file (v1.1.3) +[output] └── puppetlabs-powershell (v5.2.0) ``` ## `newrelic-newrelic_installer`モジュールを実行します [#beginning] diff --git a/src/i18n/content/jp/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx b/src/i18n/content/jp/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx index bee72baab4a..34f6202eb27 100644 --- a/src/i18n/content/jp/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx +++ b/src/i18n/content/jp/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx @@ -15,7 +15,7 @@ translationType: machine Kubernetesエージェント オペレーターは、 Kubernetesエージェント とともにAPMインストゥルメントを自動化することで、 Kubernetes環境のフルスタックの可用性を合理化します。 APM自動インストゥルメンテーションを有効にすると、開発者は[APMエージェント](/docs/apm/new-relic-apm/getting-started/introduction-apm/)を手動で管理する必要がなくなります。 Kubernetesエージェント オペレーターは、 APMエージェントを自動的にインストール、アップグレード、削除します。 -現在、Java、.NET、Node.js[をサポートしています](#k8s-supported-versions)。 Python、Ruby に加え、追加言語 (PHP および Go) も開発中です。 +現在、Java、.NET、Node.js[をサポートしています](#k8s-supported-versions)。 Python、Ruby に加え、追加言語 (PHP および Go) も開発中です。 EKS および AMD ノードを実行するオンプレミス クラスターでテストされています。 ## あなたが始める前に [#before-begin] @@ -30,11 +30,11 @@ Kubernetesエージェント オペレーターは、 Kubernetesエージェン 証明書マネージャーの依存関係をインストールするには、次のコマンドを実行します。 ```shell - helm repo add jetstack https://charts.jetstack.io - helm install cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --set crds.enabled=true +helm repo add jetstack https://charts.jetstack.io +helm install cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --set crds.enabled=true ``` ## Kubernetesエージェントオペレーターのインストレーション [#install-k8s-operator] @@ -54,19 +54,19 @@ Helm の使用に関する詳細については[、 Kubernetesインテグレー インスタンスを使用した Helm コマンドのサンプルを参照してください。 ```shell - helm repo add newrelic https://helm-charts.newrelic.com - - helm upgrade --install newrelic-bundle newrelic/nri-bundle \ -   --set global.licenseKey= \ -   --set global.cluster= \ -   --namespace=newrelic \ -   --set newrelic-infrastructure.privileged=true \ -   --set global.lowDataMode=true \ -   --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ -   --set kube-state-metrics.enabled=true \ -   --set kubeEvents.enabled=true \ -   --set k8s-agents-operator.enabled=true \ - --create-namespace +helm repo add newrelic https://helm-charts.newrelic.com + +helm upgrade --install newrelic-bundle newrelic/nri-bundle \ + --set global.licenseKey= \ + --set global.cluster= \ + --namespace=newrelic \ + --set newrelic-infrastructure.privileged=true \ + --set global.lowDataMode=true \ + --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ + --set kube-state-metrics.enabled=true \ + --set kubeEvents.enabled=true \ + --set k8s-agents-operator.enabled=true \ + --create-namespace ``` ### スタンドアロン インストール [#standalone-installation] @@ -74,11 +74,11 @@ Helm の使用に関する詳細については[、 Kubernetesインテグレー Kubernetesエージェント オペレーターをデフォルト設定でインストールするには、次のコマンドを実行します。 ```shell - helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator - helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ - --namespace newrelic \ - --create-namespace \ - --set licenseKey= +helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator +helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ + --namespace newrelic \ + --create-namespace \ + --set licenseKey= ``` 設定オプションの完全なリストについては、 [README](https://github.com/newrelic/k8s-agents-operator/tree/main/charts/k8s-agents-operator#values)チャートを参照してください。 @@ -128,7 +128,7 @@ Kubernetesエージェント オペレーターをデフォルト設定でイン # - name: NEW_RELIC_APP_NAME # value: "$(NEW_RELIC_LABELS)-$(NEW_RELIC_POD_NAME)" nodejs: - image: newrelic/newrelic-nodejs-init:latest + image: newrelic/newrelic-node-init:latest python: image: newrelic/newrelic-python-init:latest dotnet: @@ -144,11 +144,11 @@ Kubernetesエージェント オペレーターは、ポッドをスケジュー 現在サポートされている注釈を参照してください: ```shell - instrumentation.newrelic.com/inject-java: "true" - instrumentation.newrelic.com/inject-nodejs: "true" - instrumentation.newrelic.com/inject-python: "true" - instrumentation.newrelic.com/inject-dotnet: "true" - instrumentation.newrelic.com/inject-ruby: "true" +instrumentation.newrelic.com/inject-java: "true" +instrumentation.newrelic.com/inject-nodejs: "true" +instrumentation.newrelic.com/inject-python: "true" +instrumentation.newrelic.com/inject-dotnet: "true" +instrumentation.newrelic.com/inject-ruby: "true" ``` Javaエージェントを計装するためのアノテーション付きのエージェントの例を参照してください。 diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx new file mode 100644 index 00000000000..f0c0ebdb25e --- /dev/null +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx @@ -0,0 +1,200 @@ +--- +title: CloudWatch フォールバック +metaDescription: This doc guides you through shipping your telemetry data with Cloudwatch as a fail-safe option. +freshnessValidatedDate: never +translationType: machine +--- + +ニーズに応じて、いくつかの異なる方法で New Relic Lambda 監視データを送信できます。 関数の最高のパフォーマンスと最強のフェイルセーフを提供するオプションには、CloudWatch をフォールバックとして構成することが含まれます。 つまり、拡張機能を通じてテレメトリをNew Relicに送信し、拡張機能に問題が発生した場合でも、 New Relic CloudWatch を通じてペイロードを受け取ります。 + +CloudWatch フォールバックの利点: + +* **独立した実行**: 関数の実行とは独立して、CloudWatch からすべてのログをキャプチャします。 関数の通常の操作を妨げたり、関数の呼び出し期間に影響を与えたりすることはほとんどありません。 +* **安全なネットワークで動作します**: New Relic への送信トラフィックが不可能な VPC 内の機能に役立ちます。 +* **強化された監視を可能にします**: 他の形式のインフラおよびデータベース テレメトリに必要です。 詳細については、 [Amazon RDS 拡張監視インテグレーションのドキュメント](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-rds-enhanced-monitoring-integration/)を参照してください。 + +この配送オプションは最も強力なフェイルセーフを提供しますが、AWS CloudWatch サービスによって大量のデータが生成される可能性があることに注意することが重要です。 コストとどの New Relic 料金プランを選択するかを考えるときは、データの取り込みを念頭に置いてください。 + +## CloudWatch フォールバックの仕組み [#works] + +拡張機能が起動に失敗した場合 (noop モードとも呼ばれます)、またはクラッシュした場合、エージェントによって生成された`NR_LAMBDA_MONITORING`行をエンコードできません。 代わりに、 `NR_LAMBDA_MONITORING`行が CloudWatch ログに表示されます。 `newrelic-log-ingestion`関数が関数と同じリージョンにインストールされ、ペイロードを発送するように設定され、関数の CloudWatch ロググループによってトリガーされる場合、ペイロードを発送するための拡張機能へのフォールバックとして機能できます。 + +## あなたが始める前に [#requirements] + +フォールバック オプションを設定する前に、次の作業を完了する必要があります。 + +* ログを送信する AWS リージョンに`newrelic-log-ingestion`関数をインストールします。 +* ログを送信する場合は、null に等しいフィルター パターンを作成するか、送信する関数ログに一致するカスタム パターンを作成します。 New Relic は関数の CloudWatch ログを受信します。 重複したログを回避するには、拡張機能のログ送信を無効にする必要があります。 拡張機能のログ配布はデフォルトで無効になっています。 + +New Relic Lambda レイヤーを更新する前に実行できるベストプラクティスをいくつか紹介します。 + +* 新しいレイヤー バージョンに更新する前に、最新のレイヤーによって拡張機能またはサードパーティの依存関係を破壊する変更が導入される可能性があることに注意してください。 +* 関数で適切に動作することがわかっているレイヤー バージョンを固定し、バグの解決、新機能やセキュリティ パッチの取得、またはエージェントのサポートが終了した場合にのみ、新しいレイヤー バージョンに更新します。 +* 新しいレイヤーを本番環境にデプロイする前に、すべての変更とリリース ノートを慎重に確認し、開発環境またはステージング環境でテストしてください。 + +## 実装オプション [#fallback] + +CloudWatch フォールバックを実装する方法は 3 つあります。 + +1. **テレメトリー ペイロードの拡張機能を有効にし、ログを CloudWatch 経由で送信します**。このシナリオでは、テレメトリー ペイロードは拡張機能を介して送信され、ログは CloudWatch を介して送信され、拡張機能が失敗した場合はペイロードも送信されます。 +2. **テレメトリー ペイロードおよびログに対して拡張機能が有効になっています: このシナリオでは、テレメトリー ペイロード**およびログは拡張機能を通じて出荷されます。 +3. **拡張機能が無効**: このシナリオでは、ログとペイロードの送信に常に CloudWatch が使用されます。 + + + + ログを CloudWatch に送信しない場合は、このオプションが、インストゥルメントされたペイロードが常にNew Relicに届くようにするための最も安価で堅牢な方法です。 ログを送信する場合、このオプションを選択すると、ログの送信に CloudWatch のコストが発生します。 料金の詳細については、 [「データ取り込み: 課金とルール」](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing/)を参照してください。 + + New Relic Lambda レイヤーを追加すると、拡張機能が有効になり、ログ配布はデフォルトで無効になります。 + + 1. 関数に[拡張環境変数](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go)を設定します。 + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: true (デフォルト) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: false (デフォルト) + + 2. `newrelic-log-ingestion`関数の環境変数を設定します: + + * `INFRA_ENABLED`: 真実 + * `LOGGING_ENABLED`: true (ログを送信する場合) + + または、 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers)使用している場合は、次のように設定します。 + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` インテグレーションがまだ設定されていないAWSアカウントに関数をデプロイする場合にのみ含める必要があります。インテグレーションが設定されたら、このオプションはデプロイ関数の yaml から削除する必要があります。 + + + または、 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli)を使用している場合は、次のように設定します。 + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key --enable-logs` + * `newrelic-lambda layers install --function --nr-account-id ` + * `newrelic-lambda subscriptions install --function --filter-pattern ""` + + + + このオプションは、インストゥルメントされたペイロードが常にNew Relicに到達することを保証する、最も低コストのパスを提供します。 このオプションは、New Relic Lambda 拡張機能を通じて関数ログを送信するため、拡張機能が起動に失敗したりクラッシュしたりすると、New Relic から関数ログが失われます。 + + 関数ログを送信する場合は、拡張機能がそのように設定されていることを確認してください。 これらのログは拡張機能によってのみ送信され、重複を避けるためにログの CloudWatch フォールバックは行われません。 + + New Relic Lambda レイヤーを追加すると、拡張機能が有効になり、ログ配布はデフォルトで無効になります。 New Relic で関数ログを表示する場合は、拡張機能が関数ログを送信できるように環境変数を使用する必要があります。 + + 関数ログは、関数の呼び出し時に関数によって記録されるログにすぎないことに注意することが重要です。 拡張機能は、 `START`や`END`などの Lambda プラットフォーム ログを送信しません。 + + 1. 関数に[拡張環境変数](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go)を設定します。 + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: true (デフォルト) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: true 2 `newrelic-log-ingestion`関数の環境変数を設定します: + * `INFRA_ENABLED`: 真実 + * `LOGGING_ENABLED`: false (重複を避けるためにログ転送を無効にするか、CloudWatch サブスクリプションのフィルタパターンを`NR_LAMBDA_MONITORING`行のみに一致するように設定します) + + または、 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers)使用している場合は、次のように設定します。 + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: true + enableIntegration: true + cloudWatchFilter: "NR_LAMBDA_MONITORING" (only send payloads) + ``` + + + `enableIntegration` インテグレーションがまだ設定されていないAWSアカウントに関数をデプロイする場合にのみ含める必要があります。インテグレーションが設定されたら、このオプションはデプロイ関数の yaml から削除する必要があります。 + + + または、 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli)を使用している場合は、次のように設定します。 + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function <name or arn> --nr-account-id <YOUR_NEW_RELIC_ACCOUNT_ID>` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern "NR_LAMBDA_MONITORING"` + + + + このオプションは、ログとペイロードを New Relic に送信するために CloudWatch と`newrelic-log-ingestion`関数に完全に依存しています。 このオプションでは、拡張機能の障害によって発生する可能性のあるダウンタイムを回避するために拡張機能が無効になります。 + + この方法では、 `NR_LAMBDA_MONITORING`行が CloudWatch に書き込まれるのを妨げないように、New Relic Lambda 拡張機能を完全に無効にする必要があります。 New Relic Lambda 拡張機能が無効になっている場合、すべてのテレメトリは CloudWatch、サブスクリプション フィルター、および `newrelic-log-ingestion` 関数を介して送信されます。 + + New Relic Lambda レイヤーを追加すると、拡張機能が有効になり、ログ配布はデフォルトで無効になります。 環境変数を使用して拡張機能を無効にする必要があります。 + + 1. 関数に[拡張環境変数を](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go)次のように設定します。 + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: 間違い + + 2. `newrelic-log-ingestion`関数の環境変数を次のように設定します。 + + * `INFRA_ENABLED`: 真実 + * `LOGGING_ENABLED`: 真実 + + または、 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers)使用している場合は、次のように設定します。 + + ```yaml + custom: + newRelic: + enableExtension: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` インテグレーションがまだ設定されていないAWSアカウントに関数をデプロイする場合にのみ含める必要があります。インテグレーションが設定されたら、このオプションはデプロイ関数の yaml から削除する必要があります。 + + + または、 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli)を使用している場合は、次のように設定します。 + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function --nr-account-id --disable-extension` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern ""` + + データを CloudWatch のみに送信するように手動で選択することもできます。 これをする: + + 1. 関数に`NEW_RELIC_LAMBDA_EXTENSION_ENABLED`環境変数を値`false`で追加して、拡張機能を無効にします。 + 2. CloudWatch Logsサブスクリプションフィルターを作成して、関数のログで`newrelic-log-ingestion`関数を呼び出します。 + + * CLIはこれを行うことができます: `newrelic-lambda subscriptions install --function FUNCTION_NAME` + * または、 AWSコンソールを使用して、関数の CloudWatch ログ グループからサブスクリプション フィルターを作成し、`newrelic-log-ingestion` Lambda 関数を呼び出します。 + + または、次の手順に従って CloudWatch ログを New Relic Lambda にストリーミングすることもできます。 + + 1. CloudWatch を開き、左側のメニューで + + **Logs** + + を選択し、監視している機能のログ グループを選択します。 + + 2. **Actions > Subscription filters > Create Lambda subscription filter** + + を選択します。 + + 3. **Lambda function** + + で、 `newrelic-log-ingestion`関数を選択します。 + + 4. **Log format** + + を`JSON`に設定します。 + + 5. **Subscription filter pattern to** + + `?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId`を設定します。 あるいは、 `LOGGING_ENABLED`環境変数を使用して[すべてのログを当社のログにストリームする](#stream-all-logs)場合は、このフィールドを空白のままにしておきます。 + + + 上記の方法で選択した`newrelic-log-ingestion` Lambda関数が、Lambda関数と同じAWSリージョンにあることを確認してください。 + + + \ No newline at end of file diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx new file mode 100644 index 00000000000..7476db165e6 --- /dev/null +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx @@ -0,0 +1,324 @@ +--- +title: レイヤーレス インストゥルメンテーション +metaDescription: Legacy instructions for manually enabling New Relic monitoring for AWS Lambda. +freshnessValidatedDate: never +translationType: machine +--- + +レイヤーなしで Lambda 関数を使用している場合は、選択したランタイムに基づいてNew Relicを実装する必要があります。 以下のランタイムを選択し、セットアップ手順に従ってください。 + + + + Go-language Lambdaをインストゥルメントするには、以下の手順に従います。 + + 1. Goエージェントパッケージをダウンロードして、関数と同じディレクトリに配置します。 + + 1. 次のコマンドを実行してエージェントをインストールします。 + + ```shell + go get -u github.com/newrelic/go-agent/v3/newrelic + ``` + + 2. 次のコマンドを実行して、 `nrlambda`統合をインストールします。 + + ```shell + go get -u github.com/newrelic/go-agent/v3/integrations/nrlambda + ``` + + 2. あなたのLambdaコードで、私たちのコンポーネントをインポートし、アプリケーションを作成し、Lambdaの起動方法を更新してください。インストゥルメンテーションの例をご覧ください。 + + * [エクステンション・レポ](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [エージェントのレポを見る](https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrlambda/example/main.go) + + 3. 必要に応じて、 [`RecordCustomEvent` API](/docs/agents/go-agent/features/create-custom-events-insights-go)を使用して、Lambda呼び出しに関連付けられる[カスタムイベント](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event)を追加します。例えば: + + ```go + func handler(ctx context.Context) { + if txn := newrelic.FromContext(ctx); nil != txn { + txn.Application().RecordCustomEvent("MyEvent", map[string]interface{}{ + "zip": "zap", + }) + } + fmt.Println("hello world!") + } + ``` + + 4. Lambda関数を構築して圧縮し、AWSにアップロードします。 + + + + Lambdaの圧縮とアップロードについての推奨は、次のとおりです。 + + 1. Linuxで実行するためのバイナリをビルドします。これにより、 `main`というバイナリファイルが生成されます。次を使用できます。 + + ```bash + GOOS=linux go build -o main + ``` + + 2. 次のものを使用して、バイナリをデプロイメントパッケージに圧縮します。 + + ```bash + zip deployment.zip main + ``` + + 3. AWSLambdaコンソールまたはAWSCLIのいずれかを使用してzipファイルをAWSにアップロードします。ハンドラーに`main`という名前を付けます(バイナリビルド中に指定された名前と一致させるため)。 + + + + 5. 次の環境変数は、Lambdaモニタリングが機能するために必要ではありませんが、Lambda関数を分散トレースに含める場合は必要です。[分散トレース](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing)を有効にするには、AWSコンソールで次の[環境変数](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html)を設定します。 + + * `NEW_RELIC_ACCOUNT_ID`。[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id) 。 + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY.` これは、[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id)でもあります。アカウントが子アカウントの場合、これはroot/親アカウントのアカウントIDです。 + + 6. オプションで、ロギングを構成するには、 [Goエージェントロギング](/docs/agents/go-agent/configuration/go-agent-logging)を参照してください。 + + 7. 少なくとも1回Lambdaを呼び出します。これにより、CloudWatchロググループが作成されます。次のステップではこのグループが必要です。 + + ラッパーはLambda実行についてのデータを収集し、JSONメッセージを生成し、CloudWatchログにログ記録します。次に、[CloudWatchを設定してそのログをNew Relicに送信します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs)。 + + + + JavaでのAWS Lambdaのモニタリングでは、[APM Javaエージェント](/docs/agents/java-agent)は使用しません。代わりに、次の2つのOpenTracing依存関係を使用します。 + + * AWS Lambda OpenTracing Java SDK:AWS Lambda RequestHandlerおよびRequestStreamHandlerの[OpenTracing](https://github.com/opentracing)インストゥルメンテーション。 + + * 当社のAWS Lambda OpenTracing Tracer:OpenTracing Tracerの実装は、AWS Lambdaをモニターするように設計されています。スパン、エラーイベント、トランザクションイベント、エラートレースを生成し、ディストリビューティッド(分散)トレーシングをサポートします。 + + + + **Supported OpenTracing Versions** + + + * **OpenTracing 0.31.0** + + : + + * Lambda Tracer:[com.newrelic.opentracing:newrelic-java-lambda:1.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda/1.1.1/jar) + * Lambda SDK:[com.newrelic.opentracing:java-aws-lambda:1.0.0](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda/1.0.0/jar) + + * **OpenTracing 0.32.0, 0.33.0** + + : + + * Lambda トレーサー: [com.newrelic.opentracing:newrelic-java-lambda:2.2.3](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda) + * Lambda SDK: [com.newrelic.opentracing:java- AWS Lambda :2.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda) + + + Java Lambdaをインストゥルメントするには、以下の手順に従います。 + + 1. プロジェクトの`build.gradle`ファイルに、OpenTracing AWS Lambda トレーサーと AWS Lambda OpenTracing SDK の依存関係を含めます。 + + ```java + dependencies { + compile("com.newrelic.opentracing:java-aws-lambda:2.1.1") + compile("com.newrelic.opentracing:newrelic-java-lambda:2.2.3") + compile("io.opentracing:opentracing-util:0.33.0") + } + ``` + + 2. [JavaLambdaの例](https://github.com/newrelic/newrelic-lambda-tracer-java#usage)に示すようにAWSLambda `RequestHandler`インターフェースを実装し、 `doHandleRequest`メソッドをオーバーライドします。 + + 3. `doHandleRequest`メソッドで、 `LambdaTracing.instrument(...)` APIを呼び出してルートスパンを作成し、ラムダ関数の実行をトレースします。これは、ラムダ関数のビジネスロジックを定義する場所でもあります。 + + 4. [Java Lambdaの例](https://github.com/newrelic/newrelic-lambda-tracer-java#usage)に示すように、 `LambdaTracer.INSTANCE`をOpenTracingグローバルトレーサーとして登録します。 + + 5. [ZIPデプロイメントパッケージを作成](https://docs.aws.amazon.com/lambda/latest/dg/java-package.html)し、AWS Lambdaにアップロードします。または、その他の方法でディプロイします。 + + 6. AWS Lambdaコンソールで、ハンドラーを設定します。 [Java Lambdaの例](https://github.com/newrelic/newrelic-lambda-tracer-java#usage)では、ハンドラーは`com.handler.example.MyLambdaHandler::handleRequest`になります。 `handleRequest`が想定されているため、 `com.handler.example.MyLambdaHandler`を使用することもできます。 + + 7. 以下の [AWSコンソール環境変数](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html)は、Lambda関数を[ディストリビューティッド(分散)トレーシング](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing)に含める場合は必要です。これが推奨されます。 + + * `NEW_RELIC_ACCOUNT_ID`。[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id) 。 + * `NEW_RELIC_PRIMARY_APPLICATION_ID`。これはあなたの[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id)でもあります。 + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`。これはあなたの[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id)でもあります。アカウントが子アカウントの場合、これはルート/親アカウントのアカウントIDである必要があります。 + + 8. オプション:Lambdaコンソールで、次の環境変数を追加してデバッグログを有効にします: `NEW_RELIC_DEBUG`は`true`です。 + + 9. 少なくとも1回Lambdaを呼び出します。これにより、CloudWatchロググループが作成されます。次のステップではこのグループが必要です。 + + ラッパーはLambda実行についてのデータを収集し、JSONメッセージを生成し、CloudWatchログにログ記録します。次に、[CloudWatchを設定してそのログをNew Relicに送信します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs)。 + + 以下のような、一般的な使用例を示す完全なプロジェクトの[AWS Lambdaディストリビューティッド(分散)トレーシングの例](https://github.com/newrelic/newrelic-lambda-tracer-java/tree/main/examples/distributed-tracing-example)を参照してください。 + + * Lambda関数間のディストリビューティッド(分散)トレーシング + * 手作業でのスパン作成(別名カスタムインストゥルメンテーション) + * 外部コールのトレース + * カスタムアトリビュート(別名タグ)のスパンへの追加 + + + + Node.js Lambdaをインストゥルメントするには: + + 1. Node.jsエージェントパッケージをダウンロードして関数と同じディレクトリに配置し、エージェントが依存関係として`node_modules`ディレクトリにインストールされていることを確認します。ノードパッケージマネージャーを使用します。 + + ```bash + + npm install newrelic --save + + ``` + + 2. Lambdaコードで、ファイルの先頭にエージェントモジュールを要求し、ハンドラー関数をラップします。例えば: + + ```js + + const newrelic = require('newrelic'); + + // Other module loads go under the require statement above + + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + // This is your handler function code + console.log('Lambda executed'); + callback(); + }); + + ``` + + 3. オプション: [`recordCustomEvent` API](/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#record_custom_event)を使用してLambdaに[カスタムイベント](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event)を追加することもできます。例えば: + + ```js + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + newrelic.recordCustomEvent('MyEventType', { foo: 'bar' }); + console.log('Lambda executed'); + callback(); + }); + ``` + + 4. Lambda関数とNode.jsエージェントフォルダを一緒に圧縮します。要件および推奨: + + * New Relicエージェントフォルダに入っていないNew Relicファイルは、含める必要はありません。 + * Lambda関数のファイル名がたとえば`lambda_function.node`の場合、zipファイルに`lambda_function.zip`という名前を付けることをお勧めします。 tarballは使用しないでください。 + * Lambdaと関連モジュールはすべて、zipファイルのルートディレクトリにある必要があります。つまり、ファイルを含むファイルを圧縮するとうまくいきません。 + + 5. 圧縮したファイルを、AWS Lambdaアカウントにアップロードします。 + + 6. AWSコンソールで、以下の[環境変数](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html)を設定します。 + + * `NEW_RELIC_NO_CONFIG_FILE`。構成ファイルを使用しない場合は、 `true`に設定します。 + * `NEW_RELIC_APP_NAME`:アプリケーション名。 + * `NEW_RELIC_ACCOUNT_ID`。[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id) 。 + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`。これはあなたの[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id)でもあります。アカウントが子アカウントの場合、これはルート/親アカウントのアカウントIDである必要があります。 + + 7. オプション: AWS の外部のローカル環境でサーバーレス モードでエージェントを実行するには、環境変数`NEW_RELIC_SERVERLESS_MODE_ENABLED`を`true`に設定します。 (これを AWS Lambda 環境で実行すると、エージェントは自動的にサーバーレス モードで実行されます。 **Do not use this variable if you're running in AWS** 。) + + 8. オプション:サーバーレスモードでのロギングを有効にするには、環境変数を次のように設定します。 + + * `NEW_RELIC_LOG_ENABLED`を`true`に設定します。 + * CloudWatchに出力するには`NEW_RELIC_LOG`を`stdout`に設定するか、書き込み可能なファイルの場所に設定します。 + * `NEW_RELIC_LOG_LEVEL` はデフォルトで`info`に設定されており、Lambda で関数ログを送信する場合にのみ使用されます。 [他のログレベル](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#logging_config)を参照してください。 + + 9. オプション: Lambda 関数が ES モジュールを使用している場合は、環境変数 `NEW_RELIC_USE_ESM` を `true`に設定します。ES モジュールを使用する場合は、関数に async/await または Promise を使用する必要があることに注意してください。コールバックベースの関数はサポートされていません。 + + 10. 少なくとも1回Lambdaを呼び出します。これにより、CloudWatchロググループが作成されます。次のステップではこのグループが必要です。 + + ラッパーはLambda実行についてのデータを収集し、JSONメッセージを生成し、CloudWatchログにログ記録します。次に、[CloudWatchを設定してそのログをNew Relicに送信します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs)。 + + [Lambdaで関数ログを送信する](https://github.com/newrelic/newrelic-lambda-extension) 方法の詳細を読む。 + + + + Python Lambdaをインストゥルメントするには: + + 1. Pythonエージェントパッケージをダウンロードし、関数と同じディレクトリに配置します。この場合は、pipを使用します。 + + ```bash + + pip install -t . newrelic + + ``` + + + Homebrewを使用している場合、次のエラーが発生する可能性があります: `DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both` 。詳細については、 [HomebrewGitHubの投稿](https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user)を参照してください。 + + + 2. Lambda コードで、Python エージェント モジュールをインポートし、New Relic デコレーターを使用してハンドラー関数を装飾します。 **The New Relic package must be imported first in your code.**次に例を示します。 + + ```py + + import newrelic.agent + newrelic.agent.initialize() + @newrelic.agent.lambda_handler() + def handler(event, context): + ... + + ``` + + 3. オプション: [`record_custom_event` API](/docs/agents/python-agent/python-agent-api/record_custom_event)を使用してLambdaに[カスタムイベント](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event)を追加することもできます。次に例を示します。 + + ```py + + @newrelic.agent.lambda_handler() + def handler(event, context): + newrelic.agent.record_custom_event('CustomEvent', {'foo': 'bar'}) + ... + + ``` + + 4. 次のガイドラインを使用して、 `lambda_function.py` }フォルダと`newrelic/`フォルダを一緒に圧縮します。 + + * `newrelic/`フォルダー外のNewRelicファイルを含める必要はありません。 + * Lambda関数のファイル名がたとえば`lambda_function.py`の場合、zipファイルに`lambda_function.zip`という名前を付けます。 tarballは使用しないでください。 + * Lambdaと関連モジュールはすべて、zipファイルのルートディレクトリにある必要があります。つまり、ファイルを含むファイルを圧縮するとうまくいきません。 + + 5. 圧縮したファイルを、AWS Lambdaアカウントにアップロードします。 + + 6. AWSコンソールで、以下の[環境変数](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html)を設定します。 + + * `NEW_RELIC_SERVERLESS_MODE_ENABLED`。に設定 `true` + + 7. 次の環境変数はLambdaをモニターする機能には不要ですが、Lambda機能をディストリビューティッド(分散)トレーシングに含める場合は必要です。[ディストリビューティッド(分散)トレーシング](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing)を有効にするには、AWSコンソールで以下の[環境変数](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html)を設定します。 + + * `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`。 trueに設定します。 + * `NEW_RELIC_ACCOUNT_ID`。[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id) 。 + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`。これはあなたの[アカウントID](/docs/accounts/install-new-relic/account-setup/account-id)でもあります。アカウントが子アカウントの場合、これはルート/親アカウントのアカウントIDである必要があります。 + + 8. オプション:ログを設定するには、AWSコンソールで[`NEW_RELIC_LOG`および`NEW_RELIC_LOG_LEVEL`環境変数](/docs/agents/python-agent/configuration/python-agent-configuration#environment-variables)を使用します。 + + 9. 少なくとも1回Lambdaを呼び出します。これにより、CloudWatchロググループが作成されます。次のステップではこのグループが必要です。 + + New Relicデコレーターは、Lambda実行についてのデータを収集し、JSONメッセージを生成し、CloudWatchログに記録します。次に、[CloudWatchを設定してそのログをNew Relicに送信します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs)。 + + + + New RelicにはレイヤーレスRubyインストゥルメンテーション メソッドがありません。 レイヤーを使用している場合は、 [コンテナー化されていない Lambda 関数の計画に関するドキュメント](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own)を参照してください。 + + + + ほとんどの場合、.NET エージェントはAWS Lambda 関数を自動的に計算し、「サーバーレス モード」に切り替えて、 New Relicやその他の機能へのデータの直接送信を無効にします。 New Relic にデータを送信するには、New Relic Lambda Extension または`newrelic-log-ingestion`ラムダ メソッドを使用する必要があります。 + + .NET Lambda をセットアップするには: + + 1. [NewRelic.agent nuget パッケージを](https://www.nuget.org/packages/NewRelic.Agent)AWS Lambdaプロジェクトに追加します。 詳細については、[インストレーション ガイドを](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/)ご覧ください。 + 2. [必要な環境変数を](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-linux)プロジェクトに追加します。 エージェントは New Relic に直接接続したりデータを送信したりしないため、 `NEW_RELIC_LICENSE_KEY`必要ありません。 + 3. オプションの環境変数を設定します。 + + * `NEW_RELIC_APP_NAME` + + 4. プロジェクトを AWS Lambda アカウントに公開します。 + 5. New Relic Lambda Extension または`newrelic-log-ingestion`ラムダのいずれか[を構成します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/)。 + 6. オプション: ログ記録を設定するには、AWS コンソールで[`NEWRELIC_LOG_CONSOLE`および`NEWRELIC_LOG_LEVEL`環境変数を](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#log)使用します。 + 7. Lambda を少なくとも 1 回呼び出してエラーをチェックし、データが New Relic UI に表示されることを確認します。 + + + + \ No newline at end of file diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx new file mode 100644 index 00000000000..ca071d4a699 --- /dev/null +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx @@ -0,0 +1,256 @@ +--- +title: コンテナ化されていないLambda関数を設計する +metaDescription: Instrument your non-containerized Lambda function +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessNonContainerizedLambdaFunction from 'images/serverless_diagram_non-containerized-lambda-function.webp' + +New RelicAWSAWSとNew Relic アカウントを正常にリンクしたら、 Lambda レイヤーを追加して、コンテナ化されていない Lambda 関数を実装できます。これにより、New Relic エージェントが統合され、関数が呼び出されるたびに自動監視が可能になります。 + +a diagram depicting non-containerized lambda function instrumentation + +## あなたが始める前に [#begin] + +* [New RelicとAWSアカウントをリンクする](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#link) +* [さまざまなインストゥルメンテーション方法を確認する](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#method) + +## インストゥルメンテーション方法 [#instrumentation] + +New Relic包括的な監視のためにAWS Lambda 関数をプランニングするためのいくつかの方法を提供しています。 + +* **コマンドラインインターフェース (CLI)** : AWS CLI を使用して、 New Relicレイヤーを Lambda 関数にすばやく追加します。 +* **サーバーレス フレームワーク**: New Relicインストゥルメンテーションをサーバーレス エンタープライズにシームレスに統合します。 +* **CloudFormation/SAM** : インフラストラクチャ コード テンプレートにNew Relicレイヤーを含めます。 +* **Terraform** : New Relicインストゥルメンテーションを他のインフラストラクチャ リソースと一緒に簡単に管理します。 +* **手動インストゥルメント** : よりきめ細かな制御を行うには、 コンソールからNew Relic AWS Lambdaレイヤーを直接追加します。 + +選択した方法に関係なく、New Relic レイヤーは関数に New Relic エージェントを追加します。 このエージェントは、呼び出し時に関数を自動的にインストゥルメントし、ペイロード `NR_LAMBDA_MONITORING` を生成して、 New Relic Lambda 拡張機能を介してNew Relicに送信します。 + +ニーズに応じて、拡張機能をバイパスして CloudWatch でテレメトリーのみを表示するか、CloudWatch をバイパスするか、CloudWatch をフォールバックとして使用するかを選択できます。 このドキュメントの最後にある[CloudWatch](#CloudWatch-only)セクションで、各オプションについて説明します。 + + + + `newrelic-lambda` CLI クイックスタートを使用して Lambda 関数を計算できます。 + + New Relicインストゥルメンテーション レイヤーをインストールまたはアップグレードするには、次のコマンドを実行します。 + + ```shell + newrelic-lambda layers install --nr-account-id YOUR_NR_ACCOUNT_ID --function my-function --upgrade + ``` + + このコマンドは、Lambdaのリージョンとランタイムに合わせて、利用可能な最新のレイヤーを自動的に見つけます。 + + このコマンドは、 New Relicインストゥルメントを迅速に開始する方法を提供し、 CI/CDパイプラインに簡単に統合できます。 ただし、既存の Lambda 関数リソースが変更されるため、更新されたコードを再デプロイすると、インストゥルメンテーションが誤って削除される可能性があります。 継続的な監視を確実に行うには、各インストーラの後にコマンドを再実行するか、可能であれば、 New Relicレイヤーと設定をインストーラ プロセスに直接組み込みます。 + + CLIはバッチで多くの関数を操作できることに注意してください。 `--function all` 、 `--function installed` 、または`--function not-installed`を使用して、リージョン内のすべての関数を操作するか、既存のNewRelicインストルメンテーションの有無にかかわらず関数のみを操作します。 + + + + AWSのサーバーレスアプリケーションモデル(SAM)は、CloudFormationテンプレートの一種であり、機能を依存するリソースに関連づけたり、アプリケーション全体のライフサイクルを管理したりすることを容易にします。私たちはLambdaのサンプル関数のほとんどにSAMとCloudFormationを使用しており、他の多くのツールはCloudFormationテンプレートの上に構築され、抽象化の追加レイヤーを提供しています。 + + CloudFormation は、 AWSリソースのプロビジョニングと管理を簡素化するAWSサービスです。 YAML または JSON テンプレートでリソースの望ましい状態を定義することにより、CloudFormation は基盤となるAPIコールを自動的に処理し、必要に応じてリソースを作成、更新、または削除します。 この宣言型アプローチにより、インフラストラクチャ管理が自動化され、一貫性と再現性が確保されます。 + + Node.jsLambda関数の単純なCloudFormationテンプレートの例を次に示します。 + + ```yaml + AWSTemplateFormatVersion: '2010-09-09' + Transform: AWS::Serverless-2016-10-31 + Description: And example of a simple instrumented Node.js Lambda + + Resources: + NewRelicExample: + Type: AWS::Serverless::Function + Properties: + # In this example, we're using the SAM CLI to package and deploy our lambda. SAM will transform this value during the publish step. + CodeUri: newrelic-example-node/ + # The handler for your function needs to be the one provided by the instrumentation layer, below. + Handler: newrelic-lambda-wrapper.handler + Runtime: nodejs12.x + Environment: + Variables: + # For the instrumentation handler to invoke your real handler, we need this value + NEW_RELIC_LAMBDA_HANDLER: YOUR_PATH_TO_INITIAL_LAMBDA_HANDLER + # Distributed tracing needs your account ID, and your trusted account ID + NEW_RELIC_ACCOUNT_ID: YOUR_ACCOUNT_ID_HERE + # If your New Relic account has a parent account, this value should be that account ID. Otherwise, just + # your account id. + NEW_RELIC_TRUSTED_ACCOUNT_KEY: YOUR_PARENT_ACCOUNT_ID_HERE + Layers: + # This layer includes the New Relic Lambda extension, a sidecar process that sends telemetry, + # as well as the New Relic agent for Node.js, and a handler wrapper that makes integration easy. + - !Sub arn:${AWS::Partition}:lambda:${AWS::Region}:451483290750:layer:NewRelicNodeJS12X:34 + Policies: + # This policy allows the lambda to know the value of the New Relic license key. We need this so + # that we can send telemetry back to New Relic + - AWSSecretsManagerGetSecretValuePolicy: + SecretArn: !ImportValue NewRelicLicenseKeySecret-NewRelic-LicenseKeySecretARN + ``` + + 通常、関数とそのリソースを記述する`template.yaml`という名前のファイルがあります。 + + + + Serverless フレームワークは、サーバーレス アプリケーション向けの人気のある開発およびデプロイメント ツールです。 これは AWS 向けに Node.js で記述されており、主に CloudFormation テンプレート上の高レベルの抽象化として機能します。 Node、Python、Ruby、Java、.NET 関数に適しています。 + + New Relic では、Serverless Framework アプリケーションのインスツルメンテーションを簡素化するために、 [Serverless Framework Plugin](https://github.com/newrelic/serverless-newrelic-lambda-layers) を提供しています。 + + プラグインをインストールするには、次のコマンドを実行します。 + + ```bash + npm install --save-dev serverless-newrelic-lambda-layers + ``` + + または、代わりに次のコマンドを実行することもできます。 + + ```bash + yarn add --dev serverless-newrelic-lambda-layers + ``` + + 次に、 [New RelicアカウントID](/docs/accounts/install-new-relic/account-setup/account-id)と[New Relic個人APIキー](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key)を見つけます。 + + 次に、 `serverless.yaml`ファイルに次のコードを追加します。 + + ```yaml + plugins: + - serverless-newrelic-lambda-layers + custom: + newRelic: + accountId: your-new-relic-account-id-here + apiKey: your-new-relic-personal-api-key-here + linkedAccount: your-new-relic-integration-account-name-here + ``` + + + + Terraform は、コード ツールとしての一般的なインフラストラクチャとして人気の高いツールです。 AWS リソースの管理に使用できます。 Terraform スクリプトを使用して インストゥルメントされた Lambda 関数のデプロイの [例をいくつか](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/terraform) 紹介します。New Relic + + + + 上記の方法よりもエラーが発生しやすく、手間がかかりますが、AWS LambdaコンソールからNew Relicを使用するようにLambda関数の設定を手動で変更することができます。Node.jsの場合、 Python、Ruby、Java。 + + New Relicランタイムに LambdaRuby を実装する方法の例を次に示します。 + + 1. AWS ウェブコンソールの**Lambda**サービスセクションに移動します。 そこから、 New Relicに接続する Lambda関数 を見つけます。 + + 2. デフォルトの**Code** \[コード]タブで、 **Layers** \[レイヤー]セクションまで下にスクロールし、 **Add a layer** \[レイヤーの追加]ボタンをクリックします。 + + 3. **Create layer** \[レイヤーの作成]ボタンをクリックします。 + + 4. **Choose a layer** \[レイヤーの選択]に移動し、 **Specify an ARN** \[ARN の指定]オプションを選択します。 + + 5. [New Relicのレイヤーリスト](https://layers.newrelic-external.com/)に移動し、ドロップダウンリストを使用して、Lambda 関数がホストされているAWSリージョンを選択します。 そこから、Lambda 関数のRubyバージョンとアーキテクチャに一致する ARN を見つけます。 オプションは X86 と ARM64 の 2 つあります。 **Copy to clipboard** \[クリップボードにコピー]ボタンを使用するか、ARN 文字列を手動でコピーします。 + + 6. AWS コンソールフォームの**Specify an ARN** \[ARN の指定]セクションで、New Relic Lambda レイヤーの ARN を貼り付けます。 + + 7. AWSコンソールフォームで、 **Add** \[追加]ボタンをクリックして、Lambda 関数にレイヤーを追加します。 + + 8. Lambda関数のページで、デフォルトの**Code** \[コード]タブを選択した状態で、**Runtime settings** \[ランタイム設定]セクションまで下にスクロールし、**Edit** \[編集]ボタンをクリックします。 + + 9. 既存の**Handler** \[ハンドラー]値の安全なコピーを作成します。 後の手順で必要になります。 + + 10. **Handler**\[ハンドラー]の値を`newrelic_lambda_wrapper.handler`に変更し、 **Save** \[保存]をクリックします。 + + 11. Lambda関数のページの**Configuration** \[設定]タブに切り替えます。 + + 12. **Environment variables** \[環境変数]サブタブを選択します。 + + 13. 次の環境変数を定義します。 + + * `NEW_RELIC_ACCOUNT_ID`: New Relic[アカウント ID](/docs/accounts/install-new-relic/account-setup/account-id)に設定します。 + + * `NEW_RELIC_LAMBDA_HANDLER`: 先ほどコピーした関数の元のハンドラ値に設定します。 + + * `NEW_RELIC_LICENSE_KEY`: New Relicライセンスキーに設定します。 + * `NEW_RELIC_LOG_ENDPOINT`: [https://log-api.newrelic.com/log/v1](https://log-api.newrelic.com/log/v1)に設定します。 + * `NEW_RELIC_TELEMETRY_ENDPOINT`: [https://cloud-collector.newrelic.com/aws/lambda/v1](https://cloud-collector.newrelic.com/aws/lambda/v1)に設定します。 + + 14. Lambda 関数のログ (関数が STDOUT に書き込むすべての内容を含む) をNew Relicに送信する場合は、必ず `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` 環境変数を `true` に設定してください。 + + 15. 実行ロールを変更して、 New Relicシークレットにアクセスできるようにします。 + + * `NEW_RELIC_LICENSE_KEY`という名前のシークレットの ARN を見つけます。 + + * 関数の実行ロールに、以下のコードのような新しいインライン ポリシーを追加します。 `SECRET_ARN`を上記で見つけた値に置き換えます。 + + ```json + "Statement": [ + { + "Action": [ + "secretsmanager:GetSecretValue" + ], + "Resource": "SECRET_ARN", + "Effect": "Allow" + } + ] + ``` + + + New Relicレイヤーは、 New Relic Rubyエージェントを自動的に配信し、Lambda 関数の呼び出し前にRuby `require` を介してロードされます。 競合を避けるため、Ruby エージェントのコピーを他の場所に含めないでください。 エージェントの存在を活用するために、関数内で必要なNew Relic RubyエージェントAPI呼び出しを自由に実行してください。 + + + Java、Python、Node.js、および .Net ランタイムは、 Rubyと同じインストゥルメンテーション フローに従いますが、ハンドラーがいくつか異なります。 関数のコンソールで新しくアタッチされたレイヤーを指すように関数のハンドラーを更新する方法は次のとおりです。 + + * Javaです。 + + * `RequestHandler` 実装: `com.newrelic.java.HandlerWrapper::handleRequest` 。 + * `RequestStreamHandlerWrapper` 実装: `com.newrelic.java.HandlerWrapper::handleStreamsRequest` 。 + + * Python: `newrelic_lambda_wrapper.handler` (アンダースコア)。 + + * ノード: `newrelic-lambda-wrapper.handler` (ハイフン)。 + + * .Net の場合、ハンドラーを設定する必要はありません。 + + Go の場合、Lambda関数を計装するにはソースコードを変更する必要があることに注意してください。 設定変更だけでは十分ではありません。 + + + +## 輸送方法 + + + + 各エージェント レイヤーには、CloudWatch をバイパスしてログとペイロードを New Relic に送信するための拡張機能も含まれています。 これにより、レイテンシとコストを削減できます。 ただし、関数のパフォーマンスと信頼性に影響を及ぼすリスクがあります。 + + New Relic Lambda レイヤーを追加すると、拡張機能が有効になり、ログ配布はデフォルトで無効になります。 + + New Relic で関数ログを表示する場合は、環境変数を使用して関数ログの拡張機能の送信を有効にする必要があります。 + + 関数ログは、関数の呼び出し中に関数によって記録されたログにすぎないことに注意することが重要です。 拡張機能は、 `START` 、 `END` 、 `REPORT`行などの Lambda ランタイム ログを送信しません。 + + + + データを CloudWatch のみに送信するか、フォールバックとして送信するかを選択できます。詳細については、 [CloudWatch フォールバックのドキュメント](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloudwatch-fallback)をご覧ください。 + + + +## 次は何ですか? [#find-data] + +* これらの手順を完了すると、 [Lambda 監視UI](/docs/lambda-monitoring-ui)にデータレポートが表示されます。 +* データが見つからない場合は、 [「Lambda 有効化のトラブルシューティング」](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#troubleshoot)を参照してください。 \ No newline at end of file diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx new file mode 100644 index 00000000000..a93c0e50480 --- /dev/null +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx @@ -0,0 +1,1257 @@ +--- +title: AWS Lambda監視の概要 +metaDescription: This provides an overview of New Relic's AWS Lambda monitoring and details how to link your accounts. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessShippingMethods from 'images/serverless_diagram_shipping-methods.webp' + +組織がAWS Lambdaを使用して Function-as-a-Service (FaaS) アーキテクチャに移行すると、シームレスで効率的なユーザーエクスペリエンスを実現するために、関数のパフォーマンスを理解して最適化することが重要になります。 各 Lambda 呼び出しは、潜在的なボトルネックまたは改善の機会を表します。 + +New RelicのAWS Lambda向けインストゥルメンテーションは、関数の内部動作を詳細に可視化します。 関数に New Relic エージェントを追加すると、関数が呼び出されるたびに New Relic も呼び出されます。 期間、コールド スタート、例外、トレースバックなどの主要なパフォーマンス メトリックをインサイトで取得できます。 + +このドキュメントでは、 New Relicの Lambda 監視アーキテクチャについて説明し、 AWSとNew Relicアカウントをリンクする手順を説明します。 機能を利用する前にアカウントをリンクする必要があります。 + +## Lambda インストゥルメンテーションの仕組み [#how] + +これらは、 を使用したAWS Lambda インストゥルメンテーションの重要な要素です。New Relic + +* **あなたの関数**: あなたの関数はあなたが理解したいコードです。 いつエラーが発生したのか、なぜ遅いのか、どのくらいの頻度で呼び出されるのかを知りたいのです。 +* **New Relicエージェントまたは SDK** : 関数が記述されている言語に応じて、 New Relic異なるエージェントまたは SDK を提供します。 その役割は、実際にコードを監視することです。 関数呼び出しの継続時間を測定し、発生したエラーを記録し、ソース イベントの詳細と関数の応答を記録します。 これを行うには、Lambda 呼び出しハンドラー関数をラップする必要があります。 +* **New Relic Lambda 拡張機能**: 関数にNew Relic Lambda 拡張機能を組み込むと、コードと一緒に Lambda 実行環境内で実行されます。 エージェントが収集したテレメトリを強化し、 New Relicのバックエンドにバッチで送信します。 関数のログを New Relic に送信することもできます。 New Relicで関数を監視するために Lambda 拡張機能は必要ありません。 + +## 配送方法を選択してください [#method] + +New Relic AWS Lambdaテレメトリを出荷する方法は 3 つあります。 どの配送方法を選択するかは、データのニーズによって異なります。 + +A screenshot depicting the different shipping methods for Lambda + +* **コスト**: AWS Lambdaで計画する最もコスト効率の高い方法は、Lambda 拡張機能を含むいずれかのレイヤーを使用することです。 デフォルトでは、拡張機能は AWS CloudWatch にデータを送信しません。 +* **信頼性**: データは CloudWatch 経由でのみ送信できます。 これを行うには、New Relic Lambda 拡張機能を無効にします。 つまり、Lambda 関数は軽量になり、呼び出されたときに実行される追加のプロセスがなくなります。 この場合、ログとペイロードは拡張機能ではなく CloudWatch を通じて New Relic に送信されます。 +* **両方の長所を活かす**: AWS CloudWatch をフォールバックとして拡張機能と併用すると、コストを抑えながら、拡張機能に問題が発生した場合にフェイルセーフを提供できます。 + +インストゥルメント ドキュメントの各メソッドを使用して Lambda 関数を計算 する方法を説明します。 + +* [コンテナ化されたLambda関数を計画する](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/containerized-images/) +* [コンテナ化されていないLambda関数を設計する](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own/) +* [レイヤーレスLambda関数を設計する](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monioring-lambda-monitoring-layerless/) + +## あなたが始める前に [#begin] + +Lambda レイヤーを使用してサーバーレス監視を有効にする前に、次のものが必要です。 + +1. 管理者ロールまたは**インフラストラクチャ マネージャー**[アドオン ロール](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on)を持つ New Relic アカウント。 + +2. + + 。 + +3. IAMリソース、マネージドシークレット、Lambdasを作成するパーミッションを持つAWSアカウント。また、CloudFormationスタックやS3バケットを作成するための権限も必要です。 + +次に、以下の手順を完了する必要があります。 + +1. `aws configure`を使用して[AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)構成をインストールします。 AWS アクセスキー ID と AWS シークレットアクセスキーが必要になります。 + +2. [Python](https://www.python.org/downloads/)バージョン 3.3 以降をインストールします。 + +3. [newrelic-lambda CLI](https://github.com/newrelic/newrelic-lambda-cli#installation)をインストールします。 インストールするには、以下を実行します。 + + ```brew + pip3 install newrelic-lambda-cli + ``` + +4. デフォルトでは、AWS 管理ポリシー`ReadOnlyAccess`を使用します。 これにより、インフラストラクチャ インテグレーションは、Lambda 関数と CloudWatch メトリックだけでなく、アカウント内のすべてのリソースを確認できるようになります。 New Relicではこのデフォルトを推奨していますが、サードパーティのインテグレーションに対して厳格なセキュリティ体制を好む組織もあることを理解しています。 New Relic のアクセスを制限する場合は、IAM ロールに最低限以下の権限を付与できます。 + +```yaml + Resource: "*" + Action: + - "cloudwatch:GetMetricStatistics" + - "cloudwatch:ListMetrics" + - "cloudwatch:GetMetricData" + - "lambda:GetAccountSettings" + - "lambda:ListFunctions" + - "lambda:ListAliases" + - "lambda:ListTags" + - "lambda:ListEventSourceMappings" +``` + +5. CLI を実行する前に、AWS で New Relic に最低限以下の権限を付与する必要があります。 + +```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "CLIAccessPolicy", + "Action": [ + "cloudformation:CreateChangeSet", + "cloudformation:CreateStack", + "cloudformation:DescribeStacks", + "cloudformation:ExecuteChangeSet", + "iam:AttachRolePolicy", + "iam:CreateRole", + "iam:GetRole", + "iam:PassRole", + "lambda:AddPermission", + "lambda:CreateFunction", + "lambda:GetFunction", + "logs:DeleteSubscriptionFilter", + "logs:DescribeSubscriptionFilters", + "logs:PutSubscriptionFilter", + "s3:GetObject", + "serverlessrepo:CreateCloudFormationChangeSet", + "secretsmanager:CreateSecret" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Sid": "NRLogAccessPolicy", + "Effect": "Allow", + "Action": [ + "serverlessrepo:CreateCloudFormationTemplate", + "serverlessrepo:GetCloudFormationTemplate" + ], + "Resource": "arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion" + } + ] + } +``` + +CLI について詳しく知りたい場合は、 [CLI リポジトリ](https://github.com/newrelic/newrelic-lambda-cli#installation)をご覧ください。 + +## 推奨されるAWS Lambda言語のランタイム [#recommended] + +以下のランタイムをお勧めします。 + +* Node.js: `nodejs16.x` 、 `nodejs18.x` 、 `nodejs20.x` +* Python: `python3.8` 、 `python3.9` 、 `python3.10` 、 `python3.11` 、 `python3.12` +* 行く: `provided.al2` +* Java: `java8.al2` 、 `java11` 、 `java17` +* Ruby : `ruby3.2`, `ruby3.3` +* .NET: `dotnet6` 、 `dotnet8` + +## コストを考慮する [#costs] + +AWS Lambda のサーバーレス監視を有効にすると、Amazon Web Services の料金が発生する可能性があります。 お客様の Lambda データを当社に報告する `newrelic-log-ingestion` Lambda 関数は[サードパーティサービス](/docs/licenses/license-information/acceptable-use-policy/acceptable-use-policy)とみなされます。このサービスの使用によって発生するAWS料金はお客様の責任となります。 + +[Lambda Extension を](https://github.com/newrelic/newrelic-lambda-extension)使用すると、 New Relicによって収集されたテレメトリに対する CloudWatch ログ取り込み料金を回避できます。 + +## AWSとNew Relicアカウントをリンクする [#link] + +関数を実装する前に、 AWSアカウントをNew Relicにリンクする必要があります。 アカウントをリンクすると、 New RelicにAWSアカウントのインベントリを作成し、Lambda 関数の CloudWatch メトリックを自動的に収集する権限が付与されます。 アカウントをリンクすると、 AWSアカウント内のリソースが エンタープライズ エクスプローラーに エンタープライズ として表示されます。 + + + + ## `newrelic-lambda` CLI を使用してNew Relicの Lambda レイヤーを実装する + + New Relicの Lambda レイヤーを実装するには、以下を実行します。 + + ```bash + newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID + --nr-api-key YOUR_NEW_RELIC_USER_KEY + ``` + + `newrelic-lambda` CLI は、セキュリティを強化するために、 [AWS Secret Manager](https://aws.amazon.com/secrets-manager/)に New Relic をシークレットとして追加します。 + + + + ## メトリクスストリームをインストールする [#metric-streams] + + New Relic Lambda 関数を監視するには、[メトリクス Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream)または[API Polling の](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring)いずれかをインストールする必要があります。 メトリクス ストリームの使用をお勧めしますが、CLI を使用してAPIポーリング インテグレーションを自動的にインストールすることもできます。 + + メトリクス Streams を使用する場合は、CLI を実行する前にインストールしてください。 [メトリクス Streams を使用した Connect AWSインテグレーションのドキュメントを使用して](docs/infrastructure/amazon-integrations/connect/aws-metric-stream/)インストールできます。 + + + + ## 環境変数 [#environment] + + CLI を使用してNew Relicの Lambda レイヤーをセットアップすると、環境変数が自動的に構成されます。 デフォルト設定の一部を変更し、監視ニーズに合った環境変数を使用して Lambda 関数を構成することもできます。 ランタイムを選択して、利用可能な環境変数とデフォルト設定の推奨事項を確認してください。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + New RelicアカウントIDまたは親ID(存在する場合) +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + New RelicアカウントIDまたは親ID(存在する場合) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + ディストリビューティッド(分散)トレーシングを有効または無効にする +
+ `NEW_RELIC_PRIMARY_APPLICATION_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_DEBUG` + + `false` + + `true`, `false` + + エージェントログレベル +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + New RelicアカウントIDまたは親ID(存在する場合) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + ディストリビューティッド(分散)トレーシングを有効または無効にする(Java を除く) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + Node.jsエージェントはLambdaで環境変数を使用するので、これを次のように設定する必要があります。 `true` +
+ `NEW_RELIC_APP_NAME` + + + + + + 設定する必要がありますが、New Relic UI では使用されません。 代わりに、エンタープライズ名はAWSインテグレーションから取得されます。 +
+ `NEW_RELIC_LOG_ENABLED` + + `false` + + `true`,`false` + + エージェントログをCloudWatchに出力します +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `fatal`、 `error` 、 `warn` 、 `info` 、 `debug` 、 `trace` + + エージェントログレベル +
+ `NEW_RELIC_LOG` + + `stdout` + + `stdout` + + サーバーレス モードの Node.js エージェントの場合、エージェント ログ パスは stdout である必要があります。 +
+ `NEW_RELIC_USE_ESM` + + `false` + + `true`, `false` + + コールバックではなくasync/awaitを使用するESM関数 +
+ `NEW_RELIC_NATIVE_METRICS_ENABLED` + + `true` + + `true`, `false` + + コールド スタートの期間を短縮するには、false に設定する必要があります。 `false`に設定するとVMメトリクスは収集されません +
+ + さらに多くの環境変数については[、Node.js 設定ドキュメント](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/)をご覧ください。 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + New RelicアカウントIDまたは親ID(存在する場合) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + ディストリビューティッド(分散)トレーシングを有効または無効にする(Java を除く) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + エージェントはLambdaで環境変数を使用するため、これをtrueに設定する必要があります +
+ `NEW_RELIC_APP_NAME` + + + + + + 設定する必要がありますが、New Relic UI では使用されません。 代わりに、エンタープライズ名はAWSインテグレーションから取得されます。 +
+ `NEW_RELIC_LOG` + + `stderr` + + `stderr` + + サーバーレス モードの Python エージェントの場合、エージェント ログ パスは`stderr `である必要があります +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `critical`、`error`、`warning`、`info`、 `debug` + + エージェントログレベル +
+ `NEW_RELIC_SERVERLESS_MODE_ENABLED` + + `false` + + `true`, `false` + + エージェントがサーバーレスモードで実行されるように、これを`true`に設定する必要があります。 +
+ `NEW_RELIC_PACKAGE_REPORTING_ENABLED` + + `true` + + `true`, `false` + + コールドスタート時間を改善するには、Python エージェント パッケージ レポートを`false`に設定する必要があります。 +
+ + その他の環境変数については、 [Python 設定ドキュメント](/docs/apm/agents/python-agent/configuration/python-agent-configuration)をご覧ください。 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + NewRelicアカウントID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + New RelicアカウントIDまたは親ID(存在する場合) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + ディストリビューティッド(分散)トレーシングを有効または無効にする +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + 関数の元のHandler値に設定します +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `CORECLR_ENABLE_PROFILING` + + + + `0`, `1` + + 必須: .NET エージェントがアプリケーションを計測するには、これを`1`に設定する必要があります。 +
+ `CORECLR_PROFILER` + + + + `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` + + 必須: .NET エージェントがアプリケーションを計測するには、これを`{36032161-FFC0-4B61-B559-F6C5D41BAE5A}`に設定する必要があります。 +
+ `CORECLR_NEWRELIC_HOME` + + + + `/opt/lib/newrelic-dotnet-agent` + + 必須: .NET エージェントがアプリケーションを計測するには、これを`/opt/lib/newrelic-dotnet-agent`に設定する必要があります。 +
+ `CORECLR_PROFILER_PATH` + + + + `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` + + 必須: .NET エージェントがアプリケーションを計測するには、これを`/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so`に設定する必要があります。 +
+ `NEW_RELIC_APP_NAME` + + + + + + 設定する必要がありますが、New Relic UI では使用されません。 代わりに、エンタープライズ名はAWSインテグレーションから取得されます。 +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `info`、 `debug` 、 `finest` + + エージェントログレベル +
+ `NEWRELIC_LOG_CONSOLE` + + `0` + + `1`, `0` + + ログメッセージをコンソールに送信する +
+ + その他の環境変数については[、.NET 設定ドキュメント](/docs/apm/agents/net-agent/configuration/net-agent-configuration/)をご覧ください。 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 環境変数 + + デフォルト値 + + オプション + + 説明 +
+ `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` + + `true` + + `true`, `false` + + 拡張機能を有効または無効にする +
+ `NEW_RELIC_LICENSE_KEY` + + + + + + New Relic 取り込みキー。 これはシークレットマネージャーを上書きします +
+ `NEW_RELIC_LICENSE_KEY_SECRET` + + `NEW_RELIC_LICENSE_KEY` + + + + AWS Secrets Manager のカスタムシークレット名 +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + New Relic の[手動ラッピング方法を](https://github.com/newrelic/newrelic-lambda-layers?tab=readme-ov-file#note-on-performance-for-es-module-functions)使用しない場合、これが関数のハンドラーになります。 +
+ `NEW_RELIC_DATA_COLLECTION_TIMEOUT` + + 10s + + + + タイムアウト時間を短縮する `Telemetry client error` +
+ `NEW_RELIC_EXTENSION_LOGS_ENABLED` + + `true` + + `true`, `false` + + `NR_EXT`ログ行を有効または無効にする +
+ `NEW_RELIC_EXTENSION_LOG_LEVEL` + + `info` + + `INFO`, `DEBUG` + + NR_EXT ログ行のログレベル +
+ `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` + + `false` + + `true`, `false` + + 機能ログを送信する +
+ `NEW_RELIC_LOG_ENDPOINT` + + + + + + [https://log-api.newrelic.com/log/v](https://log-api.newrelic.com/log/v)に設定します +
+ `NEW_RELIC_TELEMETRY_ENDPOINT` + + [米国のエンドポイント](https://cloud-collector.newrelic.com/aws/lambda/v1)に設定 + + + + オプションの[EU弁護士](https://github.com/newrelic/newrelic-lambda-extension/blob/3c4218dd7727d0b0467f24f0902b616b7f4e46b7/telemetry/client.go#L24-L27) +
+ + New Relic 拡張機能のその他の環境変数については、 [ドキュメント](https://github.com/newrelic/newrelic-lambda-extension/blob/cf86fb53f0bd816e1d09d07f7b5c5ab4841010a0/config/config.go#L41-L55)をご覧ください。 +
+
+
+ + + ## サンプル関数をお試しください + + New Relicの Lambda レイヤーをインストゥルメントした後は、サンプル関数を試してみることを強くお勧めします。 これらの実用的な例は、独自のサーバーレス機能を開始するための出発点として使用する必要があります。 これらの例を使用すると、 New Relic Lambda レイヤーやアカウント リンクのテストに慣れることができ、独自のインストゥルメンテーションのリファレンスとしても使用できます。 各例では、権限の追加、ハンドラーをラップするためのランタイム固有の手法、CloudWatch での関数ログ保持の管理などを示します。 + + Lambda 関数を管理およびデプロイする方法は多数ありますが、この例ではAWS CloudFormation というメカニズムを使用しています。 + + 私たちの例は、New Relic Lambda Extension とともに、この[GitHub リポジトリ](https://github.com/newrelic/newrelic-lambda-extension)で公開されています。 New Relic がサポートする Lambda ランタイムごとに 1 つあります。 + + * [Node.js](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/node) + * [Python](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/python) + * [Go](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [Java](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/java) + * [Ruby](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/ruby) + * [.NET](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/dotnet) + + また、ディストリビューティッド(分散)トレーシングの例で、ディストリビュー[ティッド(分散)トレーシングを](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/distributedtracing)非自明なサーバーレス アプリケーションに組み込む方法を学ぶこともできます。 これは、Node、Python、 Ruby 、Java 関数を使用して、Lambda 関数を呼び出す可能性のある 2 つの一般的なサービスである SQS と SNS の手動トレース伝播を示しています。 + + + 手動でテストする場合、テレメトリーデータが遅延する可能性があります。 バッファリングされたテレメトリが配信されるように、関数を再度呼び出す前に 7 秒待つことをお勧めします。 + + +
+ +## トラブルシューティング [#troubleshooting] + +Lambda 関数で問題が発生した場合に備えて、一般的なトラブルシューティングのヒントをいくつか示します。 + + + + 組織が AWS Secrets Manager の使用を許可していない場合、New Relic Lambda Extension は`NEW_RELIC_LICENSE_KEY`環境変数を受け入れます。 `newrelic-lambda integrations install`コマンドから`--disable-license-key-secret`フラグを追加します。 次に、この環境変数を Lambda関数 設定のに設定します。 + + + + `newrelic-lambda` CLI は、 `--aws-region`問題を指定してリージョンごとに 1 回実行する必要があります。 同じリンクされたアカウント名を使用すると、ツールはアカウント リンクがすでに作成されていることを検出します。 シークレットは各リージョンで作成する必要があります。 + + 同様に、複数のAWSアカウントをNewRelicアカウントにリンクできます。各アカウントに異なるリンクされたアカウント名を付けます。 CLIツールの`--aws-profile`引数は、名前付きプロファイルを選択します。このツールは、AWSCLIと同じ設定を使用します。 + + + + Lambda関数をインストゥルメントされたようにしましたが、New Relic の**Amazon Web Services -> Lambda functions**セクションにインストゥルメントされたとして表示されません。 + + [API ポーリング](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring/)と[Metric Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/)統合の両方を UI で手動で New Relic アカウントにリンクしました。 + + 1 つの New Relic アカウントで同じ AWS アカウントの 2 つの統合を行うこのシナリオでは、計測されたペイロードが New Relic [cloud-collector エンドポイント](https://github.com/newrelic/newrelic-lambda-extension/blob/54ccfd44765feb4b3da77ae606323c18d9db7593/telemetry/client.go#L18-L19)で計測された Lambda 関数から受信されると、競合状態が発生します。ペイロードは、2 つの統合のいずれかにランダムに割り当てられます。関数エンティティにリンクされていない統合に割り当てられた場合、ペイロードはドロップされ、関数はインストルメント済みとして表示されません。`AwsLambdaInvocation`イベントまでの過去 30 日間に少なくとも 1 つのペイロードを受け取った関数のみがインストルメント済みとして表示されます。 + + ```sql + FROM AwsLambdaInvocation + SELECT count (*) + SINCE 30 days ago + WHERE entityGuid = 'ENTITY_GUID' + LIMIT 1 + ``` + + 同じ AWS アカウントに対して 2 つの統合を作成しないようにするには、前述のように`newrelic-lambda` CLI を使用することをお勧めします。これは、既存の統合を検出して使用するためです。 + + すでに 2 つの統合が作成されている場合は、New Relic の**Infrastructure > AWS**にある**Unlink this account**をクリックして、1 つを選択して保持し、もう 1 つのリンクを解除します。 + + + [Metric Streams 統合にはいくつかの制限](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/#integrations-not-replaced-streams)があり、API ポーリング統合のリンクを解除する前に考慮する必要があります。また、 [インフラストラクチャ ディメンション メトリクス クエリにはいくつかの制限](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-infrastructure-dimensional-metrics-nrql/#known-limitations)があり、メトリクス ストリーム統合に完全にコミットする前に考慮する必要があります。 + + + + + ラムダコードには、AWSSecretsManagerを読み取る権限を持つ実行ロールが必要です。次のようなログが見つかった場合は、実行ロールのポリシーに適切な権限を追加してください。この例では、 `template.yaml`ファイルをチェックして、この権限を付与する簡単な方法を確認してください。 + + ```bash + Failed to retrieve license key AccessDeniedException: User: is not authorized to perform: secretsmanager:GetSecretValue on resource: + ``` + + + +## 次のステップ + + + + Lambda関数をコンテナ化している場合は、ここをクリックして計装してください。 + + + + コンテナ化されていない Lambda 関数がある場合は、ここをクリックして計装してください。 + + + + レイヤーレスLambda関数をお持ちの場合は、ここをクリックして計装してください。 + + \ No newline at end of file diff --git a/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx new file mode 100644 index 00000000000..451779131db --- /dev/null +++ b/src/i18n/content/jp/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx @@ -0,0 +1,131 @@ +--- +title: Lambdaモニタリングの更新 +metaDescription: How to update New Relic's AWS Lambda monitoring. +freshnessValidatedDate: never +translationType: machine +--- + +[AWS Lambda のモニタリングを有効にし](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda)た後、AWS ログ データのレポートに使用される Lambda 関数`newrelic-log-ingestion`を時々更新する必要があります。 + +これには2つの方法があります。 + +* [CLIによるアップデート](#update-cli): [CLIツールを使ってLambdaのモニタリングを有効にした場合に使用します](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/#rec). +* [AWS Serverless Application Repository経由でのアップデート](#update-sar): [手動での手順を有効にした場合に使用します](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda). + + + これらの更新手順は、当社の [AWS Lambda 用サーバーレス監視](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/introduction-new-relic-monitoring-aws-lambda) に適用され、当社の [AWS Lambda 統合用インフラ監視](/docs/integrations/amazon-integrations/aws-integrations-list/aws-lambda-monitoring-integration) には適用されません。 + + +## CLIによるLambdaインテグレーションの更新 [#update-cli] + +このセクションでは、弊社推奨の [CLIツール](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) を使用してLambdaモニタリングが有効になっている場合のアップデート方法について説明します。 + +1. 最新版のCLIを使用してください。 + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. `newrelic-log-ingestion`関数をインストールしたリージョンごとに、次のコマンドを実行して、 YOUR_REGION をリージョン識別子 ( `us-west-2`など) に置き換えます。 + + ```bash + newrelic-lambda integrations update \ + --aws-region YOUR_REGION + ``` + +3. また、弊社のログを有効にしていない場合は、以下のコマンドでAmazon CloudWatchのログ購読フィルターを更新する必要があります。 + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --aws-region YOUR_REGION + ``` + +## CLIによるレイヤーの更新 [#update-layer-cli] + +このセクションでは、弊社の [CLIツール](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) でインストールした場合に、機能のLayerをアップデートする方法について説明します。 + +1. 最新版のCLIを使用してください。 + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. インストール コマンドに`--upgrade`フラグを渡します。 + + ```bash + newrelic-lambda layers install \ + --function installed \ + --nr-account-id NR_ACCOUNT_ID \ + --upgrade + ``` + +## 手動のServerlessアプリケーションリポジトリのインストールを更新する [#update-sar] + +[AWS Serverless Application Repository](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda) からインジェスト機能を手動でインストールした場合( [CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) を使用しなかった場合)、この手順でアップデートしてください。 + +1. `YOUR_REGION`ご使用のリージョンに置き換えて、次を実行します (たとえば、 `us-west-2` )。 + + ```bash + aws serverlessrepo create-cloud-formation-change-set \ + --application-id arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion \ + --stack-name NewRelic-log-ingestion \ + --capabilities CAPABILITY_RESOURCE_POLICY \ + --parameter-overrides Name=NRLicenseKey,Value= + --region + ``` + + このコマンドはいくつかのフィールドを出力します。そのうちの 1 つは`ChangeSetId`です: 作成したばかりの変更セットの ARN です。その ARN をコピーします。 + +2. 変更セットを実行するこのコマンドにARNを使用します。 + + ```bash + aws cloudformation execute-change-set --change-set-name YOUR_CHANGE_SET_ARN + ``` + +## ログ管理の有効化 + +現在 New Relic のが有効になっていないが、次の操作を実行したい場合は、 + +1. 最新版のCLIを使用してください。 + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. `newrelic-log-ingestion`関数をインストールしたリージョンごとに、次のコマンドを実行して、 `YOUR_REGION`実際のリージョンに置き換えます (たとえば、 `us-west-2` )。 + + ```bash + newrelic-lambda integrations update \ + --enable-logs \ + --aws-region YOUR_REGION + ``` + +3. その後、以下のいずれかを行ってください。 + + * 以下のコマンドで、各リージョンのAmazon CloudWatchのログ購読フィルターを更新します。 + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --filter-pattern "" \ + --aws-region YOUR_REGION + ``` + + * または、CloudWatch と`newrelic-log-ingestion` Lambda をバイパスして、関数ログを New Relic に直接送信できます。これを行うには、Lambda 関数の設定で環境変数`NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS=true`を設定します。 + + その後、このコマンドを使用して、その機能に対する既存のNew Relicログサブスクリプションを必ず削除してください。 + + ```bash + newrelic-lambda subscriptions uninstall \ + --function FUNCTION_NAME \ + --aws-region YOUR_REGION + ``` + + 拡張機能がログを送信しているときにログサブスクリプションが存在すると、ログが2回送信され、New Relicのログレコードが重複してしまいます。 + + オプションとして、CloudWatch Log取り込みのためのAmazonの料金 [を避けたい場合は、関数の ](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier)[実行ロール](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) を変更して、CloudWatch Logのパーミッションを付与しないようにすることもできます。これにより、関数がCloudWatchにロギングされなくなります。 + + + CloudWatch ログの取り込み料金はかなりの額になりますが、このステップは慎重に行う必要があります。CloudWatchログを無効にする前に、New Relicのログ取り込み統合がうまく機能しており、ニーズを満たしていることを確認してください。 + \ No newline at end of file diff --git a/src/i18n/content/kr/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx b/src/i18n/content/kr/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx index 722644a8732..bac9aed966e 100644 --- a/src/i18n/content/kr/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx +++ b/src/i18n/content/kr/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx @@ -18,18 +18,23 @@ import alertsNameYourAlertCondition from 'images/alerts_screenshot-crop_name-you import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condition-page.webp' +import accountsConditionOn from 'images/accounts_icon_condition-on.webp' + +import accountsConditionOff from 'images/accounts_icon_condition-off.webp' + +import accountsAlertingConcepts from 'images/accounts_diagram_alerting-concepts.webp' + +import alertsAddingAlertDetailstoanAlertCondition from 'images/alerts_screenshot-crop_adding-alert-details-to-an-alert-condition.webp' + 경고 조건은 [인시던트가](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/understand-technical-concepts/incident-event-attributes/#definition) 생성되는 시기를 정의하는 핵심 요소입니다. 이는 의미 있는 경고를 구축하기 위한 필수적인 시작점 역할을 합니다. 경고 조건에는 알림을 받기 전에 충족된 매개변수 또는 임계값이 포함됩니다. 과도한 경고를 완화하거나 새롭거나 비정상적인 동작이 나타날 때 팀에 알릴 수 있습니다. A screenshot showing the alert condition homepage. -
- **Alert conditions list** 페이지는 모든 공지 조건의 범용 허브입니다. -
- ## 새 경고 조건 만들기 [#create-alert-condition] 경고 조건은 정의된 임계값에 대해 특정 이벤트 집합을 측정하고 지정된 기간 동안 임계 [값이](/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/specify-when-alerts-create-incidents/) 충족되면 인시던트를 여는 지속적으로 실행되는 쿼리입니다. @@ -99,7 +104,7 @@ import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condit WHERE appName = 'WebPortal' ``` - 경고 조건에 대해 이 쿼리를 사용하면 New Relic이 `WebPortal` 애플리케이션의 평균 `pageviews` 을 알고 싶어한다는 것을 알 수 있습니다. `pageviews` 를 모니터링하면 애플리케이션의 지연 시간 문제를 찾는 데 도움이 됩니다. + 공지 조건에 이 쿼리를 사용하면 뉴렐릭에게 `WebPortal` 에서 페이지를 로드하는 데 필요한 평균 지연 시간 또는 지속 시간을 알고 싶다는 뜻이 됩니다. 골든의 핵심 신호인 지연시간에 대한 사전 경고는 잠재적 성능 저하에 대한 조기 경고를 제공합니다. New Relic의 쿼리 언어인 NRQL 사용 방법에 대한 자세한 내용은 [NRQL 문서를](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions/) 참조하세요. @@ -117,9 +122,9 @@ import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condit src={alertsSetaQuery} /> - 이 예에서는 차트에 `WebPortal` 애플리케이션의 평균 `pageviews` 표시됩니다. **Next** 클릭하고 공지 조건 구성을 시작하세요. + 이 예에서는 차트에 `WebPortal` 의 평균 지연 시간이 표시됩니다. **Next** 클릭하고 공지 조건 구성을 시작하세요. - 이 예에서는 `WebPortal` 애플리케이션에서 `pageviews` 에 대한 비정상적인 활동을 모니터링하기 위해 만든 조건에 대한 고급 신호 설정을 맞춤설정합니다. + 이 예에서는 `WebPortal` 에서 지연 시간을 모니터링하기 위해 생성한 조건에 대한 고급 신호 설정을 맞춤설정합니다. - 손실 신호 임계값은 누락된 신호 손실을 고려하기 전에 대기할 시간을 결정합니다. 해당 시간 내에 신호가 반환되지 않으면 새 인시던트를 열거나 관련 인시던트를 종료하도록 선택할 수 있습니다. 시스템의 예상 동작과 데이터 수집 빈도에 따라 임계값을 설정합니다. 예를 들어, `pageviews` 에 대한 신호 손실이 지연 시간 문제를 나타낼 수 있는 경우 편안한 임계값을 설정하고 확인란을 선택하여 새로운 신호 손실 문제를 열 수 있습니다. + 손실 신호 레버값은 손실된 신호를 고려하기 전에 기다려야 하는 시간을 결정합니다. 해당 시간 내에 신호가 반환되지 않으면 새 인시던트를 열거나 관련 인시던트를 종료하도록 선택할 수 있습니다. 시스템의 예상 동작 및 데이터 수집 빈도에 따라 레버 값을 설정하십시오. 예를 들어, 웹 사이트에서 트래픽이 완전히 손실되거나 처리량이 발생하는 경우 뉴렐릭으로 전송된 해당 텔레메트리 데이터도 중단됩니다. 이러한 신호 손실에 대한 모니터링은 이러한 중단에 대한 조기 경고 시스템 역할을 할 수 있습니다.
@@ -292,7 +296,15 @@ import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condit id="name-your-condition" title="조건 이름 지정" > - 공지 조건에 기술 이름을 지정하는 것이 중요합니다. 이 조건의 이름을 **pageviews** 으로 지정한 다음 완전히 다른 애플리케이션에 대한 또 다른 조건을 만들고 해당 조건에도 **pageviews** 라벨을 붙인다고 가정해 보겠습니다. 이런 일이 발생하면 어떤 조건에 해당하는지 구분할 수 없게 됩니다. 따라서 조건에 구체적이고 고유한 이름을 지정해야 합니다. 이 경우 이 조건의 이름을 **pageviews: WebPortal App** 로 지정합니다. + 조건 명명에 대한 모범 사례에는 필수 정보를 한눈에 전달하는 구조화된 형식이 포함됩니다. 조건 이름에 다음 요소를 포함합니다. + + * **우선순위**: P1, P2, P3와 같이 공지의 심각도나 긴급도를 나타냅니다. + + * **신호**: 높은 평균 지연 시간 또는 낮은 처리량과 같은 지표 또는 조건을 모니터로 지정합니다. + + * **엔터티**: WebPortal 앱 또는 데이터베이스 서버와 같은 영향을 받는 시스템, 애플리케이션 또는 구성 요소를 식별합니다. + + 이 구조를 따르는 올바른 형식의 조건 이름의 예는 `P2 | High Avg Latency | WebPortal App` 입니다. 조건의 임계값에 표시된 기간 동안 대상 신호가 위반하지 않은 상태로 돌아오면 사고가 자동으로 종료됩니다. 이 대기 시간을 회복 기간이라고 합니다. - 예를 들어 위반 행위가 "`pageviews` 은(는) 5분에 한 번 이상 300보다 낮습니다."인 경우 `pageviews` 연속 5분 동안 300 이상이면 인시던트가 자동으로 종료됩니다. + 예를 들어, 지연 시간을 측정 중이고 `WebPortal` 에서 페이지를 로드하는 `duration` 의 위반 행위가 3초 이상 증가한 경우 인시던트는 `duration` 가 이하일 때 자동으로 닫힙니다. 연속 5분 동안 3초 이상. 인시던트가 자동으로 종료되는 경우: @@ -351,24 +363,39 @@ import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condit `WebPortal` 애플리케이션에 지연 시간 문제가 있는지 알려주는 경고 조건을 생성 중이므로 개발자가 이 사고에 대해 알림을 받을 때 필요한 모든 정보를 갖고 있는지 확인하려고 합니다. 사건이 생성되면 워크플로를 사용하여 팀 Slack 채널에 알립니다. 당사 [문서](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/advanced-techniques/alert-custom-incident-descriptions) 에서 맞춤형 사고 설명에 대해 자세히 알아보세요. + + A screenshot depicting the final step of creating an alert condition- the alert details page + + 제목 템플릿 사용은 선택 사항이지만 권장됩니다. 공지 조건은 귀하가 감시하고자 하는 오래된 값, 릴레이의 집합을 정의합니다. 해당 레버값 중 하나라도 위반되면 인시던트가 생성됩니다. 의미 있는 제목 템플릿을 사용하면 문제를 정확히 찾아내고 중단을 더 빠르게 해결할 수 있습니다. + + [문서](//docs/alerts/create-alert/condition-details/title-template/) 에서 제목 템플릿에 대해 자세히 알아보세요. + + - Runbook에 연결하려는 경우 Runbook URL 필드에 URL을 입력할 수 있습니다. + 조사, 분류 또는 수정 단계를 자세히 설명하는 운영 런북이 이 필드에 연결되어 있는 경우가 많습니다. -## 기존 경고 조건 편집 또는 개선 [#edit-existing-alert-condition] +## 기존 공지 조건 편집 [#edit-existing-alert-condition] 이미 생성한 경고 조건을 편집하려면 다음을 수행할 수 있습니다. @@ -390,15 +417,205 @@ import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condit ### 신호 이력 [#signal-coverage] -**Signal history** 아래에서 공지 조건을 생성하는 데 사용한 NRQL 쿼리에 대한 최신 결과를 볼 수 있습니다. 이 예에서는 설정한 특정 기간 동안 `WebPortal` 앱에서 평균 `pageviews` ) 볼 수 있습니다. +**Signal history** 아래에서 공지 조건을 생성하는 데 사용한 NRQL 쿼리에 대한 최신 결과를 볼 수 있습니다. 이 예에서는 설정한 특정 기간 동안 `WebPortal` 앱의 평균 지연 시간을 확인할 수 있습니다. NRQL 쿼리로 작성된 모든 공지 조건의 경우 **Signal history** 가 선 차트로 표시됩니다. 종합 모니터로 구축된 모든 경고 조건은 약간 다릅니다. 이는 합성 모니터를 사용하면 여러 위치에서 애플리케이션을 ping할 수 있어 모니터가 실행될 때마다 긍정적이거나 부정적인 결과를 생성할 수 있기 때문입니다. 이 데이터는 표로만 표시할 수 있습니다. -## 문제 해결 [#troubleshoot] +## 조건의 유형 [#condition-types] + +기본적이고 권장되는 조건 유형은 NRQL 공지 조건이지만 다른 유형의 조건도 있습니다. 아래에는 조건 유형의 전체 목록이 포함되어 있습니다. + + + + UI 또는 [NerdGraph API](/docs/alerts/alerts-nerdgraph/nerdgraph-examples/nerdgraph-api-alerts-nrql-conditions) 를 사용 [하여 숫자를 반환하는 기본 NRQL 쿼리에](/docs/new-relic-alerts-alert-nrql-queries) 대한 NRQL 조건을 만듭니다. + + + + [APM 사용하여 조건을 생성하는 방법에](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/apm-metric-alert-conditions) 대한 NRQL 팁은 지표 공지 조건을 참조하세요. + + + + [이상적으로 알림을 사용하면](/docs/alerts/new-relic-alerts/configuring-alert-policies/create-anomaly-alert-conditions) 주간 또는 계절별 패턴과 같이 변화하는 데이터 및 추세에 동적으로 조정되는 조건을 생성할 수 있습니다. 이 기능은 [NRQL 쿼리](/docs/alerts/new-relic-alerts/defining-conditions/create-alert-conditions-nrql-queries) [](/docs/apm/new-relic-apm/getting-started/welcome-new-relic-apm)뿐만 아니라 [](/docs/browser/new-relic-browser/getting-started/new-relic-browser)및 앱에서도 사용할 수 있습니다. + + + + [다중 위치 종합 모니터링 조건](/docs/alerts/new-relic-alerts/defining-conditions/multi-location-synthetics-alert-conditions) 을 사용하면 특정 수의 위치에서 동시에 장애가 발생했을 때 알려주도록 모니터를 설정할 수 있습니다. + + + + APM의 경우 [주요 트랜잭션](/docs/apm/transactions/key-transactions/introduction-key-transactions) 에 대한 조건을 설정할 수 있습니다. + + + + Java 앱의 인스턴스 메트릭에 의해 위반될 때 인시던트를 여는 임계값을 설정할 수 있습니다. + + [임계값의 범위를 특정 인스턴스](/docs/alerts/new-relic-alerts/configuring-alert-policies/scope-alert-thresholds-specific-instances) 로 지정하면 잠재적인 문제가 발생한 위치를 보다 빠르게 식별할 수 있습니다. 예를 들어, 이는 앱 인스턴스의 하위 집합에서만 발생하는 이상을 감지하는 데 유용합니다. 이러한 종류의 이상 현상은 많은 수의 인스턴스에서 메트릭을 집계하는 앱에서 놓치기 쉽습니다. + + + + APM에서 모니터링하는 Java 앱의 경우 단일 JVM의 힙 크기 또는 스레드 수가 예상 작동 범위를 벗어날 때 인시던트를 여는 [임계값을](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) 설정할 수 있습니다. + + 우리는 앱에서 [선택한 각 항목](#instance-incidents) 에 대해 개별적으로 경고 값, 이탈 위반을 평가합니다. 조건을 생성할 때 Java 앱의 공지 사항에 대한 조건 유형으로 **JVM health metric** 선택한 다음 사용 가능한 레버 값 중 하나를 선택하세요. + + * 교착 상태 스레드 + + * 힙 메모리 사용량 + + * CPU 사용 시간 + + * 가비지 컬렉션 CPU 시간 + + 역 임계값이 충족되면 인시던트가 자동으로 닫히지만 UI를 사용하여 JVM 상태 지표에 대해 [인시던트가](/docs/new-relic-solutions/get-started/glossary/#alert-incident) 강제 종료되는 시간을 변경할 수도 있습니다. 기본값은 24시간입니다. + + + + 웹 앱의 응답 시간이 이 값보다 높거나 낮거나 같을 때 백분위수를 레버 값 [,](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) 즉 조건에 따라 정의하는 옵션이 포함되어 있습니다. 예를 들어 운영 담당자가 **average** 웹 응답 시간이 아닌 앱 서버의 **overall** [웹 프로세서](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) 응답 시간에 대해 백분위수를 공지하려는 경우에 유용합니다. + + + [웹 앱이 아닌 트랜잭션](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#non-web-transaction) 에 대한 조건에서 임의의 임계값을 설정하려면 [NRQL 쿼리](#nrql-conditions) 기능을 사용하세요. + + + 백분위수 임계값을 정의하려면 + + 1. 앱 조건의 조건 유형으로 **Web transactions percentiles** 선택한 다음 단일 앱을 선택합니다. (둘 이상의 앱을 공지하려면 각각에 대해 개별 **Web transactions percentiles** 조건을 생성하세요.) + + 2. 인시던트를 여는 레버 값을 정의하려면 **Percentile nth** 응답 시간 값을 입력한 다음 해당 빈도(이 값보다 높거나 낮거나 같음)를 선택합니다. + + 사용자 인터페이스에 Critical 및 Warning 값이 초로 표시되지만 트랜잭션 시간을 밀리초 단위로 저장합니다. 밀리초를 정의하려면 값에 소수점을 포함해야 합니다. + + + + 애플리케이션에 [레이블](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#labels) 을 적용하면 이러한 [엔터티](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-entity) 를 조건에 자동으로 연결할 수 있습니다. 이를 통해 동적 환경 내에서 모든 애플리케이션을 쉽게 관리할 수 있습니다. 엔터티 레이블을 가장 잘 유지하려면 [에이전트 구성 파일](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#config) 을 사용하는 것이 좋습니다. + + 단일 라벨은 해당 라벨과 연관된 **all** 엔터티를 식별합니다(최대 10,000 엔터티). 여러 레이블은 선택한 모든 레이블을 공유하는 엔터티만 식별합니다. + + 조건에 따라 동적 타겟팅을 사용하려면 [사건 종료 타이머](/docs/alerts-applied-intelligence/new-relic-alerts/alert-incidents/how-alert-condition-incidents-are-closed#time-limit) 도 설정해야 합니다. + + 조건에 대해 최대 10개의 레이블을 추가, 편집 또는 제거하려면 다음 단계를 따르세요. + + 1. 제품 유형으로 **APM > Application metric** 선택합니다. + + 2. 엔터티를 식별할 때 **Labels** 탭을 선택합니다. 이름으로 라벨을 검색하거나 카테고리 목록에서 라벨을 선택하세요. + + 또한 [인프라를](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information) 사용하여 모니터링하는 컨텍스트 내에서 직접 조건을 생성할 수도 있습니다. + + + + 인프라 모니터링 UI에서 직접 [리소스에 대한 조건을 생성](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information) 할 수 있습니다. + + 예를 들어, 안드로이드 에이전트가 데이터 수신을 중지할 때 공지를 얻으려면 [호스트가 보고하지 않는](/docs/infrastructure/new-relic-infrastructure/configuration/create-infrastructure-host-not-reporting-condition) 조건 유형을 사용하세요. 이를 통해 필터링된 호스트 그룹을 동적으로 공지하고 시간 창을 5-60분으로 구성할 수 있습니다. + + + +## 정책에 조건 추가 [#add-conditions] + +[정책에 조건을 더 추가](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions) 하려면: + +1. 이동 + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Policies** + +2. 정책을 감지합니다. + +3. **Add a condition** + + 을(를) 클릭합니다. + +[새 NRQL 조건을 생성](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions) 하려면: + +1. 이동 + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + +2. **Add a condition** + + 을(를) 클릭합니다. + +## 조건 복사 [#copy-condition] + +[대상](/docs/apm/new-relic-apm/getting-started/glossary#alert-target) 및 [임계값](/docs/apm/new-relic-apm/getting-started/glossary#alert-threshold) 을 포함한 기존 조건을 복사하고 선택한 계정에 대한 다른 정책에 추가하려면: + +1. **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert conditions** 으)로 이동합니다. + +2. 공지사항 목록에서 복사하려는 알림의 점 3개 아이콘을 클릭하고 **Duplicate condition** 선택하세요. + +3. **Copy alert condition** 에서 목록을 검색하거나 스크롤하여 이 조건을 추가하려는 정책을 선택합니다. + +4. 선택 사항: 필요한 경우 조건의 이름을 변경합니다. + +5. 선택사항: 토글 스위치를 클릭하여 **Enable on save** + +6. **Copy condition** 선택합니다. + + 기본적으로 선택된 공지사항은 **Disabled** \[비활성화] 상태에서 복사된 조건을 추가하게 됩니다. 표준 절차에 따라 공지에 더 많은 조건을 [추가](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions) 하거나 복사한 다음 필요에 따라 [조건을**Enable** \[활성화합니다\] ](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#disable-conditions). 또한 새 조건은 원래 조건에 추가된 [태그를](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-via-ui-api) 복사하지 않습니다. + +## 조건 활성화/비활성화 [#disable-conditions] + +조건을 비활성화하거나 다시 활성화하려면 다음을 수행하십시오. + +1. **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + + 으)로 이동합니다. 그런 다음 + + **Alert conditions** + + 목록에서 토글을 사용하여 조건을 활성화하거나 비활성화합니다. + +2. 전환하려면 + + **On/Off** + + 스위치를 클릭하세요. + +[조건을 복사하면 해당 조건](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/copy-alert-conditions) 이 원래 정책에서 활성화(**Off**)되었더라도 자동으로 새 정책에 비활성화된 상태(**On**)로 저장됩니다. + +## 조건 삭제 [#delete-conditions] + +조건을 끄되 정책과 함께 유지하려면 [비활성화](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#condition-on-off) 하세요. 하나 이상의 조건을 삭제하려면 다음을 수행하십시오. + +1. **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** 으)로 이동합니다. + +2. **Alert conditions** 목록에서 조건을 선택한 다음 줄임표 메뉴(...)에서 **Delete** 클릭합니다. + + + 삭제 버튼이 표시되지 않으면 계정 관리자가 조직의 조건 삭제를 비활성화했을 수 있습니다. + + +## 공지 조건 페이지 문제 해결 [#troubleshoot] -기록 차트에 빈 신호가 표시되면 다음 중 하나를 고려하세요. +**Alert Condition** \[공지 조건] 페이지의 기록 차트에 빈 신호가 표시되면 다음 중 하나를 고려하세요. * **Review the condition's settings** diff --git a/src/i18n/content/kr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx b/src/i18n/content/kr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx index 2375bb4393f..a973d530530 100644 --- a/src/i18n/content/kr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx +++ b/src/i18n/content/kr/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx @@ -205,7 +205,7 @@ translationType: machine Kudu의 **Process Explorer** 에 있는 **Environment** 탭에 표시되는 환경 변수는 다음과 유사해야 합니다. - ```env + ```ini CORECLR_ENABLE_PROFILING = 1 CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_PROFILER_PATH = /home/site/wwwroot/newrelic/libNewRelicProfiler.so diff --git a/src/i18n/content/kr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx b/src/i18n/content/kr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx new file mode 100644 index 00000000000..410e1b2f1e3 --- /dev/null +++ b/src/i18n/content/kr/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx @@ -0,0 +1,71 @@ +--- +title: .NET OpenTracing에서 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 +--- + +이 가이드에서는 `NewRelic.OpenTracing.AmazonLambda.Tracer` 와 .NET 에이전트 Lambda 계층 간의 주요 변경 사항을 간략하게 설명합니다. 또한 업그레이드 시 사용 가능한 다양한 옵션과 .NET 에이전트 Lambda 계층을 사용하여 성공적으로 마이그레이션하는 방법에 대해 자세히 설명합니다. + + + 플러그인된 AWS Lambda 함수에 대한 지원은 .NET 에이전트 v10.24.0부터 시작됩니다. + + +이번 전환의 주요 변경 사항은 다음과 같습니다. + +* `NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지가 에이전트 측정과 충돌하므로 제거해야 합니다. +* OpenTracing용 AWS Lambda 함수에 대한 모든 코드 변경 사항을 되돌려야 합니다. +* 뉴렐릭.NET 에이전트는 AWS Lambda 함수를 디버깅하는 데 사용됩니다. +* AWS Lambda 레이어는 .NET 에이전트와 필수 뉴렐릭 Lambda 확장을 번들로 묶을 때 사용할 수 있습니다. +* 대부분의 경우 AWS Lambda 함수 계측은 자동으로 수행됩니다. +* .NET 에이전트는 AWS Lambda 함수에서 데이터를 전송하기 위해 뉴렐릭 Lambda 확장을 사용합니다. +* 레이어는 블루렐릭 Lambda CLI 도구, 서버리스 프레임워크 플러그인을 사용하거나 수동으로 구성할 수 있습니다. +* 함수가 포함된 방식이 근본적으로 변경되었기 때문에 지표 이름과 타이밍이 달라집니다. +* 이전 지표를 기반으로 하는 대시보드, 알림 또는 쿼리는 마이그레이션 후에 업데이트해야 합니다. + +## NewRelic.OpenTracing.AmazonLambda.트레이서 및 OpenTracing 제거 [#remove] + +.NET 에이전트를 사용하기 전에 `NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지를 제거해야 하며 이를 지원하기 위해 AWS Lambda 함수에 적용된 모든 변경 사항을 실행 취소해야 합니다. + +1. `NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지를 설정하려면 원본 `FunctionHandler` 를 호출하는 새 `FunctionHandler` 를 생성하고 이를 래핑하여 계측을 활성화해야 합니다. `NewRelic.OpenTracing.AmazonLambda.Tracer` 을 제거하기 전에 해당 호출을 실행 취소하여 정리가 보다 원활하게 진행되도록 해야 합니다. +2. .NET 에이전트는 OpenTracing API를 사용하여 사용자 지정 데이터를 전달하는 것을 지원하지 않습니다. .NET 에이전트 API를 사용하려면 직접 또는 `NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지를 통해 OpenTracing API 에 의존하는 코드에 대한 모든 변경 사항을 제거하거나 마이그레이션해야 합니다. +3. 프로젝트에서 `NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지를 제거합니다. 제거와 관련된 남은 문제를 정리합니다. + +## 레이어 설치 방법 선택 [#install] + +`NewRelic.OpenTracing.AmazonLambda.Tracer` 패키지를 제거한 후 다음 단계는 .NET AWS Lambda 계층을 설치하고 구성하는 데 사용할 방법을 선택하는 것입니다. 위에서 언급했듯이 기본적으로 세 가지 옵션이 있습니다. + +* 뉴렐릭 Lambda CLI +* 뉴렐릭 Serverless 프레임워크 +* 완전 수동 설치 + +대부분의 설정을 자동화하므로 Lambda CLI 또는 Serverless 프레임워크 플러그인을 선택하는 것이 좋습니다. 각각은 고려해야 할 의존성/종속성과 요구 사항이 있으며, 그 중 일부는 다음 섹션에서 설명됩니다. 이러한 접근 방식 중 하나를 이미 사용하고 있다면 모든 AWS Lambda 함수에 동일한 접근 방식을 사용하여 작업을 단순하게 유지하는 것이 좋습니다. + +AWS Lambda 모니터링에 대한 자세한 시작 지침 전체를 보려면 [활성화 가이드 를](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-aws-lambda-monitoring/) 참조하세요. + +## 뉴렐릭 Lambda CLI [#cli] + + + .NET 에이전트 AWS Lambda 계층에 대한 지원은 Lambda CLI v0.9.2부터 시작됩니다. + + +Lambda CLI [퀵스타트에는](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) .NET 에이전트 계층을 사용하도록 AWS Lambda 함수를 업데이트하는 명령의 예가 있습니다. 그러면 함수의 실행 시간이 자동으로 감지되고 적절한 레이어가 선택됩니다. [Lambda CLI 리포지터리](https://github.com/newrelic/newrelic-lambda-cli?tab=readme-ov-file#recommendations) 에서 추가 설정 옵션을 찾을 수 있습니다. + +## 뉴렐릭 Serverless 프레임워크 [#serverless] + + + .NET 에이전트 AWS Lambda 계층에 대한 지원은 Serverless 프레임워크 플러그인 v5.3.0부터 시작됩니다. + + +[Serverless 프레임워크 플러그인 퀵스타트에는](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) 플러그인을 설치하고 Serverless 프레임워크 설정을 업데이트하는 데 필요한 단계가 있습니다. [Serverless 프레임워크 플러그인 리포지터리](https://github.com/newrelic/serverless-newrelic-lambda-layers) 에서 추가 설정 옵션을 찾을 수 있습니다. + +## 완전 수동 설치 [#manual] + +AWS Lambda 함수를 수동으로 작성하는 것을 권장하지는 않지만 [여기에서](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console) 이를 수행하는 데 필요한 단계에 대한 정보를 확인할 수 있습니다. + +* .NET 에이전트는 대부분의 경우 수동으로 설치할 때 AWS Lambda 함수를 자동으로 다운로드합니다. +* 데이터를 전송하려면 뉴렐릭 Lambda 확장이 여전히 필요합니다. \ No newline at end of file diff --git a/src/i18n/content/kr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx b/src/i18n/content/kr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx index ad85b047026..b3c3a8fc55a 100644 --- a/src/i18n/content/kr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx +++ b/src/i18n/content/kr/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx @@ -34,7 +34,7 @@ translationType: machine 4. IIS를 다시 시작하십시오. -에이전트를 제거한 후 모든 에이전트 관련 파일을 제거할 수 있습니다. 다른 뉴렐릭 파일을 제거하려면 다른 경로를 확인하세요. 예를 들어 .NET 에이전트를 제거해도 **[newrelic.config](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence)** 파일은 삭제되지 않습니다. +에이전트를 제거한 후 모든 에이전트 관련 파일을 제거할 수 있습니다. 다른 뉴렐릭 파일을 제거하려면 다른 경로를 확인하세요. 예를 들어 .NET 에이전트를 제거해도 [`newrelic.config`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence) 파일은 삭제되지 않습니다. 1. **Control Panel > Programs > Programs and Features** @@ -65,9 +65,9 @@ Linux에서 .NET 에이전트를 제거하려면 패키지 관리 도구를 사 id="apt-uninstall" title="apt로 제거(Debian, Ubuntu 및 Linux Mint)" > - 루트로(또는 sudo를 사용하여) 다음 명령을 실행합니다. + 다음 명령을 루트로 실행합니다(또는 `sudo` 사용). - ``` + ```sh apt-get remove newrelic-dotnet-agent ``` @@ -76,9 +76,9 @@ Linux에서 .NET 에이전트를 제거하려면 패키지 관리 도구를 사 id="dpkg-uninstall" title="dpkg로 제거(Debian, Ubuntu 및 Linux Mint)" > - 루트로(또는 sudo를 사용하여) 다음 명령을 실행합니다. + 다음 명령을 루트로 실행합니다(또는 `sudo` 사용). - ``` + ```sh dpkg --remove newrelic-dotnet-agent ``` @@ -87,9 +87,9 @@ Linux에서 .NET 에이전트를 제거하려면 패키지 관리 도구를 사 id="yum-uninstall" title="yum으로 제거(CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - 루트로(또는 sudo를 사용하여) 다음 명령을 실행합니다. + 다음 명령을 루트로 실행합니다(또는 `sudo` 사용). - ``` + ```sh yum remove newrelic-dotnet-agent ``` @@ -98,9 +98,9 @@ Linux에서 .NET 에이전트를 제거하려면 패키지 관리 도구를 사 id="rpm-uninstall" title="rpm으로 제거(CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - 루트로(또는 sudo를 사용하여) 다음 명령을 실행합니다. + 다음 명령을 루트로 실행합니다(또는 `sudo` 사용). - ``` + ```sh sudo rpm -e newrelic-dotnet-agent ``` @@ -113,7 +113,7 @@ Linux에서 .NET 에이전트를 제거하려면 패키지 관리 도구를 사 2. New Relic 환경 변수 설정 해제: - ``` + ```ini CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_NEWRELIC_HOME=PATH_TO_INSTALL diff --git a/src/i18n/content/kr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx b/src/i18n/content/kr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx index 82e61d2ae9b..42a96f37df7 100644 --- a/src/i18n/content/kr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx +++ b/src/i18n/content/kr/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx @@ -10,7 +10,7 @@ New Relic의 .NET 에이전트 설치 프로그램에 대한 체크섬을 확인 Linux에서는 다음을 실행합니다. -``` +```sh sha256sum YOUR_FILENAME ``` @@ -33,7 +33,7 @@ Windows에서는 파일 컴퓨트를 위해 `CertUtil` 또는 `Get-FileHash` 중 해시를 계산하려면 다음을 실행하십시오. - ``` + ```sh CertUtil -hashfile YOUR_FILENAME SHA256 ``` @@ -54,7 +54,7 @@ Windows에서는 파일 컴퓨트를 위해 `CertUtil` 또는 `Get-FileHash` 중 해시를 계산하려면 다음을 실행하십시오. - ``` + ```powershell Get-FileHash YOUR_FILENAME Algorithm SHA256 | Format-List ``` diff --git a/src/i18n/content/kr/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx b/src/i18n/content/kr/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx index 306525cbf01..776a710efda 100644 --- a/src/i18n/content/kr/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx +++ b/src/i18n/content/kr/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx @@ -522,6 +522,24 @@ Python 에이전트 [버전 2.72.0.52 이상](/docs/release-notes/agent-release- + + + [aiomcache](https://github.com/aio-libs/aiomcache) + + + + [aiomcache](https://pypi.org/project/aiomcache/) + + + + 0.8.2 + + + + 9.12.0 + + + [엘라스틱서치](https://www.elastic.co/products/elasticsearch) diff --git a/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index 8a7e730d31e..7b2fd4722ef 100644 --- a/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -69,6 +69,25 @@ Flex는 [인프라](/docs/infrastructure/install-infrastructure-agent/get-starte +## 문제점 해결 + +Flex 설정 관련 문제가 발생하면 먼저 다음 기본 문제 해결 단계를 따르세요. + +* 에이전트 에이전트 없이 설정 테스트: 다음과 같은 명령을 실행하여 출력이 기대치를 충족하는지 확인하기 위해 구성 파일을 수동으로 테스트할 수 있습니다. 이때 `` 구성 파일 이름으로 바꿉니다. + +``` +# Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/ +./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/ + +# Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations +.\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\" +``` + +그러면 인프라 에이전트와 통합될 디버그 로깅 및 JSON 페이로드를 보여주는 출력이 제공됩니다. 나머지 문제 해결 단계를 계속하기 전에 Flex가 기대한 대로 HTML 포맷을 얻고 포맷하고 있는지 확인하세요. [GitHub 위치](https://github.com/newrelic/nri-flex/blob/master/docs/troubleshooting.md#testing-a-config) 에서 Flex 설정 테스트에 대해 자세히 알아보세요. + +* `dry-run` 모드에서 에이전트 에이전트로 테스트: 에이전트 에이전트의 [테스트 실행 플래그를](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) 사용하여 Flex 설정을 테스트합니다. 출력에 뉴렐릭에 보고될 것으로 예상되는 스프레드시트가 포함되어 있는지 확인하세요. +* 에이전트 에이전트를 사용하여 통합 디버그: 마지막으로 에이전트 에이전트에서 [디버그 에이전트를 활성화하여](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) 에이전트가 예상대로 텔리메트리 데이터를 보고하는지 확인합니다. + ## 더 알아보기 [#get] Flex 통합은 인프라 에이전트와 함께 번들로 제공되며 다른 온-호스트 통합처럼 구성할 수 있습니다. [구성 옵션](/docs/infrastructure/host-integrations/infrastructure-integrations-sdk/specifications/host-integrations-standard-configuration-format) 에 대해 자세히 알아보세요. diff --git a/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx b/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx index 1ae064147d9..fa26497b83b 100644 --- a/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx +++ b/src/i18n/content/kr/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx @@ -33,7 +33,9 @@ Apache Airflow에서 OpenTelemetry를 활성화하기 전에 `otel` extra를 사 2. pip로 설치할 때 명령에 `otel` 추가를 추가합니다. 예를 들어: - `pip install "apache-airflow[otel]"` + ```sh + pip install "apache-airflow[otel]" + ``` ### 옵션 2: Docker에서 설치 [#install-docker] @@ -41,7 +43,7 @@ Apache Airflow에서 OpenTelemetry를 활성화하기 전에 `otel` extra를 사 2. Dockerfile을 사용하여 `otel` 추가 항목을 설치하여 사전 빌드된 Docker 이미지를 확장합니다. 최신 태그를 원하는 이미지 버전으로 바꿀 수 있습니다. - ``` + ```dockerfile FROM apache/airflow:latest RUN pip install --no-cache-dir "apache-airflow[otel]==$AIRFLOW_VERSION" ``` @@ -86,7 +88,7 @@ Airflow에 필요한 옵션을 설정하려면 다음 방법 중 하나를 선 1. `airflow.cfg` 파일에서 필수 옵션을 설정합니다. - ``` + ```ini [metrics] otel_on = True otel_host = localhost @@ -96,7 +98,7 @@ Airflow에 필요한 옵션을 설정하려면 다음 방법 중 하나를 선 2. 또는 필수 옵션을 환경 변수로 설정하세요. - ``` + ```sh export AIRFLOW__METRICS__OTEL_ON=True export AIRFLOW__METRICS__OTEL_HOST=localhost export AIRFLOW__METRICS__OTEL_PORT=4318 @@ -134,7 +136,8 @@ Airflow 측정항목을 사용하면 개별 파이프라인, 전체 성능을 이 쿼리는 Airflow에 대해 보고된 모든 측정항목 목록을 검색합니다. ```sql -SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 +SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' +AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 ``` 측정항목 이름이 한도를 초과하는 경우 한도(`100`)를 변경하세요. @@ -142,7 +145,8 @@ SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricN 이 쿼리는 다양한 DAG의 성공적인 실행에 대한 다양한 완료 시간의 비교를 보여줍니다. ```sql -SELECT latest(airflow.dagrun.duration.success) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT latest(airflow.dagrun.duration.success) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` 빌드하는 데 사용할 수 있는 실패한 DAG 실행 횟수를 표시합니다. ```sql -SELECT count(airflow.dagrun.duration.failed) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT count(airflow.dagrun.duration.failed) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` :64747/metrics", "http://:44217/metrics", "http://:44227/metrics"] - # tls_config: - # ca_file_path: "/etc/etcd/etcd-client-ca.crt" - # cert_file_path: "/etc/etcd/etcd-client.crt" - # key_file_path: "/etc/etcd/etcd-client.key" + # tls_config: + # ca_file_path: "/etc/etcd/etcd-client-ca.crt" + # cert_file_path: "/etc/etcd/etcd-client.crt" + # key_file_path: "/etc/etcd/etcd-client.key" verbose: false # Defaults to false. This determines whether or not the integration should run in verbose mode. audit: false @@ -131,11 +131,9 @@ Ray 통합은 Ray의 성능을 모니터링하여 Ray 클러스터, 데이터 [인프라 에이전트 문서](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/) 의 지침을 사용하여 인프라 에이전트를 다시 시작하세요. 이것은 대부분의 사람들에게 작동하는 기본 명령입니다. - ````shell + ```shell sudo systemctl restart newrelic-infra.service - ``` - - ```` + ``` diff --git a/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx b/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx index 8b8c4ef3ae6..89d88538542 100644 --- a/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx +++ b/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx @@ -34,9 +34,9 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 id="linux-2" title="아마존 리눅스 2" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -44,15 +44,15 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -62,9 +62,9 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 id="linux-2023" title="아마존 리눅스 2023" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -72,15 +72,15 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2023/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -90,7 +90,7 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 id="deploy-infrastructure" title="윈도우" > - ``` + ```yml packages: msi: infrastructure: https://download.newrelic.com/infrastructure_agent/windows/newrelic-infra.msi @@ -133,15 +133,15 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 id="uninstall-agent-linux-ami" title="아마존 리눅스" > - ``` + ```yml commands: - # Remove agent configuration file - "04-agent-remove-config": - command: sudo rm /etc/newrelic-infra.yml - # - # Uninstall infra agent - "05-agent-uninstall": - command: sudo yum remove newrelic-infra -y + # Remove agent configuration file + "04-agent-remove-config": + command: sudo rm /etc/newrelic-infra.yml + # + # Uninstall infra agent + "05-agent-uninstall": + command: sudo yum remove newrelic-infra -y ``` @@ -149,7 +149,7 @@ AWS Elastic Beanstalk로 시작된 인스턴스에 인프라 에이전트를 설 id="uninstall-infrastructure" title="윈도우" > - ``` + ```yml commands: 03_uninstall-newrelic-infra: command: wmic product where name="New Relic Infrastructure Agent" call uninstall diff --git a/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx b/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx index 26294b65733..ec0ba905909 100644 --- a/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx +++ b/src/i18n/content/kr/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx @@ -49,13 +49,13 @@ puppet module install newrelic-newrelic_installer ```shell sudo puppet module install ~/newrelic-newrelic_installer-0.1.0.tar.gz -Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... -Notice: Downloading from https://forgeapi.puppet.com ... -Notice: Installing -- do not interrupt ... -/etc/puppetlabs/code/environments/production/modules -└─┬ newrelic-newrelic_installer (v0.1.0) - ├── lwf-remote_file (v1.1.3) - └── puppetlabs-powershell (v5.2.0) +[output] Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... +[output] Notice: Downloading from https://forgeapi.puppet.com ... +[output] Notice: Installing -- do not interrupt ... +[output] /etc/puppetlabs/code/environments/production/modules +[output] └─┬ newrelic-newrelic_installer (v0.1.0) +[output] ├── lwf-remote_file (v1.1.3) +[output] └── puppetlabs-powershell (v5.2.0) ``` ## `newrelic-newrelic_installer` 모듈 실행 [#beginning] diff --git a/src/i18n/content/kr/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx b/src/i18n/content/kr/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx index 18a18685ca2..aee092208fe 100644 --- a/src/i18n/content/kr/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx +++ b/src/i18n/content/kr/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx @@ -15,7 +15,7 @@ translationType: machine Kubernetes 에이전트 운영자는 Kubernetes 에이전트 배포와 함께 APM 리소스를 자동화하여 Kubernetes 환경을 위한 풀스택 옵션을 간소화합니다. APM 자동 측정을 활성화하면 개발자는 더 이상 [APM 에이전트를](/docs/apm/new-relic-apm/getting-started/introduction-apm/) 수동으로 관리할 필요가 없습니다. Kubernetes 에이전트 운영자는 APM 에이전트를 자동으로 설치, 업그레이드 및 제거합니다. -현재 Java, .NET, Node.js를 [지원합니다](#k8s-supported-versions) . Python 및 루비에 추가 언어(PHP 및 Go)가 추가될 예정입니다. +현재 Java, .NET, Node.js를 [지원합니다](#k8s-supported-versions) . Python 및 루비에 추가 언어(PHP 및 Go)가 추가될 예정입니다. AMD 노드를 실행하는 EKS 및 온프레미스 클러스터에서 테스트되었습니다. ## 시작하기 전에 [#before-begin] @@ -30,11 +30,11 @@ Kubernetes 에이전트 운영자는 Kubernetes 에이전트 배포와 함께 AP 인증서 관리자 의존성/종속성을 설치하려면 다음 명령을 실행하세요. ```shell - helm repo add jetstack https://charts.jetstack.io - helm install cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --set crds.enabled=true +helm repo add jetstack https://charts.jetstack.io +helm install cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --set crds.enabled=true ``` ## Kubernetes 에이전트 운영자 설치 [#install-k8s-operator] @@ -54,19 +54,19 @@ Helm 사용에 대한 자세한 내용은 [Kubernetes 통합 설치](/install/ku 시위를 사용하여 Helm 명령 샘플을 참조하세요. ```shell - helm repo add newrelic https://helm-charts.newrelic.com - - helm upgrade --install newrelic-bundle newrelic/nri-bundle \ -   --set global.licenseKey= \ -   --set global.cluster= \ -   --namespace=newrelic \ -   --set newrelic-infrastructure.privileged=true \ -   --set global.lowDataMode=true \ -   --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ -   --set kube-state-metrics.enabled=true \ -   --set kubeEvents.enabled=true \ -   --set k8s-agents-operator.enabled=true \ - --create-namespace +helm repo add newrelic https://helm-charts.newrelic.com + +helm upgrade --install newrelic-bundle newrelic/nri-bundle \ + --set global.licenseKey= \ + --set global.cluster= \ + --namespace=newrelic \ + --set newrelic-infrastructure.privileged=true \ + --set global.lowDataMode=true \ + --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ + --set kube-state-metrics.enabled=true \ + --set kubeEvents.enabled=true \ + --set k8s-agents-operator.enabled=true \ + --create-namespace ``` ### 독립형 설치 [#standalone-installation] @@ -74,11 +74,11 @@ Helm 사용에 대한 자세한 내용은 [Kubernetes 통합 설치](/install/ku 기본 설정으로 Kubernetes 에이전트 연산자를 설치하려면 다음 명령을 실행하세요. ```shell - helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator - helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ - --namespace newrelic \ - --create-namespace \ - --set licenseKey= +helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator +helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ + --namespace newrelic \ + --create-namespace \ + --set licenseKey= ``` 설정 옵션의 전체 목록을 보려면 [README](https://github.com/newrelic/k8s-agents-operator/tree/main/charts/k8s-agents-operator#values) 차트를 참조하세요. @@ -128,7 +128,7 @@ Helm 사용에 대한 자세한 내용은 [Kubernetes 통합 설치](/install/ku # - name: NEW_RELIC_APP_NAME # value: "$(NEW_RELIC_LABELS)-$(NEW_RELIC_POD_NAME)" nodejs: - image: newrelic/newrelic-nodejs-init:latest + image: newrelic/newrelic-node-init:latest python: image: newrelic/newrelic-python-init:latest dotnet: @@ -144,11 +144,11 @@ Kubernetes 에이전트 운영자는 모니터링할 기능을 파악하기 위 현재 지원되는 주석을 확인하세요. ```shell - instrumentation.newrelic.com/inject-java: "true" - instrumentation.newrelic.com/inject-nodejs: "true" - instrumentation.newrelic.com/inject-python: "true" - instrumentation.newrelic.com/inject-dotnet: "true" - instrumentation.newrelic.com/inject-ruby: "true" +instrumentation.newrelic.com/inject-java: "true" +instrumentation.newrelic.com/inject-nodejs: "true" +instrumentation.newrelic.com/inject-python: "true" +instrumentation.newrelic.com/inject-dotnet: "true" +instrumentation.newrelic.com/inject-ruby: "true" ``` 부하 에이전트에 대한 주석이 포함된 배포 예시를 참조하세요. diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx new file mode 100644 index 00000000000..f901c211239 --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx @@ -0,0 +1,200 @@ +--- +title: CloudWatch 대체 +metaDescription: This doc guides you through shipping your telemetry data with Cloudwatch as a fail-safe option. +freshnessValidatedDate: never +translationType: machine +--- + +필요에 따라 몇 가지 다른 방법으로 뉴렐릭 Lambda 모니터링 데이터를 전송할 수 있습니다. 가장 강력한 기능 성능과 가장 강력한 장애 대비 기능을 제공하는 옵션에는 CloudWatch를 폴백으로 구성하는 것이 포함됩니다. 즉, 확장 프로그램을 통해 스프레드시트를 뉴렐릭으로 배송하게 되며, 확장 프로그램에 문제가 있는 경우 뉴렐릭은 CloudWatch를 통해 계속해서 페이로드를 받게 됩니다. + +CloudWatch 대체의 이점: + +* **독립적 실행**: 함수 실행과 관계없이 CloudWatch의 모든 로그를 캡처합니다. 함수의 정상적인 작동을 방해하거나 함수 호출 기간에 영향을 미칠 가능성은 거의 없습니다. +* **보안 네트워크에서 작동**: 뉴렐릭으로의 아웃바운드 트래픽을 가질 수 없는 VPC의 기능에 유용합니다. +* **향상된 모니터링 활성화**: 다른 형태의 인프라 및 데이터베이스 스프레드시트에 필요합니다. 자세한 내용은 [Amazon RDS Enhanced 모니터링 통합 설명서 를](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-rds-enhanced-monitoring-integration/) 참조하십시오. + +이 배송 옵션은 가장 강력한 안전 장치를 제공하지만 AWS CloudWatch 서비스는 많은 데이터를 생성할 수 있다는 점에 유의하는 것이 중요합니다. 비용과 어떤 뉴렐릭 요금제를 선택할지 생각할 때 데이터 수집을 염두에 두세요. + +## CloudWatch 대체 작동 방식 [#works] + +확장 프로그램이 시작되지 않거나(noop 모드라고도 함) 충돌하는 경우 에이전트가 생성한 `NR_LAMBDA_MONITORING` 줄을 인코딩하지 못합니다. 대신 `NR_LAMBDA_MONITORING` 줄이 CloudWatch 로그에 표시됩니다. `newrelic-log-ingestion` 함수가 함수와 동일한 리전에 설치되어 있고 페이로드를 전송하도록 구성되었으며 함수의 CloudWatch 로그 그룹에 의해 트리거되는 경우 페이로드 배송을 위한 확장 프로그램에 대한 대체 역할을 할 수 있습니다. + +## 시작하기 전에 [#requirements] + +대체 옵션을 설정하기 전에 다음을 완료해야 합니다. + +* 로그를 보내려는 AWS 리전에 `newrelic-log-ingestion` 함수를 설치합니다. +* 로그를 보내는 경우 null과 동일한 필터 패턴을 생성하거나 전송하려는 함수 로그와 일치하는 사용자 지정 패턴을 생성합니다. 뉴렐릭은 함수에 대한 CloudWatch 로그를 수신합니다. 중복된 로그인을 방지하려면 확장 프로그램에서 로그인 전달을 비활성화해야 합니다. 확장 프로그램의 로그 전달은 기본적으로 비활성화되어 있습니다. + +뉴렐릭 Lambda 레이어를 업데이트하기 전의 모범 사례는 다음과 같습니다. + +* 최신 레이어 버전으로 업데이트하기 전에 최신 레이어가 확장이나 제3자 의존성/종속성을 손상시키는 변경 사항을 도입할 수 있다는 점을 명심하세요. +* 해당 기능에 잘 작동하는 것으로 알려진 레이어 버전을 고정하고 버그 해결, 새 기능 및 보안 패치 확보 또는 에이전트 EOL이 발생한 경우에만 최신 레이어 버전으로 업데이트하세요. +* 모든 변경 사항과 릴리스 노트를 주의 깊게 검토하고 새로운 레이어를 프로덕션에 구현, 배포하기 전에 개발 또는 안정성 환경에서 테스트하세요. + +## 구현 옵션 [#fallback] + +CloudWatch 대체를 구현할 수 있는 세 가지 방법이 있습니다. + +1. **텔메트리 페이로드에 대한 확장을 활성화하고 CloudWatch를 통해 로그를 전송합니다**. 이 시나리오에서 텔메트리 페이로드는 확장을 통해 배송되고 CloudWatch를 통해 로그되며, 확장이 실패하는 경우에는 페이로드도 마찬가지입니다. +2. **텔리메트리 페이로드 및 로그에 대한 확장 활성화**: 이 시나리오에서는 텔리메트리 페이로드 및 로그가 확장을 통해 제공됩니다. +3. **확장 비활성화됨**: 이 시나리오에서는 로그와 페이로드를 전송하는 데 항상 CloudWatch가 사용됩니다. + + + + CloudWatch로 로그를 보내지 않는 경우 이 옵션은 리소스화된 페이로드가 항상 뉴렐릭으로 보내지도록 보장하는 가장 저렴하고 가장 강력한 방법입니다. 로그를 보내는 경우 이 옵션을 사용하면 로그 전송에 대한 일부 CloudWatch 비용이 발생합니다. 가격 책정에 대한 자세한 내용은 [데이터 수집: 청구 및 규칙을](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing/) 참조하세요. + + 뉴렐릭 Lambda 레이어를 추가하면 확장 기능이 활성화되고 기본적으로 로그 배송이 비활성화됩니다. + + 1. 함수에 [확장 환경 변수를](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) 설정합니다. + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: 사실(기본값) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: 거짓(기본값) + + 2. `newrelic-log-ingestion` 함수 환경 변수를 설정합니다. + + * `INFRA_ENABLED`: 진실 + * `LOGGING_ENABLED`: true(로그를 보내는 경우) + + 또는 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers) 사용하는 경우 다음을 설정합니다. + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` 함수가 아직 통합이 없는 AWS 계정에 구현하고 배포하는 경우에만 포함되어야 합니다. 통합이 설정되면 이 옵션은 구현하다, 배포하다 함수의 yaml에서 제거되어야 합니다. + + + 또는 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli) 을 사용하는 경우 다음을 설정합니다. + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key --enable-logs` + * `newrelic-lambda layers install --function --nr-account-id ` + * `newrelic-lambda subscriptions install --function --filter-pattern ""` + + + + 이 옵션은 리소스화된 페이로드가 항상 뉴렐릭에 도달하도록 보장하는 최저 비용 경로를 제공합니다. 이 옵션은 뉴렐릭 Lambda 확장 프로그램을 통해 함수 로그를 제공하므로 확장 프로그램이 시작되지 않거나 충돌이 발생하면 함수 로그가 뉴렐릭에서 누락됩니다. + + 기능 로그를 보내는 경우 확장 프로그램이 그렇게 하도록 구성되어 있는지 확인하세요. 이러한 로그는 확장 프로그램에 의해서만 전송되며 중복을 피하기 위해 로그에 대한 CloudWatch 대체는 없습니다. + + 뉴렐릭 Lambda 레이어를 추가하면 확장 기능이 활성화되고 기본적으로 로그 배송이 비활성화됩니다. 뉴렐릭에서 함수 로그를 보려면 환경 변수를 사용하여 확장 프로그램이 함수 로그를 보낼 수 있도록 해야 합니다. + + 함수 로그는 함수 호출 중에 함수에 의해 기록되는 로그라는 점에 유의하는 것이 중요합니다. 확장 프로그램은 `START` 및 `END` 같은 Lambda 플랫폼 로그를 보내지 않습니다. + + 1. 함수에 [확장 환경 변수를](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) 설정합니다. + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: 사실(기본값) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: true 2 `newrelic-log-ingestion` 함수 환경 변수를 설정합니다. + * `INFRA_ENABLED`: 진실 + * `LOGGING_ENABLED`: false(중복을 방지하려면 로그 포워딩을 비활성화하거나 CloudWatch 구독 필터 패턴을 `NR_LAMBDA_MONITORING` 줄만 일치하도록 설정) + + 또는 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers) 사용하는 경우 다음을 설정합니다. + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: true + enableIntegration: true + cloudWatchFilter: "NR_LAMBDA_MONITORING" (only send payloads) + ``` + + + `enableIntegration` 함수가 아직 통합이 없는 AWS 계정에 구현하고 배포하는 경우에만 포함되어야 합니다. 통합이 설정되면 이 옵션은 구현하다, 배포하다 함수의 yaml에서 제거되어야 합니다. + + + 또는 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli) 을 사용하는 경우 다음을 설정합니다. + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function <name or arn> --nr-account-id <YOUR_NEW_RELIC_ACCOUNT_ID>` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern "NR_LAMBDA_MONITORING"` + + + + 이 옵션은 CloudWatch와 `newrelic-log-ingestion` 함수에 전적으로 의존하여 로그인 및 페이로드를 뉴렐릭에 전달합니다. 이 옵션은 확장 실패로 인한 잠재적인 다운타임을 방지하기 위해 확장 기능을 비활성화합니다. + + 이 방법의 경우 `NR_LAMBDA_MONITORING` 줄이 CloudWatch에 기록되는 것을 방지하지 않도록 뉴렐릭 Lambda 확장을 완전히 비활성화해야 합니다. 뉴렐릭 Lambda 확장이 비활성화되면 모든 텔렙리는 CloudWatch, 구독 필터 및 `newrelic-log-ingestion` 함수를 통해 전송됩니다. + + 뉴렐릭 Lambda 레이어를 추가하면 확장 기능이 활성화되고 기본적으로 로그 전달이 비활성화됩니다. 환경 변수를 사용하여 확장 기능을 비활성화해야 합니다. + + 1. 다음과 같이 함수에 [확장 환경 변수를](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) 설정합니다. + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: 거짓 + + 2. 다음과 같이 `newrelic-log-ingestion` 함수 환경 변수를 설정합니다. + + * `INFRA_ENABLED`: 진실 + * `LOGGING_ENABLED`: 진실 + + 또는 [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers) 사용하는 경우 다음을 설정합니다. + + ```yaml + custom: + newRelic: + enableExtension: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` 함수가 아직 통합이 없는 AWS 계정에 구현하고 배포하는 경우에만 포함되어야 합니다. 통합이 설정되면 이 옵션은 구현하다, 배포하다 함수의 yaml에서 제거되어야 합니다. + + + 또는 [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli) 을 사용하는 경우 다음을 설정합니다. + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function --nr-account-id --disable-extension` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern ""` + + CloudWatch로만 데이터를 전송하도록 수동으로 선택할 수도 있습니다. 이것을하기 위해: + + 1. `false` 값을 사용하여 함수에 `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` 환경 변수를 추가하여 확장을 비활성화합니다. + 2. CloudWatch Logs 구독 필터를 만들어 함수의 로그로 `newrelic-log-ingestion` 함수를 호출합니다. + + * CLI는 다음을 수행할 수 있습니다. `newrelic-lambda subscriptions install --function FUNCTION_NAME` + * 또는 AWS 콘솔을 사용하여 함수의 CloudWatch 로그 그룹에서 구독 필터를 생성하여 `newrelic-log-ingestion` Lambda 함수를 호출합니다. + + 또는 다음 단계에 따라 CloudWatch 로그를 뉴렐릭 Lambda로 스트리밍할 수 있습니다. + + 1. CloudWatch를 열고 왼쪽 메뉴에서 + + **Logs** + + 선택한 다음 모니터링 중인 함수에 대한 로그 그룹을 선택합니다. + + 2. **Actions > Subscription filters > Create Lambda subscription filter** + + 선택합니다. + + 3. **Lambda function** + + 아래에서 `newrelic-log-ingestion` 함수를 선택합니다. + + 4. **Log format** + + 를 `JSON` 로 설정합니다. + + 5. **Subscription filter pattern to** + + `?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId` 을 설정합니다. 또는 `LOGGING_ENABLED` 환경 변수를 사용하여 [모든 로그를 Google 로그로 스트리밍](#stream-all-logs) 하는 경우 이 필드를 비워 두세요. + + + 위의 방법에서 선택한 `newrelic-log-ingestion` Lambda 함수가 Lambda 함수와 동일한 AWS 리전에 있는지 확인합니다. + + + \ No newline at end of file diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx new file mode 100644 index 00000000000..8b606ad87b6 --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx @@ -0,0 +1,171 @@ +--- +title: 컨테이너화된 함수를 편집하세요 +metaDescription: A guide for instrumenting your containerized image layer with New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessContainerizedImagesWithLambda from 'images/serverless_diagram_containerized-images-with-lambda.webp' + +Lambda 함수에 대해 컨테이너화된 이미지를 사용하고 있고 디버그를 모니터링하려면 Dockerfile에 New Relic을 추가해야 합니다. 예를 들어, 귀하가 예산 책정 애플리케이션 개발자이고 고객이 **See my balance** \[내 잔액 보기 를] 클릭할 때마다 Lambda 함수를 사용하여 계정 잔액을 계산한다고 가정해 보겠습니다. 잠재적인 지연시간에 대해 자세히 알아보고 싶습니다. 이 경우 함수에 New Relic을 추가해야 하므로 고객이 **See my balance** \[내 잔액 보기를] 클릭할 때마다 함수가 실행되고 New Relic도 실행됩니다. + +다음은 함수를 모니터링할 수 있도록 Dockerfile에 New Relic을 추가하는 프로세스를 보여주는 다이어그램입니다. + +A diagram demonstrating how New Relic integrates with your Lambda containerized function. + +
+ Lambda 함수에 컨테이너화된 이미지를 사용하는 경우 이미지에 뉴렐릭을 추가할 수 있습니다. +
+ +다음은 사전 구축된 레이어를 코드에 추가하는 방법에 대한 가이드입니다. + + + + ### Dockerfile에 뉴렐릭 추가 + + 뉴렐릭은 레이어의 다양한 런타임(Java, Node.js, Python 및 확장 전용입니다. + + 1. 특정 Lambda 함수의 런타임 및 지역과 호환되는 계층을 선택합니다. + + * [자바](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java) + * [노드.js](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs) + * [파이썬](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-python) + * [루비](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-ruby) + * [.그물](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet) + * [확장 전용](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension) + + 2. 다단계 Dockerfile에서 New Relic의 사전 빌드된 이미지를 중간 빌드 단계로 사용하세요. 그런 다음 사전 빌드된 이미지의 New Relic 에이전트 및 확장을 최종 빌드 단계에 복사하세요. + + ### 예시 + + 다음은 New Relic의 사전 빌드된 레이어와 병합된 원본 Dockerfile의 예입니다. 이 예제에서는 Node.js 런타임을 사용합니다. + + ```dockerfile + + # Define the New Relic pre-built image + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20 AS layer + + # Define the base image: + FROM public.ecr.aws/lambda/nodejs:20 + + # Copy New Relic Layer code + COPY --from=layer /opt/ /opt/ + + # Rest of your Dockerfile... + ``` + + ### 런타임 기반 Dockerfile 예제 + + + + + 자바 + + + + 파이썬 + + + + 노드.js + + + + 루비 + + + + .그물 + + + + 확장 전용 + + + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java:17-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-python:38-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-ruby:32-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ``` + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet:arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension:x86 as layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + + + + ### 이미지 만들기 + + 1. New Relic의 사전 빌드된 이미지에 대한 참조를 Dockerfile에 추가한 후 수정된 Dockerfile에서 새 이미지를 빌드해야 합니다. 이 새 이미지에는 원본 코드와 New Relic의 사전 빌드된 이미지가 포함됩니다. 이렇게 하려면 AWS 가이드 [컨테이너 이미지를 사용하여 Lambda 함수 생성](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) 에 나열된 단계를 따르는 것이 좋습니다. + 2. 배포를 위해 새 이미지를 [AWS Elastic 컨테이너 레지스트리](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) 에 푸시합니다. + + + + ### 새로운 Lambda 함수 생성 + + AWS ECR에 푸시한 이미지를 사용하여 새 Lambda 함수를 생성합니다. 이 함수 생성에 대한 자세한 내용을 보려면 AWS 가이드: [Lambda 함수 생성 을](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) 참조하는 것이 좋습니다. + + + + ### Lambda 함수 구성 + + 2. 원본 함수와 동일한 설정으로 Lambda 함수를 구성하되, New Relic Lambda 모니터링에 필요한 환경 변수를 추가했는지 확인하세요. 자세한 내용은 [환경 변수를](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/configure-serverless-monitoring-aws-lambda/#environment) 참조하세요. + + 3. 함수의 `cmd` 재정의에서 새로 연결된 레이어를 가리키도록 함수 핸들러를 업데이트합니다. 다음 두 문서의 지침을 사용하여 그렇게 할 수 있습니다. + + * [Lambda 콘솔 UI 구성](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console) + * [레이어 없는 측정, Lambda 모니터링을 위한 로그](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-serverless-monitoring-aws-lambda-layerless) + + \ No newline at end of file diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx new file mode 100644 index 00000000000..7ef3d90a39d --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx @@ -0,0 +1,324 @@ +--- +title: 레이어 없는 계측 +metaDescription: Legacy instructions for manually enabling New Relic monitoring for AWS Lambda. +freshnessValidatedDate: never +translationType: machine +--- + +레이어 없이 Lambda 함수를 사용하는 경우 선택한 런타임에 따라 리소스를 추가해야 합니다. 아래에서 런타임을 선택하고 설정 지침을 따르세요. + + + + Go 언어 Lambda를 계측하려면: + + 1. Go 에이전트 패키지를 다운로드하고 함수와 동일한 디렉터리에 배치합니다. + + 1. 다음을 실행하여 에이전트를 설치합니다. + + ```shell + go get -u github.com/newrelic/go-agent/v3/newrelic + ``` + + 2. 다음을 실행하여 `nrlambda` 통합을 설치합니다. + + ```shell + go get -u github.com/newrelic/go-agent/v3/integrations/nrlambda + ``` + + 2. Lambda 코드에서 구성 요소를 가져오고 애플리케이션을 생성하고 Lambda를 시작하는 방법을 업데이트합니다. 계측 예를 참조하십시오. + + * [확장 저장소](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [에이전트 리포지토리로 이동](https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrlambda/example/main.go) + + 3. 선택적으로 [`RecordCustomEvent` API](/docs/agents/go-agent/features/create-custom-events-insights-go) 를 사용하여 Lambda 호출과 연결할 [사용자 지정 이벤트](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) 를 추가합니다. 예를 들어: + + ```go + func handler(ctx context.Context) { + if txn := newrelic.FromContext(ctx); nil != txn { + txn.Application().RecordCustomEvent("MyEvent", map[string]interface{}{ + "zip": "zap", + }) + } + fmt.Println("hello world!") + } + ``` + + 4. Lambda 함수를 빌드 및 압축하여 AWS에 업로드합니다. + + + + 다음은 Lambda를 압축하고 업로드하기 위한 제안 사항입니다. + + 1. Linux에서 실행할 바이너리를 빌드합니다. 그러면 `main` 이라는 바이너리 파일이 생성됩니다. 당신이 사용할 수있는: + + ```bash + GOOS=linux go build -o main + ``` + + 2. 다음을 사용하여 바이너리를 배포 패키지에 압축합니다. + + ```bash + zip deployment.zip main + ``` + + 3. AWS Lambda 콘솔 또는 AWS CLI를 사용하여 zip 파일을 AWS에 업로드합니다. 핸들러의 이름을 `main` 로 지정합니다(바이너리 빌드 중에 지정된 이름과 일치하도록). + + + + 5. 다음 환경 변수는 Lambda 모니터링이 작동하는 데 필요하지 않지만 Lambda 함수를 분산 추적에 포함하려는 경우에는 필요합니다. [분산 추적](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) 을 활성화하려면 AWS 콘솔에서 다음 [환경 변수](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) 를 설정하십시오. + + * `NEW_RELIC_ACCOUNT_ID`. 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY.` 이것은 또한 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 입니다. 계정이 하위 계정인 경우 루트/상위 계정의 계정 ID입니다. + + 6. 선택적으로 로깅을 구성하려면 [Go 에이전트 로깅](/docs/agents/go-agent/configuration/go-agent-logging) 을 참조하십시오. + + 7. Lambda를 한 번 이상 호출합니다. 그러면 다음 단계가 작동하기 위해 있어야 하는 CloudWatch 로그 그룹이 생성됩니다. + + 래퍼는 Lambda 실행에 대한 데이터를 수집하고 JSON 메시지를 생성하여 CloudWatch Logs에 기록합니다. 그런 다음 [해당 로그를 New Relic 으로 보내도록 CloudWatch를 구성합니다](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs) . + + + + Java의 AWS Lambda 모니터링은 [APM Java 에이전트](/docs/agents/java-agent) 를 사용하지 않습니다. 대신 다음 두 가지 OpenTracing 종속성을 사용합니다. + + * AWS Lambda OpenTracing Java SDK: AWS Lambda RequestHandler 및 RequestStreamHandler용 [OpenTracing](https://github.com/opentracing) 계측. + + * AWS Lambda OpenTracing Tracer: AWS Lambda를 모니터링하도록 설계된 OpenTracing Tracer 구현입니다. 범위, 오류 이벤트, 트랜잭션 이벤트, 오류 추적을 생성하고 분산 추적 지원을 제공합니다. + + + + **Supported OpenTracing Versions** + + + * **OpenTracing 0.31.0** + + : + + * 람다 추적기:[com.newrelic.opentracing:newrelic-java-lambda:1.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda/1.1.1/jar) + * 람다 SDK: [com.newrelic.opentracing:java-aws-lambda:1.0.0](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda/1.0.0/jar) + + * **OpenTracing 0.32.0, 0.33.0** + + : + + * Lambda 트레이서: [com.newrelic.opentracing:newrelic-java-lambda:2.2.3](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda) + * Lambda SDK: [com.newrelic.opentracing:java-AWS Lambda:2.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda) + + + Java Lambda를 계측하려면: + + 1. 프로젝트의 `build.gradle` 파일에 OpenTracing AWS Lambda 트레이서 및 AWS Lambda OpenTracing SDK 의존성/종속성을 포함합니다. + + ```java + dependencies { + compile("com.newrelic.opentracing:java-aws-lambda:2.1.1") + compile("com.newrelic.opentracing:newrelic-java-lambda:2.2.3") + compile("io.opentracing:opentracing-util:0.33.0") + } + ``` + + 2. [Java Lambda 예시](https://github.com/newrelic/newrelic-lambda-tracer-java#usage) 와 같이 AWS Lambda `RequestHandler` 인터페이스를 구현하고 `doHandleRequest` 메서드를 재정의합니다. + + 3. `doHandleRequest` 메서드에서 `LambdaTracing.instrument(...)` API를 호출하여 람다 함수의 실행을 추적할 루트 범위를 만듭니다. 여기에서 람다 함수에 대한 비즈니스 논리를 정의할 수도 있습니다. + + 4. [Java Lambda 예시](https://github.com/newrelic/newrelic-lambda-tracer-java#usage) 와 같이 `LambdaTracer.INSTANCE` 을 OpenTracing Global tracer로 등록합니다. + + 5. [ZIP 배포 패키지를 생성하고](https://docs.aws.amazon.com/lambda/latest/dg/java-package.html) AWS Lambda에 업로드합니다. 또는 다른 수단을 통해 배포합니다. + + 6. AWS Lambda 콘솔에서 핸들러를 설정합니다. [예제 Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage) 의 경우 핸들러는 `com.handler.example.MyLambdaHandler::handleRequest` 입니다. `handleRequest` 이 가정되기 때문에 { `com.handler.example.MyLambdaHandler` 를 사용할 수도 있습니다. + + 7. Lambda 함수를 [분산 추적](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) 에 포함하려면 다음 [AWS 콘솔 환경 변수](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) 가 필요합니다. 이것은 권장됩니다. + + * `NEW_RELIC_ACCOUNT_ID`. 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) + * `NEW_RELIC_PRIMARY_APPLICATION_ID`. 이것은 또한 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 입니다. + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. 이것은 또한 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 입니다. 계정이 하위 계정인 경우 루트/상위 계정의 계정 ID여야 합니다. + + 8. 선택 사항: Lambda 콘솔에서 다음 환경 변수를 추가하여 디버그 로깅을 활성화합니다. `NEW_RELIC_DEBUG` is `true` . + + 9. Lambda를 한 번 이상 호출합니다. 그러면 다음 단계가 작동하기 위해 있어야 하는 CloudWatch 로그 그룹이 생성됩니다. + + 래퍼는 Lambda 실행에 대한 데이터를 수집하고 JSON 메시지를 생성하여 CloudWatch Logs에 기록합니다. 그런 다음 [해당 로그를 New Relic 으로 보내도록 CloudWatch를 구성합니다](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs) . + + 다음과 같은 일반적인 사용 사례를 보여주는 전체 프로젝트는 [AWS Lambda 분산 추적 예제](https://github.com/newrelic/newrelic-lambda-tracer-java/tree/main/examples/distributed-tracing-example) 를 참조하십시오. + + * Lambda 함수 간의 분산 추적 + * 수동 스팬 생성(커스텀 계측이라고도 함) + * 외부 통화 추적 + * 스팬에 사용자 정의 속성(태그라고도 함) 추가 + + + + Node.js Lambda를 계측하려면: + + 1. Node.js 에이전트 패키지를 다운로드하고 함수와 동일한 디렉터리에 배치하여 에이전트가 `node_modules` 디렉터리에 종속 항목으로 설치되었는지 확인합니다. 노드 패키지 관리자를 사용합니다. + + ```bash + + npm install newrelic --save + + ``` + + 2. Lambda 코드에서 파일 상단에 에이전트 모듈을 요구하고 핸들러 함수를 래핑합니다. 예를 들어: + + ```js + + const newrelic = require('newrelic'); + + // Other module loads go under the require statement above + + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + // This is your handler function code + console.log('Lambda executed'); + callback(); + }); + + ``` + + 3. 선택 사항: [`recordCustomEvent` API](/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#record_custom_event) 를 사용하여 Lambda에 [사용자 지정 이벤트](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) 를 추가할 수도 있습니다. 예를 들어: + + ```js + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + newrelic.recordCustomEvent('MyEventType', { foo: 'bar' }); + console.log('Lambda executed'); + callback(); + }); + ``` + + 4. Lambda 함수와 Node.js 에이전트 폴더를 함께 압축합니다. 요구 사항 및 권장 사항: + + * New Relic 에이전트 폴더 외부에 있는 New Relic 파일은 포함할 필요가 없습니다. + * 예를 들어 Lambda 함수 파일 이름이 `lambda_function.node` 인 경우 zip 파일의 이름을 `lambda_function.zip` 로 지정하는 것이 좋습니다. 타르볼을 사용하지 마십시오. + * Lambda 및 관련 모듈은 모두 zip 파일의 루트 디렉터리에 있어야 합니다. 즉, 파일이 포함된 폴더를 압축하면 작동하지 않습니다. + + 5. 압축된 파일을 AWS Lambda 계정에 업로드합니다. + + 6. AWS 콘솔에서 다음 [환경 변수](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html) 를 설정합니다. + + * `NEW_RELIC_NO_CONFIG_FILE`. 구성 파일을 사용하지 않는 경우 `true` 으로 설정합니다. + * `NEW_RELIC_APP_NAME`: 귀하의 애플리케이션 이름. + * `NEW_RELIC_ACCOUNT_ID`. 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. 이것은 또한 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 입니다. 계정이 하위 계정인 경우 루트/상위 계정의 계정 ID여야 합니다. + + 7. 선택 사항: 로컬 환경에서 AWS 외부의 서버리스 모드로 에이전트를 실행하려면 환경 변수 `NEW_RELIC_SERVERLESS_MODE_ENABLED` 를 `true` 로 설정합니다. (AWS Lambda 환경에서 이를 실행하면 에이전트는 자동으로 서버리스 모드에서 실행됩니다. **Do not use this variable if you're running in AWS**.) + + 8. 선택 사항: 서버리스 모드에서 로깅을 활성화하려면 다음 환경 변수를 설정합니다. + + * `NEW_RELIC_LOG_ENABLED` 을 `true` 로 설정합니다. + * CloudWatch로 출력하려면 `NEW_RELIC_LOG` 를 `stdout` 로 설정하거나 쓰기 가능한 파일 위치로 설정합니다. + * `NEW_RELIC_LOG_LEVEL` 기본적으로 `info` 으로 설정되어 있으며 Lambda에서 함수 로그를 보낼 때만 사용됩니다. [다른 로그레벨을](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#logging_config) 확인하세요. + + 9. 선택 사항: Lambda 함수가 ES 모듈을 사용하는 경우 환경 변수 `NEW_RELIC_USE_ESM` 를 `true`로 설정합니다. ES 모듈을 사용하는 경우 함수에 대해 async/await 또는 약속을 사용해야 합니다. 콜백 기반 함수는 지원되지 않습니다. + + 10. Lambda를 한 번 이상 호출합니다. 그러면 다음 단계가 작동하기 위해 있어야 하는 CloudWatch 로그 그룹이 생성됩니다. + + 래퍼는 Lambda 실행에 대한 데이터를 수집하고 JSON 메시지를 생성하여 CloudWatch Logs에 기록합니다. 다음 [으로 이러한 로그를 New Relic 으로 보내도록 CloudWatch를 구성합니다](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs) . + + [Lambda를 사용하여 함수 로그를 보내는](https://github.com/newrelic/newrelic-lambda-extension) 방법에 대해 자세히 알아보십시오. + + + + Python Lambda를 계측하려면: + + 1. Python 에이전트 패키지를 다운로드하여 함수와 동일한 디렉터리에 배치합니다. 이렇게 하려면 pip를 사용합니다. + + ```bash + + pip install -t . newrelic + + ``` + + + Homebrew를 사용하는 경우 다음 오류가 발생할 수 있습니다. `DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both` . 자세한 내용은 [Homebrew GitHub 게시물](https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user) 을 참조하십시오. + + + 2. Lambda 코드에서 Python 에이전트 모듈을 가져오고 뉴렐릭 데코레이터를 사용하여 핸들러 함수를 장식합니다. **The New Relic package must be imported first in your code.** 예는 다음과 같습니다. + + ```py + + import newrelic.agent + newrelic.agent.initialize() + @newrelic.agent.lambda_handler() + def handler(event, context): + ... + + ``` + + 3. 선택 사항: [`record_custom_event` API](/docs/agents/python-agent/python-agent-api/record_custom_event) 를 사용하여 Lambda에 [사용자 지정 이벤트](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) 를 추가할 수도 있습니다. 다음은 예입니다. + + ```py + + @newrelic.agent.lambda_handler() + def handler(event, context): + newrelic.agent.record_custom_event('CustomEvent', {'foo': 'bar'}) + ... + + ``` + + 4. 다음 가이드라인을 사용하여 `lambda_function.py` 및 `newrelic/` 폴더를 함께 압축합니다. + + * `newrelic/` 폴더 외부에 있는 New Relic 파일은 포함할 필요가 없습니다. + * 예를 들어 Lambda 함수 파일 이름이 `lambda_function.py` 인 경우 zip 파일의 이름을 `lambda_function.zip` 로 지정합니다. 타르볼을 사용하지 마십시오. + * Lambda 및 관련 모듈은 모두 zip 파일의 루트 디렉터리에 있어야 합니다. 즉, 파일이 포함된 폴더를 압축하면 작동하지 않습니다. + + 5. 압축된 파일을 AWS Lambda 계정에 업로드합니다. + + 6. AWS 콘솔에서 다음 [환경 변수](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html) 를 설정합니다. + + * `NEW_RELIC_SERVERLESS_MODE_ENABLED`. 로 설정 `true` + + 7. 다음 환경 변수는 Lambda 모니터링이 작동하는 데 필요하지 않지만 Lambda 함수를 분산 추적에 포함하려는 경우에는 필요합니다. [분산 추적](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) 을 활성화하려면 AWS 콘솔에서 다음 [환경 변수](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) 를 설정하십시오. + + * `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`. 참으로 설정합니다. + * `NEW_RELIC_ACCOUNT_ID`. 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. 이것은 또한 귀하의 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 입니다. 계정이 하위 계정인 경우 루트/상위 계정의 계정 ID여야 합니다. + + 8. 선택 사항: 로깅을 구성하려면 AWS 콘솔에서 [`NEW_RELIC_LOG` 및 `NEW_RELIC_LOG_LEVEL` 환경 변수](/docs/agents/python-agent/configuration/python-agent-configuration#environment-variables) 를 사용합니다. + + 9. Lambda를 한 번 이상 호출합니다. 그러면 다음 단계가 작동하기 위해 있어야 하는 CloudWatch 로그 그룹이 생성됩니다. + + New Relic 데코레이터는 Lambda 실행에 대한 데이터를 수집하고 JSON 메시지를 생성하여 CloudWatch Logs에 기록합니다. 그런 다음 [해당 로그를 New Relic 으로 보내도록 CloudWatch를 구성합니다](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs) . + + + + 뉴렐릭에는 레이어 없는 루비 리소스 메서드가 없습니다. 레이어를 사용하는 경우 [비컨테이너화된 Lambda 함수 작성](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own) 문서를 참조하세요. + + + + 대부분의 경우 .NET 에이전트는 자동으로 AWS Lambda 함수를 로그하고 "서버리스 모드"로 전환하여 뉴렐릭 및 기타 기능으로 직접 데이터 전송을 비활성화합니다. 뉴렐릭으로 데이터를 보내려면 뉴렐릭 Lambda 확장 또는 `newrelic-log-ingestion` 람다 메서드를 사용해야 합니다. + + .NET Lambda를 리뷰하려면: + + 1. [프로젝트에 NewRelic.에이전트 nuget 패키지를](https://www.nuget.org/packages/NewRelic.Agent) AWS Lambda 추가합니다. 자세한 내용은 [설치 가이드를](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/) 참조하세요. + 2. 프로젝트에 [필요한 환경 변수를](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-linux) 추가합니다. 에이전트가 뉴렐릭에 직접 연락하거나 데이터를 보내려고 시도하지 않으므로 `NEW_RELIC_LICENSE_KEY` 는 필요하지 않습니다. + 3. 선택적 환경 변수를 설정합니다. + + * `NEW_RELIC_APP_NAME` + + 4. 프로젝트를 AWS Lambda 계정에 게시합니다. + 5. 뉴렐릭 Lambda 확장 또는 `newrelic-log-ingestion` 람다를 [구성합니다](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/) . + 6. 선택사항: 로깅을 구성하려면 AWS 콘솔에서 [`NEWRELIC_LOG_CONSOLE` 및 `NEWRELIC_LOG_LEVEL` 환경 변수를](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#log) 사용합니다. + 7. Lambda를 한 번 이상 호출하여 오류를 확인하고 뉴렐릭 UI 에 데이터가 표시되는지 확인하세요. + + + + \ No newline at end of file diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx new file mode 100644 index 00000000000..7774e49cb6c --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx @@ -0,0 +1,256 @@ +--- +title: 컨테이너화되지 않은 Lambda 함수를 호출하세요 +metaDescription: Instrument your non-containerized Lambda function +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessNonContainerizedLambdaFunction from 'images/serverless_diagram_non-containerized-lambda-function.webp' + +뉴렐릭과 AWS 계정을 성공적으로 연결한 후에는 뉴렐릭 Lambda 계층을 추가하여 컨테이너화되지 않은 AWS Lambda 함수를 렌더링할 수 있습니다. 이는 뉴렐릭 에이전트를 통합하여 함수가 호출될 때마다 자동 모니터링을 가능하게 합니다. + +a diagram depicting non-containerized lambda function instrumentation + +## 시작하기 전에 [#begin] + +* [뉴렐릭와 AWS 계정을 연결하세요](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#link) +* [다양한 계측 방법 검토](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#method) + +## 계측 방법 [#instrumentation] + +뉴렐릭은 포괄적인 모니터링을 위해 AWS Lambda 함수를 로그아웃하는 여러 가지 방법을 제공합니다. + +* **함수줄 인터페이스(CLI)**: AWS CLI를 사용하여 Lambda 함수에 뉴렐릭 계층을 빠르게 추가할 수 있습니다. +* **서버리스 프레임워크**: 뉴렐릭 리소스를 서버리스 배포에 원활하게 통합합니다. +* **CloudFormation/SAM**: 개발자의 코드형 템플릿에 뉴렐릭 계층을 포함합니다. +* **Terraform**: 다른 일러스트레이션 리소스와 함께 뉴렐릭 리소스를 쉽게 관리할 수 있습니다. +* **수동 리소스**: 보다 세부적인 제어를 위해 AWS Lambda 콘솔을 통해 뉴렐릭 레이어를 직접 추가하세요. + +어떤 방법을 선택하든 뉴렐릭 레이어는 뉴렐릭 에이전트를 함수에 추가합니다. 이 에이전트는 호출 시 자동으로 함수를 생성하여 뉴렐릭 Lambda 확장 프로그램을 통해 뉴렐릭으로 전송되는 페이로드 `NR_LAMBDA_MONITORING` 를 생성합니다. + +필요에 따라 확장 프로그램을 우회하고 CloudWatch에서 텔넷리만 보거나, CloudWatch를 우회하거나, CloudWatch를 대체 수단으로 사용하도록 선택할 수 있습니다. 이 문서 끝에 있는 [CloudWatch](#CloudWatch-only) 섹션에서는 각 옵션을 안내합니다. + + + + `newrelic-lambda` CLI 퀵스타트를 사용하여 Lambda 함수를 충전할 수 있습니다. + + 뉴렐릭 레이어를 설치하거나 업그레이드하려면 다음 명령을 실행하세요. + + ```shell + newrelic-lambda layers install --nr-account-id YOUR_NR_ACCOUNT_ID --function my-function --upgrade + ``` + + 이 명령은 Lambda의 리전 및 런타임에 대해 사용 가능한 최신 계층을 자동으로 찾습니다. + + 이 명령은 뉴렐릭 리소스를 시작하는 빠른 방법을 제공하며 CI/CD 파이프라인에 쉽게 통합될 수 있습니다. 그러나 기존 Lambda 함수 리소스를 수정하므로 업데이트된 코드를 재배포하면 실수로 계측이 제거될 수 있습니다. 지속적인 모니터링을 보장하려면 배포할 때마다 명령을 다시 실행하거나 뉴렐릭 레이어를 통합하고 배포 프로세스에 직접 설정하는 것이 좋습니다. + + CLI는 일괄 처리로 많은 기능에서 작동할 수 있습니다. `--function all` , `--function installed` 또는 `--function not-installed` 를 사용하여 지역의 모든 기능에서 작동하거나 기존 New Relic 계측이 있거나 없는 기능에서만 작동합니다. + + + + AWS의 서버리스 애플리케이션 모델(SAM)은 의존하는 리소스와 기능을 단순화하고 전체 애플리케이션의 수명 주기를 관리하는 CloudFormation 템플릿의 변형입니다. 우리는 대부분의 Lambda 예제 함수에 SAM 및 CloudFormation을 사용하고, 다른 많은 도구는 CloudFormation 템플릿 위에 구축되어 추가 추상화 계층을 제공합니다. + + CloudFormation은 AWS 리소스의 프로비저닝 및 관리를 단순화하는 AWS 서비스입니다. YAML 또는 JSON 템플릿에서 원하는 리소스 상태를 정의함으로써 CloudFormation은 기본 API 호출을 자동으로 처리하여 필요에 따라 리소스를 생성, 업데이트 또는 삭제합니다. 이 선언적 접근 방식은 인프라 관리를 자동화하여 일관성과 재현성을 보장합니다. + + 다음은 Node.js Lambda 함수에 대한 간단한 CloudFormation 템플릿의 예입니다. + + ```yaml + AWSTemplateFormatVersion: '2010-09-09' + Transform: AWS::Serverless-2016-10-31 + Description: And example of a simple instrumented Node.js Lambda + + Resources: + NewRelicExample: + Type: AWS::Serverless::Function + Properties: + # In this example, we're using the SAM CLI to package and deploy our lambda. SAM will transform this value during the publish step. + CodeUri: newrelic-example-node/ + # The handler for your function needs to be the one provided by the instrumentation layer, below. + Handler: newrelic-lambda-wrapper.handler + Runtime: nodejs12.x + Environment: + Variables: + # For the instrumentation handler to invoke your real handler, we need this value + NEW_RELIC_LAMBDA_HANDLER: YOUR_PATH_TO_INITIAL_LAMBDA_HANDLER + # Distributed tracing needs your account ID, and your trusted account ID + NEW_RELIC_ACCOUNT_ID: YOUR_ACCOUNT_ID_HERE + # If your New Relic account has a parent account, this value should be that account ID. Otherwise, just + # your account id. + NEW_RELIC_TRUSTED_ACCOUNT_KEY: YOUR_PARENT_ACCOUNT_ID_HERE + Layers: + # This layer includes the New Relic Lambda extension, a sidecar process that sends telemetry, + # as well as the New Relic agent for Node.js, and a handler wrapper that makes integration easy. + - !Sub arn:${AWS::Partition}:lambda:${AWS::Region}:451483290750:layer:NewRelicNodeJS12X:34 + Policies: + # This policy allows the lambda to know the value of the New Relic license key. We need this so + # that we can send telemetry back to New Relic + - AWSSecretsManagerGetSecretValuePolicy: + SecretArn: !ImportValue NewRelicLicenseKeySecret-NewRelic-LicenseKeySecretARN + ``` + + 일반적으로 함수와 해당 리소스를 설명하는 `template.yaml` 이라는 파일이 있습니다. + + + + 서버리스 프레임워크는 서버리스 애플리케이션을 위한 널리 사용되는 개발 및 배포 도구입니다. Node.js에서 AWS용으로 작성되었으며 대부분 CloudFormation 템플릿 위에서 높은 수준의 추상화 역할을 합니다. Node, Python, Ruby, Java 및 .NET 함수에 적합합니다. + + New Relic은 Serverless Framework 애플리케이션의 계측을 단순화하기 위해 [Serverless Framework 플러그인](https://github.com/newrelic/serverless-newrelic-lambda-layers) 을 제공합니다. + + 플러그인을 설치하려면 다음 명령을 실행하세요. + + ```bash + npm install --save-dev serverless-newrelic-lambda-layers + ``` + + 또는 다음 명령을 실행할 수도 있습니다. + + ```bash + yarn add --dev serverless-newrelic-lambda-layers + ``` + + 그런 다음, [뉴렐릭 계정 ID](/docs/accounts/install-new-relic/account-setup/account-id), [뉴렐릭 개인 API 키를](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key)찾으세요. + + 이제 `serverless.yaml` 파일에 다음을 추가합니다. + + ```yaml + plugins: + - serverless-newrelic-lambda-layers + custom: + newRelic: + accountId: your-new-relic-account-id-here + apiKey: your-new-relic-personal-api-key-here + linkedAccount: your-new-relic-integration-account-name-here + ``` + + + + Terraform은 코드 도구로서 널리 사용되는 범용 인프라입니다. AWS 리소스를 관리하는 데 사용할 수 있습니다. 우리는 Terraform 펼쳐보기를 사용하여 뉴렐릭 권한이 있는 Lambda 함수 구현, 배포의 [몇 가지 예를](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/terraform) 제공합니다. + + + + 위의 접근 방식보다 오류가 발생하기 쉽고 노동 집약적이지만 Node.js의 경우 AWS Lambda 콘솔에서 뉴렐릭을 사용하도록 Lambda 함수의 설정을 수동으로 변경할 수 있습니다. 파이썬, 루비, 자바. + + 다음은 루비 런타임에 대한 리소스를 사용하는 방법에 대한 예입니다. + + 1. AWS 웹 콘솔에서 **Lambda** 서비스 섹션으로 이동합니다. 여기에서 뉴렐릭에 연결하려는 Lambda 함수를 찾으세요. + + 2. 기본 **Code** \[코드] 탭에서 **Layers** \[레이어] 섹션까지 아래로 스크롤하고 **Add a layer** \[레이어 추가] 버튼을 클릭합니다. + + 3. **Create layer** \[레이어 생성] 버튼을 클릭합니다. + + 4. **Choose a layer** \[계층 선택] 으로 이동하여 **Specify an ARN** \[ARN 지정] 옵션을 선택합니다. + + 5. [뉴렐릭의 레이어 목록](https://layers.newrelic-external.com/) 으로 이동하여 드롭다운 목록을 사용하여 Lambda 함수가 호스팅되는 AWS 지역을 선택하세요. 여기에서 Lambda의 루비 버전과 일치하는 ARN을 찾으세요. X86과 ARM64의 두 가지 옵션이 있어야 합니다. **Copy to clipboard** \[클립보드에 복사] 버튼을 사용하거나 ARN 문자열을 수동으로 복사합니다. + + 6. AWS 콘솔 양식의 **Specify an ARN** \[ARN 지정] 섹션에 New Relic Lambda 계층 ARN을 붙여넣습니다. + + 7. AWS 콘솔 양식에서 **Add** \[추가] 버튼을 클릭하여 Lambda 함수에 계층을 추가합니다. + + 8. Lambda 함수 페이지에서 기본 **Code** 탭이 선택된 상태에서 **Runtime settings** 섹션까지 아래로 스크롤하고 **Edit** 버튼을 클릭합니다. + + 9. 기존 **Handler** 값의 안전한 복사본을 만듭니다. 이후 단계에서 필요합니다. + + 10. **Handler** 값을 `newrelic_lambda_wrapper.handler` 으로 변경하고 **Save** 클릭합니다. + + 11. Lambda 함수 페이지의 **Configuration** 탭으로 전환하세요. + + 12. **Environment variables** \[환경 변수] 하위 탭을 선택합니다. + + 13. 다음 환경 변수를 정의합니다. + + * `NEW_RELIC_ACCOUNT_ID`: 귀하의 뉴렐릭 [계정 ID](/docs/accounts/install-new-relic/account-setup/account-id) 로 설정하세요. + + * `NEW_RELIC_LAMBDA_HANDLER`: 이전에 복사한 함수의 원래 Handler 값으로 설정합니다. + + * `NEW_RELIC_LICENSE_KEY`: 귀하의 뉴렐릭 키로 설정하세요. + * `NEW_RELIC_LOG_ENDPOINT`: [https://log-api.newrelic.com/log/v1](https://log-api.newrelic.com/log/v1) 로 설정합니다. + * `NEW_RELIC_TELEMETRY_ENDPOINT`: [https://cloud-collector.newrelic.com/aws/lambda/v1](https://cloud-collector.newrelic.com/aws/lambda/v1) 로 설정합니다. + + 14. 함수가 STDOUT에 쓰는 모든 내용을 포함하는 Lambda 호출의 로그를 뉴렐릭으로 보내려면 `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` 환경 변수를 `true` 로 설정해야 합니다. + + 15. 뉴렐릭 클러스터 키 비밀에 대한 액세스를 허용하도록 실행 역할을 수정합니다. + + * `NEW_RELIC_LICENSE_KEY` 라는 비밀의 ARN을 찾습니다. + + * 아래 코드와 같이 함수의 실행 역할에 새 인라인 정책을 추가합니다. `SECRET_ARN` 위에서 찾은 값으로 바꿉니다. + + ```json + "Statement": [ + { + "Action": [ + "secretsmanager:GetSecretValue" + ], + "Resource": "SECRET_ARN", + "Effect": "Allow" + } + ] + ``` + + + 뉴렐릭 레이어는 뉴렐릭 루비 에이전트를 자동으로 전달하고 Lambda 함수 호출 전에 루비 `require` 를 통해 로드됩니다. 충돌을 피하려면 다른 곳에 루비 에이전트 사본을 포함하지 마세요. 에이전트의 존재를 활용하려면 함수 내에서 원하는 뉴렐릭 루비 에이전트 API 호출을 자유롭게 수행하세요. + + + Java, Python, Node.js 및 .Net 런타임은 루비와 동일한 소비 흐름을 따르지만 일부 다른 핸들러를 사용합니다. 함수 콘솔에서 새로 연결된 레이어를 가리키도록 함수 핸들러를 업데이트하는 방법은 다음과 같습니다. + + * 자바: + + * `RequestHandler` 구현: `com.newrelic.java.HandlerWrapper::handleRequest`. + * `RequestStreamHandlerWrapper` 구현: `com.newrelic.java.HandlerWrapper::handleStreamsRequest`. + + * Python: `newrelic_lambda_wrapper.handler` (밑줄). + + * 노드: `newrelic-lambda-wrapper.handler` (하이픈). + + * .Net의 경우 핸들러를 설정할 필요가 없습니다. + + Go의 경우 Lambda 함수의 소스 코드를 변경하여 이를 소비해야 합니다. 설정 변경만으로는 충분하지 않습니다. + + + +## 배송 방법 + + + + 모든 에이전트 레이어에는 CloudWatch를 우회하여 로그인 및 페이로드를 뉴렐릭으로 보내기 위한 확장 기능도 포함되어 있습니다. 이는 지연 시간과 비용을 줄이는 데 도움이 될 수 있습니다. 그러나 기능의 성능과 안정성에 영향을 미칠 위험이 있습니다. + + 뉴렐릭 Lambda 레이어를 추가하면 확장 기능이 활성화되고 기본적으로 로그 전달이 비활성화됩니다. + + 뉴렐릭에서 함수 로그를 보려면 환경 변수를 사용하여 함수 로그의 확장 전송을 활성화해야 합니다. + + 함수 로그는 함수가 호출되는 동안 기록된 로그일 뿐이라는 점을 기억하는 것이 중요합니다. 확장 프로그램은 `START`, `END` 및 `REPORT` 줄과 같은 Lambda 런타임 로그를 보내지 않습니다. + + + + CloudWatch로만 데이터를 보내거나 대체로 데이터를 보내도록 선택할 수 있습니다. 자세한 내용은 [CloudWatch 대체 문서를](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloudwatch-fallback) 참조하십시오. + + + +## 다음은 뭐지? [#find-data] + +* 이러한 단계를 완료하면 [Lambda 모니터링 UI](/docs/lambda-monitoring-ui) 에서 데이터 보고를 볼 수 있습니다. +* 데이터를 찾는 데 문제가 있는 경우 [Lambda 활성화 문제 해결을](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#troubleshoot) 참조하십시오. \ No newline at end of file diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx new file mode 100644 index 00000000000..0352f5dfd76 --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx @@ -0,0 +1,1257 @@ +--- +title: AWS Lambda 모니터링 소개 +metaDescription: This provides an overview of New Relic's AWS Lambda monitoring and details how to link your accounts. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessShippingMethods from 'images/serverless_diagram_shipping-methods.webp' + +조직이 AWS Lambda를 사용하여 FaaS(Function-as-a-Service) 아키텍처로 전환함에 따라 원활하고 효율적인 사용자 경험을 보장하려면 기능 성능을 이해하고 최적화하는 것이 중요해졌습니다. 각 Lambda 호출은 잠재적인 병목 현상, 병목지점 또는 개선 기회를 나타냅니다. + +AWS Lambda 용 뉴렐릭의 일러스트레이션은 함수의 내부 작동에 대한 심층적인 가시성을 제공합니다. 뉴렐릭 에이전트를 함수에 추가하면 함수가 호출될 때마다 뉴렐릭도 호출됩니다. 지속 시간, 콜드 스타트, 예외, 역추적과 같은 주요 성능 지수를 인사이트에서 얻을 수 있습니다. + +이 문서에서는 뉴렐릭의 Lambda 모니터링에 대해 설명하고 AWS 와 뉴렐릭 계정을 연결하는 방법을 안내합니다. 함수를 소비하기 전에 계정을 연결해야 합니다. + +## Lambda 계측 작동 방식 [#how] + +뉴렐릭을 사용한 AWS Lambda 의 필수 요소는 다음과 같습니다. + +* **귀하의 기능**: 귀하의 기능은 이해하려는 코드입니다. 언제 오류가 발생하는지, 왜 느린지, 얼마나 자주 호출되는지 알고 싶습니다. +* **뉴렐릭 에이전트 또는 SDK**: 뉴렐릭은 함수가 작성된 언어에 따라 다양한 에이전트 또는 SDK를 제공합니다. 그 임무는 코드를 실제로 모니터링하는 것입니다. 함수 호출 기간을 측정하고, 발생한 오류를 기록하고, 소스 이벤트에 대한 세부 정보와 함수 응답을 기록합니다. 이렇게 하려면 Lambda 호출 핸들러 함수를 래핑해야 합니다. +* **뉴렐릭 Lambda 확장 기능**: 함수에서 뉴렐릭 Lambda 확장 프로그램을 사용하면 코드와 함께 Lambda 실행 환경 내에서 실행됩니다. 요원이 모아서 뉴렐릭의 백앤드에게 일괄적으로 보내는 텔메트리를 강화한 것입니다. 또한 함수의 로그를 뉴렐릭으로 보낼 수도 있습니다. 블루렐릭으로 함수를 모니터링하는 데에는 Lambda 확장이 필요하지 않습니다. + +## 배송 방법을 선택하세요 [#method] + +뉴렐릭 AWS Lambda 설명서를 배송하는 방법에는 세 가지가 있습니다. 선택하는 배송 방법은 데이터 요구 사항에 따라 다릅니다. + +A screenshot depicting the different shipping methods for Lambda + +* **비용**: AWS Lambda 사용하여 결제하는 가장 비용 효율적인 방법은 Lambda 확장을 포함하는 모든 레이어를 사용하는 것입니다. 기본적으로 확장 프로그램은 AWS CloudWatch로 데이터를 전송하지 않습니다. +* **안정성**: CloudWatch를 통해서만 데이터를 전송할 수 있습니다. 이를 위해 블루렐릭 Lambda 확장 프로그램을 비활성화합니다. 이는 Lambda 함수가 더 가벼워지고 호출 시 실행할 추가 프로세스가 없다는 것을 의미합니다. 이 경우, 쿠쿠와 페이로드는 확장 프로그램이 아닌 CloudWatch를 통해 뉴렐릭으로 배송됩니다. +* **두 가지 장점 모두**: AWS CloudWatch와 함께 확장 기능을 대체 수단으로 사용하면 비용을 절감하는 동시에 확장 기능에 문제가 있을 경우 안전 장치를 제공할 수 있습니다. + +우리는 HTML 문서의 각 메서드를 사용하여 Lambda 함수를 로그아웃하는 방법을 보여드리겠습니다. + +* [컨테이너화된 Lambda 함수를 호출하세요.](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/containerized-images/) +* [컨테이너화되지 않은 Lambda 함수를 호출하세요](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own/) +* [레이어 없는 Lambda 함수를 작성하세요](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monioring-lambda-monitoring-layerless/) + +## 시작하기 전에 [#begin] + +Lambda 계층을 사용하여 서버리스 모니터링을 활성화하려면 다음이 필요합니다. + +1. 관리자 역할이 있거나 **Infrastructure manager** \[출력 관리자][추가 기능 역할이](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on) 있는 뉴렐릭 계정. + +2. + + . + +3. IAM 리소스, 관리형 암호 및 Lambda를 생성할 수 있는 권한이 있는 AWS 계정. CloudFormation 스택 및 S3 버킷을 생성하기 위한 권한도 필요합니다. + +그런 다음 다음을 완료해야 합니다. + +1. `aws configure` 사용하여[AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) 구성을 설치합니다. AWS 액세스 키 ID와 AWS 비밀 액세스 키가 필요합니다. + +2. [Python](https://www.python.org/downloads/) 버전 3.3 이상을 설치합니다. + +3. [newrelic-lambda CLI를](https://github.com/newrelic/newrelic-lambda-cli#installation) 설치합니다. 설치하려면 다음을 실행하세요. + + ```brew + pip3 install newrelic-lambda-cli + ``` + +4. 기본적으로 AWS 관리형 정책 `ReadOnlyAccess` 을 사용합니다. 이를 통해 인프라 통합은 Lambda 함수 및 CloudWatch 지표뿐만 아니라 계정의 모든 리소스를 볼 수 있습니다. 뉴렐릭은 이 기본값을 권장하지만 일부 조직은 타사 통합에 대해 엄격한 보안 태세를 선호한다는 것을 알고 있습니다. 뉴렐릭의 액세스를 제한하려면 최소한 다음 권한으로 IAM 역할을 부여할 수 있습니다. + +```yaml + Resource: "*" + Action: + - "cloudwatch:GetMetricStatistics" + - "cloudwatch:ListMetrics" + - "cloudwatch:GetMetricData" + - "lambda:GetAccountSettings" + - "lambda:ListFunctions" + - "lambda:ListAliases" + - "lambda:ListTags" + - "lambda:ListEventSourceMappings" +``` + +5. CLI를 실행하기 전에 뉴렐릭에게 AWS 에서 최소한 다음 권한을 부여해야 합니다. + +```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "CLIAccessPolicy", + "Action": [ + "cloudformation:CreateChangeSet", + "cloudformation:CreateStack", + "cloudformation:DescribeStacks", + "cloudformation:ExecuteChangeSet", + "iam:AttachRolePolicy", + "iam:CreateRole", + "iam:GetRole", + "iam:PassRole", + "lambda:AddPermission", + "lambda:CreateFunction", + "lambda:GetFunction", + "logs:DeleteSubscriptionFilter", + "logs:DescribeSubscriptionFilters", + "logs:PutSubscriptionFilter", + "s3:GetObject", + "serverlessrepo:CreateCloudFormationChangeSet", + "secretsmanager:CreateSecret" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Sid": "NRLogAccessPolicy", + "Effect": "Allow", + "Action": [ + "serverlessrepo:CreateCloudFormationTemplate", + "serverlessrepo:GetCloudFormationTemplate" + ], + "Resource": "arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion" + } + ] + } +``` + +CLI에 대해 자세히 알아보려면 [CLI 리포지터리를](https://github.com/newrelic/newrelic-lambda-cli#installation) 참조하세요. + +## 권장 AWS Lambda 언어 런타임 [#recommended] + +다음 런타임을 권장합니다. + +* Node.js: `nodejs16.x` , `nodejs18.x` , `nodejs20.x` +* 파이썬: `python3.8`, `python3.9`, `python3.10`, `python3.11`, `python3.12` +* 가다: `provided.al2` +* 자바: `java8.al2`, `java11`, `java17` +* 루비: `ruby3.2`, `ruby3.3` +* .NET: `dotnet6`, `dotnet8` + +## 비용을 고려하세요 [#costs] + +AWS Lambda에 대한 서버리스 모니터링을 활성화하면 Amazon Web Services 요금이 발생할 수 있습니다. 귀하의 Lambda 데이터를 당사에 보고하는 당사의 `newrelic-log-ingestion` Lambda 함수는 [제3자 서비스](/docs/licenses/license-information/acceptable-use-policy/acceptable-use-policy) 로 간주됩니다. 귀하가 이를 사용하여 발생하는 AWS 요금은 귀하의 책임입니다. + +[Lambda Extension을](https://github.com/newrelic/newrelic-lambda-extension) 사용하면 뉴렐릭이 수집한 텔렘리에 대한 CloudWatch 로그 수집 요금을 피할 수 있습니다. + +## AWS 와 뉴렐릭 계정을 연결하세요 [#link] + +함수를 업로드하기 전에 AWS 계정을 뉴렐릭에 연결해야 합니다. 계정을 연결하면 뉴렐릭에게 AWS 계정의 인벤토리를 생성하고 Lambda 함수에 대한 CloudWatch 지표를 자동으로 수집할 수 있는 권한이 부여됩니다. 계정을 연결하면 AWS 계정의 리소스가 엔터티 탐색기에 엔터티로 표시됩니다. + + + + ## 반응하다 뉴렐릭의 `newrelic-lambda` CLI를 사용한 Lambda 레이어 + + 리소스화하기 뉴렐릭의 Lambda 레이어로 이동하려면 다음을 실행하세요. + + ```bash + newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID + --nr-api-key YOUR_NEW_RELIC_USER_KEY + ``` + + `newrelic-lambda` CLI는 보안 강화를 위해 [AWS Secret Manager](https://aws.amazon.com/secrets-manager/) 에 뉴렐릭을 보안 비밀로 추가합니다. + + + + ## 지표 스트림 설치 [#metric-streams] + + 뉴렐릭이 Lambda 함수를 모니터링하려면 [지표 스트림](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream) 또는 [API Polling을](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring) 설치해야 합니다. 지표 Streams를 사용하는 것이 좋지만 CLI가 자동으로 API 폴링 통합을 설치하도록 할 수도 있습니다. + + 지표 Streams를 사용하려면 CLI를 실행하기 전에 지금 설치하세요. [메트릭 스트림 설명서를 사용하여 Connect AWS 통합을](docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) 사용하여 이를 설치할 수 있습니다. + + + + ## 환경 변수 [#environment] + + CLI를 사용하여 리소스를 사용하면 환경 변수가 자동으로 구성됩니다. 일부 기본 설정을 변경하고 모니터링 요구 사항에 맞는 환경 변수로 Lambda 함수를 구성할 수 있습니다. 사용 가능한 환경 변수와 기본 설정에 대한 권장 사항을 보려면 런타임을 선택하세요. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + 귀하의 뉴렐릭 계정 ID 또는 부모 ID(존재하는 경우) +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + 귀하의 뉴렐릭 계정 ID 또는 부모 ID(존재하는 경우) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + 분산 추적 활성화 또는 비활성화 +
+ `NEW_RELIC_PRIMARY_APPLICATION_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_DEBUG` + + `false` + + `true`, `false` + + 에이전트 로그 레벨 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + 귀하의 뉴렐릭 계정 ID 또는 부모 ID(존재하는 경우) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + 분산 추적 활성화 또는 비활성화(Java 제외) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + Node.js 에이전트는 Lambda의 환경 변수를 사용하므로 다음과 같이 설정해야 합니다. `true` +
+ `NEW_RELIC_APP_NAME` + + + + + + 설정해야 하지만 뉴렐릭 UI 에서는 사용되지 않습니다. 대신 엔터티 이름은 AWS 통합에서 나옵니다. +
+ `NEW_RELIC_LOG_ENABLED` + + `false` + + `true`,`false` + + CloudWatch에 에이전트 로그를 출력합니다. +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `fatal`, `error` , `warn` , `info` , `debug` , `trace` + + 에이전트 로그 레벨 +
+ `NEW_RELIC_LOG` + + `stdout` + + `stdout` + + 서버리스 모드의 Node.js 에이전트에 대한 에이전트 로그 경로는 stdout이어야 합니다. +
+ `NEW_RELIC_USE_ESM` + + `false` + + `true`, `false` + + 콜백이 아닌 async/await를 사용하는 ESM 기능 +
+ `NEW_RELIC_NATIVE_METRICS_ENABLED` + + `true` + + `true`, `false` + + 콜드 스타트 기간을 줄이려면 false로 설정해야 합니다. `false` 으로 설정하면 VM 지표를 수집하지 않습니다. +
+ + [Node.js 설정 문서](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/) 에서 더 많은 환경 변수를 찾을 수 있습니다. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + 귀하의 뉴렐릭 계정 ID 또는 부모 ID(존재하는 경우) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + 분산 추적 활성화 또는 비활성화(Java 제외) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + 에이전트는 Lambda에서 환경 변수를 사용하므로 이를 true로 설정해야 합니다. +
+ `NEW_RELIC_APP_NAME` + + + + + + 설정해야 하지만 뉴렐릭 UI 에서는 사용되지 않습니다. 대신 엔터티 이름은 AWS 통합에서 나옵니다. +
+ `NEW_RELIC_LOG` + + `stderr` + + `stderr` + + 에이전트 로그 경로는 서버리스 모드의 Python 에이전트에 대해 `stderr `이어야 합니다. +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `critical`, `error` , `warning` , `info` , `debug` + + 에이전트 로그 레벨 +
+ `NEW_RELIC_SERVERLESS_MODE_ENABLED` + + `false` + + `true`, `false` + + 에이전트가 서버리스 모드에서 실행되도록 하려면 이를 `true` 로 설정해야 합니다. +
+ `NEW_RELIC_PACKAGE_REPORTING_ENABLED` + + `true` + + `true`, `false` + + 콜드 스타트 시간을 개선하려면 Python 에이전트 패키지 보고를 `false` 로 설정해야 합니다. +
+ + [Python 설정 문서](/docs/apm/agents/python-agent/configuration/python-agent-configuration) 에서 더 많은 환경 변수를 찾을 수 있습니다. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + 귀하의 New Relic 계정 ID +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + 귀하의 뉴렐릭 계정 ID 또는 부모 ID(존재하는 경우) +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + 분산 추적 활성화 또는 비활성화 +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + 함수의 원래 핸들러 값으로 설정 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `CORECLR_ENABLE_PROFILING` + + + + `0`, `1` + + 필수: .NET 에이전트가 리소스를 추가하려면 이 값을 `1` 로 설정해야 합니다. +
+ `CORECLR_PROFILER` + + + + `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` + + 필수: .NET 에이전트가 리소스를 추가하려면 이 값을 `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` 로 설정해야 합니다. +
+ `CORECLR_NEWRELIC_HOME` + + + + `/opt/lib/newrelic-dotnet-agent` + + 필수: .NET 에이전트가 리소스를 추가하려면 이 값을 `/opt/lib/newrelic-dotnet-agent` 로 설정해야 합니다. +
+ `CORECLR_PROFILER_PATH` + + + + `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` + + 필수: .NET 에이전트가 리소스를 추가하려면 이 값을 `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` 로 설정해야 합니다. +
+ `NEW_RELIC_APP_NAME` + + + + + + 설정해야 하지만 뉴렐릭 UI 에서는 사용되지 않습니다. 대신 엔터티 이름은 AWS 통합에서 나옵니다. +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `info`, `debug` , `finest` + + 에이전트 로그 레벨 +
+ `NEWRELIC_LOG_CONSOLE` + + `0` + + `1`, `0` + + 콘솔에 로그 메시지 보내기 +
+ + [.NET 설정 문서](/docs/apm/agents/net-agent/configuration/net-agent-configuration/) 에서 더 많은 환경 변수를 찾을 수 있습니다. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 환경 변수 + + 기본값 + + 옵션 + + 설명 +
+ `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` + + `true` + + `true`, `false` + + 확장 기능 활성화 또는 비활성화 +
+ `NEW_RELIC_LICENSE_KEY` + + + + + + 뉴렐릭 수집 키입니다. 이는 Secrets Manager를 재정의합니다. +
+ `NEW_RELIC_LICENSE_KEY_SECRET` + + `NEW_RELIC_LICENSE_KEY` + + + + AWS Secrets Manager의 사용자 지정 비밀 이름 +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + 뉴렐릭의 [수동 래핑 방법을](https://github.com/newrelic/newrelic-lambda-layers?tab=readme-ov-file#note-on-performance-for-es-module-functions) 사용하지 않는 경우 이것이 함수의 핸들러입니다. +
+ `NEW_RELIC_DATA_COLLECTION_TIMEOUT` + + 10초 + + + + 다음의 경우 시간 초과 기간을 줄입니다. `Telemetry client error` +
+ `NEW_RELIC_EXTENSION_LOGS_ENABLED` + + `true` + + `true`, `false` + + `NR_EXT` 로그 줄 활성화 또는 비활성화 +
+ `NEW_RELIC_EXTENSION_LOG_LEVEL` + + `info` + + `INFO`, `DEBUG` + + NR_EXT 로그인 라인의 계정 레벨 +
+ `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` + + `false` + + `true`, `false` + + 기능 로그 보내기 +
+ `NEW_RELIC_LOG_ENDPOINT` + + + + + + [https://log-api.newrelic.com/log/v](https://log-api.newrelic.com/log/v)로 설정 +
+ `NEW_RELIC_TELEMETRY_ENDPOINT` + + [미국 엔드포인트](https://cloud-collector.newrelic.com/aws/lambda/v1)로 설정 + + + + 선택적 [EU 엔드포인트](https://github.com/newrelic/newrelic-lambda-extension/blob/3c4218dd7727d0b0467f24f0902b616b7f4e46b7/telemetry/client.go#L24-L27) +
+ + [설명서](https://github.com/newrelic/newrelic-lambda-extension/blob/cf86fb53f0bd816e1d09d07f7b5c5ab4841010a0/config/config.go#L41-L55) 에서 뉴렐릭 확장에 대한 더 많은 환경 변수를 확인하세요. +
+
+
+ + + ## 예제 함수를 사용해 보세요 + + 로그된 뉴렐릭의 Lambda 레이어를 사용한 후에는 예제 함수를 시험해 볼 것을 강력히 권장합니다. 이러한 작업 예제는 사용자 서버리스 기능의 시작점으로 사용되어야 합니다. 이러한 예제를 사용하면 뉴렐릭 Lambda 레이어에 익숙해지고 계정 링크를 테스트하는 데 도움이 될 수 있으며 자체 로그에 대한 참조로 사용할 수 있습니다. 각 예에서는 권한 추가, 핸들러 래핑을 위한 런타임별 기술, CloudWatch에서 함수 로그 보존 관리 등을 보여줍니다. + + 배포하다 Lambda 함수를 관리하고 구현하는 방법에는 여러 가지가 있지만, AWS CloudFormation은 예제에 사용하는 메커니즘입니다. + + 우리의 예제는 뉴렐릭 Lambda Extension과 함께 이 [GitHub](https://github.com/newrelic/newrelic-lambda-extension) 에 게시되어 있습니다. 뉴렐릭이 지원하는 각 Lambda 런타임마다 하나씩 있습니다. + + * [노드.js](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/node) + * [파이썬](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/python) + * [가다](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [자바](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/java) + * [루비](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/ruby) + * [.그물](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/dotnet) + + 또한 우리의 [수신 거부 예제](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/distributedtracing) 에서 서버리스 서버리스로 작업을 수행하는 방법을 배울 수 있습니다. Node, Python, Ruby 및 Java 기능을 사용하여 Lambda 함수를 호출할 수 있는 가장 인기 있는 두 가지 서비스인 SQS 및 SNS에 대한 수동 트레이스 전파를 보여줍니다. + + + 수동으로 테스트하는 경우 텔레메트리 데이터가 지연될 수 있습니다. 함수를 다시 호출하기 전에 7초 동안 기다려서 버퍼링된 모든 텔레메트리가 전달될 수 있도록 하는 것이 좋습니다. + + +
+ +## 문제점 해결 [#troubleshooting] + +Lambda 함수에서 문제가 발생한 경우 다음은 몇 가지 일반적인 문제 해결 팁입니다. + + + + 귀하의 조직에서 AWS Secrets Manager 사용을 허용하지 않는 경우 뉴렐릭 Lambda 확장은 `NEW_RELIC_LICENSE_KEY` 환경 변수를 허용합니다. `newrelic-lambda integrations install` 명령에서 `--disable-license-key-secret` 플래그를 추가합니다. 그런 다음 Lambda 함수 구성에서 이 환경 변수를 로 설정합니다. + + + + `newrelic-lambda` CLI는 `--aws-region` 트리거를 사용하여 지역당 한 번씩 실행되어야 합니다. 동일한 연결된 계정 이름을 사용하면 도구에서 계정 링크가 이미 생성되었음을 감지합니다. 비밀은 각 지역에서 생성되어야 합니다. + + 마찬가지로 여러 AWS 계정을 New Relic 계정에 연결할 수 있습니다. 각 계정에 서로 다른 연결 계정 이름을 지정합니다. CLI 도구에 대한 `--aws-profile` 인수는 명명된 프로필을 선택합니다. 이 도구는 AWS CLI와 동일한 구성을 사용합니다. + + + + Lambda 함수를 업로드했지만 뉴렐릭의 **Amazon Web Services -> Lambda functions** 섹션에 권한이 표시되지 않습니다. + + [API 폴링](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring/) 과 [Metric Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) 통합을 UI에서 수동으로 New Relic 계정에 연결했습니다. + + 하나의 New Relic 계정에 동일한 AWS 계정에 대한 두 개의 통합이 있는 이 시나리오에서는 New Relic [클라우드 수집기 엔드포인트](https://github.com/newrelic/newrelic-lambda-extension/blob/54ccfd44765feb4b3da77ae606323c18d9db7593/telemetry/client.go#L18-L19) 에서 계측된 Lambda 함수에서 계측된 페이로드를 수신할 때 경합 상태가 발생합니다. 페이로드는 두 통합 중 하나에 무작위로 할당됩니다. 함수 엔터티에 연결되지 않은 통합에 할당된 경우 페이로드가 삭제되고 함수가 계측된 것으로 표시되지 않습니다. `AwsLambdaInvocation` 이벤트에 대한 지난 30일 동안 하나 이상의 페이로드를 수신한 함수만 계측된 것으로 표시됩니다. + + ```sql + FROM AwsLambdaInvocation + SELECT count (*) + SINCE 30 days ago + WHERE entityGuid = 'ENTITY_GUID' + LIMIT 1 + ``` + + 동일한 AWS 계정에 대해 두 개의 통합을 생성하지 않도록 하려면 위에서 언급한 것처럼 `newrelic-lambda` CLI를 사용하는 것이 좋습니다. 기존 통합을 감지하고 사용하기 때문입니다. + + 두 개의 통합이 이미 생성된 경우 뉴렐릭의 **Infrastructure > AWS** 에서 **Unlink this account** 클릭하여 유지할 하나를 선택하고 다른 통합을 연결 해제하세요. + + + API 폴링 통합을 연결 해제하기 전에 고려해야 하는 [Metric Streams 통합에는 몇 가지 제한 사항이](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/#integrations-not-replaced-streams) 있습니다. Metric Streams 통합을 완전히 커밋하기 전에 고려해야 하는 [인프라 차원 메트릭 쿼리에는 몇 가지 제한 사항](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-infrastructure-dimensional-metrics-nrql/#known-limitations) 도 있습니다. + + + + + 람다 코드에는 AWS Secrets Manager를 읽을 수 있는 권한이 있는 실행 역할이 필요합니다. 다음과 같은 로그를 찾으면 실행 역할의 정책에 적절한 권한을 추가하십시오. 이 예에서 이 권한을 부여하는 쉬운 방법을 보려면 `template.yaml` 파일을 확인하세요. + + ```bash + Failed to retrieve license key AccessDeniedException: User: is not authorized to perform: secretsmanager:GetSecretValue on resource: + ``` + + + +## 무엇 향후 계획 + + + + Lambda 함수를 컨테이너화한 경우 여기를 클릭하여 로그아웃하세요. + + + + 컨테이너화되지 않은 Lambda 함수가 있는 경우 여기를 클릭하여 리소스를 다운로드하세요. + + + + 레이어 없는 Lambda 함수가 있는 경우 여기를 클릭하여 로그아웃하세요. + + \ No newline at end of file diff --git a/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx new file mode 100644 index 00000000000..d44e453c9dc --- /dev/null +++ b/src/i18n/content/kr/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx @@ -0,0 +1,131 @@ +--- +title: Lambda 모니터링 업데이트 +metaDescription: How to update New Relic's AWS Lambda monitoring. +freshnessValidatedDate: never +translationType: machine +--- + +[AWS Lambda에 대한 모니터링을 활성화](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda) 한 후 AWS 로그 데이터를 보고하는 데 사용되는 Lambda 함수를 가끔 업데이트해야 합니다. `newrelic-log-ingestion` . + +두 가지 방법이 있습니다. + +* [CLI를 통한 업데이트](#update-cli) : [CLI 도구](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/#rec) 를 사용하여 Lambda 모니터링을 활성화한 경우 사용합니다. +* [AWS Serverless Application Repository를 통한 업데이트](#update-sar) : [수동 절차](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda) 를 사용하여 활성화한 경우 사용합니다. + + + 이러한 업데이트 절차는 AWS Lambda에 [대한 서버리스 모니터링에](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/introduction-new-relic-monitoring-aws-lambda) 적용되며 [AWS Lambda 통합에 대한 인프라 모니터링에는](/docs/integrations/amazon-integrations/aws-integrations-list/aws-lambda-monitoring-integration) 적용되지 않습니다. + + +## CLI를 통해 Lambda 통합 업데이트 [#update-cli] + +이 섹션에서는 권장되는 [CLI 도구](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) 를 사용하여 Lambda 모니터링이 활성화된 경우 업데이트하는 방법을 설명합니다. + +1. 최신 버전의 CLI가 있는지 확인하십시오. + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. `newrelic-log-ingestion` 함수를 설치한 각 지역에 대해 다음 명령을 실행하여 YOUR_REGION을 지역 식별자(예: `us-west-2` )로 바꿉니다. + + ```bash + newrelic-lambda integrations update \ + --aws-region YOUR_REGION + ``` + +3. 로그를 활성화하지 않은 경우 다음 명령을 사용하여 Amazon CloudWatch 로그 구독 필터도 업데이트해야 합니다. + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --aws-region YOUR_REGION + ``` + +## CLI를 통해 계층 업데이트 [#update-layer-cli] + +이 섹션에서는 [CLI 도구](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) 를 사용하여 함수를 설치한 경우 함수의 레이어를 업데이트하는 방법을 설명합니다. + +1. 최신 버전의 CLI가 있는지 확인하십시오. + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. 설치 명령에 `--upgrade` 플래그를 전달합니다. + + ```bash + newrelic-lambda layers install \ + --function installed \ + --nr-account-id NR_ACCOUNT_ID \ + --upgrade + ``` + +## 수동 서버리스 애플리케이션 리포지토리 설치 업데이트 [#update-sar] + +[AWS Serverless Application Repository에서 수집 기능을 수동으로 설치하고](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda) [CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) 를 사용하지 않은 경우 다음 절차를 사용하여 업데이트하십시오. + +1. 다음을 실행하여 `YOUR_REGION` 해당 지역으로 바꿉니다(예: `us-west-2` ). + + ```bash + aws serverlessrepo create-cloud-formation-change-set \ + --application-id arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion \ + --stack-name NewRelic-log-ingestion \ + --capabilities CAPABILITY_RESOURCE_POLICY \ + --parameter-overrides Name=NRLicenseKey,Value= + --region + ``` + + 이 명령은 여러 필드를 출력하며 그 중 하나는 방금 생성한 변경 세트의 ARN인 `ChangeSetId` 입니다. 해당 ARN을 복사합니다. + +2. 변경 세트를 실행하는 이 명령에서 ARN을 사용합니다. + + ```bash + aws cloudformation execute-change-set --change-set-name YOUR_CHANGE_SET_ARN + ``` + +## 로그 관리 활성화 + +현재 뉴렐릭의 가 활성화되어 있지 않지만 다음을 원하는 경우: + +1. 최신 버전의 CLI가 있는지 확인하십시오. + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. `newrelic-log-ingestion` 함수를 설치한 각 지역에 대해 `YOUR_REGION` 해당 지역(예: `us-west-2` )으로 대체하여 다음 명령을 실행합니다. + + ```bash + newrelic-lambda integrations update \ + --enable-logs \ + --aws-region YOUR_REGION + ``` + +3. 그런 다음 다음 중 하나를 수행합니다. + + * 다음 명령을 사용하여 각 리전의 Amazon CloudWatch 로그 구독 필터를 업데이트합니다. + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --filter-pattern "" \ + --aws-region YOUR_REGION + ``` + + * 또는 CloudWatch 및 `newrelic-log-ingestion` Lambda를 우회하여 함수 로그를 New Relic에 직접 보낼 수 있습니다. 이렇게 하려면 Lambda 함수 구성에서 환경 변수 `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS=true` 를 설정합니다. + + 그 후 다음 명령을 사용하여 해당 기능에 대한 기존 New Relic 로그 구독을 모두 제거해야 합니다. + + ```bash + newrelic-lambda subscriptions uninstall \ + --function FUNCTION_NAME \ + --aws-region YOUR_REGION + ``` + + 확장 프로그램이 로그를 보내는 동안 로그 구독이 존재하면 로그가 두 번 전송되어 New Relic에 중복 로그 레코드가 생성됩니다. + + 선택적으로 CloudWatch Log 수집에 대한 [Amazon의 요금](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier) 을 피하려면 CloudWatch Log 권한을 부여하지 않도록 함수의 [실행 역할](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) 을 수정할 수도 있습니다. 이렇게 하면 함수가 CloudWatch에 로깅되지 않습니다. + + + CloudWatch Logs 수집 비용이 상당할 수 있지만 이 단계는 주의해서 수행해야 합니다. CloudWatch 로그를 비활성화하기 전에 New Relic 로그 수집 통합이 제대로 작동하고 요구 사항을 충족하는지 확인하십시오. + \ No newline at end of file diff --git a/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx b/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx index ca72d0db21a..3d61dbf8491 100644 --- a/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx +++ b/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/alert-conditions.mdx @@ -18,18 +18,23 @@ import alertsNameYourAlertCondition from 'images/alerts_screenshot-crop_name-you import alertsAlertConditionPage from 'images/alerts_screenshot-crop_alert-condition-page.webp' +import accountsConditionOn from 'images/accounts_icon_condition-on.webp' + +import accountsConditionOff from 'images/accounts_icon_condition-off.webp' + +import accountsAlertingConcepts from 'images/accounts_diagram_alerting-concepts.webp' + +import alertsAddingAlertDetailstoanAlertCondition from 'images/alerts_screenshot-crop_adding-alert-details-to-an-alert-condition.webp' + Uma condição do alerta é o elemento central que define quando um [incidente](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/understand-technical-concepts/incident-event-attributes/#definition) é criado. Ele atua como ponto de partida essencial para a construção de qualquer alerta significativo. condição do alerta contém o parâmetro ou limite atendido antes de você ser informado. Eles podem mitigar alertas excessivos ou avisar sua equipe quando surgir um comportamento novo ou incomum. A screenshot showing the alert condition homepage. -
- A página **Alert conditions list** é o centro universal para todas as suas condições de alerta. -
- ## Crie uma nova condição do alerta [#create-alert-condition] Uma condição de alerta é uma consulta em execução contínua que mede um determinado conjunto de eventos em relação a um limite definido e abre um [incidente](/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/specify-when-alerts-create-incidents/) quando o limite é atingido por um período de tempo especificado. @@ -103,7 +108,7 @@ Para todos os métodos, exceto o nosso modo guiado, o processo de criação de u WHERE appName = 'WebPortal' ``` - Usar esta consulta para sua condição do alerta informa ao New Relic que você deseja saber a média de `pageviews` do seu aplicativo `WebPortal` . O monitoramento `pageviews` pode ajudá-lo a detectar quaisquer problemas de latência em seu aplicativo. + Usar esta consulta para sua condição do alerta informa New Relic que você deseja saber a latência média, ou duração, para carregar páginas em seu aplicativo `WebPortal`. Alertas proativos sobre latência, um dos principais sinais clássicos, fornecem avisos antecipados de degradação potencial. Você pode aprender mais sobre como usar NRQL, a linguagem de consulta da New Relic, consulte nossa [documentação NRQL](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions/). @@ -121,9 +126,9 @@ Para todos os métodos, exceto o nosso modo guiado, o processo de criação de u src={alertsSetaQuery} /> - Neste exemplo, o gráfico mostrará a média `pageviews` para seu aplicativo `WebPortal` . Clique em **Next** e comece a configurar sua condição do alerta. + Neste exemplo, o gráfico mostrará a latência média do seu aplicativo `WebPortal` . Clique em **Next** e comece a configurar sua condição do alerta. - Neste exemplo, você personalizará essas configurações de sinal avançadas para a condição criada para monitor uma atividade incomum para `pageviews` em seu aplicativo `WebPortal`. + Neste exemplo, você personalizará essas configurações avançadas de sinal para a condição criada para monitor a latência no aplicativo `WebPortal`. - O limite do sinal de perda determina quanto tempo esperar antes de considerar a perda de um sinal perdido. Se o sinal não retornar nesse período, você poderá optar por abrir um novo incidente ou fechar qualquer incidente relacionado. Defina o limite com base no comportamento esperado do seu sistema e na frequência de coleta de dados. Por exemplo, se um sinal perdido para `pageviews` puder indicar um problema de latência, defina um limite com o qual você se sinta confortável e marque a caixa para abrir um novo incidente de sinal perdido. + O limite do sinal de perda determina quanto tempo esperar antes de considerar a perda de um sinal perdido. Se o sinal não retornar nesse período, você poderá optar por abrir um novo incidente ou fechar qualquer incidente relacionado. Defina o limite com base no comportamento esperado do seu sistema e na frequência de coleta de dados. Por exemplo, se um site sofrer uma perda total de tráfego, ou taxas de transferência, os dados de telemetria correspondentes enviados à New Relic também cessarão. O monitoramento dessa perda de sinal pode servir como um sistema de alerta precoce para tais interrupções.
@@ -296,7 +300,15 @@ Para todos os métodos, exceto o nosso modo guiado, o processo de criação de u id="name-your-condition" title="Nomeie sua condição" > - É essencial dar um nome descritivo à sua condição do alerta. Digamos que você nomeie essa condição como **pageviews** e, em seguida, crie outra condição para um aplicativo completamente diferente e rotule essa condição como **pageviews** também. Se isso ocorrer, você não conseguirá distinguir qual condição se aplica a qual aplicativo. Portanto, certifique-se de dar à sua condição um nome específico e exclusivo. Nesse caso, você nomearia essa condição **pageviews: WebPortal App**. + As práticas recomendadas para nomeação de condições envolvem um formato estruturado que transmite informações essenciais rapidamente. Inclua os seguintes elementos nos nomes das suas condições: + + * **Prioridade**: Indica a gravidade ou urgência do alerta, como P1, P2, P3. + + * **Sinal**: Especifique a métrica ou condição que está sendo monitorada, como Latência Média Alta ou Taxas de Transferência Baixas. + + * **Entidade**: identifique o sistema, aplicativo ou componente afetado, como WebPortal App ou banco de dados Server. + + Um exemplo de nome de condição bem formado seguindo esta estrutura seria `P2 | High Avg Latency | WebPortal App`. Um incidente é encerrado automaticamente quando o sinal de destino retorna a um estado sem violação pelo período indicado no limite da condição. Esse tempo de espera é chamado de período de recuperação. - Por exemplo, se o comportamento de violação for "`pageviews` for inferior a 300 pelo menos uma vez a cada 5 minutos", o incidente será encerrado automaticamente quando `pageviews` for igual ou superior a 300 por cinco minutos consecutivos. + Por exemplo, se você estiver medindo a latência e o comportamento da violação for que `duration` para carregar páginas em seu aplicativo `WebPortal` aumentou para mais de 3 segundos, o incidente será encerrado automaticamente quando `duration` for igual ou menor que 3 segundos por 5 minutos consecutivos. Quando um incidente é encerrado automaticamente: @@ -355,24 +367,39 @@ Para todos os métodos, exceto o nosso modo guiado, o processo de criação de u Como você está criando uma condição de alerta que permite saber se há algum problema de latência com seu aplicativo `WebPortal` , você deseja garantir que seus desenvolvedores tenham todas as informações necessárias quando forem notificados sobre esse incidente. Você usará o fluxo de trabalho para notificar um canal do Slack da equipe quando um incidente for criado. Saiba mais sobre descrições personalizadas de incidentes em nossos [documentos](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/advanced-techniques/alert-custom-incident-descriptions). + + A screenshot depicting the final step of creating an alert condition- the alert details page + + Usar o modelo de título é opcional, mas recomendamos. Uma condição do alerta define um conjunto de limites que você deseja monitor. Se algum desses limites for violado, um incidente é criado. Modelos de títulos significativos ajudam você a identificar problemas e resolver interrupções com mais rapidez. + + Saiba mais sobre modelos de títulos em nossos [documentos](//docs/alerts/create-alert/condition-details/title-template/). + + - Se quiser vincular a um runbook, você pode colocar a URL no campo URL do runbook. + Um runbook de operações detalhando as etapas de investigação, triagem ou remediação costuma estar vinculado a esse campo. -## Editar ou melhorar uma condição de alerta existente [#edit-existing-alert-condition] +## Editar uma condição de alerta existente [#edit-existing-alert-condition] Se quiser editar uma condição do alerta já criada, você pode: @@ -394,15 +421,211 @@ A partir daí, você verá a página **Alert conditions details** . E ### Histórico de sinais [#signal-coverage] -Em **Signal history**, você pode ver os resultados mais recentes da consulta NRQL usada para criar sua condição do alerta. Neste exemplo, você veria a média `pageviews` no aplicativo `WebPortal` para o período específico definido. +Em **Signal history**, você pode ver os resultados mais recentes da consulta NRQL usada para criar sua condição do alerta. Neste exemplo, você veria a latência média no aplicativo `WebPortal` para o período específico definido. Para todas as condições do alerta construídas com consulta NRQL, o **Signal history** será apresentado com um gráfico de linhas. Qualquer condição do alerta construída com um monitor Sintético será um pouco diferente. Isso ocorre porque os monitores Sintético permitem executar ping em seu aplicativo de vários locais, o que pode produzir resultados positivos ou negativos cada vez que o monitor é executado. Esses dados só podem ser apresentados em tabela. -## Solucionar problemas [#troubleshoot] +## Tipos de condições [#condition-types] + +O tipo de condição principal e recomendado é uma condição do alerta NRQL , mas existem outros tipos de condições. Incluímos uma lista completa de nossos tipos de condição abaixo. + + + + Use a interface ou [a API NerdGraph](/docs/alerts/alerts-nerdgraph/nerdgraph-examples/nerdgraph-api-alerts-nrql-conditions) para criar condições NRQL para [consultas básicas de NRQL que retornem um número](/docs/new-relic-alerts-alert-nrql-queries). + + + + Consulte [APM metric condição do alerta](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/apm-metric-alert-conditions) para dicas sobre como criar condições usando NRQL. + + + + [O alerta de anomalia](/docs/alerts/new-relic-alerts/configuring-alert-policies/create-anomaly-alert-conditions) permite criar condições que se ajustam dinamicamente às mudanças de dados e tendências, como padrões semanais ou sazonais. Este recurso está disponível para aplicativos [](/docs/apm/new-relic-apm/getting-started/welcome-new-relic-apm)e [](/docs/browser/new-relic-browser/getting-started/new-relic-browser), bem como [consulta NRQL](/docs/alerts/new-relic-alerts/defining-conditions/create-alert-conditions-nrql-queries). + + + + Com [condições de monitoramento sintético de vários locais](/docs/alerts/new-relic-alerts/defining-conditions/multi-location-synthetics-alert-conditions), você pode configurar um monitor para notificá-lo quando um número específico de locais estiver falhando ao mesmo tempo. + + + + Para APM, você pode configurar condições para [transação principal](/docs/apm/transactions/key-transactions/introduction-key-transactions). + + + + Você pode definir o limite que abre um incidente quando eles são violados por qualquer métrica de instância do seu aplicativo Java. + + Ao [definir o escopo limit para uma instância específica](/docs/alerts/new-relic-alerts/configuring-alert-policies/scope-alert-thresholds-specific-instances), você pode identificar mais rapidamente a origem dos possíveis problemas. Isso é útil, por exemplo, para detectar anomalias que estão ocorrendo apenas em um subconjunto da instância do seu aplicativo. Esses tipos de anomalia são fáceis de perder em aplicativos que agregam métricas em um grande número de instâncias. + + + + Para aplicativos Java monitorados pelo APM, é possível definir [um limite](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) que abre um incidente quando o tamanho do heap ou o número de threads para uma única JVM estiver fora da faixa operacional esperada. + + Avaliamos alertas de violação de limite individualmente para cada [instância selecionada](#instance-incidents) do aplicativo. Ao criar sua condição, selecione **JVM health metric** como o tipo de condição para a política de alertas do seu aplicativo Java e selecione qualquer um dos limites disponíveis: + + * Tópicos em impasse + + * Uso de memória heap + + * Tempo de utilização da CPU + + * Tempo de CPU da coleta de lixo + + Os incidentes serão fechados automaticamente quando o inverso do limite for atingido, mas usando a interface você também pode alterar o horário em que um [incidente](/docs/new-relic-solutions/get-started/glossary/#alert-incident) é fechado à força para uma métrica de integridade da JVM. O padrão é 24 horas. + + + + Incluímos a opção de definir um percentil como [limite](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-threshold) para sua condição quando o tempo de resposta do seu aplicativo web estiver acima, abaixo ou igual a esse valor. Isso é útil, por exemplo, quando a equipe de operações deseja alertar sobre um percentil para o tempo de resposta [da web](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#transaction) **overall** de transação da web de um servidor de aplicativos, em vez do tempo de resposta da web **average** . + + + Se você quiser definir um limite arbitrário em uma condição para uma [transação de aplicativo que não seja da Web](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#non-web-transaction), use o recurso [de consulta NRQL](#nrql-conditions) . + + + Para definir o limite do percentil: + + 1. Selecione **Web transactions percentiles** como o tipo de condição para a condição do seu aplicativo e selecione um único aplicativo. (Para alertar sobre mais de um aplicativo, crie uma condição **Web transactions percentiles** individual para cada um.) + + 2. Para definir o limite de abertura do incidente, digite o valor do tempo de resposta **Percentile nth** e selecione sua frequência (acima, abaixo ou igual a este valor). + + Armazenamos o tempo de transação em milissegundos, embora a interface do usuário mostre os valores Crítico e Aviso em segundos. Se você deseja definir milissegundos, inclua o ponto decimal em seu valor. + + + + Ao aplicar [rótulos](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#labels) no aplicativo, você pode vincular automaticamente essas [entidades](/docs/using-new-relic/welcome-new-relic/get-started/glossary#alert-entity) à sua condição. Isso facilita o gerenciamento de todos os aplicativos em um ambiente dinâmico. Recomendamos usar o [arquivo de configuração do agente](/docs/data-analysis/user-interface-functions/organize-your-data/labels-categories-organize-apps-servers-monitors#config) para melhor manter os rótulos da entidade. + + Um único rótulo identifica **all** entidade associada a esse rótulo (máximo de 10.000 entidades). Múltiplos rótulos identificam apenas a entidade que compartilha todos os rótulos selecionados. + + O uso da segmentação dinâmica com sua condição também exige que você defina um [cronômetro para fechamento do incidente](/docs/alerts-applied-intelligence/new-relic-alerts/alert-incidents/how-alert-condition-incidents-are-closed#time-limit). + + Para adicionar, editar ou remover até dez rótulos de uma condição: + + 1. Selecione **APM > Application metric** como o tipo de produto. + + 2. Ao identificar a entidade, selecione a aba **Labels** . Pesquise um rótulo por nome ou selecione um rótulo na lista de categorias. + + Você também pode criar condições diretamente dentro do contexto do que você está monitorando com [infraestrutura](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information). + + + + Você pode [criar condições para seus recursos](/docs/infrastructure/new-relic-infrastructure/configuration/infrastructure-alerts-add-edit-or-view-host-alert-information) diretamente da nossa interface de monitoramento de infraestrutura. + + Por exemplo, para obter uma notificação quando um agente de infraestrutura parar de receber dados, use o tipo de condição [de host que não relata](/docs/infrastructure/new-relic-infrastructure/configuration/create-infrastructure-host-not-reporting-condition) . Isso permite alertar dinamicamente sobre grupos de hosts filtrados e configurar a janela de tempo de 5 a 60 minutos. + + + +## Adicionar condições a uma política [#add-conditions] + +Para [adicionar mais condições a uma política](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions): + +1. Vá para + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Policies** + +2. Detectar uma política. + +3. Clique em + + **Add a condition** + + . + +Para [criar uma nova condição NRQL](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions): + +1. Vá para + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + +2. Clique em + + **Add a condition** + + . + +## Copiar uma condição [#copy-condition] + +Para copiar uma condição existente, incluindo [destino](/docs/apm/new-relic-apm/getting-started/glossary#alert-target) e [limite](/docs/apm/new-relic-apm/getting-started/glossary#alert-threshold), e adicioná-la a outra política da conta selecionada: + +1. Vá para **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert conditions**. + +2. Na lista de condições do alerta, clique no ícone de três pontos do alerta que deseja copiar e selecione **Duplicate condition**. + +3. Em **Copy alert condition**, pesquise ou role a lista para selecionar a política onde você deseja adicionar esta condição. + +4. Opcional: altere o nome da condição, se necessário. + +5. Opcional: clique no botão de alternância para **Enable on save** + +6. Selecione **Copy condition**. + + Por padrão, a política de alertas selecionada adicionará a condição copiada no estado **Desativado** . Siga os procedimentos padrão para [adicionar](/docs/alerts/new-relic-alerts-beta/configuring-alert-policies/define-alert-conditions) ou copiar mais condições à política de alertas e, em seguida, [**ative** a condição](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#disable-conditions) conforme necessário. Além disso, a nova condição não copiará nenhuma [tag](/docs/new-relic-solutions/new-relic-one/core-concepts/use-tags-help-organize-find-your-data/#add-via-ui-api) adicionada à condição original. + +## Habilitar/desabilitar uma condição [#disable-conditions] + +Para desativar ou reativar uma condição: + +1. Vá para + + **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions** + + . Em seguida, na lista de + + **Alert conditions** + + , use o botão de alternância para ativar ou desativar a condição. + +2. Clique no botão + + **On/Off** + + para alterná-lo. + +Se você [copiar uma condição](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/copy-alert-conditions), ela será salva automaticamente na nova política como desabilitada (**Off**), mesmo que a condição tenha sido habilitada (**On**) na política original. + +## Excluir uma condição [#delete-conditions] + +Para desativar uma condição, mas mantê-la com a política, [desative](/docs/alerts/new-relic-alerts-beta/updating-alert-policies/disable-or-delete-alert-policies-conditions#condition-on-off) -a. Para excluir uma ou mais condições: + +1. Vá para **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions**. + +2. Na lista de **Alert conditions**, selecione uma condição e clique em **Delete** no menu de reticências (...). + + + Se você não vir o botão excluir, o administrador da sua conta pode ter desabilitado a exclusão de condições para sua organização. + + +## Solução de problemas da página condição do alerta [#troubleshoot] -Se você vir um sinal vazio no gráfico histórico, considere um dos seguintes: +Se você vir um sinal vazio no gráfico histórico na página **Alert Condition** , considere um dos seguintes: * **Review the condition's settings** diff --git a/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/create-nrql-alert-conditions.mdx b/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/create-nrql-alert-conditions.mdx index 8d169dcfb15..3a812db235f 100644 --- a/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/create-nrql-alert-conditions.mdx +++ b/src/i18n/content/pt/docs/alerts/create-alert/create-alert-condition/create-nrql-alert-conditions.mdx @@ -16,95 +16,31 @@ import queriesnrqlSignalLossUi from 'images/queries-nrql_screenshot-full_signal- import queriesnrqlFineTuneSignals from 'images/queries-nrql_screenshot-full_fine-tune-signals.webp' -Você pode usar [a consulta NRQL](/docs/insights/new-relic-insights/using-new-relic-query-language/using-nrql) para criar condição do alerta. Depois de definir seu sinal, você poderá definir ainda mais seus níveis de aviso e limite crítico. Isso determina quando um incidente de alerta é criado. Para obter mais informações sobre os principais conceitos relacionados à condição do alerta NRQL e ao alerta de streaming, consulte [Alerta de streaming: termos e conceitos-chave](/docs/alerts-applied-intelligence/new-relic-alerts/get-started/streaming-alerts-key-terms-concepts). +Recomendamos a criação de um alerta usando um NRQL condição do alerta. Este documento irá guiá-lo na formatação e configuração do seu NRQL condição do alerta para maximizar a eficiência e reduzir o ruído. Se você acabou de começar com New Relic ou ainda não criou uma condição do alerta, recomendamos começar com [condição do alerta](/docs/alerts/create-alert/create-alert-condition/alert-conditions/). -## Crie uma condição do alerta NRQL a partir de uma política [#alert-condition-from-policy] +Você pode criar uma condição do alerta a partir de: -Vá para **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions & Policies** para criar uma condição do alerta NRQL a partir de uma política. Em seguida, clique em **+ New alert condition**. +* [Um gráfico](/docs/tutorial-create-alerts/create-an-alert/) -An image of the UI demonstrating how to create a NRQL alert condition from a policy. - -
- Vá para **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > Alerts > Alert Conditions & Policies > + New alert condition**. -
- -Siga esses passos. - - - - 1. Escolha a opção - - **Build a query** - - . Esta opção permite identificar um sinal e adicionar uma consulta NRQL. Consulte [Como usar NRQL: a mecânica da consulta](/docs/query-your-data/nrql-new-relic-query-language/get-started/introduction-nrql-how-nrql-works/) se precisar de ajuda para adicionar uma consulta. - - 2. Clique em - - **Next** - - . - +* [Uma página de política](https://one.newrelic.com/nr1-core/condition-builder/policy-entity) - - Sintonize esta condição para ajustar a frequência, instabilidade ou lacunas no seu sinal. Aqui você pode configurar a [agregação de dados](/docs/alerts-applied-intelligence/new-relic-alerts/get-started/choose-your-aggregation-method/), a [estratégia de preenchimento de lacunas](#data-gaps) e o [atraso de avaliação](#evaluation-delay). - - Clique em **Next** quando terminar sua configuração. - - - - Você pode definir [limite](/docs/alerts-applied-intelligence/new-relic-alerts/advanced-alerts/advanced-techniques/set-thresholds-alert-condition/) para determinar o que abrirá um incidente. Depois de definido, clique em **Next**. - - - - Adicione os detalhes da condição do alerta. Adicione um nome à condição do alerta para encontrá-la e utilizá-la facilmente. Em seguida, conecte-o a uma política. Você pode selecionar uma política existente ou criar uma nova política. - - Se você selecionar **New policy**: - - * Adicione um [nome significativo](/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/create-edit-or-find-alert-policy/#best-practices-policies) para a política com no máximo 64 caracteres. - * Selecione a forma como deseja [agrupar seu incidente](/docs/alerts-applied-intelligence/new-relic-alerts/alert-policies/specify-when-alerts-create-incidents/). - * Defina as [configurações adicionais](/docs/alerts-applied-intelligence/new-relic-alerts/get-started/your-first-nrql-condition/#additional-settings) se necessário. - * Clique em **Save & set up notifications**. - - Se você selecionou **Existing policy**, clique em **Save condition** depois de escolher uma política. - - +* [A página ](https://one.newrelic.com/alerts-ai/detection-gaps/) -## Crie uma condição a partir de um gráfico [#create-chart] + [**Alert coverage gaps**](https://one.newrelic.com/alerts-ai/detection-gaps/) -A maioria dos nossos gráficos, com exceção de alguns mais antigos, permite criar uma condição a partir deles. +Você também pode usar um de nossos criadores de alerta: -Para criar uma condição do alerta NRQL a partir de um gráfico: +* Use -1. Vá para **[one.newrelic.com > All capabilities](https://one.newrelic.com/all-capabilities) > APM & Services** e selecione um aplicativo. + **Write your own query** -2. No painel esquerdo, selecione **Metrics explorer** e adicione sua configuração. + para criar alertas do zero. -3. No canto direito do gráfico, clique no botão ícone e selecione **Create alert condition**. +* Use **Guided mode** - Create alert condition from the metrics explorer + para escolher entre as opções recomendadas e criar sua consulta NRQL para você. -4. Siga as etapas explicadas em [Criar uma condição do alerta NRQL a partir de uma política,](#alert-condition-from-policy) mas esteja ciente de que a etapa 1 é um pouco diferente porque, agora, a consulta é construída com os dados que você configurou anteriormente. +Não importa onde você comece a criar uma condição de alerta, seja por meio de um gráfico ou escrevendo sua própria consulta, NRQL é o alicerce sobre o qual você pode definir seu sinal e definir seu limite. ## Sintaxe de alerta NRQL [#syntax] diff --git a/src/i18n/content/pt/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx b/src/i18n/content/pt/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx index e0dc671f845..ab334727496 100644 --- a/src/i18n/content/pt/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx +++ b/src/i18n/content/pt/docs/apm/agents/net-agent/azure-installation/debugging-agent-azure.mdx @@ -213,7 +213,7 @@ Se as variáveis corretas estiverem definidas e o aplicativo que você está ten As variáveis de ambiente que aparecem na guia **Environment** no **Process Explorer** do Kudu devem ser semelhantes a estas: - ```env + ```ini CORECLR_ENABLE_PROFILING = 1 CORECLR_PROFILER = {36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_PROFILER_PATH = /home/site/wwwroot/newrelic/libNewRelicProfiler.so diff --git a/src/i18n/content/pt/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx b/src/i18n/content/pt/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx new file mode 100644 index 00000000000..65d178acf47 --- /dev/null +++ b/src/i18n/content/pt/docs/apm/agents/net-agent/getting-started/opentracing-to-layers-migration-guide.mdx @@ -0,0 +1,71 @@ +--- +title: Guia de migração de camadas .NET OpenTracing para 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 +--- + +Este guia descreve as principais mudanças entre `NewRelic.OpenTracing.AmazonLambda.Tracer` e a camada Lambda do agente .NET. Ele também detalha as diferentes opções disponíveis ao atualizar e como migrar com sucesso para usar a camada Lambda do agente .NET. + + + O suporte para instrumentado AWS função do Lambda começa na v10.24.0 do agente .NET. + + +Aqui estão as principais mudanças para esta transição: + +* O pacote `NewRelic.OpenTracing.AmazonLambda.Tracer` entra em conflito com a instrumentação de agente e deve ser removido. +* Quaisquer alterações de código feitas na função AWS do Lambda para OpenTracing precisam ser revertidas. +* O agente New Relic .NET será usado para instrumentar a função AWS do Lambda. +* As camadas do AWS Lambda estão disponíveis quando você agrupa o agente .NET e a extensão New Relic Lambda necessária. +* Na maioria dos casos, a instrumentação da função AWS do Lambda é automática. +* O agente .NET conta com a extensão New Relic Lambda para envio de dados na AWS função do Lambda. +* As camadas podem ser configuradas usando a ferramenta New Relic Lambda CLI, um plug-in framework sem servidor ou manualmente. +* os nomes e tempos das métricas serão diferentes porque a forma como a função é instrumentada mudou fundamentalmente. +* Qualquer dashboard, alerta ou consulta baseado na métrica antiga precisará ser atualizado após a migração. + +## Removendo NewRelic.OpenTracing.AmazonLambda.tracer e OpenTracing [#remove] + +O pacote `NewRelic.OpenTracing.AmazonLambda.Tracer` deve ser removido antes de usar o agente .NET e quaisquer alterações feitas em sua função do Lambda AWS para suportá-lo devem ser desfeitas. + +1. A configuração do pacote `NewRelic.OpenTracing.AmazonLambda.Tracer` requer a criação de um novo `FunctionHandler` que chame o `FunctionHandler` original, agrupando-o para ativar a instrumentação. Antes de remover o `NewRelic.OpenTracing.AmazonLambda.Tracer` você precisará desfazer essa chamada para que a limpeza ocorra com mais facilidade. +2. O agente .NET não oferece suporte ao uso API OpenTracing para transmitir dados customizados. Quaisquer alterações em seu código que dependiam da API OpenTracing, seja diretamente ou por meio do pacote `NewRelic.OpenTracing.AmazonLambda.Tracer`, precisam ser removidas ou migradas para usar a API .NET do agente. +3. Remova o pacote `NewRelic.OpenTracing.AmazonLambda.Tracer` do seu projeto. Limpe quaisquer problemas restantes relacionados à remoção. + +## Selecionando um método de instalação de camada [#install] + +Depois de remover o pacote `NewRelic.OpenTracing.AmazonLambda.Tracer` a próxima etapa é selecionar qual método você usará para instalar e configurar a camada .NET AWS Lambda. Conforme mencionado acima, existem basicamente três opções: + +* CLI do New Relic Lambda +* New Relic plug-in framework sem servidor Relic +* Instalação totalmente manual + +Recomendamos escolher a CLI do Lambda ou o plug-in framework Serverless, pois eles automatizam a maior parte da configuração. Cada um tem sua própria dependência e requisitos que precisam ser levados em consideração, alguns dos quais serão descritos na próxima seção. Se você já usa uma dessas abordagens, recomendamos manter as coisas simples usando a mesma abordagem para todas as suas funções do Lambda da AWS . + +Para obter um conjunto completo de instruções detalhadas de introdução ao monitoramento do AWS Lambda, consulte nosso [guia de ativação](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-aws-lambda-monitoring/). + +## CLI do New Relic Lambda [#cli] + + + O suporte para a camada AWS Lambda do agente .NET começa na v0.9.2 da CLI do Lambda. + + +A CLI do Lambda [início rápido](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) tem um exemplo do comando para atualizar sua função AWS do Lambda para usar a camada de agente .NET. Isso detectará automaticamente o tempo de execução da função e selecionará a camada apropriada. Você pode encontrar opções de configuração adicionais no [repositório CLI do Lambda](https://github.com/newrelic/newrelic-lambda-cli?tab=readme-ov-file#recommendations). + +## New Relic plug-in framework sem servidor Relic [#serverless] + + + O suporte para a camada AWS Lambda do agente .NET começa na v5.3.0 do plug-in da framework Serverless. + + +O [plug-in framework Serverless início rápido](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/) possui as etapas necessárias para instalar o plug-in e atualizar a configuração framework Serverless. Você pode encontrar opções de configuração adicionais no [repositório do plug-in framework Serverless](https://github.com/newrelic/serverless-newrelic-lambda-layers). + +## Instalação totalmente manual [#manual] + +Embora não recomendemos instrumentar manualmente sua função AWS do Lambda, temos informações sobre as etapas necessárias para fazer isso [aqui](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console). + +* O agente .NET irá instrumentar automaticamente sua função AWS do Lambda, na maioria dos casos quando instalado manualmente +* A extensão New Relic Lambda ainda é necessária para enviar dados \ No newline at end of file diff --git a/src/i18n/content/pt/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx b/src/i18n/content/pt/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx index 2b67ff73c4c..f69d5d15ab0 100644 --- a/src/i18n/content/pt/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx +++ b/src/i18n/content/pt/docs/apm/agents/net-agent/installation/uninstall-net-agent.mdx @@ -36,7 +36,7 @@ Este procedimento pressupõe que você instalou o agente .NET com o instalador M 4. Reinicie o IIS. -Após desinstalar o agente, você pode querer remover todos os arquivos relacionados ao agente. Certifique-se de verificar outros caminhos para remover quaisquer outros arquivos New Relic. Por exemplo, desinstalar o agente .NET não exclui o arquivo **[newrelic.config](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence)** . +Após desinstalar o agente, você pode querer remover todos os arquivos relacionados ao agente. Certifique-se de verificar outros caminhos para remover quaisquer outros arquivos New Relic. Por exemplo, desinstalar o agente .NET não exclui o arquivo [`newrelic.config`](/docs/agents/net-agent/installation-configuration/net-agent-configuration#config-options-precedence) . 1. Em @@ -69,9 +69,9 @@ Para desinstalar o agente .NET no Linux, use sua ferramenta de gerenciamento de id="apt-uninstall" title="Desinstale com apt (Debian, Ubuntu e Linux Mint)" > - Execute o seguinte comando como root (ou usando sudo): + Execute o seguinte comando como root (ou usando `sudo`): - ``` + ```sh apt-get remove newrelic-dotnet-agent ```
@@ -80,9 +80,9 @@ Para desinstalar o agente .NET no Linux, use sua ferramenta de gerenciamento de id="dpkg-uninstall" title="Desinstalar com dpkg (Debian, Ubuntu e Linux Mint)" > - Execute o seguinte comando como root (ou usando sudo): + Execute o seguinte comando como root (ou usando `sudo`): - ``` + ```sh dpkg --remove newrelic-dotnet-agent ``` @@ -91,9 +91,9 @@ Para desinstalar o agente .NET no Linux, use sua ferramenta de gerenciamento de id="yum-uninstall" title="Desinstale com yum (CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - Execute o seguinte comando como root (ou usando sudo): + Execute o seguinte comando como root (ou usando `sudo`): - ``` + ```sh yum remove newrelic-dotnet-agent ``` @@ -102,9 +102,9 @@ Para desinstalar o agente .NET no Linux, use sua ferramenta de gerenciamento de id="rpm-uninstall" title="Desinstalar com rpm (CentOS, Red Hat Enterprise Linux, Oracle Linux)" > - Execute o seguinte comando como root (ou usando sudo): + Execute o seguinte comando como root (ou usando `sudo`): - ``` + ```sh sudo rpm -e newrelic-dotnet-agent ``` @@ -117,7 +117,7 @@ Para desinstalar o agente .NET no Linux, use sua ferramenta de gerenciamento de 2. Desative as variáveis de ambiente do New Relic: - ``` + ```ini CORECLR_ENABLE_PROFILING=1 CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A} CORECLR_NEWRELIC_HOME=PATH_TO_INSTALL diff --git a/src/i18n/content/pt/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx b/src/i18n/content/pt/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx index 5d01ee178a6..7a272c03346 100644 --- a/src/i18n/content/pt/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx +++ b/src/i18n/content/pt/docs/apm/agents/net-agent/other-installation/how-verify-checksum-net-agent-downloads.mdx @@ -10,7 +10,7 @@ Leia sobre como confirmar a soma de verificação do instalador do agente .NET d No Linux, execute: -``` +```sh sha256sum YOUR_FILENAME ``` @@ -33,7 +33,7 @@ No Windows, recomendamos usar `CertUtil` ou `Get-FileHash` para calcular um arqu Para calcular o hash aplicar, execute: - ``` + ```sh CertUtil -hashfile YOUR_FILENAME SHA256 ``` @@ -54,7 +54,7 @@ No Windows, recomendamos usar `CertUtil` ou `Get-FileHash` para calcular um arqu Para calcular o hash aplicar, execute: - ``` + ```powershell Get-FileHash YOUR_FILENAME Algorithm SHA256 | Format-List ``` diff --git a/src/i18n/content/pt/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx b/src/i18n/content/pt/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx index 60fc39b349e..29eac89dc55 100644 --- a/src/i18n/content/pt/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx +++ b/src/i18n/content/pt/docs/apm/agents/python-agent/getting-started/instrumented-python-packages.mdx @@ -522,6 +522,24 @@ O agente Python [versão 2.72.0.52 ou superior](/docs/release-notes/agent-releas + + + [aiomcache](https://github.com/aio-libs/aiomcache) + + + + [aiomcache](https://pypi.org/project/aiomcache/) + + + + 0.8.2 + + + + 9.12.0 + + + [Elasticsearch](https://www.elastic.co/products/elasticsearch) diff --git a/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx b/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx index ffb371117d4..2e1f847b07c 100644 --- a/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx +++ b/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/flex-integration-tool-build-your-own-integration.mdx @@ -69,6 +69,25 @@ O Flex utiliza [infraestrutura](/docs/infrastructure/install-infrastructure-agen +## Resolução de problemas + +Quando você encontrar um problema com a configuração do Flex, primeiro siga estas etapas básicas de resolução de problemas: + +* Teste a configuração sem o agente de infraestrutura: você pode testar manualmente um arquivo de configuração para garantir que a saída atenda às suas expectativas executando um comando como este, substituindo `` pelo nome do seu arquivo de configuração: + +``` +# Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/ +./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/ + +# Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations +.\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\" +``` + +Isso fornecerá uma saída mostrando o log de depuração e a carga JSON que será integrada ao agente de infraestrutura. Certifique-se de que o Flex esteja obtendo e formatando sua telemetria conforme esperado antes de continuar com o restante das etapas de resolução de problemas. Saiba mais sobre como testar a configuração do Flex no [repositório GitHub](https://github.com/newrelic/nri-flex/blob/master/docs/troubleshooting.md#testing-a-config). + +* Teste com o agente de infraestrutura no modo `dry-run` : use a [sinalização de simulação](/docs/infrastructure/host-integrations/troubleshooting/run-integrations-manually/) no agente de infraestrutura para testar sua configuração Flex. Verifique se a saída contém a telemetria que você espera que seja relatada à New Relic. +* Depure a integração com o agente de infraestrutura: Por fim, certifique-se de que o agente esteja reportando os dados de telemetria conforme esperado, [habilitando o log de depuração](/docs/infrastructure/infrastructure-troubleshooting/troubleshoot-logs/generate-logs-troubleshooting-infrastructure/) no agente de infraestrutura. + ## Saber mais [#get] A integração Flex vem junto com o agente de infraestrutura e pode ser configurada como qualquer outra integração no host. Saiba mais sobre [as opções de configuração](/docs/infrastructure/host-integrations/infrastructure-integrations-sdk/specifications/host-integrations-standard-configuration-format). diff --git a/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx b/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx index baf349a71fe..d0b72b5034c 100644 --- a/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx +++ b/src/i18n/content/pt/docs/infrastructure/host-integrations/host-integrations-list/monitoring-airflow-ot.mdx @@ -33,7 +33,9 @@ Antes de ativar o OpenTelemetry no Apache Airflow, você precisará instalar o p 2. Ao instalar com pip, adicione o `otel` extra ao comando. Por exemplo: - `pip install "apache-airflow[otel]"` + ```sh + pip install "apache-airflow[otel]" + ``` ### Opção 2: instalar a partir docker [#install-docker] @@ -41,7 +43,7 @@ Antes de ativar o OpenTelemetry no Apache Airflow, você precisará instalar o p 2. Estenda a imagem docker pré-criada usando um Dockerfile para instalar o `otel` extra. Você pode substituir a tag mais recente pela versão desejada da imagem. - ``` + ```dockerfile FROM apache/airflow:latest RUN pip install --no-cache-dir "apache-airflow[otel]==$AIRFLOW_VERSION" ``` @@ -86,7 +88,7 @@ Escolha um dos métodos a seguir para definir as opções necessárias para o Ai 1. Defina as opções necessárias no arquivo `airflow.cfg` . - ``` + ```ini [metrics] otel_on = True otel_host = localhost @@ -96,7 +98,7 @@ Escolha um dos métodos a seguir para definir as opções necessárias para o Ai 2. Ou defina as opções necessárias como variáveis de ambiente. - ``` + ```sh export AIRFLOW__METRICS__OTEL_ON=True export AIRFLOW__METRICS__OTEL_HOST=localhost export AIRFLOW__METRICS__OTEL_PORT=4318 @@ -136,7 +138,8 @@ Com a métrica do Airflow, você pode criar um painel em torno de pipelines indi Esta consulta recupera uma lista de todas as métricas relatadas para o Airflow: ```sql -SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 +SELECT uniques(metricName) FROM Metric WHERE entity.name = 'Airflow' +AND metricName LIKE 'airflow.%' SINCE 30 MINUTES AGO LIMIT 100 ``` Certifique-se de alterar o limite (`100`) se os nomes das suas métricas o excederem. @@ -144,7 +147,8 @@ Certifique-se de alterar o limite (`100`) se os nomes das suas métricas o exced Esta consulta mostra uma comparação de diferentes tempos de conclusão para execuções bem-sucedidas de diferentes DAGs: ```sql -SELECT latest(airflow.dagrun.duration.success) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT latest(airflow.dagrun.duration.success) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` para pipelines críticos: ```sql -SELECT count(airflow.dagrun.duration.failed) FROM Metric FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES +SELECT count(airflow.dagrun.duration.failed) FROM Metric +FACET dag_id WHERE entity.name = 'Airflow' SINCE 30 minutes AGO TIMESERIES ``` :64747/metrics", "http://:44217/metrics", "http://:44227/metrics"] - # tls_config: - # ca_file_path: "/etc/etcd/etcd-client-ca.crt" - # cert_file_path: "/etc/etcd/etcd-client.crt" - # key_file_path: "/etc/etcd/etcd-client.key" + # tls_config: + # ca_file_path: "/etc/etcd/etcd-client-ca.crt" + # cert_file_path: "/etc/etcd/etcd-client.crt" + # key_file_path: "/etc/etcd/etcd-client.key" verbose: false # Defaults to false. This determines whether or not the integration should run in verbose mode. audit: false @@ -131,11 +131,9 @@ Nossa integração Ray monitora o desempenho do seu Ray, ajudando você a diagno Use as instruções em nossos [documentos do agente de infraestrutura](/docs/infrastructure/install-infrastructure-agent/manage-your-agent/start-stop-restart-infrastructure-agent/) para reiniciar seu agente de infraestrutura. Este é um comando básico que deve funcionar para a maioria das pessoas: - ````shell + ```shell sudo systemctl restart newrelic-infra.service - ``` - - ```` + ``` diff --git a/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx b/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx index b2c96aa8220..afb526203c5 100644 --- a/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx +++ b/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-aws-elastic-beanstalk.mdx @@ -34,9 +34,9 @@ Para instalar o agente de infraestrutura na instância de lançamento com AWS El id="linux-2" title="Amazon Linux 2" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -44,15 +44,15 @@ Para instalar o agente de infraestrutura na instância de lançamento com AWS El license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -62,9 +62,9 @@ Para instalar o agente de infraestrutura na instância de lançamento com AWS El id="linux-2023" title="Amazon Linux 2023" > - ``` + ```yml files: - "/etc/newrelic-infra.yml" : + "/etc/newrelic-infra.yml": mode: "000644" owner: root group: root @@ -72,15 +72,15 @@ Para instalar o agente de infraestrutura na instância de lançamento com AWS El license_key: YOUR_LICENSE_KEY commands: - # Create the agent’s yum repository + # Create the agent’s yum repository "01-agent-repository": command: sudo curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/amazonlinux/2023/x86_64/newrelic-infra.repo - # - # Update your yum cache + # + # Update your yum cache "02-update-yum-cache": command: yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' - # - # Run the installation script + # + # Run the installation script "03-run-installation-script": command: sudo yum install newrelic-infra -y ``` @@ -90,7 +90,7 @@ Para instalar o agente de infraestrutura na instância de lançamento com AWS El id="deploy-infrastructure" title="Windows" > - ``` + ```yml packages: msi: infrastructure: https://download.newrelic.com/infrastructure_agent/windows/newrelic-infra.msi @@ -133,15 +133,15 @@ Para desinstalar o agente, atualize `newrelic.config` de `.ebextensions` com a c id="uninstall-agent-linux-ami" title="Amazon Linux" > - ``` + ```yml commands: - # Remove agent configuration file - "04-agent-remove-config": - command: sudo rm /etc/newrelic-infra.yml - # - # Uninstall infra agent - "05-agent-uninstall": - command: sudo yum remove newrelic-infra -y + # Remove agent configuration file + "04-agent-remove-config": + command: sudo rm /etc/newrelic-infra.yml + # + # Uninstall infra agent + "05-agent-uninstall": + command: sudo yum remove newrelic-infra -y ``` @@ -149,7 +149,7 @@ Para desinstalar o agente, atualize `newrelic.config` de `.ebextensions` com a c id="uninstall-infrastructure" title="Windows" > - ``` + ```yml commands: 03_uninstall-newrelic-infra: command: wmic product where name="New Relic Infrastructure Agent" call uninstall diff --git a/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx b/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx index 56a91deb19d..73278a49368 100644 --- a/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx +++ b/src/i18n/content/pt/docs/infrastructure/install-infrastructure-agent/config-management-tools/configure-infrastructure-agent-puppet.mdx @@ -49,13 +49,13 @@ Veja mais opções de instalação no [PuppetForge](https://forge.puppet.com/mod ```shell sudo puppet module install ~/newrelic-newrelic_installer-0.1.0.tar.gz -Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... -Notice: Downloading from https://forgeapi.puppet.com ... -Notice: Installing -- do not interrupt ... -/etc/puppetlabs/code/environments/production/modules -└─┬ newrelic-newrelic_installer (v0.1.0) - ├── lwf-remote_file (v1.1.3) - └── puppetlabs-powershell (v5.2.0) +[output] Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ... +[output] Notice: Downloading from https://forgeapi.puppet.com ... +[output] Notice: Installing -- do not interrupt ... +[output] /etc/puppetlabs/code/environments/production/modules +[output] └─┬ newrelic-newrelic_installer (v0.1.0) +[output] ├── lwf-remote_file (v1.1.3) +[output] └── puppetlabs-powershell (v5.2.0) ``` ## Execute o módulo `newrelic-newrelic_installer` [#beginning] diff --git a/src/i18n/content/pt/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx b/src/i18n/content/pt/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx index a8a316be6a9..d1be4b9e188 100644 --- a/src/i18n/content/pt/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx +++ b/src/i18n/content/pt/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx @@ -15,7 +15,7 @@ translationType: machine O operador agente Kubernetes agiliza a observabilidade fullstack para ambientes Kubernetes automatizando a instrumentação APM junto com a implantação do agente Kubernetes . Ao habilitar a instrumentação automática APM , os desenvolvedores não precisam mais gerenciar manualmente [o agente APM](/docs/apm/new-relic-apm/getting-started/introduction-apm/). O operador do agente Kubernetes instalará, atualizará e removerá automaticamente o agente APM. -Atualmente [suporta](#k8s-supported-versions) Java, .NET, Node.js, Python e Ruby com linguagens adicionais (PHP e Go) a caminho. +Atualmente [suporta](#k8s-supported-versions) Java, .NET, Node.js, Python e Ruby com linguagens adicionais (PHP e Go) a caminho. Ele foi testado em EKS e cluster local executando nós AMD. ## Antes de você começar [#before-begin] @@ -30,11 +30,11 @@ Antes de instalar o operador, verifique o seguinte: Para instalar a dependência do gerenciador de certificados, execute estes comandos: ```shell - helm repo add jetstack https://charts.jetstack.io - helm install cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --set crds.enabled=true +helm repo add jetstack https://charts.jetstack.io +helm install cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --set crds.enabled=true ``` ## instalação do operador agente Kubernetes [#install-k8s-operator] @@ -54,19 +54,19 @@ Consulte a página [Instalar a integração do Kubernetes](/install/kubernetes/? Veja este exemplo de comando Helm usando parâmetro: ```shell - helm repo add newrelic https://helm-charts.newrelic.com - - helm upgrade --install newrelic-bundle newrelic/nri-bundle \ -   --set global.licenseKey= \ -   --set global.cluster= \ -   --namespace=newrelic \ -   --set newrelic-infrastructure.privileged=true \ -   --set global.lowDataMode=true \ -   --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ -   --set kube-state-metrics.enabled=true \ -   --set kubeEvents.enabled=true \ -   --set k8s-agents-operator.enabled=true \ - --create-namespace +helm repo add newrelic https://helm-charts.newrelic.com + +helm upgrade --install newrelic-bundle newrelic/nri-bundle \ + --set global.licenseKey= \ + --set global.cluster= \ + --namespace=newrelic \ + --set newrelic-infrastructure.privileged=true \ + --set global.lowDataMode=true \ + --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ + --set kube-state-metrics.enabled=true \ + --set kubeEvents.enabled=true \ + --set k8s-agents-operator.enabled=true \ + --create-namespace ``` ### Instalação autônoma [#standalone-installation] @@ -74,11 +74,11 @@ Veja este exemplo de comando Helm usando parâmetro: Para instalar o operador do agente Kubernetes com a configuração padrão, execute estes comandos: ```shell - helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator - helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ - --namespace newrelic \ - --create-namespace \ - --set licenseKey= +helm repo add newrelic-k8s https://newrelic.github.io/k8s-agents-operator +helm upgrade --install k8s-agents-operator newrelic-k8s/k8s-agents-operator \ + --namespace newrelic \ + --create-namespace \ + --set licenseKey= ``` Para obter uma lista completa de opções de configuração, consulte o gráfico [README](https://github.com/newrelic/k8s-agents-operator/tree/main/charts/k8s-agents-operator#values) . @@ -128,7 +128,7 @@ Cada namespace requer um processo de duas etapas para permitir a instrumentaçã # - name: NEW_RELIC_APP_NAME # value: "$(NEW_RELIC_LABELS)-$(NEW_RELIC_POD_NAME)" nodejs: - image: newrelic/newrelic-nodejs-init:latest + image: newrelic/newrelic-node-init:latest python: image: newrelic/newrelic-python-init:latest dotnet: @@ -144,11 +144,11 @@ O operador do agente Kubernetes procura anotações específicas do idioma ao ag Veja as anotações atualmente suportadas: ```shell - instrumentation.newrelic.com/inject-java: "true" - instrumentation.newrelic.com/inject-nodejs: "true" - instrumentation.newrelic.com/inject-python: "true" - instrumentation.newrelic.com/inject-dotnet: "true" - instrumentation.newrelic.com/inject-ruby: "true" +instrumentation.newrelic.com/inject-java: "true" +instrumentation.newrelic.com/inject-nodejs: "true" +instrumentation.newrelic.com/inject-python: "true" +instrumentation.newrelic.com/inject-dotnet: "true" +instrumentation.newrelic.com/inject-ruby: "true" ``` Veja este exemplo de implantação com anotação para instrumento do agente Java: diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx new file mode 100644 index 00000000000..81ea53a09c7 --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloud-watch-fallback.mdx @@ -0,0 +1,208 @@ +--- +title: CloudWatch fallback +metaDescription: This doc guides you through shipping your telemetry data with Cloudwatch as a fail-safe option. +freshnessValidatedDate: never +translationType: machine +--- + +Você pode enviar dados de monitoramento do New Relic Lambda de algumas maneiras diferentes, dependendo de suas necessidades. A opção que fornece o desempenho mais forte da sua função e a proteção contra falhas mais forte inclui a configuração do CloudWatch como substituto. Isso significa que você enviará telemetria para a New Relic através da extensão e, caso haja algum problema com a extensão, New Relic ainda receberá carga através do CloudWatch. + +Benefícios do CloudWatch fallback: + +* **Execução independente**: captura todos os logs do CloudWatch independentemente da execução da sua função. É muito improvável que interfira na operação normal da sua função ou afete a duração da invocação da sua função. +* **Funciona com redes seguras**: útil para funções em uma VPC que não pode ter tráfego de saída para New Relic. +* **Permite monitoramento aprimorado**: necessário para outras formas de infra e telemetria de banco de dados. Para saber mais, consulte nossa [documentação de integração de monitoramento aprimorado do Amazon RDS](/docs/infrastructure/amazon-integrations/aws-integrations-list/aws-rds-enhanced-monitoring-integration/). + +Embora essa opção de envio ofereça a proteção mais forte contra falhas, é importante observar que o serviço AWS CloudWatch pode gerar muitos dados. Lembre-se da ingestão de dados ao pensar nos custos e no plano de preços da New Relic que você escolher. + +## Como funciona o CloudWatch fallback [#works] + +Se a extensão não for inicializada, também conhecida como modo noop, ou travar, ela não conseguirá codificar a linha `NR_LAMBDA_MONITORING` gerada por nosso agente. A linha `NR_LAMBDA_MONITORING` aparecerá no log do CloudWatch. Se a função `newrelic-log-ingestion` estiver instalada na mesma região que sua função, configurada para enviar carga e for acionada pelo grupo log do CloudWatch da sua função, ela poderá atuar como um substituto para a extensão para enviar carga. + +## Antes de você começar [#requirements] + +Antes de configurar uma opção substituta, você precisará concluir o seguinte: + +* Instale a função `newrelic-log-ingestion` na região AWS de onde você deseja enviar o log. +* Se estiver enviando log, crie um padrão de filtro igual a nulo ou crie um padrão personalizado para corresponder ao log de função que você deseja enviar. New Relic receberá o log do CloudWatch para sua função. Para evitar logs duplicados, a extensão precisa ter o envio log desabilitado. O envio log da extensão está desabilitado por padrão. + +Aqui estão algumas práticas recomendadas antes de atualizar sua camada New Relic Lambda: + +* Antes de atualizar para uma versão de camada mais recente, lembre-se de que a camada mais recente pode introduzir alterações que quebrem a extensão ou uma dependência de terceiros. +* Fixe uma versão de camada que funcione bem para sua função e atualize apenas para uma versão de camada mais recente conforme necessário para resolver bugs, obter novos recursos e patches de segurança ou porque um agente possui EOL. +* Revise cuidadosamente todas as alterações e notas de lançamento e teste em um ambiente de desenvolvimento ou preparação antes de implantar uma nova camada em produção. + +## Opções de implementação [#fallback] + +Existem três maneiras de implementar um substituto do CloudWatch: + +1. **Habilitar a extensão para carga de telemetria e ship log via CloudWatch**: Neste cenário, a carga de telemetria é enviada pela extensão e log pelo CloudWatch, e caso a extensão falhe, a carga também. +2. **Ramal habilitado para carga e log de telemetria**: Neste cenário, carga e log de telemetria são enviados através do ramal. +3. **Extensão desabilitada**: Neste cenário, o CloudWatch é sempre utilizado para enviar log e carga. + + + + Se você não estiver enviando log para o CloudWatch, esta opção é a maneira menos dispendiosa e mais robusta de garantir que a carga instrumentada sempre chegue ao New Relic. Se você estiver enviando log, esta opção apresentará alguns custos do CloudWatch para envio log . Consulte [Ingestão de dados: cobrança e regras](/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing/) para obter mais informações sobre preços. + + Depois de adicionar uma camada New Relic Lambda, a extensão é habilitada e tem o envio de log desabilitado por padrão. + + 1. Defina [variáveis de ambiente de extensão](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) na sua função: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: verdadeiro (padrão) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: falso (padrão) + + 2. Defina suas variáveis de ambiente de função `newrelic-log-ingestion` : + + * `INFRA_ENABLED`: verdadeiro + * `LOGGING_ENABLED`: true (se estiver enviando log) + + Ou, se você estiver usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), defina: + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` só deve ser incluída se sua função estiver sendo implantada em uma conta AWS que ainda não possui integração. Uma vez configurada a integração, esta opção deverá ser removida do yaml da função implantar. + + + Ou, se você estiver usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), defina: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key --enable-logs` + * `newrelic-lambda layers install --function --nr-account-id ` + * `newrelic-lambda subscriptions install --function --filter-pattern ""` + + + + Esta opção fornece o caminho de menor custo que garante que a carga instrumentada sempre chegue à New Relic. Esta opção envia o log de funções por meio da extensão New Relic Lambda, portanto, se a extensão falhar ao inicializar ou travar, o log de funções estará ausente do New Relic. + + Se você estiver enviando log de função, certifique-se de que a extensão esteja configurada para isso. Esses logs serão enviados apenas pela extensão e não haverá fallback do CloudWatch para log para evitar duplicatas. + + Depois de adicionar uma camada New Relic Lambda, a extensão é habilitada e tem o envio de log desabilitado por padrão. Se quiser ver o log de funções no New Relic, você precisará usar variáveis de ambiente para permitir que a extensão envie o log de funções. + + É importante observar que os logs de funções são apenas isso, logs que são registrados pela função durante sua invocação. A extensão não enviará log da plataforma Lambda como `START` e `END`. + + 1. Defina [variáveis de ambiente de extensão](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) na sua função: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: verdadeiro (padrão) + * `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS`: true 2 Defina suas variáveis de ambiente de função `newrelic-log-ingestion` : + * `INFRA_ENABLED`: verdadeiro + * `LOGGING_ENABLED`: false (desative o encaminhamento de logs para evitar duplicatas ou defina o padrão de filtro do CloudWatch assinatura para corresponder apenas a `NR_LAMBDA_MONITORING` linhas) + + Ou, se você estiver usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), defina: + + ```yaml + custom: + newRelic: + enableExtension: true + enableFunctionLogs: true + enableIntegration: true + cloudWatchFilter: "NR_LAMBDA_MONITORING" (only send payloads) + ``` + + + `enableIntegration` só deve ser incluída se sua função estiver sendo implantada em uma conta AWS que ainda não possui integração. Uma vez configurada a integração, esta opção deverá ser removida do yaml da função implantar. + + + Ou, se você estiver usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), defina: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function <name or arn> --nr-account-id <YOUR_NEW_RELIC_ACCOUNT_ID>` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern "NR_LAMBDA_MONITORING"` + + + + Esta opção depende totalmente do CloudWatch e de nossa função `newrelic-log-ingestion` para enviar log e carga para o New Relic. Esta opção desativa a extensão para evitar possíveis períodos de inatividade causados por falhas na extensão. + + Para este método, a extensão New Relic Lambda precisa ser completamente desativada para não impedir que a linha `NR_LAMBDA_MONITORING` seja gravada no CloudWatch. Com a extensão New Relic Lambda desativada, toda a telemetria sairá por meio do CloudWatch, do filtro de assinatura e da função `newrelic-log-ingestion` . + + Depois de adicionar uma camada New Relic Lambda, a extensão é habilitada e tem o envio de log desabilitado por padrão. Você precisará desabilitar a extensão com uma variável de ambiente. + + 1. Defina [variáveis de ambiente de extensão](https://github.com/newrelic/newrelic-lambda-extension/blob/main/config/config.go) em sua função da seguinte maneira: + + * `NEW_RELIC_LAMBDA_EXTENSION_ENABLED`: falso + + 2. Defina as variáveis de ambiente da função `newrelic-log-ingestion` da seguinte maneira: + + * `INFRA_ENABLED`: verdadeiro + * `LOGGING_ENABLED`: verdadeiro + + Ou, se você estiver usando [`serverless-newrelic-lambda-layers`](https://github.com/newrelic/serverless-newrelic-lambda-layers), defina: + + ```yaml + custom: + newRelic: + enableExtension: false + enableIntegration: true + cloudWatchFilter: "*" + ``` + + + `enableIntegration` só deve ser incluída se sua função estiver sendo implantada em uma conta AWS que ainda não possui integração. Uma vez configurada a integração, esta opção deverá ser removida do yaml da função implantar. + + + Ou, se você estiver usando [`newrelic-lambda-cli`](https://github.com/newrelic/newrelic-lambda-cli), defina: + + * `newrelic-lambda integrations install --nr-account-id --nr-api-key ` + * `newrelic-lambda layers install --function --nr-account-id --disable-extension` + * `newrelic-lambda subscriptions install --function <name or arn> --filter-pattern ""` + + Você também pode optar manualmente por enviar dados apenas para o CloudWatch. Para fazer isso: + + 1. Desative a extensão adicionando a variável de ambiente `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` à sua função, com o valor `false`. + 2. Crie um filtro de assinatura de log do CloudWatch para invocar a função `newrelic-log-ingestion` com o log da sua função. + + * A CLI pode fazer isso por você: `newrelic-lambda subscriptions install --function FUNCTION_NAME` + * Como alternativa, use o console AWS para criar um filtro de assinatura do grupo log do CloudWatch da sua função para invocar a `newrelic-log-ingestion` função do Lambda. + + Ou você pode seguir estas etapas para transmitir o log do CloudWatch para New Relic Lambda: + + 1. Abra o CloudWatch e selecione + + **Logs** + + no menu à esquerda e, em seguida, selecione o grupo log da função que você está monitorando. + + 2. Selecione + + **Actions > Subscription filters > Create Lambda subscription filter** + + . + + 3. Em + + **Lambda function** + + , selecione a função `newrelic-log-ingestion` . + + 4. Defina + + **Log format** + + como `JSON`. + + 5. Defina o + + **Subscription filter pattern to** + + `?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId`. Alternativamente, se você estiver usando a variável de ambiente `LOGGING_ENABLED` [para transmitir todo o seu log](#stream-all-logs) para o nosso log, deixe este campo em branco. + + + Certifique-se de que a `newrelic-log-ingestion` função do Lambda selecionada no método acima esteja na mesma região da AWS que sua função do Lambda. + + + \ No newline at end of file diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx new file mode 100644 index 00000000000..b94cccd30a9 --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx @@ -0,0 +1,171 @@ +--- +title: Instrumento sua função conteinerizada +metaDescription: A guide for instrumenting your containerized image layer with New Relic. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessContainerizedImagesWithLambda from 'images/serverless_diagram_containerized-images-with-lambda.webp' + +Se você estiver usando uma imagem conteinerizada para uma função do Lambda e quiser monitor seu aplicativo, será necessário adicionar New Relic ao seu Dockerfile. Por exemplo, suponha que você seja desenvolvedor de um aplicativo de orçamento e esteja usando uma função do Lambda para calcular saldos de contas toda vez que um cliente clica em **See my balance**. Você quer mergulhar fundo em qualquer latência potencial. Nesse caso, você precisará adicionar New Relic à sua função, para que cada vez que um cliente clicar em **See my balance**, sua função seja executada, e New Relic também. + +Aqui está um diagrama que mostra o processo de adição New Relic ao Dockerfile para que você possa monitor sua função: + +A diagram demonstrating how New Relic integrates with your Lambda containerized function. + +
+ Se você estiver usando uma imagem em contêiner para sua função do Lambda, poderá adicionar New Relic à sua imagem. +
+ +Aqui está um guia para adicionar nossa camada pré-construída ao seu código. + + + + ### Adicione New Relic ao seu Dockerfile + + A New Relic oferece imagens pré-construídas que incluem os diferentes tempos de execução da nossa camada: Java, Node.js, Python e somente extensão. + + 1. Selecione a camada compatível com o tempo de execução e região específicos da sua função do Lambda: + + * [Java](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java) + * [Node.js](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs) + * [Python](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-python) + * [Ruby](https://gallery.ecr.aws/x6n7b2o2/newrelic-lambda-layers-ruby) + * [.NET](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet) + * [Somente extensão](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension) + + 2. Em seu Dockerfile de vários estágios, use a imagem pré-construída do New Relic como um estágio de construção intermediário. Em seguida, copie o agente e a extensão da New Relic da nossa imagem pré-construída para o estágio final de construção. + + ### Exemplo + + Aqui está um exemplo do Dockerfile original mesclado com a camada pré-construída do New Relic. Este exemplo usa um tempo de execução Node.js. + + ```dockerfile + + # Define the New Relic pre-built image + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20 AS layer + + # Define the base image: + FROM public.ecr.aws/lambda/nodejs:20 + + # Copy New Relic Layer code + COPY --from=layer /opt/ /opt/ + + # Rest of your Dockerfile... + ``` + + ### Exemplos de Dockerfile baseados em tempo de execução + + + + + Java + + + + Python + + + + Node.js + + + + Ruby + + + + .NET + + + + Somente extensão + + + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-java:17-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-python:38-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-nodejs:20-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-ruby:32-arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ``` + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-dotnet:arm64 AS layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + ```dockerfile + FROM public.ecr.aws/newrelic-lambda-layers-for-docker/newrelic-lambda-layers-lambdaextension:x86 as layer + + # Layer code + COPY --from=layer /opt/ /opt/ + ``` + + + + + + + ### Crie uma imagem + + 1. Depois de adicionar a referência à imagem pré-construída do New Relic ao seu Dockerfile, você precisará construir uma nova imagem a partir do Dockerfile modificado. Esta nova imagem terá seu código original e a imagem pré-construída do New Relic. Para isso, recomendamos seguir os passos listados no guia AWS , [Criar uma função do Lambda usando uma imagem de contêiner](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). + 2. Envie a nova imagem para seu repositório [AWS Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html) para implantação. + + + + ### Crie uma nova função do Lambda + + Usando a imagem que você enviou para AWS ECR, crie uma nova função do Lambda. Para obter mais informações sobre a criação desta função, recomendamos voltar ao guia AWS : [Create a função do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html). + + + + ### Configure sua função do Lambda + + 2. Configure a função do Lambda com as mesmas configurações da função original, mas certifique-se de adicionar quaisquer variáveis de ambiente necessárias para o monitoramento do New Relic Lambda. Consulte nossas [variáveis de ambiente](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/configure-serverless-monitoring-aws-lambda/#environment) para obter mais informações. + + 3. Atualize o manipulador da sua função para apontar para a camada recém-anexada na substituição `cmd` da sua função. Você pode fazer isso usando as instruções nestes dois documentos: + + * [Configuração da interface do console Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#console) + * [Instrumentação sem camadas para monitoramento Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/enable-serverless-monitoring-aws-lambda-layerless) + + \ No newline at end of file diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx new file mode 100644 index 00000000000..82f8e8d6b2d --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monitoring-aws-lambda-layerless.mdx @@ -0,0 +1,324 @@ +--- +title: Instrumentação sem camadas +metaDescription: Legacy instructions for manually enabling New Relic monitoring for AWS Lambda. +freshnessValidatedDate: never +translationType: machine +--- + +Se você estiver usando uma função do Lambda sem camada, você precisará instrumentar New Relic com base no tempo de execução escolhido. Selecione seu tempo de execução abaixo e siga as instruções de configuração. + + + + Para instrumentar seu Lambda da linguagem Go: + + 1. Baixe nosso pacote de agente Go e coloque-o no mesmo diretório da sua função. + + 1. Instale o agente executando: + + ```shell + go get -u github.com/newrelic/go-agent/v3/newrelic + ``` + + 2. Instale a integração `nrlambda` executando: + + ```shell + go get -u github.com/newrelic/go-agent/v3/integrations/nrlambda + ``` + + 2. Em seu código Lambda, importe nossos componentes, crie um aplicativo e atualize como você inicia seu Lambda. Veja nossos exemplos de instrumentação: + + * [Repositório de extensão](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [Repositório do agente Go](https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrlambda/example/main.go) + + 3. Opcionalmente, adicione [o evento personalizado](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) que será associado à invocação do Lambda usando a [API`RecordCustomEvent` ](/docs/agents/go-agent/features/create-custom-events-insights-go). Por exemplo: + + ```go + func handler(ctx context.Context) { + if txn := newrelic.FromContext(ctx); nil != txn { + txn.Application().RecordCustomEvent("MyEvent", map[string]interface{}{ + "zip": "zap", + }) + } + fmt.Println("hello world!") + } + ``` + + 4. Crie e compacte sua função do Lambda e carregue-a na AWS. + + + + Aqui estão sugestões para compactar e fazer upload do Lambda: + + 1. Construa o binário para execução no Linux. Isso produz um arquivo binário chamado `main`. Você pode usar: + + ```bash + GOOS=linux go build -o main + ``` + + 2. Compacte o binário em um pacote de implantação usando: + + ```bash + zip deployment.zip main + ``` + + 3. Faça upload do arquivo zip para a AWS usando o console do AWS Lambda ou a AWS CLI. Nomeie o manipulador `main` (para corresponder ao nome fornecido durante a compilação binária). + + + + 5. As variáveis de ambiente a seguir não são necessárias para que o monitoramento do Lambda funcione, mas serão necessárias se você quiser que sua função do Lambda seja incluída no rastreamento distribuído. Para habilitar [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing), defina estas [variáveis de ambiente](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) no console AWS: + + * `NEW_RELIC_ACCOUNT_ID`. [O ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY.` Este também é [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). Se sua conta for uma conta infantil, este é o ID da conta raiz/pai. + + 6. Opcionalmente, para configurar o registro em log, consulte [Registro em log do agente Go](/docs/agents/go-agent/configuration/go-agent-logging). + + 7. Invoque o Lambda pelo menos uma vez. Isso cria um grupo log do CloudWatch, que deve estar presente para que a próxima etapa funcione. + + Nosso wrapper coleta dados sobre a execução do Lambda, gera uma mensagem JSON e registra-a no log do CloudWatch. A seguir, você [configurará o CloudWatch para enviar esses logs para o New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + + + O monitoramento do AWS Lambda em Java não usa nosso [agente Java APM](/docs/agents/java-agent). Em vez disso, ele usa estas duas dependências do OpenTracing: + + * AWS Lambda OpenTracing Java SDK: instrumentação [OpenTracing](https://github.com/opentracing) para AWS Lambda RequestHandler e RequestStreamHandler. + + * Nosso tracer AWS Lambda OpenTracing: uma implementação tracer OpenTracing projetada para monitor o AWS Lambda. Ele gera spans, eventos de erro, eventos de transação, rastreamento de erros e fornece suporte distributed tracing . + + + + **Supported OpenTracing Versions** + + + * **OpenTracing 0.31.0** + + : + + * Tracer Lambda: [com.newrelic.opentracing:newrelic-java-lambda:1.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda/1.1.1/jar) + * SDK do Lambda: [com.newrelic.opentracing:java-AWS Lambda:1.0.0](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda/1.0.0/jar) + + * **OpenTracing 0.32.0, 0.33.0** + + : + + * tracer lambda: [com.newrelic.opentracing:newrelic-java-lambda:2.2.3](https://search.maven.org/artifact/com.newrelic.opentracing/newrelic-java-lambda) + * SDK do Lambda: [com.newrelic.opentracing:java-AWS Lambda:2.1.1](https://search.maven.org/artifact/com.newrelic.opentracing/java-aws-lambda) + + + Para instrumentar seu Java Lambda: + + 1. No arquivo `build.gradle` do seu projeto, inclua nosso tracer OpenTracing AWS Lambda e a dependência do AWS Lambda OpenTracing SDK: + + ```java + dependencies { + compile("com.newrelic.opentracing:java-aws-lambda:2.1.1") + compile("com.newrelic.opentracing:newrelic-java-lambda:2.2.3") + compile("io.opentracing:opentracing-util:0.33.0") + } + ``` + + 2. Implemente a interface `RequestHandler` do AWS Lambda conforme mostrado no [exemplo do Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage) e substitua o método `doHandleRequest` . + + 3. No método `doHandleRequest`, chame a API `LambdaTracing.instrument(...)` para criar um intervalo raiz para trace a execução da função do Lambda. É aqui também que você definirá sua lógica de negócio para a função do Lambda. + + 4. Registre um `LambdaTracer.INSTANCE` como o rastreador OpenTracing Global, conforme mostrado no [exemplo do Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage). + + 5. [Crie um pacote de implantação ZIP](https://docs.aws.amazon.com/lambda/latest/dg/java-package.html) e carregue-o no AWS Lambda. Ou implantá-lo por outros meios. + + 6. No console do AWS Lambda, defina o manipulador. Para o [exemplo Java Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java#usage), o manipulador seria `com.handler.example.MyLambdaHandler::handleRequest`. Como `handleRequest` é assumido, você também pode usar `com.handler.example.MyLambdaHandler`. + + 7. As seguintes [variáveis de ambiente do console AWS](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) são necessárias se você deseja que sua função do Lambda seja incluída no [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing). Isto é recomendado. + + * `NEW_RELIC_ACCOUNT_ID`. [O ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_PRIMARY_APPLICATION_ID`. Este também é [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este também é [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). Se sua conta for infantil, esse deverá ser o ID da conta raiz/pai. + + 8. Opcional: no console do Lambda, habilite o registro de depuração adicionando esta variável de ambiente: `NEW_RELIC_DEBUG` is `true`. + + 9. Invoque o Lambda pelo menos uma vez. Isso cria um grupo log do CloudWatch, que deve estar presente para que a próxima etapa funcione. + + Nosso wrapper coleta dados sobre a execução do Lambda, gera uma mensagem JSON e registra-a no log do CloudWatch. A seguir, você [configurará o CloudWatch para enviar esses logs para o New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + Consulte o [exemplo distributed tracing do AWS Lambda](https://github.com/newrelic/newrelic-lambda-tracer-java/tree/main/examples/distributed-tracing-example) para ver um projeto completo que ilustra casos de uso comuns, como: + + * Distributed tracing entre função do Lambda + * Criação manual de span (também conhecida como instrumentação personalizada) + * Rastreando chamadas externas + * Adicionando atributo personalizado (também conhecido como tag) aos spans + + + + Para instrumentar seu Node.js Lambda: + + 1. Faça download do nosso pacote de agente Node.js e coloque-o no mesmo diretório da sua função, garantindo que o agente seja instalado como uma dependência no diretório `node_modules` . Use o gerenciador de pacote Node: + + ```bash + + npm install newrelic --save + + ``` + + 2. No seu código Lambda, exija o módulo do agente na parte superior do arquivo e envolva a função do manipulador. Por exemplo: + + ```js + + const newrelic = require('newrelic'); + + // Other module loads go under the require statement above + + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + // This is your handler function code + console.log('Lambda executed'); + callback(); + }); + + ``` + + 3. Opcional: você também pode adicionar [eventos personalizados](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) ao seu Lambda usando a [API`recordCustomEvent` ](/docs/agents/nodejs-agent/api-guides/nodejs-agent-api#record_custom_event). Por exemplo: + + ```js + module.exports.handler = newrelic.setLambdaHandler((event, context, callback) => { + newrelic.recordCustomEvent('MyEventType', { foo: 'bar' }); + console.log('Lambda executed'); + callback(); + }); + ``` + + 4. Compacte sua função do Lambda e a pasta do agente Node.js. Requisitos e recomendações: + + * Os arquivos New Relic fora da pasta do agente New Relic não precisam ser incluídos. + * Se o nome do arquivo da função do Lambda for, por exemplo, `lambda_function.node`, recomendamos nomear seu arquivo zip `lambda_function.zip`. Não use um tarball. + * Seu Lambda e seus módulos associados devem estar todos no diretório raiz do arquivo zip. Isso significa que se você compactar uma pasta que contém os arquivos, não funcionará. + + 5. Carregue o arquivo compactado em sua conta do AWS Lambda. + + 6. No console AWS, defina estas [variáveis de ambiente](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html): + + * `NEW_RELIC_NO_CONFIG_FILE`. Defina como `true` se não estiver usando um arquivo de configuração. + * `NEW_RELIC_APP_NAME`: o nome do seu aplicativo. + * `NEW_RELIC_ACCOUNT_ID`. [O ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este também é [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). Se sua conta for infantil, esse precisa ser o ID da conta raiz/pai. + + 7. Opcional: para executar o agente no modo serverless fora da AWS em um ambiente local, defina a variável de ambiente `NEW_RELIC_SERVERLESS_MODE_ENABLED` como `true`. (Ao executar isso em um ambiente AWS Lambda, o agente será executado automaticamente no modo serverless. **Do not use this variable if you're running in AWS**.) + + 8. Opcional: para ativar a criação de log no modo serverless, configure estas variáveis de ambiente: + + * Defina `NEW_RELIC_LOG_ENABLED` como `true`. + * Defina `NEW_RELIC_LOG` como `stdout` para saída para o CloudWatch ou defina como qualquer local de arquivo gravável. + * `NEW_RELIC_LOG_LEVEL` é definido como `info` por padrão e é usado apenas ao enviar o log da função no Lambda. Veja [outro nível de log](/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration#logging_config). + + 9. Opcional: se sua função do Lambda estiver usando Módulos ES, defina a variável de ambiente `NEW_RELIC_USE_ESM` como `true`. Observe que se estiver usando módulos ES, você deve usar async/await ou promessas para sua função. Funções baseadas em retorno de chamada não são suportadas. + + 10. Invoque o Lambda pelo menos uma vez. Isso cria um grupo log do CloudWatch, que deve estar presente para que a próxima etapa funcione. + + Nosso wrapper coleta dados sobre a execução do Lambda, gera uma mensagem JSON e registra-a no log do CloudWatch. Em seguida, você [configurará o CloudWatch para enviar esses logs para o New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + Leia mais sobre como [enviar log de funções com Lambda](https://github.com/newrelic/newrelic-lambda-extension). + + + + Para instrumentar seu Python Lambda: + + 1. Baixe nosso pacote de agente Python e coloque-o no mesmo diretório da sua função. Para fazer isso, use pip: + + ```bash + + pip install -t . newrelic + + ``` + + + Se você usa o Homebrew, poderá receber este erro: `DistutilsOptionError: must supply either home or prefix/exec-prefix -- not both`. Para obter detalhes, consulte a [postagem do Homebrew GitHub](https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user). + + + 2. Em seu código Lambda, importe o módulo do agente Python e decore a função do manipulador usando o decorador New Relic. **The New Relic package must be imported first in your code.** Aqui está um exemplo: + + ```py + + import newrelic.agent + newrelic.agent.initialize() + @newrelic.agent.lambda_handler() + def handler(event, context): + ... + + ``` + + 3. Opcional: você também pode adicionar [eventos personalizados](/docs/using-new-relic/welcome-new-relic/getting-started/glossary#custom-event) ao seu Lambda usando a [API`record_custom_event` ](/docs/agents/python-agent/python-agent-api/record_custom_event). Aqui está um exemplo: + + ```py + + @newrelic.agent.lambda_handler() + def handler(event, context): + newrelic.agent.record_custom_event('CustomEvent', {'foo': 'bar'}) + ... + + ``` + + 4. Compacte suas pastas `lambda_function.py` e `newrelic/` usando estas diretrizes: + + * Os arquivos New Relic fora da pasta `newrelic/` não precisam ser incluídos. + * Se o nome do arquivo da função do Lambda for, por exemplo, `lambda_function.py`, nomeie seu arquivo zip `lambda_function.zip`. Não use um tarball. + * Seu Lambda e seus módulos associados devem estar todos no diretório raiz do arquivo zip. Isso significa que se você compactar uma pasta que contém os arquivos, não funcionará. + + 5. Carregue o arquivo compactado em sua conta do AWS Lambda. + + 6. No console AWS, defina esta [variável de ambiente](https://docs.aws.amazon.com/lambda/latest/dg/env_variables.html): + + * `NEW_RELIC_SERVERLESS_MODE_ENABLED`. Definido como `true` + + 7. As variáveis de ambiente a seguir não são necessárias para que o monitoramento do Lambda funcione, mas serão necessárias se você quiser que sua função do Lambda seja incluída no rastreamento distribuído. Para habilitar [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing), defina estas [variáveis de ambiente](https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html) no console AWS: + + * `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`. Defina como verdadeiro. + * `NEW_RELIC_ACCOUNT_ID`. [O ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). + * `NEW_RELIC_TRUSTED_ACCOUNT_KEY`. Este também é [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id). Se sua conta for infantil, esse precisa ser o ID da conta raiz/pai. + + 8. Opcional: para configurar o registro em log, use as [variáveis de ambiente`NEW_RELIC_LOG` e `NEW_RELIC_LOG_LEVEL` ](/docs/agents/python-agent/configuration/python-agent-configuration#environment-variables)no Console AWS. + + 9. Invoque o Lambda pelo menos uma vez. Isso cria um grupo log do CloudWatch, que deve estar presente para que a próxima etapa funcione. + + O decorador New Relic coleta dados sobre a execução do Lambda, gera uma mensagem JSON e registra-a no log do CloudWatch. Em seguida, [configure o CloudWatch para enviar esses logs para o New Relic](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/instrument-your-own/#manual-stream-logs). + + + + New Relic não possui um método de instrumentação Ruby sem camadas. Se você estiver usando camadas, consulte nosso [instrumento seu documento Função do Lambda não-containerizado](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own) . + + + + Na maioria dos casos, o agente .NET irá instrumentar automaticamente sua função AWS do Lambda e mudar para um "modo serverless" que desabilitará o envio de dados diretamente para o New Relic bem como algum outro recurso. Você deve usar a extensão Lambda da New Relic ou o método lambda `newrelic-log-ingestion` para enviar dados para a New Relic. + + Para instrumentar seu .NET Lambda: + + 1. Adicione o [pacote nuget NewRelic.Agente](https://www.nuget.org/packages/NewRelic.Agent) ao seu projeto AWS Lambda . Para obter mais informações, consulte nosso [guia de instalação](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/). + 2. Adicione as [variáveis de ambiente necessárias](/docs/apm/agents/net-agent/install-guides/install-net-agent-using-nuget/#nuget-linux) ao seu projeto. `NEW_RELIC_LICENSE_KEY` não é obrigatório porque o agente não tentará entrar em contato ou enviar dados diretamente para a New Relic. + 3. Defina as variáveis de ambiente opcionais: + + * `NEW_RELIC_APP_NAME` + + 4. Publique o projeto em sua conta do AWS Lambda. + 5. [Configure](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/) a extensão New Relic Lambda ou o lambda `newrelic-log-ingestion` . + 6. Opcional: para configurar o registro em log, use as [variáveis de ambiente`NEWRELIC_LOG_CONSOLE` e `NEWRELIC_LOG_LEVEL` ](/docs/apm/agents/net-agent/configuration/net-agent-configuration/#log)no Console AWS. + 7. Invoque o Lambda pelo menos uma vez para verificar se há erros e garantir que os dados estejam visíveis na interface New Relic . + + + + \ No newline at end of file diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx new file mode 100644 index 00000000000..7ce04f4f41f --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx @@ -0,0 +1,256 @@ +--- +title: instrumento sua função não-containerizada do Lambda +metaDescription: Instrument your non-containerized Lambda function +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessNonContainerizedLambdaFunction from 'images/serverless_diagram_non-containerized-lambda-function.webp' + +Depois de vincular com êxito suas contas New Relic e AWS você pode instrumentar sua função AWS não conteinerizada do Lambda adicionando a camada New Relic Lambda. Isso integra o agente New Relic, permitindo o monitoramento automático sempre que suas funções são invocadas. + +a diagram depicting non-containerized lambda function instrumentation + +## Antes de você começar [#begin] + +* [Vincule suas contas New Relic e AWS](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#link) +* [Revise nossos diferentes métodos de instrumentação](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#method) + +## Métodos de instrumentação [#instrumentation] + +New Relic oferece vários métodos para instrumentar sua função AWS do Lambda para monitoramento abrangente: + +* **interface de linha de comando (CLI)**: Use a AWS CLI para adicionar rapidamente a camada New Relic à sua função do Lambda. +* **Framework sem servidor**: integre perfeitamente a instrumentação New Relic em sua implantação sem servidor. +* **CloudFormation/SAM**: inclua a camada New Relic em seus modelos de infraestrutura como código. +* **Terraform**: gerencie facilmente a instrumentação do New Relic juntamente com outros recursos de infraestrutura. +* **Instrumentação manual**: Adicione diretamente a camada New Relic por meio do console AWS Lambda para um controle mais granular. + +Independentemente do método escolhido, a camada New Relic adiciona o agente New Relic às suas funções. Este agente instrumenta automaticamente suas funções na invocação, gerando uma carga, `NR_LAMBDA_MONITORING`, que é enviada ao New Relic por meio da extensão New Relic Lambda. + +Dependendo de suas necessidades, você pode optar por ignorar a extensão e ver apenas a telemetria no CloudWatch, ignorar o CloudWatch ou usar o CloudWatch como substituto. A seção [CloudWatch](#CloudWatch-only) no final deste documento orientará você em cada opção. + + + + Você pode instrumentar sua função do Lambda com o `newrelic-lambda` CLI início rápido. + + Para instalar ou atualizar a camada de instrumentação New Relic, execute este comando: + + ```shell + newrelic-lambda layers install --nr-account-id YOUR_NR_ACCOUNT_ID --function my-function --upgrade + ``` + + Este comando encontra automaticamente a camada disponível mais recente para a região e o tempo de execução do seu Lambda. + + Este comando fornece uma maneira rápida de iniciar a instrumentação do New Relic e pode ser facilmente integrado ao seu pipeline de CI/CD. No entanto, uma vez que modifica os recursos existentes da função do Lambda, a reimplantação do código atualizado pode remover inadvertidamente a instrumentação. Para garantir o monitoramento contínuo, execute novamente o comando após cada implantação ou, de preferência, incorpore a camada e a configuração do New Relic diretamente em seu processo de implantação. + + Observe que a CLI pode operar em muitas funções em um lote: use `--function all`, `--function installed` ou `--function not-installed` para operar em todas as funções em uma região ou apenas naquelas com ou sem instrumentação New Relic existente. + + + + O modelo de aplicativo serverless da AWS, ou SAM, é uma variante dos modelos CloudFormation que simplifica o relacionamento de funções com os recursos dos quais dependem e o gerenciamento do ciclo de vida de um aplicativo inteiro. Usamos SAM e CloudFormation para a maioria de nossas funções de exemplo do Lambda, e muitas outras ferramentas são construídas sobre modelos do CloudFormation, fornecendo uma camada adicional de abstração. + + CloudFormation é um serviço da AWS que simplifica o provisionamento e gerenciamento de recursos AWS . Ao definir o estado desejado dos recursos em modelos YAML ou JSON, o CloudFormation lida automaticamente com a chamada de API subjacente para criar, atualizar ou excluir recursos conforme necessário. Esta abordagem declarativa automatiza o gerenciamento da infraestrutura, garantindo consistência e reprodutibilidade. + + Aqui está um exemplo de um modelo simples do CloudFormation para uma função do Lambda do Node.js: + + ```yaml + AWSTemplateFormatVersion: '2010-09-09' + Transform: AWS::Serverless-2016-10-31 + Description: And example of a simple instrumented Node.js Lambda + + Resources: + NewRelicExample: + Type: AWS::Serverless::Function + Properties: + # In this example, we're using the SAM CLI to package and deploy our lambda. SAM will transform this value during the publish step. + CodeUri: newrelic-example-node/ + # The handler for your function needs to be the one provided by the instrumentation layer, below. + Handler: newrelic-lambda-wrapper.handler + Runtime: nodejs12.x + Environment: + Variables: + # For the instrumentation handler to invoke your real handler, we need this value + NEW_RELIC_LAMBDA_HANDLER: YOUR_PATH_TO_INITIAL_LAMBDA_HANDLER + # Distributed tracing needs your account ID, and your trusted account ID + NEW_RELIC_ACCOUNT_ID: YOUR_ACCOUNT_ID_HERE + # If your New Relic account has a parent account, this value should be that account ID. Otherwise, just + # your account id. + NEW_RELIC_TRUSTED_ACCOUNT_KEY: YOUR_PARENT_ACCOUNT_ID_HERE + Layers: + # This layer includes the New Relic Lambda extension, a sidecar process that sends telemetry, + # as well as the New Relic agent for Node.js, and a handler wrapper that makes integration easy. + - !Sub arn:${AWS::Partition}:lambda:${AWS::Region}:451483290750:layer:NewRelicNodeJS12X:34 + Policies: + # This policy allows the lambda to know the value of the New Relic license key. We need this so + # that we can send telemetry back to New Relic + - AWSSecretsManagerGetSecretValuePolicy: + SecretArn: !ImportValue NewRelicLicenseKeySecret-NewRelic-LicenseKeySecretARN + ``` + + Normalmente, você terá um arquivo chamado `template.yaml` que descreve sua função e seus recursos. + + + + framework sem servidor é uma ferramenta popular de desenvolvimento e implantação de aplicativos sem servidor. Ele foi escrito para AWS em Node.js e atua principalmente como uma abstração de alto nível sobre modelos CloudFormation. Funciona bem para funções Node, Python, Ruby, Java e .NET. + + A New Relic oferece um [plug-in framework Serverless](https://github.com/newrelic/serverless-newrelic-lambda-layers) para simplificar a instrumentação de seu aplicativo framework Serverless. + + Para instalar o plug-in, execute este comando: + + ```bash + npm install --save-dev serverless-newrelic-lambda-layers + ``` + + Ou, alternativamente, você pode executar este comando: + + ```bash + yarn add --dev serverless-newrelic-lambda-layers + ``` + + Em seguida, encontre seu [ID de conta New Relic](/docs/accounts/install-new-relic/account-setup/account-id), sua [chave de API pessoal New Relic](/docs/apis/get-started/intro-apis/types-new-relic-api-keys#personal-api-key) + + Agora adicione o seguinte ao seu arquivo `serverless.yaml` : + + ```yaml + plugins: + - serverless-newrelic-lambda-layers + custom: + newRelic: + accountId: your-new-relic-account-id-here + apiKey: your-new-relic-personal-api-key-here + linkedAccount: your-new-relic-integration-account-name-here + ``` + + + + Terraform é uma infraestrutura popular de uso geral como ferramenta de código. Ele pode ser usado para gerenciar recursos da AWS. Oferecemos [alguns exemplos](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/terraform) de New Relic instrumentado com função de implantação Lambda usando script Terraform. + + + + Embora seja mais propenso a erros e trabalhoso do que as abordagens acima, você pode alterar manualmente a configuração de uma função do Lambda para usar New Relic do AWS Lambda Console, para Node.js, Python, Ruby e Java. + + Aqui está um exemplo de como configurar o monitoramento Lambda do New Relic para um runtime Ruby : + + 1. Navegue até a seção de serviço **Lambda** no console web da AWS. A partir daí, encontre a função do Lambda que você gostaria de conectar ao New Relic. + + 2. Na guia **Code** padrão, role para baixo até a seção **Layers** e clique no botão **Add a layer** . + + 3. Clique no botão **Create layer** . + + 4. Vá para **Choose a layer** e selecione a opção **Specify an ARN** . + + 5. Vá para a [New Relic's list of layers](https://layers.newrelic-external.com/) e use a lista suspensa para selecionar a região AWS onde sua função do Lambda está hospedada. A partir daí, localize o ARN que corresponde à versão e arquitetura Ruby da sua Função do Lambda. Deve haver duas opções: X86 e ARM64. Use o botão **Copy to clipboard** ou copie manualmente a string ARN. + + 6. Na seção **Specify an ARN** do formulário do console AWS, cole o ARN da camada New Relic Lambda. + + 7. No formulário do console AWS , clique no botão **Add** para adicionar a camada à sua função do Lambda. + + 8. Na página da sua Função do Lambda, com a guia **Code** padrão selecionada, role para baixo até a seção **Runtime settings** e clique no botão **Edit** . + + 9. Faça uma cópia segura do valor existente do **Handler** . Você precisará dele em uma etapa posterior. + + 10. Altere o valor do **Handler** para: `newrelic_lambda_wrapper.handler` e clique em **Save**. + + 11. Mude para a aba **Configuration** na página da sua função do Lambda. + + 12. Selecione a subguia **Environment variables** . + + 13. Defina as seguintes variáveis de ambiente: + + * `NEW_RELIC_ACCOUNT_ID`: Defina [o ID da sua conta](/docs/accounts/install-new-relic/account-setup/account-id) New Relic. + + * `NEW_RELIC_LAMBDA_HANDLER`: defina como o valor do manipulador original da sua função copiado anteriormente. + + * `NEW_RELIC_LICENSE_KEY`: defina como sua chave de licença do New Relic. + * `NEW_RELIC_LOG_ENDPOINT`: defina como [https://log-api.newrelic.com/log/v1](https://log-api.newrelic.com/log/v1). + * `NEW_RELIC_TELEMETRY_ENDPOINT`: defina como [https://cloud-collector.newrelic.com/aws/lambda/v1](https://cloud-collector.newrelic.com/aws/lambda/v1). + + 14. Se você deseja enviar o log da sua função do Lambda para New Relic, que incluirá tudo o que sua função grava em STDOUT, certifique-se de definir a variável de ambiente `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` como `true`. + + 15. Modifique a função de execução para permitir acesso ao segredo da chave de licença do New Relic. + + * Encontre o ARN do segredo chamado `NEW_RELIC_LICENSE_KEY`. + + * Adicione uma nova política embutida na função de execução da função semelhante ao código abaixo. Substitua `SECRET_ARN` pelo valor encontrado acima. + + ```json + "Statement": [ + { + "Action": [ + "secretsmanager:GetSecretValue" + ], + "Resource": "SECRET_ARN", + "Effect": "Allow" + } + ] + ``` + + + A camada New Relic entregará automaticamente o agente New Relic Ruby e será carregada por meio de um Ruby `require` antes da invocação da sua função do Lambda. Para evitar conflitos, não inclua uma cópia do agente Ruby em nenhum outro lugar. Sinta-se à vontade para realizar qualquer chamada de API do agente New Relic Ruby desejada em sua função para aproveitar a presença do agente. + + + Os tempos de execução Java, Python, Node.js e .Net seguirão o mesmo fluxo de instrumentação do Ruby, mas com alguns manipuladores diferentes. Veja como atualizar o manipulador da sua função para apontar para a camada recém-anexada no console da sua função: + + * Java: + + * `RequestHandler` implementação: `com.newrelic.java.HandlerWrapper::handleRequest`. + * `RequestStreamHandlerWrapper` implementação: `com.newrelic.java.HandlerWrapper::handleStreamsRequest`. + + * Python: `newrelic_lambda_wrapper.handler` (sublinhados). + + * Nó: `newrelic-lambda-wrapper.handler` (hífens). + + * Para .Net você não precisa definir o manipulador. + + Observe que para o Go, você deve fazer alterações no código-fonte da sua função do Lambda para instrumentá-lo. As alterações de configuração não são suficientes. + + + +## Métodos de Envio + + + + Cada camada de agente também contém uma extensão para enviar log e carga para o New Relic, ignorando o CloudWatch. Isso pode ajudar a reduzir a latência e os custos. No entanto, corre o risco de afetar o desempenho e a confiabilidade de sua função. + + Depois de adicionar uma camada New Relic Lambda, a extensão é habilitada e tem o envio de log desabilitado por padrão. + + Se quiser ver o log de funções no New Relic, você precisará habilitar o envio de extensão do log de funções com uma variável de ambiente. + + É importante observar que o log da função é apenas o log registrado pela função durante sua invocação. A extensão não enviará log de tempo de execução do Lambda como `START`, `END` e `REPORT` linhas. + + + + Você pode optar por enviar dados apenas para o CloudWatch ou como substituto. Para saber mais, consulte nossa [documentação de substituto do CloudWatch](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/cloudwatch-fallback). + + + +## Qual é o próximo? [#find-data] + +* Depois de concluir essas etapas, você poderá ver o relatório de dados na [interface de monitoramento do Lambda](/docs/lambda-monitoring-ui). +* Se você estiver tendo problemas para encontrar seus dados, consulte [Lambda permitir resolução de problemas](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda#troubleshoot). \ No newline at end of file diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx new file mode 100644 index 00000000000..a4791e899c2 --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/introduction-lambda.mdx @@ -0,0 +1,1259 @@ +--- +title: Introdução ao monitoramento do AWS Lambda +metaDescription: This provides an overview of New Relic's AWS Lambda monitoring and details how to link your accounts. +freshnessValidatedDate: never +translationType: machine +--- + +import serverlessShippingMethods from 'images/serverless_diagram_shipping-methods.webp' + +À medida que sua organização faz a transição para uma arquitetura de função como serviço (FaaS) com AWS Lambda, compreender e otimizar o desempenho da função torna-se fundamental para garantir uma experiência do usuário contínua e eficiente. Cada invocação do Lambda representa um potencial gargalo ou oportunidade de melhoria. + +A instrumentação da New Relic para AWS Lambda fornece visibilidade profunda do funcionamento interno de suas funções. Ao adicionar o agente New Relic à sua função, cada vez que sua função é invocada, o New Relic também o é. Você pode obter insights sobre as principais métricas de desempenho, como duração, partidas a frio, exceções e rastreamentos. + +Este documento explicará a arquitetura de monitoramento Lambda da New Relic e orientará você na vinculação de suas contas AWS e New Relic. Você precisará vincular suas contas antes de implementar suas funções. + +## Como funciona a instrumentação Lambda [#how] + +Estes são os elementos essenciais da instrumentação AWS Lambda com New Relic: + +* **Sua função**: sua função é o código que você deseja entender. Você quer saber quando ele encontra erros, por que está lento ou com que frequência é invocado. +* **O agente ou SDK do New Relic **: Dependendo do idioma em que sua função está escrita, New Relic fornece diferentes agentes ou SDKs. Seu trabalho é fazer o monitoramento real do seu código. Ele mede a duração de suas invocações de função, observa os erros que ocorrem, registra detalhes sobre o evento de origem e as respostas de suas funções. Para fazer isso, ele precisa envolver a função do manipulador de invocação do Lambda. +* **A extensão New Relic Lambda**: Quando você instrumenta a extensão New Relic Lambda em sua função, ela será executada dentro do ambiente de execução Lambda, junto com seu código. Ele aprimora a telemetria que o agente coleta e envia para o backend da New Relic em lotes. Ele também pode enviar o log da sua função para New Relic. Você não precisa da extensão Lambda para monitor sua função com New Relic. + +## Escolha seu método de envio [#method] + +Existem três maneiras de enviar sua telemetria New Relic AWS Lambda. O método de envio que você escolher depende de suas necessidades de dados. + +A screenshot depicting the different shipping methods for Lambda + +* **Custo**: A maneira mais econômica de usar AWS Lambda é usando qualquer uma de nossas camadas, que inclui a extensão Lambda. Por padrão, nossa extensão nunca envia dados para o AWS CloudWatch. +* **Confiabilidade**: você pode enviar seus dados somente por meio do CloudWatch. Para fazer isso, você desativará a extensão New Relic Lambda. Isso significa que sua função do Lambda será mais leve e não terá nenhum processo adicional para executar quando for invocada. Neste caso, o log e a carga serão enviados para a New Relic através do CloudWatch e não através da extensão. +* **O melhor dos dois mundos**: usar a extensão com o AWS CloudWatch como alternativa ajuda a manter os custos baixos e, ao mesmo tempo, fornece proteção contra falhas caso haja um problema com a extensão. + +Mostraremos como instrumentar sua função do Lambda usando cada método em nossos documentos de instrumentação: + +* [instrumento sua função conteinerizada do Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/containerized-images/) +* [instrumento sua função não-containerizada do Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own/) +* [instrumento sua função layerless do Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/enable-serverless-monioring-lambda-monitoring-layerless/) + +## Antes de você começar [#begin] + +Antes de habilitar o monitoramento Serverless usando nossa camada Lambda, você precisará de: + +1. Uma conta New Relic com função de administrador ou com o **Infrastructure manager** [função complementar](/docs/accounts/original-accounts-billing/original-users-roles/users-roles-original-user-model#add-on). + +2. Um + + + + . + +3. Uma conta AWS com permissões para criar recursos IAM, segredos gerenciados e Lambdas. Você também precisa de permissões para criar pilha do CloudFormation e buckets S3. + +Então você precisará concluir o seguinte: + +1. Instale a configuração[da AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) usando `aws configure`. Você precisará de um ID de chave de acesso da AWS e uma chave de acesso secreta da AWS. + +2. Instale [o Python](https://www.python.org/downloads/) versão 3.3 ou superior. + +3. Instale a [CLI newrelic-lambda](https://github.com/newrelic/newrelic-lambda-cli#installation). Para instalar, execute o seguinte: + + ```brew + pip3 install newrelic-lambda-cli + ``` + +4. Por padrão, usamos a política gerenciada pela AWS `ReadOnlyAccess`. Isso permite que a integração da infraestrutura veja todos os recursos da sua conta, e não apenas a sua função do Lambda e as métricas do CloudWatch. New Relic recomenda este padrão, mas entendemos que algumas organizações preferem uma postura de segurança rigorosa para integração de terceiros. Se você quiser limitar o acesso do New Relic, a função IAM pode ser concedida com um mínimo destas permissões: + +```yaml + Resource: "*" + Action: + - "cloudwatch:GetMetricStatistics" + - "cloudwatch:ListMetrics" + - "cloudwatch:GetMetricData" + - "lambda:GetAccountSettings" + - "lambda:ListFunctions" + - "lambda:ListAliases" + - "lambda:ListTags" + - "lambda:ListEventSourceMappings" +``` + +5. Antes de executar a CLI, você precisará conceder à New Relic um mínimo destas permissões na AWS: + +```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "CLIAccessPolicy", + "Action": [ + "cloudformation:CreateChangeSet", + "cloudformation:CreateStack", + "cloudformation:DescribeStacks", + "cloudformation:ExecuteChangeSet", + "iam:AttachRolePolicy", + "iam:CreateRole", + "iam:GetRole", + "iam:PassRole", + "lambda:AddPermission", + "lambda:CreateFunction", + "lambda:GetFunction", + "logs:DeleteSubscriptionFilter", + "logs:DescribeSubscriptionFilters", + "logs:PutSubscriptionFilter", + "s3:GetObject", + "serverlessrepo:CreateCloudFormationChangeSet", + "secretsmanager:CreateSecret" + ], + "Effect": "Allow", + "Resource": "*" + }, + { + "Sid": "NRLogAccessPolicy", + "Effect": "Allow", + "Action": [ + "serverlessrepo:CreateCloudFormationTemplate", + "serverlessrepo:GetCloudFormationTemplate" + ], + "Resource": "arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion" + } + ] + } +``` + +Se quiser saber mais sobre nossa CLI, consulte [nosso repositório CLI](https://github.com/newrelic/newrelic-lambda-cli#installation). + +## Tempos de execução de linguagem AWS Lambda recomendados [#recommended] + +Recomendamos os seguintes tempos de execução: + +* Node.js: `nodejs16.x`, `nodejs18.x`, `nodejs20.x` +* Python: `python3.8`, `python3.9`, `python3.10`, `python3.11`, `python3.12` +* Go: `provided.al2` +* Java: `java8.al2`, `java11`, `java17` +* Ruby: `ruby3.2`, `ruby3.3` +* .NET: `dotnet6`, `dotnet8` + +## Considere os custos [#costs] + +Ativar o monitoramento Serverless para AWS Lambda pode resultar em cobranças da Amazon Web Services. Nossa `newrelic-log-ingestion` função do Lambda, que nos reporta seus dados Lambda, é considerada um [serviço de terceiros](/docs/licenses/license-information/acceptable-use-policy/acceptable-use-policy): as cobranças AWS resultantes de seu uso são de sua responsabilidade. + +Se você usar a [extensão Lambda](https://github.com/newrelic/newrelic-lambda-extension), poderá evitar a cobrança de ingestão de log do CloudWatch para telemetria coletada pelo New Relic. + +## Vincule suas contas AWS e New Relic [#link] + +Antes de poder instrumentar sua função, você precisará vincular sua conta AWS ao New Relic. Ao vincular contas, você está concedendo permissão New Relic para criar um inventário de sua conta AWS e coletar automaticamente informações do CloudWatch para sua função do Lambda. Depois de vincular as contas, os recursos da sua conta AWS aparecerão como entidade no explorador de entidades. + + + + ## Camada Lambda do instrumento New Relic com a CLI `newrelic-lambda` + + Para usar a camada Lambda do instrumento New Relic, execute: + + ```bash + newrelic-lambda integrations install --nr-account-id YOUR_NR_ACCOUNT_ID + --nr-api-key YOUR_NEW_RELIC_USER_KEY + ``` + + A CLI `newrelic-lambda` adiciona New Relic como um segredo no [AWS Secret Manager](https://aws.amazon.com/secrets-manager/) para maior segurança. + + + + ## Instalar Streams métricos [#metric-streams] + + Para que New Relic monitor sua função do Lambda, você precisará instalar [o métrica Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream) ou [API Polling](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring). Recomendamos o uso de métrica Streams, mas você também pode deixar que a CLI instale automaticamente a integração API Polling para você. + + Se você quiser usar o métrica Streams, instale-o agora antes de executar a CLI. Você pode instalar isso usando nossa [integração Connect AWS usando a documentação do métrica Streams](docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) . + + + + ## Variáveis ambientais [#environment] + + Quando você utiliza a camada Lambda do New Relic com a CLI, suas variáveis de ambiente são configuradas automaticamente. Você pode alterar algumas das configurações padrão e configurar sua função do Lambda com as variáveis de ambiente que atendem às suas necessidades de monitoramento. Escolha seu tempo de execução para ver as variáveis de ambiente disponíveis e nossas recomendações para configurações padrão. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Seu ID de conta New Relic ou ID de pai, se existir +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Seu ID de conta New Relic ou ID de pai, se existir +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Habilitar ou desabilitar distributed tracing +
+ `NEW_RELIC_PRIMARY_APPLICATION_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_DEBUG` + + `false` + + `true`, `false` + + Nível de agente de log +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Seu ID de conta New Relic ou ID de pai, se existir +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Habilitar ou desabilitar distributed tracing (Java excluído) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + O agente Node.js usa variáveis de ambiente no Lambda, portanto, isso deve ser definido como `true` +
+ `NEW_RELIC_APP_NAME` + + + + + + Deve ser definido, mas não é usado na interface do New Relic. Em vez disso, os nomes das entidades vêm da integração AWS . +
+ `NEW_RELIC_LOG_ENABLED` + + `false` + + `true`,`false` + + Gera o log do agente para o CloudWatch +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `fatal`, `error`, `warn`, `info`, `debug`, `trace` + + Nível de agente de log +
+ `NEW_RELIC_LOG` + + `stdout` + + `stdout` + + O caminho log do agente deve ser stdout para o agente Node.js no modo sem servidor +
+ `NEW_RELIC_USE_ESM` + + `false` + + `true`, `false` + + Funções ESM que usam async/await e não retorno de chamada +
+ `NEW_RELIC_NATIVE_METRICS_ENABLED` + + `true` + + `true`, `false` + + Deve ser definido como falso para reduzir a duração da partida a frio. Quando definido como `false` não coleta métricas VM +
+ + Você pode encontrar mais variáveis de ambiente em nossa [documentação de configuração do Node.js.](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/) +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Seu ID de conta New Relic ou ID de pai, se existir +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Habilitar ou desabilitar distributed tracing (Java excluído) +
+ `NEW_RELIC_NO_CONFIG_FILE` + + `false` + + `true`, `false` + + O agente usa variáveis de ambiente no Lambda, portanto, isso deve ser definido como verdadeiro +
+ `NEW_RELIC_APP_NAME` + + + + + + Deve ser definido, mas não é usado na interface do New Relic. Em vez disso, os nomes das entidades vêm da integração AWS . +
+ `NEW_RELIC_LOG` + + `stderr` + + `stderr` + + O caminho log do agente deve ser `stderr `para o agente Python no modo sem servidor +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `critical`, `error`, `warning`, `info`, `debug` + + Nível de agente de log +
+ `NEW_RELIC_SERVERLESS_MODE_ENABLED` + + `false` + + `true`, `false` + + Deve ser definido como `true` para que o agente seja executado no modo sem servidor +
+ `NEW_RELIC_PACKAGE_REPORTING_ENABLED` + + `true` + + `true`, `false` + + Os relatórios do pacote do agente Python devem ser definidos como `false` para melhorar os tempos de inicialização a frio +
+ + Você pode encontrar mais variáveis de ambiente em nossa [documentação de configuração do Python](/docs/apm/agents/python-agent/configuration/python-agent-configuration). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_ACCOUNT_ID` + + + + + + ID da sua conta New Relic +
+ `NEW_RELIC_TRUSTED_ACCOUNT_KEY` + + + + + + Seu ID de conta New Relic ou ID de pai, se existir +
+ `NEW_RELIC_DISTRIBUTED_TRACING_ENABLED` + + `false` + + `true`, `false` + + Habilitar ou desabilitar distributed tracing +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + Defina o valor original do manipulador da sua função +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `CORECLR_ENABLE_PROFILING` + + + + `0`, `1` + + Obrigatório: deve ser definido como `1` para que o agente .NET possa instrumentalizar seu aplicativo. +
+ `CORECLR_PROFILER` + + + + `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` + + Obrigatório: deve ser definido como `{36032161-FFC0-4B61-B559-F6C5D41BAE5A}` para que o agente .NET possa instrumentalizar seu aplicativo. +
+ `CORECLR_NEWRELIC_HOME` + + + + `/opt/lib/newrelic-dotnet-agent` + + Obrigatório: deve ser definido como `/opt/lib/newrelic-dotnet-agent` para que o agente .NET possa instrumentalizar seu aplicativo. +
+ `CORECLR_PROFILER_PATH` + + + + `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` + + Obrigatório: deve ser definido como `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` para que o agente .NET possa instrumentalizar seu aplicativo. +
+ `NEW_RELIC_APP_NAME` + + + + + + Deve ser definido, mas não é usado na interface do New Relic. Em vez disso, os nomes das entidades vêm da integração AWS . +
+ `NEW_RELIC_LOG_LEVEL` + + `info` + + `info`, `debug`, `finest` + + Nível de agente de log +
+ `NEWRELIC_LOG_CONSOLE` + + `0` + + `1`, `0` + + Enviar mensagem do log para o console +
+ + Você pode encontrar mais variáveis de ambiente em nossa [documentação de configuração do .NET](/docs/apm/agents/net-agent/configuration/net-agent-configuration/). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Variável de ambiente + + Valor padrão + + Opções + + Descrição +
+ `NEW_RELIC_LAMBDA_EXTENSION_ENABLED` + + `true` + + `true`, `false` + + Habilite ou desabilite a extensão +
+ `NEW_RELIC_LICENSE_KEY` + + + + + + Sua chave de ingestão da New Relic. Isso substitui o Secrets Manager +
+ `NEW_RELIC_LICENSE_KEY_SECRET` + + `NEW_RELIC_LICENSE_KEY` + + + + Nome secreto personalizado no AWS Secrets Manager +
+ `NEW_RELIC_LAMBDA_HANDLER` + + + + + + Se você não usa [o método de empacotamento manual](https://github.com/newrelic/newrelic-lambda-layers?tab=readme-ov-file#note-on-performance-for-es-module-functions) do New Relic, este é o manipulador da sua função. +
+ `NEW_RELIC_DATA_COLLECTION_TIMEOUT` + + 10s + + + + Reduza a duração do tempo limite quando por `Telemetry client error` +
+ `NEW_RELIC_EXTENSION_LOGS_ENABLED` + + `true` + + `true`, `false` + + Ativar ou desativar `NR_EXT` linhas log +
+ `NEW_RELIC_EXTENSION_LOG_LEVEL` + + `info` + + `INFO`, `DEBUG` + + nível de log para linhas de log NR_EXT +
+ `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS` + + `false` + + `true`, `false` + + Enviar log de funções +
+ `NEW_RELIC_LOG_ENDPOINT` + + + + + + Defina como [https://log-api.newrelic.com/log/v](https://log-api.newrelic.com/log/v) +
+ `NEW_RELIC_TELEMETRY_ENDPOINT` + + Definir como [endpoint dos EUA](https://cloud-collector.newrelic.com/aws/lambda/v1) + + + + [End point opcional da UE](https://github.com/newrelic/newrelic-lambda-extension/blob/3c4218dd7727d0b0467f24f0902b616b7f4e46b7/telemetry/client.go#L24-L27) +
+ + Veja mais variáveis de ambiente para a extensão New Relic em nossa [documentação](https://github.com/newrelic/newrelic-lambda-extension/blob/cf86fb53f0bd816e1d09d07f7b5c5ab4841010a0/config/config.go#L41-L55). +
+
+
+ + + ## Experimente nossas funções de exemplo + + Depois de instrumentar a camada Lambda do New Relic, recomendamos fortemente experimentar nossas funções de exemplo. Esses exemplos de trabalho devem ser usados como ponto de partida para instrumentar sua própria função serverless. O uso desses exemplos pode ajudá-lo a se familiarizar com a camada New Relic Lambda, testando o link da conta, e eles podem ser usados como referência para sua própria instrumentação. Each example demonstrates adding permissions, runtime-specific techniques for wrapping your handler, managing function log retention in CloudWatch, and more. + + Embora existam muitas maneiras de gerenciar e implantar a função do Lambda, AWS CloudFormation é o mecanismo que usamos em nossos exemplos. + + Nossos exemplos são publicados, juntamente com a extensão New Relic Lambda, neste [repositório GitHub](https://github.com/newrelic/newrelic-lambda-extension). Há um para cada tempo de execução do Lambda que o New Relic suporta: + + * [Node.js](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/node) + * [Python](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/python) + * [Go](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/go) + * [Java](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/java) + * [Ruby](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/ruby) + * [.NET](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/dotnet) + + Você também pode aprender como transformar distributed tracing em um aplicativo sem servidor não trivial em nosso [exemplodistributed tracing ](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/distributedtracing). Ele ilustra a propagação manual trace para SQS e SNS, dois dos serviços mais populares que podem invocar a função do Lambda, com funções Node, Python, Ruby e Java. + + + Ao testar manualmente, os dados de telemetria podem ser atrasados. Recomendamos aguardar sete segundos antes de invocar a função novamente, permitindo que qualquer telemetria armazenada em buffer seja entregue. + + +
+ +## Resolução de problemas [#troubleshooting] + +Se você tiver problemas instrumentados em sua função do Lambda, aqui estão algumas dicas comuns de resolução de problemas: + + + + Se sua organização não permitir o uso do AWS Secrets Manager, a extensão New Relic Lambda aceitará uma variável de ambiente `NEW_RELIC_LICENSE_KEY` . Adicione o sinalizador `--disable-license-key-secret` do comando `newrelic-lambda integrations install` . Em seguida, defina esta variável de ambiente como na configuração da função do Lambda. + + + + A CLI `newrelic-lambda` deve ser executada uma vez por região, com o parâmetro `--aws-region` . Use o mesmo nome de conta vinculada e a ferramenta detectará que o link da conta já foi criado. O segredo precisa ser criado em cada região. + + Da mesma forma, várias contas AWS podem ser vinculadas a uma conta New Relic. Dê a cada conta um nome de conta vinculada diferente. O argumento `--aws-profile` para a ferramenta CLI selecionará o perfil nomeado. A ferramenta usa a mesma configuração da AWS CLI. + + + + Você instrumentou sua função do Lambda, mas ela não está aparecendo como instrumento na seção **Amazon Web Services -> Lambda functions** do New Relic. + + Você vinculou uma [pesquisa de API](/docs/infrastructure/amazon-integrations/connect/connect-aws-new-relic-infrastructure-monitoring/) e uma integração [métrica Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/) à sua conta New Relic manualmente na interface. + + Neste cenário com duas integrações para a mesma conta AWS em uma conta New Relic, uma condição de corrida ocorrerá quando a carga do instrumento for recebida do instrumento função do Lambda no [endpoint do coletor de nuvem](https://github.com/newrelic/newrelic-lambda-extension/blob/54ccfd44765feb4b3da77ae606323c18d9db7593/telemetry/client.go#L18-L19) New Relic. A carga útil será atribuída aleatoriamente a uma das duas integração. Se atribuído à integração não vinculada à sua entidade de função, a carga útil será descartada e a função não aparecerá como instrumento. Somente funções que receberam pelo menos uma carga nos últimos 30 dias do evento `AwsLambdaInvocation` aparecerão como instrumento. + + ```sql + FROM AwsLambdaInvocation + SELECT count (*) + SINCE 30 days ago + WHERE entityGuid = 'ENTITY_GUID' + LIMIT 1 + ``` + + Para evitar a criação de duas integrações para a mesma conta AWS, recomendamos que você use a CLI `newrelic-lambda` , conforme mencionado acima, porque ela detectará uma integração existente e a utilizará. + + Caso já tenham sido criadas duas integrações, escolha uma para manter e desvincule a outra clicando em **Unlink this account** em **Infrastructure > AWS** no New Relic. + + + Existem algumas [limitações nas integrações métricas do Streams](/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/#integrations-not-replaced-streams) que devem ser consideradas antes de desvincular uma integração de polling de API. Existem também algumas [limitações à consulta métrica Dimensional de Infraestrutura](/docs/query-your-data/nrql-new-relic-query-language/nrql-query-tutorials/query-infrastructure-dimensional-metrics-nrql/#known-limitations) que devem ser consideradas antes de se comprometer totalmente com uma integração métrica de Streams. + + + + + Seu código lambda requer a função de execução que tem permissão para ler o AWS Secrets Manager. Se você encontrar um log como o seguinte, adicione a permissão apropriada à política da função de execução. Em nossos exemplos, confira o arquivo `template.yaml` para ver uma maneira fácil de conceder essa permissão. + + ```bash + Failed to retrieve license key AccessDeniedException: User: is not authorized to perform: secretsmanager:GetSecretValue on resource: + ``` + + + +## Qual é o próximo + + + + Se você possui a função do Lambda conteinerizada, clique aqui para instrumento. + + + + Se você possui função do Lambda não conteinerizada, clique aqui para instrumento. + + + + Se você possui a função do Lambda sem camadas, clique aqui para instrumento. + + \ No newline at end of file diff --git a/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx new file mode 100644 index 00000000000..10d386699b7 --- /dev/null +++ b/src/i18n/content/pt/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/update-serverless-monitoring-aws-lambda.mdx @@ -0,0 +1,131 @@ +--- +title: Atualizar monitoramento Lambda +metaDescription: How to update New Relic's AWS Lambda monitoring. +freshnessValidatedDate: never +translationType: machine +--- + +Depois [de ativar nosso monitoramento para AWS Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda), você deve atualizar ocasionalmente nossa função do Lambda que é usada para relatar dados de log da AWS: `newrelic-log-ingestion`. + +Existem duas maneiras de fazer isso: + +* [Atualização via CLI](#update-cli): Use isto se você ativou nosso monitoramento Lambda usando nossa [ferramenta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/enable-lambda-monitoring/account-linking/#rec). +* [Atualização via AWS Serverless Application Repository](#update-sar): Use isto se você habilitou usando o [procedimento manual](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda). + + + Esses procedimentos de atualização se aplicam ao nosso [monitoramento Serverless para AWS Lambda](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/introduction-new-relic-monitoring-aws-lambda), e não ao nosso [monitoramento de infraestrutura para integração do AWS Lambda](/docs/integrations/amazon-integrations/aws-integrations-list/aws-lambda-monitoring-integration). + + +## Atualize nossa integração Lambda via CLI [#update-cli] + +Esta seção descreve como atualizar se o monitoramento do Lambda foi ativado usando nossa [ferramenta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli) recomendada. + +1. Certifique-se de ter a versão mais recente da CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Para cada região em que você instalou a função `newrelic-log-ingestion` , execute o comando a seguir, substituindo YOUR_REGION pelo identificador de sua região (por exemplo, `us-west-2`). + + ```bash + newrelic-lambda integrations update \ + --aws-region YOUR_REGION + ``` + +3. Se você não tiver nossos logs habilitados, também precisará atualizar os filtros de assinatura log do Amazon CloudWatch com o seguinte comando: + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --aws-region YOUR_REGION + ``` + +## Atualizar camadas via CLI [#update-layer-cli] + +Esta seção descreve como atualizar a camada da sua função se você a instalou com nossa [ferramenta CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli). + +1. Certifique-se de ter a versão mais recente da CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Passe a sinalização `--upgrade` para o comando de instalação: + + ```bash + newrelic-lambda layers install \ + --function installed \ + --nr-account-id NR_ACCOUNT_ID \ + --upgrade + ``` + +## Atualizar uma instalação manual do repositório de aplicativos Serverless [#update-sar] + +Se você [instalou manualmente a função de ingestão do AWS Serverless Application Repository](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#manual-nr-lambda) (e não usou a [CLI](/docs/serverless-function-monitoring/aws-lambda-monitoring/get-started/enable-new-relic-monitoring-aws-lambda#cli)), atualize usando este procedimento: + +1. Execute o seguinte, substituindo `YOUR_REGION` pela sua região (por exemplo, `us-west-2`). + + ```bash + aws serverlessrepo create-cloud-formation-change-set \ + --application-id arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion \ + --stack-name NewRelic-log-ingestion \ + --capabilities CAPABILITY_RESOURCE_POLICY \ + --parameter-overrides Name=NRLicenseKey,Value= + --region + ``` + + Este comando gera vários campos, um dos quais é `ChangeSetId`: um ARN para o conjunto de alterações que você acabou de criar. Copie esse ARN. + +2. Use o ARN neste comando, que executa o conjunto de alterações: + + ```bash + aws cloudformation execute-change-set --change-set-name YOUR_CHANGE_SET_ARN + ``` + +## Habilitando gerenciamento de logs + +Se você atualmente não tem do New Relic ativado, mas gostaria de: + +1. Certifique-se de ter a versão mais recente da CLI: + + ```bash + pip install --upgrade newrelic-lambda-cli + ``` + +2. Para cada região em que você instalou a função `newrelic-log-ingestion` , execute o comando a seguir, substituindo `YOUR_REGION` pela sua região (por exemplo, `us-west-2`). + + ```bash + newrelic-lambda integrations update \ + --enable-logs \ + --aws-region YOUR_REGION + ``` + +3. Em seguida, execute um dos seguintes procedimentos: + + * Atualize os filtros de assinatura de log do Amazon CloudWatch para cada região com o seguinte comando: + + ```bash + newrelic-lambda subscriptions install \ + --function installed \ + --filter-pattern "" \ + --aws-region YOUR_REGION + ``` + + * Ou você pode enviar o log de função diretamente para o New Relic, ignorando o CloudWatch e o `newrelic-log-ingestion` Lambda. Para fazer isso, defina a variável de ambiente `NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS=true` na configuração da função do Lambda. + + Depois disso, certifique-se de remover qualquer assinatura existente do New Relic Logs para essa função usando este comando: + + ```bash + newrelic-lambda subscriptions uninstall \ + --function FUNCTION_NAME \ + --aws-region YOUR_REGION + ``` + + Se a assinatura log estiver presente enquanto a extensão estiver enviando o log, o log será enviado duas vezes, resultando em registros log duplicados no New Relic. + + Opcionalmente, se quiser evitar [as cobranças da Amazon](https://aws.amazon.com/cloudwatch/pricing/#Paid_tier) pela ingestão log do CloudWatch, você também pode modificar [a função de execução](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) da sua função para que ela não conceda permissões log do CloudWatch. Isso impedirá que sua função faça logon no CloudWatch. + + + As taxas de ingestão de log do CloudWatch podem ser consideráveis, mas essa etapa deve ser tomada com cautela. Certifique-se de que a integração de ingestão do New Relic Logs esteja funcionando bem e atenda às suas necessidades antes de desabilitar o log do CloudWatch. + \ No newline at end of file