Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Puede utilizar nuestro proceso de instalación guiada para instalar el agente de monitoreo de flujo de red o instalar el agente manualmente. Este documento cubre los requisitos previos para iniciar este proceso de instalación y un recorrido paso a paso por las opciones de instalación.
Capacidad para lanzar un nuevo contenedor a través de línea de comando
Si emplea Linux para instalar el agente como servicio, necesitará:
Acceso SSH al host
Acceso para instalar/eliminar aplicaciones y servicios.
Uno de estos sistemas operativos soportados:
CentOS 8
Debian 12 (ratón de biblioteca)
Debian 11 (Diana)
Debian 10 (Buster)
RedHat Enterprise Linux 9
Ubuntu 20.04 (LTS focal)
Ubuntu 22.04 (Jammy LTS)
Ubuntu 23.04 (Lunar)
Debe configurar los dispositivos de origen para enviar datos de flujo al host que ejecuta el Monitoreo de red agente. A continuación se explica cómo configurar la exportación de flujo de red en algunos dispositivos (esta no es una lista exhaustiva):
El monitoreo del flujo de la red admite los cuatro tipos principales de datos de flujo de la red y sus derivados. Al ejecutar el agente, puede especificar qué tipo principal desea monitor usando la opción -nf.source.
Sugerencia
La colección de plantillas NetFlow v5, NetFlow v9, sFlow y IPFIX se puede manejar usando -nf.source.=auto en un solo agente. Esto está habilitado como configuración predeterminada cuando se utiliza el argumento nr1.flow en tiempo de ejecución.
Tipo de flujo de red
¿Habilitado con auto?
-nf.source valor
AppFlow
✓
auto | netflow5
Argus
✓
auto | netflow5
Cisco ASA
asa
NBAR de Cisco
nbar
cflowd
✓
auto | netflow5
IPFIX
✓
auto | ipfix
J-Flow
✓
auto | netflow5
NetFlow v5
✓
auto | netflow5
NetFlow v9
✓
auto | netflow9
NetStream
✓
auto | netflow5
Palo Alto Networks
pan
RFlow
✓
auto | netflow5
sFlow
✓
auto | sflow
¿Cuándo debería escalar la recopilación de flujo de red?
Al planificar su estrategia para recopilar flujos de red a escala, se deben considerar los siguientes elementos:
El agente ktranslate solo puede realizar un trabajo a la vez. Un agente que ejecuta la recopilación SNMP no puede escuchar también los flujos de red.
El agente ktranslate solo puede escuchar flujos de red entrantes en un único puerto de escucha a la vez (valor predeterminado: 9995). Si necesita que se abran varios puertos, cada uno requiere un agente dedicado, utilizando la opción de configuración -nf.port en tiempo de ejecución para cambiar el puerto.
La configuración predeterminada -nf.source=auto permite que el contenedor escuche múltiples tipos de flujo estándar. Si necesita analizar otros tipos de datos de flujo, como plantillas de Cisco ASA, Cisco NBAR o Palo Alto Networks, cada uno necesitará su propio agente.
New Relic recomienda 1 CPU por 2000 flujos por segundo (120 000 flujos por minuto). Decidir si escalar horizontalmente varios agentes para distribuir la carga o escalar verticalmente algunos agentes más grandes para consolidar la gestión es una cuestión de preferencia personal.
Configurar el monitoreo de datos de flujo de red
Para la mayoría de los casos de uso, recomendamos nuestra instalación guiada para configurar el monitoreo de datos del flujo de red. Si su configuración es más avanzada con configuraciones personalizadas, le recomendamos instalarla manualmente.
Copie el archivo snmp-base.yaml en el directorio local $HOME de su usuario Docker y descarte el contenedor ejecutando:
bash
$
cd ~
$
id=$(docker create kentik/ktranslate:v2)
$
dockercp$id:/etc/ktranslate/snmp-base.yaml .
$
dockerrm-v$id
Edite el archivo snmp-base.yaml y agregue sus dispositivos de flujo de red dentro de la clave del diccionario devices con la siguiente estructura:
devices:
# This key and the corresponding 'device_name'
# need to be unique for each device
flow_device1:
device_name: flow_device1
device_ip: x.x.x.x/yy
flow_only:true
# Optional user tags
user_tags:
owning_team: net_eng
environment: production
Importante
Si ya está monitoreando dispositivos de datos SNMP que también enviarán flujos de red, querrá asegurarse de que el valor de device_name sea idéntico para ambos archivos de configuración para garantizar que la telemetría de flujo se atribuya a la entidad correcta en New Relic UI.
Ejecute ktranslate para escuchar los flujos de red con el comando:
bash
$
docker run -d--name ktranslate-$CONTAINER_SERVICE--restart unless-stopped --pull=always --net=host \
>
-v`pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
# Use this field to create a unique value for `tags.container_service` inside of New Relic
>
-service_name=$CONTAINER_SERVICE\
>
-flow_only=true \
>
nr1.flow
Investigue los datos de flujo de su red en la New Relic UI.
En un host con Podman instalado, descargue la imagen ktranslate ejecutando el siguiente comando:
Copie el archivo snmp-base.yaml en el directorio local $HOME de su usuario de Podman y descarte el contenedor ejecutando:
bash
$
cd ~
$
id=$(podman create kentik/ktranslate:v2)
$
podmancp$id:/etc/ktranslate/snmp-base.yaml .
$
podmanrm-v$id
Edite el archivo snmp-base.yaml y agregue sus dispositivos de flujo de red dentro de la clave del diccionario devices con la siguiente estructura:
devices:
# This key and the corresponding 'device_name'
# need to be unique for each device
flow_device1:
device_name: flow_device1
device_ip: x.x.x.x/yy
flow_only:true
# Optional user tags
user_tags:
owning_team: net_eng
environment: production
Importante
Si ya está monitoreando dispositivos de datos SNMP que también enviarán flujos de red, querrá asegurarse de que el valor de device_name sea idéntico para ambos archivos de configuración para garantizar que la telemetría de flujo se atribuya a la entidad correcta en New Relic UI.
Ejecute ktranslate para escuchar los flujos de red con el comando:
bash
$
podman run -d--name ktranslate-$CONTAINER_SERVICE--userns=keep-id --restart unless-stopped --pull=always --net=host \
>
-v`pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
# Use this field to create a unique value for `tags.container_service` inside of New Relic
>
-service_name=$CONTAINER_SERVICE\
>
-flow_only=true \
>
nr1.flow
Sugerencia
El contenedor Rootless Podman no puede vincular a puertos inferiores a 1024. Si los flujos de su red se envían a un puerto inferior a 1024 en lugar del predeterminado (9995), deberá crear una regla iptables para manejar la redirección de paquetes con el comando:
Si no tiene un archivo de configuración snmp-base.yaml existente, cree uno con:
bash
$
cd ~
$
touch snmp-base.yaml
Edite el archivo snmp-base.yaml y agregue sus dispositivos de flujo de red dentro de la clave del diccionario devices con la siguiente estructura:
devices:
# This key and the corresponding 'device_name'
# need to be unique for each device
flow_device1:
device_name: flow_device1
device_ip: x.x.x.x/yy
flow_only:true
# Optional user tags
user_tags:
owning_team: net_eng
environment: production
Resetear el servicio ktranslate para aplicar los cambios al archivo snmp-base.yaml :
bash
$
sudo systemctl restart ktranslate
Investigue los datos de flujo de su red en la New Relic UI.
Encuentra y usa tu métrica
Todo el registro de flujo de red exportado desde el ktranslate contenedor utiliza el KFlow namespace, a través de la New Relic de eventos API. Actualmente, estos son los campos predeterminados que se completan en esta integración:
Atributo
Tipo
Descripción
application
Cadena
La clase de programa que genera el tráfico en este registro de flujo. Esto se deriva del valor numérico más bajo de l4_dst_port y l4_src_port. Los ejemplos comunes incluyen http, ssh y ftp.
device_name
Cadena
El nombre para mostrar del dispositivo de muestreo para este registro de flujo.
dst_addr
Cadena
La dirección IP de destino para este registro de flujo.
dst_as
Numérico
El objetivo [Autonomous System Number] (https://www.iana.org/assignments/ como-números/as-números.xhtml) para este registro de flujo.
La tupla objetivo IP:Port para este registro de flujo. Esta es una combinación de dst_addr y l4_dst_port.
dst_geo
Cadena
El país objetivo de este registro de flujo, si se conoce.
in_bytes
Numérico
El número de bytes transferidos para registros de flujo de entrada.
in_pkts
Numérico
El número de paquetes transferidos para registros de flujo de entrada.
input_port
Numérico
If_Index valor para la interfaz en el origen de este registro de flujo.
l4_dst_port
Numérico
El puerto de destino para este registro de flujo.
l4_src_port
Numérico
El puerto de origen de este registro de flujo.
output_port
Numérico
If_Index valor para la interfaz en el destino de este registro de flujo.
protocol
Cadena
El nombre para mostrar del protocolo utilizado en este registro de flujo, derivado del [número de protocolo numérico de la IANA] (https://www.iana.org/assignments/ protocol-numbers/protocol-numbers.xhtml).
provider
Cadena
Este atributo se utiliza para identificar de forma única varias fuentes de datos de ktranslate. El registro de flujo de red siempre tendrá el valor de kentik-flow-device.
sample_rate
Numérico
Frecuencia de muestreo aplicada por la configuración del dispositivo de muestreo o por el argumento sample_rate en ktranslate.
src_addr
Cadena
La dirección IP de origen para este registro de flujo.