Web Log Analysis is an application desined to analyze web log services, visualize statistical data, and transmit log data from Apache server and ModSecurity firewall. The applicaiton provides an overview of overall log data, status and security problems from server and firewall.
This project is developed in the Java prpgramming language with JavaFx for the user interface and adhering to Object-Oriented Programming principles. It is also managed and built by Maven ,which helps optimize the development process and integrate the necessary libraries.
- Log parsing and analysis: Reads and analyzes Apache server and ModSecurity firewall log files.
- Statistical insights: Visualization statistics data such as total visit, error, log traffic per hour,etc.
- Interactive interface: Allow user interaction to filter and view detailed information.
This demo mainly uses the login as visitor feature, which is a sample profile that allows users to try out the app's features without entering log data.
Visualization.mp4
Filter.mp4
Strean.mp4
For further guide and fully demo, see this full video on youtube for demo with Ubuntu OS: https://youtu.be/eq44JOHHUHw
.
├── access.log
├── modsec.log
├── mvnw
├── mvnw.cmd
├── pom.xml
├── profile.txt
└── src
└── main
├── java
│ ├── hust
│ │ └── soict
│ │ └── cybersec
│ │ └── webloganalysis
│ │ ├── controller
│ │ │ ├── CreProfileController.java
│ │ │ ├── DashboardController.java
│ │ │ ├── ExplorerController.java
│ │ │ ├── LoginController.java
│ │ │ ├── StreamController.java
│ │ │ └── WelcomeController.java
│ │ ├── Main.java
│ │ ├── model
│ │ │ ├── LogEntry
│ │ │ │ ├── AccessLog.java
│ │ │ │ ├── AuditLog.java
│ │ │ │ ├── IpAddress.java
│ │ │ │ ├── Rule.java
│ │ │ │ └── StatusCode.java
│ │ │ └── Parser
│ │ │ ├── ParseAccessLog.java
│ │ │ └── ParseAuditLog.java
│ │ └── util
│ │ ├── AccessLogTable.java
│ │ ├── AuditLogTable.java
│ │ ├── Config.java
│ │ ├── IpAddressToCountryName.java
│ │ ├── LogLineChart.java
│ │ ├── RuleTable.java
│ │ ├── StatusCodeTable.java
│ │ └── StreamLogTable.java
│ └── module-info.java
└── resources
└── hust
└── soict
└── cybersec
└── webloganalysis
├── database
│ └── GeoLite2-Country.mmdb
├── image
│ ├── detective.png
│ ├── HaiNhat.jpg
│ ├── log_analysis.png
│ ├── login.png
│ └── TuanAnh.jpg
├── log_sample
│ ├── access.log
│ └── modsec.log
└── view
├── CreProfile.fxml
├── Dashboard.fxml
├── Explorer.fxml
├── Login.fxml
├── Stream.fxml
└── Welcome.fxml
- Java 22 or higher
- Maven
- JavaFX(included in JDK 22 and above)
- Clone the repository
- Build with Maven
- Run the application
- Le Hai Nhat : nhat.lh225583@sis.hust.edu.vn
- Pham Tuan Anh : anh.tp22555542@sis.hust.edu.vn
hust.soict.cybersec.project1