• 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 Zimbra con Graylog y Mostrándolos en Grafana. 2da Parte.

11 April, 2018 - Escrito en: elastic

En este artículo vamos a parsear los log generados por un servidor Zimbra. Ya tenemos funcionando nuestro servidor graylog y empezaremos a preparar el terreno para capturar dichos logs. Lo primero que haremos es hacer ajustes en la configuración de graylog.
Geo-Location Processor
Por defecto graylog no trae una base datos para la geo localizacion por lo que debemos descargarla de MaxMind City databases .

wget -t0 -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz

Seguidamente extraemos el contenido del fichero

tar -xvf GeoLite2-City.tar.gz

y copiamos el fichero GeoLite2-City.mmdb a /etc/graylog/server . Notese que la carpeta que se crea al descompactar GeoLite2-City.tar.gz puede diferir de la del tutorial en la fecha.

cp GeoLite2-City_20180306/GeoLite2-City.mmdb /etc/graylog/server

Ahora en la web de graylog debemos activar el Geo-Location Processor y vamos a system/Configuration. Podemos apreciar que esta deshabilitado, presionamos el boton Update.

Lo activamos marcando en Enable Geo-Location porcessor lo demas lo dejamos por defecto. En la medida que vengan mensajes que contengan ips los procesera obteniendo datos adicionales como las coordenadas, código pais, nombre de ciudad.

Message Processors Configuration

Debemos tener un orden de procesamiento que el cual nos permita obtener lo que deseamos a la hora de parsear los mensajes de logs obtenidos desde los inputs. Para ver este orden nos vamos a system/Configuration y en Message Processors Configuration presionamos el boton Update. Así es como viene por defecto:

El orden de procesos será:

  1. AWS Instance Name Lookup
  2. Message Filter Chain que procesa los inputs
  3. Pipeline Procesos si queremos tener a los campos estáticos creados por los extractores
  4. Geo-Location Processor para procesar las ips descubiertas agregando campos asociados a la misma como localizacion geográfica, codigo del pais y nombre la de ciudad.

Cambiando el orden de procesamiento quedaría así:

Salvamos esta configuración.

Indices

Graylog tiene su propio índice que genera por defecto que es graylog y en system/Indices podemos apreciarlo.

Creamos un nuevo índice para Zimbra (Create index set) con 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.

Este indice se crea de manera inmediata y con cerebro podemos comprobarlo

Content Pack

Para facilitarles la configuracion de Graylog generamos un Content Pack para zimbra, en un git de logstash. El cual incluye Input de tipo beats, extractores, los patrones antes mencionados y por último el stream para que el input lo alamacene en indice que hemos creado para zimbra. Para descargar estos ficheros desde un PC con linux solo tendremos que instalar git para clonar el repositorio.

apt-get install git

y seguidamente lo clonamos

git clone https://github.com/opc40772/Zimbra-Graylog

Si estamos desde un pc con Windows solo accedemos aqui. Y luego le damos al boton de clonar o descargar.

En Linux tendremos la carpeta Zimbra-Graylog y en Windows un fichero zip llamado Zimbra-Graylog-master que debemos descompactar. En cualquiera de los 2 casos abriremos la carpeta Content Pack y dentro encontraremos el fichero content_pack_zimbra.json que es el que subiremos a Graylog.
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. Selecionamos Examinar y subimos el json. Quiero alertar que si le damos varias veces al boton de Upload nos creara varias veces las configuraciones, asi que sean cuidadosos y esperen por el aviso verde que sale alertando que todo esta OK.

Como vemos lo agrega a la lista

Ahora seleccionamos el content pack Zimbra.

Y lo aplicamos

Streams

Con el Pack ya instalado todo es muy facil. Editamos el stream de zimbra en Stream para asociarle el indice que creamos inicialmente (Zimbra Indice). Marcamos que elimine las coincidencias para el stream por defecto All message para que solamente lo almacene en el índice de zimbra

Cerebro

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. Aquí agregaremos el campo real_timestamp que nos será util a la hora de usar grafana y también convertimos a tipo geoip los campos src_relayip_geolocation y dst_relayip_geolocation a tipo geo_point para poder usarlos en grafana en los paneles de World Map ya que graylog no lo hace.

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

Y

"src_relayip_geolocation": {
 "type": "string",
 "copy_to": "src_location"
 },
 "src_location": {
 "type": "geo_point"
 },
 "dst_relayip_geolocation": {
 "type": "string",
 "copy_to": "dst_location"
 },
 "dst_location": {
 "type": "geo_point"
}

En el Content Pack que bajamos ya esta la plantilla personalizada de la que hablamos y que vamos a importar a elasticsearch a través de Cerebro. Vamos a more /index templates

Creamos un template nuevo

En el nombre lo rellenamos con zimbra_custom y abrimos la carpeta Elasticsearch Zimbra Template (del Content Pack) que contiene el archivo con el template. Lo editamos 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


Ahora pasamos a configurar nuestro Zimbra paraque envie sus logs a nuestro Graylog configurado

Zimbra

En el servidor zimbra instalaremos filebeat que es el servicio que le entregará los logs al graylog a través del tipo beats del input anteriormente declarado. Ver la compatiblidad del producto ya que tenemos que tener en cuenta que graylog es compatible con elastic 5.6.x máximo. Pueden usar la version de 5.6.4 de filebeat que la ultima version 5.
Lo descargamos:

 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-amd64.deb

Ya descargado lo instalamos.

dpkg -i filebeat-5.4.1-amd64.deb

Ahora estamos listos para configurar el filebeat en el equipo remoto o sea el servidor de correo zimbra. En el servidor de correo editamos el fichero filebeat.yml.

nano /etc/filebeat/filebeat.yml

Solo modificaremos la sesiones de Filebeat prospectors y Logstash output.

#=========================== Filebeat prospectors =============================
filebeat.prospectors:
# Each - is a prospector. Most options can be set at the prospector level, so
# you can use different prospectors for various configurations.
# Below are the prospector specific configurations.

- input_type: log
document_type: postfix
paths:
- /var/log/mail.log
# - /var/log/zimbra.log
- input_type: log
document_type: zimbra_audit
paths:
- /opt/zimbra/log/audit.log
- input_type: log
document_type: zimbra_mailbox
paths:
- /opt/zimbra/log/mailbox.log
- input_type: log
document_type: nginx
paths:
- /opt/zimbra/log/nginx.access.log
#- c:\programdata\elasticsearch\logs\*
#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  #hosts: ["logstash.midominio.cu:5443"]
  hosts: ["ip-graylog:5045"]
  # Optional SSL. By default is off.
  # List of root certificates for HTTPS server verifications
  #bulk_max_size: 2048
  #ssl.certificate_authorities: ["/etc/filebeat/graylog.crt"]
  template.name: "filebeat"
  template.path: "filebeat.template.json"
  template.overwrite: false
  # Certificate for SSL client authentication
  #ssl.certificate: "/etc/pki/client/cert.pem"

  # Client Certificate Key
  #ssl.key: "/etc/pki/client/cert.key"

#================================ Logging =====================================

# Sets log level. The default log level is info.
# Available log levels are: critical, error, warning, info, debug
#logging.level: debug

# At debug level, you can selectively enable logging only for some components.
# To enable all selectors use ["*"]. Examples of other selectors are "beat",
# "publish", "service".
#logging.selectors: ["*"]
logging.metrics.period: 1m

Después de modificado reiniciamos el servicio de filebeat

service filebeat restart

Ahora en graylog seleccionamos el stream de zimbra y ya veremos las como va parseando los mensajes de logs creando los campos

Ya desplegando un mensaje de log podemos ver el campo real_timestamp generado por el pipeline que creamos

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 Zimbra-graylog

Comparto con ustedes un dashboard prediseñado en el sitio de oficial grafana el cual podra importar. Antes lea las instrucciones e importe de la siguente manera.

Seleccionamos Import dashboard


Subimos el fichero descargado Upload .json file y lo asociamos al datasource creado para el.

Ya podemos ver el dashboard en acción.

Espero les sea de utilidad.

MENU:

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

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

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

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

Reader Interactions

Comments

  1. David Alejandro says

    13 November, 2018 at 13:34

    Llego sin problemas hasta el paso en el que el stream tiene que mostrarme los logs parseados, todo lo anterior funciona bien pero el steam a pesar de que dice que esta recibiendo mensajes no me los muestra parseados. el filebeat que instalé está en centos!

    Reply

Trackbacks

  1. Cómo instalar y configurar Graylog en Ubuntu 16.04. 1era Parte. - El Blog de Jorge de la Cruz says:
    3 May, 2018 at 14:15

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

    Reply
  2. Parseando Logs de Squid con Graylog y Mostrándolos en Grafana. 4ta. Parte - El Blog de Jorge de la Cruz says:
    26 July, 2025 at 22:07

    […] 2da Parte– Parseando logs de Zimbra 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