The Log4j2 JSONLayout adds a timestamp field named timeMillis which is UNIX time (seconds since epoch) formatted. The compact and eventEol settings are necessary for Filebeat to be able to parse the log file as JSON. Scroll further down to where all the existing appenders are defined and add your new JSON appender: # JSON log appender In order to enable JSON logging in OH, edit the etc/.cfg file (usually in /var/lib/openhab2) and amend the Root Logger section near the top to add the new appender ref: # Root logger We’re going to configure OH to emit a JSON log file which will then be picked up by Filebeat and sent off directly to Elasticsearch. The guide assumes you already installed Elasticsearch (+ Kibana) as well as Filebeat. The following steps have been tested on OpenHab 2.4 and the 7.3 version of the Elastic stack (according to the documentation this should work all the way back to 5.0 though). In my work life I found socket appenders to be quite unreliable - every now and then they will just stop working… Then you need to grep and tail your logs as if you’ve never had centralised logging in the first place!.Logstash is quite heavy on resource usage (being a JRuby JVM both CPU and memory).There already are a couple of great guides on how to set this up using a combination of Logstash and a Log4j2 socket appender ( here and here) however I decided on using Filebeat instead for two reasons: The purpose is purely viewing application logs rather than analyzing the event logs. This tutorial walks you through setting up OpenHab, Filebeat and Elasticsearch to enable viewing OpenHab logs in Kibana.
0 Comments
Leave a Reply. |