Problema
Tienes preguntas sobre varios resultados calculados por el ktranslate
Monitoreo de red agente.
Fondo
ktranslate
devuelve los datos sin procesar recopilados por el sondeo SNMP en casi todas las instancias con las siguientes advertencias:
- % de utilización de CPU
- % de utilización de la memoria
- % de utilización de la interfaz
- % de error de interfaz
- Varias métricas con las funciones
enum
oconversion
aplicadas en su configuración
Solución
Metric Name: kentik.snmp.CPU
La CPU generalmente se devuelve en un OID directo que proporciona un valor entero o flotante que representa el porcentaje de utilización. En casos excepcionales, solo hay un resultado para CPU inactiva, que se traduce a CPU mediante esta fórmula:
CPU = 100 - CPU Idle
Metric Name: kentik.snmp.MemoryUtilization
A diferencia de la CPU, la utilización de la memoria rara vez se presenta como un valor OID directo. Para calcular el porcentaje de utilización, ktranslate utiliza esta lógica:
If Memory Used and Memory Free are available: Memory Utilization = ( Memory Used / (Memory Free + Memory Used) ) * 100
If Memory Total and Memory Free are available: Memory Utilization = ( (Memory Total - Memory Free) / Memory Total ) * 100
If Memory Total and Memory Used are available: Memory Utilization = ( Memory Used / Memory Total ) * 100
If Memory Total, Memory Buffer, and Memory Cache are available: Memory Utilization = ( ( Memory Total - (Memory Buffer + Memory Cache ) ) / Memory Total ) * 100
Metric Name: kentik.snmp.IfInUtilization
| kentik.snmp.IfOutUtilization
La utilización de la interfaz sigue el enfoque estándar de la industria de calcular el delta en bits y dividirlo por el producto de la velocidad configurada de la interfaz y el delta de tiempo desde que se realizó la última recopilación.
Por ejemplo, suponiendo que 1 es el punto de datos anterior y 2 es el más reciente:
( (ifHCInOctets_2 - ifHCInOctets_1 ) * 8 * 100 ) / ( (sysUptime_2 - sysUptime_1) * ifSpeed )
Cálculo traducido
Para el numerador:
Tome el último recuento de octetos y reste el valor de la muestra anterior para obtener un delta.
Multiplique el resultado por 8 para convertir octetos en bits.
Multiplique los bits por 100 para configurar el cálculo del porcentaje.
Para el denominador:
Tome el último valor de
sysUptime
y reste el valor de la muestra anterior para obtener un delta que muestre el intervalo de sondeo.Multiplique el intervalo por el
ifSpeed
configurado (que se informa en bits).Finalmente:
Divide el numerador por el denominador para encontrar el porcentaje de utilización.
Datos fuente
KTranslate, emplea el valor de ifHCInOctets (recibir) o ifHCOutOctets (transmitir); reemplazando
ifSpeed
en el denominador con el valor de ifHighSpeed según sea necesario:Sugerencia
Una razón común para ver porcentajes de utilización de la interfaz inexactos es que la velocidad de la interfaz configurada en el dispositivo no refleja la velocidad real de la interfaz. Por ejemplo, un circuito MPLS de 1 GB en una interfaz de 10 GB mostraría porcentajes de sólo el 10% de la utilización real. Para resolver esto, consulte la documentación de su proveedor sobre cómo configurar el ancho de banda de la interfaz.
Metric Name: kentik.snmp.ifHCInOctets
| kentik.snmp.ifHCOutOctets
El rendimiento de la interfaz utiliza el valor de ifHCInOctets (recibir) o ifHCOutOctets (transmitir).
Es importante tener en cuenta exactamente lo que busca al consultar el rendimiento.
1 octeto = 1 byte
1 octeto = 8 bits
La medición bruta en SNMP es contar octetos, que en este contexto serían sinónimos de bytes. Puede calcular fácilmente bytes directamente a través de la métrica informada sin necesidad de conversión.
Si busca bits por segundo (bps), debe multiplicar los octetos y convertir el número final a una velocidad "por segundo".
Ejemplo
FROM Metric SELECTmax(kentik.snmp.ifHCInOctets) AS 'total_received_bytes',max(kentik.snmp.ifHCOutOctets) AS 'total_sent_bytes',rate(average(kentik.snmp.ifHCInOctets)*8, 1 SECOND) AS 'average_received_bps',rate(average(kentik.snmp.ifHCOutOctets)*8, 1 SECOND) AS 'average_sent_bps'FACET entity.name, if_interface_nameSINCE 1 WEEK AGOTIMESERIES
Metric Name: kentik.snmp.ifInErrorPercent
| kentik.snmp.ifOutErrorPercent
El porcentaje de error de interfaz utiliza el valor de ifInErrors (recibir) o ifOutErrors (transmitir), dividido por ifHCInUcastPkts (recibir) o ifHCOutUcastPkts (transmitir). En ktranslate, la fórmula se ve así:
( ifInErrors / ifHCInUcastPkts ) * 100or( ifOutErrors / ifHCOutUcastPkts ) * 100
Metric Name: Varios
Otras métricas SNMP se convierten en función de la existencia de las funciones enum
y conversion
en su respectivo perfil SNMP.
Ajustes de perfil | Uso |
---|---|
| Se utiliza para anular el atributo |
| Se utiliza para manejar enumeraciones SNMP que convierten el valor entero de una métrica dimensional en el valor enumerado en un atributo decorado en la métrica dimensional (usando el mismo sufijo de nombre de métrica). Un ejemplo común es la conversión de kentik.snmp.if_AdminStatus al valor enumerado de if_AdminStatus como |
| Se utiliza para convertir valores hexadecimales a formato entero. Opciones para current: |
| Se utiliza para convertir valores hexadecimales en cadenas IPv4 de 4 octetos. |
| Se utiliza para convertir valores hexadecimales en cadenas de direcciones MAC. |
| Se utiliza para la enumeración de la cadena ASCII upsBasicStateOutputState en |
| Coloca una coincidencia de expresiones regulares en la salida OID para capturar subcadenas; debe estar entre comillas y tener barras invertidas. |
| Se utiliza para crear un medidor métrico con el valor de |