# Parametros

# Parametros de configuracion

El plugin recibe todos los parametros directamente por linea de comandos:

```
advlogparser [--idx-dir <dir>] <log_dir> [<name_regex>] [<content_regex>] [<source_type>]
```

### Parametros generales

<table border="1" style="border-collapse: collapse; width: 100%;">
<tbody>
<tr><td style="width: 30%;"><strong>Parametro</strong></td><td style="width: 70%;"><strong>Descripcion</strong></td></tr>
<tr><td><code>--idx-dir</code></td><td>Directorio donde se almacenan los ficheros de indice. El plugin debe poder escribir y leer en este directorio. Por defecto: <code>/tmp</code>.</td></tr>
</tbody>
</table>

### Parametros especificos de log

<table border="1" style="border-collapse: collapse; width: 100%;">
<tbody>
<tr><td style="width: 30%;"><strong>Parametro</strong></td><td style="width: 70%;"><strong>Descripcion</strong></td></tr>
<tr><td><code>log_dir</code> *</td><td>Directorio que contiene los ficheros de log a procesar. Se listan todos los ficheros y se aplica <code>name_regex</code> para filtrarlos.</td></tr>
<tr><td><code>name_regex</code></td><td>Expresion regular para filtrar nombres de fichero dentro del directorio. Por defecto: <code>.*</code> (todos los ficheros).</td></tr>
<tr><td><code>content_regex</code></td><td>Expresion regular para filtrar lineas dentro del contenido del log. Solo las lineas que coinciden se incluiran en la salida. Por defecto: <code>.*</code> (todas las lineas).</td></tr>
<tr><td><code>source_type</code></td><td>Valor del campo <code>&lt;source&gt;</code> en el modulo de log generado. Identifica el origen de los datos en Pandora FMS. Obligatorio si se espera generar modulos.</td></tr>
</tbody>
</table>

\* Parametro obligatorio.

### Ejemplos de expresiones regulares

**Filtro por nombre de fichero (`name_regex`):**

```
.*\.log              → solo ficheros con extension .log
access.*\.log        → ficheros que empiezan por "access" y terminan en ".log"
(app|sys)\.log       → ficheros "app.log" o "sys.log"
```

**Filtro por contenido (`content_regex`):**

```
(?i)error                → lineas que contienen "error" (sin distincion de mayusculas/minusculas)
(?i)error|critical|fail  → lineas con error, critical o fail
^ERROR                   → lineas que empiezan por ERROR
[0-9]{3}\s               → lineas que contienen un codigo de 3 digitos seguido de espacio
```