Redireccionant esdeveniments del Visor de Successos d'equips Windows a Elasticsearch amb Winlogbeat i visualitzant amb Grafana

Bé, un cop tenim ja muntada la nostra plataforma amb Elasticsearch, Logstash i Kibana, anem en aquest primer post a analitzar els esdeveniments del Visor de Successos dels nostres equips Windows mitjançant Winlogbeat! Instal·larem el petit agent i enviarem els esdeveniments que decidim a Logstash per tractar-los i emmagatzemar-los a Elasticsearch, i posteriorment els visualitzarem amb Grafana!

 

 

El procés serà senzill, primerament descarregarem Winlogbeat de https://www.elastic.co/downloads/beats/winlogbeat, ho descomprimim i , per exemple ho deixem en ‘ C:\Program Fileswinlogbeat'. Editarem el fitxer de configuració 'winlogbeat.yml’ sobre la base de les nostres necessitats, de tota manera a 'winlogbeat.full.yml’ tenim totes les opcions i característiques que podrem utilitzar.

 

Configurant Winlogbeat,

A la primera secció de 'winlogbeat.yml’ podrem indicar quins Registres d'esdeveniments i quin tipus volem redireccionar, configurem en base a la nostra necessitat. Venen per defecte habilitats Application, Security o System, (escrits en anglès), per veure quins són els nostres tenim des d'una Powershell executant 'Get-EventLog *’ el tenim!

[sourcecode]winlogbeat.event_logs:
– name: Application
ignore_older: 72h
– name: Security
level: critical, error, warning
– name: System
– name: Veeam Agent[/sourcecode]

 

A la secció de ===== General ===== podrem afegir tags o camps addicionals per si ens interessaria associar aquest Winlogbeat de l'equip a diferents paraules claus, per després poder usar-les en diferents recerques, com indicar si és un Servidor, es un servidor de BBDD o web, o té IIS, el seu SO…

[sourcecode]tags: ["Portatil", "Windows 10", "OS-PO-01"]
fidelds:
globo_environment: Produccion[/sourcecode]

 

A la secció de l' Output, en comptes d'enviar a Elasticsearch les dades directament, els passarem per Logstash inicialment perquè siguin tractats. Així que en l'apartat correcte indiquem el servidor de Logstash i el port que vulguem utilitzar (en aquest exemple el 5044), recordar comentar l'Output d'Elasticsearch amb # i deixem una cosa així:

[sourcecode]#——— Logstash output ———
output.logstash:
# The Logstash hosts
hosts: ["DIRECCION_IP_LOGSTASH:5044"][/sourcecode]

 

Si tenim problemes o volem que Winlogbeat generi un log de registre per a temes de debugging haurem d'habilitar:

[sourcecode]logging.to_files: true
logging.files:
path: C:\Program Fileswinlogbeatlogs
logging.level: info[/sourcecode]

 

Un cop configurat Winlogbeat podrem provar si tenim ben configurat el seu fitxer de configuració, obrim un PowerShell amb privilegis d'administrador i anem al seu path, executem:

[sourcecode].\winlogbeat.exe test config -c .winlogbeat.yml -e[/sourcecode]

 

La primera vegada hem d'importar la plantilla amb el format de camps que ha de generar al nostre Elasticsearch, executem:

[sourcecode].\winlogbeat.exe setup –template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["direccion_ip_elasticsearch:9200"]'[/sourcecode]

 

Configurant Logstash,

Abans de seguir, ens vam anar al servidor de Logstash, i vam permetre que Logstash accepti els logs de Winlogbeat i els emmagatzema a Elasticsearch. Utilitzarem un únic fitxer de configuració anomenat '/etc/logstash/conf.d/beats.conf’ per tractar els logs que rebem d'altres productes de Beats de la suit d'Elasticsearch, i ens generarà un índex per a cadascun, alguna cosa com això ens ajudarà:

[sourcecode]input{
beats{
port => "5044"
}
}

output{
elasticsearch {
hosts => ["DIRECCION_IP_ELASTICSEARCH:9200"]
index => "%{[@metadata][beat]}-%{+YYYY-MM-dd}"
document_type => "%{[@metadata][type]}"
}
}[/sourcecode]

Reiniciem Logstash perquè els canvis tinguen efecte:

[sourcecode]service logstash restart[/sourcecode]

 

Tornem al nostre equip Windows, instal·lar-nos Winlogbeat com a servei al nostre Windows i ja podrem iniciar-lo:

[sourcecode].\install-service-winlogbeat.ps1 → Instalar com a Servei
Start-Service winlogbeat[/sourcecode]

 

i si volem veure l'estat de la connexió podrem executar:

[sourcecode]Get-Content .logswinlogbeat -Wait[/sourcecode]

 

Des de Kibana,

 

Bé, ara des de Kibana crearem el patró per a aquest índex, obrim Kibana, “Management” >” Index Patterns” > “Create Index Pattern”, indiquem com a patró 'winlogbeat-*’ i seguim l'assistent,

 

Seleccionem el camp ‘@timestamp’ per usar com a filtre de temps, y “Create index pattern”.

 

Per veure les dades que hem anat obtenint, anem a “Discover”, seleccionem el patró recent creat de Winlogbeat, si tot ha anat com ha de, els nostres equips Windows li estaran manant els esdeveniments a Logstash i aquest a Elasticsearch, tindrem emmagatzemats els registres de tots els esdeveniments que hem redirigit!

 

 

Podrem anar agregant els camps que volem visualitzar, o tots… així com fer filtres de recerques amb la sintaxi de Lucene, per veure els esdeveniments d'un equip alguna cosa com 'computer_name: “NOMBRE_EQUIPO_WINDOWS”‘, o 'level: “error”‘ ens filtrarà i mostrarà els esdeveniments dels Windows de nivell Error. Toquetejant podràs veure que senzillament podràs fer consultes com t'interessin per visualitzar les dades que vulguis…

 

Si volem, amb Kibana podrem crear visualitzacions d'aquestes dades i plasmar-les d'una manera gràfica, una cosa molt més intuïtiva que el que acabem de veure, des de “Visualize”!

 

Veurem que podrem crear visualitzacions de tipus taules, àrees, mapes de calor, barres, línies, formacits… Però, personalment com m'agrada més Grafana és el que veurem a continuació. No vull dir amb això que no t'animi a descobrir Kibana, que és una autèntica passada, veuràs que de manera molt senzilla podràs visualitzar qualsevol dada que agradi.

 

Des de Grafana,

El que vam veure en aquesta part, és com inicialment crear un connector de Grafana a Elasticsearch, després com crear el nostre primer Dashboard i visualitzar les dades que estem emmagatzemant a Elasticsearch d'una manera diferent i molona.

 

Des del nostre Grafana, podrem anar a “Configuració” > “Data Sources”, li indicarem un nom a la connexió, a la URL hem d'indicar la URL del nostre Elasticsearch 'http://DIRECCION_IP_ELASTIC:9200’. Seleccionem 'winlogbeat-*’ per usar com a nom per als índexs, indiquem el camp @timestamp per al camp de temps i seleccionem la versió d'Elasticsearch, posem en “Save & Test”,

 

I ja és hora de crear el nostre primer Dashboard! Dins d'ell creem un Panell, en aquest cas serà el típic de barres, on visualitzarem tots els esdeveniments que generen un parell de màquines. Seleccionem el nostre connector contra els índexs de Winlogbeat a Elasticsearch, i podem fer servir les mateixes consultes Lucene des d'aquí per visualitzar el que ens interessi.

 

I bo, crearem els tipus de visualitzacions que ens interessi veure, aquí veiem les últimes 24 hores dels meus equips, els seus esdeveniments d'Informació, els que són Warning i els marcats amb Errors, visualització de formacit i barres, veureu que en pocs segons us fareu els vostres!!! Espero us hagi resultat d'interès,

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Instal·lant Kibana

21 de March de 2019