• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

Parseando Logs de PfSense con Graylog y Mostrándolos en Grafana. 3ra Parte.

17 April, 2018 - Escrito en: elastic, utilidades

En este artículo vamos a parsear los registros de log generados por el Firewall PfSense. Ya tenemos funcionando nuestro servidor graylog y empezaremos a preparar el terreno para capturar dichos registros de logs.

Indices

El procedimiento es similar al que hicimos para zimbra o squid. Creamos ahora el indice de Pfsense en System/Indices

Al igual que zimbra y squid, Index shard 4 y Index replicas 0, la rotación del indice del tipo Index time y la retención puede ser de borrado, clausura de un indice de acuerdo al numero máximo de indices o no hacer nada. En mi caso lo puse a rotar mensual y que elimine los indices pasados los 12 meses. En fin existen muchas formas de establecer la rotación. Este indice se crea de manera inmediata.

y con cerebro podemos comprobarlo

Content Pack

Ofrecemos un content pack  el cual incluye Input de tipo rsyslog, extractores, Tablas lookup, Data adapters para Tablas lockup y Cache para Tablas lookup.  Debido a un problema del orden en que Graylog importa el pack, dividimos el mismo en 2 packs, asi no dara error. Un primer pack con Lookup Table, Data Adapter and Cache Adapter. Y un segundo pack con los Input, Extractors, Streams. Abrimos una entrada en el marketplace de graylog de tipo content pack llamada Pfsense Content Pack con un git para estos ficheros de configuración.  Para descargar estos ficheros instalamos git para clonar el repositorio.

apt-get install git

y seguidamente lo clonamos

git clone https://github.com/opc40772/pfsense-graylog

Si estamos desde un pc con Windows solo accedemos aqui. Y luego le damos al boton de clonar o descargar. Ubicaremos los datos CSV de las tablas lookup para convertir mas adelante los número de puertos a nombre de servicios. Del propio git que acabamos de clonar seleccionamos el fichero service-names-port-numbers.csv y lo copiamos en /etc/graylog/server.

cp service-names-port-numbers.csv /etc/graylog/server

Importamos ahora el fichero de la carpeta Content Pack y para ellos seleccionamos en  System / Content Packs la opción Import content packs para subir el archivo. Subiremos primero el pack pfsense_content_pack_table_lookup.json. Repetimos este paso pero seleccionamos el otro pack pfsense_content_pack.json

Como vemos lo agrega a la lista

Ahora seleccionamos el content pack de Pfsense

Aplicamos primero el pack Pfsense Port Lookup y cuando se aplique correctamente, entonces aplicamos el segundo pack Pfsense Content Pack

Streams

Editamos el stream de pfsense en Stream para asociarle el indice que creamos inicialmente. Marcamos que elimine las coincidencias para el stream por defecto All message para que solamente lo almacene en el índice de Pfsense.

Creamos una regla para que se almacenen los registros de logs en el indice asociado

En este caso lo relacionaremos con el campo source que en este es que contenga con el valor filterlog.

Cerebro

Como ya explicabamos anteriormente por  defecto graylog por cada indice que se crea generá su propia plantilla y la aplica cada vez que el indice rota. Si queremos nuestras propias plantillas debemos crearlas en el mismo elasticsearch. Agregaremos el campo real_timestamp que nos será util a la hora de usar grafana y también convertimos a tipo geoip dest_ip_geolocation y src_ip_geolocation a tipo geo_point para poder usarlos en los paneles de World Map ya que graylog no usa este formato.

"real_timestamp_graf": {
   "type": "date",
 },

Y

"dest_ip_geolocation": {
 "type": "string",
 "copy_to": "dst_location"
 },
 "dst_location": {
 "type": "geo_point"
 },
 "src_ip_geolocation": {
 "type": "string",
 "copy_to": "src_location"
 },
 "src_ip_location": { 
"type": "geo_point" 
}

En el git que clonamos ya esta esta plantilla personalizada de la que hablamos y que vamos a importar a elasticsearch a través de cerebro. Vamos a more /index template

Creamos un template nuevo

En el nombre lo rellenamos con pfsense-custom y abrimos del git el archivo que tiene el template y pegamos su contenido aquí.

Y seguidamente presionamos el botón create.

Ahora pararemos el servicio graylog para proceder a eliminar el índice mediante cerebro.

systemctl stop graylog-server.service

En cerebro nos paramos encima del indice y desplegamos las opciones y seleccionamos delete index.

Arrancamos nuevamente el servicio de graylog y este creará el indice con dicha plantilla.

systemctl start graylog-server.service

Pipelines

Los logs de pfsense que arriban a graylog, la fecha y la hora no son enviados al mismo,  almacenando en el campo timestamp la hora en que llegan al propio graylog y esta fecha y hora esta en formato UTC por lo cual debemos modificarlo para que no haya problemas de interpretación en formato de tiempo en grafana al mostrarlos.

