NOMBRE

Referencia - MRTG 2.9.21 referencia de configuración


SINOPSIS

La conducta de MRTG se maneja con un archivo de configuración. Los archivos de configuración pueden generarse ejecutando cfgmaker. (Mira cfgmaker). Para configuraciones más detalladas se necesita hacer algunos retoques manuales.

Este documento describe todas las opciones de configuración aceptadas por mrtg.


SINTAXIS

La sintaxis del archivo de configuración de MRTG sigue algunas reglas simples:


PALABRAS CLAVE GLOBALES

Directorio de trabajo (WorkDir)

WorkDir especifica donde deben crearse los registros (logs) y las paginas web.

Ejemplo:

 WorkDir: /usr/tardis/pub/www/stats/mrtg


PALABRAS CLAVE GLOBALES OPCIONALES

Directorio de HTML (HtmlDir)

HtmlDir determina el directorio dónde se encuentra el html (o shtml, esto se implementará mas tarde).

NOTA: Workdir predomina sobre htmldir, imagedir y logdir

Ejemplo:

 Htmldir: /www/mrtg/

Directorio de imagenes (ImageDir)

ImageDir determina el directorio dónde se encuentran las imagenes, debe estar por debajo de HtmlDir.

Ejemplo:

 Imagedir: /www/mrtg/images

Directorio de registros (LogDir)

LogDir determina el directorio dónde se encuentran los registros (logs). No es necesario que este por debajo de HtmlDir.

Ejemplo:

 Logdir: /www/mrtg/logs

Forks (solo UNIX)

Un un sistema que puede bifurcarse (UNIX por ejemplo) mrtg pueden bifurcarse en instancias múltiples mientras adquiere datos vía snmp.

Para las situaciones con latencia alta o un gran número de dispositivos esto acelerará las cosas considerablemente. No obstante no hará las cosas más rápido si consultas un unico conmutador situado en el cuarto de al lado.

Hasta donde yo sé NT no puede bifurcarse así que esta opción no está disponible en NT.

Ejemplo:

 Forks: 4

Actualizacion de página HTML (Refresh)

¿Cuántos segundos debe esperar el navegador (Netscape) para recargar la página? Si no se define, el valor por defecto es 300 segundos (5 minutos).

Ejemplo:

 Refresh: 600

Intervalo (Interval)

¿Cuan a menudo invocas a mrtg? El valor por defecto es 5 minutos. Si lo quieresinvocar con otra frecuencia, debes especificarlo aquí. Esto hace dos cosas:

En este ejemplo le decimos a mrtg que se ejecute cada 10 minutos. Si estas ejecutando mrtg cada 5 minutos, puedes dejar esta línea comentada.

Ejemplo:

 Interval: 10

Caducidad (WriteExpires)

Con este interruptor mrtg generará los archivos .meta para los servidores CERN y Apache que contienen las etiquetas de expiración para los archivos html y gif. Los ficheros *.meta se crearan en el mismo directorio que los otros ficheros, así que debes activar ``MetaDir .'' y ``MetaFiles on'' en tu fichero apache.conf o .htaccess para que esto funcione.

LA NOTA: Si estas ejecutando Apache-1.2 o posterior, puedes usar mod_expire para lograr el mismo efecto... mira el fichero htaccess. txt

Ejemplo:

 WriteExpires: Yes

NoMib2

Normalmente preguntamos al dispositivo SNMP por las propiedades de 'SysUptime', 'sysName' algunos no las tienen. Si quieres evitar recibir las quejas de mrtg sobre estas propiedades perdidas, especifica la opción nomib2.

Un ejemplo de agentes que no llevan a cabo los atributos de mib2 basicos son los agentes de Computer Associates - Unicenter TNG. CA confía en usar el agente básico SNMP del SO además de sus propios agentes para complementar la administración de un sistema.

Ejemplo:

 NoMib2: Yes

Peticiones simples (SingleRequest)

Algunas implementaciones de SNMP no pueden tratar peticiones con múltiples variables snmp. Pon esto en tu archivo cfg para obligar a mrtg a solicitar una variable por la petición.

Ejemplo:

 SingleRequest: Yes

Opciones SNMP (SnmpOptions)

Aparte de las opciones de tiempo de espera del objetivo, puedes configurar también la conducta del proceso snmpget a un nivel más profundo. SnmpOptions acepta una serie de opciones. Las opciones siguientes se soportan actualmente:

 timeout                   => $default_timeout,
 retries                   => $default_retries,
 backoff                   => $default_backoff,
 default_max_repetitions   => $max_repetitions,
 lenient_source_port_matching => 0,
 lenient_source_address_matching => 1

Los valores detrás de las opciones indican el valor predefinido actual. Nota que estas opciones ANULAN los tiempos de espera definidos por objetivo.

Ejemplo:

SnmpOptions: retries => 2, only_ip_address_matching => 0

Nota: el snmp del AS/400 parece que falla de alguna mnera qué impide a mrtg trabajar con él a menos que se especifique la siguiente opción

 SnmpOptions: lenient_source_port_matching => 1

Directorio de iconos (IconDir)

Si quieres tener los iconos del mrtg en otro lugar que no sea el directorio de trabajo (o imagedir), usa la variable IconDir para definir la url del directorio de los iconos.

Ejemplo:

 IconDir: /mrtgicons/

Carga de MIB (LoadMIBs)

Carga el fichero(s) MIB especificado y deja sus OIDs disponibles como nombres simbólicos. Para un mejor rendimiento, se mantiene un caché de MIBs en WorkDir.

Ejemplo:

 LoadMIBs: /dept/net/mibs/netapp.mib,/usr/local/lib/ft100m.mib

Idioma (Language)

Cambia el formato de la salida al Idioma seleccionado (Verifica el directorio translate para ver qué idiomas se soportan. En este directorio puedes encontrar también las instrucciones sobre cómo crear nuevas traducciones).

Actualmente se soportan los siguientes idiomas: big5, brasileño, búlgaro, catalan, chino, checo, danés, holandés, eucjp, francés, gallego, gb, gb2312, alemán, griego, húngaro, islandés, iso2022jp, italiano, coreano, lituano, malayo, noruego, polaco, rumano, ruso, servio, eslovaco, español, sueco, turco....

Ejemplo:

 Language: danish

Formato de registro (LogFormat)

Poniendo LogFormat a 'rrdtool' en tu archivo mrtg.cfg habilita el modo rrdtool. En el modo rrdtool, mrtg confía en rrdtool para hacer su registros(logs). Los gráficos y páginas html serán generadas al vuelo por 14all.cgi qué puede encontrarse en la sección de contribuciones (contrib) junto a un pequeño readme... Esta característica es una contribucion de: Rainer.Bawidamann@informatik.uni-ulm.de. Por favor comprueba su website para más información: http://www.uni-ulm.de/~rbawidam/mrtg-rrd /

Ejemplo:

 LogFormat: rrdtool

LibAdd

Si estás usando modo rrdtool y tu módulo Perl rrdtool (RRDs.pm) no está instalado en una ubicación dónde perl pueda encontrarlo, puedes usar este parámetro para indicar la ruta apropiada.

Ejemplo:

 LibAdd: /usr/local/rrdtool/lib/perl/

PathAdd

Si el ejecutable rrdtool no está instalado en una ubicación normal, puedes usar esta palabra clave para indicar la ruta apropiada..

Ejemplo:

 PathAdd: /usr/local/rrdtool/bin/

Ejecutar como demonio (RunAsDaemon)

La palabra clave RunAsDaemon habilita el funcionamiento en modo demonio. El propósito de este modo es que MRTG se lance una vez y no mediante cron como en el modo nativo. Esta conducta ahorra recursos como cargar y analizar archivos de la configuración ya que esto sólo ocurre una vez.

En el modo demonio MRTG es el responsable de cronometrar los intervalos. Por consiguiente es importante fijar el parámetro Interval a un valor apropiado.

Nota que usando el modo demonio MRTG ya no debe arrancarse desde cron ya que cada proceso se ejecutaría siempre. En cambio MRTG debe arrancarse desde la linea de ordenes o un script de arranque.

Si quieres que mrtg se ejecute como un usuario y grupo concreto (no es recomendable ejecutar MRTG como root) puedes usar las opciones --user=user_name y --group=group_name en la linea de ordenes de mrtg.

 mrtg --user=mrtg_user --group=mrtg_group mrtg.cfg

Además nota que en el modo demonio se exige reiniciar el proceso para activar los cambios en el archivo de configuración.

Bajo UNIX, el modo Daemon causa que el mrtg se ejecute como un proceso de fondo después de verificar su archivo del config. En Windows NT el proceso de MRTG desligará de la consola, pero ya que los NT/2000 esperan a que terminen sus procesos hijos has de usar una secuencia start especial cuando lanzas el programa:

 start /b perl mrtg mrtg.cfg

Puedes tener que añadir informacion de ruta cuando ejecutas mrtg desde la linea de ordenes.

Ejemplo

 RunAsDaemon:Yes
 Interval:5

Hace a MRTG ejecutarse como demonio y recopila datos cada 5 minutos


CONFIGURACION POR OBJETIVO

Cada objetivo supervisado debe identificarse por un nombre único. Este nombre debe añadirse a cada parámetro perteneciente al mismo objetivo. El nombre también se usará para nombrar las páginas web, historicos e imágenes generadas para este objetivo.

Objetivo (Target)

Con la palabra clave Target decides lo que debe supervisar mrtg. La palabra clave Target toma los argumentos en una amplia gama de formatos:

Básico
El formato más básico es ``port:community@router'' Esto generará un gráfico de tráfico para la interface 'port' de la máquina 'router' (nombre dns o dirección IP) y usará la comunidad 'community' (la contraseña snmp) para la consulta snmp.

Ejemplo:

 Target[ezwf]: 2:public@wellfleet-fddi.ethz.ch

Si la comunidad contiene `` @'' o `` '' estos carácteres deben ser precedidos con `` \.''

 Target[bla]: 2:stu\ pi\@d@router

SNMPv2c
Si tienes un conmutador rápido que puedes querer consultar los contadores ifHC*. Esta característica se activa cambiando a SNMPv2c. Desgraciadamente no todos los dispositivos soportan SNMPv2c. Si funciona, esto impedirá a tus contadores encapsular cada 5 minutos de sondeo. ya que usamos 64 bits en lugar de los 32 bits normales.

Ejemplo:

 Target[ezwf]: 2:public@router1:::::2

Invirtiendo
A veces estás situado en el lado equivocado del enlace, y te gustaría que mrtg informara el tráfico de entrada como de salida y viceversa. Esto puede lograrse agregando el signo '-' delante la descripción del ``Objetivo''. Intercambia las frecuencias de tráfico entrantes y salientes.

Ejemplo:

 Target[ezci]: -1:public@ezci-ether.ethz.ch

OIDs explicitos
También puedes definir explícitamente el OID para interrogar usando la siguiente sintaxis 'OID_1&OID_2:community@router' El ejemplo siguiente recuperará el contador de error para la entrada y salida del interface 1. MRTG necesita dos variables para hacer el gráfico, por lo que es preciso especificar dos OID como temperatura y humedad o errores entrantes y salientes.

Ejemplo:

 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14.1&1.3.6.1.2.1.2.2.1.20.1:public@
 myrouter

Variables MIB
MRTG conoce varios nombres simbolicos de variables SNMP. Mira el archivo mibhelp.txt para una lista de nombres conocidos. Un ejemplo es ifInErrors e ifOutErrors. Esto significa que puedes especificar lo anterior como:

Ejemplo:

 Target[ezwf]: ifInErrors.1&ifOutErrors.1:public@myrouter

Interface por IP
A veces el índice de interface SNMP puede cambiar, como cuando se agregan o se quitan nuevas interfaces. Esto puede causar que todas las entradas del Objetivo en tu fichero de configuracion esten equivocadas por el desplazamiento, haciendo que MRTG realice gráficos equivocados, etc. MRTG soporta direcciones IP en lugar de ifindex al definir un objetivo. Entonces MRTG consultará al dispositivo snmp e intentará asignar la dirección IP al ifindex actual, puedes usar la dirección IP en cualquier objetivo, agregando la dirección IP de la interface numerada después del OID y del caracter de separación '/'.

Asegúrate que la dirección de IP dada se usa en el mismo router, sobre todo cuando hagas gráficos de dos OIDs diferentes y/o una división de la interface por el delimitador '&'.

Puedes decir a cfgmaker que genere tales referencias con la opción --ifref=ip.

Ejemplo:

 Target[ezwf]: /1.2.3.4:public@wellfleet-fddi.ethz.ch
 Target[ezci]: -/1.2.3.4:public@ezci-ether.ethz.ch
 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14/1.2.3.4&1.3.6.1.2.1.2.2.1.14/1.2.
 3.4:public@myrouter Target[ezwf]: ifInErrors/1.2.3.4&ifOutErrors/1.
 2.3.4:public@myrouter

Interface por Descripción
Si no puedes usar direcciones IP podrías usar nombres de la interface. Esto trabaja de forma similar a la dirección IP solo que debes usar el prefijo \ en lugar de /

Puedes decir a cfgmaker que genere tales referencias con la opción --ifref=descr.

Ejemplo:

 Target[ezwf]: \My-Interface2:public@wellfleet-fddi.ethz.ch
 Target[ezci]: -\My-Interface2:public@ezci-ether.ethz.ch
 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14\My-Interface2&1.3.6.1.2.1.2.2.1.
 14\My-Interface3:public@myrouter Target[ezwf]: ifInErrors\My-
 Interface2&ifOutErrors\My-Interface3:public@myrouter

Si la descripción contiene `` &'', ``:'', ``@'' o un`` '' debes precederlos con contrabarra:

 Target[ezwf]: \fun\: \ ney\&ddd:public@hello.router

Interface por Nombre
La única manera razonable de referenciar interfaces de tus conmutadores.

Puedes decir a cfgmaker que genere tales referencias con la opción --ifref=name.

Ejemplo:

 Target[ezwf]: #2/11:public@wellfleet-fddi.ethz.ch
 Target[ezci]: -#2/11:public@ezci-ether.ethz.ch
 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14#3/7&1.3.6.1.2.1.2.2.1.14#3/7:
 public@myrouter
 Target[ezwf]: ifInErrors#3/7&ifOutErrors#3/7:public@
 myrouter

Si la descripción contiene `` &'', ``:'', ``@'' o un`` '' debes precederlos con contrabarra:

 Target[ezwf]: #\: \ fun:public@hello.router

Nota que el signo # se interpretará como un principio de comentario si es el primer caracter en la línea.

Interface por dirección Ethernet
Cuando el índice del interface SNMP cambia, puedes codificar esa interface por su 'dirección física', conocida como dirección hardware, que es la variable de SNMP 'ifPhysAddress'. Internamente, MRTG empareja la Dirección Física del fichero *.cfg a su índice actual, y entonces usa ese índice por el resto de la sesión.

Puedes usar la Dirección Física en cada tipo definido en el objetivo, agregando la Dirección Física después del OID y del caracter de separación '!' (análogo a la opción de dirección IP). La dirección Física se especifica delimitando los octetos con '-', como ``0a-0-f1-5-23-18'' (omite las comillas dobles). Nota que algunos conmutadores usan la misma Dirección Hardware de Ethernet para todos sus Interfaces lo que impide la identificación única de la interface. Mrtg notará problemas semejantes y te alertará.

Puedes decir al cfgmaker que genere los archivos de configuración con referencias a la dirección hardware de ethernet usando la opción --ifref=eth.

Ejemplo:

 Target[ezwf]: !0a-0b-0c-0d:public@wellfleet-fddi.ethz.ch
 Target[ezci]: -!0-f-bb-05-71-22:public@ezci-ether.ethz.ch
 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14!0a-00-10-23-44-51&!0a-00-10-23-
 44-51:public@myrouter
 Target[ezwf]: ifInErrors!0a-00-10-23-44-51&ifOutErrors!0a-00-10-23-
 44-51:public@myrouter

Interface por Tipo
Parece que que hay dispositivos que intentan desafiar todos los esfuerzos de supervision, las interfaces interesantes no tienen ni ifName ni ifDescr constante y ni pensar en un ifIndex persistente. La única manera de conseguir una cartografía constante es mirando el tipo de interface, porque la interface en la que estás interesado es única en el dispositivo al que estás mirando ...

Puedes decir a cfgmaker que genere tales referencias con la opción --ifref=type.

Ejemplo:

 Target[ezwf]: %13:public@wellfleet-fddi.ethz.ch
 Target[ezci]: -%13:public@ezci-ether.ethz.ch
 Target[ezwf]: 1.3.6.1.2.1.2.2.1.14%13&1.3.6.1.2.1.2.2.1.14%14:
 public@myrouter
 Target[ezwf]: ifInErrors%13&ifOutErrors%14:public@myrouter

Sintaxis extendida de nombres de maquinas
En todos los lugares dónde se acepta 'community@router', puedes añadir parámetros adicionales para la comunicación con SNMP separandolos con dos puntos. La sintaxis completa es como sigue:

community@router[:[port][:[timeout][:[retries][:[backoff][:version]]]]]

donde el significado de cada parámetro es como sigue:

Puerto (port)
el puerto de UDP para ponerse en contacto con el agente SNMP (por defecto: 161)

Tiempo de espera (timeout)
tiempo de espera inicial para las consultas de SNMP, en segundos (por defecto: 2.0)

Reintentos (retries)
el número de veces que se reintentará una petición de timed-out (por defecto: 5)

