ELK Stack – Kibana Filebeat Dashbords (Apache)
Di seguito utilizzeremo Kibana per analizzare i file di log raccolti da Filebeat ed inviati al motore Elasticsearch.
Per visualizzare correttamente i dati di Apache in Kibana, dobbiamo preventivamente modificare il file di configurazione di Apache per inserire anche il parametro %v nel LogFormat (%v = canonical ServerName of the server serving the request), in maniera da poter applicare correttamente i filtri nel caso in cui esistano VirtualHost:
LogLevel warn LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog logs/www.anthesia.lan-access_log combined
Nel post dedicato a Filebeat e ai suoi moduli, abbiamo attivato il modulo Apache ed indicato nel file di configurazione relativo quali sono i file di log che vogliamo analizzare. Come fatto per la dashboard Syslog, andiamo nella sezione Dashboard, inseriamo nel campo di ricerca “apache” e clicchiamo sulla voce [Filebeat Apache] Access and error logs ECS:
Le informazioni presentate sono davvero molte e di facile analisi:
- mappa di provenienza dei visitatori (unique account)
- Response code del server apache
- Sistemi operativi su cui dei client
- Top URL by response code
- Broser utilizzati
- Errori del server apache con relativi dettagli
Chiaramente, le informazioni si riferiscono a tutti i server apache che inviano informazioni al nostro nodo Elasticsearch; costituiscono dunque una “collect” di TUTTI i server apache che inviano dati allo Stack. Se volessimo filtrare solo i dati di accesso (non errore) di un solo server, potremmo, nella riga del filtro posta in alto, inserire il seguente filtro:
host.hostname: xxx.anthesia.lan and log.file.path: /var/log/http/access.log
Una volta inserito il filtro e premuto il tasto invio, vedremo la dasboard aggiornarsi con i dati da noi richiesti.