Procedemos a crear el pipeline para squid entonces en System/ Pipelines

Add new pipeline.

Salvamos entonces, lo editamos y seguidamente le asociamos el stream que creamos anteriormente para pfsense para que solo se aplique este pipeline a el.

Crearemos nuestra primera y unica regla en el Pipeline para pfsense en Manage rules y luego Create rule

Ponemos una breve descripción de lo que hará esta regla y también el fuente de la regla.

Fuente de la regla que hace el ajuste del timestamp que vamos a usar en grafana:

rule "timestamp_pfsense_for_grafana"
 when
 has_field("timestamp")
 then 
// the following date format assumes there's no time zone in the string
 let source_timestamp = parse_date(substring(to_string(now("America/Habana")),0,23), "yyyy-MM-dd'T'HH:mm:ss.SSS");
 let dest_timestamp = format_date(source_timestamp,"yyyy-MM-dd HH:mm:ss");
 set_field("real_timestamp", dest_timestamp);
 end

Salvamos la regla y nuevamente vamos a Manage pipelines y editamos el mismo modificando luego el Stage 0 asociándole la regla que acabamos de crear.

Salvamos y ya tenemos listo el pipeline para mas adelante recibir los primeros logs

Pfsense

Prepararemos ahora Pfsense para enviar los registros de logs al graylog y para ello en Status/System Logs/Settings modificaremos la las opciones que nos permitiran hacerlo.

Vamos a  la sección Remote Logging Options y en Remote log servers especificamos la dirección ip y el puerto prefijado en el content pack en el input de pfsense de graylog que en este caso 5442.

Salvamos la configuración.

Vamos ahora a graylog seleccionando el stream de pfsense y ya veremos las como va parseando los mensajes de logs creando los campos.

Grafana

Los dashboards de graylog no ofrecen las posibilidades a mi modo de ver que las que tiene grafana por eso nuestro dashboard lo haremos en grafana

Creamos el datasource en grafana el cual nombraremos Pfsense-Graylog

Comparto con ustedes un dashboard prediseñado en el  sitio de oficial grafana el cual podra importar. Tambien se los comparto en el github

Seleccionamos Import dashboard

Subimos el fichero descargado Upload .json file y lo asociamos al datasource creado para el. Si este paso fallara es debido a los plugins que se usaron para generarlos deben de coincidir con los que uso el creador. Deben fijarse en las dependencias en el sitio de grafana

Ya podemos ver el dashboard en acción.

MENU:

1ra Parte– Como instalar y configurar Graylog en Ubuntu16.04

2da Parte– Parseando logs de Zimbra con Graylog y mostrandolos en Grafana

4ta Parte– Parseando logs de Squid con Graylog y mostrandolos en Grafana

Filed Under: elastic, utilidades Tagged With: graylog, graylog elastic, graylog grafana, graylog zimbra

Reader Interactions

Comments

  1. Eric says

    22 April, 2018 at 10:28

    Buenas tardes.
    Ante todo gracias por el tutorial, me está siendo de gran ayuda.

    A ver si me podéis ayudar con algún problema que estoy teniendo:

    Grafana no me muestra ningún dato, sin embargo en el GUI de Graylog si que veo información.
    Algo que me ha parecido raro es que en Cerebro veo 2 índices, graylog_0 y pfsense_0, pero el único que contiene documentos e información es graylog_0. Quizás pfsense_0 al no tener información hace que Grafana sea incapaz de mostrar los datos correctamente.
    Porque se almacena la información en graylog_0 y no en pfsense_0?

    Saludos y muchas gracias.

    Reply
    • Eric says

      22 April, 2018 at 20:56

      Buenas noches, ya he visto dónde estaba el error.
      Desde Graylog no le estaba indicando correctamente el índice de pfsense por lo que no enviaba los logs en el índice correspondiente.

      Saludos y gracias.

      Reply
  2. rickygm says

    9 May, 2018 at 22:28

    tengo una duda como agregas con cerebro el real_timestamp? o en que partes te vas?

    ahi estoy un poco confundido.

    Reply
  3. David says

    18 May, 2021 at 15:38

    Tengo una duda muy particular sobre almacenar logs de varios servidores pfsense en diferentes indices. Pues lo hago y me almacena todo en el mismo indice.

    Reply

Trackbacks

  1. Parseando Logs de Zimbra con Graylog y Mostrándolos en Grafana. 2da Parte. - El Blog de Jorge de la Cruz says:
    6 September, 2018 at 11:28

    […] 3ra Parte– Parseando logs de Pfsense con Graylog y mostrandolos en Grafana […]

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

April 2018
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« Mar   May »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz