
If you have any questions about this course or the codebase, please feel free to message me or to post a question on Stackoverflow using the [griddb] tag. The GridDB team actively patrols questions using that tag: https://stackoverflow.com/questions/ask?tags=griddb
Or you can also go to our GridDB discussion forum: https://forum.griddb.net
Learn how the log agent reads a user defined config, monitors specified log files, and pushes new data to grid db through the web api, with a live coding demonstration.
build a grid log agent in java by parsing a json config with a config parser, retrieving grid db properties, and launching a multi-threaded log reader per file.
Develop a log reader agent that monitors syslog files, streams new lines to grid db containers, and writes raw logs via json http requests to the grid db api.
Learn how the GridDB writer class creates two containers for raw log writes and log information, then builds and posts JSON payloads to the grid db web api.
Parses raw logs from the log agent into searchable logs with fields and timestamps using a user-defined regex, and writes back to grid db via the native Java connector.
Demonstrate live coding of a log processor with Maven and GridDB, detailing raw log schemas, processor rules, and a Java DB class that queries new logs from Docker containers.
View processed logs via the log viewer, filterable by hostname, log type, and time span, backed by Spring Boot endpoints using JDBC with prepared statements against Grid DB.
Learn to establish a grid db jdbc connection via docker, implement container name queries with prepared statements, and fetch log data between timestamps for a front end data table.
Follow along with the course to create a full stack log viewer app - from beginning to end. The application utilizes Java in a variety of ways to build out a logging app: native Java to interface with the NoSQL database (GridDB), JDBC to interface with the db using SQL, Spring Boot to build out a REST API, and finally JSON Parsing & HTTP requests with Java. Lastly, outside of Java, there is also some react.js for the frontend to query the Spring Boot backend and to create our data tables of our logs.
The basic premise of the app is split up into three parts: the log agent, the log processor, and the log viewer. The log agent is responsible for monitoring the host machine for logs of the user's choosing. When it finds new data, it saves the raw logs into GridDB (the database of choice). Then, the log processor scans the db and finds new rows of raw logs, processes the data into proper fields (set by the user) and re-saves them into the database into a new table. And finally, the log viewer queries the database. The log viewer is comprised of a backend (Spring Boot) REST API, and a frontend (react.js) to view the parsed log data.
The project is run on Docker so you will also learn about docker files and how to package your application into convenient containers.