Factor multiplicador (backoff)
el factor por cuál el tiempo de espera se multiplica en cada reintento (por defecto: 1.0).

Versión (version)
la versión de SNMP si tienes un router rápido podrías querer poner un '2' aquí. Esto hará a mrtg intentar consultar los contadores de 64 bits. Y así previene la encapsulacion excesiva del contador. Aunque no todos los routers soportan esto.

Ejemplo:

 3:public@router1:::::2

Un valor igual a el valor por defecto se puede omitir. También pueden omitirse los dos puntos sobrantes.

Ejemplo:

  Target[ezci]: 1:public@ezci-ether.ethz.ch:9161::4

Esto se refiere a los contadores de octetos de E/S para la interface con ifIndex 1 en ezci-ether.ethz.ch, reconocido por el agente SNMP que escucha el puerto UDP 9161. Se usa el tiempo de espera normal (2.0 segundos), pero el número de reintentos se pone a cuatro. El valor del backoff es el valor por defecto.

Guiones externos de supervisión
Si quieres supervisar algo que no proporciona datos vía snmp puede usar algún programa externo para hacer la recolección del datos.

El programa externo debe devolver 4 líneas de salida:

Line 1
el estado actual de la primera variable, normalmente 'cuenta de bytes entrantes'

Line 2
el estado actual de la segunda variable, normalmente 'cuenta de bytes salientes'

Line 3
cadena (en cualquier formato legible humano), diciendo el tiempo de funcionamiento del objetivo.

Line 4
cadena, diciendo el nombre del objetivo.

Dependiendo del tipo de datos que devuelve podrías querer usar argumentos 'calibrados' o 'absolutos' para la palabra clave Options.

Ejemplo:

 Target[ezwf]: `/usr/local/bin/df2mrtg /dev/dsk/c0t2d0s0`

