• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Integración en el host: Formato de configuración estándar

En diciembre de 2019, la versión 1.8.0 del agente de infraestructura comenzó a admitir este nuevo formato de configuración que utiliza un único archivo de configuración (en lugar de dos archivos separados) y proporciona otras mejoras. Este documento explicará cómo funciona este nuevo formato.

El formato de configuración legacy anterior también es compatible con el actual agente de infraestructura.

Para obtener una introducción a la configuración, consulte Descripción general de la configuración.

Estructura de configuración

El YAML de configuración de una integración en el host debe tener una sección de nivel superior integrations que contenga una matriz YAML, donde cada entrada representa una integración y su configuración.

Para cada entrada de integración, solo la propiedad name es obligatoria. Las demás propiedades son opcionales.

Aquí hay un ejemplo de configuración característica dos integración: nuestra integración Docker incorporada, que no requiere configuración, y nuestra integración MySQL :

integrations:
  # New Relic integration that does not require any configuration
  - name: nri-docker
  # New Relic integration that gets its configuration from the environment
  - name: nri-mysql
    env:
      PORT: 3306
      USERNAME: newrelic
      PASSWORD: 123456789 # to hide this field, read the secrets management documentation
  # Any free-form integration executed via a user-provided command
  - name: my-own-integration
    exec: python /opt/integrations/my-script.py --host=127.0.0.1

Puede tener tantos archivos YAML de configuración como desee y puede agrupar su instancia de integración.

Sugerencia

Recomendamos borrar los archivos de configuración YAML antes de usarlos para evitar problemas de formato.

Cada archivo YAML de configuración también puede contener discovery y variables secciones de nivel superior.

Importante

Este formato de configuración no requiere reiniciar el agente. Cuando se guardan, los cambios se detectan e implementan inmediatamente. Esto significa que guardar cambios de configuración intermedios puede hacer que la integración deje de funcionar.

Lista de propiedades de configuración

Esta es una lista de las propiedades generales utilizadas para configurar una integración. Para obtener más detalles sobre el uso de estas propiedades, incluidos valores de ejemplo, consulte la documentación que sigue a la tabla.

Config

Descripción

name

Nombre de la integración. Esta es la única propiedad de configuración obligatoria en toda la integración en el host. Si el campo exec no está configurado, también será el nombre del ejecutable de integración.

cli_args

Lista opcional de argumentos de línea de comando cuando se utiliza name para proporcionar el ejecutable de integración. Disponible desde la versión del agente 1.13.0.

exec

Ruta completa al ejecutable de integración, más argumentos. Puede ser una cadena de una sola línea o una matriz de cadenas. Si no se especifica, el campo exec de forma predeterminada será el campo name .

env

Mapa YAML que contiene las variables de entorno que se pasarán a la integración, donde key es el nombre de la variable de entorno y value es el valor de la variable.

config

Configuración que se escribe como un archivo externo y la ruta que se pasa a la integración con la variable de entorno CONFIG_PATH o la variable marcador de posición ${config.path} .

config_template_path

Cualquier archivo externo cuya ruta se pase a la integración con la variable de entorno CONFIG_PATH o el marcador de posición de la variable ${config.path} . Su uso permite aplicar descubrimiento y enlace de secretos a cualquier configuración externa.

integration_user

Nombre del usuario que ejecuta la integración.

interval

Tiempo entre ejecuciones consecutivas de la integración. Debe ser un número seguido de una unidad de tiempo (s, m o h), sin espacios.

inventory_source

Permite anular la categoría y el término de la fuente del inventario.

labels

Mapa con etiquetas que decoran los datos (métrica, evento, inventario) reportados por la integración.

timeout

Un número seguido de una unidad de tiempo (ms, s, m o h). Una integración que no ha respondido en este período de tiempo se cierra y se reinicia.

working_dir

Directorio de trabajo para el binario de integración.

cuando

La integración solo se ejecuta si la cláusula se evalúa como verdadera.

Las condiciones se definen a continuación.

El resto de este documento describe las propiedades de configuración agrupadas por su funcionalidad:

Seleccione una integración para ejecutar

Hay dos propiedades para seleccionar qué integración se ejecutará: name y exec.

La única propiedad obligatoria en toda la integración en el host es name. El resto de propiedades especificadas en este documento son opcionales.

Ejemplo:

integrations:
- name: nri-docker
- name: my-integration
exec: /usr/local/bin/my-integration --metrics --inventory

Pasar la configuración al ejecutable de integración.

A menudo, los ejecutables de integración necesitan recibir una configuración para funcionar correctamente (por ejemplo, nombre de host y puerto del sistema de monitorización, credenciales de usuario, etc.).

El agente de infraestructura le permite configurar los comandos de integración de tres maneras (que puede combinar):

  • Variables de entorno, utilizando la propiedadenv . (recomendado)
  • Argumentos de línea de comando, pasados en la propiedadexec .
  • archivos de configuración, cuya ruta debe pasarse a través de variables de entorno o argumentos de línea de comando (consulte la propiedad config).

Ejemplo:

integrations:
- name: my-integration
exec: /opt/path/bin/script --host 127.0.0.1 --port 8081
- name: nri-mysql
env:
STATUS_URL: http://10.0.0.3/server-status?auto
REMOTE_MONITORING: true

Configura cómo el agente ejecuta tu integración

Las propiedades de esta sección modifican la forma en que el agente de infraestructura ejecuta e interactúa con la integración, o la forma en que el agente decora los datos de la integración.

Actualizar la configuración de integración anterior

En diciembre de 2019, la versión 1.8.0 del agente de infraestructura comenzó a utilizar un formato de configuración diferente.

La principal diferencia entre estos formatos es que el formato de configuración anterior usa dos archivos de configuración separados (un archivo INTEGRATION_NAME-definition.yml y un archivo INTEGRATION_NAME-config.yml ) y la versión más nueva usa un único archivo de configuración.

Estas son algunas de las características agregadas por la funcionalidad de configuración más nueva:

  • Configuración flexible a través de argumentos de línea de comando, variables de entorno o archivos externos.
  • Posibilidad de agrupar diferentes integraciones en un mismo archivo.
  • Recarga en caliente: agregar una nueva integración o cambiar su configuración no requiere reiniciar el agente.
  • Tiempos de espera: si una integración no responde antes de un tiempo especificado por el usuario, el proceso de integración finaliza y se reinicia.

No todas las integraciones en el host vienen con el formato de configuración más nuevo, pero puedes actualizar la configuración al nuevo formato para que todas las integraciones en el host aprovechen la nueva característica.

El siguiente YAML muestra un ejemplo de configuración de integración de Apache utilizando el formato de configuración anterior. Tenga en cuenta que esta configuración seguirá funcionando con el agente más nuevo, pero recomendamos actualizar su integración para aprovechar al máximo la característica.

integration_name: com.newrelic.apache
instances:
- name: apache-server-metrics
command: metrics
arguments:
status_url: http://127.0.0.1/server-status?auto
remote_monitoring: true
labels:
env: production
role: load_balancer
- name: apache-server-inventory
command: inventory
arguments:
remote_monitoring: true
labels:
env: production
role: load_balancer

Para actualizar una configuración de integración anterior al nuevo formato, utilice uno de los siguientes métodos:

Método asistido

Usando la CLI de New Relic, ejecute el siguiente comando para convertir automáticamente sus archivos de definición/configuración antiguos al nuevo formato de configuración:

bash
$
newrelic agent config migrateV3toV4 -d /path/definitionFile -c /path/configFile -o /path/outputFile

Ejemplos:

Método manual

Para convertir el archivo de integración manualmente:

  1. Cambie el nombre de la sección de nivel superior instances a integrations.
  2. Elimine la sección de nivel superior integration_name y agréguela a cada entrada de integración. Ya no es necesario que mantenga un archivo separado para cada tipo de integración y puede agrupar sus entradas de integración legacy en el mismo archivo que otras integraciones.

A continuación se muestra un ejemplo de la nueva versión de la configuración de integración de Apache:

integrations:
- name: nri-apache
env:
METRICS: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 15s
labels:
env: production
role: load_balancer
- name: nri-apache
env:
INVENTORY: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 60s
labels:
env: production
role: load_balancer
inventory_source: config/apache

Importante

Tenga en cuenta que el formato de configuración anterior no admite la recarga en caliente. Por lo tanto, debe reiniciar el agente de infraestructura para eliminar la configuración de integración anterior. De lo contrario, las instancias antiguas coexistirán con las nuevas.

Copyright © 2024 New Relic Inc.

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