Puede usar Terraform para crear, administrar y actualizar las workloads de New Relic, ya sea mediante intelligent workloads para rastrear transacciones comerciales importantes o una workload estándar para agrupar entidades que pertenecen a un equipo específico. El recurso newrelic_workload dentro del respositorio oficial terraform-provider-newrelic ahora admite ambos tipos de workloads.
Requisitos previos
Antes de comenzar:
- Instale la CLI de Terraform en su máquina.
- Inicialice un directorio de trabajo local para el proyecto de Terraform.
- Obtenga una clave de API de usuario de New Relic válida (acceso a la API NerdGraph) y el ID de la cuenta.
- Exporte las credenciales como variables de entorno (
NEW_RELIC_API_KEY,NEW_RELIC_ACCOUNT_IDyNEW_RELIC_REGION) en lugar de codificarlas en los archivos de configuración para mantener las credenciales seguras. - Instale
terraform-provider-newrelicv3.94.0 o posterior. Esta es la versión mínima requerida para la compatibilidad con la carga de trabajo inteligente (dynamic_flows,status_config_alert_policy).
Importante
No utilice una clave de licencia o de ingesta. El aprovisionamiento de recursos de carga de trabajo requiere permisos de API a nivel de usuario.
Configurar la autenticación
Declare el proveedor de New Relic en su archivo de configuración principal de Terraform:
terraform { required_providers { newrelic = { source = "newrelic/newrelic" version = ">= 3.94.0" } }}
provider "newrelic" { # Configuration inherits NEW_RELIC_API_KEY, NEW_RELIC_ACCOUNT_ID, and NEW_RELIC_REGION from environment variables}Crear workloads estándar
Defina el recurso newrelic_workload mediante consultas de búsqueda, listas explícitas de GUID de entidades o límites de alcance de la cuenta. Utilice este enfoque cuando desee agrupar manualmente infraestructura, aplicaciones o servicios específicos que pertenezcan a un equipo.
resource "newrelic_workload" "team_standard_workload" { name = "Payments Team Workload" account_id = 1234567 # Replace with your New Relic Account ID
# Group entities using a search query entity_search_query { query = "name LIKE 'payment-%' AND type = 'SERVICE'" }}Crear cargas de trabajo inteligentes
Utilice el bloque de configuración dynamic_flows. El principal beneficio de las intelligent workload es que, una vez que designa un GUID de entidad de punto de entrada y un nombre de transacción en el bloque dynamic_flows, New Relic descubre y mapea automáticamente las dependencias de entidad ascendentes y descendentes a través del rastreo distribuido (Transaction 360), actualizándolas cada 5 minutos. Esto significa que no necesita actualizar manualmente los GUID ni volver a aplicar las configuraciones de Terraform cuando cambia la arquitectura de su servicio subyacente.
Sugerencia
Para encontrar el GUID de la entidad de punto de entrada, navegue hasta la entidad en la UI de New Relic y copie el GUID de los metadatos de la entidad, o recupérelo usando la API de entidad de NerdGraph.
Las cargas de trabajo inteligentes también pueden derivar su estado de salud de las condiciones de alerta: establezca status_config_alert_policy { enabled = true } en la carga de trabajo, luego adjunte recursos newrelic_nrql_alert_condition estableciendo su target_entity en el guid de la carga de trabajo.
Importante
target_entity el soporte en newrelic_nrql_alert_condition se encuentra actualmente en versión preliminar pública y está disponible por cuenta. Para obtener más información, consulte la documentación del registro de Terraform.
resource "newrelic_workload" "checkout_intelligent_workload" { name = "Checkout Transaction Flow" account_id = 1234567 # Replace with your New Relic Account ID
dynamic_flows { entity_guid = "Mzg3fEFQTX..." # Replace with your entry point entity GUID transaction_name = "WebTransaction/Action/checkout" }
status_config_alert_policy { enabled = true }}Aplique la configuración
Después de definir el bloque de recursos, ejecute los siguientes comandos desde la terminal:
$terraform init$terraform plan$terraform applyDespués de que Terraform aprovisione correctamente la carga de trabajo, navegue a one.newrelic.com > All capabilities > Workloads> para verificar el nuevo recurso. Puede inspeccionar las entidades descubiertas automáticamente en el flujo de la transacción, revisar los enlaces de la política de alertas y verificar que los resúmenes de estado reflejen el estado correcto de la carga de trabajo.