Nota el uso del acentos graves (`), no apóstrofes (') alrededor del mandato.

Si quieres usar acentos graves en el mandato puede hacerse precediendolo con contrabarra...

Sintaxis multi-objetivo
También puedes usar varias declaraciones en una expresión matemática. Esto podría usarse para agregar ambos canales B en una conexión ISDN o T1 múltiple que se añaden en un solo canal para el mayor ancho de banda. Nota el espacio en blanco alrededor de las definiciones del objetivo.

Ejemplo:

 Target[ezwf]: 2:public@wellfleetA + 1:public@wellfleetA
              * 4:public@ciscoF

Velocidad máxima (MaxBytes)

El valor máximo que las dos variables supervisadas pueden alcanzar. Para supervisar el tráfico de router normalmente se especifica en los bytes por segundo que este puerto puede alcanzar.

Si se devuelve un número superior a MaxBytes, se ignora. Lee la sección AbsMax para ampliar informacion. El valor MaxBytes también se usa para calcular el rango Y para los gráficos sin escala (mira la sección Unscaled).

Ya que la mayoría de los enlaces se valoran en bits por segundo, necesitas dividir su ancho de banda máximo (en bits) por ocho (8) para conseguir los bytes por segundo. Esto es muy importante para hacer que tus gráficos sin escala visualicen información real. T1 =193000, 56K = 7000, Ethernet = 1250000. El valor MaxBytes será usado por mrtg para decidir si recibió una contestación válida del router.

Si necesitas dos valores de MaxBytes diferentes para las dos variables supervisadas, puedes usar MaxBytes1 y MaxBytes2 en lugar de MaxBytes.

Ejemplo:

 MaxBytes[ezwf]: 1250000

Velocidad máxima 1 (MaxBytes1)

Lo mismo que MaxBytes, para la variable 1.

Velocidad máxima 2 (MaxBytes2)

Lo mismo que MaxBytes, para la variable 2.

Título (Title)

El título para la página HTML que se genera para el gráfico.

Ejemplo:

 Title[ezwf]: Traffic Analysis for Our Nice Company


PARAMETROS OPCIONALES POR OBJETIVO

Cabecera de título (PageTop)

Datos a agregar a la cabecera de la página HTML generada. Nota que puedes tener varias líneas de texto con tal de que la primera columna esté vacía.

Nota que las líneas continuas apareceran en la misma línea en la página html. Si quieres saltos de línea en el html generado usa '\n'.

Ejemplo:

 PageTop[ezwf]: <H1>Análisis de trafico para ETZ C95.1</H1>
   El troncal de nuestro campo funciona sobre una línea FDDI \n
   con una transferencia maxima de  12.5 megabytes por
   segundo.

Tiempo de funcionamiento (RouterUptime)

En los casos dónde calculas el ancho de banda usado por varias interfaces normalmente no podrás visualizar el tiempo de funcionamiento y el nombre del conmutador en la pagina web.

Si estas interfaces están en el mismo router y no obstante el tiempo de funcionamiento y nombre deben visualizarse tienes que especificar su comunidad y dirección de nuevo con la palabra clave RouterUptime.

Ejemplo:

 Target[kacisco.comp.edu]: 1:public@194.64.66.250 + 2:public@194.64.
 66.250
 RouterUptime[kacisco.comp.edu]: public@194.64.66.250

Pie de página (PageFoot)

Datos a agregar al pie de la página HTML generada. Nota que puedes tener varias líneas de texto con tal de que la primera columna esté vacía.

Nota que las líneas continuas apareceran en la misma línea en la página html. Si quieres saltos de línea en el html generado usa '\n'

El material se añadirá detras de la etiqueta </BODY>

Ejemplo:

 PageFoot[ezwf]: Contacta a <A HREF="mailto:peter@x.yz";>Peter</A>
  si tienes alguna pregunta sobre esta página

Cabecera (AddHead)

Usa esta etiqueta como la cabecera PageTop, pero sus contenidos se agregarán entre </TITLE> y </HEADE <gt>.

Ejemplo:

 AddHead[ezwf]: <link rev="hecho por" href="mailto:mrtg@blabla.edu";>

Etiqueta de cuerpo (BodyTag)

BodyTag te permite proporcionar tu propia etiqueta <body ...>para las páginas web que generes.

Ejemplo:

 BodyTag[ezwf]: <BODY LEFTMARGIN="1" TOPMARGIN="1"
                      BACKGROUND="/stats/images/bg.neo2.gif">

Valor máximo absoluto (AbsMax)

Si estás supervisando un vínculo que puede manejar más tráfico que el valor MaxBytes. Ej, una línea que usa compresión o algún enlace frame relay, puedes usar la palabra clave AbsMax para especificar el valor máximo absoluto a ser usado. Necesitamos conocer esto para ordenar los valores poco realistas devueltos por el router. Si no fijas AbsMax, rateup ignorará los valores superiores a MaxBytes.

Ejemplo:

 AbsMax[ezwf]: 2500000

Escala de visualización (Unscaled)

Por defecto cada gráfico se escala verticalmente para hacer los datos actuales visibles incluso cuando sean muy inferiores a MaxBytes. Con la variable Unscaled puedes suprimir esto. El argumento es una cadena, conteniendo una letra para cada gráfico que no quieres que sea escalado: d=dia w=semana m=mes y=año. En el ejemplo la escala para el gráfico anual y mensual se suprime.

Ejemplo:

 Unscaled[ezwf]: ym

Valores máximos (WithPeak)

Por defecto los gráficos sólo contienen los valores promedio de las variables supervisadas - normalmente la tasa de transferencia para el tráfico entrante y saliente. La opción siguiente informa al mrtg que visualice los valores máximos en el gráfico semanal, mensual y anual. En el ejemplo definimos el gráfico mensual y anual para contener los valores promedio y máximo.

Examples:

 WithPeak[ezwf]: ym

Supresión de gráficos (Suppress)

Por defecto mrtg produce 4 gráficos. Con esta opción puedes suprimir la generación de los gráficos seleccionados. La sintaxis de esta opción es igual a las dos opciones anteriores. En este ejemplo suprimimos el gráfico anual ya que esta bastante vacío al principio.

Ejemplo:

 Suppress[ezwf]: y

Extensión de archivos (Extension)

Por defecto, el mrtg crea archivos .html. Utiliza esta opción para decir al mrtg que use una extensión diferente. Por ejemplo podrías poner la extensión php3, entonces podrás incluir etiquetas de PHP en la salida (util para sacar un nombre de router de una base de datos).

Ejemplo:

 Extension[ezwf]: phtml

Directorio de trabajo (Directory)

Por defecto, mrtg pone todos los archivos que genera para cada objetivo (GIFs, HTML, el archivo de registro, etc.) en WorkDir.

Si se especifica la opción Directory, los archivos se ponen en un directorio bajo WorkDir o Log -, Image - y HtmlDir). (Por ejemplo la opción Directory debajo causaría que todos los archivos para el objetivo ezwf sean puestos en el directorio /usr/tardis/pub/www/stats/mrtg/ezwf /.)

El directorio ya debe existir; mrtg no lo crea.

Ejemplo:

 WorkDir: /usr/tardis/pub/www/stats/mrtg
 Directory[ezwf]: ezwf

NOTA: la opción Directory siempre debe ser 'relativa' o pasarán cosas raras.

Tamaño de gráfico (XSize YSize)

Por defecto los gráficos de mrtg son de 100 por 400 pixels de ancho (un poco más por las etiquetas). En el ejemplo conseguimos gráficos casi cuadrados...

Nota: XSize debe estar entre 20 y 600; YSize debe ser mayor que 20

Ejemplo:

 XSize[ezwf]: 300
 YSize[ezwf]: 300

Ampliación de gráfico (XZoom YZoom)

Si quieres que tus gráficos tengan los pixel más grandes, puedes ``ampliarlos''.

Ejemplo:

 XZoom[ezwf]: 2.0
 YZoom[ezwf]: 2.0

XScale and YScale

Si quieres escalar tus gráficos usa XScale e YScale. (Ten cuidado aun cuando esto funciona, los resultados son feos (para ser franco) de manera que si alguien quiere arreglar esto: los parches son bienvenidos.

Ejemplo:

 XScale[ezwf]: 1.5
 YScale[ezwf]: 1.5

Escala (YTics YTicsFactor)

Si quieres mostrar más de 4 líneas por gráfico, usa YTics. Si quieres escalar el valor usado para el YLegend, usa YTicsFactor. El valor predefinido para YTics es 4 y el valor predefinido por YTicsFactor es 1.0.

Ejemplo:

  Supon que tienes valores que van de 0 a 700.
  Quieres trazar 7 líneas y quieres mostrar 0, 1, 2, 3, 4, 5, 6, 7
  en lugar de 0, 100, 200, 300, 400, 500, 600, 700.  Debes escribir :
  YTics[ezwf]: 7
  YTicsFactor[ezwf]: 0.01

Factor

Si quieres multiplicar todos los números mostrados debajo del gráfico con un factor constante, usa esta directiva para definirlo..

Ejemplo:

  Factor[as400]: 4096

Paso (Step)

Cambia el paso predefinido de 5 * 60 segundos a algo más (no he probado bien esto...)

Ejemplo:

 Step[ezwf]: 60

Opciones (Options)

La palabra clave Options te permite poner algunos interruptores booleanos:

growright
El gráfico se desplaza por defecto para la izquierda. Esta opción cambia la dirección de desplazamiento lo que causa que el tiempo actual esté en el borde correcto del gráfico y los valores historicos a la izquierda del mismo.

bits
Todo los valores de las variables supervisadas se multiplican por 8 (es decir se muestran en bits en lugar de bytes)... parece mucho más impresionante: -). También afecta al etiquetado 'por defecto' y unidades para el objetivo dado.

perminute
Todo los valores variables supervisados se multiplican por 60 (es decir se muestran en unidades por minuto en lugar de unidades por segundo) en caso de valores pequeños se visualizan gráficos más exactos. También afecta al etiquetado 'por defecto' y unidades para el objetivo dado.

perhour
Todo los valores variables supervisados se multiplican por 3600 (es decir se muestran en unidades por hora en lugar de unidades por segundo) en caso de valores pequeños se visualizan gráficos más exactos. También afecta al etiquetado 'por defecto' y unidades para el objetivo dado.

noinfo
Suprime la información sobre el tiempo de funcionamiento y nombre del dispositivo en pagina web generada.

nopercent
No imprimir porcentajes de uso

transparent
hacer el fondo de los gifs generados transparente...

integer
Imprime las líneas de resumen debajo del gráfico como enteros sin coma

dorelpercent
El porcentaje relativo de IN-traffic a OUT-traffic se calcula y visualiza en el gráfico como una línea adicional. Nota: Sólo una escala fija está disponible (de 0 a 100%). Por consiguiente para IN-traffic mayor que OUT-traffic también se visualiza el 100%. Si sospechas que IN-traffic no siempre es menor o iguala a OUT-traffic se insta a no usar estas opciones. Nota: Si usas esta opción en combinación con la opción Colours, se requiere un quinto par de color-valor y color-nombre.

gauge
Trata los valores reunidos del objetivo como medidas del 'estado actual' y no como incrementos de los contadores. Esto sería útil para supervisar cosas como el espacio en disco, carga del procesador, la temperatura, y lo que quieras...

En la ausencia de las opciones 'gauge' o 'absolute', MRTG trata la variable como un contador y calcula la diferencia entre el valor actual y anterior y divide eso por el tiempo transcurrido entre las últimas dos lecturas para conseguir trazar el valor.

absolute
Esto es para contadores de fuentes de datos que restauran su valor cuando se leen. Esto significa que rateup no tiene que establecer la diferencia entre el valor actual y último leido de la fuente del datos. El valor obtenido aún es dividido por el tiempo transcurrido entre la lectura actual y la última lo que lo hace diferente de la opción 'gauge'. Útil para recolectores de datos externos.

unknaszero
Registra los datos desconocidos como cero en lugar del comportamiento prefijado de repetir el último valor visto. Ten el cuidado con esto, a menudo una línea plana en el gráfico es mucho más obvia que una línea en 0.

withzeroes
Normalmente ignoramos todo los valores que son cero al calcular el promedio de la tasa de transferencia en una línea. Si no quieres que esto courra usa esta opción.

noborder
Si no usas rateup para recopilar datos, MRTG creará las imágenes. Normalmente estas imagenes tienen un borde sombreado alrededor. Si no quieres que se dibujen los bordes, activa esta opción. Esta opción no tiene efecto si no usas rateup.

noarrow
Como en la opción anterior, esto sólo afecta a la generación de gráficos de rateup. Normalmente rateup generará los gráficos con una flecha pequeña que muestra la dirección de los datos. Si no quieres dibujar esta flecha, habilita esta opción. Esta opción no tiene el efecto si no estás usando rateup.

noi
Al usar rateup para la generación del gráfico, puedes usar esta opción para impedir a rateup que dibuje un gráfico para 'I' o la primera variable. Esto también quita las entradas para esta variable en la página HTML que MRTG genera, y quitará los picos para esta variable si están habilitados. Esto te permite ocultar estos datos, o puede ser muy útil si sólo estás dibujando una línea de datos en lugar de dos. Esta opción no es destructiva - cualquier datos recibido por la variable continua siendo registrado, sólo no se muestra.

noo
Lo mismo que lo anterior, excepto que esta relacionado con 'O' o la segunda variable.

nobanner
When using rateup for graph generation, this option disables MRTG adding the MRTG banner to the HTML pages it generates.

nolegend
Al usar rateup para la generación del gráfico, esta opción impedirá que MRTG cree la leyenda al final de las páginas HTML que genera.

Ejemplo:

 Options[ezwf]: growright, bits

Multiplicador de prefijos (kilo)

Usa esta opción para cambiar el valor del multiplicador para construir los prefijos. El valor predefinido es 1000. Esta etiqueta es para el caso especial en que 1kB=1024B, 1MB=1024kB y demás.

Ejemplo:

 kilo[ezwf]: 1024

Definición de prefijos (kMG)

Cambia los prefijos multiplicadores predefinidos (,k,M,G,T,P). La etiqueta ShortLegend define sólo las unidades básicas. Formato:Lista de prefijos separados por comas. Dos comas consecutivas o una coma a principio o fin de la línea no dá ningún prefijo para ese elemento. Nota: Si no quieres los prefijos, entonces deja la línea en blanco.

Ejemplo: velocity in nm/s (nanometers per second) displayed in nm/h.

 ShortLegend[ezwf]: m/min
 kMG[ezwf]: n,u,m,,k,M,G,T,P
 options[ezwf]: perhour

Colores (Colours)

La etiqueta Colours te permite sustituir el esquema de color predefinido. Nota: Deben especificarse los 4 colores requeridos. Los nombres de colores ('Colourx' debajo) es el nombre visualizado en la leyenda, mientras que el valor RGB es el color real usado para la visualización de los gráficos y documentos html.

El formato es: Col1#RRGGBB,Col2#RRGGBB,Col3#RRGGBB,Col4#RRGGBB

Importante: Si usas la opción dorelpercent se requiere un quinto par de color-nombre color-valor : Col1#RRGGBB,Col2#RRGGBB,Col3#RRGGBB, Col4#RRGGBB,Col5#RRGGBB

Colour1
Primera variable (normalmente Entrada) en el gráfico por defecto

Colour2
Segunda variable (normalmente Salida) en el gráfico predefinido

Colour3
Máximo de la primera variable (entrada)

Colour4
Máximo de la segunda variable (salida)

RRGGBB
2 dígitos hexadecimales para los valores de para Rojo, Verde y Azul

Ejemplo:

 Colours[ezwf]: GREEN#00eb0c,BLUE#1000ff,DARK GREEN#006600,
   VIOLET#ff00ff

Fondo de página (Background)

Con la etiqueta Background puedes configurar el color de fondo de la página HTML generada

Ejemplo:

 Background[ezwf]: #a0a0a0a

Texto de leyendas (Legend, ShortLegend, Legend[1234IO])

Las siguientes palabras claves te permiten sustituir el texto visualizado para las diversas leyendas del gráfico y del documento HTML

YLegend
La etiqueta del eje Y del gráfico. Nota que un texto demasiado largo para ajustarse al gráfico se ignorará.

ShortLegend
La cadena de unidades (valor predefinido 'b/s') usada para Max, Promedio y Actual

Legend[1234IO]
La cadena para la leyenda de color

Ejemplo:

  YLegend[ezwf]: Bits por Segundo
  ShortLegend[ezwf]: b/s
  Legend1[ezwf]: Tráfico de entrada en Bits por Segundo
  Legend2[ezwf]: Tráfico de salida en Bits por Segundo
  Legend3[ezwf]: Máximo tráfico de entrada en 5 minutos
  Legend4[ezwf]: Máximo tráfico de salida en 5 minutos
  LegendI[ezwf]: &nbsp;In:
  LegendO[ezwf]: &nbsp;Out:

Nota, si LegendI o LegendO estan fijadas a una cadena vacía con

 LegendO[ezwf]:

La línea correspondiente debajo del gráfico no se imprimirá.

Huso horario (Timezone)

If you live in an international world, you might want to generate the graphs in different timezones. This is set in the TZ variable. Under certain operating systems like Solaris, this will provoke the localtime call to give the time in the selected timezone ...

Ejemplo:

 Timezone[ezwf]: Japan

Timezone es la franja horaria habitual de Solaris, ej. Japón, Hong Kong, GMT, GMT+1, etc.

Formato de semana (Weekformat)

Por defecto, mrtg (de hecho rateup) usa la opción strftime(3) '%W' para estructurar los números de la semana en los gráficos mensuales. La semántica exacta de esta opción del formato varía entre los sistemas. Si encuentras que los números de la semana están equivocados, y la rutina strftime(3) de tu sistema lo soporta, puedes probar otra opción del formato. La opción POSIX '%V' parece corresponder al convenio ampliamente usado de numeración de semana . El carácter de formato de semana debe especificarse como una sola letra; cualquiera de W, V, o U.

Ejemplo:

 Weekformat[ezwf]: V

RRDRowCount

Esto afecta a la creación de nuevos ficheros rrd. Por defecto se crean los rrds diarios con valores de alta resolución. (semanales con datos cada 30 minutos, mensuales con datos cada 2 horas y anuales con datos diarios). Con esta palabra clave puedes cambiar el intervalo basico configurado para los nuevos rrds cuando se crean. Nota que debes tener en cuenta el tiempo de intervalo.

Ejemplo:

RRDRowCount[ezwf]: 1600

Asignacion de variables de entorno (SetEnv)

Al llamar a guiones externos desde tu archivo cfg (Umbrales o guiones de objetivos) puedres querer pasar algún dato al guión. Esto puede hacerse con la opción de configuración SetEnv... que asigna una serie de de variables de entorno. Nota que las comillas son obligatorias.

Ejemplo:

 SetEnv[myrouter]:  EMAIL="contact_email@someplace.net"
                    HOST="www.some_server.net"
                    URL="http://www.some_server.net/path/mrtg.html";


COMPROBACIÓN DE UMBRAL

A través de su funcionalidad de comprobacion de umbral mrtg puede descubrir los problemas de umbral para varios objetivos y puede ejecutar guiones externos para ocuparse de esos problemas (enviar correo o un mensaje a un administrador).

La comprobacion de umbral se configura a través de los siguientes parámetros:

Alertas de umbral (ThreshDir (GLOBAL))

Definiendo ThreshDir apuntando a un directorio escribible, MRTG sólo te alertará cuando se sobrepase algun límite de umbral.

Ejemplo:

 ThershDir: /var/mrtg/thresh

Valor mínimo de entrada (ThreshMinI (POR OBJETIVO))

Éste es el mínimo valor aceptable para el parámetro Input (el primero). Si el parámetro cae por debajo de este valor, el programa especificado en ThreshProgI se ejecutará. Si el valor acaba en '%' entonces el umbral se define relativo a MaxBytes.

Valor máximo de entrada (ThreshMaxI (POR OBJETIVO))

Éste es el máximo valor aceptable para el parámetro Input (el primero). Si el parámetro supera este valor, el programa especificado en ThreshProgI se ejecutará. Si el valor acaba en '%' entonces el umbral se define relativo a MaxBytes.

ThreshDesc (POR OBJETIVO)

Su valor se asignará a la variable de ambiente THRESH_DESC antes de que cualquiera de los programas mencionado más abajo se llame. Los programas pueden usar el valor de esta variable para producir una salida más agradable.

ThreshProgI (POR OBJETIVO)

Esto define un programa para ser ejecutado si ThreshMinI o ThreshMaxI se rompe. MRTG pasa 3 argumentos: la variable $router, el valor del umbral roto, y el valor del parámetro actual.

ThreshProgOKI (POR OBJETIVO)

Esto define un programa para ser ejecutado si el parámetro es correcto actualmente (basado en ThreshMinI y ThreshMaxI), pero no era correcto en la ejecución anterior--basado en los archivos encontrados en ThreshDir. MRTG pasa 3 argumentos: la variable $router el valor del umbral intacto, y el valor del parámetro actual.

ThreshMinO, ThreshMaxO, ThreshProgO, and ThreshProgOKO

Ellos trabajan igual que sus colegas de *I, a excepción de en el parámetro Output (el segundo).

I <Nota, que puedes usar el parámetro SetEnv explicado anteriormente para pasar información adicional al programa de umbral .>


VALORES POR DEFECTO POR OBJETIVO

Pre- y Postfix

Para ahorrarte algo de tecleo puedes definir un objetivo llamado '^'. El texto de cada Palabra clave que defines para este objetivo PRECEDERA a las palabras clave correspondientes de todos los objetivos definidos debajo de esta línea. Lo mismo ocurre con un objetivo llamado '$' pero el texto será añadido.

Nota que se inserta un espacio entre el texto previo y el valor de la Palabra clave, así como entre el valor de la Palabra clave y el texto añadido. Esto trabaja bien para las Palabras claves con valores de texto, pero no es muy útil para el resto. Mira la descripción del ``valor por defecto'' del objetivo más abajo.

El ejemplo hará que mrtg use una cabecera y una persona del contacto común en todas las páginas generadas de objetivos definidos después en este archivo.

Ejemplo:

 PageTop[^]: <H1>Estadistica de trafico de ningun sitio</H1><HR>
 PageTop[$]: Contacta a Pepe Botella si tienes alguna pregunta<HR>

Para quitar el valor precedente/agregado, especifica un valor vacío, por ejemplo:

 PageTop[^]:
 PageTop[$]:

NOTA: Con PRECEDER y AÑADIR normalmente se inserta un espacio entre el valor local y el valor PRECEDER o AÑADIR. A veces esto no es deseable. Puedes usar la opción de configuración NoSpaceChar para definir el carácter usado al final de $ o ^ en vez del espacio.

Ejemplo:

  NoSpaceChar: ~
  Target[^]: 1.3.6.1.4.1.482.50.2.4.20.0&1.3.6.1.4.1.482.50.2.4.21.0:
  get@~
  Target[a]: a.tolna.net
  Target[b]: b.tolna.net
  Target[c]: c.tolna.net
  Target[d]: d.tolna.net

Valores por defecto

El nombre del objetivo '_' especifica un valor predefinido para esa Palabra clave. En la ausencia de un valor explícito para una Palabra clave, se usará el valor predefinido.

Ejemplo:

 YSize[_]: 150
 Options[_]: growright,bits,nopercent
 WithPeak[_]: ymw
 Suppress[_]: y
 MaxBytes[_]: 1250000

Para quitar el valor predefinido y volver al 'defecto de fábrica', especifica un valor en blanco, por ejemplo:

 YLegend[_]:

Puede haber varias instancias para fijar los valores por DEFECTO/ PRECEDENTE/AÑADIDO en el archivo de la configuración. La última instancia reemplaza a la anterior por el resto del archivo de configuración. Los valores por DEFECTO/PRECEDENTE/AÑADIDO usados para un par dado de palabra clave/objetivo son los que tendrán efecto en el punto del archivo de configuración dónde se mencione por primera vez el objetivo.

Ejemplo:

 MaxBytes[_]: 1250000
 Target[myrouter.somplace.edu.2]: 2:public@myrouter.somplace.edu
 MaxBytes[_]: 8000
 Title[myrouter.somplace.edu.2]: Traffic Analysis for myrouter.
 somplace.edu IF 2

El valor por defecto MaxBytes para el objetivo myrouter.somplace. edu.2 en el ejemplo anterior será 1250000 que este estaba activo la primera vez que aparecio el nombre del objetivo (myrouter.somplace. edu.2) en el archivo de configuración.


OPCIONES DE LINEA DE ORDENES

--user usuario y --group grupo
Ejecutarse con el usuario o grupo determinado. (solo Unix)

--lock-file fichero
Usar un fichero de bloqueo alternativo (por defecto usa el nombre del fichero de configuracion al que se le añade _l).

--confcache-file filename
Usar un fichero confcache alternativo (por defecto usa el nombre del fichero de configuracion al que se le añade .ok)

--logging filename|eventlog
Si esto se fija a un fichero escribible, toda la salida de mrtg (los mensajes de advertencia, depuración, error) irán a filename. Si estás ejecutando en Win32 puedes especificar eventlog en lugar de un fichero lo que enviará todo error a la ventana de registro de sucesos.

NOTE:Nota, no hay ninguna DLL de Mensajes para mrtg lo cuál tiene el efecto lateral de que el visor de sucesos desplegará un lindo mensaje con cada entrada, quejandose sobre el hecho de que mrtg no tiene ninguna dll de mensajes. Si cualquiera de la gente de Windows quiere contribuir con uno, se agradece.


EJEMPLOS

mrtg.cfg mínimo

 WorkDir: /usr/tardis/pub/www/stats/mrtg
 Target[r1]: 2:public@myrouter.somplace.edu
 MaxBytes[r1]: 8000
 Title[r1]: Análisis de tráfico ISDN
 PageTop[r1]: <H1>Estadísticas de nuestra línea ISDN</H1>

Cfg para algunos Routers.

 WorkDir: /usr/tardis/pub/www/stats/mrtg
 Title[^]: Análisis de tráfico para
 PageTop[^]: <H1>Estadísticas para
 PageTop[$]: Avisa al Jefe si notas a alguien <HR>
 MaxBytes[_]: 8000
 Options[_]: growright
 Title[isdn]: nuestra línea ISDN
 PageTop[isdn]: nuestra línea ISDN</H1>
 Target[isdn]: 2:public@router.somplace.edu
 Title[backb]: Nuestro troncal del campus
 PageTop[backb]: Nuestro troncal del campus</H1>
 Target[backb]: 1:public@router.somplace.edu
 MaxBytes[backb]: 1250000
 # Las siguientes líneas sustituyen el valor PRECEDENTE
 # por defecto definido anteriormente
 Title[^]:
 Title[isdn2]: Tráfico de la línea de respaldo ISDN
 PageTop[isdn2]: nuestra línea ISDN</H1>
 Target[isdn2]: 3:public@router.somplace.edu


AUTOR

Tobias Oetiker <oetiker@ee.ethz.ch> y muchos contribuidores


TRADUCTOR

Daniel Palomo <dpalomo@inicia.es. Por favor envia tus comentarios o correcciones a esta traducción